aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/00-INDEX4
-rw-r--r--Documentation/SubmittingPatches56
-rw-r--r--Documentation/filesystems/00-INDEX6
-rw-r--r--Documentation/filesystems/nfsroot.txt (renamed from Documentation/nfsroot.txt)0
-rw-r--r--Documentation/filesystems/rpc-cache.txt (renamed from Documentation/rpc-cache.txt)0
-rw-r--r--Documentation/filesystems/seq_file.txt283
-rw-r--r--Documentation/hrtimers/highres.txt2
-rw-r--r--Documentation/hw_random.txt59
-rw-r--r--Documentation/i386/IO-APIC.txt2
-rw-r--r--Documentation/kernel-parameters.txt21
-rw-r--r--Documentation/lguest/lguest.c70
-rw-r--r--Documentation/lguest/lguest.txt19
-rw-r--r--Documentation/networking/00-INDEX3
-rw-r--r--Documentation/networking/sk98lin.txt568
-rw-r--r--Documentation/nmi_watchdog.txt3
-rw-r--r--Documentation/powerpc/booting-without-of.txt616
-rw-r--r--Documentation/powerpc/phyp-assisted-dump.txt127
-rw-r--r--Documentation/scheduler/00-INDEX2
-rw-r--r--Documentation/scheduler/sched-rt-group.txt (renamed from Documentation/sched-rt-group.txt)0
-rw-r--r--Documentation/spi/spi-summary15
-rw-r--r--Documentation/spinlocks.txt22
-rw-r--r--Documentation/unaligned-memory-access.txt4
-rw-r--r--MAINTAINERS12
-rw-r--r--Makefile4
-rw-r--r--arch/alpha/kernel/pci_iommu.c8
-rw-r--r--arch/arm/common/it8152.c5
-rw-r--r--arch/arm/kernel/calls.S2
-rw-r--r--arch/arm/kernel/sys_oabi-compat.c24
-rw-r--r--arch/avr32/kernel/setup.c1
-rw-r--r--arch/avr32/kernel/traps.c4
-rw-r--r--arch/frv/kernel/entry-table.S8
-rw-r--r--arch/frv/kernel/entry.S20
-rw-r--r--arch/frv/kernel/head.inc2
-rw-r--r--arch/frv/kernel/switch_to.S7
-rw-r--r--arch/frv/kernel/traps.c227
-rw-r--r--arch/m68k/Makefile2
-rw-r--r--arch/m68k/configs/amiga_defconfig1005
-rw-r--r--arch/m68k/configs/apollo_defconfig863
-rw-r--r--arch/m68k/configs/atari_defconfig949
-rw-r--r--arch/m68k/configs/bvme6000_defconfig827
-rw-r--r--arch/m68k/configs/hp300_defconfig875
-rw-r--r--arch/m68k/configs/mac_defconfig964
-rw-r--r--arch/m68k/configs/mvme147_defconfig852
-rw-r--r--arch/m68k/configs/mvme16x_defconfig853
-rw-r--r--arch/m68k/configs/q40_defconfig991
-rw-r--r--arch/m68k/configs/sun3_defconfig864
-rw-r--r--arch/m68k/configs/sun3x_defconfig864
-rw-r--r--arch/m68k/defconfig657
-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/gdb-stub.c3
-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/c-r4k.c14
-rw-r--r--arch/mips/mm/c-tx39.c15
-rw-r--r--arch/mips/mm/cache.c3
-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/Kconfig64
-rw-r--r--arch/powerpc/Makefile12
-rw-r--r--arch/powerpc/boot/Makefile40
-rw-r--r--arch/powerpc/boot/bamboo.c3
-rw-r--r--arch/powerpc/boot/cuboot-rainier.c3
-rw-r--r--arch/powerpc/boot/cuboot-sequoia.c3
-rw-r--r--arch/powerpc/boot/cuboot-taishan.c3
-rw-r--r--arch/powerpc/boot/cuboot-warp.c2
-rw-r--r--arch/powerpc/boot/cuboot-yosemite.c44
-rw-r--r--arch/powerpc/boot/dts/bamboo.dts2
-rw-r--r--arch/powerpc/boot/dts/canyonlands.dts402
-rw-r--r--arch/powerpc/boot/dts/cm5200.dts37
-rw-r--r--arch/powerpc/boot/dts/ebony.dts2
-rw-r--r--arch/powerpc/boot/dts/glacier.dts467
-rw-r--r--arch/powerpc/boot/dts/haleakala.dts4
-rw-r--r--arch/powerpc/boot/dts/katmai.dts2
-rw-r--r--arch/powerpc/boot/dts/kilauea.dts4
-rw-r--r--arch/powerpc/boot/dts/ksi8560.dts267
-rw-r--r--arch/powerpc/boot/dts/lite5200.dts15
-rw-r--r--arch/powerpc/boot/dts/lite5200b.dts2
-rw-r--r--arch/powerpc/boot/dts/makalu.dts4
-rw-r--r--arch/powerpc/boot/dts/motionpro.dts63
-rw-r--r--arch/powerpc/boot/dts/mpc8377_mds.dts4
-rw-r--r--arch/powerpc/boot/dts/mpc8377_rdb.dts3
-rw-r--r--arch/powerpc/boot/dts/mpc8378_rdb.dts3
-rw-r--r--arch/powerpc/boot/dts/mpc8379_mds.dts8
-rw-r--r--arch/powerpc/boot/dts/mpc8379_rdb.dts3
-rw-r--r--arch/powerpc/boot/dts/prpmc2800.dts336
-rw-r--r--arch/powerpc/boot/dts/rainier.dts6
-rw-r--r--arch/powerpc/boot/dts/sequoia.dts6
-rw-r--r--arch/powerpc/boot/dts/taishan.dts31
-rw-r--r--arch/powerpc/boot/dts/tqm5200.dts42
-rw-r--r--arch/powerpc/boot/dts/walnut.dts1
-rw-r--r--arch/powerpc/boot/dts/warp.dts1
-rw-r--r--arch/powerpc/boot/dts/yosemite.dts304
-rw-r--r--arch/powerpc/boot/ebony.c3
-rw-r--r--arch/powerpc/boot/libfdt-wrapper.c2
-rw-r--r--arch/powerpc/boot/mpsc.c2
-rw-r--r--arch/powerpc/boot/mv64x60.c4
-rw-r--r--arch/powerpc/boot/mv64x60_i2c.c2
-rw-r--r--arch/powerpc/boot/prpmc2800.c23
-rw-r--r--arch/powerpc/boot/ps3-head.S25
-rw-r--r--arch/powerpc/boot/ps3.c23
-rw-r--r--arch/powerpc/boot/serial.c2
-rw-r--r--arch/powerpc/boot/simpleboot.c84
-rw-r--r--arch/powerpc/boot/treeboot-walnut.c2
-rw-r--r--arch/powerpc/boot/virtex405-head.S30
-rwxr-xr-xarch/powerpc/boot/wrapper32
-rw-r--r--arch/powerpc/configs/40x/ep405_defconfig (renamed from arch/powerpc/configs/ep405_defconfig)0
-rw-r--r--arch/powerpc/configs/40x/kilauea_defconfig (renamed from arch/powerpc/configs/kilauea_defconfig)0
-rw-r--r--arch/powerpc/configs/40x/makalu_defconfig (renamed from arch/powerpc/configs/makalu_defconfig)0
-rw-r--r--arch/powerpc/configs/40x/walnut_defconfig (renamed from arch/powerpc/configs/walnut_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/bamboo_defconfig (renamed from arch/powerpc/configs/bamboo_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/canyonlands_defconfig721
-rw-r--r--arch/powerpc/configs/44x/ebony_defconfig (renamed from arch/powerpc/configs/ebony_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/katmai_defconfig (renamed from arch/powerpc/configs/katmai_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/rainier_defconfig (renamed from arch/powerpc/configs/rainier_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/sequoia_defconfig (renamed from arch/powerpc/configs/sequoia_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/taishan_defconfig (renamed from arch/powerpc/configs/taishan_defconfig)0
-rw-r--r--arch/powerpc/configs/44x/warp_defconfig (renamed from arch/powerpc/configs/warp_defconfig)0
-rw-r--r--arch/powerpc/configs/chrp32_defconfig7
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig74
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig56
-rw-r--r--arch/powerpc/configs/g5_defconfig7
-rw-r--r--arch/powerpc/configs/iseries_defconfig7
-rw-r--r--arch/powerpc/configs/ksi8560_defconfig899
-rw-r--r--arch/powerpc/configs/linkstation_defconfig131
-rw-r--r--arch/powerpc/configs/maple_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_defconfig100
-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_defconfig103
-rw-r--r--arch/powerpc/configs/mpc836x_mds_defconfig101
-rw-r--r--arch/powerpc/configs/mpc837x_mds_defconfig197
-rw-r--r--arch/powerpc/configs/mpc837x_rdb_defconfig103
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig108
-rw-r--r--arch/powerpc/configs/mpc8540_ads_defconfig121
-rw-r--r--arch/powerpc/configs/mpc8544_ds_defconfig126
-rw-r--r--arch/powerpc/configs/mpc8560_ads_defconfig126
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig105
-rw-r--r--arch/powerpc/configs/mpc8572_ds_defconfig126
-rw-r--r--arch/powerpc/configs/mpc85xx_cds_defconfig131
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig110
-rw-r--r--arch/powerpc/configs/mpc8610_hpcd_defconfig131
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig114
-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_defconfig7
-rw-r--r--arch/powerpc/configs/ppc40x_defconfig896
-rw-r--r--arch/powerpc/configs/ppc44x_defconfig14
-rw-r--r--arch/powerpc/configs/ppc64_defconfig8
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig89
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig159
-rw-r--r--arch/powerpc/configs/pseries_defconfig8
-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_defconfig101
-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/asm-offsets.c10
-rw-r--r--arch/powerpc/kernel/btext.c3
-rw-r--r--arch/powerpc/kernel/cpu_setup_44x.S5
-rw-r--r--arch/powerpc/kernel/cputable.c28
-rw-r--r--arch/powerpc/kernel/crash.c3
-rw-r--r--arch/powerpc/kernel/crash_dump.c3
-rw-r--r--arch/powerpc/kernel/head_32.S17
-rw-r--r--arch/powerpc/kernel/head_64.S35
-rw-r--r--arch/powerpc/kernel/head_fsl_booke.S34
-rw-r--r--arch/powerpc/kernel/ibmebus.c12
-rw-r--r--arch/powerpc/kernel/iommu.c4
-rw-r--r--arch/powerpc/kernel/irq.c16
-rw-r--r--arch/powerpc/kernel/isa-bridge.c6
-rw-r--r--arch/powerpc/kernel/lparcfg.c12
-rw-r--r--arch/powerpc/kernel/machine_kexec.c3
-rw-r--r--arch/powerpc/kernel/paca.c34
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c3
-rw-r--r--arch/powerpc/kernel/process.c15
-rw-r--r--arch/powerpc/kernel/prom.c92
-rw-r--r--arch/powerpc/kernel/prom_init.c8
-rw-r--r--arch/powerpc/kernel/rtas.c4
-rw-r--r--arch/powerpc/kernel/rtas_flash.c4
-rw-r--r--arch/powerpc/kernel/rtas_pci.c29
-rw-r--r--arch/powerpc/kernel/setup-common.c11
-rw-r--r--arch/powerpc/kernel/setup_32.c14
-rw-r--r--arch/powerpc/kernel/setup_64.c4
-rw-r--r--arch/powerpc/kernel/sys_ppc32.c5
-rw-r--r--arch/powerpc/kernel/vdso.c3
-rw-r--r--arch/powerpc/kernel/vio.c10
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S51
-rw-r--r--arch/powerpc/lib/string.S14
-rw-r--r--arch/powerpc/math-emu/fabs.c2
-rw-r--r--arch/powerpc/math-emu/fadd.c2
-rw-r--r--arch/powerpc/math-emu/fadds.c2
-rw-r--r--arch/powerpc/math-emu/fcmpo.c2
-rw-r--r--arch/powerpc/math-emu/fcmpu.c2
-rw-r--r--arch/powerpc/math-emu/fctiw.c2
-rw-r--r--arch/powerpc/math-emu/fctiwz.c2
-rw-r--r--arch/powerpc/math-emu/fdiv.c6
-rw-r--r--arch/powerpc/math-emu/fdivs.c6
-rw-r--r--arch/powerpc/math-emu/fmadd.c2
-rw-r--r--arch/powerpc/math-emu/fmadds.c2
-rw-r--r--arch/powerpc/math-emu/fmr.c2
-rw-r--r--arch/powerpc/math-emu/fmsub.c2
-rw-r--r--arch/powerpc/math-emu/fmsubs.c2
-rw-r--r--arch/powerpc/math-emu/fmul.c2
-rw-r--r--arch/powerpc/math-emu/fmuls.c2
-rw-r--r--arch/powerpc/math-emu/fnabs.c2
-rw-r--r--arch/powerpc/math-emu/fneg.c2
-rw-r--r--arch/powerpc/math-emu/fnmadd.c2
-rw-r--r--arch/powerpc/math-emu/fnmadds.c2
-rw-r--r--arch/powerpc/math-emu/fnmsub.c2
-rw-r--r--arch/powerpc/math-emu/fnmsubs.c2
-rw-r--r--arch/powerpc/math-emu/fres.c2
-rw-r--r--arch/powerpc/math-emu/frsp.c2
-rw-r--r--arch/powerpc/math-emu/frsqrte.c2
-rw-r--r--arch/powerpc/math-emu/fsel.c2
-rw-r--r--arch/powerpc/math-emu/fsqrt.c2
-rw-r--r--arch/powerpc/math-emu/fsqrts.c2
-rw-r--r--arch/powerpc/math-emu/fsub.c2
-rw-r--r--arch/powerpc/math-emu/fsubs.c2
-rw-r--r--arch/powerpc/math-emu/lfd.c2
-rw-r--r--arch/powerpc/math-emu/lfs.c2
-rw-r--r--arch/powerpc/math-emu/mcrfs.c4
-rw-r--r--arch/powerpc/math-emu/mffs.c2
-rw-r--r--arch/powerpc/math-emu/mtfsb0.c2
-rw-r--r--arch/powerpc/math-emu/mtfsb1.c2
-rw-r--r--arch/powerpc/math-emu/mtfsf.c2
-rw-r--r--arch/powerpc/math-emu/mtfsfi.c2
-rw-r--r--arch/powerpc/math-emu/stfd.c2
-rw-r--r--arch/powerpc/math-emu/stfiwx.c2
-rw-r--r--arch/powerpc/math-emu/stfs.c2
-rw-r--r--arch/powerpc/mm/40x_mmu.c2
-rw-r--r--arch/powerpc/mm/44x_mmu.c2
-rw-r--r--arch/powerpc/mm/Makefile2
-rw-r--r--arch/powerpc/mm/fsl_booke_mmu.c48
-rw-r--r--arch/powerpc/mm/hash_low_32.S8
-rw-r--r--arch/powerpc/mm/hash_utils_64.c32
-rw-r--r--arch/powerpc/mm/init_32.c27
-rw-r--r--arch/powerpc/mm/init_64.c6
-rw-r--r--arch/powerpc/mm/lmb.c357
-rw-r--r--arch/powerpc/mm/mem.c21
-rw-r--r--arch/powerpc/mm/mmu_decl.h4
-rw-r--r--arch/powerpc/mm/numa.c3
-rw-r--r--arch/powerpc/mm/pgtable_32.c5
-rw-r--r--arch/powerpc/mm/ppc_mmu_32.c15
-rw-r--r--arch/powerpc/mm/stab.c4
-rw-r--r--arch/powerpc/oprofile/cell/spu_task_sync.c12
-rw-r--r--arch/powerpc/oprofile/cell/vma_map.c47
-rw-r--r--arch/powerpc/oprofile/op_model_cell.c14
-rw-r--r--arch/powerpc/platforms/40x/ep405.c2
-rw-r--r--arch/powerpc/platforms/40x/kilauea.c4
-rw-r--r--arch/powerpc/platforms/40x/makalu.c2
-rw-r--r--arch/powerpc/platforms/40x/virtex.c2
-rw-r--r--arch/powerpc/platforms/40x/walnut.c4
-rw-r--r--arch/powerpc/platforms/44x/44x.h1
-rw-r--r--arch/powerpc/platforms/44x/Kconfig27
-rw-r--r--arch/powerpc/platforms/44x/Makefile4
-rw-r--r--arch/powerpc/platforms/44x/bamboo.c15
-rw-r--r--arch/powerpc/platforms/44x/canyonlands.c63
-rw-r--r--arch/powerpc/platforms/44x/ebony.c5
-rw-r--r--arch/powerpc/platforms/44x/idle.c67
-rw-r--r--arch/powerpc/platforms/44x/katmai.c5
-rw-r--r--arch/powerpc/platforms/44x/misc_44x.S11
-rw-r--r--arch/powerpc/platforms/44x/rainier.c4
-rw-r--r--arch/powerpc/platforms/44x/sequoia.c4
-rw-r--r--arch/powerpc/platforms/44x/taishan.c5
-rw-r--r--arch/powerpc/platforms/44x/warp-nand.c3
-rw-r--r--arch/powerpc/platforms/44x/warp.c6
-rw-r--r--arch/powerpc/platforms/52xx/lite5200.c4
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig7
-rw-r--r--arch/powerpc/platforms/85xx/Makefile1
-rw-r--r--arch/powerpc/platforms/85xx/ksi8560.c257
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_ds.c2
-rw-r--r--arch/powerpc/platforms/8xx/m8xx_setup.c7
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype2
-rw-r--r--arch/powerpc/platforms/cell/iommu.c10
-rw-r--r--arch/powerpc/platforms/cell/pervasive.c2
-rw-r--r--arch/powerpc/platforms/cell/ras.c10
-rw-r--r--arch/powerpc/platforms/cell/spu_base.c8
-rw-r--r--arch/powerpc/platforms/cell/spu_callbacks.c2
-rw-r--r--arch/powerpc/platforms/cell/spu_manage.c8
-rw-r--r--arch/powerpc/platforms/cell/spufs/file.c4
-rw-r--r--arch/powerpc/platforms/cell/spufs/run.c10
-rw-r--r--arch/powerpc/platforms/celleb/beat.c17
-rw-r--r--arch/powerpc/platforms/celleb/beat.h4
-rw-r--r--arch/powerpc/platforms/celleb/beat_wrapper.h3
-rw-r--r--arch/powerpc/platforms/celleb/htab.c7
-rw-r--r--arch/powerpc/platforms/celleb/interrupt.c26
-rw-r--r--arch/powerpc/platforms/celleb/scc_epci.c8
-rw-r--r--arch/powerpc/platforms/celleb/scc_sio.c4
-rw-r--r--arch/powerpc/platforms/celleb/spu_priv1.c3
-rw-r--r--arch/powerpc/platforms/celleb/udbg_beat.c5
-rw-r--r--arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c10
-rw-r--r--arch/powerpc/platforms/embedded6xx/prpmc2800.c4
-rw-r--r--arch/powerpc/platforms/iseries/exception.S12
-rw-r--r--arch/powerpc/platforms/iseries/ipl_parms.h2
-rw-r--r--arch/powerpc/platforms/iseries/lpardata.c121
-rw-r--r--arch/powerpc/platforms/iseries/naca.h2
-rw-r--r--arch/powerpc/platforms/iseries/pci.c3
-rw-r--r--arch/powerpc/platforms/iseries/release_data.h2
-rw-r--r--arch/powerpc/platforms/iseries/spcomm_area.h2
-rw-r--r--arch/powerpc/platforms/iseries/vpd_areas.h4
-rw-r--r--arch/powerpc/platforms/maple/pci.c47
-rw-r--r--arch/powerpc/platforms/maple/setup.c4
-rw-r--r--arch/powerpc/platforms/pasemi/dma_lib.c144
-rw-r--r--arch/powerpc/platforms/pasemi/iommu.c19
-rw-r--r--arch/powerpc/platforms/powermac/setup.c2
-rw-r--r--arch/powerpc/platforms/ps3/device-init.c78
-rw-r--r--arch/powerpc/platforms/ps3/htab.c3
-rw-r--r--arch/powerpc/platforms/ps3/interrupt.c2
-rw-r--r--arch/powerpc/platforms/ps3/mm.c3
-rw-r--r--arch/powerpc/platforms/ps3/os-area.c3
-rw-r--r--arch/powerpc/platforms/ps3/setup.c14
-rw-r--r--arch/powerpc/platforms/ps3/spu.c7
-rw-r--r--arch/powerpc/platforms/pseries/Makefile1
-rw-r--r--arch/powerpc/platforms/pseries/eeh.c5
-rw-r--r--arch/powerpc/platforms/pseries/lpar.c25
-rw-r--r--arch/powerpc/platforms/pseries/pci_dlpar.c2
-rw-r--r--arch/powerpc/platforms/pseries/phyp_dump.c507
-rw-r--r--arch/powerpc/platforms/pseries/pseries.h2
-rw-r--r--arch/powerpc/platforms/pseries/reconfig.c12
-rw-r--r--arch/powerpc/platforms/pseries/scanlog.c37
-rw-r--r--arch/powerpc/platforms/pseries/setup.c7
-rw-r--r--arch/powerpc/platforms/pseries/xics.c2
-rw-r--r--arch/powerpc/sysdev/Makefile1
-rw-r--r--arch/powerpc/sysdev/cpm1.c2
-rw-r--r--arch/powerpc/sysdev/cpm2.c3
-rw-r--r--arch/powerpc/sysdev/dart_iommu.c2
-rw-r--r--arch/powerpc/sysdev/mpic.c41
-rw-r--r--arch/powerpc/sysdev/mv64x60_dev.c78
-rw-r--r--arch/powerpc/sysdev/mv64x60_pci.c6
-rw-r--r--arch/powerpc/sysdev/mv64x60_pic.c4
-rw-r--r--arch/powerpc/sysdev/mv64x60_udbg.c2
-rw-r--r--arch/powerpc/sysdev/ppc4xx_pci.c133
-rw-r--r--arch/powerpc/sysdev/ppc4xx_pci.h59
-rw-r--r--arch/powerpc/sysdev/ppc4xx_soc.c200
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe_io.c2
-rw-r--r--arch/powerpc/sysdev/qe_lib/ucc_fast.c32
-rw-r--r--arch/powerpc/sysdev/qe_lib/ucc_slow.c18
-rw-r--r--arch/powerpc/sysdev/rtc_cmos_setup.c2
-rw-r--r--arch/powerpc/sysdev/tsi108_dev.c4
-rw-r--r--arch/powerpc/sysdev/tsi108_pci.c4
-rw-r--r--arch/powerpc/xmon/xmon.c11
-rw-r--r--arch/ppc/8xx_io/commproc.c2
-rw-r--r--arch/ppc/8xx_io/fec.c4
-rw-r--r--arch/ppc/kernel/head.S17
-rw-r--r--arch/ppc/mm/init.c1
-rw-r--r--arch/ppc/platforms/radstone_ppc7d.c8
-rw-r--r--arch/ppc/syslib/mpc52xx_setup.c2
-rw-r--r--arch/sh/Kconfig3
-rw-r--r--arch/sh/boot/Makefile2
-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/sparc/kernel/ptrace.c2
-rw-r--r--arch/sparc64/Kconfig1
-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.c222
-rw-r--r--arch/sparc64/kernel/setup.c5
-rw-r--r--arch/sparc64/kernel/signal.c5
-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/um/drivers/net_kern.c6
-rw-r--r--arch/x86/kernel/alternative.c12
-rw-r--r--arch/x86/kernel/cpu/bugs.c8
-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/perfctr-watchdog.c7
-rw-r--r--arch/x86/kernel/hpet.c9
-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-gart_64.c10
-rw-r--r--arch/x86/kernel/process_32.c47
-rw-r--r--arch/x86/kernel/process_64.c47
-rw-r--r--arch/x86/kernel/ptrace.c169
-rw-r--r--arch/x86/kernel/setup_32.c9
-rw-r--r--arch/x86/kernel/setup_64.c2
-rw-r--r--arch/x86/kernel/step.c11
-rw-r--r--arch/x86/kernel/tls.c4
-rw-r--r--arch/x86/kernel/tsc_32.c4
-rw-r--r--arch/x86/kernel/tsc_64.c4
-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/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/pageattr.c2
-rw-r--r--arch/x86/xen/enlighten.c74
-rw-r--r--arch/x86/xen/mmu.c7
-rw-r--r--arch/x86/xen/mmu.h7
-rw-r--r--arch/x86/xen/xen-asm.S9
-rw-r--r--block/blk-settings.c2
-rw-r--r--block/cfq-iosched.c66
-rw-r--r--crypto/xcbc.c17
-rw-r--r--drivers/acpi/pci_irq.c4
-rw-r--r--drivers/acpi/processor_core.c2
-rw-r--r--drivers/acpi/processor_idle.c7
-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/thermal.c2
-rw-r--r--drivers/acpi/video.c2
-rw-r--r--drivers/ata/ahci.c6
-rw-r--r--drivers/ata/libata-core.c89
-rw-r--r--drivers/ata/libata-eh.c2
-rw-r--r--drivers/ata/libata-scsi.c14
-rw-r--r--drivers/ata/pata_ali.c40
-rw-r--r--drivers/ata/pata_it821x.c2
-rw-r--r--drivers/ata/pata_sil680.c6
-rw-r--r--drivers/ata/sata_fsl.c8
-rw-r--r--drivers/ata/sata_promise.c109
-rw-r--r--drivers/atm/firestream.c1
-rw-r--r--drivers/atm/he.c3
-rw-r--r--drivers/atm/idt77252.c6
-rw-r--r--drivers/atm/iphase.c2
-rw-r--r--drivers/base/core.c5
-rw-r--r--drivers/base/driver.c5
-rw-r--r--drivers/block/cciss.c1
-rw-r--r--drivers/block/nbd.c6
-rw-r--r--drivers/block/ub.c38
-rw-r--r--drivers/block/viodasd.c2
-rw-r--r--drivers/char/drm/ati_pcigart.c11
-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/i915_drv.h4
-rw-r--r--drivers/char/drm/r300_cmdbuf.c54
-rw-r--r--drivers/char/drm/radeon_drm.h12
-rw-r--r--drivers/char/drm/radeon_mem.c8
-rw-r--r--drivers/char/hpet.c51
-rw-r--r--drivers/char/hvc_beat.c4
-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/xilinx_hwicap/buffer_icap.c22
-rw-r--r--drivers/char/xilinx_hwicap/buffer_icap.h5
-rw-r--r--drivers/char/xilinx_hwicap/fifo_icap.c31
-rw-r--r--drivers/char/xilinx_hwicap/fifo_icap.h1
-rw-r--r--drivers/char/xilinx_hwicap/xilinx_hwicap.c63
-rw-r--r--drivers/char/xilinx_hwicap/xilinx_hwicap.h24
-rw-r--r--drivers/connector/cn_queue.c2
-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.c8
-rw-r--r--drivers/dma/fsldma.h47
-rw-r--r--drivers/dma/ioat_dca.c4
-rw-r--r--drivers/firewire/fw-ohci.c9
-rw-r--r--drivers/firmware/dmi_scan.c2
-rw-r--r--drivers/hwmon/w83781d.c21
-rw-r--r--drivers/i2c/busses/Kconfig2
-rw-r--r--drivers/i2c/busses/i2c-davinci.c17
-rw-r--r--drivers/i2c/busses/i2c-ibm_iic.c2
-rw-r--r--drivers/i2c/busses/i2c-omap.c36
-rw-r--r--drivers/i2c/busses/i2c-tiny-usb.c12
-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-pnp.c2
-rw-r--r--drivers/ide/ide-probe.c5
-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/pci/siimage.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/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/ixp4xx-beeper.c1
-rw-r--r--drivers/input/mouse/appletouch.c13
-rw-r--r--drivers/input/mousedev.c3
-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/raid5.c51
-rw-r--r--drivers/media/Makefile3
-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/frontends/s5h1409.c2
-rw-r--r--drivers/media/radio/radio-cadet.c6
-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/bt832.c12
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c31
-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/dpc7146.c2
-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-devattr.c39
-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/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.c4
-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/host/tifm_ms.c4
-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/mtd/chips/cfi_cmdset_0001.c10
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0002.c1
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0020.c1
-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/Kconfig2
-rw-r--r--drivers/net/Makefile3
-rw-r--r--drivers/net/b44.c5
-rw-r--r--drivers/net/bfin_mac.c2
-rw-r--r--drivers/net/bnx2x.c38
-rw-r--r--drivers/net/bonding/bond_3ad.c4
-rw-r--r--drivers/net/bonding/bond_alb.c6
-rw-r--r--drivers/net/bonding/bond_main.c5
-rw-r--r--drivers/net/bonding/bond_sysfs.c1
-rw-r--r--drivers/net/bonding/bonding.h4
-rw-r--r--drivers/net/cxgb3/sge.c18
-rw-r--r--drivers/net/dm9000.c12
-rw-r--r--drivers/net/e100.c2
-rw-r--r--drivers/net/ehea/ehea.h2
-rw-r--r--drivers/net/ehea/ehea_main.c2
-rw-r--r--drivers/net/fec_mpc52xx.c1
-rw-r--r--drivers/net/fec_mpc52xx_phy.c1
-rw-r--r--drivers/net/forcedeth.c23
-rw-r--r--drivers/net/ibm_newemac/core.c4
-rw-r--r--drivers/net/igb/e1000_82575.h42
-rw-r--r--drivers/net/igb/e1000_hw.h82
-rw-r--r--drivers/net/igb/igb_main.c21
-rw-r--r--drivers/net/iseries_veth.c3
-rw-r--r--drivers/net/ixgb/ixgb_main.c2
-rw-r--r--drivers/net/netxen/netxen_nic.h27
-rw-r--r--drivers/net/netxen/netxen_nic_ethtool.c8
-rw-r--r--drivers/net/netxen/netxen_nic_hdr.h12
-rw-r--r--drivers/net/netxen/netxen_nic_hw.c2
-rw-r--r--drivers/net/netxen/netxen_nic_init.c201
-rw-r--r--drivers/net/netxen/netxen_nic_isr.c19
-rw-r--r--drivers/net/netxen/netxen_nic_main.c265
-rw-r--r--drivers/net/netxen/netxen_nic_phan_reg.h3
-rw-r--r--drivers/net/pasemi_mac.c355
-rw-r--r--drivers/net/pasemi_mac.h35
-rw-r--r--drivers/net/pasemi_mac_ethtool.c159
-rw-r--r--drivers/net/phy/marvell.c131
-rw-r--r--drivers/net/plip.c7
-rw-r--r--drivers/net/ps3_gelic_net.c81
-rw-r--r--drivers/net/ps3_gelic_net.h20
-rw-r--r--drivers/net/s2io.c5
-rw-r--r--drivers/net/skge.c6
-rw-r--r--drivers/net/sky2.c6
-rw-r--r--drivers/net/starfire.c11
-rw-r--r--drivers/net/sungem.c2
-rw-r--r--drivers/net/tg3.c154
-rw-r--r--drivers/net/tg3.h79
-rw-r--r--drivers/net/tokenring/olympic.c21
-rw-r--r--drivers/net/tokenring/smctr.c2
-rw-r--r--drivers/net/tulip/eeprom.c6
-rw-r--r--drivers/net/tulip/tulip_core.c7
-rw-r--r--drivers/net/usb/Kconfig2
-rw-r--r--drivers/net/usb/dm9601.c8
-rw-r--r--drivers/net/usb/pegasus.c4
-rw-r--r--drivers/net/usb/rndis_host.c9
-rw-r--r--drivers/net/usb/rtl8150.c2
-rw-r--r--drivers/net/virtio_net.c6
-rw-r--r--drivers/net/wan/lapbether.c2
-rw-r--r--drivers/net/wireless/arlan-proc.c8
-rw-r--r--drivers/net/wireless/b43/debugfs.c4
-rw-r--r--drivers/net/wireless/b43/dma.c37
-rw-r--r--drivers/net/wireless/b43/main.c2
-rw-r--r--drivers/net/wireless/b43/pcmcia.c6
-rw-r--r--drivers/net/wireless/hostap/hostap_80211_rx.c39
-rw-r--r--drivers/net/wireless/hostap/hostap_80211_tx.c7
-rw-r--r--drivers/net/wireless/hostap/hostap_ap.c203
-rw-r--r--drivers/net/wireless/ipw2200.c8
-rw-r--r--drivers/net/wireless/iwlwifi/Kconfig5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c4
-rw-r--r--drivers/net/wireless/libertas/assoc.c2
-rw-r--r--drivers/net/wireless/libertas/if_cs.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c13
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c4
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.c2
-rw-r--r--drivers/net/wireless/wavelan_cs.h2
-rw-r--r--drivers/of/Kconfig12
-rw-r--r--drivers/of/Makefile2
-rw-r--r--drivers/of/base.c26
-rw-r--r--drivers/of/gpio.c242
-rw-r--r--drivers/of/i2c.c115
-rw-r--r--drivers/parport/parport_pc.c3
-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/pnpacpi/rsparser.c8
-rw-r--r--drivers/ps3/ps3-sys-manager.c74
-rw-r--r--drivers/ps3/sys-manager-core.c16
-rw-r--r--drivers/rtc/Kconfig1
-rw-r--r--drivers/rtc/rtc-at32ap700x.c2
-rw-r--r--drivers/rtc/rtc-at91rm9200.c1
-rw-r--r--drivers/rtc/rtc-bfin.c1
-rw-r--r--drivers/rtc/rtc-cmos.c3
-rw-r--r--drivers/rtc/rtc-ds1216.c1
-rw-r--r--drivers/rtc/rtc-ds1511.c3
-rw-r--r--drivers/rtc/rtc-ds1553.c3
-rw-r--r--drivers/rtc/rtc-ds1742.c1
-rw-r--r--drivers/rtc/rtc-ep93xx.c3
-rw-r--r--drivers/rtc/rtc-m48t59.c3
-rw-r--r--drivers/rtc/rtc-m48t86.c1
-rw-r--r--drivers/rtc/rtc-omap.c2
-rw-r--r--drivers/rtc/rtc-rs5c313.c1
-rw-r--r--drivers/rtc/rtc-s3c.c1
-rw-r--r--drivers/rtc/rtc-sa1100.c1
-rw-r--r--drivers/rtc/rtc-sh.c1
-rw-r--r--drivers/rtc/rtc-stk17ta8.c3
-rw-r--r--drivers/rtc/rtc-v3020.c1
-rw-r--r--drivers/rtc/rtc-vr41xx.c3
-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.c22
-rw-r--r--drivers/scsi/scsi_sysfs.c2
-rw-r--r--drivers/serial/8250_pci.c7
-rw-r--r--drivers/serial/atmel_serial.c30
-rw-r--r--drivers/serial/of_serial.c4
-rw-r--r--drivers/spi/atmel_spi.c1
-rw-r--r--drivers/spi/au1550_spi.c3
-rw-r--r--drivers/spi/mpc52xx_psc_spi.c3
-rw-r--r--drivers/spi/omap2_mcspi.c3
-rw-r--r--drivers/spi/omap_uwire.c4
-rw-r--r--drivers/spi/pxa2xx_spi.c2
-rw-r--r--drivers/spi/spi_bfin5xx.c19
-rw-r--r--drivers/spi/spi_imx.c4
-rw-r--r--drivers/spi/spi_mpc83xx.c5
-rw-r--r--drivers/spi/spi_s3c24xx.c2
-rw-r--r--drivers/spi/spi_s3c24xx_gpio.c2
-rw-r--r--drivers/spi/spi_sh_sci.c1
-rw-r--r--drivers/spi/spi_txx9.c3
-rw-r--r--drivers/spi/xilinx_spi.c3
-rw-r--r--drivers/ssb/driver_mipscore.c13
-rw-r--r--drivers/ssb/driver_pcicore.c2
-rw-r--r--drivers/ssb/main.c6
-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/at91_udc.c1
-rw-r--r--drivers/usb/gadget/atmel_usba_udc.c2
-rw-r--r--drivers/usb/gadget/fsl_usb2_udc.c1
-rw-r--r--drivers/usb/gadget/inode.c4
-rw-r--r--drivers/usb/gadget/lh7a40x_udc.c1
-rw-r--r--drivers/usb/gadget/m66592-udc.c2
-rw-r--r--drivers/usb/gadget/omap_udc.c2
-rw-r--r--drivers/usb/gadget/pxa2xx_udc.c2
-rw-r--r--drivers/usb/gadget/s3c2410_udc.c2
-rw-r--r--drivers/usb/host/ehci-hub.c5
-rw-r--r--drivers/usb/host/ehci-pci.c14
-rw-r--r--drivers/usb/host/isp116x-hcd.c8
-rw-r--r--drivers/usb/host/ohci-at91.c3
-rw-r--r--drivers/usb/host/ohci-au1xxx.c1
-rw-r--r--drivers/usb/host/ohci-ep93xx.c2
-rw-r--r--drivers/usb/host/ohci-hcd.c2
-rw-r--r--drivers/usb/host/ohci-lh7a404.c1
-rw-r--r--drivers/usb/host/ohci-omap.c1
-rw-r--r--drivers/usb/host/ohci-pnx4008.c4
-rw-r--r--drivers/usb/host/ohci-pnx8550.c5
-rw-r--r--drivers/usb/host/ohci-ppc-soc.c1
-rw-r--r--drivers/usb/host/ohci-pxa27x.c3
-rw-r--r--drivers/usb/host/ohci-q.c2
-rw-r--r--drivers/usb/host/ohci-s3c2410.c1
-rw-r--r--drivers/usb/host/ohci-sh.c1
-rw-r--r--drivers/usb/host/ohci-sm501.c1
-rw-r--r--drivers/usb/host/r8a66597-hcd.c2
-rw-r--r--drivers/usb/host/sl811-hcd.c1
-rw-r--r--drivers/usb/host/u132-hcd.c1
-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.c1
-rw-r--r--drivers/usb/storage/transport.c3
-rw-r--r--drivers/usb/storage/unusual_devs.h11
-rw-r--r--drivers/video/bf54x-lq043fb.c2
-rw-r--r--drivers/video/bfin-t350mcqb-fb.c38
-rw-r--r--drivers/virtio/virtio_pci.c7
-rw-r--r--drivers/virtio/virtio_ring.c3
-rw-r--r--drivers/watchdog/at32ap700x_wdt.c3
-rw-r--r--drivers/watchdog/at91rm9200_wdt.c1
-rw-r--r--drivers/watchdog/davinci_wdt.c2
-rw-r--r--drivers/watchdog/it8712f_wdt.c16
-rw-r--r--drivers/watchdog/ks8695_wdt.c1
-rw-r--r--drivers/watchdog/mpc83xx_wdt.c2
-rw-r--r--drivers/watchdog/mpcore_wdt.c3
-rw-r--r--drivers/watchdog/mtx-1_wdt.c2
-rw-r--r--drivers/watchdog/mv64x60_wdt.c1
-rw-r--r--drivers/watchdog/omap_wdt.c1
-rw-r--r--drivers/watchdog/pnx4008_wdt.c2
-rw-r--r--drivers/watchdog/s3c2410_wdt.c1
-rw-r--r--drivers/watchdog/txx9wdt.c1
-rw-r--r--drivers/xen/grant-table.c16
-rw-r--r--fs/Kconfig8
-rw-r--r--fs/afs/cell.c16
-rw-r--r--fs/afs/internal.h3
-rw-r--r--fs/afs/mntpt.c8
-rw-r--r--fs/afs/super.c1
-rw-r--r--fs/aio.c18
-rw-r--r--fs/anon_inodes.c18
-rw-r--r--fs/buffer.c28
-rw-r--r--fs/cifs/cifs_dfs_ref.c1
-rw-r--r--fs/cifs/cifsacl.c4
-rw-r--r--fs/efs/inode.c2
-rw-r--r--fs/file_table.c6
-rw-r--r--fs/hfsplus/dir.c23
-rw-r--r--fs/hppfs/hppfs_kern.c435
-rw-r--r--fs/hugetlbfs/inode.c2
-rw-r--r--fs/jbd/journal.c4
-rw-r--r--fs/jbd/revoke.c4
-rw-r--r--fs/jbd2/journal.c12
-rw-r--r--fs/jbd2/revoke.c4
-rw-r--r--fs/namei.c63
-rw-r--r--fs/namespace.c200
-rw-r--r--fs/nfs/file.c4
-rw-r--r--fs/nfs/inode.c1
-rw-r--r--fs/nfs/super.c2
-rw-r--r--fs/open.c20
-rw-r--r--fs/pipe.c19
-rw-r--r--fs/pnode.c2
-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/signalfd.c7
-rw-r--r--fs/smbfs/smbiod.c2
-rw-r--r--fs/splice.c33
-rw-r--r--fs/super.c1
-rw-r--r--fs/sysfs/file.c8
-rw-r--r--fs/xfs/linux-2.6/xfs_ioctl.c2
-rw-r--r--fs/xfs/quota/xfs_qm.c6
-rw-r--r--fs/xfs/quota/xfs_qm_bhv.c2
-rw-r--r--fs/xfs/quota/xfs_qm_syscalls.c4
-rw-r--r--fs/xfs/xfs_attr_leaf.c6
-rw-r--r--fs/xfs/xfs_bmap.c18
-rw-r--r--fs/xfs/xfs_bmap_btree.h2
-rw-r--r--fs/xfs/xfs_dir2.c2
-rw-r--r--fs/xfs/xfs_fsops.c24
-rw-r--r--fs/xfs/xfs_ialloc.c6
-rw-r--r--fs/xfs/xfs_inode.c6
-rw-r--r--fs/xfs/xfs_inode_item.c4
-rw-r--r--fs/xfs/xfs_itable.c2
-rw-r--r--fs/xfs/xfs_log.c14
-rw-r--r--fs/xfs/xfs_log_priv.h4
-rw-r--r--fs/xfs/xfs_log_recover.c16
-rw-r--r--fs/xfs/xfs_mount.c59
-rw-r--r--fs/xfs/xfs_sb.h107
-rw-r--r--fs/xfs/xfs_utils.c6
-rw-r--r--fs/xfs/xfs_vfsops.c9
-rw-r--r--fs/xfs/xfs_vnodeops.c2
-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/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/mem-layout.h2
-rw-r--r--include/asm-frv/pgtable.h19
-rw-r--r--include/asm-frv/spr-regs.h14
-rw-r--r--include/asm-frv/system.h25
-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/cacheflush.h18
-rw-r--r--include/asm-mips/kvm.h6
-rw-r--r--include/asm-mips/mach-au1x00/au1000.h1
-rw-r--r--include/asm-mips/mach-pb1x00/pb1200.h2
-rw-r--r--include/asm-mn10300/kvm.h6
-rw-r--r--include/asm-parisc/kvm.h6
-rw-r--r--include/asm-powerpc/Kbuild2
-rw-r--r--include/asm-powerpc/abs_addr.h3
-rw-r--r--include/asm-powerpc/cputhreads.h2
-rw-r--r--include/asm-powerpc/dcr-native.h17
-rw-r--r--include/asm-powerpc/dcr-regs.h78
-rw-r--r--include/asm-powerpc/gpio.h56
-rw-r--r--include/asm-powerpc/iseries/alpaca.h31
-rw-r--r--include/asm-powerpc/iseries/it_lp_reg_save.h85
-rw-r--r--include/asm-powerpc/kvm.h6
-rw-r--r--include/asm-powerpc/lmb.h82
-rw-r--r--include/asm-powerpc/machdep.h5
-rw-r--r--include/asm-powerpc/macio.h2
-rw-r--r--include/asm-powerpc/mmu-40x.h2
-rw-r--r--include/asm-powerpc/mmu-44x.h2
-rw-r--r--include/asm-powerpc/mmu-8xx.h2
-rw-r--r--include/asm-powerpc/mmu-fsl-booke.h6
-rw-r--r--include/asm-powerpc/mmu-hash32.h2
-rw-r--r--include/asm-powerpc/mmu-hash64.h3
-rw-r--r--include/asm-powerpc/paca.h12
-rw-r--r--include/asm-powerpc/page.h1
-rw-r--r--include/asm-powerpc/page_32.h2
-rw-r--r--include/asm-powerpc/pasemi_dma.h77
-rw-r--r--include/asm-powerpc/pgtable-ppc32.h8
-rw-r--r--include/asm-powerpc/phyp_dump.h47
-rw-r--r--include/asm-powerpc/pmi.h2
-rw-r--r--include/asm-powerpc/ppc4xx.h18
-rw-r--r--include/asm-powerpc/ps3.h7
-rw-r--r--include/asm-powerpc/sparsemem.h1
-rw-r--r--include/asm-powerpc/string.h2
-rw-r--r--include/asm-powerpc/types.h7
-rw-r--r--include/asm-s390/kvm.h6
-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/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/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/lmb.h10
-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/io_32.h6
-rw-r--r--include/asm-x86/io_64.h6
-rw-r--r--include/asm-x86/irqflags.h29
-rw-r--r--include/asm-x86/lguest_hcall.h2
-rw-r--r--include/asm-x86/linkage.h35
-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/nops.h20
-rw-r--r--include/asm-x86/pgtable.h2
-rw-r--r--include/asm-xtensa/kvm.h6
-rw-r--r--include/linux/Kbuild4
-rw-r--r--include/linux/bitops.h40
-rw-r--r--include/linux/cgroup.h1
-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/hpet.h2
-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/lguest_launcher.h6
-rw-r--r--include/linux/libata.h35
-rw-r--r--include/linux/linkage.h20
-rw-r--r--include/linux/lmb.h85
-rw-r--r--include/linux/mount.h2
-rw-r--r--include/linux/netdevice.h12
-rw-r--r--include/linux/of.h1
-rw-r--r--include/linux/of_gpio.h69
-rw-r--r--include/linux/of_i2c.h24
-rw-r--r--include/linux/pci.h4
-rw-r--r--include/linux/pnp.h2
-rw-r--r--include/linux/sched.h6
-rw-r--r--include/linux/spinlock.h3
-rw-r--r--include/linux/usb/quirks.h3
-rw-r--r--include/linux/usb_usual.h4
-rw-r--r--include/linux/virtio.h5
-rw-r--r--include/net/llc.h1
-rw-r--r--include/net/llc_pdu.h4
-rw-r--r--include/net/llc_sap.h7
-rw-r--r--include/net/neighbour.h4
-rw-r--r--include/net/sctp/sctp.h2
-rw-r--r--include/net/tcp.h2
-rw-r--r--include/net/xfrm.h29
-rw-r--r--kernel/acct.c23
-rw-r--r--kernel/audit.c6
-rw-r--r--kernel/cgroup.c47
-rw-r--r--kernel/exit.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.c7
-rw-r--r--kernel/sched.c43
-rw-r--r--kernel/time/clocksource.c2
-rw-r--r--kernel/time/timekeeping.c4
-rw-r--r--kernel/timer.c10
-rw-r--r--kernel/uid16.c22
-rw-r--r--lib/Kconfig3
-rw-r--r--lib/Makefile2
-rw-r--r--lib/iomap.c2
-rw-r--r--lib/kobject_uevent.c2
-rw-r--r--lib/lmb.c428
-rw-r--r--lib/lzo/lzo1x_decompress.c2
-rw-r--r--lib/random32.c13
-rw-r--r--mm/bootmem.c25
-rw-r--r--mm/hugetlb.c17
-rw-r--r--mm/memcontrol.c26
-rw-r--r--mm/slab.c4
-rw-r--r--mm/slub.c5
-rw-r--r--mm/sparse-vmemmap.c8
-rw-r--r--mm/tiny-shmem.c2
-rw-r--r--mm/vmscan.c27
-rw-r--r--net/8021q/vlan.c20
-rw-r--r--net/8021q/vlan.h5
-rw-r--r--net/8021q/vlan_dev.c17
-rw-r--r--net/8021q/vlanproc.c5
-rw-r--r--net/9p/trans_fd.c4
-rw-r--r--net/atm/clip.c19
-rw-r--r--net/atm/lec.c33
-rw-r--r--net/ax25/TODO4
-rw-r--r--net/bluetooth/af_bluetooth.c40
-rw-r--r--net/bluetooth/hci_sock.c2
-rw-r--r--net/bluetooth/l2cap.c2
-rw-r--r--net/bluetooth/rfcomm/core.c2
-rw-r--r--net/bluetooth/rfcomm/sock.c2
-rw-r--r--net/bluetooth/rfcomm/tty.c5
-rw-r--r--net/bluetooth/sco.c2
-rw-r--r--net/core/dev.c4
-rw-r--r--net/core/neighbour.c23
-rw-r--r--net/ieee80211/ieee80211_rx.c43
-rw-r--r--net/ipv4/Kconfig8
-rw-r--r--net/ipv4/esp4.c2
-rw-r--r--net/ipv4/fib_trie.c7
-rw-r--r--net/ipv4/icmp.c24
-rw-r--r--net/ipv4/inet_fragment.c3
-rw-r--r--net/ipv4/inet_timewait_sock.c1
-rw-r--r--net/ipv4/ip_forward.c2
-rw-r--r--net/ipv4/ip_fragment.c2
-rw-r--r--net/ipv4/ip_sockglue.c2
-rw-r--r--net/ipv4/ipconfig.c2
-rw-r--r--net/ipv4/netfilter/ip_queue.c8
-rw-r--r--net/ipv4/netfilter/ipt_CLUSTERIP.c5
-rw-r--r--net/ipv4/netfilter/ipt_recent.c3
-rw-r--r--net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c7
-rw-r--r--net/ipv4/netfilter/nf_nat_core.c2
-rw-r--r--net/ipv4/tcp.c4
-rw-r--r--net/ipv4/tcp_input.c65
-rw-r--r--net/ipv4/tcp_output.c3
-rw-r--r--net/ipv4/udp.c4
-rw-r--r--net/ipv4/xfrm4_mode_beet.c11
-rw-r--r--net/ipv4/xfrm4_mode_tunnel.c2
-rw-r--r--net/ipv4/xfrm4_output.c2
-rw-r--r--net/ipv4/xfrm4_state.c2
-rw-r--r--net/ipv6/addrconf.c31
-rw-r--r--net/ipv6/anycast.c9
-rw-r--r--net/ipv6/esp6.c2
-rw-r--r--net/ipv6/icmp.c22
-rw-r--r--net/ipv6/ip6_input.c3
-rw-r--r--net/ipv6/ndisc.c24
-rw-r--r--net/ipv6/netfilter/ip6_queue.c8
-rw-r--r--net/ipv6/netfilter/nf_conntrack_reasm.c2
-rw-r--r--net/ipv6/xfrm6_mode_beet.c1
-rw-r--r--net/ipv6/xfrm6_mode_tunnel.c2
-rw-r--r--net/ipv6/xfrm6_output.c2
-rw-r--r--net/ipv6/xfrm6_state.c2
-rw-r--r--net/irda/irnet/irnet.h2
-rw-r--r--net/key/af_key.c2
-rw-r--r--net/llc/af_llc.c3
-rw-r--r--net/llc/llc_c_ac.c47
-rw-r--r--net/llc/llc_core.c9
-rw-r--r--net/llc/llc_input.c6
-rw-r--r--net/llc/llc_pdu.c2
-rw-r--r--net/llc/llc_s_ac.c9
-rw-r--r--net/llc/llc_sap.c27
-rw-r--r--net/llc/llc_station.c19
-rw-r--r--net/mac80211/ieee80211.c12
-rw-r--r--net/mac80211/ieee80211_sta.c50
-rw-r--r--net/netfilter/nf_conntrack_standalone.c9
-rw-r--r--net/netfilter/nf_log.c8
-rw-r--r--net/netfilter/nf_queue.c7
-rw-r--r--net/netfilter/nfnetlink_log.c9
-rw-r--r--net/netfilter/nfnetlink_queue.c9
-rw-r--r--net/netfilter/xt_hashlimit.c39
-rw-r--r--net/rose/af_rose.c9
-rw-r--r--net/rxrpc/ar-internal.h4
-rw-r--r--net/rxrpc/rxkad.c27
-rw-r--r--net/sched/sch_generic.c18
-rw-r--r--net/sched/sch_htb.c13
-rw-r--r--net/socket.c7
-rw-r--r--net/sunrpc/clnt.c4
-rw-r--r--net/sunrpc/xdr.c9
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c23
-rw-r--r--net/wireless/nl80211.c2
-rw-r--r--net/xfrm/xfrm_input.c22
-rw-r--r--net/xfrm/xfrm_output.c18
-rw-r--r--net/xfrm/xfrm_state.c54
-rw-r--r--net/xfrm/xfrm_user.c5
-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/selinux/hooks.c25
-rw-r--r--security/selinux/include/security.h3
-rw-r--r--security/selinux/ss/services.c12
-rw-r--r--security/smack/smackfs.c35
-rw-r--r--sound/oss/ac97_codec.c2
-rw-r--r--sound/pci/es1968.c14
-rw-r--r--sound/soc/codecs/tlv320aic3x.c2
1091 files changed, 26824 insertions, 13590 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index fc8e7c7d182..e8fb2467196 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -271,8 +271,6 @@ netlabel/
271 - directory with information on the NetLabel subsystem. 271 - directory with information on the NetLabel subsystem.
272networking/ 272networking/
273 - directory with info on various aspects of networking with Linux. 273 - directory with info on various aspects of networking with Linux.
274nfsroot.txt
275 - short guide on setting up a diskless box with NFS root filesystem.
276nmi_watchdog.txt 274nmi_watchdog.txt
277 - info on NMI watchdog for SMP systems. 275 - info on NMI watchdog for SMP systems.
278nommu-mmap.txt 276nommu-mmap.txt
@@ -321,8 +319,6 @@ robust-futexes.txt
321 - a description of what robust futexes are. 319 - a description of what robust futexes are.
322rocket.txt 320rocket.txt
323 - info on the Comtrol RocketPort multiport serial driver. 321 - info on the Comtrol RocketPort multiport serial driver.
324rpc-cache.txt
325 - introduction to the caching mechanisms in the sunrpc layer.
326rt-mutex-design.txt 322rt-mutex-design.txt
327 - description of the RealTime mutex implementation design. 323 - description of the RealTime mutex implementation design.
328rt-mutex.txt 324rt-mutex.txt
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 08a1ed1cb5d..1fc4e7144dc 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -328,7 +328,7 @@ now, but you can do this to mark internal company procedures or just
328point out some special detail about the sign-off. 328point out some special detail about the sign-off.
329 329
330 330
33113) When to use Acked-by: 33113) When to use Acked-by: and Cc:
332 332
333The Signed-off-by: tag indicates that the signer was involved in the 333The Signed-off-by: tag indicates that the signer was involved in the
334development of the patch, or that he/she was in the patch's delivery path. 334development of the patch, or that he/she was in the patch's delivery path.
@@ -349,11 +349,59 @@ Acked-by: does not necessarily indicate acknowledgement of the entire patch.
349For example, if a patch affects multiple subsystems and has an Acked-by: from 349For example, if a patch affects multiple subsystems and has an Acked-by: from
350one subsystem maintainer then this usually indicates acknowledgement of just 350one subsystem maintainer then this usually indicates acknowledgement of just
351the part which affects that maintainer's code. Judgement should be used here. 351the part which affects that maintainer's code. Judgement should be used here.
352 When in doubt people should refer to the original discussion in the mailing 352When in doubt people should refer to the original discussion in the mailing
353list archives. 353list archives.
354 354
355If a person has had the opportunity to comment on a patch, but has not
356provided such comments, you may optionally add a "Cc:" tag to the patch.
357This is the only tag which might be added without an explicit action by the
358person it names. This tag documents that potentially interested parties
359have been included in the discussion
355 360
35614) The canonical patch format 361
36214) Using Test-by: and Reviewed-by:
363
364A Tested-by: tag indicates that the patch has been successfully tested (in
365some environment) by the person named. This tag informs maintainers that
366some testing has been performed, provides a means to locate testers for
367future patches, and ensures credit for the testers.
368
369Reviewed-by:, instead, indicates that the patch has been reviewed and found
370acceptable according to the Reviewer's Statement:
371
372 Reviewer's statement of oversight
373
374 By offering my Reviewed-by: tag, I state that:
375
376 (a) I have carried out a technical review of this patch to
377 evaluate its appropriateness and readiness for inclusion into
378 the mainline kernel.
379
380 (b) Any problems, concerns, or questions relating to the patch
381 have been communicated back to the submitter. I am satisfied
382 with the submitter's response to my comments.
383
384 (c) While there may be things that could be improved with this
385 submission, I believe that it is, at this time, (1) a
386 worthwhile modification to the kernel, and (2) free of known
387 issues which would argue against its inclusion.
388
389 (d) While I have reviewed the patch and believe it to be sound, I
390 do not (unless explicitly stated elsewhere) make any
391 warranties or guarantees that it will achieve its stated
392 purpose or function properly in any given situation.
393
394A Reviewed-by tag is a statement of opinion that the patch is an
395appropriate modification of the kernel without any remaining serious
396technical issues. Any interested reviewer (who has done the work) can
397offer a Reviewed-by tag for a patch. This tag serves to give credit to
398reviewers and to inform maintainers of the degree of review which has been
399done on the patch. Reviewed-by: tags, when supplied by reviewers known to
400understand the subject area and to perform thorough reviews, will normally
401increase the liklihood of your patch getting into the kernel.
402
403
40415) The canonical patch format
357 405
358The canonical patch subject line is: 406The canonical patch subject line is:
359 407
@@ -512,7 +560,7 @@ They provide type safety, have no length limitations, no formatting
512limitations, and under gcc they are as cheap as macros. 560limitations, and under gcc they are as cheap as macros.
513 561
514Macros should only be used for cases where a static inline is clearly 562Macros should only be used for cases where a static inline is clearly
515suboptimal [there a few, isolated cases of this in fast paths], 563suboptimal [there are a few, isolated cases of this in fast paths],
516or where it is impossible to use a static inline function [such as 564or where it is impossible to use a static inline function [such as
517string-izing]. 565string-izing].
518 566
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX
index e68021c08fb..52cd611277a 100644
--- a/Documentation/filesystems/00-INDEX
+++ b/Documentation/filesystems/00-INDEX
@@ -66,6 +66,8 @@ mandatory-locking.txt
66 - info on the Linux implementation of Sys V mandatory file locking. 66 - info on the Linux implementation of Sys V mandatory file locking.
67ncpfs.txt 67ncpfs.txt
68 - info on Novell Netware(tm) filesystem using NCP protocol. 68 - info on Novell Netware(tm) filesystem using NCP protocol.
69nfsroot.txt
70 - short guide on setting up a diskless box with NFS root filesystem.
69ntfs.txt 71ntfs.txt
70 - info and mount options for the NTFS filesystem (Windows NT). 72 - info and mount options for the NTFS filesystem (Windows NT).
71ocfs2.txt 73ocfs2.txt
@@ -82,6 +84,10 @@ relay.txt
82 - info on relay, for efficient streaming from kernel to user space. 84 - info on relay, for efficient streaming from kernel to user space.
83romfs.txt 85romfs.txt
84 - description of the ROMFS filesystem. 86 - description of the ROMFS filesystem.
87rpc-cache.txt
88 - introduction to the caching mechanisms in the sunrpc layer.
89seq_file.txt
90 - how to use the seq_file API
85sharedsubtree.txt 91sharedsubtree.txt
86 - a description of shared subtrees for namespaces. 92 - a description of shared subtrees for namespaces.
87smbfs.txt 93smbfs.txt
diff --git a/Documentation/nfsroot.txt b/Documentation/filesystems/nfsroot.txt
index 31b32917234..31b32917234 100644
--- a/Documentation/nfsroot.txt
+++ b/Documentation/filesystems/nfsroot.txt
diff --git a/Documentation/rpc-cache.txt b/Documentation/filesystems/rpc-cache.txt
index 8a382bea680..8a382bea680 100644
--- a/Documentation/rpc-cache.txt
+++ b/Documentation/filesystems/rpc-cache.txt
diff --git a/Documentation/filesystems/seq_file.txt b/Documentation/filesystems/seq_file.txt
new file mode 100644
index 00000000000..cc6cdb95b73
--- /dev/null
+++ b/Documentation/filesystems/seq_file.txt
@@ -0,0 +1,283 @@
1The seq_file interface
2
3 Copyright 2003 Jonathan Corbet <corbet@lwn.net>
4 This file is originally from the LWN.net Driver Porting series at
5 http://lwn.net/Articles/driver-porting/
6
7
8There are numerous ways for a device driver (or other kernel component) to
9provide information to the user or system administrator. One useful
10technique is the creation of virtual files, in debugfs, /proc or elsewhere.
11Virtual files can provide human-readable output that is easy to get at
12without any special utility programs; they can also make life easier for
13script writers. It is not surprising that the use of virtual files has
14grown over the years.
15
16Creating those files correctly has always been a bit of a challenge,
17however. It is not that hard to make a virtual file which returns a
18string. But life gets trickier if the output is long - anything greater
19than an application is likely to read in a single operation. Handling
20multiple reads (and seeks) requires careful attention to the reader's
21position within the virtual file - that position is, likely as not, in the
22middle of a line of output. The kernel has traditionally had a number of
23implementations that got this wrong.
24
25The 2.6 kernel contains a set of functions (implemented by Alexander Viro)
26which are designed to make it easy for virtual file creators to get it
27right.
28
29The seq_file interface is available via <linux/seq_file.h>. There are
30three aspects to seq_file:
31
32 * An iterator interface which lets a virtual file implementation
33 step through the objects it is presenting.
34
35 * Some utility functions for formatting objects for output without
36 needing to worry about things like output buffers.
37
38 * A set of canned file_operations which implement most operations on
39 the virtual file.
40
41We'll look at the seq_file interface via an extremely simple example: a
42loadable module which creates a file called /proc/sequence. The file, when
43read, simply produces a set of increasing integer values, one per line. The
44sequence will continue until the user loses patience and finds something
45better to do. The file is seekable, in that one can do something like the
46following:
47
48 dd if=/proc/sequence of=out1 count=1
49 dd if=/proc/sequence skip=1 out=out2 count=1
50
51Then concatenate the output files out1 and out2 and get the right
52result. Yes, it is a thoroughly useless module, but the point is to show
53how the mechanism works without getting lost in other details. (Those
54wanting to see the full source for this module can find it at
55http://lwn.net/Articles/22359/).
56
57
58The iterator interface
59
60Modules implementing a virtual file with seq_file must implement a simple
61iterator object that allows stepping through the data of interest.
62Iterators must be able to move to a specific position - like the file they
63implement - but the interpretation of that position is up to the iterator
64itself. A seq_file implementation that is formatting firewall rules, for
65example, could interpret position N as the Nth rule in the chain.
66Positioning can thus be done in whatever way makes the most sense for the
67generator of the data, which need not be aware of how a position translates
68to an offset in the virtual file. The one obvious exception is that a
69position of zero should indicate the beginning of the file.
70
71The /proc/sequence iterator just uses the count of the next number it
72will output as its position.
73
74Four functions must be implemented to make the iterator work. The first,
75called start() takes a position as an argument and returns an iterator
76which will start reading at that position. For our simple sequence example,
77the start() function looks like:
78
79 static void *ct_seq_start(struct seq_file *s, loff_t *pos)
80 {
81 loff_t *spos = kmalloc(sizeof(loff_t), GFP_KERNEL);
82 if (! spos)
83 return NULL;
84 *spos = *pos;
85 return spos;
86 }
87
88The entire data structure for this iterator is a single loff_t value
89holding the current position. There is no upper bound for the sequence
90iterator, but that will not be the case for most other seq_file
91implementations; in most cases the start() function should check for a
92"past end of file" condition and return NULL if need be.
93
94For more complicated applications, the private field of the seq_file
95structure can be used. There is also a special value whch can be returned
96by the start() function called SEQ_START_TOKEN; it can be used if you wish
97to instruct your show() function (described below) to print a header at the
98top of the output. SEQ_START_TOKEN should only be used if the offset is
99zero, however.
100
101The next function to implement is called, amazingly, next(); its job is to
102move the iterator forward to the next position in the sequence. The
103example module can simply increment the position by one; more useful
104modules will do what is needed to step through some data structure. The
105next() function returns a new iterator, or NULL if the sequence is
106complete. Here's the example version:
107
108 static void *ct_seq_next(struct seq_file *s, void *v, loff_t *pos)
109 {
110 loff_t *spos = v;
111 *pos = ++*spos;
112 return spos;
113 }
114
115The stop() function is called when iteration is complete; its job, of
116course, is to clean up. If dynamic memory is allocated for the iterator,
117stop() is the place to free it.
118
119 static void ct_seq_stop(struct seq_file *s, void *v)
120 {
121 kfree(v);
122 }
123
124Finally, the show() function should format the object currently pointed to
125by the iterator for output. It should return zero, or an error code if
126something goes wrong. The example module's show() function is:
127
128 static int ct_seq_show(struct seq_file *s, void *v)
129 {
130 loff_t *spos = v;
131 seq_printf(s, "%lld\n", (long long)*spos);
132 return 0;
133 }
134
135We will look at seq_printf() in a moment. But first, the definition of the
136seq_file iterator is finished by creating a seq_operations structure with
137the four functions we have just defined:
138
139 static const struct seq_operations ct_seq_ops = {
140 .start = ct_seq_start,
141 .next = ct_seq_next,
142 .stop = ct_seq_stop,
143 .show = ct_seq_show
144 };
145
146This structure will be needed to tie our iterator to the /proc file in
147a little bit.
148
149It's worth noting that the interator value returned by start() and
150manipulated by the other functions is considered to be completely opaque by
151the seq_file code. It can thus be anything that is useful in stepping
152through the data to be output. Counters can be useful, but it could also be
153a direct pointer into an array or linked list. Anything goes, as long as
154the programmer is aware that things can happen between calls to the
155iterator function. However, the seq_file code (by design) will not sleep
156between the calls to start() and stop(), so holding a lock during that time
157is a reasonable thing to do. The seq_file code will also avoid taking any
158other locks while the iterator is active.
159
160
161Formatted output
162
163The seq_file code manages positioning within the output created by the
164iterator and getting it into the user's buffer. But, for that to work, that
165output must be passed to the seq_file code. Some utility functions have
166been defined which make this task easy.
167
168Most code will simply use seq_printf(), which works pretty much like
169printk(), but which requires the seq_file pointer as an argument. It is
170common to ignore the return value from seq_printf(), but a function
171producing complicated output may want to check that value and quit if
172something non-zero is returned; an error return means that the seq_file
173buffer has been filled and further output will be discarded.
174
175For straight character output, the following functions may be used:
176
177 int seq_putc(struct seq_file *m, char c);
178 int seq_puts(struct seq_file *m, const char *s);
179 int seq_escape(struct seq_file *m, const char *s, const char *esc);
180
181The first two output a single character and a string, just like one would
182expect. seq_escape() is like seq_puts(), except that any character in s
183which is in the string esc will be represented in octal form in the output.
184
185There is also a function for printing filenames:
186
187 int seq_path(struct seq_file *m, struct path *path, char *esc);
188
189Here, path indicates the file of interest, and esc is a set of characters
190which should be escaped in the output.
191
192
193Making it all work
194
195So far, we have a nice set of functions which can produce output within the
196seq_file system, but we have not yet turned them into a file that a user
197can see. Creating a file within the kernel requires, of course, the
198creation of a set of file_operations which implement the operations on that
199file. The seq_file interface provides a set of canned operations which do
200most of the work. The virtual file author still must implement the open()
201method, however, to hook everything up. The open function is often a single
202line, as in the example module:
203
204 static int ct_open(struct inode *inode, struct file *file)
205 {
206 return seq_open(file, &ct_seq_ops);
207 }
208
209Here, the call to seq_open() takes the seq_operations structure we created
210before, and gets set up to iterate through the virtual file.
211
212On a successful open, seq_open() stores the struct seq_file pointer in
213file->private_data. If you have an application where the same iterator can
214be used for more than one file, you can store an arbitrary pointer in the
215private field of the seq_file structure; that value can then be retrieved
216by the iterator functions.
217
218The other operations of interest - read(), llseek(), and release() - are
219all implemented by the seq_file code itself. So a virtual file's
220file_operations structure will look like:
221
222 static const struct file_operations ct_file_ops = {
223 .owner = THIS_MODULE,
224 .open = ct_open,
225 .read = seq_read,
226 .llseek = seq_lseek,
227 .release = seq_release
228 };
229
230There is also a seq_release_private() which passes the contents of the
231seq_file private field to kfree() before releasing the structure.
232
233The final step is the creation of the /proc file itself. In the example
234code, that is done in the initialization code in the usual way:
235
236 static int ct_init(void)
237 {
238 struct proc_dir_entry *entry;
239
240 entry = create_proc_entry("sequence", 0, NULL);
241 if (entry)
242 entry->proc_fops = &ct_file_ops;
243 return 0;
244 }
245
246 module_init(ct_init);
247
248And that is pretty much it.
249
250
251seq_list
252
253If your file will be iterating through a linked list, you may find these
254routines useful:
255
256 struct list_head *seq_list_start(struct list_head *head,
257 loff_t pos);
258 struct list_head *seq_list_start_head(struct list_head *head,
259 loff_t pos);
260 struct list_head *seq_list_next(void *v, struct list_head *head,
261 loff_t *ppos);
262
263These helpers will interpret pos as a position within the list and iterate
264accordingly. Your start() and next() functions need only invoke the
265seq_list_* helpers with a pointer to the appropriate list_head structure.
266
267
268The extra-simple version
269
270For extremely simple virtual files, there is an even easier interface. A
271module can define only the show() function, which should create all the
272output that the virtual file will contain. The file's open() method then
273calls:
274
275 int single_open(struct file *file,
276 int (*show)(struct seq_file *m, void *p),
277 void *data);
278
279When output time comes, the show() function will be called once. The data
280value given to single_open() can be found in the private field of the
281seq_file structure. When using single_open(), the programmer should use
282single_release() instead of seq_release() in the file_operations structure
283to avoid a memory leak.
diff --git a/Documentation/hrtimers/highres.txt b/Documentation/hrtimers/highres.txt
index ce0e9a91e15..a73ecf5b4bd 100644
--- a/Documentation/hrtimers/highres.txt
+++ b/Documentation/hrtimers/highres.txt
@@ -98,7 +98,7 @@ System-level global event devices are used for the Linux periodic tick. Per-CPU
98event devices are used to provide local CPU functionality such as process 98event devices are used to provide local CPU functionality such as process
99accounting, profiling, and high resolution timers. 99accounting, profiling, and high resolution timers.
100 100
101The management layer assignes one or more of the folliwing functions to a clock 101The management layer assigns one or more of the following functions to a clock
102event device: 102event device:
103 - system global periodic tick (jiffies update) 103 - system global periodic tick (jiffies update)
104 - cpu local update_process_times 104 - cpu local update_process_times
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/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 650b0d8aa89..4f82c856667 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
@@ -380,6 +375,10 @@ and is between 256 and 4096 characters. It is defined in the file
380 ccw_timeout_log [S390] 375 ccw_timeout_log [S390]
381 See Documentation/s390/CommonIO for details. 376 See Documentation/s390/CommonIO for details.
382 377
378 cgroup_disable= [KNL] Disable a particular controller
379 Format: {name of the controller(s) to disable}
380 {Currently supported controllers - "memory"}
381
383 checkreqprot [SELINUX] Set initial checkreqprot flag value. 382 checkreqprot [SELINUX] Set initial checkreqprot flag value.
384 Format: { "0" | "1" } 383 Format: { "0" | "1" }
385 See security/selinux/Kconfig help text. 384 See security/selinux/Kconfig help text.
@@ -845,7 +844,7 @@ and is between 256 and 4096 characters. It is defined in the file
845 arch/alpha/kernel/core_marvel.c. 844 arch/alpha/kernel/core_marvel.c.
846 845
847 ip= [IP_PNP] 846 ip= [IP_PNP]
848 See Documentation/nfsroot.txt. 847 See Documentation/filesystems/nfsroot.txt.
849 848
850 ip2= [HW] Set IO/IRQ pairs for up to 4 IntelliPort boards 849 ip2= [HW] Set IO/IRQ pairs for up to 4 IntelliPort boards
851 See comment before ip2_setup() in 850 See comment before ip2_setup() in
@@ -931,6 +930,8 @@ and is between 256 and 4096 characters. It is defined in the file
931 930
932 l2cr= [PPC] 931 l2cr= [PPC]
933 932
933 l3cr= [PPC]
934
934 lapic [X86-32,APIC] Enable the local APIC even if BIOS 935 lapic [X86-32,APIC] Enable the local APIC even if BIOS
935 disabled it. 936 disabled it.
936 937
@@ -1130,6 +1131,10 @@ and is between 256 and 4096 characters. It is defined in the file
1130 memmap=nn[KMG]$ss[KMG] 1131 memmap=nn[KMG]$ss[KMG]
1131 [KNL,ACPI] Mark specific memory as reserved. 1132 [KNL,ACPI] Mark specific memory as reserved.
1132 Region of memory to be used, from ss to ss+nn. 1133 Region of memory to be used, from ss to ss+nn.
1134 Example: Exclude memory from 0x18690000-0x1869ffff
1135 memmap=64K$0x18690000
1136 or
1137 memmap=0x10000$0x18690000
1133 1138
1134 meye.*= [HW] Set MotionEye Camera parameters 1139 meye.*= [HW] Set MotionEye Camera parameters
1135 See Documentation/video4linux/meye.txt. 1140 See Documentation/video4linux/meye.txt.
@@ -1195,10 +1200,10 @@ and is between 256 and 4096 characters. It is defined in the file
1195 file if at all. 1200 file if at all.
1196 1201
1197 nfsaddrs= [NFS] 1202 nfsaddrs= [NFS]
1198 See Documentation/nfsroot.txt. 1203 See Documentation/filesystems/nfsroot.txt.
1199 1204
1200 nfsroot= [NFS] nfs root filesystem for disk-less boxes. 1205 nfsroot= [NFS] nfs root filesystem for disk-less boxes.
1201 See Documentation/nfsroot.txt. 1206 See Documentation/filesystems/nfsroot.txt.
1202 1207
1203 nfs.callback_tcpport= 1208 nfs.callback_tcpport=
1204 [NFS] set the TCP port on which the NFSv4 callback 1209 [NFS] set the TCP port on which the NFSv4 callback
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/networking/00-INDEX b/Documentation/networking/00-INDEX
index 02e56d447a8..c485ee028bd 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -84,9 +84,6 @@ policy-routing.txt
84 - IP policy-based routing 84 - IP policy-based routing
85ray_cs.txt 85ray_cs.txt
86 - Raylink Wireless LAN card driver info. 86 - Raylink Wireless LAN card driver info.
87sk98lin.txt
88 - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
89 Ethernet Adapter family driver info
90skfp.txt 87skfp.txt
91 - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. 88 - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
92smc9.txt 89smc9.txt
diff --git a/Documentation/networking/sk98lin.txt b/Documentation/networking/sk98lin.txt
deleted file mode 100644
index 8590a954df1..00000000000
--- a/Documentation/networking/sk98lin.txt
+++ /dev/null
@@ -1,568 +0,0 @@
1(C)Copyright 1999-2004 Marvell(R).
2All rights reserved
3===========================================================================
4
5sk98lin.txt created 13-Feb-2004
6
7Readme File for sk98lin v6.23
8Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX
9
10This file contains
11 1 Overview
12 2 Required Files
13 3 Installation
14 3.1 Driver Installation
15 3.2 Inclusion of adapter at system start
16 4 Driver Parameters
17 4.1 Per-Port Parameters
18 4.2 Adapter Parameters
19 5 Large Frame Support
20 6 VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
21 7 Troubleshooting
22
23===========================================================================
24
25
261 Overview
27===========
28
29The sk98lin driver supports the Marvell Yukon and SysKonnect
30SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has
31been tested with Linux on Intel/x86 machines.
32***
33
34
352 Required Files
36=================
37
38The linux kernel source.
39No additional files required.
40***
41
42
433 Installation
44===============
45
46It is recommended to download the latest version of the driver from the
47SysKonnect web site www.syskonnect.com. If you have downloaded the latest
48driver, the Linux kernel has to be patched before the driver can be
49installed. For details on how to patch a Linux kernel, refer to the
50patch.txt file.
51
523.1 Driver Installation
53------------------------
54
55The following steps describe the actions that are required to install
56the driver and to start it manually. These steps should be carried
57out for the initial driver setup. Once confirmed to be ok, they can
58be included in the system start.
59
60NOTE 1: To perform the following tasks you need 'root' access.
61
62NOTE 2: In case of problems, please read the section "Troubleshooting"
63 below.
64
65The driver can either be integrated into the kernel or it can be compiled
66as a module. Select the appropriate option during the kernel
67configuration.
68
69Compile/use the driver as a module
70----------------------------------
71To compile the driver, go to the directory /usr/src/linux and
72execute the command "make menuconfig" or "make xconfig" and proceed as
73follows:
74
75To integrate the driver permanently into the kernel, proceed as follows:
76
771. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
782. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
79 with (*)
803. Build a new kernel when the configuration of the above options is
81 finished.
824. Install the new kernel.
835. Reboot your system.
84
85To use the driver as a module, proceed as follows:
86
871. Enable 'loadable module support' in the kernel.
882. For automatic driver start, enable the 'Kernel module loader'.
893. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
904. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
91 with (M)
925. Execute the command "make modules".
936. Execute the command "make modules_install".
94 The appropriate modules will be installed.
957. Reboot your system.
96
97
98Load the module manually
99------------------------
100To load the module manually, proceed as follows:
101
1021. Enter "modprobe sk98lin".
1032. If a Marvell Yukon or SysKonnect SK-98xx adapter is installed in
104 your computer and you have a /proc file system, execute the command:
105 "ls /proc/net/sk98lin/"
106 This should produce an output containing a line with the following
107 format:
108 eth0 eth1 ...
109 which indicates that your adapter has been found and initialized.
110
111 NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx
112 adapter installed, the adapters will be listed as 'eth0',
113 'eth1', 'eth2', etc.
114 For each adapter, repeat steps 3 and 4 below.
115
116 NOTE 2: If you have other Ethernet adapters installed, your Marvell
117 Yukon or SysKonnect SK-98xx adapter will be mapped to the
118 next available number, e.g. 'eth1'. The mapping is executed
119 automatically.
120 The module installation message (displayed either in a system
121 log file or on the console) prints a line for each adapter
122 found containing the corresponding 'ethX'.
123
1243. Select an IP address and assign it to the respective adapter by
125 entering:
126 ifconfig eth0 <ip-address>
127 With this command, the adapter is connected to the Ethernet.
128
129 SK-98xx Gigabit Ethernet Server Adapters: The yellow LED on the adapter
130 is now active, the link status LED of the primary port is active and
131 the link status LED of the secondary port (on dual port adapters) is
132 blinking (if the ports are connected to a switch or hub).
133 SK-98xx V2.0 Gigabit Ethernet Adapters: The link status LED is active.
134 In addition, you will receive a status message on the console stating
135 "ethX: network connection up using port Y" and showing the selected
136 connection parameters (x stands for the ethernet device number
137 (0,1,2, etc), y stands for the port name (A or B)).
138
139 NOTE: If you are in doubt about IP addresses, ask your network
140 administrator for assistance.
141
1424. Your adapter should now be fully operational.
143 Use 'ping <otherstation>' to verify the connection to other computers
144 on your network.
1455. To check the adapter configuration view /proc/net/sk98lin/[devicename].
146 For example by executing:
147 "cat /proc/net/sk98lin/eth0"
148
149Unload the module
150-----------------
151To stop and unload the driver modules, proceed as follows:
152
1531. Execute the command "ifconfig eth0 down".
1542. Execute the command "rmmod sk98lin".
155
1563.2 Inclusion of adapter at system start
157-----------------------------------------
158
159Since a large number of different Linux distributions are
160available, we are unable to describe a general installation procedure
161for the driver module.
162Because the driver is now integrated in the kernel, installation should
163be easy, using the standard mechanism of your distribution.
164Refer to the distribution's manual for installation of ethernet adapters.
165
166***
167
1684 Driver Parameters
169====================
170
171Parameters can be set at the command line after the module has been
172loaded with the command 'modprobe'.
173In some distributions, the configuration tools are able to pass parameters
174to the driver module.
175
176If you use the kernel module loader, you can set driver parameters
177in the file /etc/modprobe.conf (or /etc/modules.conf in 2.4 or earlier).
178To set the driver parameters in this file, proceed as follows:
179
1801. Insert a line of the form :
181 options sk98lin ...
182 For "...", the same syntax is required as described for the command
183 line parameters of modprobe below.
1842. To activate the new parameters, either reboot your computer
185 or
186 unload and reload the driver.
187 The syntax of the driver parameters is:
188
189 modprobe sk98lin parameter=value1[,value2[,value3...]]
190
191 where value1 refers to the first adapter, value2 to the second etc.
192
193NOTE: All parameters are case sensitive. Write them exactly as shown
194 below.
195
196Example:
197Suppose you have two adapters. You want to set auto-negotiation
198on the first adapter to ON and on the second adapter to OFF.
199You also want to set DuplexCapabilities on the first adapter
200to FULL, and on the second adapter to HALF.
201Then, you must enter:
202
203 modprobe sk98lin AutoNeg_A=On,Off DupCap_A=Full,Half
204
205NOTE: The number of adapters that can be configured this way is
206 limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
207 The current limit is 16. If you happen to install
208 more adapters, adjust this and recompile.
209
210
2114.1 Per-Port Parameters
212------------------------
213
214These settings are available for each port on the adapter.
215In the following description, '?' stands for the port for
216which you set the parameter (A or B).
217
218Speed
219-----
220Parameter: Speed_?
221Values: 10, 100, 1000, Auto
222Default: Auto
223
224This parameter is used to set the speed capabilities. It is only valid
225for the SK-98xx V2.0 copper adapters.
226Usually, the speed is negotiated between the two ports during link
227establishment. If this fails, a port can be forced to a specific setting
228with this parameter.
229
230Auto-Negotiation
231----------------
232Parameter: AutoNeg_?
233Values: On, Off, Sense
234Default: On
235
236The "Sense"-mode automatically detects whether the link partner supports
237auto-negotiation or not.
238
239Duplex Capabilities
240-------------------
241Parameter: DupCap_?
242Values: Half, Full, Both
243Default: Both
244
245This parameters is only relevant if auto-negotiation for this port is
246not set to "Sense". If auto-negotiation is set to "On", all three values
247are possible. If it is set to "Off", only "Full" and "Half" are allowed.
248This parameter is useful if your link partner does not support all
249possible combinations.
250
251Flow Control
252------------
253Parameter: FlowCtrl_?
254Values: Sym, SymOrRem, LocSend, None
255Default: SymOrRem
256
257This parameter can be used to set the flow control capabilities the
258port reports during auto-negotiation. It can be set for each port
259individually.
260Possible modes:
261 -- Sym = Symmetric: both link partners are allowed to send
262 PAUSE frames
263 -- SymOrRem = SymmetricOrRemote: both or only remote partner
264 are allowed to send PAUSE frames
265 -- LocSend = LocalSend: only local link partner is allowed
266 to send PAUSE frames
267 -- None = no link partner is allowed to send PAUSE frames
268
269NOTE: This parameter is ignored if auto-negotiation is set to "Off".
270
271Role in Master-Slave-Negotiation (1000Base-T only)
272--------------------------------------------------
273Parameter: Role_?
274Values: Auto, Master, Slave
275Default: Auto
276
277This parameter is only valid for the SK-9821 and SK-9822 adapters.
278For two 1000Base-T ports to communicate, one must take the role of the
279master (providing timing information), while the other must be the
280slave. Usually, this is negotiated between the two ports during link
281establishment. If this fails, a port can be forced to a specific setting
282with this parameter.
283
284
2854.2 Adapter Parameters
286-----------------------
287
288Connection Type (SK-98xx V2.0 copper adapters only)
289---------------
290Parameter: ConType
291Values: Auto, 100FD, 100HD, 10FD, 10HD
292Default: Auto
293
294The parameter 'ConType' is a combination of all five per-port parameters
295within one single parameter. This simplifies the configuration of both ports
296of an adapter card! The different values of this variable reflect the most
297meaningful combinations of port parameters.
298
299The following table shows the values of 'ConType' and the corresponding
300combinations of the per-port parameters:
301
302 ConType | DupCap AutoNeg FlowCtrl Role Speed
303 ----------+------------------------------------------------------
304 Auto | Both On SymOrRem Auto Auto
305 100FD | Full Off None Auto (ignored) 100
306 100HD | Half Off None Auto (ignored) 100
307 10FD | Full Off None Auto (ignored) 10
308 10HD | Half Off None Auto (ignored) 10
309
310Stating any other port parameter together with this 'ConType' variable
311will result in a merged configuration of those settings. This due to
312the fact, that the per-port parameters (e.g. Speed_? ) have a higher
313priority than the combined variable 'ConType'.
314
315NOTE: This parameter is always used on both ports of the adapter card.
316
317Interrupt Moderation
318--------------------
319Parameter: Moderation
320Values: None, Static, Dynamic
321Default: None
322
323Interrupt moderation is employed to limit the maximum number of interrupts
324the driver has to serve. That is, one or more interrupts (which indicate any
325transmit or receive packet to be processed) are queued until the driver
326processes them. When queued interrupts are to be served, is determined by the
327'IntsPerSec' parameter, which is explained later below.
328
329Possible modes:
330
331 -- None - No interrupt moderation is applied on the adapter card.
332 Therefore, each transmit or receive interrupt is served immediately
333 as soon as it appears on the interrupt line of the adapter card.
334
335 -- Static - Interrupt moderation is applied on the adapter card.
336 All transmit and receive interrupts are queued until a complete
337 moderation interval ends. If such a moderation interval ends, all
338 queued interrupts are processed in one big bunch without any delay.
339 The term 'static' reflects the fact, that interrupt moderation is
340 always enabled, regardless how much network load is currently
341 passing via a particular interface. In addition, the duration of
342 the moderation interval has a fixed length that never changes while
343 the driver is operational.
344
345 -- Dynamic - Interrupt moderation might be applied on the adapter card,
346 depending on the load of the system. If the driver detects that the
347 system load is too high, the driver tries to shield the system against
348 too much network load by enabling interrupt moderation. If - at a later
349 time - the CPU utilization decreases again (or if the network load is
350 negligible) the interrupt moderation will automatically be disabled.
351
352Interrupt moderation should be used when the driver has to handle one or more
353interfaces with a high network load, which - as a consequence - leads also to a
354high CPU utilization. When moderation is applied in such high network load
355situations, CPU load might be reduced by 20-30%.
356
357NOTE: The drawback of using interrupt moderation is an increase of the round-
358trip-time (RTT), due to the queueing and serving of interrupts at dedicated
359moderation times.
360
361Interrupts per second
362---------------------
363Parameter: IntsPerSec
364Values: 30...40000 (interrupts per second)
365Default: 2000
366
367This parameter is only used if either static or dynamic interrupt moderation
368is used on a network adapter card. Using this parameter if no moderation is
369applied will lead to no action performed.
370
371This parameter determines the length of any interrupt moderation interval.
372Assuming that static interrupt moderation is to be used, an 'IntsPerSec'
373parameter value of 2000 will lead to an interrupt moderation interval of
374500 microseconds.
375
376NOTE: The duration of the moderation interval is to be chosen with care.
377At first glance, selecting a very long duration (e.g. only 100 interrupts per
378second) seems to be meaningful, but the increase of packet-processing delay
379is tremendous. On the other hand, selecting a very short moderation time might
380compensate the use of any moderation being applied.
381
382
383Preferred Port
384--------------
385Parameter: PrefPort
386Values: A, B
387Default: A
388
389This is used to force the preferred port to A or B (on dual-port network
390adapters). The preferred port is the one that is used if both are detected
391as fully functional.
392
393RLMT Mode (Redundant Link Management Technology)
394------------------------------------------------
395Parameter: RlmtMode
396Values: CheckLinkState,CheckLocalPort, CheckSeg, DualNet
397Default: CheckLinkState
398
399RLMT monitors the status of the port. If the link of the active port
400fails, RLMT switches immediately to the standby link. The virtual link is
401maintained as long as at least one 'physical' link is up.
402
403Possible modes:
404
405 -- CheckLinkState - Check link state only: RLMT uses the link state
406 reported by the adapter hardware for each individual port to
407 determine whether a port can be used for all network traffic or
408 not.
409
410 -- CheckLocalPort - In this mode, RLMT monitors the network path
411 between the two ports of an adapter by regularly exchanging packets
412 between them. This mode requires a network configuration in which
413 the two ports are able to "see" each other (i.e. there must not be
414 any router between the ports).
415
416 -- CheckSeg - Check local port and segmentation: This mode supports the
417 same functions as the CheckLocalPort mode and additionally checks
418 network segmentation between the ports. Therefore, this mode is only
419 to be used if Gigabit Ethernet switches are installed on the network
420 that have been configured to use the Spanning Tree protocol.
421
422 -- DualNet - In this mode, ports A and B are used as separate devices.
423 If you have a dual port adapter, port A will be configured as eth0
424 and port B as eth1. Both ports can be used independently with
425 distinct IP addresses. The preferred port setting is not used.
426 RLMT is turned off.
427
428NOTE: RLMT modes CLP and CLPSS are designed to operate in configurations
429 where a network path between the ports on one adapter exists.
430 Moreover, they are not designed to work where adapters are connected
431 back-to-back.
432***
433
434
4355 Large Frame Support
436======================
437
438The driver supports large frames (also called jumbo frames). Using large
439frames can result in an improved throughput if transferring large amounts
440of data.
441To enable large frames, set the MTU (maximum transfer unit) of the
442interface to the desired value (up to 9000), execute the following
443command:
444 ifconfig eth0 mtu 9000
445This will only work if you have two adapters connected back-to-back
446or if you use a switch that supports large frames. When using a switch,
447it should be configured to allow large frames and auto-negotiation should
448be set to OFF. The setting must be configured on all adapters that can be
449reached by the large frames. If one adapter is not set to receive large
450frames, it will simply drop them.
451
452You can switch back to the standard ethernet frame size by executing the
453following command:
454 ifconfig eth0 mtu 1500
455
456To permanently configure this setting, add a script with the 'ifconfig'
457line to the system startup sequence (named something like "S99sk98lin"
458in /etc/rc.d/rc2.d).
459***
460
461
4626 VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
463==================================================================
464
465The Marvell Yukon/SysKonnect Linux drivers are able to support VLAN and
466Link Aggregation according to IEEE standards 802.1, 802.1q, and 802.3ad.
467These features are only available after installation of open source
468modules available on the Internet:
469For VLAN go to: http://www.candelatech.com/~greear/vlan.html
470For Link Aggregation go to: http://www.st.rim.or.jp/~yumo
471
472NOTE: SysKonnect GmbH does not offer any support for these open source
473 modules and does not take the responsibility for any kind of
474 failures or problems arising in connection with these modules.
475
476NOTE: Configuring Link Aggregation on a SysKonnect dual link adapter may
477 cause problems when unloading the driver.
478
479
4807 Troubleshooting
481==================
482
483If any problems occur during the installation process, check the
484following list:
485
486
487Problem: The SK-98xx adapter cannot be found by the driver.
488Solution: In /proc/pci search for the following entry:
489 'Ethernet controller: SysKonnect SK-98xx ...'
490 If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has
491 been found by the system and should be operational.
492 If this entry does not exist or if the file '/proc/pci' is not
493 found, there may be a hardware problem or the PCI support may
494 not be enabled in your kernel.
495 The adapter can be checked using the diagnostics program which
496 is available on the SysKonnect web site:
497 www.syskonnect.com
498
499 Some COMPAQ machines have problems dealing with PCI under Linux.
500 This problem is described in the 'PCI howto' document
501 (included in some distributions or available from the
502 web, e.g. at 'www.linux.org').
503
504
505Problem: Programs such as 'ifconfig' or 'route' cannot be found or the
506 error message 'Operation not permitted' is displayed.
507Reason: You are not logged in as user 'root'.
508Solution: Logout and login as 'root' or change to 'root' via 'su'.
509
510
511Problem: Upon use of the command 'ping <address>' the message
512 "ping: sendto: Network is unreachable" is displayed.
513Reason: Your route is not set correctly.
514Solution: If you are using RedHat, you probably forgot to set up the
515 route in the 'network configuration'.
516 Check the existing routes with the 'route' command and check
517 if an entry for 'eth0' exists, and if so, if it is set correctly.
518
519
520Problem: The driver can be started, the adapter is connected to the
521 network, but you cannot receive or transmit any packets;
522 e.g. 'ping' does not work.
523Reason: There is an incorrect route in your routing table.
524Solution: Check the routing table with the command 'route' and read the
525 manual help pages dealing with routes (enter 'man route').
526
527NOTE: Although the 2.2.x kernel versions generate the routing entry
528 automatically, problems of this kind may occur here as well. We've
529 come across a situation in which the driver started correctly at
530 system start, but after the driver has been removed and reloaded,
531 the route of the adapter's network pointed to the 'dummy0'device
532 and had to be corrected manually.
533
534
535Problem: Your computer should act as a router between multiple
536 IP subnetworks (using multiple adapters), but computers in
537 other subnetworks cannot be reached.
538Reason: Either the router's kernel is not configured for IP forwarding
539 or the routing table and gateway configuration of at least one
540 computer is not working.
541
542Problem: Upon driver start, the following error message is displayed:
543 "eth0: -- ERROR --
544 Class: internal Software error
545 Nr: 0xcc
546 Msg: SkGeInitPort() cannot init running ports"
547Reason: You are using a driver compiled for single processor machines
548 on a multiprocessor machine with SMP (Symmetric MultiProcessor)
549 kernel.
550Solution: Configure your kernel appropriately and recompile the kernel or
551 the modules.
552
553
554
555If your problem is not listed here, please contact SysKonnect's technical
556support for help (linux@syskonnect.de).
557When contacting our technical support, please ensure that the following
558information is available:
559- System Manufacturer and HW Informations (CPU, Memory... )
560- PCI-Boards in your system
561- Distribution
562- Kernel version
563- Driver version
564***
565
566
567
568***End of Readme File***
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/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 7b4e8a70882..528b4822f45 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -59,12 +59,39 @@ Table of Contents
59 p) Freescale Synchronous Serial Interface 59 p) Freescale Synchronous Serial Interface
60 q) USB EHCI controllers 60 q) USB EHCI controllers
61 61
62 VII - Specifying interrupt information for devices 62 VII - Marvell Discovery mv64[345]6x System Controller chips
63 1) The /system-controller node
64 2) Child nodes of /system-controller
65 a) Marvell Discovery MDIO bus
66 b) Marvell Discovery ethernet controller
67 c) Marvell Discovery PHY nodes
68 d) Marvell Discovery SDMA nodes
69 e) Marvell Discovery BRG nodes
70 f) Marvell Discovery CUNIT nodes
71 g) Marvell Discovery MPSCROUTING nodes
72 h) Marvell Discovery MPSCINTR nodes
73 i) Marvell Discovery MPSC nodes
74 j) Marvell Discovery Watch Dog Timer nodes
75 k) Marvell Discovery I2C nodes
76 l) Marvell Discovery PIC (Programmable Interrupt Controller) nodes
77 m) Marvell Discovery MPP (Multipurpose Pins) multiplexing nodes
78 n) Marvell Discovery GPP (General Purpose Pins) nodes
79 o) Marvell Discovery PCI host bridge node
80 p) Marvell Discovery CPU Error nodes
81 q) Marvell Discovery SRAM Controller nodes
82 r) Marvell Discovery PCI Error Handler nodes
83 s) Marvell Discovery Memory Controller nodes
84
85 VIII - Specifying interrupt information for devices
63 1) interrupts property 86 1) interrupts property
64 2) interrupt-parent property 87 2) interrupt-parent property
65 3) OpenPIC Interrupt Controllers 88 3) OpenPIC Interrupt Controllers
66 4) ISA Interrupt Controllers 89 4) ISA Interrupt Controllers
67 90
91 VIII - Specifying GPIO information for devices
92 1) gpios property
93 2) gpio-controller nodes
94
68 Appendix A - Sample SOC node for MPC8540 95 Appendix A - Sample SOC node for MPC8540
69 96
70 97
@@ -1269,10 +1296,6 @@ platforms are moved over to use the flattened-device-tree model.
1269 1296
1270 Recommended properties: 1297 Recommended properties:
1271 1298
1272 - linux,network-index : This is the intended "index" of this
1273 network device. This is used by the bootwrapper to interpret
1274 MAC addresses passed by the firmware when no information other
1275 than indices is available to associate an address with a device.
1276 - phy-connection-type : a string naming the controller/PHY interface type, 1299 - phy-connection-type : a string naming the controller/PHY interface type,
1277 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii", 1300 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii",
1278 "tbi", or "rtbi". This property is only really needed if the connection 1301 "tbi", or "rtbi". This property is only really needed if the connection
@@ -1667,10 +1690,6 @@ platforms are moved over to use the flattened-device-tree model.
1667 - phy-handle : The phandle for the PHY connected to this controller. 1690 - phy-handle : The phandle for the PHY connected to this controller.
1668 1691
1669 Recommended properties: 1692 Recommended properties:
1670 - linux,network-index : This is the intended "index" of this
1671 network device. This is used by the bootwrapper to interpret
1672 MAC addresses passed by the firmware when no information other
1673 than indices is available to associate an address with a device.
1674 - phy-connection-type : a string naming the controller/PHY interface type, 1693 - phy-connection-type : a string naming the controller/PHY interface type,
1675 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal 1694 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
1676 Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only), 1695 Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
@@ -1995,7 +2014,6 @@ platforms are moved over to use the flattened-device-tree model.
1995 interrupts = <20 8>; 2014 interrupts = <20 8>;
1996 interrupt-parent = <&PIC>; 2015 interrupt-parent = <&PIC>;
1997 phy-handle = <&PHY0>; 2016 phy-handle = <&PHY0>;
1998 linux,network-index = <0>;
1999 fsl,cpm-command = <12000300>; 2017 fsl,cpm-command = <12000300>;
2000 }; 2018 };
2001 2019
@@ -2217,12 +2235,6 @@ platforms are moved over to use the flattened-device-tree model.
2217 EMAC, that is the content of the current (bogus) "phy-port" 2235 EMAC, that is the content of the current (bogus) "phy-port"
2218 property. 2236 property.
2219 2237
2220 Recommended properties:
2221 - linux,network-index : This is the intended "index" of this
2222 network device. This is used by the bootwrapper to interpret
2223 MAC addresses passed by the firmware when no information other
2224 than indices is available to associate an address with a device.
2225
2226 Optional properties: 2238 Optional properties:
2227 - phy-address : 1 cell, optional, MDIO address of the PHY. If absent, 2239 - phy-address : 1 cell, optional, MDIO address of the PHY. If absent,
2228 a search is performed. 2240 a search is performed.
@@ -2246,7 +2258,6 @@ platforms are moved over to use the flattened-device-tree model.
2246 Example: 2258 Example:
2247 2259
2248 EMAC0: ethernet@40000800 { 2260 EMAC0: ethernet@40000800 {
2249 linux,network-index = <0>;
2250 device_type = "network"; 2261 device_type = "network";
2251 compatible = "ibm,emac-440gp", "ibm,emac"; 2262 compatible = "ibm,emac-440gp", "ibm,emac";
2252 interrupt-parent = <&UIC1>; 2263 interrupt-parent = <&UIC1>;
@@ -2817,9 +2828,528 @@ platforms are moved over to use the flattened-device-tree model.
2817 }; 2828 };
2818 2829
2819 2830
2820 More devices will be defined as this spec matures. 2831VII - Marvell Discovery mv64[345]6x System Controller chips
2832===========================================================
2833
2834The Marvell mv64[345]60 series of system controller chips contain
2835many of the peripherals needed to implement a complete computer
2836system. In this section, we define device tree nodes to describe
2837the system controller chip itself and each of the peripherals
2838which it contains. Compatible string values for each node are
2839prefixed with the string "marvell,", for Marvell Technology Group Ltd.
2840
28411) The /system-controller node
2842
2843 This node is used to represent the system-controller and must be
2844 present when the system uses a system contller chip. The top-level
2845 system-controller node contains information that is global to all
2846 devices within the system controller chip. The node name begins
2847 with "system-controller" followed by the unit address, which is
2848 the base address of the memory-mapped register set for the system
2849 controller chip.
2850
2851 Required properties:
2852
2853 - ranges : Describes the translation of system controller addresses
2854 for memory mapped registers.
2855 - clock-frequency: Contains the main clock frequency for the system
2856 controller chip.
2857 - reg : This property defines the address and size of the
2858 memory-mapped registers contained within the system controller
2859 chip. The address specified in the "reg" property should match
2860 the unit address of the system-controller node.
2861 - #address-cells : Address representation for system controller
2862 devices. This field represents the number of cells needed to
2863 represent the address of the memory-mapped registers of devices
2864 within the system controller chip.
2865 - #size-cells : Size representation for for the memory-mapped
2866 registers within the system controller chip.
2867 - #interrupt-cells : Defines the width of cells used to represent
2868 interrupts.
2869
2870 Optional properties:
2871
2872 - model : The specific model of the system controller chip. Such
2873 as, "mv64360", "mv64460", or "mv64560".
2874 - compatible : A string identifying the compatibility identifiers
2875 of the system controller chip.
2876
2877 The system-controller node contains child nodes for each system
2878 controller device that the platform uses. Nodes should not be created
2879 for devices which exist on the system controller chip but are not used
2880
2881 Example Marvell Discovery mv64360 system-controller node:
2882
2883 system-controller@f1000000 { /* Marvell Discovery mv64360 */
2884 #address-cells = <1>;
2885 #size-cells = <1>;
2886 model = "mv64360"; /* Default */
2887 compatible = "marvell,mv64360";
2888 clock-frequency = <133333333>;
2889 reg = <0xf1000000 0x10000>;
2890 virtual-reg = <0xf1000000>;
2891 ranges = <0x88000000 0x88000000 0x1000000 /* PCI 0 I/O Space */
2892 0x80000000 0x80000000 0x8000000 /* PCI 0 MEM Space */
2893 0xa0000000 0xa0000000 0x4000000 /* User FLASH */
2894 0x00000000 0xf1000000 0x0010000 /* Bridge's regs */
2895 0xf2000000 0xf2000000 0x0040000>;/* Integrated SRAM */
2896
2897 [ child node definitions... ]
2898 }
2899
29002) Child nodes of /system-controller
2901
2902 a) Marvell Discovery MDIO bus
2903
2904 The MDIO is a bus to which the PHY devices are connected. For each
2905 device that exists on this bus, a child node should be created. See
2906 the definition of the PHY node below for an example of how to define
2907 a PHY.
2908
2909 Required properties:
2910 - #address-cells : Should be <1>
2911 - #size-cells : Should be <0>
2912 - device_type : Should be "mdio"
2913 - compatible : Should be "marvell,mv64360-mdio"
2914
2915 Example:
2916
2917 mdio {
2918 #address-cells = <1>;
2919 #size-cells = <0>;
2920 device_type = "mdio";
2921 compatible = "marvell,mv64360-mdio";
2922
2923 ethernet-phy@0 {
2924 ......
2925 };
2926 };
2927
2928
2929 b) Marvell Discovery ethernet controller
2930
2931 The Discover ethernet controller is described with two levels
2932 of nodes. The first level describes an ethernet silicon block
2933 and the second level describes up to 3 ethernet nodes within
2934 that block. The reason for the multiple levels is that the
2935 registers for the node are interleaved within a single set
2936 of registers. The "ethernet-block" level describes the
2937 shared register set, and the "ethernet" nodes describe ethernet
2938 port-specific properties.
2939
2940 Ethernet block node
2941
2942 Required properties:
2943 - #address-cells : <1>
2944 - #size-cells : <0>
2945 - compatible : "marvell,mv64360-eth-block"
2946 - reg : Offset and length of the register set for this block
2947
2948 Example Discovery Ethernet block node:
2949 ethernet-block@2000 {
2950 #address-cells = <1>;
2951 #size-cells = <0>;
2952 compatible = "marvell,mv64360-eth-block";
2953 reg = <0x2000 0x2000>;
2954 ethernet@0 {
2955 .......
2956 };
2957 };
2958
2959 Ethernet port node
2960
2961 Required properties:
2962 - device_type : Should be "network".
2963 - compatible : Should be "marvell,mv64360-eth".
2964 - reg : Should be <0>, <1>, or <2>, according to which registers
2965 within the silicon block the device uses.
2966 - interrupts : <a> where a is the interrupt number for the port.
2967 - interrupt-parent : the phandle for the interrupt controller
2968 that services interrupts for this device.
2969 - phy : the phandle for the PHY connected to this ethernet
2970 controller.
2971 - local-mac-address : 6 bytes, MAC address
2972
2973 Example Discovery Ethernet port node:
2974 ethernet@0 {
2975 device_type = "network";
2976 compatible = "marvell,mv64360-eth";
2977 reg = <0>;
2978 interrupts = <32>;
2979 interrupt-parent = <&PIC>;
2980 phy = <&PHY0>;
2981 local-mac-address = [ 00 00 00 00 00 00 ];
2982 };
2983
2984
2985
2986 c) Marvell Discovery PHY nodes
2987
2988 Required properties:
2989 - device_type : Should be "ethernet-phy"
2990 - interrupts : <a> where a is the interrupt number for this phy.
2991 - interrupt-parent : the phandle for the interrupt controller that
2992 services interrupts for this device.
2993 - reg : The ID number for the phy, usually a small integer
2994
2995 Example Discovery PHY node:
2996 ethernet-phy@1 {
2997 device_type = "ethernet-phy";
2998 compatible = "broadcom,bcm5421";
2999 interrupts = <76>; /* GPP 12 */
3000 interrupt-parent = <&PIC>;
3001 reg = <1>;
3002 };
3003
3004
3005 d) Marvell Discovery SDMA nodes
3006
3007 Represent DMA hardware associated with the MPSC (multiprotocol
3008 serial controllers).
3009
3010 Required properties:
3011 - compatible : "marvell,mv64360-sdma"
3012 - reg : Offset and length of the register set for this device
3013 - interrupts : <a> where a is the interrupt number for the DMA
3014 device.
3015 - interrupt-parent : the phandle for the interrupt controller
3016 that services interrupts for this device.
3017
3018 Example Discovery SDMA node:
3019 sdma@4000 {
3020 compatible = "marvell,mv64360-sdma";
3021 reg = <0x4000 0xc18>;
3022 virtual-reg = <0xf1004000>;
3023 interrupts = <36>;
3024 interrupt-parent = <&PIC>;
3025 };
3026
3027
3028 e) Marvell Discovery BRG nodes
3029
3030 Represent baud rate generator hardware associated with the MPSC
3031 (multiprotocol serial controllers).
3032
3033 Required properties:
3034 - compatible : "marvell,mv64360-brg"
3035 - reg : Offset and length of the register set for this device
3036 - clock-src : A value from 0 to 15 which selects the clock
3037 source for the baud rate generator. This value corresponds
3038 to the CLKS value in the BRGx configuration register. See
3039 the mv64x60 User's Manual.
3040 - clock-frequence : The frequency (in Hz) of the baud rate
3041 generator's input clock.
3042 - current-speed : The current speed setting (presumably by
3043 firmware) of the baud rate generator.
3044
3045 Example Discovery BRG node:
3046 brg@b200 {
3047 compatible = "marvell,mv64360-brg";
3048 reg = <0xb200 0x8>;
3049 clock-src = <8>;
3050 clock-frequency = <133333333>;
3051 current-speed = <9600>;
3052 };
3053
3054
3055 f) Marvell Discovery CUNIT nodes
3056
3057 Represent the Serial Communications Unit device hardware.
3058
3059 Required properties:
3060 - reg : Offset and length of the register set for this device
3061
3062 Example Discovery CUNIT node:
3063 cunit@f200 {
3064 reg = <0xf200 0x200>;
3065 };
3066
3067
3068 g) Marvell Discovery MPSCROUTING nodes
3069
3070 Represent the Discovery's MPSC routing hardware
3071
3072 Required properties:
3073 - reg : Offset and length of the register set for this device
3074
3075 Example Discovery CUNIT node:
3076 mpscrouting@b500 {
3077 reg = <0xb400 0xc>;
3078 };
3079
3080
3081 h) Marvell Discovery MPSCINTR nodes
3082
3083 Represent the Discovery's MPSC DMA interrupt hardware registers
3084 (SDMA cause and mask registers).
3085
3086 Required properties:
3087 - reg : Offset and length of the register set for this device
3088
3089 Example Discovery MPSCINTR node:
3090 mpsintr@b800 {
3091 reg = <0xb800 0x100>;
3092 };
3093
3094
3095 i) Marvell Discovery MPSC nodes
3096
3097 Represent the Discovery's MPSC (Multiprotocol Serial Controller)
3098 serial port.
3099
3100 Required properties:
3101 - device_type : "serial"
3102 - compatible : "marvell,mv64360-mpsc"
3103 - reg : Offset and length of the register set for this device
3104 - sdma : the phandle for the SDMA node used by this port
3105 - brg : the phandle for the BRG node used by this port
3106 - cunit : the phandle for the CUNIT node used by this port
3107 - mpscrouting : the phandle for the MPSCROUTING node used by this port
3108 - mpscintr : the phandle for the MPSCINTR node used by this port
3109 - cell-index : the hardware index of this cell in the MPSC core
3110 - max_idle : value needed for MPSC CHR3 (Maximum Frame Length)
3111 register
3112 - interrupts : <a> where a is the interrupt number for the MPSC.
3113 - interrupt-parent : the phandle for the interrupt controller
3114 that services interrupts for this device.
3115
3116 Example Discovery MPSCINTR node:
3117 mpsc@8000 {
3118 device_type = "serial";
3119 compatible = "marvell,mv64360-mpsc";
3120 reg = <0x8000 0x38>;
3121 virtual-reg = <0xf1008000>;
3122 sdma = <&SDMA0>;
3123 brg = <&BRG0>;
3124 cunit = <&CUNIT>;
3125 mpscrouting = <&MPSCROUTING>;
3126 mpscintr = <&MPSCINTR>;
3127 cell-index = <0>;
3128 max_idle = <40>;
3129 interrupts = <40>;
3130 interrupt-parent = <&PIC>;
3131 };
3132
3133
3134 j) Marvell Discovery Watch Dog Timer nodes
3135
3136 Represent the Discovery's watchdog timer hardware
3137
3138 Required properties:
3139 - compatible : "marvell,mv64360-wdt"
3140 - reg : Offset and length of the register set for this device
3141
3142 Example Discovery Watch Dog Timer node:
3143 wdt@b410 {
3144 compatible = "marvell,mv64360-wdt";
3145 reg = <0xb410 0x8>;
3146 };
3147
3148
3149 k) Marvell Discovery I2C nodes
3150
3151 Represent the Discovery's I2C hardware
3152
3153 Required properties:
3154 - device_type : "i2c"
3155 - compatible : "marvell,mv64360-i2c"
3156 - reg : Offset and length of the register set for this device
3157 - interrupts : <a> where a is the interrupt number for the I2C.
3158 - interrupt-parent : the phandle for the interrupt controller
3159 that services interrupts for this device.
3160
3161 Example Discovery I2C node:
3162 compatible = "marvell,mv64360-i2c";
3163 reg = <0xc000 0x20>;
3164 virtual-reg = <0xf100c000>;
3165 interrupts = <37>;
3166 interrupt-parent = <&PIC>;
3167 };
3168
3169
3170 l) Marvell Discovery PIC (Programmable Interrupt Controller) nodes
3171
3172 Represent the Discovery's PIC hardware
3173
3174 Required properties:
3175 - #interrupt-cells : <1>
3176 - #address-cells : <0>
3177 - compatible : "marvell,mv64360-pic"
3178 - reg : Offset and length of the register set for this device
3179 - interrupt-controller
3180
3181 Example Discovery PIC node:
3182 pic {
3183 #interrupt-cells = <1>;
3184 #address-cells = <0>;
3185 compatible = "marvell,mv64360-pic";
3186 reg = <0x0 0x88>;
3187 interrupt-controller;
3188 };
3189
3190
3191 m) Marvell Discovery MPP (Multipurpose Pins) multiplexing nodes
3192
3193 Represent the Discovery's MPP hardware
3194
3195 Required properties:
3196 - compatible : "marvell,mv64360-mpp"
3197 - reg : Offset and length of the register set for this device
3198
3199 Example Discovery MPP node:
3200 mpp@f000 {
3201 compatible = "marvell,mv64360-mpp";
3202 reg = <0xf000 0x10>;
3203 };
3204
3205
3206 n) Marvell Discovery GPP (General Purpose Pins) nodes
3207
3208 Represent the Discovery's GPP hardware
3209
3210 Required properties:
3211 - compatible : "marvell,mv64360-gpp"
3212 - reg : Offset and length of the register set for this device
3213
3214 Example Discovery GPP node:
3215 gpp@f000 {
3216 compatible = "marvell,mv64360-gpp";
3217 reg = <0xf100 0x20>;
3218 };
3219
3220
3221 o) Marvell Discovery PCI host bridge node
3222
3223 Represents the Discovery's PCI host bridge device. The properties
3224 for this node conform to Rev 2.1 of the PCI Bus Binding to IEEE
3225 1275-1994. A typical value for the compatible property is
3226 "marvell,mv64360-pci".
3227
3228 Example Discovery PCI host bridge node
3229 pci@80000000 {
3230 #address-cells = <3>;
3231 #size-cells = <2>;
3232 #interrupt-cells = <1>;
3233 device_type = "pci";
3234 compatible = "marvell,mv64360-pci";
3235 reg = <0xcf8 0x8>;
3236 ranges = <0x01000000 0x0 0x0
3237 0x88000000 0x0 0x01000000
3238 0x02000000 0x0 0x80000000
3239 0x80000000 0x0 0x08000000>;
3240 bus-range = <0 255>;
3241 clock-frequency = <66000000>;
3242 interrupt-parent = <&PIC>;
3243 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
3244 interrupt-map = <
3245 /* IDSEL 0x0a */
3246 0x5000 0 0 1 &PIC 80
3247 0x5000 0 0 2 &PIC 81
3248 0x5000 0 0 3 &PIC 91
3249 0x5000 0 0 4 &PIC 93
3250
3251 /* IDSEL 0x0b */
3252 0x5800 0 0 1 &PIC 91
3253 0x5800 0 0 2 &PIC 93
3254 0x5800 0 0 3 &PIC 80
3255 0x5800 0 0 4 &PIC 81
3256
3257 /* IDSEL 0x0c */
3258 0x6000 0 0 1 &PIC 91
3259 0x6000 0 0 2 &PIC 93
3260 0x6000 0 0 3 &PIC 80
3261 0x6000 0 0 4 &PIC 81
3262
3263 /* IDSEL 0x0d */
3264 0x6800 0 0 1 &PIC 93
3265 0x6800 0 0 2 &PIC 80
3266 0x6800 0 0 3 &PIC 81
3267 0x6800 0 0 4 &PIC 91
3268 >;
3269 };
3270
3271
3272 p) Marvell Discovery CPU Error nodes
3273
3274 Represent the Discovery's CPU error handler device.
3275
3276 Required properties:
3277 - compatible : "marvell,mv64360-cpu-error"
3278 - reg : Offset and length of the register set for this device
3279 - interrupts : the interrupt number for this device
3280 - interrupt-parent : the phandle for the interrupt controller
3281 that services interrupts for this device.
3282
3283 Example Discovery CPU Error node:
3284 cpu-error@0070 {
3285 compatible = "marvell,mv64360-cpu-error";
3286 reg = <0x70 0x10 0x128 0x28>;
3287 interrupts = <3>;
3288 interrupt-parent = <&PIC>;
3289 };
3290
3291
3292 q) Marvell Discovery SRAM Controller nodes
3293
3294 Represent the Discovery's SRAM controller device.
3295
3296 Required properties:
3297 - compatible : "marvell,mv64360-sram-ctrl"
3298 - reg : Offset and length of the register set for this device
3299 - interrupts : the interrupt number for this device
3300 - interrupt-parent : the phandle for the interrupt controller
3301 that services interrupts for this device.
3302
3303 Example Discovery SRAM Controller node:
3304 sram-ctrl@0380 {
3305 compatible = "marvell,mv64360-sram-ctrl";
3306 reg = <0x380 0x80>;
3307 interrupts = <13>;
3308 interrupt-parent = <&PIC>;
3309 };
3310
3311
3312 r) Marvell Discovery PCI Error Handler nodes
3313
3314 Represent the Discovery's PCI error handler device.
3315
3316 Required properties:
3317 - compatible : "marvell,mv64360-pci-error"
3318 - reg : Offset and length of the register set for this device
3319 - interrupts : the interrupt number for this device
3320 - interrupt-parent : the phandle for the interrupt controller
3321 that services interrupts for this device.
3322
3323 Example Discovery PCI Error Handler node:
3324 pci-error@1d40 {
3325 compatible = "marvell,mv64360-pci-error";
3326 reg = <0x1d40 0x40 0xc28 0x4>;
3327 interrupts = <12>;
3328 interrupt-parent = <&PIC>;
3329 };
3330
3331
3332 s) Marvell Discovery Memory Controller nodes
3333
3334 Represent the Discovery's memory controller device.
2821 3335
2822VII - Specifying interrupt information for devices 3336 Required properties:
3337 - compatible : "marvell,mv64360-mem-ctrl"
3338 - reg : Offset and length of the register set for this device
3339 - interrupts : the interrupt number for this device
3340 - interrupt-parent : the phandle for the interrupt controller
3341 that services interrupts for this device.
3342
3343 Example Discovery Memory Controller node:
3344 mem-ctrl@1400 {
3345 compatible = "marvell,mv64360-mem-ctrl";
3346 reg = <0x1400 0x60>;
3347 interrupts = <17>;
3348 interrupt-parent = <&PIC>;
3349 };
3350
3351
3352VIII - Specifying interrupt information for devices
2823=================================================== 3353===================================================
2824 3354
2825The device tree represents the busses and devices of a hardware 3355The device tree represents the busses and devices of a hardware
@@ -2905,6 +3435,54 @@ encodings listed below:
2905 2 = high to low edge sensitive type enabled 3435 2 = high to low edge sensitive type enabled
2906 3 = low to high edge sensitive type enabled 3436 3 = low to high edge sensitive type enabled
2907 3437
3438VIII - Specifying GPIO information for devices
3439==============================================
3440
34411) gpios property
3442-----------------
3443
3444Nodes that makes use of GPIOs should define them using `gpios' property,
3445format of which is: <&gpio-controller1-phandle gpio1-specifier
3446 &gpio-controller2-phandle gpio2-specifier
3447 0 /* holes are permitted, means no GPIO 3 */
3448 &gpio-controller4-phandle gpio4-specifier
3449 ...>;
3450
3451Note that gpio-specifier length is controller dependent.
3452
3453gpio-specifier may encode: bank, pin position inside the bank,
3454whether pin is open-drain and whether pin is logically inverted.
3455
3456Example of the node using GPIOs:
3457
3458 node {
3459 gpios = <&qe_pio_e 18 0>;
3460 };
3461
3462In this example gpio-specifier is "18 0" and encodes GPIO pin number,
3463and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller.
3464
34652) gpio-controller nodes
3466------------------------
3467
3468Every GPIO controller node must have #gpio-cells property defined,
3469this information will be used to translate gpio-specifiers.
3470
3471Example of two SOC GPIO banks defined as gpio-controller nodes:
3472
3473 qe_pio_a: gpio-controller@1400 {
3474 #gpio-cells = <2>;
3475 compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank";
3476 reg = <0x1400 0x18>;
3477 gpio-controller;
3478 };
3479
3480 qe_pio_e: gpio-controller@1460 {
3481 #gpio-cells = <2>;
3482 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank";
3483 reg = <0x1460 0x18>;
3484 gpio-controller;
3485 };
2908 3486
2909Appendix A - Sample SOC node for MPC8540 3487Appendix A - Sample SOC node for MPC8540
2910======================================== 3488========================================
diff --git a/Documentation/powerpc/phyp-assisted-dump.txt b/Documentation/powerpc/phyp-assisted-dump.txt
new file mode 100644
index 00000000000..c4682b982a2
--- /dev/null
+++ b/Documentation/powerpc/phyp-assisted-dump.txt
@@ -0,0 +1,127 @@
1
2 Hypervisor-Assisted Dump
3 ------------------------
4 November 2007
5
6The goal of hypervisor-assisted dump is to enable the dump of
7a crashed system, and to do so from a fully-reset system, and
8to minimize the total elapsed time until the system is back
9in production use.
10
11As compared to kdump or other strategies, hypervisor-assisted
12dump offers several strong, practical advantages:
13
14-- Unlike kdump, the system has been reset, and loaded
15 with a fresh copy of the kernel. In particular,
16 PCI and I/O devices have been reinitialized and are
17 in a clean, consistent state.
18-- As the dump is performed, the dumped memory becomes
19 immediately available to the system for normal use.
20-- After the dump is completed, no further reboots are
21 required; the system will be fully usable, and running
22 in it's normal, production mode on it normal kernel.
23
24The above can only be accomplished by coordination with,
25and assistance from the hypervisor. The procedure is
26as follows:
27
28-- When a system crashes, the hypervisor will save
29 the low 256MB of RAM to a previously registered
30 save region. It will also save system state, system
31 registers, and hardware PTE's.
32
33-- After the low 256MB area has been saved, the
34 hypervisor will reset PCI and other hardware state.
35 It will *not* clear RAM. It will then launch the
36 bootloader, as normal.
37
38-- The freshly booted kernel will notice that there
39 is a new node (ibm,dump-kernel) in the device tree,
40 indicating that there is crash data available from
41 a previous boot. It will boot into only 256MB of RAM,
42 reserving the rest of system memory.
43
44-- Userspace tools will parse /sys/kernel/release_region
45 and read /proc/vmcore to obtain the contents of memory,
46 which holds the previous crashed kernel. The userspace
47 tools may copy this info to disk, or network, nas, san,
48 iscsi, etc. as desired.
49
50 For Example: the values in /sys/kernel/release-region
51 would look something like this (address-range pairs).
52 CPU:0x177fee000-0x10000: HPTE:0x177ffe020-0x1000: /
53 DUMP:0x177fff020-0x10000000, 0x10000000-0x16F1D370A
54
55-- As the userspace tools complete saving a portion of
56 dump, they echo an offset and size to
57 /sys/kernel/release_region to release the reserved
58 memory back to general use.
59
60 An example of this is:
61 "echo 0x40000000 0x10000000 > /sys/kernel/release_region"
62 which will release 256MB at the 1GB boundary.
63
64Please note that the hypervisor-assisted dump feature
65is only available on Power6-based systems with recent
66firmware versions.
67
68Implementation details:
69----------------------
70
71During boot, a check is made to see if firmware supports
72this feature on this particular machine. If it does, then
73we check to see if a active dump is waiting for us. If yes
74then everything but 256 MB of RAM is reserved during early
75boot. This area is released once we collect a dump from user
76land scripts that are run. If there is dump data, then
77the /sys/kernel/release_region file is created, and
78the reserved memory is held.
79
80If there is no waiting dump data, then only the highest
81256MB of the ram is reserved as a scratch area. This area
82is *not* released: this region will be kept permanently
83reserved, so that it can act as a receptacle for a copy
84of the low 256MB in the case a crash does occur. See,
85however, "open issues" below, as to whether
86such a reserved region is really needed.
87
88Currently the dump will be copied from /proc/vmcore to a
89a new file upon user intervention. The starting address
90to be read and the range for each data point in provided
91in /sys/kernel/release_region.
92
93The tools to examine the dump will be same as the ones
94used for kdump.
95
96General notes:
97--------------
98Security: please note that there are potential security issues
99with any sort of dump mechanism. In particular, plaintext
100(unencrypted) data, and possibly passwords, may be present in
101the dump data. Userspace tools must take adequate precautions to
102preserve security.
103
104Open issues/ToDo:
105------------
106 o The various code paths that tell the hypervisor that a crash
107 occurred, vs. it simply being a normal reboot, should be
108 reviewed, and possibly clarified/fixed.
109
110 o Instead of using /sys/kernel, should there be a /sys/dump
111 instead? There is a dump_subsys being created by the s390 code,
112 perhaps the pseries code should use a similar layout as well.
113
114 o Is reserving a 256MB region really required? The goal of
115 reserving a 256MB scratch area is to make sure that no
116 important crash data is clobbered when the hypervisor
117 save low mem to the scratch area. But, if one could assure
118 that nothing important is located in some 256MB area, then
119 it would not need to be reserved. Something that can be
120 improved in subsequent versions.
121
122 o Still working the kdump team to integrate this with kdump,
123 some work remains but this would not affect the current
124 patches.
125
126 o Still need to write a shell script, to copy the dump away.
127 Currently I am parsing it manually.
diff --git a/Documentation/scheduler/00-INDEX b/Documentation/scheduler/00-INDEX
index b5f5ca069b2..fc234d093fb 100644
--- a/Documentation/scheduler/00-INDEX
+++ b/Documentation/scheduler/00-INDEX
@@ -12,5 +12,7 @@ sched-domains.txt
12 - information on scheduling domains. 12 - information on scheduling domains.
13sched-nice-design.txt 13sched-nice-design.txt
14 - How and why the scheduler's nice levels are implemented. 14 - How and why the scheduler's nice levels are implemented.
15sched-rt-group.txt
16 - real-time group scheduling.
15sched-stats.txt 17sched-stats.txt
16 - information on schedstats (Linux Scheduler Statistics). 18 - information on schedstats (Linux Scheduler Statistics).
diff --git a/Documentation/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt
index 1c6332f4543..1c6332f4543 100644
--- a/Documentation/sched-rt-group.txt
+++ b/Documentation/scheduler/sched-rt-group.txt
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary
index 8861e47e5a2..6d5f18143c5 100644
--- a/Documentation/spi/spi-summary
+++ b/Documentation/spi/spi-summary
@@ -116,6 +116,13 @@ low order bit. So when a chip's timing diagram shows the clock
116starting low (CPOL=0) and data stabilized for sampling during the 116starting low (CPOL=0) and data stabilized for sampling during the
117trailing clock edge (CPHA=1), that's SPI mode 1. 117trailing clock edge (CPHA=1), that's SPI mode 1.
118 118
119Note that the clock mode is relevant as soon as the chipselect goes
120active. So the master must set the clock to inactive before selecting
121a slave, and the slave can tell the chosen polarity by sampling the
122clock level when its select line goes active. That's why many devices
123support for example both modes 0 and 3: they don't care about polarity,
124and alway clock data in/out on rising clock edges.
125
119 126
120How do these driver programming interfaces work? 127How do these driver programming interfaces work?
121------------------------------------------------ 128------------------------------------------------
@@ -379,8 +386,14 @@ any more such messages.
379 + when bidirectional reads and writes start ... by how its 386 + when bidirectional reads and writes start ... by how its
380 sequence of spi_transfer requests is arranged; 387 sequence of spi_transfer requests is arranged;
381 388
389 + which I/O buffers are used ... each spi_transfer wraps a
390 buffer for each transfer direction, supporting full duplex
391 (two pointers, maybe the same one in both cases) and half
392 duplex (one pointer is NULL) transfers;
393
382 + optionally defining short delays after transfers ... using 394 + optionally defining short delays after transfers ... using
383 the spi_transfer.delay_usecs setting; 395 the spi_transfer.delay_usecs setting (this delay can be the
396 only protocol effect, if the buffer length is zero);
384 397
385 + whether the chipselect becomes inactive after a transfer and 398 + whether the chipselect becomes inactive after a transfer and
386 any delay ... by using the spi_transfer.cs_change flag; 399 any delay ... by using the spi_transfer.cs_change flag;
diff --git a/Documentation/spinlocks.txt b/Documentation/spinlocks.txt
index 471e7538977..619699dde59 100644
--- a/Documentation/spinlocks.txt
+++ b/Documentation/spinlocks.txt
@@ -5,6 +5,28 @@ Please use DEFINE_SPINLOCK()/DEFINE_RWLOCK() or
5__SPIN_LOCK_UNLOCKED()/__RW_LOCK_UNLOCKED() as appropriate for static 5__SPIN_LOCK_UNLOCKED()/__RW_LOCK_UNLOCKED() as appropriate for static
6initialization. 6initialization.
7 7
8Most of the time, you can simply turn:
9
10 static spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED;
11
12into:
13
14 static DEFINE_SPINLOCK(xxx_lock);
15
16Static structure member variables go from:
17
18 struct foo bar {
19 .lock = SPIN_LOCK_UNLOCKED;
20 };
21
22to:
23
24 struct foo bar {
25 .lock = __SPIN_LOCK_UNLOCKED(bar.lock);
26 };
27
28Declaration of static rw_locks undergo a similar transformation.
29
8Dynamic initialization, when necessary, may be performed as 30Dynamic initialization, when necessary, may be performed as
9demonstrated below. 31demonstrated below.
10 32
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 73883b8bbd7..90dcbbcad91 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
@@ -2110,7 +2116,7 @@ M: reinette.chatre@intel.com
2110L: linux-wireless@vger.kernel.org 2116L: linux-wireless@vger.kernel.org
2111L: ipw3945-devel@lists.sourceforge.net 2117L: ipw3945-devel@lists.sourceforge.net
2112W: http://intellinuxwireless.org 2118W: http://intellinuxwireless.org
2113T: git git://intellinuxwireless.org/repos/iwlwifi 2119T: git git://git.kernel.org/pub/scm/linux/kernel/git/rchatre/iwlwifi-2.6.git
2114S: Supported 2120S: Supported
2115 2121
2116IOC3 ETHERNET DRIVER 2122IOC3 ETHERNET DRIVER
@@ -2314,14 +2320,14 @@ L: kexec@lists.infradead.org
2314S: Maintained 2320S: Maintained
2315 2321
2316KPROBES 2322KPROBES
2317P: Prasanna S Panchamukhi
2318M: prasanna@in.ibm.com
2319P: Ananth N Mavinakayanahalli 2323P: Ananth N Mavinakayanahalli
2320M: ananth@in.ibm.com 2324M: ananth@in.ibm.com
2321P: Anil S Keshavamurthy 2325P: Anil S Keshavamurthy
2322M: anil.s.keshavamurthy@intel.com 2326M: anil.s.keshavamurthy@intel.com
2323P: David S. Miller 2327P: David S. Miller
2324M: davem@davemloft.net 2328M: davem@davemloft.net
2329P: Masami Hiramatsu
2330M: mhiramat@redhat.com
2325L: linux-kernel@vger.kernel.org 2331L: linux-kernel@vger.kernel.org
2326S: Maintained 2332S: Maintained
2327 2333
diff --git a/Makefile b/Makefile
index 7a4d34b91e0..21c76f715bf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 25 3SUBLEVEL = 25
4EXTRAVERSION = -rc6 4EXTRAVERSION = -rc9
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/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/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/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/frv/kernel/entry-table.S b/arch/frv/kernel/entry-table.S
index d3b9253d862..bf35f33e48c 100644
--- a/arch/frv/kernel/entry-table.S
+++ b/arch/frv/kernel/entry-table.S
@@ -316,8 +316,14 @@ __trap_fixup_kernel_data_tlb_miss:
316 .section .trap.vector 316 .section .trap.vector
317 .org TBR_TT_TRAP0 >> 2 317 .org TBR_TT_TRAP0 >> 2
318 .long system_call 318 .long system_call
319 .rept 126 319 .rept 119
320 .long __entry_unsupported_trap 320 .long __entry_unsupported_trap
321 .endr 321 .endr
322
323 # userspace atomic op emulation, traps 120-126
324 .rept 7
325 .long __entry_atomic_op
326 .endr
327
322 .org TBR_TT_BREAK >> 2 328 .org TBR_TT_BREAK >> 2
323 .long __entry_debug_exception 329 .long __entry_debug_exception
diff --git a/arch/frv/kernel/entry.S b/arch/frv/kernel/entry.S
index f36d7f4a7c2..b8a4b94779b 100644
--- a/arch/frv/kernel/entry.S
+++ b/arch/frv/kernel/entry.S
@@ -656,6 +656,26 @@ __entry_debug_exception:
656 656
657############################################################################### 657###############################################################################
658# 658#
659# handle atomic operation emulation for userspace
660#
661###############################################################################
662 .globl __entry_atomic_op
663__entry_atomic_op:
664 LEDS 0x6012
665 sethi.p %hi(atomic_operation),gr5
666 setlo %lo(atomic_operation),gr5
667 movsg esfr1,gr8
668 movsg epcr0,gr9
669 movsg esr0,gr10
670
671 # now that we've accessed the exception regs, we can enable exceptions
672 movsg psr,gr4
673 ori gr4,#PSR_ET,gr4
674 movgs gr4,psr
675 jmpl @(gr5,gr0) ; call atomic_operation(esfr1,epcr0,esr0)
676
677###############################################################################
678#
659# handle media exception 679# handle media exception
660# 680#
661############################################################################### 681###############################################################################
diff --git a/arch/frv/kernel/head.inc b/arch/frv/kernel/head.inc
index d424cd2eb21..bff66628b99 100644
--- a/arch/frv/kernel/head.inc
+++ b/arch/frv/kernel/head.inc
@@ -46,5 +46,5 @@
46#ifdef CONFIG_MMU 46#ifdef CONFIG_MMU
47__sdram_base = 0x00000000 /* base address to which SDRAM relocated */ 47__sdram_base = 0x00000000 /* base address to which SDRAM relocated */
48#else 48#else
49__sdram_base = 0xc0000000 /* base address to which SDRAM relocated */ 49__sdram_base = __page_offset /* base address to which SDRAM relocated */
50#endif 50#endif
diff --git a/arch/frv/kernel/switch_to.S b/arch/frv/kernel/switch_to.S
index b5275fa9cd0..b06668670fc 100644
--- a/arch/frv/kernel/switch_to.S
+++ b/arch/frv/kernel/switch_to.S
@@ -102,13 +102,6 @@ __switch_to:
102 movgs gr14,lr 102 movgs gr14,lr
103 bar 103 bar
104 104
105 srli gr15,#28,gr5
106 subicc gr5,#0xc,gr0,icc0
107 beq icc0,#0,111f
108 break
109 nop
110111:
111
112 # jump to __switch_back or ret_from_fork as appropriate 105 # jump to __switch_back or ret_from_fork as appropriate
113 # - move prev to GR8 106 # - move prev to GR8
114 movgs gr4,psr 107 movgs gr4,psr
diff --git a/arch/frv/kernel/traps.c b/arch/frv/kernel/traps.c
index 2e6098c8557..2f7e66877f3 100644
--- a/arch/frv/kernel/traps.c
+++ b/arch/frv/kernel/traps.c
@@ -102,6 +102,233 @@ asmlinkage void illegal_instruction(unsigned long esfr1, unsigned long epcr0, un
102 102
103/*****************************************************************************/ 103/*****************************************************************************/
104/* 104/*
105 * handle atomic operations with errors
106 * - arguments in gr8, gr9, gr10
107 * - original memory value placed in gr5
108 * - replacement memory value placed in gr9
109 */
110asmlinkage void atomic_operation(unsigned long esfr1, unsigned long epcr0,
111 unsigned long esr0)
112{
113 static DEFINE_SPINLOCK(atomic_op_lock);
114 unsigned long x, y, z, *p;
115 mm_segment_t oldfs;
116 siginfo_t info;
117 int ret;
118
119 y = 0;
120 z = 0;
121
122 oldfs = get_fs();
123 if (!user_mode(__frame))
124 set_fs(KERNEL_DS);
125
126 switch (__frame->tbr & TBR_TT) {
127 /* TIRA gr0,#120
128 * u32 __atomic_user_cmpxchg32(u32 *ptr, u32 test, u32 new)
129 */
130 case TBR_TT_ATOMIC_CMPXCHG32:
131 p = (unsigned long *) __frame->gr8;
132 x = __frame->gr9;
133 y = __frame->gr10;
134
135 for (;;) {
136 ret = get_user(z, p);
137 if (ret < 0)
138 goto error;
139
140 if (z != x)
141 goto done;
142
143 spin_lock_irq(&atomic_op_lock);
144
145 if (__get_user(z, p) == 0) {
146 if (z != x)
147 goto done2;
148
149 if (__put_user(y, p) == 0)
150 goto done2;
151 goto error2;
152 }
153
154 spin_unlock_irq(&atomic_op_lock);
155 }
156
157 /* TIRA gr0,#121
158 * u32 __atomic_kernel_xchg32(void *v, u32 new)
159 */
160 case TBR_TT_ATOMIC_XCHG32:
161 p = (unsigned long *) __frame->gr8;
162 y = __frame->gr9;
163
164 for (;;) {
165 ret = get_user(z, p);
166 if (ret < 0)
167 goto error;
168
169 spin_lock_irq(&atomic_op_lock);
170
171 if (__get_user(z, p) == 0) {
172 if (__put_user(y, p) == 0)
173 goto done2;
174 goto error2;
175 }
176
177 spin_unlock_irq(&atomic_op_lock);
178 }
179
180 /* TIRA gr0,#122
181 * ulong __atomic_kernel_XOR_return(ulong i, ulong *v)
182 */
183 case TBR_TT_ATOMIC_XOR:
184 p = (unsigned long *) __frame->gr8;
185 x = __frame->gr9;
186
187 for (;;) {
188 ret = get_user(z, p);
189 if (ret < 0)
190 goto error;
191
192 spin_lock_irq(&atomic_op_lock);
193
194 if (__get_user(z, p) == 0) {
195 y = x ^ z;
196 if (__put_user(y, p) == 0)
197 goto done2;
198 goto error2;
199 }
200
201 spin_unlock_irq(&atomic_op_lock);
202 }
203
204 /* TIRA gr0,#123
205 * ulong __atomic_kernel_OR_return(ulong i, ulong *v)
206 */
207 case TBR_TT_ATOMIC_OR:
208 p = (unsigned long *) __frame->gr8;
209 x = __frame->gr9;
210
211 for (;;) {
212 ret = get_user(z, p);
213 if (ret < 0)
214 goto error;
215
216 spin_lock_irq(&atomic_op_lock);
217
218 if (__get_user(z, p) == 0) {
219 y = x ^ z;
220 if (__put_user(y, p) == 0)
221 goto done2;
222 goto error2;
223 }
224
225 spin_unlock_irq(&atomic_op_lock);
226 }
227
228 /* TIRA gr0,#124
229 * ulong __atomic_kernel_AND_return(ulong i, ulong *v)
230 */
231 case TBR_TT_ATOMIC_AND:
232 p = (unsigned long *) __frame->gr8;
233 x = __frame->gr9;
234
235 for (;;) {
236 ret = get_user(z, p);
237 if (ret < 0)
238 goto error;
239
240 spin_lock_irq(&atomic_op_lock);
241
242 if (__get_user(z, p) == 0) {
243 y = x & z;
244 if (__put_user(y, p) == 0)
245 goto done2;
246 goto error2;
247 }
248
249 spin_unlock_irq(&atomic_op_lock);
250 }
251
252 /* TIRA gr0,#125
253 * int __atomic_user_sub_return(atomic_t *v, int i)
254 */
255 case TBR_TT_ATOMIC_SUB:
256 p = (unsigned long *) __frame->gr8;
257 x = __frame->gr9;
258
259 for (;;) {
260 ret = get_user(z, p);
261 if (ret < 0)
262 goto error;
263
264 spin_lock_irq(&atomic_op_lock);
265
266 if (__get_user(z, p) == 0) {
267 y = z - x;
268 if (__put_user(y, p) == 0)
269 goto done2;
270 goto error2;
271 }
272
273 spin_unlock_irq(&atomic_op_lock);
274 }
275
276 /* TIRA gr0,#126
277 * int __atomic_user_add_return(atomic_t *v, int i)
278 */
279 case TBR_TT_ATOMIC_ADD:
280 p = (unsigned long *) __frame->gr8;
281 x = __frame->gr9;
282
283 for (;;) {
284 ret = get_user(z, p);
285 if (ret < 0)
286 goto error;
287
288 spin_lock_irq(&atomic_op_lock);
289
290 if (__get_user(z, p) == 0) {
291 y = z + x;
292 if (__put_user(y, p) == 0)
293 goto done2;
294 goto error2;
295 }
296
297 spin_unlock_irq(&atomic_op_lock);
298 }
299
300 default:
301 BUG();
302 }
303
304done2:
305 spin_unlock_irq(&atomic_op_lock);
306done:
307 if (!user_mode(__frame))
308 set_fs(oldfs);
309 __frame->gr5 = z;
310 __frame->gr9 = y;
311 return;
312
313error2:
314 spin_unlock_irq(&atomic_op_lock);
315error:
316 if (!user_mode(__frame))
317 set_fs(oldfs);
318 __frame->pc -= 4;
319
320 die_if_kernel("-- Atomic Op Error --\n");
321
322 info.si_signo = SIGSEGV;
323 info.si_code = SEGV_ACCERR;
324 info.si_errno = 0;
325 info.si_addr = (void *) __frame->pc;
326
327 force_sig_info(info.si_signo, &info, current);
328}
329
330/*****************************************************************************/
331/*
105 * 332 *
106 */ 333 */
107asmlinkage void media_exception(unsigned long msr0, unsigned long msr1) 334asmlinkage void media_exception(unsigned long msr0, unsigned long msr1)
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
index 2cba605cb59..b15173f28a2 100644
--- a/arch/m68k/Makefile
+++ b/arch/m68k/Makefile
@@ -13,6 +13,8 @@
13# Copyright (C) 1994 by Hamish Macdonald 13# Copyright (C) 1994 by Hamish Macdonald
14# 14#
15 15
16KBUILD_DEFCONFIG := amiga_defconfig
17
16# override top level makefile 18# override top level makefile
17AS += -m68020 19AS += -m68020
18LDFLAGS := -m m68kelf 20LDFLAGS := -m m68kelf
diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig
index 5649fbae430..e4195837136 100644
--- a/arch/m68k/configs/amiga_defconfig
+++ b/arch/m68k/configs/amiga_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:23 2005 4# Wed Apr 2 20:46:06 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-amiga" 27CONFIG_LOCALVERSION="-amiga"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -80,10 +128,24 @@ CONFIG_M68030=y
80CONFIG_M68040=y 128CONFIG_M68040=y
81CONFIG_M68060=y 129CONFIG_M68060=y
82CONFIG_MMU_MOTOROLA=y 130CONFIG_MMU_MOTOROLA=y
83CONFIG_M68KFPU_EMU=y 131# CONFIG_M68KFPU_EMU is not set
84CONFIG_M68KFPU_EMU_EXTRAPREC=y
85# CONFIG_M68KFPU_EMU_ONLY is not set
86# CONFIG_ADVANCED is not set 132# CONFIG_ADVANCED is not set
133CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
134CONFIG_NODES_SHIFT=3
135CONFIG_SELECT_MEMORY_MODEL=y
136# CONFIG_FLATMEM_MANUAL is not set
137CONFIG_DISCONTIGMEM_MANUAL=y
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_DISCONTIGMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141CONFIG_NEED_MULTIPLE_NODES=y
142# CONFIG_SPARSEMEM_STATIC is not set
143# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
146CONFIG_ZONE_DMA_FLAG=1
147CONFIG_BOUNCE=y
148CONFIG_VIRT_TO_BUS=y
87 149
88# 150#
89# General setup 151# General setup
@@ -97,47 +159,288 @@ CONFIG_AMIGA_PCMCIA=y
97CONFIG_PROC_HARDWARE=y 159CONFIG_PROC_HARDWARE=y
98CONFIG_ISA=y 160CONFIG_ISA=y
99CONFIG_GENERIC_ISA_DMA=y 161CONFIG_GENERIC_ISA_DMA=y
162CONFIG_ZONE_DMA=y
163# CONFIG_ARCH_SUPPORTS_MSI is not set
100CONFIG_ZORRO_NAMES=y 164CONFIG_ZORRO_NAMES=y
101 165
102# 166#
103# Device Drivers 167# Networking
104# 168#
169CONFIG_NET=y
105 170
106# 171#
107# Generic Driver Options 172# Networking options
108# 173#
109CONFIG_STANDALONE=y 174CONFIG_PACKET=y
110CONFIG_PREVENT_FIRMWARE_BUILD=y 175# CONFIG_PACKET_MMAP is not set
111CONFIG_FW_LOADER=m 176CONFIG_UNIX=y
112# CONFIG_DEBUG_DRIVER is not set 177CONFIG_XFRM=y
178# CONFIG_XFRM_USER is not set
179# CONFIG_XFRM_SUB_POLICY is not set
180CONFIG_XFRM_MIGRATE=y
181# CONFIG_XFRM_STATISTICS is not set
182CONFIG_NET_KEY=y
183CONFIG_NET_KEY_MIGRATE=y
184CONFIG_INET=y
185# CONFIG_IP_MULTICAST is not set
186# CONFIG_IP_ADVANCED_ROUTER is not set
187CONFIG_IP_FIB_HASH=y
188# CONFIG_IP_PNP is not set
189CONFIG_NET_IPIP=m
190CONFIG_NET_IPGRE=m
191# CONFIG_ARPD is not set
192CONFIG_SYN_COOKIES=y
193CONFIG_INET_AH=m
194CONFIG_INET_ESP=m
195CONFIG_INET_IPCOMP=m
196CONFIG_INET_XFRM_TUNNEL=m
197CONFIG_INET_TUNNEL=m
198CONFIG_INET_XFRM_MODE_TRANSPORT=m
199CONFIG_INET_XFRM_MODE_TUNNEL=m
200CONFIG_INET_XFRM_MODE_BEET=m
201CONFIG_INET_LRO=m
202CONFIG_INET_DIAG=m
203CONFIG_INET_TCP_DIAG=m
204# CONFIG_TCP_CONG_ADVANCED is not set
205CONFIG_TCP_CONG_CUBIC=y
206CONFIG_DEFAULT_TCP_CONG="cubic"
207# CONFIG_TCP_MD5SIG is not set
208# CONFIG_IP_VS is not set
209CONFIG_IPV6=m
210CONFIG_IPV6_PRIVACY=y
211CONFIG_IPV6_ROUTER_PREF=y
212CONFIG_IPV6_ROUTE_INFO=y
213# CONFIG_IPV6_OPTIMISTIC_DAD is not set
214CONFIG_INET6_AH=m
215CONFIG_INET6_ESP=m
216CONFIG_INET6_IPCOMP=m
217# CONFIG_IPV6_MIP6 is not set
218CONFIG_INET6_XFRM_TUNNEL=m
219CONFIG_INET6_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_TRANSPORT=m
221CONFIG_INET6_XFRM_MODE_TUNNEL=m
222CONFIG_INET6_XFRM_MODE_BEET=m
223CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
224CONFIG_IPV6_SIT=m
225CONFIG_IPV6_TUNNEL=m
226# CONFIG_IPV6_MULTIPLE_TABLES is not set
227# CONFIG_NETWORK_SECMARK is not set
228CONFIG_NETFILTER=y
229# CONFIG_NETFILTER_DEBUG is not set
230CONFIG_NETFILTER_ADVANCED=y
231
232#
233# Core Netfilter Configuration
234#
235CONFIG_NETFILTER_NETLINK=m
236CONFIG_NETFILTER_NETLINK_QUEUE=m
237CONFIG_NETFILTER_NETLINK_LOG=m
238CONFIG_NF_CONNTRACK=m
239CONFIG_NF_CT_ACCT=y
240CONFIG_NF_CONNTRACK_MARK=y
241# CONFIG_NF_CONNTRACK_EVENTS is not set
242CONFIG_NF_CT_PROTO_GRE=m
243CONFIG_NF_CT_PROTO_SCTP=m
244CONFIG_NF_CT_PROTO_UDPLITE=m
245CONFIG_NF_CONNTRACK_AMANDA=m
246CONFIG_NF_CONNTRACK_FTP=m
247CONFIG_NF_CONNTRACK_H323=m
248CONFIG_NF_CONNTRACK_IRC=m
249CONFIG_NF_CONNTRACK_NETBIOS_NS=m
250CONFIG_NF_CONNTRACK_PPTP=m
251CONFIG_NF_CONNTRACK_SANE=m
252CONFIG_NF_CONNTRACK_SIP=m
253CONFIG_NF_CONNTRACK_TFTP=m
254# CONFIG_NF_CT_NETLINK is not set
255CONFIG_NETFILTER_XTABLES=m
256CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
257CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
258CONFIG_NETFILTER_XT_TARGET_DSCP=m
259CONFIG_NETFILTER_XT_TARGET_MARK=m
260CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
261CONFIG_NETFILTER_XT_TARGET_NFLOG=m
262CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
263CONFIG_NETFILTER_XT_TARGET_RATEEST=m
264CONFIG_NETFILTER_XT_TARGET_TRACE=m
265CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
266CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
267CONFIG_NETFILTER_XT_MATCH_COMMENT=m
268CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
269CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
270CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
271CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
272CONFIG_NETFILTER_XT_MATCH_DCCP=m
273CONFIG_NETFILTER_XT_MATCH_DSCP=m
274CONFIG_NETFILTER_XT_MATCH_ESP=m
275CONFIG_NETFILTER_XT_MATCH_HELPER=m
276CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
277CONFIG_NETFILTER_XT_MATCH_LENGTH=m
278CONFIG_NETFILTER_XT_MATCH_LIMIT=m
279CONFIG_NETFILTER_XT_MATCH_MAC=m
280CONFIG_NETFILTER_XT_MATCH_MARK=m
281CONFIG_NETFILTER_XT_MATCH_OWNER=m
282CONFIG_NETFILTER_XT_MATCH_POLICY=m
283CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
284CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
285CONFIG_NETFILTER_XT_MATCH_QUOTA=m
286CONFIG_NETFILTER_XT_MATCH_RATEEST=m
287CONFIG_NETFILTER_XT_MATCH_REALM=m
288CONFIG_NETFILTER_XT_MATCH_SCTP=m
289CONFIG_NETFILTER_XT_MATCH_STATE=m
290CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
291CONFIG_NETFILTER_XT_MATCH_STRING=m
292CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
293CONFIG_NETFILTER_XT_MATCH_TIME=m
294CONFIG_NETFILTER_XT_MATCH_U32=m
295CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
113 296
114# 297#
115# Memory Technology Devices (MTD) 298# IP: Netfilter Configuration
116# 299#
117# CONFIG_MTD is not set 300CONFIG_NF_CONNTRACK_IPV4=m
301CONFIG_NF_CONNTRACK_PROC_COMPAT=y
302CONFIG_IP_NF_QUEUE=m
303CONFIG_IP_NF_IPTABLES=m
304CONFIG_IP_NF_MATCH_RECENT=m
305CONFIG_IP_NF_MATCH_ECN=m
306CONFIG_IP_NF_MATCH_AH=m
307CONFIG_IP_NF_MATCH_TTL=m
308CONFIG_IP_NF_MATCH_ADDRTYPE=m
309CONFIG_IP_NF_FILTER=m
310CONFIG_IP_NF_TARGET_REJECT=m
311CONFIG_IP_NF_TARGET_LOG=m
312CONFIG_IP_NF_TARGET_ULOG=m
313CONFIG_NF_NAT=m
314CONFIG_NF_NAT_NEEDED=y
315CONFIG_IP_NF_TARGET_MASQUERADE=m
316CONFIG_IP_NF_TARGET_REDIRECT=m
317CONFIG_IP_NF_TARGET_NETMAP=m
318CONFIG_NF_NAT_SNMP_BASIC=m
319CONFIG_NF_NAT_PROTO_GRE=m
320CONFIG_NF_NAT_FTP=m
321CONFIG_NF_NAT_IRC=m
322CONFIG_NF_NAT_TFTP=m
323CONFIG_NF_NAT_AMANDA=m
324CONFIG_NF_NAT_PPTP=m
325CONFIG_NF_NAT_H323=m
326CONFIG_NF_NAT_SIP=m
327CONFIG_IP_NF_MANGLE=m
328CONFIG_IP_NF_TARGET_ECN=m
329CONFIG_IP_NF_TARGET_TTL=m
330CONFIG_IP_NF_TARGET_CLUSTERIP=m
331CONFIG_IP_NF_RAW=m
332CONFIG_IP_NF_ARPTABLES=m
333CONFIG_IP_NF_ARPFILTER=m
334CONFIG_IP_NF_ARP_MANGLE=m
335
336#
337# IPv6: Netfilter Configuration
338#
339CONFIG_NF_CONNTRACK_IPV6=m
340CONFIG_IP6_NF_QUEUE=m
341CONFIG_IP6_NF_IPTABLES=m
342CONFIG_IP6_NF_MATCH_RT=m
343CONFIG_IP6_NF_MATCH_OPTS=m
344CONFIG_IP6_NF_MATCH_FRAG=m
345CONFIG_IP6_NF_MATCH_HL=m
346CONFIG_IP6_NF_MATCH_IPV6HEADER=m
347CONFIG_IP6_NF_MATCH_AH=m
348CONFIG_IP6_NF_MATCH_MH=m
349CONFIG_IP6_NF_MATCH_EUI64=m
350CONFIG_IP6_NF_FILTER=m
351CONFIG_IP6_NF_TARGET_LOG=m
352CONFIG_IP6_NF_TARGET_REJECT=m
353CONFIG_IP6_NF_MANGLE=m
354CONFIG_IP6_NF_TARGET_HL=m
355CONFIG_IP6_NF_RAW=m
356CONFIG_IP_DCCP=m
357CONFIG_INET_DCCP_DIAG=m
358CONFIG_IP_DCCP_ACKVEC=y
359
360#
361# DCCP CCIDs Configuration (EXPERIMENTAL)
362#
363CONFIG_IP_DCCP_CCID2=m
364# CONFIG_IP_DCCP_CCID2_DEBUG is not set
365CONFIG_IP_DCCP_CCID3=m
366# CONFIG_IP_DCCP_CCID3_DEBUG is not set
367CONFIG_IP_DCCP_CCID3_RTO=100
368CONFIG_IP_DCCP_TFRC_LIB=m
369CONFIG_IP_SCTP=m
370# CONFIG_SCTP_DBG_MSG is not set
371# CONFIG_SCTP_DBG_OBJCNT is not set
372# CONFIG_SCTP_HMAC_NONE is not set
373# CONFIG_SCTP_HMAC_SHA1 is not set
374CONFIG_SCTP_HMAC_MD5=y
375# CONFIG_TIPC is not set
376# CONFIG_ATM is not set
377# CONFIG_BRIDGE is not set
378# CONFIG_VLAN_8021Q is not set
379# CONFIG_DECNET is not set
380CONFIG_LLC=m
381# CONFIG_LLC2 is not set
382# CONFIG_IPX is not set
383CONFIG_ATALK=m
384# CONFIG_DEV_APPLETALK is not set
385# CONFIG_X25 is not set
386# CONFIG_LAPB is not set
387# CONFIG_ECONET is not set
388# CONFIG_WAN_ROUTER is not set
389# CONFIG_NET_SCHED is not set
390CONFIG_NET_CLS_ROUTE=y
118 391
119# 392#
120# Parallel port support 393# Network testing
121# 394#
395# CONFIG_NET_PKTGEN is not set
396# CONFIG_HAMRADIO is not set
397# CONFIG_CAN is not set
398# CONFIG_IRDA is not set
399# CONFIG_BT is not set
400# CONFIG_AF_RXRPC is not set
401
402#
403# Wireless
404#
405# CONFIG_CFG80211 is not set
406CONFIG_WIRELESS_EXT=y
407# CONFIG_MAC80211 is not set
408CONFIG_IEEE80211=m
409# CONFIG_IEEE80211_DEBUG is not set
410CONFIG_IEEE80211_CRYPT_WEP=m
411CONFIG_IEEE80211_CRYPT_CCMP=m
412CONFIG_IEEE80211_CRYPT_TKIP=m
413CONFIG_IEEE80211_SOFTMAC=m
414# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
415# CONFIG_RFKILL is not set
416# CONFIG_NET_9P is not set
417
418#
419# Device Drivers
420#
421
422#
423# Generic Driver Options
424#
425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430CONFIG_CONNECTOR=m
431# CONFIG_MTD is not set
122CONFIG_PARPORT=m 432CONFIG_PARPORT=m
123# CONFIG_PARPORT_PC is not set 433# CONFIG_PARPORT_PC is not set
124CONFIG_PARPORT_NOT_PC=y
125CONFIG_PARPORT_AMIGA=m 434CONFIG_PARPORT_AMIGA=m
126CONFIG_PARPORT_MFC3=m 435CONFIG_PARPORT_MFC3=m
127# CONFIG_PARPORT_GSC is not set 436# CONFIG_PARPORT_GSC is not set
437# CONFIG_PARPORT_AX88796 is not set
128CONFIG_PARPORT_1284=y 438CONFIG_PARPORT_1284=y
129 439CONFIG_PARPORT_NOT_PC=y
130#
131# Plug and Play support
132#
133# CONFIG_PNP is not set 440# CONFIG_PNP is not set
134 441CONFIG_BLK_DEV=y
135#
136# Block devices
137#
138CONFIG_AMIGA_FLOPPY=y 442CONFIG_AMIGA_FLOPPY=y
139CONFIG_AMIGA_Z2RAM=y 443CONFIG_AMIGA_Z2RAM=y
140# CONFIG_PARIDE is not set
141# CONFIG_BLK_DEV_COW_COMMON is not set 444# CONFIG_BLK_DEV_COW_COMMON is not set
142CONFIG_BLK_DEV_LOOP=y 445CONFIG_BLK_DEV_LOOP=y
143CONFIG_BLK_DEV_CRYPTOLOOP=m 446CONFIG_BLK_DEV_CRYPTOLOOP=m
@@ -145,56 +448,66 @@ CONFIG_BLK_DEV_NBD=m
145CONFIG_BLK_DEV_RAM=y 448CONFIG_BLK_DEV_RAM=y
146CONFIG_BLK_DEV_RAM_COUNT=16 449CONFIG_BLK_DEV_RAM_COUNT=16
147CONFIG_BLK_DEV_RAM_SIZE=4096 450CONFIG_BLK_DEV_RAM_SIZE=4096
148CONFIG_BLK_DEV_INITRD=y 451# CONFIG_BLK_DEV_XIP is not set
149CONFIG_INITRAMFS_SOURCE=""
150CONFIG_CDROM_PKTCDVD=m 452CONFIG_CDROM_PKTCDVD=m
151CONFIG_CDROM_PKTCDVD_BUFFERS=8 453CONFIG_CDROM_PKTCDVD_BUFFERS=8
152# CONFIG_CDROM_PKTCDVD_WCACHE is not set 454# CONFIG_CDROM_PKTCDVD_WCACHE is not set
153
154#
155# IO Schedulers
156#
157CONFIG_IOSCHED_NOOP=y
158CONFIG_IOSCHED_AS=y
159CONFIG_IOSCHED_DEADLINE=y
160CONFIG_IOSCHED_CFQ=y
161CONFIG_ATA_OVER_ETH=m 455CONFIG_ATA_OVER_ETH=m
162 456CONFIG_MISC_DEVICES=y
163# 457# CONFIG_EEPROM_93CX6 is not set
164# ATA/ATAPI/MFM/RLL support 458# CONFIG_ENCLOSURE_SERVICES is not set
165# 459CONFIG_HAVE_IDE=y
166CONFIG_IDE=y 460CONFIG_IDE=y
167CONFIG_BLK_DEV_IDE=y 461CONFIG_BLK_DEV_IDE=y
168 462
169# 463#
170# Please see Documentation/ide.txt for help/info on IDE drives 464# Please see Documentation/ide/ide.txt for help/info on IDE drives
171# 465#
172# CONFIG_BLK_DEV_IDE_SATA is not set 466# CONFIG_BLK_DEV_IDE_SATA is not set
173CONFIG_BLK_DEV_IDEDISK=y 467CONFIG_BLK_DEV_IDEDISK=y
174# CONFIG_IDEDISK_MULTI_MODE is not set 468# CONFIG_IDEDISK_MULTI_MODE is not set
175CONFIG_BLK_DEV_IDECD=y 469CONFIG_BLK_DEV_IDECD=y
176CONFIG_BLK_DEV_IDETAPE=m 470CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
471# CONFIG_BLK_DEV_IDETAPE is not set
177CONFIG_BLK_DEV_IDEFLOPPY=m 472CONFIG_BLK_DEV_IDEFLOPPY=m
178# CONFIG_BLK_DEV_IDESCSI is not set 473# CONFIG_BLK_DEV_IDESCSI is not set
179# CONFIG_IDE_TASK_IOCTL is not set 474# CONFIG_IDE_TASK_IOCTL is not set
475CONFIG_IDE_PROC_FS=y
180 476
181# 477#
182# IDE chipset support/bugfixes 478# IDE chipset support/bugfixes
183# 479#
184CONFIG_IDE_GENERIC=y 480# CONFIG_IDE_GENERIC is not set
185# CONFIG_IDE_ARM is not set 481# CONFIG_BLK_DEV_PLATFORM is not set
186CONFIG_BLK_DEV_GAYLE=y 482CONFIG_BLK_DEV_GAYLE=y
187CONFIG_BLK_DEV_IDEDOUBLER=y 483CONFIG_BLK_DEV_IDEDOUBLER=y
188CONFIG_BLK_DEV_BUDDHA=y 484CONFIG_BLK_DEV_BUDDHA=y
189# CONFIG_IDE_CHIPSETS is not set 485
486#
487# Other IDE chipsets support
488#
489
490#
491# Note: most of these also require special kernel boot parameters
492#
493# CONFIG_BLK_DEV_4DRIVES is not set
494# CONFIG_BLK_DEV_ALI14XX is not set
495# CONFIG_BLK_DEV_DTC2278 is not set
496# CONFIG_BLK_DEV_HT6560B is not set
497# CONFIG_BLK_DEV_QD65XX is not set
498# CONFIG_BLK_DEV_UMC8672 is not set
190# CONFIG_BLK_DEV_IDEDMA is not set 499# CONFIG_BLK_DEV_IDEDMA is not set
191# CONFIG_IDEDMA_AUTO is not set 500# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
192# CONFIG_BLK_DEV_HD is not set 501# CONFIG_BLK_DEV_HD is not set
193 502
194# 503#
195# SCSI device support 504# SCSI device support
196# 505#
506CONFIG_RAID_ATTRS=m
197CONFIG_SCSI=y 507CONFIG_SCSI=y
508CONFIG_SCSI_DMA=y
509CONFIG_SCSI_TGT=m
510# CONFIG_SCSI_NETLINK is not set
198CONFIG_SCSI_PROC_FS=y 511CONFIG_SCSI_PROC_FS=y
199 512
200# 513#
@@ -206,6 +519,7 @@ CONFIG_CHR_DEV_OSST=m
206CONFIG_BLK_DEV_SR=y 519CONFIG_BLK_DEV_SR=y
207CONFIG_BLK_DEV_SR_VENDOR=y 520CONFIG_BLK_DEV_SR_VENDOR=y
208CONFIG_CHR_DEV_SG=m 521CONFIG_CHR_DEV_SG=m
522# CONFIG_CHR_DEV_SCH is not set
209 523
210# 524#
211# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 525# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -213,30 +527,34 @@ CONFIG_CHR_DEV_SG=m
213# CONFIG_SCSI_MULTI_LUN is not set 527# CONFIG_SCSI_MULTI_LUN is not set
214CONFIG_SCSI_CONSTANTS=y 528CONFIG_SCSI_CONSTANTS=y
215# CONFIG_SCSI_LOGGING is not set 529# CONFIG_SCSI_LOGGING is not set
530# CONFIG_SCSI_SCAN_ASYNC is not set
531CONFIG_SCSI_WAIT_SCAN=m
216 532
217# 533#
218# SCSI Transport Attributes 534# SCSI Transports
219# 535#
220# CONFIG_SCSI_SPI_ATTRS is not set 536CONFIG_SCSI_SPI_ATTRS=y
221# CONFIG_SCSI_FC_ATTRS is not set 537# CONFIG_SCSI_FC_ATTRS is not set
222# CONFIG_SCSI_ISCSI_ATTRS is not set 538CONFIG_SCSI_ISCSI_ATTRS=m
223 539CONFIG_SCSI_SAS_ATTRS=m
224# 540CONFIG_SCSI_SAS_LIBSAS=m
225# SCSI low-level drivers 541CONFIG_SCSI_SAS_HOST_SMP=y
226# 542# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
543CONFIG_SCSI_SRP_ATTRS=m
544CONFIG_SCSI_SRP_TGT_ATTRS=y
545CONFIG_SCSI_LOWLEVEL=y
546CONFIG_ISCSI_TCP=m
227# CONFIG_SCSI_AHA152X is not set 547# CONFIG_SCSI_AHA152X is not set
228# CONFIG_SCSI_AIC7XXX_OLD is not set 548# CONFIG_SCSI_AIC7XXX_OLD is not set
549# CONFIG_SCSI_ADVANSYS is not set
229# CONFIG_SCSI_IN2000 is not set 550# CONFIG_SCSI_IN2000 is not set
230# CONFIG_SCSI_SATA is not set
231# CONFIG_SCSI_DTC3280 is not set 551# CONFIG_SCSI_DTC3280 is not set
232# CONFIG_SCSI_FUTURE_DOMAIN is not set 552# CONFIG_SCSI_FUTURE_DOMAIN is not set
233# CONFIG_SCSI_GENERIC_NCR5380 is not set 553# CONFIG_SCSI_GENERIC_NCR5380 is not set
234# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set 554# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
235# CONFIG_SCSI_PPA is not set
236# CONFIG_SCSI_IMM is not set
237# CONFIG_SCSI_NCR53C406A is not set 555# CONFIG_SCSI_NCR53C406A is not set
556CONFIG_53C700_BE_BUS=y
238# CONFIG_SCSI_PAS16 is not set 557# CONFIG_SCSI_PAS16 is not set
239# CONFIG_SCSI_PSI240I is not set
240# CONFIG_SCSI_QLOGIC_FAS is not set 558# CONFIG_SCSI_QLOGIC_FAS is not set
241# CONFIG_SCSI_SYM53C416 is not set 559# CONFIG_SCSI_SYM53C416 is not set
242# CONFIG_SCSI_T128 is not set 560# CONFIG_SCSI_T128 is not set
@@ -244,243 +562,42 @@ CONFIG_SCSI_CONSTANTS=y
244CONFIG_A3000_SCSI=y 562CONFIG_A3000_SCSI=y
245CONFIG_A2091_SCSI=y 563CONFIG_A2091_SCSI=y
246CONFIG_GVP11_SCSI=y 564CONFIG_GVP11_SCSI=y
247CONFIG_CYBERSTORM_SCSI=y 565CONFIG_SCSI_A4000T=y
248CONFIG_CYBERSTORMII_SCSI=y 566CONFIG_SCSI_ZORRO7XX=y
249CONFIG_BLZ2060_SCSI=y
250CONFIG_BLZ1230_SCSI=y
251CONFIG_FASTLANE_SCSI=y
252CONFIG_OKTAGON_SCSI=y
253
254#
255# Old CD-ROM drivers (not SCSI, not IDE)
256#
257# CONFIG_CD_NO_IDESCSI is not set
258
259#
260# Multi-device support (RAID and LVM)
261#
262CONFIG_MD=y 567CONFIG_MD=y
263CONFIG_BLK_DEV_MD=m 568CONFIG_BLK_DEV_MD=m
264CONFIG_MD_LINEAR=m 569CONFIG_MD_LINEAR=m
265CONFIG_MD_RAID0=m 570CONFIG_MD_RAID0=m
266CONFIG_MD_RAID1=m 571CONFIG_MD_RAID1=m
267# CONFIG_MD_RAID10 is not set 572# CONFIG_MD_RAID10 is not set
268CONFIG_MD_RAID5=m 573CONFIG_MD_RAID456=m
269CONFIG_MD_RAID6=m 574CONFIG_MD_RAID5_RESHAPE=y
270CONFIG_MD_MULTIPATH=m 575CONFIG_MD_MULTIPATH=m
271# CONFIG_MD_FAULTY is not set 576# CONFIG_MD_FAULTY is not set
272CONFIG_BLK_DEV_DM=m 577CONFIG_BLK_DEV_DM=m
578# CONFIG_DM_DEBUG is not set
273CONFIG_DM_CRYPT=m 579CONFIG_DM_CRYPT=m
274CONFIG_DM_SNAPSHOT=m 580CONFIG_DM_SNAPSHOT=m
275CONFIG_DM_MIRROR=m 581CONFIG_DM_MIRROR=m
276CONFIG_DM_ZERO=m 582CONFIG_DM_ZERO=m
277CONFIG_DM_MULTIPATH=m 583CONFIG_DM_MULTIPATH=m
278CONFIG_DM_MULTIPATH_EMC=m 584CONFIG_DM_MULTIPATH_EMC=m
279 585CONFIG_DM_MULTIPATH_RDAC=m
280# 586CONFIG_DM_MULTIPATH_HP=m
281# Fusion MPT device support 587# CONFIG_DM_DELAY is not set
282# 588CONFIG_DM_UEVENT=y
283
284#
285# IEEE 1394 (FireWire) support
286#
287
288#
289# I2O device support
290#
291
292#
293# Networking support
294#
295CONFIG_NET=y
296
297#
298# Networking options
299#
300CONFIG_PACKET=y
301# CONFIG_PACKET_MMAP is not set
302CONFIG_UNIX=y
303CONFIG_NET_KEY=y
304CONFIG_INET=y
305# CONFIG_IP_MULTICAST is not set
306# CONFIG_IP_ADVANCED_ROUTER is not set
307# CONFIG_IP_PNP is not set
308CONFIG_NET_IPIP=m
309CONFIG_NET_IPGRE=m
310# CONFIG_ARPD is not set
311CONFIG_SYN_COOKIES=y
312CONFIG_INET_AH=m
313CONFIG_INET_ESP=m
314CONFIG_INET_IPCOMP=m
315CONFIG_INET_TUNNEL=m
316CONFIG_IP_TCPDIAG=m
317CONFIG_IP_TCPDIAG_IPV6=y
318
319#
320# IP: Virtual Server Configuration
321#
322# CONFIG_IP_VS is not set
323CONFIG_IPV6=m
324CONFIG_IPV6_PRIVACY=y
325CONFIG_INET6_AH=m
326CONFIG_INET6_ESP=m
327CONFIG_INET6_IPCOMP=m
328CONFIG_INET6_TUNNEL=m
329CONFIG_IPV6_TUNNEL=m
330CONFIG_NETFILTER=y
331# CONFIG_NETFILTER_DEBUG is not set
332
333#
334# IP: Netfilter Configuration
335#
336CONFIG_IP_NF_CONNTRACK=m
337# CONFIG_IP_NF_CT_ACCT is not set
338CONFIG_IP_NF_CONNTRACK_MARK=y
339# CONFIG_IP_NF_CT_PROTO_SCTP is not set
340CONFIG_IP_NF_FTP=m
341CONFIG_IP_NF_IRC=m
342CONFIG_IP_NF_TFTP=m
343CONFIG_IP_NF_AMANDA=m
344CONFIG_IP_NF_QUEUE=m
345CONFIG_IP_NF_IPTABLES=m
346CONFIG_IP_NF_MATCH_LIMIT=m
347CONFIG_IP_NF_MATCH_IPRANGE=m
348CONFIG_IP_NF_MATCH_MAC=m
349CONFIG_IP_NF_MATCH_PKTTYPE=m
350CONFIG_IP_NF_MATCH_MARK=m
351CONFIG_IP_NF_MATCH_MULTIPORT=m
352CONFIG_IP_NF_MATCH_TOS=m
353CONFIG_IP_NF_MATCH_RECENT=m
354CONFIG_IP_NF_MATCH_ECN=m
355CONFIG_IP_NF_MATCH_DSCP=m
356CONFIG_IP_NF_MATCH_AH_ESP=m
357CONFIG_IP_NF_MATCH_LENGTH=m
358CONFIG_IP_NF_MATCH_TTL=m
359CONFIG_IP_NF_MATCH_TCPMSS=m
360CONFIG_IP_NF_MATCH_HELPER=m
361CONFIG_IP_NF_MATCH_STATE=m
362CONFIG_IP_NF_MATCH_CONNTRACK=m
363CONFIG_IP_NF_MATCH_OWNER=m
364CONFIG_IP_NF_MATCH_ADDRTYPE=m
365CONFIG_IP_NF_MATCH_REALM=m
366# CONFIG_IP_NF_MATCH_SCTP is not set
367# CONFIG_IP_NF_MATCH_COMMENT is not set
368CONFIG_IP_NF_MATCH_CONNMARK=m
369CONFIG_IP_NF_MATCH_HASHLIMIT=m
370CONFIG_IP_NF_FILTER=m
371CONFIG_IP_NF_TARGET_REJECT=m
372CONFIG_IP_NF_TARGET_LOG=m
373CONFIG_IP_NF_TARGET_ULOG=m
374CONFIG_IP_NF_TARGET_TCPMSS=m
375CONFIG_IP_NF_NAT=m
376CONFIG_IP_NF_NAT_NEEDED=y
377CONFIG_IP_NF_TARGET_MASQUERADE=m
378CONFIG_IP_NF_TARGET_REDIRECT=m
379CONFIG_IP_NF_TARGET_NETMAP=m
380CONFIG_IP_NF_TARGET_SAME=m
381CONFIG_IP_NF_NAT_SNMP_BASIC=m
382CONFIG_IP_NF_NAT_IRC=m
383CONFIG_IP_NF_NAT_FTP=m
384CONFIG_IP_NF_NAT_TFTP=m
385CONFIG_IP_NF_NAT_AMANDA=m
386CONFIG_IP_NF_MANGLE=m
387CONFIG_IP_NF_TARGET_TOS=m
388CONFIG_IP_NF_TARGET_ECN=m
389CONFIG_IP_NF_TARGET_DSCP=m
390CONFIG_IP_NF_TARGET_MARK=m
391CONFIG_IP_NF_TARGET_CLASSIFY=m
392CONFIG_IP_NF_TARGET_CONNMARK=m
393# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
394CONFIG_IP_NF_RAW=m
395CONFIG_IP_NF_TARGET_NOTRACK=m
396CONFIG_IP_NF_ARPTABLES=m
397CONFIG_IP_NF_ARPFILTER=m
398CONFIG_IP_NF_ARP_MANGLE=m
399
400#
401# IPv6: Netfilter Configuration (EXPERIMENTAL)
402#
403CONFIG_IP6_NF_QUEUE=m
404CONFIG_IP6_NF_IPTABLES=m
405CONFIG_IP6_NF_MATCH_LIMIT=m
406CONFIG_IP6_NF_MATCH_MAC=m
407CONFIG_IP6_NF_MATCH_RT=m
408CONFIG_IP6_NF_MATCH_OPTS=m
409CONFIG_IP6_NF_MATCH_FRAG=m
410CONFIG_IP6_NF_MATCH_HL=m
411CONFIG_IP6_NF_MATCH_MULTIPORT=m
412CONFIG_IP6_NF_MATCH_OWNER=m
413CONFIG_IP6_NF_MATCH_MARK=m
414CONFIG_IP6_NF_MATCH_IPV6HEADER=m
415CONFIG_IP6_NF_MATCH_AHESP=m
416CONFIG_IP6_NF_MATCH_LENGTH=m
417CONFIG_IP6_NF_MATCH_EUI64=m
418CONFIG_IP6_NF_FILTER=m
419CONFIG_IP6_NF_TARGET_LOG=m
420CONFIG_IP6_NF_MANGLE=m
421CONFIG_IP6_NF_TARGET_MARK=m
422CONFIG_IP6_NF_RAW=m
423CONFIG_XFRM=y
424CONFIG_XFRM_USER=m
425
426#
427# SCTP Configuration (EXPERIMENTAL)
428#
429CONFIG_IP_SCTP=m
430# CONFIG_SCTP_DBG_MSG is not set
431# CONFIG_SCTP_DBG_OBJCNT is not set
432# CONFIG_SCTP_HMAC_NONE is not set
433# CONFIG_SCTP_HMAC_SHA1 is not set
434CONFIG_SCTP_HMAC_MD5=y
435# CONFIG_ATM is not set
436# CONFIG_BRIDGE is not set
437# CONFIG_VLAN_8021Q is not set
438# CONFIG_DECNET is not set
439CONFIG_LLC=m
440# CONFIG_LLC2 is not set
441CONFIG_IPX=m
442# CONFIG_IPX_INTERN is not set
443CONFIG_ATALK=m
444# CONFIG_DEV_APPLETALK is not set
445# CONFIG_X25 is not set
446# CONFIG_LAPB is not set
447# CONFIG_NET_DIVERT is not set
448# CONFIG_ECONET is not set
449# CONFIG_WAN_ROUTER is not set
450
451#
452# QoS and/or fair queueing
453#
454# CONFIG_NET_SCHED is not set
455CONFIG_NET_CLS_ROUTE=y
456
457#
458# Network testing
459#
460# CONFIG_NET_PKTGEN is not set
461CONFIG_NETPOLL=y
462# CONFIG_NETPOLL_RX is not set
463# CONFIG_NETPOLL_TRAP is not set
464CONFIG_NET_POLL_CONTROLLER=y
465# CONFIG_HAMRADIO is not set
466# CONFIG_IRDA is not set
467# CONFIG_BT is not set
468CONFIG_NETDEVICES=y 589CONFIG_NETDEVICES=y
590# CONFIG_NETDEVICES_MULTIQUEUE is not set
469CONFIG_DUMMY=m 591CONFIG_DUMMY=m
470# CONFIG_BONDING is not set 592# CONFIG_BONDING is not set
593CONFIG_MACVLAN=m
471CONFIG_EQUALIZER=m 594CONFIG_EQUALIZER=m
472# CONFIG_TUN is not set 595# CONFIG_TUN is not set
473 596CONFIG_VETH=m
474#
475# ARCnet devices
476#
477# CONFIG_ARCNET is not set 597# CONFIG_ARCNET is not set
478 598# CONFIG_PHYLIB is not set
479#
480# Ethernet (10 or 100Mbit)
481#
482CONFIG_NET_ETHERNET=y 599CONFIG_NET_ETHERNET=y
483CONFIG_MII=m 600# CONFIG_MII is not set
484CONFIG_ARIADNE=m 601CONFIG_ARIADNE=m
485CONFIG_A2065=m 602CONFIG_A2065=m
486CONFIG_HYDRA=m 603CONFIG_HYDRA=m
@@ -493,32 +610,24 @@ CONFIG_APNE=m
493# CONFIG_DEPCA is not set 610# CONFIG_DEPCA is not set
494# CONFIG_HP100 is not set 611# CONFIG_HP100 is not set
495# CONFIG_NET_ISA is not set 612# CONFIG_NET_ISA is not set
613# CONFIG_IBM_NEW_EMAC_ZMII is not set
614# CONFIG_IBM_NEW_EMAC_RGMII is not set
615# CONFIG_IBM_NEW_EMAC_TAH is not set
616# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
496# CONFIG_NET_PCI is not set 617# CONFIG_NET_PCI is not set
618# CONFIG_B44 is not set
497# CONFIG_NET_POCKET is not set 619# CONFIG_NET_POCKET is not set
498 620# CONFIG_NETDEV_1000 is not set
499# 621# CONFIG_NETDEV_10000 is not set
500# Ethernet (1000 Mbit)
501#
502
503#
504# Ethernet (10000 Mbit)
505#
506
507#
508# Token Ring devices
509#
510# CONFIG_TR is not set 622# CONFIG_TR is not set
511 623
512# 624#
513# Wireless LAN (non-hamradio) 625# Wireless LAN
514#
515# CONFIG_NET_RADIO is not set
516
517#
518# Wan interfaces
519# 626#
627# CONFIG_WLAN_PRE80211 is not set
628# CONFIG_WLAN_80211 is not set
520# CONFIG_WAN is not set 629# CONFIG_WAN is not set
521CONFIG_PLIP=m 630# CONFIG_PLIP is not set
522CONFIG_PPP=m 631CONFIG_PPP=m
523# CONFIG_PPP_MULTILINK is not set 632# CONFIG_PPP_MULTILINK is not set
524CONFIG_PPP_FILTER=y 633CONFIG_PPP_FILTER=y
@@ -526,28 +635,28 @@ CONFIG_PPP_ASYNC=m
526CONFIG_PPP_SYNC_TTY=m 635CONFIG_PPP_SYNC_TTY=m
527CONFIG_PPP_DEFLATE=m 636CONFIG_PPP_DEFLATE=m
528CONFIG_PPP_BSDCOMP=m 637CONFIG_PPP_BSDCOMP=m
638CONFIG_PPP_MPPE=m
529CONFIG_PPPOE=m 639CONFIG_PPPOE=m
640CONFIG_PPPOL2TP=m
530CONFIG_SLIP=m 641CONFIG_SLIP=m
531CONFIG_SLIP_COMPRESSED=y 642CONFIG_SLIP_COMPRESSED=y
643CONFIG_SLHC=m
532CONFIG_SLIP_SMART=y 644CONFIG_SLIP_SMART=y
533CONFIG_SLIP_MODE_SLIP6=y 645CONFIG_SLIP_MODE_SLIP6=y
534CONFIG_SHAPER=m
535CONFIG_NETCONSOLE=m 646CONFIG_NETCONSOLE=m
536 647CONFIG_NETCONSOLE_DYNAMIC=y
537# 648CONFIG_NETPOLL=y
538# ISDN subsystem 649# CONFIG_NETPOLL_TRAP is not set
539# 650CONFIG_NET_POLL_CONTROLLER=y
540# CONFIG_ISDN is not set 651# CONFIG_ISDN is not set
541
542#
543# Telephony Support
544#
545# CONFIG_PHONE is not set 652# CONFIG_PHONE is not set
546 653
547# 654#
548# Input device support 655# Input device support
549# 656#
550CONFIG_INPUT=y 657CONFIG_INPUT=y
658CONFIG_INPUT_FF_MEMLESS=m
659# CONFIG_INPUT_POLLDEV is not set
551 660
552# 661#
553# Userland interfaces 662# Userland interfaces
@@ -557,7 +666,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
557CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 666CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
558CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 667CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
559# CONFIG_INPUT_JOYDEV is not set 668# CONFIG_INPUT_JOYDEV is not set
560# CONFIG_INPUT_TSDEV is not set
561# CONFIG_INPUT_EVDEV is not set 669# CONFIG_INPUT_EVDEV is not set
562# CONFIG_INPUT_EVBUG is not set 670# CONFIG_INPUT_EVBUG is not set
563 671
@@ -570,6 +678,7 @@ CONFIG_INPUT_KEYBOARD=y
570# CONFIG_KEYBOARD_LKKBD is not set 678# CONFIG_KEYBOARD_LKKBD is not set
571# CONFIG_KEYBOARD_XTKBD is not set 679# CONFIG_KEYBOARD_XTKBD is not set
572# CONFIG_KEYBOARD_NEWTON is not set 680# CONFIG_KEYBOARD_NEWTON is not set
681# CONFIG_KEYBOARD_STOWAWAY is not set
573CONFIG_KEYBOARD_AMIGA=y 682CONFIG_KEYBOARD_AMIGA=y
574CONFIG_INPUT_MOUSE=y 683CONFIG_INPUT_MOUSE=y
575# CONFIG_MOUSE_PS2 is not set 684# CONFIG_MOUSE_PS2 is not set
@@ -577,7 +686,7 @@ CONFIG_INPUT_MOUSE=y
577# CONFIG_MOUSE_INPORT is not set 686# CONFIG_MOUSE_INPORT is not set
578# CONFIG_MOUSE_LOGIBM is not set 687# CONFIG_MOUSE_LOGIBM is not set
579# CONFIG_MOUSE_PC110PAD is not set 688# CONFIG_MOUSE_PC110PAD is not set
580CONFIG_MOUSE_AMIGA=y 689CONFIG_MOUSE_AMIGA=m
581# CONFIG_MOUSE_VSXXXAA is not set 690# CONFIG_MOUSE_VSXXXAA is not set
582CONFIG_INPUT_JOYSTICK=y 691CONFIG_INPUT_JOYSTICK=y
583# CONFIG_JOYSTICK_ANALOG is not set 692# CONFIG_JOYSTICK_ANALOG is not set
@@ -603,16 +712,16 @@ CONFIG_INPUT_JOYSTICK=y
603# CONFIG_JOYSTICK_TURBOGRAFX is not set 712# CONFIG_JOYSTICK_TURBOGRAFX is not set
604CONFIG_JOYSTICK_AMIGA=m 713CONFIG_JOYSTICK_AMIGA=m
605# CONFIG_JOYSTICK_JOYDUMP is not set 714# CONFIG_JOYSTICK_JOYDUMP is not set
715# CONFIG_INPUT_TABLET is not set
606# CONFIG_INPUT_TOUCHSCREEN is not set 716# CONFIG_INPUT_TOUCHSCREEN is not set
607# CONFIG_INPUT_MISC is not set 717CONFIG_INPUT_MISC=y
718CONFIG_INPUT_M68K_BEEP=m
719# CONFIG_INPUT_UINPUT is not set
608 720
609# 721#
610# Hardware I/O ports 722# Hardware I/O ports
611# 723#
612CONFIG_SERIO=m 724# CONFIG_SERIO is not set
613CONFIG_SERIO_SERPORT=m
614# CONFIG_SERIO_PARKBD is not set
615# CONFIG_SERIO_RAW is not set
616# CONFIG_GAMEPORT is not set 725# CONFIG_GAMEPORT is not set
617 726
618# 727#
@@ -621,6 +730,7 @@ CONFIG_SERIO_SERPORT=m
621CONFIG_VT=y 730CONFIG_VT=y
622CONFIG_VT_CONSOLE=y 731CONFIG_VT_CONSOLE=y
623CONFIG_HW_CONSOLE=y 732CONFIG_HW_CONSOLE=y
733CONFIG_VT_HW_CONSOLE_BINDING=y
624# CONFIG_SERIAL_NONSTANDARD is not set 734# CONFIG_SERIAL_NONSTANDARD is not set
625CONFIG_A2232=m 735CONFIG_A2232=m
626 736
@@ -638,94 +748,102 @@ CONFIG_LEGACY_PTY_COUNT=256
638CONFIG_PRINTER=m 748CONFIG_PRINTER=m
639# CONFIG_LP_CONSOLE is not set 749# CONFIG_LP_CONSOLE is not set
640# CONFIG_PPDEV is not set 750# CONFIG_PPDEV is not set
641# CONFIG_TIPAR is not set
642
643#
644# IPMI
645#
646# CONFIG_IPMI_HANDLER is not set 751# CONFIG_IPMI_HANDLER is not set
647 752# CONFIG_HW_RANDOM is not set
648#
649# Watchdog Cards
650#
651# CONFIG_WATCHDOG is not set
652CONFIG_GEN_RTC=m 753CONFIG_GEN_RTC=m
653CONFIG_GEN_RTC_X=y 754CONFIG_GEN_RTC_X=y
654# CONFIG_DTLK is not set 755# CONFIG_DTLK is not set
655# CONFIG_R3964 is not set 756# CONFIG_R3964 is not set
656
657#
658# Ftape, the floppy tape device driver
659#
660# CONFIG_DRM is not set
661# CONFIG_RAW_DRIVER is not set 757# CONFIG_RAW_DRIVER is not set
662 758# CONFIG_TCG_TPM is not set
663#
664# TPM devices
665#
666
667#
668# I2C support
669#
670# CONFIG_I2C is not set 759# CONFIG_I2C is not set
671 760
672# 761#
673# Dallas's 1-wire bus 762# SPI support
674# 763#
764# CONFIG_SPI is not set
765# CONFIG_SPI_MASTER is not set
675# CONFIG_W1 is not set 766# CONFIG_W1 is not set
767# CONFIG_POWER_SUPPLY is not set
768# CONFIG_HWMON is not set
769# CONFIG_THERMAL is not set
770# CONFIG_WATCHDOG is not set
676 771
677# 772#
678# Misc devices 773# Sonics Silicon Backplane
679# 774#
775CONFIG_SSB_POSSIBLE=y
776# CONFIG_SSB is not set
680 777
681# 778#
682# Multimedia devices 779# Multifunction device drivers
683# 780#
684# CONFIG_VIDEO_DEV is not set 781# CONFIG_MFD_SM501 is not set
685 782
686# 783#
687# Digital Video Broadcasting Devices 784# Multimedia devices
688# 785#
689# CONFIG_DVB is not set 786# CONFIG_VIDEO_DEV is not set
787# CONFIG_DVB_CORE is not set
788# CONFIG_DAB is not set
690 789
691# 790#
692# Graphics support 791# Graphics support
693# 792#
793# CONFIG_VGASTATE is not set
794# CONFIG_VIDEO_OUTPUT_CONTROL is not set
694CONFIG_FB=y 795CONFIG_FB=y
796# CONFIG_FIRMWARE_EDID is not set
797# CONFIG_FB_DDC is not set
695CONFIG_FB_CFB_FILLRECT=y 798CONFIG_FB_CFB_FILLRECT=y
696CONFIG_FB_CFB_COPYAREA=y 799CONFIG_FB_CFB_COPYAREA=y
697CONFIG_FB_CFB_IMAGEBLIT=y 800CONFIG_FB_CFB_IMAGEBLIT=y
698CONFIG_FB_SOFT_CURSOR=y 801# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
802# CONFIG_FB_SYS_FILLRECT is not set
803# CONFIG_FB_SYS_COPYAREA is not set
804# CONFIG_FB_SYS_IMAGEBLIT is not set
805# CONFIG_FB_SYS_FOPS is not set
806CONFIG_FB_DEFERRED_IO=y
807# CONFIG_FB_SVGALIB is not set
699# CONFIG_FB_MACMODES is not set 808# CONFIG_FB_MACMODES is not set
700CONFIG_FB_MODE_HELPERS=y 809# CONFIG_FB_BACKLIGHT is not set
810# CONFIG_FB_MODE_HELPERS is not set
701# CONFIG_FB_TILEBLITTING is not set 811# CONFIG_FB_TILEBLITTING is not set
702CONFIG_FB_CIRRUS=m 812
813#
814# Frame buffer hardware drivers
815#
816CONFIG_FB_CIRRUS=y
703CONFIG_FB_AMIGA=y 817CONFIG_FB_AMIGA=y
704CONFIG_FB_AMIGA_OCS=y 818CONFIG_FB_AMIGA_OCS=y
705CONFIG_FB_AMIGA_ECS=y 819CONFIG_FB_AMIGA_ECS=y
706CONFIG_FB_AMIGA_AGA=y 820CONFIG_FB_AMIGA_AGA=y
707CONFIG_FB_FM2=y 821CONFIG_FB_FM2=y
822# CONFIG_FB_UVESA is not set
708# CONFIG_FB_S1D13XXX is not set 823# CONFIG_FB_S1D13XXX is not set
709# CONFIG_FB_VIRTUAL is not set 824# CONFIG_FB_VIRTUAL is not set
825# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
826
827#
828# Display device support
829#
830# CONFIG_DISPLAY_SUPPORT is not set
710 831
711# 832#
712# Console display driver support 833# Console display driver support
713# 834#
714CONFIG_DUMMY_CONSOLE=y 835CONFIG_DUMMY_CONSOLE=y
715CONFIG_FRAMEBUFFER_CONSOLE=y 836CONFIG_FRAMEBUFFER_CONSOLE=y
837# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
838# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
716# CONFIG_FONTS is not set 839# CONFIG_FONTS is not set
717CONFIG_FONT_8x8=y 840CONFIG_FONT_8x8=y
718CONFIG_FONT_8x16=y 841CONFIG_FONT_8x16=y
719CONFIG_FONT_PEARL_8x8=y 842CONFIG_FONT_PEARL_8x8=y
720
721#
722# Logo configuration
723#
724CONFIG_LOGO=y 843CONFIG_LOGO=y
725CONFIG_LOGO_LINUX_MONO=y 844CONFIG_LOGO_LINUX_MONO=y
726CONFIG_LOGO_LINUX_VGA16=y 845CONFIG_LOGO_LINUX_VGA16=y
727CONFIG_LOGO_LINUX_CLUT224=y 846CONFIG_LOGO_LINUX_CLUT224=y
728# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
729 847
730# 848#
731# Sound 849# Sound
@@ -733,27 +851,21 @@ CONFIG_LOGO_LINUX_CLUT224=y
733CONFIG_SOUND=m 851CONFIG_SOUND=m
734CONFIG_DMASOUND_PAULA=m 852CONFIG_DMASOUND_PAULA=m
735CONFIG_DMASOUND=m 853CONFIG_DMASOUND=m
736 854CONFIG_HID_SUPPORT=y
737# 855CONFIG_HID=m
738# USB support 856# CONFIG_HID_DEBUG is not set
739# 857CONFIG_HIDRAW=y
740# CONFIG_USB_ARCH_HAS_HCD is not set 858# CONFIG_USB_SUPPORT is not set
741# CONFIG_USB_ARCH_HAS_OHCI is not set
742
743#
744# USB Gadget Support
745#
746# CONFIG_USB_GADGET is not set
747
748#
749# MMC/SD Card support
750#
751# CONFIG_MMC is not set 859# CONFIG_MMC is not set
860# CONFIG_MEMSTICK is not set
861# CONFIG_NEW_LEDS is not set
862# CONFIG_RTC_CLASS is not set
863# CONFIG_AUXDISPLAY is not set
752 864
753# 865#
754# InfiniBand support 866# Userspace I/O
755# 867#
756# CONFIG_INFINIBAND is not set 868# CONFIG_UIO is not set
757 869
758# 870#
759# Character devices 871# Character devices
@@ -768,10 +880,11 @@ CONFIG_MULTIFACE_III_TTY=m
768# 880#
769CONFIG_EXT2_FS=y 881CONFIG_EXT2_FS=y
770# CONFIG_EXT2_FS_XATTR is not set 882# CONFIG_EXT2_FS_XATTR is not set
883# CONFIG_EXT2_FS_XIP is not set
771CONFIG_EXT3_FS=y 884CONFIG_EXT3_FS=y
772# CONFIG_EXT3_FS_XATTR is not set 885# CONFIG_EXT3_FS_XATTR is not set
886# CONFIG_EXT4DEV_FS is not set
773CONFIG_JBD=y 887CONFIG_JBD=y
774# CONFIG_JBD_DEBUG is not set
775CONFIG_REISERFS_FS=m 888CONFIG_REISERFS_FS=m
776# CONFIG_REISERFS_CHECK is not set 889# CONFIG_REISERFS_CHECK is not set
777# CONFIG_REISERFS_PROC_INFO is not set 890# CONFIG_REISERFS_PROC_INFO is not set
@@ -782,25 +895,29 @@ CONFIG_JFS_FS=m
782# CONFIG_JFS_DEBUG is not set 895# CONFIG_JFS_DEBUG is not set
783# CONFIG_JFS_STATISTICS is not set 896# CONFIG_JFS_STATISTICS is not set
784CONFIG_FS_POSIX_ACL=y 897CONFIG_FS_POSIX_ACL=y
785
786#
787# XFS support
788#
789CONFIG_XFS_FS=m 898CONFIG_XFS_FS=m
790CONFIG_XFS_EXPORT=y
791# CONFIG_XFS_RT is not set
792# CONFIG_XFS_QUOTA is not set 899# CONFIG_XFS_QUOTA is not set
793# CONFIG_XFS_SECURITY is not set 900# CONFIG_XFS_SECURITY is not set
794# CONFIG_XFS_POSIX_ACL is not set 901# CONFIG_XFS_POSIX_ACL is not set
795CONFIG_MINIX_FS=y 902# CONFIG_XFS_RT is not set
796# CONFIG_ROMFS_FS is not set 903CONFIG_GFS2_FS=m
904CONFIG_GFS2_FS_LOCKING_NOLOCK=m
905CONFIG_GFS2_FS_LOCKING_DLM=m
906CONFIG_OCFS2_FS=m
907# CONFIG_OCFS2_DEBUG_MASKLOG is not set
908# CONFIG_OCFS2_DEBUG_FS is not set
909CONFIG_DNOTIFY=y
910CONFIG_INOTIFY=y
911CONFIG_INOTIFY_USER=y
797CONFIG_QUOTA=y 912CONFIG_QUOTA=y
913CONFIG_QUOTA_NETLINK_INTERFACE=y
914# CONFIG_PRINT_QUOTA_WARNING is not set
798# CONFIG_QFMT_V1 is not set 915# CONFIG_QFMT_V1 is not set
799# CONFIG_QFMT_V2 is not set 916# CONFIG_QFMT_V2 is not set
800CONFIG_QUOTACTL=y 917CONFIG_QUOTACTL=y
801CONFIG_DNOTIFY=y
802CONFIG_AUTOFS_FS=m 918CONFIG_AUTOFS_FS=m
803CONFIG_AUTOFS4_FS=m 919CONFIG_AUTOFS4_FS=m
920CONFIG_FUSE_FS=m
804 921
805# 922#
806# CD-ROM/DVD Filesystems 923# CD-ROM/DVD Filesystems
@@ -808,7 +925,6 @@ CONFIG_AUTOFS4_FS=m
808CONFIG_ISO9660_FS=y 925CONFIG_ISO9660_FS=y
809CONFIG_JOLIET=y 926CONFIG_JOLIET=y
810CONFIG_ZISOFS=y 927CONFIG_ZISOFS=y
811CONFIG_ZISOFS_FS=y
812CONFIG_UDF_FS=m 928CONFIG_UDF_FS=m
813CONFIG_UDF_NLS=y 929CONFIG_UDF_NLS=y
814 930
@@ -827,19 +943,18 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
827# 943#
828CONFIG_PROC_FS=y 944CONFIG_PROC_FS=y
829CONFIG_PROC_KCORE=y 945CONFIG_PROC_KCORE=y
946CONFIG_PROC_SYSCTL=y
830CONFIG_SYSFS=y 947CONFIG_SYSFS=y
831# CONFIG_DEVFS_FS is not set
832# CONFIG_DEVPTS_FS_XATTR is not set
833CONFIG_TMPFS=y 948CONFIG_TMPFS=y
834# CONFIG_TMPFS_XATTR is not set 949# CONFIG_TMPFS_POSIX_ACL is not set
835# CONFIG_HUGETLB_PAGE is not set 950# CONFIG_HUGETLB_PAGE is not set
836CONFIG_RAMFS=y 951CONFIG_CONFIGFS_FS=m
837 952
838# 953#
839# Miscellaneous filesystems 954# Miscellaneous filesystems
840# 955#
841# CONFIG_ADFS_FS is not set 956# CONFIG_ADFS_FS is not set
842CONFIG_AFFS_FS=y 957CONFIG_AFFS_FS=m
843CONFIG_HFS_FS=m 958CONFIG_HFS_FS=m
844CONFIG_HFSPLUS_FS=m 959CONFIG_HFSPLUS_FS=m
845# CONFIG_BEFS_FS is not set 960# CONFIG_BEFS_FS is not set
@@ -847,43 +962,39 @@ CONFIG_HFSPLUS_FS=m
847# CONFIG_EFS_FS is not set 962# CONFIG_EFS_FS is not set
848CONFIG_CRAMFS=m 963CONFIG_CRAMFS=m
849# CONFIG_VXFS_FS is not set 964# CONFIG_VXFS_FS is not set
965CONFIG_MINIX_FS=y
850CONFIG_HPFS_FS=m 966CONFIG_HPFS_FS=m
851# CONFIG_QNX4FS_FS is not set 967# CONFIG_QNX4FS_FS is not set
968# CONFIG_ROMFS_FS is not set
852CONFIG_SYSV_FS=m 969CONFIG_SYSV_FS=m
853CONFIG_UFS_FS=m 970CONFIG_UFS_FS=m
854# CONFIG_UFS_FS_WRITE is not set 971# CONFIG_UFS_FS_WRITE is not set
855 972# CONFIG_UFS_DEBUG is not set
856# 973CONFIG_NETWORK_FILESYSTEMS=y
857# Network File Systems
858#
859CONFIG_NFS_FS=m 974CONFIG_NFS_FS=m
860CONFIG_NFS_V3=y 975CONFIG_NFS_V3=y
976# CONFIG_NFS_V3_ACL is not set
861CONFIG_NFS_V4=y 977CONFIG_NFS_V4=y
862# CONFIG_NFS_DIRECTIO is not set 978# CONFIG_NFS_DIRECTIO is not set
863CONFIG_NFSD=m 979CONFIG_NFSD=m
864CONFIG_NFSD_V3=y 980CONFIG_NFSD_V3=y
865CONFIG_NFSD_V4=y 981# CONFIG_NFSD_V3_ACL is not set
982# CONFIG_NFSD_V4 is not set
866CONFIG_NFSD_TCP=y 983CONFIG_NFSD_TCP=y
867CONFIG_LOCKD=m 984CONFIG_LOCKD=m
868CONFIG_LOCKD_V4=y 985CONFIG_LOCKD_V4=y
869CONFIG_EXPORTFS=m 986CONFIG_EXPORTFS=m
987CONFIG_NFS_COMMON=y
870CONFIG_SUNRPC=m 988CONFIG_SUNRPC=m
871CONFIG_SUNRPC_GSS=m 989CONFIG_SUNRPC_GSS=m
990CONFIG_SUNRPC_BIND34=y
872CONFIG_RPCSEC_GSS_KRB5=m 991CONFIG_RPCSEC_GSS_KRB5=m
873# CONFIG_RPCSEC_GSS_SPKM3 is not set 992# CONFIG_RPCSEC_GSS_SPKM3 is not set
874CONFIG_SMB_FS=m 993CONFIG_SMB_FS=m
875CONFIG_SMB_NLS_DEFAULT=y 994CONFIG_SMB_NLS_DEFAULT=y
876CONFIG_SMB_NLS_REMOTE="cp437" 995CONFIG_SMB_NLS_REMOTE="cp437"
877# CONFIG_CIFS is not set 996# CONFIG_CIFS is not set
878CONFIG_NCP_FS=m 997# CONFIG_NCP_FS is not set
879# CONFIG_NCPFS_PACKET_SIGNING is not set
880# CONFIG_NCPFS_IOCTL_LOCKING is not set
881# CONFIG_NCPFS_STRONG is not set
882CONFIG_NCPFS_NFS_NS=y
883CONFIG_NCPFS_OS2_NS=y
884# CONFIG_NCPFS_SMALLDOS is not set
885CONFIG_NCPFS_NLS=y
886# CONFIG_NCPFS_EXTRAS is not set
887CONFIG_CODA_FS=m 998CONFIG_CODA_FS=m
888# CONFIG_CODA_FS_OLD_API is not set 999# CONFIG_CODA_FS_OLD_API is not set
889# CONFIG_AFS_FS is not set 1000# CONFIG_AFS_FS is not set
@@ -894,10 +1005,6 @@ CONFIG_CODA_FS=m
894# CONFIG_PARTITION_ADVANCED is not set 1005# CONFIG_PARTITION_ADVANCED is not set
895CONFIG_AMIGA_PARTITION=y 1006CONFIG_AMIGA_PARTITION=y
896CONFIG_MSDOS_PARTITION=y 1007CONFIG_MSDOS_PARTITION=y
897
898#
899# Native Language Support
900#
901CONFIG_NLS=y 1008CONFIG_NLS=y
902CONFIG_NLS_DEFAULT="iso8859-1" 1009CONFIG_NLS_DEFAULT="iso8859-1"
903CONFIG_NLS_CODEPAGE_437=y 1010CONFIG_NLS_CODEPAGE_437=y
@@ -938,35 +1045,42 @@ CONFIG_NLS_ISO8859_15=m
938CONFIG_NLS_KOI8_R=m 1045CONFIG_NLS_KOI8_R=m
939CONFIG_NLS_KOI8_U=m 1046CONFIG_NLS_KOI8_U=m
940CONFIG_NLS_UTF8=m 1047CONFIG_NLS_UTF8=m
1048CONFIG_DLM=m
1049# CONFIG_DLM_DEBUG is not set
941 1050
942# 1051#
943# Kernel hacking 1052# Kernel hacking
944# 1053#
945# CONFIG_PRINTK_TIME is not set 1054# CONFIG_PRINTK_TIME is not set
946CONFIG_DEBUG_KERNEL=y 1055CONFIG_ENABLE_WARN_DEPRECATED=y
1056CONFIG_ENABLE_MUST_CHECK=y
947CONFIG_MAGIC_SYSRQ=y 1057CONFIG_MAGIC_SYSRQ=y
948CONFIG_LOG_BUF_SHIFT=16 1058# CONFIG_UNUSED_SYMBOLS is not set
949# CONFIG_SCHEDSTATS is not set
950# CONFIG_DEBUG_SLAB is not set
951# CONFIG_DEBUG_SPINLOCK is not set
952# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
953# CONFIG_DEBUG_KOBJECT is not set
954CONFIG_DEBUG_BUGVERBOSE=y
955# CONFIG_DEBUG_INFO is not set
956# CONFIG_DEBUG_FS is not set 1059# CONFIG_DEBUG_FS is not set
957# CONFIG_FRAME_POINTER is not set 1060# CONFIG_HEADERS_CHECK is not set
1061# CONFIG_DEBUG_KERNEL is not set
1062CONFIG_DEBUG_BUGVERBOSE=y
1063# CONFIG_SAMPLES is not set
958 1064
959# 1065#
960# Security options 1066# Security options
961# 1067#
962# CONFIG_KEYS is not set 1068# CONFIG_KEYS is not set
963# CONFIG_SECURITY is not set 1069# CONFIG_SECURITY is not set
964 1070# CONFIG_SECURITY_FILE_CAPABILITIES is not set
965# 1071CONFIG_XOR_BLOCKS=m
966# Cryptographic options 1072CONFIG_ASYNC_CORE=m
967# 1073CONFIG_ASYNC_MEMCPY=m
1074CONFIG_ASYNC_XOR=m
968CONFIG_CRYPTO=y 1075CONFIG_CRYPTO=y
1076CONFIG_CRYPTO_ALGAPI=y
1077CONFIG_CRYPTO_AEAD=m
1078CONFIG_CRYPTO_BLKCIPHER=m
1079CONFIG_CRYPTO_SEQIV=m
1080CONFIG_CRYPTO_HASH=y
1081CONFIG_CRYPTO_MANAGER=y
969CONFIG_CRYPTO_HMAC=y 1082CONFIG_CRYPTO_HMAC=y
1083CONFIG_CRYPTO_XCBC=m
970CONFIG_CRYPTO_NULL=m 1084CONFIG_CRYPTO_NULL=m
971CONFIG_CRYPTO_MD4=m 1085CONFIG_CRYPTO_MD4=m
972CONFIG_CRYPTO_MD5=m 1086CONFIG_CRYPTO_MD5=m
@@ -975,9 +1089,21 @@ CONFIG_CRYPTO_SHA256=m
975CONFIG_CRYPTO_SHA512=m 1089CONFIG_CRYPTO_SHA512=m
976CONFIG_CRYPTO_WP512=m 1090CONFIG_CRYPTO_WP512=m
977CONFIG_CRYPTO_TGR192=m 1091CONFIG_CRYPTO_TGR192=m
1092CONFIG_CRYPTO_GF128MUL=m
1093CONFIG_CRYPTO_ECB=m
1094CONFIG_CRYPTO_CBC=m
1095CONFIG_CRYPTO_PCBC=m
1096CONFIG_CRYPTO_LRW=m
1097CONFIG_CRYPTO_XTS=m
1098CONFIG_CRYPTO_CTR=m
1099CONFIG_CRYPTO_GCM=m
1100CONFIG_CRYPTO_CCM=m
1101CONFIG_CRYPTO_CRYPTD=m
978CONFIG_CRYPTO_DES=m 1102CONFIG_CRYPTO_DES=m
1103CONFIG_CRYPTO_FCRYPT=m
979CONFIG_CRYPTO_BLOWFISH=m 1104CONFIG_CRYPTO_BLOWFISH=m
980CONFIG_CRYPTO_TWOFISH=m 1105CONFIG_CRYPTO_TWOFISH=m
1106CONFIG_CRYPTO_TWOFISH_COMMON=m
981CONFIG_CRYPTO_SERPENT=m 1107CONFIG_CRYPTO_SERPENT=m
982CONFIG_CRYPTO_AES=m 1108CONFIG_CRYPTO_AES=m
983CONFIG_CRYPTO_CAST5=m 1109CONFIG_CRYPTO_CAST5=m
@@ -986,20 +1112,35 @@ CONFIG_CRYPTO_TEA=m
986CONFIG_CRYPTO_ARC4=m 1112CONFIG_CRYPTO_ARC4=m
987CONFIG_CRYPTO_KHAZAD=m 1113CONFIG_CRYPTO_KHAZAD=m
988CONFIG_CRYPTO_ANUBIS=m 1114CONFIG_CRYPTO_ANUBIS=m
1115CONFIG_CRYPTO_SEED=m
1116CONFIG_CRYPTO_SALSA20=m
989CONFIG_CRYPTO_DEFLATE=m 1117CONFIG_CRYPTO_DEFLATE=m
990CONFIG_CRYPTO_MICHAEL_MIC=m 1118CONFIG_CRYPTO_MICHAEL_MIC=m
991CONFIG_CRYPTO_CRC32C=m 1119CONFIG_CRYPTO_CRC32C=m
1120CONFIG_CRYPTO_CAMELLIA=m
992CONFIG_CRYPTO_TEST=m 1121CONFIG_CRYPTO_TEST=m
993 1122CONFIG_CRYPTO_AUTHENC=m
994# 1123CONFIG_CRYPTO_LZO=m
995# Hardware crypto devices 1124# CONFIG_CRYPTO_HW is not set
996#
997 1125
998# 1126#
999# Library routines 1127# Library routines
1000# 1128#
1129CONFIG_BITREVERSE=y
1001CONFIG_CRC_CCITT=m 1130CONFIG_CRC_CCITT=m
1131CONFIG_CRC16=m
1132# CONFIG_CRC_ITU_T is not set
1002CONFIG_CRC32=y 1133CONFIG_CRC32=y
1134# CONFIG_CRC7 is not set
1003CONFIG_LIBCRC32C=m 1135CONFIG_LIBCRC32C=m
1004CONFIG_ZLIB_INFLATE=y 1136CONFIG_ZLIB_INFLATE=y
1005CONFIG_ZLIB_DEFLATE=m 1137CONFIG_ZLIB_DEFLATE=m
1138CONFIG_LZO_COMPRESS=m
1139CONFIG_LZO_DECOMPRESS=m
1140CONFIG_TEXTSEARCH=y
1141CONFIG_TEXTSEARCH_KMP=m
1142CONFIG_TEXTSEARCH_BM=m
1143CONFIG_TEXTSEARCH_FSM=m
1144CONFIG_PLIST=y
1145CONFIG_HAS_IOMEM=y
1146CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
index 63024b0b7ac..e61196cd7fa 100644
--- a/arch/m68k/configs/apollo_defconfig
+++ b/arch/m68k/configs/apollo_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:27 2005 4# Wed Apr 2 20:46:07 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-apollo" 27CONFIG_LOCALVERSION="-apollo"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -80,10 +128,24 @@ CONFIG_M68030=y
80CONFIG_M68040=y 128CONFIG_M68040=y
81CONFIG_M68060=y 129CONFIG_M68060=y
82CONFIG_MMU_MOTOROLA=y 130CONFIG_MMU_MOTOROLA=y
83CONFIG_M68KFPU_EMU=y 131# CONFIG_M68KFPU_EMU is not set
84CONFIG_M68KFPU_EMU_EXTRAPREC=y
85# CONFIG_M68KFPU_EMU_ONLY is not set
86# CONFIG_ADVANCED is not set 132# CONFIG_ADVANCED is not set
133CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
134CONFIG_NODES_SHIFT=3
135CONFIG_SELECT_MEMORY_MODEL=y
136# CONFIG_FLATMEM_MANUAL is not set
137CONFIG_DISCONTIGMEM_MANUAL=y
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_DISCONTIGMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141CONFIG_NEED_MULTIPLE_NODES=y
142# CONFIG_SPARSEMEM_STATIC is not set
143# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
146CONFIG_ZONE_DMA_FLAG=1
147CONFIG_BOUNCE=y
148CONFIG_VIRT_TO_BUS=y
87 149
88# 150#
89# General setup 151# General setup
@@ -93,134 +155,11 @@ CONFIG_BINFMT_AOUT=m
93CONFIG_BINFMT_MISC=m 155CONFIG_BINFMT_MISC=m
94CONFIG_HEARTBEAT=y 156CONFIG_HEARTBEAT=y
95CONFIG_PROC_HARDWARE=y 157CONFIG_PROC_HARDWARE=y
158CONFIG_ZONE_DMA=y
159# CONFIG_ARCH_SUPPORTS_MSI is not set
96 160
97# 161#
98# Device Drivers 162# Networking
99#
100
101#
102# Generic Driver Options
103#
104CONFIG_STANDALONE=y
105CONFIG_PREVENT_FIRMWARE_BUILD=y
106CONFIG_FW_LOADER=m
107# CONFIG_DEBUG_DRIVER is not set
108
109#
110# Memory Technology Devices (MTD)
111#
112# CONFIG_MTD is not set
113
114#
115# Parallel port support
116#
117# CONFIG_PARPORT is not set
118
119#
120# Plug and Play support
121#
122
123#
124# Block devices
125#
126# CONFIG_BLK_DEV_COW_COMMON is not set
127CONFIG_BLK_DEV_LOOP=y
128CONFIG_BLK_DEV_CRYPTOLOOP=m
129CONFIG_BLK_DEV_NBD=m
130CONFIG_BLK_DEV_RAM=y
131CONFIG_BLK_DEV_RAM_COUNT=16
132CONFIG_BLK_DEV_RAM_SIZE=4096
133CONFIG_BLK_DEV_INITRD=y
134CONFIG_INITRAMFS_SOURCE=""
135CONFIG_CDROM_PKTCDVD=m
136CONFIG_CDROM_PKTCDVD_BUFFERS=8
137# CONFIG_CDROM_PKTCDVD_WCACHE is not set
138
139#
140# IO Schedulers
141#
142CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y
146CONFIG_ATA_OVER_ETH=m
147
148#
149# ATA/ATAPI/MFM/RLL support
150#
151# CONFIG_IDE is not set
152
153#
154# SCSI device support
155#
156CONFIG_SCSI=y
157CONFIG_SCSI_PROC_FS=y
158
159#
160# SCSI support type (disk, tape, CD-ROM)
161#
162CONFIG_BLK_DEV_SD=y
163CONFIG_CHR_DEV_ST=m
164# CONFIG_CHR_DEV_OSST is not set
165CONFIG_BLK_DEV_SR=y
166CONFIG_BLK_DEV_SR_VENDOR=y
167CONFIG_CHR_DEV_SG=m
168
169#
170# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
171#
172# CONFIG_SCSI_MULTI_LUN is not set
173CONFIG_SCSI_CONSTANTS=y
174# CONFIG_SCSI_LOGGING is not set
175
176#
177# SCSI Transport Attributes
178#
179# CONFIG_SCSI_SPI_ATTRS is not set
180# CONFIG_SCSI_FC_ATTRS is not set
181# CONFIG_SCSI_ISCSI_ATTRS is not set
182
183#
184# SCSI low-level drivers
185#
186# CONFIG_SCSI_SATA is not set
187# CONFIG_SCSI_DEBUG is not set
188
189#
190# Multi-device support (RAID and LVM)
191#
192CONFIG_MD=y
193CONFIG_BLK_DEV_MD=m
194CONFIG_MD_LINEAR=m
195CONFIG_MD_RAID0=m
196CONFIG_MD_RAID1=m
197# CONFIG_MD_RAID10 is not set
198CONFIG_MD_RAID5=m
199CONFIG_MD_RAID6=m
200CONFIG_MD_MULTIPATH=m
201# CONFIG_MD_FAULTY is not set
202CONFIG_BLK_DEV_DM=m
203CONFIG_DM_CRYPT=m
204CONFIG_DM_SNAPSHOT=m
205CONFIG_DM_MIRROR=m
206CONFIG_DM_ZERO=m
207CONFIG_DM_MULTIPATH=m
208CONFIG_DM_MULTIPATH_EMC=m
209
210#
211# Fusion MPT device support
212#
213
214#
215# IEEE 1394 (FireWire) support
216#
217
218#
219# I2O device support
220#
221
222#
223# Networking support
224# 163#
225CONFIG_NET=y 164CONFIG_NET=y
226 165
@@ -230,10 +169,17 @@ CONFIG_NET=y
230CONFIG_PACKET=y 169CONFIG_PACKET=y
231# CONFIG_PACKET_MMAP is not set 170# CONFIG_PACKET_MMAP is not set
232CONFIG_UNIX=y 171CONFIG_UNIX=y
172CONFIG_XFRM=y
173# CONFIG_XFRM_USER is not set
174# CONFIG_XFRM_SUB_POLICY is not set
175CONFIG_XFRM_MIGRATE=y
176# CONFIG_XFRM_STATISTICS is not set
233CONFIG_NET_KEY=y 177CONFIG_NET_KEY=y
178CONFIG_NET_KEY_MIGRATE=y
234CONFIG_INET=y 179CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 180# CONFIG_IP_MULTICAST is not set
236# CONFIG_IP_ADVANCED_ROUTER is not set 181# CONFIG_IP_ADVANCED_ROUTER is not set
182CONFIG_IP_FIB_HASH=y
237CONFIG_IP_PNP=y 183CONFIG_IP_PNP=y
238CONFIG_IP_PNP_DHCP=y 184CONFIG_IP_PNP_DHCP=y
239CONFIG_IP_PNP_BOOTP=y 185CONFIG_IP_PNP_BOOTP=y
@@ -245,145 +191,199 @@ CONFIG_SYN_COOKIES=y
245CONFIG_INET_AH=m 191CONFIG_INET_AH=m
246CONFIG_INET_ESP=m 192CONFIG_INET_ESP=m
247CONFIG_INET_IPCOMP=m 193CONFIG_INET_IPCOMP=m
194CONFIG_INET_XFRM_TUNNEL=m
248CONFIG_INET_TUNNEL=m 195CONFIG_INET_TUNNEL=m
249CONFIG_IP_TCPDIAG=m 196CONFIG_INET_XFRM_MODE_TRANSPORT=m
250CONFIG_IP_TCPDIAG_IPV6=y 197CONFIG_INET_XFRM_MODE_TUNNEL=m
251 198CONFIG_INET_XFRM_MODE_BEET=m
252# 199CONFIG_INET_LRO=m
253# IP: Virtual Server Configuration 200CONFIG_INET_DIAG=m
254# 201CONFIG_INET_TCP_DIAG=m
202# CONFIG_TCP_CONG_ADVANCED is not set
203CONFIG_TCP_CONG_CUBIC=y
204CONFIG_DEFAULT_TCP_CONG="cubic"
205# CONFIG_TCP_MD5SIG is not set
255# CONFIG_IP_VS is not set 206# CONFIG_IP_VS is not set
256CONFIG_IPV6=m 207CONFIG_IPV6=m
257CONFIG_IPV6_PRIVACY=y 208CONFIG_IPV6_PRIVACY=y
209CONFIG_IPV6_ROUTER_PREF=y
210CONFIG_IPV6_ROUTE_INFO=y
211# CONFIG_IPV6_OPTIMISTIC_DAD is not set
258CONFIG_INET6_AH=m 212CONFIG_INET6_AH=m
259CONFIG_INET6_ESP=m 213CONFIG_INET6_ESP=m
260CONFIG_INET6_IPCOMP=m 214CONFIG_INET6_IPCOMP=m
215# CONFIG_IPV6_MIP6 is not set
216CONFIG_INET6_XFRM_TUNNEL=m
261CONFIG_INET6_TUNNEL=m 217CONFIG_INET6_TUNNEL=m
218CONFIG_INET6_XFRM_MODE_TRANSPORT=m
219CONFIG_INET6_XFRM_MODE_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_BEET=m
221CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
222CONFIG_IPV6_SIT=m
262CONFIG_IPV6_TUNNEL=m 223CONFIG_IPV6_TUNNEL=m
224# CONFIG_IPV6_MULTIPLE_TABLES is not set
225# CONFIG_NETWORK_SECMARK is not set
263CONFIG_NETFILTER=y 226CONFIG_NETFILTER=y
264# CONFIG_NETFILTER_DEBUG is not set 227# CONFIG_NETFILTER_DEBUG is not set
228CONFIG_NETFILTER_ADVANCED=y
229
230#
231# Core Netfilter Configuration
232#
233CONFIG_NETFILTER_NETLINK=m
234CONFIG_NETFILTER_NETLINK_QUEUE=m
235CONFIG_NETFILTER_NETLINK_LOG=m
236CONFIG_NF_CONNTRACK=m
237CONFIG_NF_CT_ACCT=y
238CONFIG_NF_CONNTRACK_MARK=y
239# CONFIG_NF_CONNTRACK_EVENTS is not set
240CONFIG_NF_CT_PROTO_GRE=m
241CONFIG_NF_CT_PROTO_SCTP=m
242CONFIG_NF_CT_PROTO_UDPLITE=m
243CONFIG_NF_CONNTRACK_AMANDA=m
244CONFIG_NF_CONNTRACK_FTP=m
245CONFIG_NF_CONNTRACK_H323=m
246CONFIG_NF_CONNTRACK_IRC=m
247CONFIG_NF_CONNTRACK_NETBIOS_NS=m
248CONFIG_NF_CONNTRACK_PPTP=m
249CONFIG_NF_CONNTRACK_SANE=m
250CONFIG_NF_CONNTRACK_SIP=m
251CONFIG_NF_CONNTRACK_TFTP=m
252# CONFIG_NF_CT_NETLINK is not set
253CONFIG_NETFILTER_XTABLES=m
254CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
255CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
256CONFIG_NETFILTER_XT_TARGET_DSCP=m
257CONFIG_NETFILTER_XT_TARGET_MARK=m
258CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
259CONFIG_NETFILTER_XT_TARGET_NFLOG=m
260CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
261CONFIG_NETFILTER_XT_TARGET_RATEEST=m
262CONFIG_NETFILTER_XT_TARGET_TRACE=m
263CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
264CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
265CONFIG_NETFILTER_XT_MATCH_COMMENT=m
266CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
267CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
268CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
269CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
270CONFIG_NETFILTER_XT_MATCH_DCCP=m
271CONFIG_NETFILTER_XT_MATCH_DSCP=m
272CONFIG_NETFILTER_XT_MATCH_ESP=m
273CONFIG_NETFILTER_XT_MATCH_HELPER=m
274CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
275CONFIG_NETFILTER_XT_MATCH_LENGTH=m
276CONFIG_NETFILTER_XT_MATCH_LIMIT=m
277CONFIG_NETFILTER_XT_MATCH_MAC=m
278CONFIG_NETFILTER_XT_MATCH_MARK=m
279CONFIG_NETFILTER_XT_MATCH_OWNER=m
280CONFIG_NETFILTER_XT_MATCH_POLICY=m
281CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
282CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
283CONFIG_NETFILTER_XT_MATCH_QUOTA=m
284CONFIG_NETFILTER_XT_MATCH_RATEEST=m
285CONFIG_NETFILTER_XT_MATCH_REALM=m
286CONFIG_NETFILTER_XT_MATCH_SCTP=m
287CONFIG_NETFILTER_XT_MATCH_STATE=m
288CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
289CONFIG_NETFILTER_XT_MATCH_STRING=m
290CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
291CONFIG_NETFILTER_XT_MATCH_TIME=m
292CONFIG_NETFILTER_XT_MATCH_U32=m
293CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
265 294
266# 295#
267# IP: Netfilter Configuration 296# IP: Netfilter Configuration
268# 297#
269CONFIG_IP_NF_CONNTRACK=m 298CONFIG_NF_CONNTRACK_IPV4=m
270# CONFIG_IP_NF_CT_ACCT is not set 299CONFIG_NF_CONNTRACK_PROC_COMPAT=y
271CONFIG_IP_NF_CONNTRACK_MARK=y
272# CONFIG_IP_NF_CT_PROTO_SCTP is not set
273CONFIG_IP_NF_FTP=m
274CONFIG_IP_NF_IRC=m
275CONFIG_IP_NF_TFTP=m
276CONFIG_IP_NF_AMANDA=m
277CONFIG_IP_NF_QUEUE=m 300CONFIG_IP_NF_QUEUE=m
278CONFIG_IP_NF_IPTABLES=m 301CONFIG_IP_NF_IPTABLES=m
279CONFIG_IP_NF_MATCH_LIMIT=m
280CONFIG_IP_NF_MATCH_IPRANGE=m
281CONFIG_IP_NF_MATCH_MAC=m
282CONFIG_IP_NF_MATCH_PKTTYPE=m
283CONFIG_IP_NF_MATCH_MARK=m
284CONFIG_IP_NF_MATCH_MULTIPORT=m
285CONFIG_IP_NF_MATCH_TOS=m
286CONFIG_IP_NF_MATCH_RECENT=m 302CONFIG_IP_NF_MATCH_RECENT=m
287CONFIG_IP_NF_MATCH_ECN=m 303CONFIG_IP_NF_MATCH_ECN=m
288CONFIG_IP_NF_MATCH_DSCP=m 304CONFIG_IP_NF_MATCH_AH=m
289CONFIG_IP_NF_MATCH_AH_ESP=m
290CONFIG_IP_NF_MATCH_LENGTH=m
291CONFIG_IP_NF_MATCH_TTL=m 305CONFIG_IP_NF_MATCH_TTL=m
292CONFIG_IP_NF_MATCH_TCPMSS=m
293CONFIG_IP_NF_MATCH_HELPER=m
294CONFIG_IP_NF_MATCH_STATE=m
295CONFIG_IP_NF_MATCH_CONNTRACK=m
296CONFIG_IP_NF_MATCH_OWNER=m
297CONFIG_IP_NF_MATCH_ADDRTYPE=m 306CONFIG_IP_NF_MATCH_ADDRTYPE=m
298CONFIG_IP_NF_MATCH_REALM=m
299# CONFIG_IP_NF_MATCH_SCTP is not set
300# CONFIG_IP_NF_MATCH_COMMENT is not set
301CONFIG_IP_NF_MATCH_CONNMARK=m
302CONFIG_IP_NF_MATCH_HASHLIMIT=m
303CONFIG_IP_NF_FILTER=m 307CONFIG_IP_NF_FILTER=m
304CONFIG_IP_NF_TARGET_REJECT=m 308CONFIG_IP_NF_TARGET_REJECT=m
305CONFIG_IP_NF_TARGET_LOG=m 309CONFIG_IP_NF_TARGET_LOG=m
306CONFIG_IP_NF_TARGET_ULOG=m 310CONFIG_IP_NF_TARGET_ULOG=m
307CONFIG_IP_NF_TARGET_TCPMSS=m 311CONFIG_NF_NAT=m
308CONFIG_IP_NF_NAT=m 312CONFIG_NF_NAT_NEEDED=y
309CONFIG_IP_NF_NAT_NEEDED=y
310CONFIG_IP_NF_TARGET_MASQUERADE=m 313CONFIG_IP_NF_TARGET_MASQUERADE=m
311CONFIG_IP_NF_TARGET_REDIRECT=m 314CONFIG_IP_NF_TARGET_REDIRECT=m
312CONFIG_IP_NF_TARGET_NETMAP=m 315CONFIG_IP_NF_TARGET_NETMAP=m
313CONFIG_IP_NF_TARGET_SAME=m 316CONFIG_NF_NAT_SNMP_BASIC=m
314CONFIG_IP_NF_NAT_SNMP_BASIC=m 317CONFIG_NF_NAT_PROTO_GRE=m
315CONFIG_IP_NF_NAT_IRC=m 318CONFIG_NF_NAT_FTP=m
316CONFIG_IP_NF_NAT_FTP=m 319CONFIG_NF_NAT_IRC=m
317CONFIG_IP_NF_NAT_TFTP=m 320CONFIG_NF_NAT_TFTP=m
318CONFIG_IP_NF_NAT_AMANDA=m 321CONFIG_NF_NAT_AMANDA=m
322CONFIG_NF_NAT_PPTP=m
323CONFIG_NF_NAT_H323=m
324CONFIG_NF_NAT_SIP=m
319CONFIG_IP_NF_MANGLE=m 325CONFIG_IP_NF_MANGLE=m
320CONFIG_IP_NF_TARGET_TOS=m
321CONFIG_IP_NF_TARGET_ECN=m 326CONFIG_IP_NF_TARGET_ECN=m
322CONFIG_IP_NF_TARGET_DSCP=m 327CONFIG_IP_NF_TARGET_TTL=m
323CONFIG_IP_NF_TARGET_MARK=m 328CONFIG_IP_NF_TARGET_CLUSTERIP=m
324CONFIG_IP_NF_TARGET_CLASSIFY=m
325CONFIG_IP_NF_TARGET_CONNMARK=m
326# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
327CONFIG_IP_NF_RAW=m 329CONFIG_IP_NF_RAW=m
328CONFIG_IP_NF_TARGET_NOTRACK=m
329CONFIG_IP_NF_ARPTABLES=m 330CONFIG_IP_NF_ARPTABLES=m
330CONFIG_IP_NF_ARPFILTER=m 331CONFIG_IP_NF_ARPFILTER=m
331CONFIG_IP_NF_ARP_MANGLE=m 332CONFIG_IP_NF_ARP_MANGLE=m
332 333
333# 334#
334# IPv6: Netfilter Configuration (EXPERIMENTAL) 335# IPv6: Netfilter Configuration
335# 336#
337CONFIG_NF_CONNTRACK_IPV6=m
336CONFIG_IP6_NF_QUEUE=m 338CONFIG_IP6_NF_QUEUE=m
337CONFIG_IP6_NF_IPTABLES=m 339CONFIG_IP6_NF_IPTABLES=m
338CONFIG_IP6_NF_MATCH_LIMIT=m
339CONFIG_IP6_NF_MATCH_MAC=m
340CONFIG_IP6_NF_MATCH_RT=m 340CONFIG_IP6_NF_MATCH_RT=m
341CONFIG_IP6_NF_MATCH_OPTS=m 341CONFIG_IP6_NF_MATCH_OPTS=m
342CONFIG_IP6_NF_MATCH_FRAG=m 342CONFIG_IP6_NF_MATCH_FRAG=m
343CONFIG_IP6_NF_MATCH_HL=m 343CONFIG_IP6_NF_MATCH_HL=m
344CONFIG_IP6_NF_MATCH_MULTIPORT=m
345CONFIG_IP6_NF_MATCH_OWNER=m
346CONFIG_IP6_NF_MATCH_MARK=m
347CONFIG_IP6_NF_MATCH_IPV6HEADER=m 344CONFIG_IP6_NF_MATCH_IPV6HEADER=m
348CONFIG_IP6_NF_MATCH_AHESP=m 345CONFIG_IP6_NF_MATCH_AH=m
349CONFIG_IP6_NF_MATCH_LENGTH=m 346CONFIG_IP6_NF_MATCH_MH=m
350CONFIG_IP6_NF_MATCH_EUI64=m 347CONFIG_IP6_NF_MATCH_EUI64=m
351CONFIG_IP6_NF_FILTER=m 348CONFIG_IP6_NF_FILTER=m
352CONFIG_IP6_NF_TARGET_LOG=m 349CONFIG_IP6_NF_TARGET_LOG=m
350CONFIG_IP6_NF_TARGET_REJECT=m
353CONFIG_IP6_NF_MANGLE=m 351CONFIG_IP6_NF_MANGLE=m
354CONFIG_IP6_NF_TARGET_MARK=m 352CONFIG_IP6_NF_TARGET_HL=m
355CONFIG_IP6_NF_RAW=m 353CONFIG_IP6_NF_RAW=m
356CONFIG_XFRM=y 354CONFIG_IP_DCCP=m
357CONFIG_XFRM_USER=m 355CONFIG_INET_DCCP_DIAG=m
356CONFIG_IP_DCCP_ACKVEC=y
358 357
359# 358#
360# SCTP Configuration (EXPERIMENTAL) 359# DCCP CCIDs Configuration (EXPERIMENTAL)
361# 360#
361CONFIG_IP_DCCP_CCID2=m
362# CONFIG_IP_DCCP_CCID2_DEBUG is not set
363CONFIG_IP_DCCP_CCID3=m
364# CONFIG_IP_DCCP_CCID3_DEBUG is not set
365CONFIG_IP_DCCP_CCID3_RTO=100
366CONFIG_IP_DCCP_TFRC_LIB=m
362CONFIG_IP_SCTP=m 367CONFIG_IP_SCTP=m
363# CONFIG_SCTP_DBG_MSG is not set 368# CONFIG_SCTP_DBG_MSG is not set
364# CONFIG_SCTP_DBG_OBJCNT is not set 369# CONFIG_SCTP_DBG_OBJCNT is not set
365# CONFIG_SCTP_HMAC_NONE is not set 370# CONFIG_SCTP_HMAC_NONE is not set
366# CONFIG_SCTP_HMAC_SHA1 is not set 371# CONFIG_SCTP_HMAC_SHA1 is not set
367CONFIG_SCTP_HMAC_MD5=y 372CONFIG_SCTP_HMAC_MD5=y
373# CONFIG_TIPC is not set
368# CONFIG_ATM is not set 374# CONFIG_ATM is not set
369# CONFIG_BRIDGE is not set 375# CONFIG_BRIDGE is not set
370# CONFIG_VLAN_8021Q is not set 376# CONFIG_VLAN_8021Q is not set
371# CONFIG_DECNET is not set 377# CONFIG_DECNET is not set
372CONFIG_LLC=m 378CONFIG_LLC=m
373# CONFIG_LLC2 is not set 379# CONFIG_LLC2 is not set
374CONFIG_IPX=m 380# CONFIG_IPX is not set
375# CONFIG_IPX_INTERN is not set
376CONFIG_ATALK=m 381CONFIG_ATALK=m
377# CONFIG_DEV_APPLETALK is not set 382# CONFIG_DEV_APPLETALK is not set
378# CONFIG_X25 is not set 383# CONFIG_X25 is not set
379# CONFIG_LAPB is not set 384# CONFIG_LAPB is not set
380# CONFIG_NET_DIVERT is not set
381# CONFIG_ECONET is not set 385# CONFIG_ECONET is not set
382# CONFIG_WAN_ROUTER is not set 386# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
387# CONFIG_NET_SCHED is not set 387# CONFIG_NET_SCHED is not set
388CONFIG_NET_CLS_ROUTE=y 388CONFIG_NET_CLS_ROUTE=y
389 389
@@ -391,46 +391,154 @@ CONFIG_NET_CLS_ROUTE=y
391# Network testing 391# Network testing
392# 392#
393# CONFIG_NET_PKTGEN is not set 393# CONFIG_NET_PKTGEN is not set
394CONFIG_NETPOLL=y
395# CONFIG_NETPOLL_RX is not set
396# CONFIG_NETPOLL_TRAP is not set
397CONFIG_NET_POLL_CONTROLLER=y
398# CONFIG_HAMRADIO is not set 394# CONFIG_HAMRADIO is not set
395# CONFIG_CAN is not set
399# CONFIG_IRDA is not set 396# CONFIG_IRDA is not set
400# CONFIG_BT is not set 397# CONFIG_BT is not set
401CONFIG_NETDEVICES=y 398# CONFIG_AF_RXRPC is not set
402CONFIG_DUMMY=m
403# CONFIG_BONDING is not set
404CONFIG_EQUALIZER=m
405# CONFIG_TUN is not set
406 399
407# 400#
408# Ethernet (10 or 100Mbit) 401# Wireless
409# 402#
410CONFIG_NET_ETHERNET=y 403# CONFIG_CFG80211 is not set
411CONFIG_MII=m 404CONFIG_WIRELESS_EXT=y
412CONFIG_APOLLO_ELPLUS=y 405# CONFIG_MAC80211 is not set
406CONFIG_IEEE80211=m
407# CONFIG_IEEE80211_DEBUG is not set
408CONFIG_IEEE80211_CRYPT_WEP=m
409CONFIG_IEEE80211_CRYPT_CCMP=m
410CONFIG_IEEE80211_CRYPT_TKIP=m
411CONFIG_IEEE80211_SOFTMAC=m
412# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
413# CONFIG_RFKILL is not set
414# CONFIG_NET_9P is not set
413 415
414# 416#
415# Ethernet (1000 Mbit) 417# Device Drivers
416# 418#
417 419
418# 420#
419# Ethernet (10000 Mbit) 421# Generic Driver Options
420# 422#
423CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
424CONFIG_STANDALONE=y
425CONFIG_PREVENT_FIRMWARE_BUILD=y
426CONFIG_FW_LOADER=m
427# CONFIG_SYS_HYPERVISOR is not set
428CONFIG_CONNECTOR=m
429# CONFIG_MTD is not set
430# CONFIG_PARPORT is not set
431CONFIG_BLK_DEV=y
432# CONFIG_BLK_DEV_COW_COMMON is not set
433CONFIG_BLK_DEV_LOOP=y
434CONFIG_BLK_DEV_CRYPTOLOOP=m
435CONFIG_BLK_DEV_NBD=m
436CONFIG_BLK_DEV_RAM=y
437CONFIG_BLK_DEV_RAM_COUNT=16
438CONFIG_BLK_DEV_RAM_SIZE=4096
439# CONFIG_BLK_DEV_XIP is not set
440CONFIG_CDROM_PKTCDVD=m
441CONFIG_CDROM_PKTCDVD_BUFFERS=8
442# CONFIG_CDROM_PKTCDVD_WCACHE is not set
443CONFIG_ATA_OVER_ETH=m
444CONFIG_MISC_DEVICES=y
445# CONFIG_EEPROM_93CX6 is not set
446# CONFIG_ENCLOSURE_SERVICES is not set
447CONFIG_HAVE_IDE=y
448# CONFIG_IDE is not set
421 449
422# 450#
423# Token Ring devices 451# SCSI device support
424# 452#
453CONFIG_RAID_ATTRS=m
454CONFIG_SCSI=y
455CONFIG_SCSI_DMA=y
456CONFIG_SCSI_TGT=m
457# CONFIG_SCSI_NETLINK is not set
458CONFIG_SCSI_PROC_FS=y
425 459
426# 460#
427# Wireless LAN (non-hamradio) 461# SCSI support type (disk, tape, CD-ROM)
428# 462#
429# CONFIG_NET_RADIO is not set 463CONFIG_BLK_DEV_SD=y
464CONFIG_CHR_DEV_ST=m
465CONFIG_CHR_DEV_OSST=m
466CONFIG_BLK_DEV_SR=y
467CONFIG_BLK_DEV_SR_VENDOR=y
468CONFIG_CHR_DEV_SG=m
469# CONFIG_CHR_DEV_SCH is not set
470
471#
472# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
473#
474# CONFIG_SCSI_MULTI_LUN is not set
475CONFIG_SCSI_CONSTANTS=y
476# CONFIG_SCSI_LOGGING is not set
477# CONFIG_SCSI_SCAN_ASYNC is not set
478CONFIG_SCSI_WAIT_SCAN=m
479
480#
481# SCSI Transports
482#
483# CONFIG_SCSI_SPI_ATTRS is not set
484# CONFIG_SCSI_FC_ATTRS is not set
485CONFIG_SCSI_ISCSI_ATTRS=m
486CONFIG_SCSI_SAS_ATTRS=m
487CONFIG_SCSI_SAS_LIBSAS=m
488CONFIG_SCSI_SAS_HOST_SMP=y
489# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
490CONFIG_SCSI_SRP_ATTRS=m
491CONFIG_SCSI_SRP_TGT_ATTRS=y
492CONFIG_SCSI_LOWLEVEL=y
493CONFIG_ISCSI_TCP=m
494# CONFIG_SCSI_DEBUG is not set
495CONFIG_MD=y
496CONFIG_BLK_DEV_MD=m
497CONFIG_MD_LINEAR=m
498CONFIG_MD_RAID0=m
499CONFIG_MD_RAID1=m
500# CONFIG_MD_RAID10 is not set
501CONFIG_MD_RAID456=m
502CONFIG_MD_RAID5_RESHAPE=y
503CONFIG_MD_MULTIPATH=m
504# CONFIG_MD_FAULTY is not set
505CONFIG_BLK_DEV_DM=m
506# CONFIG_DM_DEBUG is not set
507CONFIG_DM_CRYPT=m
508CONFIG_DM_SNAPSHOT=m
509CONFIG_DM_MIRROR=m
510CONFIG_DM_ZERO=m
511CONFIG_DM_MULTIPATH=m
512CONFIG_DM_MULTIPATH_EMC=m
513CONFIG_DM_MULTIPATH_RDAC=m
514CONFIG_DM_MULTIPATH_HP=m
515# CONFIG_DM_DELAY is not set
516CONFIG_DM_UEVENT=y
517CONFIG_NETDEVICES=y
518# CONFIG_NETDEVICES_MULTIQUEUE is not set
519CONFIG_DUMMY=m
520# CONFIG_BONDING is not set
521CONFIG_MACVLAN=m
522CONFIG_EQUALIZER=m
523# CONFIG_TUN is not set
524CONFIG_VETH=m
525# CONFIG_PHYLIB is not set
526CONFIG_NET_ETHERNET=y
527# CONFIG_MII is not set
528CONFIG_APOLLO_ELPLUS=y
529# CONFIG_IBM_NEW_EMAC_ZMII is not set
530# CONFIG_IBM_NEW_EMAC_RGMII is not set
531# CONFIG_IBM_NEW_EMAC_TAH is not set
532# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
533# CONFIG_B44 is not set
534# CONFIG_NETDEV_1000 is not set
535# CONFIG_NETDEV_10000 is not set
430 536
431# 537#
432# Wan interfaces 538# Wireless LAN
433# 539#
540# CONFIG_WLAN_PRE80211 is not set
541# CONFIG_WLAN_80211 is not set
434# CONFIG_WAN is not set 542# CONFIG_WAN is not set
435CONFIG_PPP=m 543CONFIG_PPP=m
436# CONFIG_PPP_MULTILINK is not set 544# CONFIG_PPP_MULTILINK is not set
@@ -439,28 +547,28 @@ CONFIG_PPP_ASYNC=m
439CONFIG_PPP_SYNC_TTY=m 547CONFIG_PPP_SYNC_TTY=m
440CONFIG_PPP_DEFLATE=m 548CONFIG_PPP_DEFLATE=m
441CONFIG_PPP_BSDCOMP=m 549CONFIG_PPP_BSDCOMP=m
550CONFIG_PPP_MPPE=m
442CONFIG_PPPOE=m 551CONFIG_PPPOE=m
552CONFIG_PPPOL2TP=m
443CONFIG_SLIP=m 553CONFIG_SLIP=m
444CONFIG_SLIP_COMPRESSED=y 554CONFIG_SLIP_COMPRESSED=y
555CONFIG_SLHC=m
445CONFIG_SLIP_SMART=y 556CONFIG_SLIP_SMART=y
446CONFIG_SLIP_MODE_SLIP6=y 557CONFIG_SLIP_MODE_SLIP6=y
447CONFIG_SHAPER=m
448CONFIG_NETCONSOLE=m 558CONFIG_NETCONSOLE=m
449 559CONFIG_NETCONSOLE_DYNAMIC=y
450# 560CONFIG_NETPOLL=y
451# ISDN subsystem 561# CONFIG_NETPOLL_TRAP is not set
452# 562CONFIG_NET_POLL_CONTROLLER=y
453# CONFIG_ISDN is not set 563# CONFIG_ISDN is not set
454
455#
456# Telephony Support
457#
458# CONFIG_PHONE is not set 564# CONFIG_PHONE is not set
459 565
460# 566#
461# Input device support 567# Input device support
462# 568#
463CONFIG_INPUT=y 569CONFIG_INPUT=y
570CONFIG_INPUT_FF_MEMLESS=m
571# CONFIG_INPUT_POLLDEV is not set
464 572
465# 573#
466# Userland interfaces 574# Userland interfaces
@@ -470,7 +578,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
470CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 578CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
471CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 579CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
472# CONFIG_INPUT_JOYDEV is not set 580# CONFIG_INPUT_JOYDEV is not set
473# CONFIG_INPUT_TSDEV is not set
474# CONFIG_INPUT_EVDEV is not set 581# CONFIG_INPUT_EVDEV is not set
475# CONFIG_INPUT_EVBUG is not set 582# CONFIG_INPUT_EVBUG is not set
476 583
@@ -483,11 +590,19 @@ CONFIG_INPUT_KEYBOARD=y
483# CONFIG_KEYBOARD_LKKBD is not set 590# CONFIG_KEYBOARD_LKKBD is not set
484# CONFIG_KEYBOARD_XTKBD is not set 591# CONFIG_KEYBOARD_XTKBD is not set
485# CONFIG_KEYBOARD_NEWTON is not set 592# CONFIG_KEYBOARD_NEWTON is not set
593# CONFIG_KEYBOARD_STOWAWAY is not set
486CONFIG_INPUT_MOUSE=y 594CONFIG_INPUT_MOUSE=y
487CONFIG_MOUSE_PS2=m 595CONFIG_MOUSE_PS2=m
596CONFIG_MOUSE_PS2_ALPS=y
597CONFIG_MOUSE_PS2_LOGIPS2PP=y
598CONFIG_MOUSE_PS2_SYNAPTICS=y
599CONFIG_MOUSE_PS2_LIFEBOOK=y
600CONFIG_MOUSE_PS2_TRACKPOINT=y
601# CONFIG_MOUSE_PS2_TOUCHKIT is not set
488CONFIG_MOUSE_SERIAL=m 602CONFIG_MOUSE_SERIAL=m
489# CONFIG_MOUSE_VSXXXAA is not set 603# CONFIG_MOUSE_VSXXXAA is not set
490# CONFIG_INPUT_JOYSTICK is not set 604# CONFIG_INPUT_JOYSTICK is not set
605# CONFIG_INPUT_TABLET is not set
491# CONFIG_INPUT_TOUCHSCREEN is not set 606# CONFIG_INPUT_TOUCHSCREEN is not set
492# CONFIG_INPUT_MISC is not set 607# CONFIG_INPUT_MISC is not set
493 608
@@ -495,7 +610,7 @@ CONFIG_MOUSE_SERIAL=m
495# Hardware I/O ports 610# Hardware I/O ports
496# 611#
497CONFIG_SERIO=m 612CONFIG_SERIO=m
498CONFIG_SERIO_SERPORT=m 613# CONFIG_SERIO_SERPORT is not set
499CONFIG_SERIO_LIBPS2=m 614CONFIG_SERIO_LIBPS2=m
500# CONFIG_SERIO_RAW is not set 615# CONFIG_SERIO_RAW is not set
501# CONFIG_GAMEPORT is not set 616# CONFIG_GAMEPORT is not set
@@ -506,6 +621,7 @@ CONFIG_SERIO_LIBPS2=m
506CONFIG_VT=y 621CONFIG_VT=y
507CONFIG_VT_CONSOLE=y 622CONFIG_VT_CONSOLE=y
508CONFIG_HW_CONSOLE=y 623CONFIG_HW_CONSOLE=y
624CONFIG_VT_HW_CONSOLE_BINDING=y
509# CONFIG_SERIAL_NONSTANDARD is not set 625# CONFIG_SERIAL_NONSTANDARD is not set
510 626
511# 627#
@@ -519,90 +635,114 @@ CONFIG_HW_CONSOLE=y
519CONFIG_UNIX98_PTYS=y 635CONFIG_UNIX98_PTYS=y
520CONFIG_LEGACY_PTYS=y 636CONFIG_LEGACY_PTYS=y
521CONFIG_LEGACY_PTY_COUNT=256 637CONFIG_LEGACY_PTY_COUNT=256
522
523#
524# IPMI
525#
526# CONFIG_IPMI_HANDLER is not set 638# CONFIG_IPMI_HANDLER is not set
527 639# CONFIG_HW_RANDOM is not set
528# 640CONFIG_GEN_RTC=m
529# Watchdog Cards
530#
531# CONFIG_WATCHDOG is not set
532CONFIG_GEN_RTC=y
533CONFIG_GEN_RTC_X=y 641CONFIG_GEN_RTC_X=y
534# CONFIG_DTLK is not set
535# CONFIG_R3964 is not set 642# CONFIG_R3964 is not set
536
537#
538# Ftape, the floppy tape device driver
539#
540# CONFIG_DRM is not set
541# CONFIG_RAW_DRIVER is not set 643# CONFIG_RAW_DRIVER is not set
644# CONFIG_TCG_TPM is not set
645# CONFIG_I2C is not set
542 646
543# 647#
544# TPM devices 648# SPI support
545# 649#
650# CONFIG_SPI is not set
651# CONFIG_SPI_MASTER is not set
652# CONFIG_W1 is not set
653# CONFIG_POWER_SUPPLY is not set
654# CONFIG_HWMON is not set
655# CONFIG_THERMAL is not set
656# CONFIG_WATCHDOG is not set
546 657
547# 658#
548# I2C support 659# Sonics Silicon Backplane
549# 660#
550# CONFIG_I2C is not set 661CONFIG_SSB_POSSIBLE=y
662# CONFIG_SSB is not set
551 663
552# 664#
553# Dallas's 1-wire bus 665# Multifunction device drivers
554# 666#
555# CONFIG_W1 is not set 667# CONFIG_MFD_SM501 is not set
556 668
557# 669#
558# Misc devices 670# Multimedia devices
559# 671#
672# CONFIG_VIDEO_DEV is not set
673# CONFIG_DVB_CORE is not set
674# CONFIG_DAB is not set
560 675
561# 676#
562# Multimedia devices 677# Graphics support
563# 678#
564# CONFIG_VIDEO_DEV is not set 679# CONFIG_VGASTATE is not set
680# CONFIG_VIDEO_OUTPUT_CONTROL is not set
681CONFIG_FB=y
682# CONFIG_FIRMWARE_EDID is not set
683# CONFIG_FB_DDC is not set
684CONFIG_FB_CFB_FILLRECT=y
685# CONFIG_FB_CFB_COPYAREA is not set
686CONFIG_FB_CFB_IMAGEBLIT=y
687# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
688# CONFIG_FB_SYS_FILLRECT is not set
689# CONFIG_FB_SYS_COPYAREA is not set
690# CONFIG_FB_SYS_IMAGEBLIT is not set
691# CONFIG_FB_SYS_FOPS is not set
692CONFIG_FB_DEFERRED_IO=y
693# CONFIG_FB_SVGALIB is not set
694# CONFIG_FB_MACMODES is not set
695# CONFIG_FB_BACKLIGHT is not set
696# CONFIG_FB_MODE_HELPERS is not set
697# CONFIG_FB_TILEBLITTING is not set
565 698
566# 699#
567# Digital Video Broadcasting Devices 700# Frame buffer hardware drivers
568# 701#
569# CONFIG_DVB is not set 702CONFIG_FB_APOLLO=y
703# CONFIG_FB_UVESA is not set
704# CONFIG_FB_S1D13XXX is not set
705# CONFIG_FB_VIRTUAL is not set
706# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
570 707
571# 708#
572# Graphics support 709# Display device support
573# 710#
574# CONFIG_FB is not set 711# CONFIG_DISPLAY_SUPPORT is not set
575 712
576# 713#
577# Console display driver support 714# Console display driver support
578# 715#
579CONFIG_DUMMY_CONSOLE=y 716CONFIG_DUMMY_CONSOLE=y
717CONFIG_FRAMEBUFFER_CONSOLE=y
718# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
719# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
720# CONFIG_FONTS is not set
721CONFIG_FONT_8x8=y
722CONFIG_FONT_8x16=y
723CONFIG_LOGO=y
724CONFIG_LOGO_LINUX_MONO=y
725# CONFIG_LOGO_LINUX_VGA16 is not set
726# CONFIG_LOGO_LINUX_CLUT224 is not set
580 727
581# 728#
582# Sound 729# Sound
583# 730#
584# CONFIG_SOUND is not set 731# CONFIG_SOUND is not set
585 732CONFIG_HID_SUPPORT=y
586# 733CONFIG_HID=m
587# USB support 734# CONFIG_HID_DEBUG is not set
588# 735CONFIG_HIDRAW=y
589# CONFIG_USB_ARCH_HAS_HCD is not set 736# CONFIG_USB_SUPPORT is not set
590# CONFIG_USB_ARCH_HAS_OHCI is not set
591
592#
593# USB Gadget Support
594#
595# CONFIG_USB_GADGET is not set
596
597#
598# MMC/SD Card support
599#
600# CONFIG_MMC is not set 737# CONFIG_MMC is not set
738# CONFIG_MEMSTICK is not set
739# CONFIG_NEW_LEDS is not set
740# CONFIG_RTC_CLASS is not set
601 741
602# 742#
603# InfiniBand support 743# Userspace I/O
604# 744#
605# CONFIG_INFINIBAND is not set 745# CONFIG_UIO is not set
606 746
607# 747#
608# Character devices 748# Character devices
@@ -615,10 +755,11 @@ CONFIG_SERIAL_CONSOLE=y
615# 755#
616CONFIG_EXT2_FS=y 756CONFIG_EXT2_FS=y
617# CONFIG_EXT2_FS_XATTR is not set 757# CONFIG_EXT2_FS_XATTR is not set
758# CONFIG_EXT2_FS_XIP is not set
618CONFIG_EXT3_FS=y 759CONFIG_EXT3_FS=y
619# CONFIG_EXT3_FS_XATTR is not set 760# CONFIG_EXT3_FS_XATTR is not set
761# CONFIG_EXT4DEV_FS is not set
620CONFIG_JBD=y 762CONFIG_JBD=y
621# CONFIG_JBD_DEBUG is not set
622CONFIG_REISERFS_FS=m 763CONFIG_REISERFS_FS=m
623# CONFIG_REISERFS_CHECK is not set 764# CONFIG_REISERFS_CHECK is not set
624# CONFIG_REISERFS_PROC_INFO is not set 765# CONFIG_REISERFS_PROC_INFO is not set
@@ -629,25 +770,29 @@ CONFIG_JFS_FS=m
629# CONFIG_JFS_DEBUG is not set 770# CONFIG_JFS_DEBUG is not set
630# CONFIG_JFS_STATISTICS is not set 771# CONFIG_JFS_STATISTICS is not set
631CONFIG_FS_POSIX_ACL=y 772CONFIG_FS_POSIX_ACL=y
632
633#
634# XFS support
635#
636CONFIG_XFS_FS=m 773CONFIG_XFS_FS=m
637CONFIG_XFS_EXPORT=y
638# CONFIG_XFS_RT is not set
639# CONFIG_XFS_QUOTA is not set 774# CONFIG_XFS_QUOTA is not set
640# CONFIG_XFS_SECURITY is not set 775# CONFIG_XFS_SECURITY is not set
641# CONFIG_XFS_POSIX_ACL is not set 776# CONFIG_XFS_POSIX_ACL is not set
642CONFIG_MINIX_FS=y 777# CONFIG_XFS_RT is not set
643# CONFIG_ROMFS_FS is not set 778CONFIG_GFS2_FS=m
779CONFIG_GFS2_FS_LOCKING_NOLOCK=m
780CONFIG_GFS2_FS_LOCKING_DLM=m
781CONFIG_OCFS2_FS=m
782# CONFIG_OCFS2_DEBUG_MASKLOG is not set
783# CONFIG_OCFS2_DEBUG_FS is not set
784CONFIG_DNOTIFY=y
785CONFIG_INOTIFY=y
786CONFIG_INOTIFY_USER=y
644CONFIG_QUOTA=y 787CONFIG_QUOTA=y
788CONFIG_QUOTA_NETLINK_INTERFACE=y
789# CONFIG_PRINT_QUOTA_WARNING is not set
645# CONFIG_QFMT_V1 is not set 790# CONFIG_QFMT_V1 is not set
646# CONFIG_QFMT_V2 is not set 791# CONFIG_QFMT_V2 is not set
647CONFIG_QUOTACTL=y 792CONFIG_QUOTACTL=y
648CONFIG_DNOTIFY=y
649CONFIG_AUTOFS_FS=m 793CONFIG_AUTOFS_FS=m
650CONFIG_AUTOFS4_FS=m 794CONFIG_AUTOFS4_FS=m
795CONFIG_FUSE_FS=m
651 796
652# 797#
653# CD-ROM/DVD Filesystems 798# CD-ROM/DVD Filesystems
@@ -655,7 +800,6 @@ CONFIG_AUTOFS4_FS=m
655CONFIG_ISO9660_FS=y 800CONFIG_ISO9660_FS=y
656CONFIG_JOLIET=y 801CONFIG_JOLIET=y
657CONFIG_ZISOFS=y 802CONFIG_ZISOFS=y
658CONFIG_ZISOFS_FS=y
659CONFIG_UDF_FS=m 803CONFIG_UDF_FS=m
660CONFIG_UDF_NLS=y 804CONFIG_UDF_NLS=y
661 805
@@ -674,13 +818,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
674# 818#
675CONFIG_PROC_FS=y 819CONFIG_PROC_FS=y
676CONFIG_PROC_KCORE=y 820CONFIG_PROC_KCORE=y
821CONFIG_PROC_SYSCTL=y
677CONFIG_SYSFS=y 822CONFIG_SYSFS=y
678# CONFIG_DEVFS_FS is not set
679# CONFIG_DEVPTS_FS_XATTR is not set
680CONFIG_TMPFS=y 823CONFIG_TMPFS=y
681# CONFIG_TMPFS_XATTR is not set 824# CONFIG_TMPFS_POSIX_ACL is not set
682# CONFIG_HUGETLB_PAGE is not set 825# CONFIG_HUGETLB_PAGE is not set
683CONFIG_RAMFS=y 826CONFIG_CONFIGFS_FS=m
684 827
685# 828#
686# Miscellaneous filesystems 829# Miscellaneous filesystems
@@ -694,44 +837,40 @@ CONFIG_HFSPLUS_FS=m
694# CONFIG_EFS_FS is not set 837# CONFIG_EFS_FS is not set
695CONFIG_CRAMFS=m 838CONFIG_CRAMFS=m
696# CONFIG_VXFS_FS is not set 839# CONFIG_VXFS_FS is not set
840CONFIG_MINIX_FS=y
697CONFIG_HPFS_FS=m 841CONFIG_HPFS_FS=m
698# CONFIG_QNX4FS_FS is not set 842# CONFIG_QNX4FS_FS is not set
843# CONFIG_ROMFS_FS is not set
699CONFIG_SYSV_FS=m 844CONFIG_SYSV_FS=m
700CONFIG_UFS_FS=m 845CONFIG_UFS_FS=m
701# CONFIG_UFS_FS_WRITE is not set 846# CONFIG_UFS_FS_WRITE is not set
702 847# CONFIG_UFS_DEBUG is not set
703# 848CONFIG_NETWORK_FILESYSTEMS=y
704# Network File Systems
705#
706CONFIG_NFS_FS=y 849CONFIG_NFS_FS=y
707CONFIG_NFS_V3=y 850CONFIG_NFS_V3=y
851# CONFIG_NFS_V3_ACL is not set
708CONFIG_NFS_V4=y 852CONFIG_NFS_V4=y
709# CONFIG_NFS_DIRECTIO is not set 853# CONFIG_NFS_DIRECTIO is not set
710CONFIG_NFSD=m 854CONFIG_NFSD=m
711CONFIG_NFSD_V3=y 855CONFIG_NFSD_V3=y
712CONFIG_NFSD_V4=y 856# CONFIG_NFSD_V3_ACL is not set
857# CONFIG_NFSD_V4 is not set
713CONFIG_NFSD_TCP=y 858CONFIG_NFSD_TCP=y
714CONFIG_ROOT_NFS=y 859CONFIG_ROOT_NFS=y
715CONFIG_LOCKD=y 860CONFIG_LOCKD=y
716CONFIG_LOCKD_V4=y 861CONFIG_LOCKD_V4=y
717CONFIG_EXPORTFS=m 862CONFIG_EXPORTFS=m
863CONFIG_NFS_COMMON=y
718CONFIG_SUNRPC=y 864CONFIG_SUNRPC=y
719CONFIG_SUNRPC_GSS=y 865CONFIG_SUNRPC_GSS=y
866CONFIG_SUNRPC_BIND34=y
720CONFIG_RPCSEC_GSS_KRB5=y 867CONFIG_RPCSEC_GSS_KRB5=y
721# CONFIG_RPCSEC_GSS_SPKM3 is not set 868# CONFIG_RPCSEC_GSS_SPKM3 is not set
722CONFIG_SMB_FS=m 869CONFIG_SMB_FS=m
723CONFIG_SMB_NLS_DEFAULT=y 870CONFIG_SMB_NLS_DEFAULT=y
724CONFIG_SMB_NLS_REMOTE="cp437" 871CONFIG_SMB_NLS_REMOTE="cp437"
725# CONFIG_CIFS is not set 872# CONFIG_CIFS is not set
726CONFIG_NCP_FS=m 873# CONFIG_NCP_FS is not set
727# CONFIG_NCPFS_PACKET_SIGNING is not set
728# CONFIG_NCPFS_IOCTL_LOCKING is not set
729# CONFIG_NCPFS_STRONG is not set
730CONFIG_NCPFS_NFS_NS=y
731CONFIG_NCPFS_OS2_NS=y
732# CONFIG_NCPFS_SMALLDOS is not set
733CONFIG_NCPFS_NLS=y
734# CONFIG_NCPFS_EXTRAS is not set
735CONFIG_CODA_FS=m 874CONFIG_CODA_FS=m
736# CONFIG_CODA_FS_OLD_API is not set 875# CONFIG_CODA_FS_OLD_API is not set
737# CONFIG_AFS_FS is not set 876# CONFIG_AFS_FS is not set
@@ -741,10 +880,6 @@ CONFIG_CODA_FS=m
741# 880#
742# CONFIG_PARTITION_ADVANCED is not set 881# CONFIG_PARTITION_ADVANCED is not set
743CONFIG_MSDOS_PARTITION=y 882CONFIG_MSDOS_PARTITION=y
744
745#
746# Native Language Support
747#
748CONFIG_NLS=y 883CONFIG_NLS=y
749CONFIG_NLS_DEFAULT="iso8859-1" 884CONFIG_NLS_DEFAULT="iso8859-1"
750CONFIG_NLS_CODEPAGE_437=y 885CONFIG_NLS_CODEPAGE_437=y
@@ -785,35 +920,42 @@ CONFIG_NLS_ISO8859_15=m
785CONFIG_NLS_KOI8_R=m 920CONFIG_NLS_KOI8_R=m
786CONFIG_NLS_KOI8_U=m 921CONFIG_NLS_KOI8_U=m
787CONFIG_NLS_UTF8=m 922CONFIG_NLS_UTF8=m
923CONFIG_DLM=m
924# CONFIG_DLM_DEBUG is not set
788 925
789# 926#
790# Kernel hacking 927# Kernel hacking
791# 928#
792# CONFIG_PRINTK_TIME is not set 929# CONFIG_PRINTK_TIME is not set
793CONFIG_DEBUG_KERNEL=y 930CONFIG_ENABLE_WARN_DEPRECATED=y
931CONFIG_ENABLE_MUST_CHECK=y
794CONFIG_MAGIC_SYSRQ=y 932CONFIG_MAGIC_SYSRQ=y
795CONFIG_LOG_BUF_SHIFT=16 933# CONFIG_UNUSED_SYMBOLS is not set
796# CONFIG_SCHEDSTATS is not set
797# CONFIG_DEBUG_SLAB is not set
798# CONFIG_DEBUG_SPINLOCK is not set
799# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
800# CONFIG_DEBUG_KOBJECT is not set
801CONFIG_DEBUG_BUGVERBOSE=y
802# CONFIG_DEBUG_INFO is not set
803# CONFIG_DEBUG_FS is not set 934# CONFIG_DEBUG_FS is not set
804# CONFIG_FRAME_POINTER is not set 935# CONFIG_HEADERS_CHECK is not set
936# CONFIG_DEBUG_KERNEL is not set
937CONFIG_DEBUG_BUGVERBOSE=y
938# CONFIG_SAMPLES is not set
805 939
806# 940#
807# Security options 941# Security options
808# 942#
809# CONFIG_KEYS is not set 943# CONFIG_KEYS is not set
810# CONFIG_SECURITY is not set 944# CONFIG_SECURITY is not set
811 945# CONFIG_SECURITY_FILE_CAPABILITIES is not set
812# 946CONFIG_XOR_BLOCKS=m
813# Cryptographic options 947CONFIG_ASYNC_CORE=m
814# 948CONFIG_ASYNC_MEMCPY=m
949CONFIG_ASYNC_XOR=m
815CONFIG_CRYPTO=y 950CONFIG_CRYPTO=y
951CONFIG_CRYPTO_ALGAPI=y
952CONFIG_CRYPTO_AEAD=m
953CONFIG_CRYPTO_BLKCIPHER=y
954CONFIG_CRYPTO_SEQIV=m
955CONFIG_CRYPTO_HASH=y
956CONFIG_CRYPTO_MANAGER=y
816CONFIG_CRYPTO_HMAC=y 957CONFIG_CRYPTO_HMAC=y
958CONFIG_CRYPTO_XCBC=m
817CONFIG_CRYPTO_NULL=m 959CONFIG_CRYPTO_NULL=m
818CONFIG_CRYPTO_MD4=m 960CONFIG_CRYPTO_MD4=m
819CONFIG_CRYPTO_MD5=y 961CONFIG_CRYPTO_MD5=y
@@ -822,9 +964,21 @@ CONFIG_CRYPTO_SHA256=m
822CONFIG_CRYPTO_SHA512=m 964CONFIG_CRYPTO_SHA512=m
823CONFIG_CRYPTO_WP512=m 965CONFIG_CRYPTO_WP512=m
824CONFIG_CRYPTO_TGR192=m 966CONFIG_CRYPTO_TGR192=m
967CONFIG_CRYPTO_GF128MUL=m
968CONFIG_CRYPTO_ECB=m
969CONFIG_CRYPTO_CBC=y
970CONFIG_CRYPTO_PCBC=m
971CONFIG_CRYPTO_LRW=m
972CONFIG_CRYPTO_XTS=m
973CONFIG_CRYPTO_CTR=m
974CONFIG_CRYPTO_GCM=m
975CONFIG_CRYPTO_CCM=m
976CONFIG_CRYPTO_CRYPTD=m
825CONFIG_CRYPTO_DES=y 977CONFIG_CRYPTO_DES=y
978CONFIG_CRYPTO_FCRYPT=m
826CONFIG_CRYPTO_BLOWFISH=m 979CONFIG_CRYPTO_BLOWFISH=m
827CONFIG_CRYPTO_TWOFISH=m 980CONFIG_CRYPTO_TWOFISH=m
981CONFIG_CRYPTO_TWOFISH_COMMON=m
828CONFIG_CRYPTO_SERPENT=m 982CONFIG_CRYPTO_SERPENT=m
829CONFIG_CRYPTO_AES=m 983CONFIG_CRYPTO_AES=m
830CONFIG_CRYPTO_CAST5=m 984CONFIG_CRYPTO_CAST5=m
@@ -833,20 +987,35 @@ CONFIG_CRYPTO_TEA=m
833CONFIG_CRYPTO_ARC4=m 987CONFIG_CRYPTO_ARC4=m
834CONFIG_CRYPTO_KHAZAD=m 988CONFIG_CRYPTO_KHAZAD=m
835CONFIG_CRYPTO_ANUBIS=m 989CONFIG_CRYPTO_ANUBIS=m
990CONFIG_CRYPTO_SEED=m
991CONFIG_CRYPTO_SALSA20=m
836CONFIG_CRYPTO_DEFLATE=m 992CONFIG_CRYPTO_DEFLATE=m
837CONFIG_CRYPTO_MICHAEL_MIC=m 993CONFIG_CRYPTO_MICHAEL_MIC=m
838CONFIG_CRYPTO_CRC32C=m 994CONFIG_CRYPTO_CRC32C=m
995CONFIG_CRYPTO_CAMELLIA=m
839CONFIG_CRYPTO_TEST=m 996CONFIG_CRYPTO_TEST=m
840 997CONFIG_CRYPTO_AUTHENC=m
841# 998CONFIG_CRYPTO_LZO=m
842# Hardware crypto devices 999# CONFIG_CRYPTO_HW is not set
843#
844 1000
845# 1001#
846# Library routines 1002# Library routines
847# 1003#
1004CONFIG_BITREVERSE=y
848CONFIG_CRC_CCITT=m 1005CONFIG_CRC_CCITT=m
1006CONFIG_CRC16=m
1007# CONFIG_CRC_ITU_T is not set
849CONFIG_CRC32=y 1008CONFIG_CRC32=y
1009# CONFIG_CRC7 is not set
850CONFIG_LIBCRC32C=m 1010CONFIG_LIBCRC32C=m
851CONFIG_ZLIB_INFLATE=y 1011CONFIG_ZLIB_INFLATE=y
852CONFIG_ZLIB_DEFLATE=m 1012CONFIG_ZLIB_DEFLATE=m
1013CONFIG_LZO_COMPRESS=m
1014CONFIG_LZO_DECOMPRESS=m
1015CONFIG_TEXTSEARCH=y
1016CONFIG_TEXTSEARCH_KMP=m
1017CONFIG_TEXTSEARCH_BM=m
1018CONFIG_TEXTSEARCH_FSM=m
1019CONFIG_PLIST=y
1020CONFIG_HAS_IOMEM=y
1021CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig
index 6433da2d2ce..ba7f971bb02 100644
--- a/arch/m68k/configs/atari_defconfig
+++ b/arch/m68k/configs/atari_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:32 2005 4# Wed Apr 2 20:46:09 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-atari" 27CONFIG_LOCALVERSION="-atari"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -80,10 +128,24 @@ CONFIG_M68030=y
80CONFIG_M68040=y 128CONFIG_M68040=y
81CONFIG_M68060=y 129CONFIG_M68060=y
82CONFIG_MMU_MOTOROLA=y 130CONFIG_MMU_MOTOROLA=y
83CONFIG_M68KFPU_EMU=y 131# CONFIG_M68KFPU_EMU is not set
84CONFIG_M68KFPU_EMU_EXTRAPREC=y
85# CONFIG_M68KFPU_EMU_ONLY is not set
86# CONFIG_ADVANCED is not set 132# CONFIG_ADVANCED is not set
133CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
134CONFIG_NODES_SHIFT=3
135CONFIG_SELECT_MEMORY_MODEL=y
136# CONFIG_FLATMEM_MANUAL is not set
137CONFIG_DISCONTIGMEM_MANUAL=y
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_DISCONTIGMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141CONFIG_NEED_MULTIPLE_NODES=y
142# CONFIG_SPARSEMEM_STATIC is not set
143# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
146CONFIG_ZONE_DMA_FLAG=1
147CONFIG_BOUNCE=y
148CONFIG_VIRT_TO_BUS=y
87 149
88# 150#
89# General setup 151# General setup
@@ -94,166 +156,11 @@ CONFIG_BINFMT_MISC=m
94CONFIG_STRAM_PROC=y 156CONFIG_STRAM_PROC=y
95CONFIG_HEARTBEAT=y 157CONFIG_HEARTBEAT=y
96CONFIG_PROC_HARDWARE=y 158CONFIG_PROC_HARDWARE=y
159CONFIG_ZONE_DMA=y
160# CONFIG_ARCH_SUPPORTS_MSI is not set
97 161
98# 162#
99# Device Drivers 163# Networking
100#
101
102#
103# Generic Driver Options
104#
105CONFIG_STANDALONE=y
106CONFIG_PREVENT_FIRMWARE_BUILD=y
107CONFIG_FW_LOADER=m
108# CONFIG_DEBUG_DRIVER is not set
109
110#
111# Memory Technology Devices (MTD)
112#
113# CONFIG_MTD is not set
114
115#
116# Parallel port support
117#
118CONFIG_PARPORT=m
119# CONFIG_PARPORT_PC is not set
120CONFIG_PARPORT_NOT_PC=y
121CONFIG_PARPORT_ATARI=m
122# CONFIG_PARPORT_GSC is not set
123CONFIG_PARPORT_1284=y
124
125#
126# Plug and Play support
127#
128
129#
130# Block devices
131#
132CONFIG_ATARI_FLOPPY=y
133# CONFIG_PARIDE is not set
134# CONFIG_BLK_DEV_COW_COMMON is not set
135CONFIG_BLK_DEV_LOOP=y
136CONFIG_BLK_DEV_CRYPTOLOOP=m
137CONFIG_BLK_DEV_NBD=m
138CONFIG_BLK_DEV_RAM=y
139CONFIG_BLK_DEV_RAM_COUNT=16
140CONFIG_BLK_DEV_RAM_SIZE=4096
141CONFIG_BLK_DEV_INITRD=y
142CONFIG_INITRAMFS_SOURCE=""
143CONFIG_CDROM_PKTCDVD=m
144CONFIG_CDROM_PKTCDVD_BUFFERS=8
145# CONFIG_CDROM_PKTCDVD_WCACHE is not set
146
147#
148# IO Schedulers
149#
150CONFIG_IOSCHED_NOOP=y
151CONFIG_IOSCHED_AS=y
152CONFIG_IOSCHED_DEADLINE=y
153CONFIG_IOSCHED_CFQ=y
154CONFIG_ATA_OVER_ETH=m
155
156#
157# ATA/ATAPI/MFM/RLL support
158#
159CONFIG_IDE=y
160CONFIG_BLK_DEV_IDE=y
161
162#
163# Please see Documentation/ide.txt for help/info on IDE drives
164#
165# CONFIG_BLK_DEV_IDE_SATA is not set
166CONFIG_BLK_DEV_IDEDISK=y
167# CONFIG_IDEDISK_MULTI_MODE is not set
168CONFIG_BLK_DEV_IDECD=y
169CONFIG_BLK_DEV_IDETAPE=m
170CONFIG_BLK_DEV_IDEFLOPPY=m
171# CONFIG_BLK_DEV_IDESCSI is not set
172# CONFIG_IDE_TASK_IOCTL is not set
173
174#
175# IDE chipset support/bugfixes
176#
177CONFIG_IDE_GENERIC=y
178# CONFIG_IDE_ARM is not set
179CONFIG_BLK_DEV_FALCON_IDE=y
180# CONFIG_BLK_DEV_IDEDMA is not set
181# CONFIG_IDEDMA_AUTO is not set
182# CONFIG_BLK_DEV_HD is not set
183
184#
185# SCSI device support
186#
187CONFIG_SCSI=y
188CONFIG_SCSI_PROC_FS=y
189
190#
191# SCSI support type (disk, tape, CD-ROM)
192#
193CONFIG_BLK_DEV_SD=y
194CONFIG_CHR_DEV_ST=m
195# CONFIG_CHR_DEV_OSST is not set
196CONFIG_BLK_DEV_SR=y
197CONFIG_BLK_DEV_SR_VENDOR=y
198CONFIG_CHR_DEV_SG=m
199
200#
201# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
202#
203# CONFIG_SCSI_MULTI_LUN is not set
204CONFIG_SCSI_CONSTANTS=y
205# CONFIG_SCSI_LOGGING is not set
206
207#
208# SCSI Transport Attributes
209#
210# CONFIG_SCSI_SPI_ATTRS is not set
211# CONFIG_SCSI_FC_ATTRS is not set
212# CONFIG_SCSI_ISCSI_ATTRS is not set
213
214#
215# SCSI low-level drivers
216#
217# CONFIG_SCSI_SATA is not set
218# CONFIG_SCSI_PPA is not set
219# CONFIG_SCSI_IMM is not set
220# CONFIG_SCSI_DEBUG is not set
221
222#
223# Multi-device support (RAID and LVM)
224#
225CONFIG_MD=y
226CONFIG_BLK_DEV_MD=m
227CONFIG_MD_LINEAR=m
228CONFIG_MD_RAID0=m
229CONFIG_MD_RAID1=m
230# CONFIG_MD_RAID10 is not set
231CONFIG_MD_RAID5=m
232CONFIG_MD_RAID6=m
233CONFIG_MD_MULTIPATH=m
234# CONFIG_MD_FAULTY is not set
235CONFIG_BLK_DEV_DM=m
236CONFIG_DM_CRYPT=m
237CONFIG_DM_SNAPSHOT=m
238CONFIG_DM_MIRROR=m
239CONFIG_DM_ZERO=m
240CONFIG_DM_MULTIPATH=m
241CONFIG_DM_MULTIPATH_EMC=m
242
243#
244# Fusion MPT device support
245#
246
247#
248# IEEE 1394 (FireWire) support
249#
250
251#
252# I2O device support
253#
254
255#
256# Networking support
257# 164#
258CONFIG_NET=y 165CONFIG_NET=y
259 166
@@ -263,10 +170,17 @@ CONFIG_NET=y
263CONFIG_PACKET=y 170CONFIG_PACKET=y
264# CONFIG_PACKET_MMAP is not set 171# CONFIG_PACKET_MMAP is not set
265CONFIG_UNIX=y 172CONFIG_UNIX=y
173CONFIG_XFRM=y
174# CONFIG_XFRM_USER is not set
175# CONFIG_XFRM_SUB_POLICY is not set
176CONFIG_XFRM_MIGRATE=y
177# CONFIG_XFRM_STATISTICS is not set
266CONFIG_NET_KEY=y 178CONFIG_NET_KEY=y
179CONFIG_NET_KEY_MIGRATE=y
267CONFIG_INET=y 180CONFIG_INET=y
268# CONFIG_IP_MULTICAST is not set 181# CONFIG_IP_MULTICAST is not set
269# CONFIG_IP_ADVANCED_ROUTER is not set 182# CONFIG_IP_ADVANCED_ROUTER is not set
183CONFIG_IP_FIB_HASH=y
270# CONFIG_IP_PNP is not set 184# CONFIG_IP_PNP is not set
271CONFIG_NET_IPIP=m 185CONFIG_NET_IPIP=m
272CONFIG_NET_IPGRE=m 186CONFIG_NET_IPGRE=m
@@ -275,145 +189,199 @@ CONFIG_SYN_COOKIES=y
275CONFIG_INET_AH=m 189CONFIG_INET_AH=m
276CONFIG_INET_ESP=m 190CONFIG_INET_ESP=m
277CONFIG_INET_IPCOMP=m 191CONFIG_INET_IPCOMP=m
192CONFIG_INET_XFRM_TUNNEL=m
278CONFIG_INET_TUNNEL=m 193CONFIG_INET_TUNNEL=m
279CONFIG_IP_TCPDIAG=m 194CONFIG_INET_XFRM_MODE_TRANSPORT=m
280CONFIG_IP_TCPDIAG_IPV6=y 195CONFIG_INET_XFRM_MODE_TUNNEL=m
281 196CONFIG_INET_XFRM_MODE_BEET=m
282# 197CONFIG_INET_LRO=m
283# IP: Virtual Server Configuration 198CONFIG_INET_DIAG=m
284# 199CONFIG_INET_TCP_DIAG=m
200# CONFIG_TCP_CONG_ADVANCED is not set
201CONFIG_TCP_CONG_CUBIC=y
202CONFIG_DEFAULT_TCP_CONG="cubic"
203# CONFIG_TCP_MD5SIG is not set
285# CONFIG_IP_VS is not set 204# CONFIG_IP_VS is not set
286CONFIG_IPV6=m 205CONFIG_IPV6=m
287CONFIG_IPV6_PRIVACY=y 206CONFIG_IPV6_PRIVACY=y
207CONFIG_IPV6_ROUTER_PREF=y
208CONFIG_IPV6_ROUTE_INFO=y
209# CONFIG_IPV6_OPTIMISTIC_DAD is not set
288CONFIG_INET6_AH=m 210CONFIG_INET6_AH=m
289CONFIG_INET6_ESP=m 211CONFIG_INET6_ESP=m
290CONFIG_INET6_IPCOMP=m 212CONFIG_INET6_IPCOMP=m
213# CONFIG_IPV6_MIP6 is not set
214CONFIG_INET6_XFRM_TUNNEL=m
291CONFIG_INET6_TUNNEL=m 215CONFIG_INET6_TUNNEL=m
216CONFIG_INET6_XFRM_MODE_TRANSPORT=m
217CONFIG_INET6_XFRM_MODE_TUNNEL=m
218CONFIG_INET6_XFRM_MODE_BEET=m
219CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
220CONFIG_IPV6_SIT=m
292CONFIG_IPV6_TUNNEL=m 221CONFIG_IPV6_TUNNEL=m
222# CONFIG_IPV6_MULTIPLE_TABLES is not set
223# CONFIG_NETWORK_SECMARK is not set
293CONFIG_NETFILTER=y 224CONFIG_NETFILTER=y
294# CONFIG_NETFILTER_DEBUG is not set 225# CONFIG_NETFILTER_DEBUG is not set
226CONFIG_NETFILTER_ADVANCED=y
227
228#
229# Core Netfilter Configuration
230#
231CONFIG_NETFILTER_NETLINK=m
232CONFIG_NETFILTER_NETLINK_QUEUE=m
233CONFIG_NETFILTER_NETLINK_LOG=m
234CONFIG_NF_CONNTRACK=m
235CONFIG_NF_CT_ACCT=y
236CONFIG_NF_CONNTRACK_MARK=y
237# CONFIG_NF_CONNTRACK_EVENTS is not set
238CONFIG_NF_CT_PROTO_GRE=m
239CONFIG_NF_CT_PROTO_SCTP=m
240CONFIG_NF_CT_PROTO_UDPLITE=m
241CONFIG_NF_CONNTRACK_AMANDA=m
242CONFIG_NF_CONNTRACK_FTP=m
243CONFIG_NF_CONNTRACK_H323=m
244CONFIG_NF_CONNTRACK_IRC=m
245CONFIG_NF_CONNTRACK_NETBIOS_NS=m
246CONFIG_NF_CONNTRACK_PPTP=m
247CONFIG_NF_CONNTRACK_SANE=m
248CONFIG_NF_CONNTRACK_SIP=m
249CONFIG_NF_CONNTRACK_TFTP=m
250# CONFIG_NF_CT_NETLINK is not set
251CONFIG_NETFILTER_XTABLES=m
252CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
253CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
254CONFIG_NETFILTER_XT_TARGET_DSCP=m
255CONFIG_NETFILTER_XT_TARGET_MARK=m
256CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
257CONFIG_NETFILTER_XT_TARGET_NFLOG=m
258CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
259CONFIG_NETFILTER_XT_TARGET_RATEEST=m
260CONFIG_NETFILTER_XT_TARGET_TRACE=m
261CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
262CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
263CONFIG_NETFILTER_XT_MATCH_COMMENT=m
264CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
265CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
266CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
267CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
268CONFIG_NETFILTER_XT_MATCH_DCCP=m
269CONFIG_NETFILTER_XT_MATCH_DSCP=m
270CONFIG_NETFILTER_XT_MATCH_ESP=m
271CONFIG_NETFILTER_XT_MATCH_HELPER=m
272CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
273CONFIG_NETFILTER_XT_MATCH_LENGTH=m
274CONFIG_NETFILTER_XT_MATCH_LIMIT=m
275CONFIG_NETFILTER_XT_MATCH_MAC=m
276CONFIG_NETFILTER_XT_MATCH_MARK=m
277CONFIG_NETFILTER_XT_MATCH_OWNER=m
278CONFIG_NETFILTER_XT_MATCH_POLICY=m
279CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
280CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
281CONFIG_NETFILTER_XT_MATCH_QUOTA=m
282CONFIG_NETFILTER_XT_MATCH_RATEEST=m
283CONFIG_NETFILTER_XT_MATCH_REALM=m
284CONFIG_NETFILTER_XT_MATCH_SCTP=m
285CONFIG_NETFILTER_XT_MATCH_STATE=m
286CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
287CONFIG_NETFILTER_XT_MATCH_STRING=m
288CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
289CONFIG_NETFILTER_XT_MATCH_TIME=m
290CONFIG_NETFILTER_XT_MATCH_U32=m
291CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
295 292
296# 293#
297# IP: Netfilter Configuration 294# IP: Netfilter Configuration
298# 295#
299CONFIG_IP_NF_CONNTRACK=m 296CONFIG_NF_CONNTRACK_IPV4=m
300# CONFIG_IP_NF_CT_ACCT is not set 297CONFIG_NF_CONNTRACK_PROC_COMPAT=y
301CONFIG_IP_NF_CONNTRACK_MARK=y
302# CONFIG_IP_NF_CT_PROTO_SCTP is not set
303CONFIG_IP_NF_FTP=m
304CONFIG_IP_NF_IRC=m
305CONFIG_IP_NF_TFTP=m
306CONFIG_IP_NF_AMANDA=m
307CONFIG_IP_NF_QUEUE=m 298CONFIG_IP_NF_QUEUE=m
308CONFIG_IP_NF_IPTABLES=m 299CONFIG_IP_NF_IPTABLES=m
309CONFIG_IP_NF_MATCH_LIMIT=m
310CONFIG_IP_NF_MATCH_IPRANGE=m
311CONFIG_IP_NF_MATCH_MAC=m
312CONFIG_IP_NF_MATCH_PKTTYPE=m
313CONFIG_IP_NF_MATCH_MARK=m
314CONFIG_IP_NF_MATCH_MULTIPORT=m
315CONFIG_IP_NF_MATCH_TOS=m
316CONFIG_IP_NF_MATCH_RECENT=m 300CONFIG_IP_NF_MATCH_RECENT=m
317CONFIG_IP_NF_MATCH_ECN=m 301CONFIG_IP_NF_MATCH_ECN=m
318CONFIG_IP_NF_MATCH_DSCP=m 302CONFIG_IP_NF_MATCH_AH=m
319CONFIG_IP_NF_MATCH_AH_ESP=m
320CONFIG_IP_NF_MATCH_LENGTH=m
321CONFIG_IP_NF_MATCH_TTL=m 303CONFIG_IP_NF_MATCH_TTL=m
322CONFIG_IP_NF_MATCH_TCPMSS=m
323CONFIG_IP_NF_MATCH_HELPER=m
324CONFIG_IP_NF_MATCH_STATE=m
325CONFIG_IP_NF_MATCH_CONNTRACK=m
326CONFIG_IP_NF_MATCH_OWNER=m
327CONFIG_IP_NF_MATCH_ADDRTYPE=m 304CONFIG_IP_NF_MATCH_ADDRTYPE=m
328CONFIG_IP_NF_MATCH_REALM=m
329# CONFIG_IP_NF_MATCH_SCTP is not set
330# CONFIG_IP_NF_MATCH_COMMENT is not set
331CONFIG_IP_NF_MATCH_CONNMARK=m
332CONFIG_IP_NF_MATCH_HASHLIMIT=m
333CONFIG_IP_NF_FILTER=m 305CONFIG_IP_NF_FILTER=m
334CONFIG_IP_NF_TARGET_REJECT=m 306CONFIG_IP_NF_TARGET_REJECT=m
335CONFIG_IP_NF_TARGET_LOG=m 307CONFIG_IP_NF_TARGET_LOG=m
336CONFIG_IP_NF_TARGET_ULOG=m 308CONFIG_IP_NF_TARGET_ULOG=m
337CONFIG_IP_NF_TARGET_TCPMSS=m 309CONFIG_NF_NAT=m
338CONFIG_IP_NF_NAT=m 310CONFIG_NF_NAT_NEEDED=y
339CONFIG_IP_NF_NAT_NEEDED=y
340CONFIG_IP_NF_TARGET_MASQUERADE=m 311CONFIG_IP_NF_TARGET_MASQUERADE=m
341CONFIG_IP_NF_TARGET_REDIRECT=m 312CONFIG_IP_NF_TARGET_REDIRECT=m
342CONFIG_IP_NF_TARGET_NETMAP=m 313CONFIG_IP_NF_TARGET_NETMAP=m
343CONFIG_IP_NF_TARGET_SAME=m 314CONFIG_NF_NAT_SNMP_BASIC=m
344CONFIG_IP_NF_NAT_SNMP_BASIC=m 315CONFIG_NF_NAT_PROTO_GRE=m
345CONFIG_IP_NF_NAT_IRC=m 316CONFIG_NF_NAT_FTP=m
346CONFIG_IP_NF_NAT_FTP=m 317CONFIG_NF_NAT_IRC=m
347CONFIG_IP_NF_NAT_TFTP=m 318CONFIG_NF_NAT_TFTP=m
348CONFIG_IP_NF_NAT_AMANDA=m 319CONFIG_NF_NAT_AMANDA=m
320CONFIG_NF_NAT_PPTP=m
321CONFIG_NF_NAT_H323=m
322CONFIG_NF_NAT_SIP=m
349CONFIG_IP_NF_MANGLE=m 323CONFIG_IP_NF_MANGLE=m
350CONFIG_IP_NF_TARGET_TOS=m
351CONFIG_IP_NF_TARGET_ECN=m 324CONFIG_IP_NF_TARGET_ECN=m
352CONFIG_IP_NF_TARGET_DSCP=m 325CONFIG_IP_NF_TARGET_TTL=m
353CONFIG_IP_NF_TARGET_MARK=m 326CONFIG_IP_NF_TARGET_CLUSTERIP=m
354CONFIG_IP_NF_TARGET_CLASSIFY=m
355CONFIG_IP_NF_TARGET_CONNMARK=m
356# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
357CONFIG_IP_NF_RAW=m 327CONFIG_IP_NF_RAW=m
358CONFIG_IP_NF_TARGET_NOTRACK=m
359CONFIG_IP_NF_ARPTABLES=m 328CONFIG_IP_NF_ARPTABLES=m
360CONFIG_IP_NF_ARPFILTER=m 329CONFIG_IP_NF_ARPFILTER=m
361CONFIG_IP_NF_ARP_MANGLE=m 330CONFIG_IP_NF_ARP_MANGLE=m
362 331
363# 332#
364# IPv6: Netfilter Configuration (EXPERIMENTAL) 333# IPv6: Netfilter Configuration
365# 334#
335CONFIG_NF_CONNTRACK_IPV6=m
366CONFIG_IP6_NF_QUEUE=m 336CONFIG_IP6_NF_QUEUE=m
367CONFIG_IP6_NF_IPTABLES=m 337CONFIG_IP6_NF_IPTABLES=m
368CONFIG_IP6_NF_MATCH_LIMIT=m
369CONFIG_IP6_NF_MATCH_MAC=m
370CONFIG_IP6_NF_MATCH_RT=m 338CONFIG_IP6_NF_MATCH_RT=m
371CONFIG_IP6_NF_MATCH_OPTS=m 339CONFIG_IP6_NF_MATCH_OPTS=m
372CONFIG_IP6_NF_MATCH_FRAG=m 340CONFIG_IP6_NF_MATCH_FRAG=m
373CONFIG_IP6_NF_MATCH_HL=m 341CONFIG_IP6_NF_MATCH_HL=m
374CONFIG_IP6_NF_MATCH_MULTIPORT=m
375CONFIG_IP6_NF_MATCH_OWNER=m
376CONFIG_IP6_NF_MATCH_MARK=m
377CONFIG_IP6_NF_MATCH_IPV6HEADER=m 342CONFIG_IP6_NF_MATCH_IPV6HEADER=m
378CONFIG_IP6_NF_MATCH_AHESP=m 343CONFIG_IP6_NF_MATCH_AH=m
379CONFIG_IP6_NF_MATCH_LENGTH=m 344CONFIG_IP6_NF_MATCH_MH=m
380CONFIG_IP6_NF_MATCH_EUI64=m 345CONFIG_IP6_NF_MATCH_EUI64=m
381CONFIG_IP6_NF_FILTER=m 346CONFIG_IP6_NF_FILTER=m
382CONFIG_IP6_NF_TARGET_LOG=m 347CONFIG_IP6_NF_TARGET_LOG=m
348CONFIG_IP6_NF_TARGET_REJECT=m
383CONFIG_IP6_NF_MANGLE=m 349CONFIG_IP6_NF_MANGLE=m
384CONFIG_IP6_NF_TARGET_MARK=m 350CONFIG_IP6_NF_TARGET_HL=m
385CONFIG_IP6_NF_RAW=m 351CONFIG_IP6_NF_RAW=m
386CONFIG_XFRM=y 352CONFIG_IP_DCCP=m
387CONFIG_XFRM_USER=m 353CONFIG_INET_DCCP_DIAG=m
354CONFIG_IP_DCCP_ACKVEC=y
388 355
389# 356#
390# SCTP Configuration (EXPERIMENTAL) 357# DCCP CCIDs Configuration (EXPERIMENTAL)
391# 358#
359CONFIG_IP_DCCP_CCID2=m
360# CONFIG_IP_DCCP_CCID2_DEBUG is not set
361CONFIG_IP_DCCP_CCID3=m
362# CONFIG_IP_DCCP_CCID3_DEBUG is not set
363CONFIG_IP_DCCP_CCID3_RTO=100
364CONFIG_IP_DCCP_TFRC_LIB=m
392CONFIG_IP_SCTP=m 365CONFIG_IP_SCTP=m
393# CONFIG_SCTP_DBG_MSG is not set 366# CONFIG_SCTP_DBG_MSG is not set
394# CONFIG_SCTP_DBG_OBJCNT is not set 367# CONFIG_SCTP_DBG_OBJCNT is not set
395# CONFIG_SCTP_HMAC_NONE is not set 368# CONFIG_SCTP_HMAC_NONE is not set
396# CONFIG_SCTP_HMAC_SHA1 is not set 369# CONFIG_SCTP_HMAC_SHA1 is not set
397CONFIG_SCTP_HMAC_MD5=y 370CONFIG_SCTP_HMAC_MD5=y
371# CONFIG_TIPC is not set
398# CONFIG_ATM is not set 372# CONFIG_ATM is not set
399# CONFIG_BRIDGE is not set 373# CONFIG_BRIDGE is not set
400# CONFIG_VLAN_8021Q is not set 374# CONFIG_VLAN_8021Q is not set
401# CONFIG_DECNET is not set 375# CONFIG_DECNET is not set
402CONFIG_LLC=m 376CONFIG_LLC=m
403# CONFIG_LLC2 is not set 377# CONFIG_LLC2 is not set
404CONFIG_IPX=m 378# CONFIG_IPX is not set
405# CONFIG_IPX_INTERN is not set
406CONFIG_ATALK=m 379CONFIG_ATALK=m
407# CONFIG_DEV_APPLETALK is not set 380# CONFIG_DEV_APPLETALK is not set
408# CONFIG_X25 is not set 381# CONFIG_X25 is not set
409# CONFIG_LAPB is not set 382# CONFIG_LAPB is not set
410# CONFIG_NET_DIVERT is not set
411# CONFIG_ECONET is not set 383# CONFIG_ECONET is not set
412# CONFIG_WAN_ROUTER is not set 384# CONFIG_WAN_ROUTER is not set
413
414#
415# QoS and/or fair queueing
416#
417# CONFIG_NET_SCHED is not set 385# CONFIG_NET_SCHED is not set
418CONFIG_NET_CLS_ROUTE=y 386CONFIG_NET_CLS_ROUTE=y
419 387
@@ -421,46 +389,189 @@ CONFIG_NET_CLS_ROUTE=y
421# Network testing 389# Network testing
422# 390#
423# CONFIG_NET_PKTGEN is not set 391# CONFIG_NET_PKTGEN is not set
424CONFIG_NETPOLL=y
425# CONFIG_NETPOLL_RX is not set
426# CONFIG_NETPOLL_TRAP is not set
427CONFIG_NET_POLL_CONTROLLER=y
428# CONFIG_HAMRADIO is not set 392# CONFIG_HAMRADIO is not set
393# CONFIG_CAN is not set
429# CONFIG_IRDA is not set 394# CONFIG_IRDA is not set
430# CONFIG_BT is not set 395# CONFIG_BT is not set
431CONFIG_NETDEVICES=y 396# CONFIG_AF_RXRPC is not set
432CONFIG_DUMMY=m
433# CONFIG_BONDING is not set
434CONFIG_EQUALIZER=m
435# CONFIG_TUN is not set
436 397
437# 398#
438# Ethernet (10 or 100Mbit) 399# Wireless
439# 400#
440CONFIG_NET_ETHERNET=y 401# CONFIG_CFG80211 is not set
441CONFIG_MII=m 402CONFIG_WIRELESS_EXT=y
442CONFIG_ATARILANCE=m 403# CONFIG_MAC80211 is not set
404CONFIG_IEEE80211=m
405# CONFIG_IEEE80211_DEBUG is not set
406CONFIG_IEEE80211_CRYPT_WEP=m
407CONFIG_IEEE80211_CRYPT_CCMP=m
408CONFIG_IEEE80211_CRYPT_TKIP=m
409CONFIG_IEEE80211_SOFTMAC=m
410# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
411# CONFIG_RFKILL is not set
412# CONFIG_NET_9P is not set
413
414#
415# Device Drivers
416#
417
418#
419# Generic Driver Options
420#
421CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
422CONFIG_STANDALONE=y
423CONFIG_PREVENT_FIRMWARE_BUILD=y
424CONFIG_FW_LOADER=m
425# CONFIG_SYS_HYPERVISOR is not set
426CONFIG_CONNECTOR=m
427# CONFIG_MTD is not set
428CONFIG_PARPORT=m
429CONFIG_PARPORT_ATARI=m
430# CONFIG_PARPORT_GSC is not set
431# CONFIG_PARPORT_AX88796 is not set
432CONFIG_PARPORT_1284=y
433CONFIG_PARPORT_NOT_PC=y
434CONFIG_BLK_DEV=y
435CONFIG_ATARI_FLOPPY=y
436# CONFIG_BLK_DEV_COW_COMMON is not set
437CONFIG_BLK_DEV_LOOP=y
438CONFIG_BLK_DEV_CRYPTOLOOP=m
439CONFIG_BLK_DEV_NBD=m
440CONFIG_BLK_DEV_RAM=y
441CONFIG_BLK_DEV_RAM_COUNT=16
442CONFIG_BLK_DEV_RAM_SIZE=4096
443# CONFIG_BLK_DEV_XIP is not set
444CONFIG_CDROM_PKTCDVD=m
445CONFIG_CDROM_PKTCDVD_BUFFERS=8
446# CONFIG_CDROM_PKTCDVD_WCACHE is not set
447CONFIG_ATA_OVER_ETH=m
448CONFIG_MISC_DEVICES=y
449# CONFIG_EEPROM_93CX6 is not set
450# CONFIG_ENCLOSURE_SERVICES is not set
451CONFIG_HAVE_IDE=y
452CONFIG_IDE=y
453CONFIG_BLK_DEV_IDE=y
454
455#
456# Please see Documentation/ide/ide.txt for help/info on IDE drives
457#
458# CONFIG_BLK_DEV_IDE_SATA is not set
459CONFIG_BLK_DEV_IDEDISK=y
460# CONFIG_IDEDISK_MULTI_MODE is not set
461CONFIG_BLK_DEV_IDECD=y
462CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
463# CONFIG_BLK_DEV_IDETAPE is not set
464CONFIG_BLK_DEV_IDEFLOPPY=m
465# CONFIG_BLK_DEV_IDESCSI is not set
466# CONFIG_IDE_TASK_IOCTL is not set
467CONFIG_IDE_PROC_FS=y
443 468
444# 469#
445# Ethernet (1000 Mbit) 470# IDE chipset support/bugfixes
446# 471#
472# CONFIG_IDE_GENERIC is not set
473# CONFIG_BLK_DEV_PLATFORM is not set
474CONFIG_BLK_DEV_FALCON_IDE=y
475# CONFIG_BLK_DEV_IDEDMA is not set
476# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
477# CONFIG_BLK_DEV_HD is not set
447 478
448# 479#
449# Ethernet (10000 Mbit) 480# SCSI device support
450# 481#
482CONFIG_RAID_ATTRS=m
483CONFIG_SCSI=y
484CONFIG_SCSI_DMA=y
485CONFIG_SCSI_TGT=m
486# CONFIG_SCSI_NETLINK is not set
487CONFIG_SCSI_PROC_FS=y
451 488
452# 489#
453# Token Ring devices 490# SCSI support type (disk, tape, CD-ROM)
491#
492CONFIG_BLK_DEV_SD=y
493CONFIG_CHR_DEV_ST=m
494CONFIG_CHR_DEV_OSST=m
495CONFIG_BLK_DEV_SR=y
496CONFIG_BLK_DEV_SR_VENDOR=y
497CONFIG_CHR_DEV_SG=m
498# CONFIG_CHR_DEV_SCH is not set
499
500#
501# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
454# 502#
503# CONFIG_SCSI_MULTI_LUN is not set
504CONFIG_SCSI_CONSTANTS=y
505# CONFIG_SCSI_LOGGING is not set
506# CONFIG_SCSI_SCAN_ASYNC is not set
507CONFIG_SCSI_WAIT_SCAN=m
455 508
456# 509#
457# Wireless LAN (non-hamradio) 510# SCSI Transports
458# 511#
459# CONFIG_NET_RADIO is not set 512CONFIG_SCSI_SPI_ATTRS=y
513# CONFIG_SCSI_FC_ATTRS is not set
514CONFIG_SCSI_ISCSI_ATTRS=m
515CONFIG_SCSI_SAS_ATTRS=m
516CONFIG_SCSI_SAS_LIBSAS=m
517CONFIG_SCSI_SAS_HOST_SMP=y
518# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
519CONFIG_SCSI_SRP_ATTRS=m
520CONFIG_SCSI_SRP_TGT_ATTRS=y
521CONFIG_SCSI_LOWLEVEL=y
522CONFIG_ISCSI_TCP=m
523# CONFIG_SCSI_DEBUG is not set
524CONFIG_ATARI_SCSI=y
525# CONFIG_ATARI_SCSI_TOSHIBA_DELAY is not set
526# CONFIG_ATARI_SCSI_RESET_BOOT is not set
527CONFIG_MD=y
528CONFIG_BLK_DEV_MD=m
529CONFIG_MD_LINEAR=m
530CONFIG_MD_RAID0=m
531CONFIG_MD_RAID1=m
532# CONFIG_MD_RAID10 is not set
533CONFIG_MD_RAID456=m
534CONFIG_MD_RAID5_RESHAPE=y
535CONFIG_MD_MULTIPATH=m
536# CONFIG_MD_FAULTY is not set
537CONFIG_BLK_DEV_DM=m
538# CONFIG_DM_DEBUG is not set
539CONFIG_DM_CRYPT=m
540CONFIG_DM_SNAPSHOT=m
541CONFIG_DM_MIRROR=m
542CONFIG_DM_ZERO=m
543CONFIG_DM_MULTIPATH=m
544CONFIG_DM_MULTIPATH_EMC=m
545CONFIG_DM_MULTIPATH_RDAC=m
546CONFIG_DM_MULTIPATH_HP=m
547# CONFIG_DM_DELAY is not set
548CONFIG_DM_UEVENT=y
549CONFIG_NETDEVICES=y
550# CONFIG_NETDEVICES_MULTIQUEUE is not set
551CONFIG_DUMMY=m
552# CONFIG_BONDING is not set
553CONFIG_MACVLAN=m
554CONFIG_EQUALIZER=m
555# CONFIG_TUN is not set
556CONFIG_VETH=m
557# CONFIG_PHYLIB is not set
558CONFIG_NET_ETHERNET=y
559CONFIG_MII=m
560CONFIG_ATARILANCE=m
561# CONFIG_IBM_NEW_EMAC_ZMII is not set
562# CONFIG_IBM_NEW_EMAC_RGMII is not set
563# CONFIG_IBM_NEW_EMAC_TAH is not set
564# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
565# CONFIG_B44 is not set
566# CONFIG_NET_POCKET is not set
567# CONFIG_NETDEV_1000 is not set
568# CONFIG_NETDEV_10000 is not set
460 569
461# 570#
462# Wan interfaces 571# Wireless LAN
463# 572#
573# CONFIG_WLAN_PRE80211 is not set
574# CONFIG_WLAN_80211 is not set
464# CONFIG_WAN is not set 575# CONFIG_WAN is not set
465# CONFIG_PLIP is not set 576# CONFIG_PLIP is not set
466CONFIG_PPP=m 577CONFIG_PPP=m
@@ -470,28 +581,28 @@ CONFIG_PPP_ASYNC=m
470CONFIG_PPP_SYNC_TTY=m 581CONFIG_PPP_SYNC_TTY=m
471CONFIG_PPP_DEFLATE=m 582CONFIG_PPP_DEFLATE=m
472CONFIG_PPP_BSDCOMP=m 583CONFIG_PPP_BSDCOMP=m
584CONFIG_PPP_MPPE=m
473CONFIG_PPPOE=m 585CONFIG_PPPOE=m
586CONFIG_PPPOL2TP=m
474CONFIG_SLIP=m 587CONFIG_SLIP=m
475CONFIG_SLIP_COMPRESSED=y 588CONFIG_SLIP_COMPRESSED=y
589CONFIG_SLHC=m
476CONFIG_SLIP_SMART=y 590CONFIG_SLIP_SMART=y
477CONFIG_SLIP_MODE_SLIP6=y 591CONFIG_SLIP_MODE_SLIP6=y
478CONFIG_SHAPER=m
479CONFIG_NETCONSOLE=m 592CONFIG_NETCONSOLE=m
480 593CONFIG_NETCONSOLE_DYNAMIC=y
481# 594CONFIG_NETPOLL=y
482# ISDN subsystem 595# CONFIG_NETPOLL_TRAP is not set
483# 596CONFIG_NET_POLL_CONTROLLER=y
484# CONFIG_ISDN is not set 597# CONFIG_ISDN is not set
485
486#
487# Telephony Support
488#
489# CONFIG_PHONE is not set 598# CONFIG_PHONE is not set
490 599
491# 600#
492# Input device support 601# Input device support
493# 602#
494CONFIG_INPUT=y 603CONFIG_INPUT=y
604CONFIG_INPUT_FF_MEMLESS=m
605# CONFIG_INPUT_POLLDEV is not set
495 606
496# 607#
497# Userland interfaces 608# Userland interfaces
@@ -501,7 +612,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
501CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 612CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
502CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 613CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
503# CONFIG_INPUT_JOYDEV is not set 614# CONFIG_INPUT_JOYDEV is not set
504# CONFIG_INPUT_TSDEV is not set
505# CONFIG_INPUT_EVDEV is not set 615# CONFIG_INPUT_EVDEV is not set
506# CONFIG_INPUT_EVBUG is not set 616# CONFIG_INPUT_EVBUG is not set
507 617
@@ -509,26 +619,37 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
509# Input Device Drivers 619# Input Device Drivers
510# 620#
511CONFIG_INPUT_KEYBOARD=y 621CONFIG_INPUT_KEYBOARD=y
512CONFIG_KEYBOARD_ATKBD=y 622# CONFIG_KEYBOARD_ATKBD is not set
513# CONFIG_KEYBOARD_SUNKBD is not set 623# CONFIG_KEYBOARD_SUNKBD is not set
514# CONFIG_KEYBOARD_LKKBD is not set 624# CONFIG_KEYBOARD_LKKBD is not set
515# CONFIG_KEYBOARD_XTKBD is not set 625# CONFIG_KEYBOARD_XTKBD is not set
516# CONFIG_KEYBOARD_NEWTON is not set 626# CONFIG_KEYBOARD_NEWTON is not set
627# CONFIG_KEYBOARD_STOWAWAY is not set
628CONFIG_ATARI_KBD_CORE=y
629CONFIG_KEYBOARD_ATARI=y
517CONFIG_INPUT_MOUSE=y 630CONFIG_INPUT_MOUSE=y
518CONFIG_MOUSE_PS2=y 631CONFIG_MOUSE_PS2=y
632CONFIG_MOUSE_PS2_ALPS=y
633CONFIG_MOUSE_PS2_LOGIPS2PP=y
634CONFIG_MOUSE_PS2_SYNAPTICS=y
635CONFIG_MOUSE_PS2_LIFEBOOK=y
636CONFIG_MOUSE_PS2_TRACKPOINT=y
637# CONFIG_MOUSE_PS2_TOUCHKIT is not set
519# CONFIG_MOUSE_SERIAL is not set 638# CONFIG_MOUSE_SERIAL is not set
639CONFIG_MOUSE_ATARI=m
520# CONFIG_MOUSE_VSXXXAA is not set 640# CONFIG_MOUSE_VSXXXAA is not set
521# CONFIG_INPUT_JOYSTICK is not set 641# CONFIG_INPUT_JOYSTICK is not set
642# CONFIG_INPUT_TABLET is not set
522# CONFIG_INPUT_TOUCHSCREEN is not set 643# CONFIG_INPUT_TOUCHSCREEN is not set
523CONFIG_INPUT_MISC=y 644CONFIG_INPUT_MISC=y
524CONFIG_INPUT_M68K_BEEP=m 645CONFIG_INPUT_M68K_BEEP=m
525CONFIG_INPUT_UINPUT=m 646# CONFIG_INPUT_UINPUT is not set
526 647
527# 648#
528# Hardware I/O ports 649# Hardware I/O ports
529# 650#
530CONFIG_SERIO=y 651CONFIG_SERIO=y
531CONFIG_SERIO_SERPORT=y 652# CONFIG_SERIO_SERPORT is not set
532# CONFIG_SERIO_PARKBD is not set 653# CONFIG_SERIO_PARKBD is not set
533CONFIG_SERIO_LIBPS2=y 654CONFIG_SERIO_LIBPS2=y
534# CONFIG_SERIO_RAW is not set 655# CONFIG_SERIO_RAW is not set
@@ -540,6 +661,7 @@ CONFIG_SERIO_LIBPS2=y
540CONFIG_VT=y 661CONFIG_VT=y
541CONFIG_VT_CONSOLE=y 662CONFIG_VT_CONSOLE=y
542CONFIG_HW_CONSOLE=y 663CONFIG_HW_CONSOLE=y
664CONFIG_VT_HW_CONSOLE_BINDING=y
543# CONFIG_SERIAL_NONSTANDARD is not set 665# CONFIG_SERIAL_NONSTANDARD is not set
544 666
545# 667#
@@ -556,86 +678,97 @@ CONFIG_LEGACY_PTY_COUNT=256
556CONFIG_PRINTER=m 678CONFIG_PRINTER=m
557# CONFIG_LP_CONSOLE is not set 679# CONFIG_LP_CONSOLE is not set
558# CONFIG_PPDEV is not set 680# CONFIG_PPDEV is not set
559# CONFIG_TIPAR is not set
560
561#
562# IPMI
563#
564# CONFIG_IPMI_HANDLER is not set 681# CONFIG_IPMI_HANDLER is not set
565 682# CONFIG_HW_RANDOM is not set
566#
567# Watchdog Cards
568#
569# CONFIG_WATCHDOG is not set
570CONFIG_NVRAM=y 683CONFIG_NVRAM=y
571CONFIG_GEN_RTC=y 684CONFIG_GEN_RTC=m
572CONFIG_GEN_RTC_X=y 685CONFIG_GEN_RTC_X=y
573# CONFIG_DTLK is not set
574# CONFIG_R3964 is not set 686# CONFIG_R3964 is not set
575
576#
577# Ftape, the floppy tape device driver
578#
579# CONFIG_DRM is not set
580# CONFIG_RAW_DRIVER is not set 687# CONFIG_RAW_DRIVER is not set
581 688# CONFIG_TCG_TPM is not set
582#
583# TPM devices
584#
585
586#
587# I2C support
588#
589# CONFIG_I2C is not set 689# CONFIG_I2C is not set
590 690
591# 691#
592# Dallas's 1-wire bus 692# SPI support
593# 693#
694# CONFIG_SPI is not set
695# CONFIG_SPI_MASTER is not set
594# CONFIG_W1 is not set 696# CONFIG_W1 is not set
697# CONFIG_POWER_SUPPLY is not set
698# CONFIG_HWMON is not set
699# CONFIG_THERMAL is not set
700# CONFIG_WATCHDOG is not set
595 701
596# 702#
597# Misc devices 703# Sonics Silicon Backplane
598# 704#
705CONFIG_SSB_POSSIBLE=y
706# CONFIG_SSB is not set
599 707
600# 708#
601# Multimedia devices 709# Multifunction device drivers
602# 710#
603# CONFIG_VIDEO_DEV is not set 711# CONFIG_MFD_SM501 is not set
604 712
605# 713#
606# Digital Video Broadcasting Devices 714# Multimedia devices
607# 715#
608# CONFIG_DVB is not set 716# CONFIG_VIDEO_DEV is not set
717# CONFIG_DVB_CORE is not set
718# CONFIG_DAB is not set
609 719
610# 720#
611# Graphics support 721# Graphics support
612# 722#
723# CONFIG_VGASTATE is not set
724# CONFIG_VIDEO_OUTPUT_CONTROL is not set
613CONFIG_FB=y 725CONFIG_FB=y
614# CONFIG_FB_CFB_FILLRECT is not set 726# CONFIG_FIRMWARE_EDID is not set
615# CONFIG_FB_CFB_COPYAREA is not set 727# CONFIG_FB_DDC is not set
616# CONFIG_FB_CFB_IMAGEBLIT is not set 728CONFIG_FB_CFB_FILLRECT=y
617# CONFIG_FB_SOFT_CURSOR is not set 729CONFIG_FB_CFB_COPYAREA=y
730CONFIG_FB_CFB_IMAGEBLIT=y
731# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
732# CONFIG_FB_SYS_FILLRECT is not set
733# CONFIG_FB_SYS_COPYAREA is not set
734# CONFIG_FB_SYS_IMAGEBLIT is not set
735# CONFIG_FB_SYS_FOPS is not set
736CONFIG_FB_DEFERRED_IO=y
737# CONFIG_FB_SVGALIB is not set
618# CONFIG_FB_MACMODES is not set 738# CONFIG_FB_MACMODES is not set
619CONFIG_FB_MODE_HELPERS=y 739# CONFIG_FB_BACKLIGHT is not set
740# CONFIG_FB_MODE_HELPERS is not set
620# CONFIG_FB_TILEBLITTING is not set 741# CONFIG_FB_TILEBLITTING is not set
621# CONFIG_FB_ATY is not set 742
743#
744# Frame buffer hardware drivers
745#
746CONFIG_FB_ATARI=y
747# CONFIG_FB_UVESA is not set
622# CONFIG_FB_S1D13XXX is not set 748# CONFIG_FB_S1D13XXX is not set
749# CONFIG_FB_ATY is not set
623# CONFIG_FB_VIRTUAL is not set 750# CONFIG_FB_VIRTUAL is not set
751# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
752
753#
754# Display device support
755#
756# CONFIG_DISPLAY_SUPPORT is not set
624 757
625# 758#
626# Console display driver support 759# Console display driver support
627# 760#
628CONFIG_DUMMY_CONSOLE=y 761CONFIG_DUMMY_CONSOLE=y
629CONFIG_FRAMEBUFFER_CONSOLE=y 762CONFIG_FRAMEBUFFER_CONSOLE=y
763# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
764# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
630# CONFIG_FONTS is not set 765# CONFIG_FONTS is not set
631CONFIG_FONT_8x8=y 766CONFIG_FONT_8x8=y
632CONFIG_FONT_8x16=y 767CONFIG_FONT_8x16=y
633 768CONFIG_LOGO=y
634# 769CONFIG_LOGO_LINUX_MONO=y
635# Logo configuration 770CONFIG_LOGO_LINUX_VGA16=y
636# 771CONFIG_LOGO_LINUX_CLUT224=y
637# CONFIG_LOGO is not set
638# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
639 772
640# 773#
641# Sound 774# Sound
@@ -643,27 +776,21 @@ CONFIG_FONT_8x16=y
643CONFIG_SOUND=m 776CONFIG_SOUND=m
644CONFIG_DMASOUND_ATARI=m 777CONFIG_DMASOUND_ATARI=m
645CONFIG_DMASOUND=m 778CONFIG_DMASOUND=m
646 779CONFIG_HID_SUPPORT=y
647# 780CONFIG_HID=m
648# USB support 781# CONFIG_HID_DEBUG is not set
649# 782CONFIG_HIDRAW=y
650# CONFIG_USB_ARCH_HAS_HCD is not set 783# CONFIG_USB_SUPPORT is not set
651# CONFIG_USB_ARCH_HAS_OHCI is not set
652
653#
654# USB Gadget Support
655#
656# CONFIG_USB_GADGET is not set
657
658#
659# MMC/SD Card support
660#
661# CONFIG_MMC is not set 784# CONFIG_MMC is not set
785# CONFIG_MEMSTICK is not set
786# CONFIG_NEW_LEDS is not set
787# CONFIG_RTC_CLASS is not set
788# CONFIG_AUXDISPLAY is not set
662 789
663# 790#
664# InfiniBand support 791# Userspace I/O
665# 792#
666# CONFIG_INFINIBAND is not set 793# CONFIG_UIO is not set
667 794
668# 795#
669# Character devices 796# Character devices
@@ -680,38 +807,44 @@ CONFIG_ATARI_DSP56K=m
680# 807#
681CONFIG_EXT2_FS=y 808CONFIG_EXT2_FS=y
682# CONFIG_EXT2_FS_XATTR is not set 809# CONFIG_EXT2_FS_XATTR is not set
810# CONFIG_EXT2_FS_XIP is not set
683CONFIG_EXT3_FS=y 811CONFIG_EXT3_FS=y
684# CONFIG_EXT3_FS_XATTR is not set 812# CONFIG_EXT3_FS_XATTR is not set
813# CONFIG_EXT4DEV_FS is not set
685CONFIG_JBD=y 814CONFIG_JBD=y
686# CONFIG_JBD_DEBUG is not set
687CONFIG_REISERFS_FS=m 815CONFIG_REISERFS_FS=m
688# CONFIG_REISERFS_CHECK is not set 816# CONFIG_REISERFS_CHECK is not set
689CONFIG_REISERFS_PROC_INFO=y 817# CONFIG_REISERFS_PROC_INFO is not set
690# CONFIG_REISERFS_FS_XATTR is not set 818# CONFIG_REISERFS_FS_XATTR is not set
691CONFIG_JFS_FS=m 819CONFIG_JFS_FS=m
692# CONFIG_JFS_POSIX_ACL is not set 820# CONFIG_JFS_POSIX_ACL is not set
693# CONFIG_JFS_SECURITY is not set 821# CONFIG_JFS_SECURITY is not set
694# CONFIG_JFS_DEBUG is not set 822# CONFIG_JFS_DEBUG is not set
695# CONFIG_JFS_STATISTICS is not set 823# CONFIG_JFS_STATISTICS is not set
696 824CONFIG_FS_POSIX_ACL=y
697#
698# XFS support
699#
700CONFIG_XFS_FS=m 825CONFIG_XFS_FS=m
701CONFIG_XFS_EXPORT=y
702# CONFIG_XFS_RT is not set
703# CONFIG_XFS_QUOTA is not set 826# CONFIG_XFS_QUOTA is not set
704# CONFIG_XFS_SECURITY is not set 827# CONFIG_XFS_SECURITY is not set
705# CONFIG_XFS_POSIX_ACL is not set 828# CONFIG_XFS_POSIX_ACL is not set
706CONFIG_MINIX_FS=y 829# CONFIG_XFS_RT is not set
707# CONFIG_ROMFS_FS is not set 830CONFIG_GFS2_FS=m
831CONFIG_GFS2_FS_LOCKING_NOLOCK=m
832CONFIG_GFS2_FS_LOCKING_DLM=m
833CONFIG_OCFS2_FS=m
834# CONFIG_OCFS2_DEBUG_MASKLOG is not set
835# CONFIG_OCFS2_DEBUG_FS is not set
836CONFIG_DNOTIFY=y
837CONFIG_INOTIFY=y
838CONFIG_INOTIFY_USER=y
708CONFIG_QUOTA=y 839CONFIG_QUOTA=y
840CONFIG_QUOTA_NETLINK_INTERFACE=y
841# CONFIG_PRINT_QUOTA_WARNING is not set
709# CONFIG_QFMT_V1 is not set 842# CONFIG_QFMT_V1 is not set
710# CONFIG_QFMT_V2 is not set 843# CONFIG_QFMT_V2 is not set
711CONFIG_QUOTACTL=y 844CONFIG_QUOTACTL=y
712CONFIG_DNOTIFY=y
713CONFIG_AUTOFS_FS=m 845CONFIG_AUTOFS_FS=m
714CONFIG_AUTOFS4_FS=m 846CONFIG_AUTOFS4_FS=m
847CONFIG_FUSE_FS=m
715 848
716# 849#
717# CD-ROM/DVD Filesystems 850# CD-ROM/DVD Filesystems
@@ -719,7 +852,6 @@ CONFIG_AUTOFS4_FS=m
719CONFIG_ISO9660_FS=y 852CONFIG_ISO9660_FS=y
720CONFIG_JOLIET=y 853CONFIG_JOLIET=y
721CONFIG_ZISOFS=y 854CONFIG_ZISOFS=y
722CONFIG_ZISOFS_FS=y
723CONFIG_UDF_FS=m 855CONFIG_UDF_FS=m
724CONFIG_UDF_NLS=y 856CONFIG_UDF_NLS=y
725 857
@@ -738,13 +870,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
738# 870#
739CONFIG_PROC_FS=y 871CONFIG_PROC_FS=y
740CONFIG_PROC_KCORE=y 872CONFIG_PROC_KCORE=y
873CONFIG_PROC_SYSCTL=y
741CONFIG_SYSFS=y 874CONFIG_SYSFS=y
742# CONFIG_DEVFS_FS is not set
743# CONFIG_DEVPTS_FS_XATTR is not set
744CONFIG_TMPFS=y 875CONFIG_TMPFS=y
745# CONFIG_TMPFS_XATTR is not set 876# CONFIG_TMPFS_POSIX_ACL is not set
746# CONFIG_HUGETLB_PAGE is not set 877# CONFIG_HUGETLB_PAGE is not set
747CONFIG_RAMFS=y 878CONFIG_CONFIGFS_FS=m
748 879
749# 880#
750# Miscellaneous filesystems 881# Miscellaneous filesystems
@@ -758,42 +889,38 @@ CONFIG_HFSPLUS_FS=m
758# CONFIG_EFS_FS is not set 889# CONFIG_EFS_FS is not set
759CONFIG_CRAMFS=m 890CONFIG_CRAMFS=m
760# CONFIG_VXFS_FS is not set 891# CONFIG_VXFS_FS is not set
892CONFIG_MINIX_FS=y
761CONFIG_HPFS_FS=m 893CONFIG_HPFS_FS=m
762# CONFIG_QNX4FS_FS is not set 894# CONFIG_QNX4FS_FS is not set
895# CONFIG_ROMFS_FS is not set
763CONFIG_SYSV_FS=m 896CONFIG_SYSV_FS=m
764CONFIG_UFS_FS=m 897CONFIG_UFS_FS=m
765# CONFIG_UFS_FS_WRITE is not set 898# CONFIG_UFS_FS_WRITE is not set
766 899# CONFIG_UFS_DEBUG is not set
767# 900CONFIG_NETWORK_FILESYSTEMS=y
768# Network File Systems
769#
770CONFIG_NFS_FS=m 901CONFIG_NFS_FS=m
771CONFIG_NFS_V3=y 902CONFIG_NFS_V3=y
903# CONFIG_NFS_V3_ACL is not set
772# CONFIG_NFS_V4 is not set 904# CONFIG_NFS_V4 is not set
773# CONFIG_NFS_DIRECTIO is not set 905# CONFIG_NFS_DIRECTIO is not set
774CONFIG_NFSD=m 906CONFIG_NFSD=m
775CONFIG_NFSD_V3=y 907CONFIG_NFSD_V3=y
908# CONFIG_NFSD_V3_ACL is not set
776# CONFIG_NFSD_V4 is not set 909# CONFIG_NFSD_V4 is not set
777CONFIG_NFSD_TCP=y 910CONFIG_NFSD_TCP=y
778CONFIG_LOCKD=m 911CONFIG_LOCKD=m
779CONFIG_LOCKD_V4=y 912CONFIG_LOCKD_V4=y
780CONFIG_EXPORTFS=m 913CONFIG_EXPORTFS=m
914CONFIG_NFS_COMMON=y
781CONFIG_SUNRPC=m 915CONFIG_SUNRPC=m
916CONFIG_SUNRPC_BIND34=y
782# CONFIG_RPCSEC_GSS_KRB5 is not set 917# CONFIG_RPCSEC_GSS_KRB5 is not set
783# CONFIG_RPCSEC_GSS_SPKM3 is not set 918# CONFIG_RPCSEC_GSS_SPKM3 is not set
784CONFIG_SMB_FS=m 919CONFIG_SMB_FS=m
785CONFIG_SMB_NLS_DEFAULT=y 920CONFIG_SMB_NLS_DEFAULT=y
786CONFIG_SMB_NLS_REMOTE="cp437" 921CONFIG_SMB_NLS_REMOTE="cp437"
787# CONFIG_CIFS is not set 922# CONFIG_CIFS is not set
788CONFIG_NCP_FS=m 923# CONFIG_NCP_FS is not set
789# CONFIG_NCPFS_PACKET_SIGNING is not set
790# CONFIG_NCPFS_IOCTL_LOCKING is not set
791# CONFIG_NCPFS_STRONG is not set
792CONFIG_NCPFS_NFS_NS=y
793CONFIG_NCPFS_OS2_NS=y
794# CONFIG_NCPFS_SMALLDOS is not set
795CONFIG_NCPFS_NLS=y
796# CONFIG_NCPFS_EXTRAS is not set
797CONFIG_CODA_FS=m 924CONFIG_CODA_FS=m
798# CONFIG_CODA_FS_OLD_API is not set 925# CONFIG_CODA_FS_OLD_API is not set
799# CONFIG_AFS_FS is not set 926# CONFIG_AFS_FS is not set
@@ -804,10 +931,6 @@ CONFIG_CODA_FS=m
804# CONFIG_PARTITION_ADVANCED is not set 931# CONFIG_PARTITION_ADVANCED is not set
805CONFIG_ATARI_PARTITION=y 932CONFIG_ATARI_PARTITION=y
806CONFIG_MSDOS_PARTITION=y 933CONFIG_MSDOS_PARTITION=y
807
808#
809# Native Language Support
810#
811CONFIG_NLS=y 934CONFIG_NLS=y
812CONFIG_NLS_DEFAULT="iso8859-1" 935CONFIG_NLS_DEFAULT="iso8859-1"
813CONFIG_NLS_CODEPAGE_437=y 936CONFIG_NLS_CODEPAGE_437=y
@@ -848,35 +971,42 @@ CONFIG_NLS_ISO8859_15=m
848CONFIG_NLS_KOI8_R=m 971CONFIG_NLS_KOI8_R=m
849CONFIG_NLS_KOI8_U=m 972CONFIG_NLS_KOI8_U=m
850CONFIG_NLS_UTF8=m 973CONFIG_NLS_UTF8=m
974CONFIG_DLM=m
975# CONFIG_DLM_DEBUG is not set
851 976
852# 977#
853# Kernel hacking 978# Kernel hacking
854# 979#
855# CONFIG_PRINTK_TIME is not set 980# CONFIG_PRINTK_TIME is not set
856CONFIG_DEBUG_KERNEL=y 981CONFIG_ENABLE_WARN_DEPRECATED=y
982CONFIG_ENABLE_MUST_CHECK=y
857CONFIG_MAGIC_SYSRQ=y 983CONFIG_MAGIC_SYSRQ=y
858CONFIG_LOG_BUF_SHIFT=16 984# CONFIG_UNUSED_SYMBOLS is not set
859# CONFIG_SCHEDSTATS is not set
860# CONFIG_DEBUG_SLAB is not set
861# CONFIG_DEBUG_SPINLOCK is not set
862# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
863# CONFIG_DEBUG_KOBJECT is not set
864CONFIG_DEBUG_BUGVERBOSE=y
865# CONFIG_DEBUG_INFO is not set
866# CONFIG_DEBUG_FS is not set 985# CONFIG_DEBUG_FS is not set
867# CONFIG_FRAME_POINTER is not set 986# CONFIG_HEADERS_CHECK is not set
987# CONFIG_DEBUG_KERNEL is not set
988CONFIG_DEBUG_BUGVERBOSE=y
989# CONFIG_SAMPLES is not set
868 990
869# 991#
870# Security options 992# Security options
871# 993#
872# CONFIG_KEYS is not set 994# CONFIG_KEYS is not set
873# CONFIG_SECURITY is not set 995# CONFIG_SECURITY is not set
874 996# CONFIG_SECURITY_FILE_CAPABILITIES is not set
875# 997CONFIG_XOR_BLOCKS=m
876# Cryptographic options 998CONFIG_ASYNC_CORE=m
877# 999CONFIG_ASYNC_MEMCPY=m
1000CONFIG_ASYNC_XOR=m
878CONFIG_CRYPTO=y 1001CONFIG_CRYPTO=y
1002CONFIG_CRYPTO_ALGAPI=y
1003CONFIG_CRYPTO_AEAD=m
1004CONFIG_CRYPTO_BLKCIPHER=m
1005CONFIG_CRYPTO_SEQIV=m
1006CONFIG_CRYPTO_HASH=y
1007CONFIG_CRYPTO_MANAGER=y
879CONFIG_CRYPTO_HMAC=y 1008CONFIG_CRYPTO_HMAC=y
1009CONFIG_CRYPTO_XCBC=m
880CONFIG_CRYPTO_NULL=m 1010CONFIG_CRYPTO_NULL=m
881CONFIG_CRYPTO_MD4=m 1011CONFIG_CRYPTO_MD4=m
882CONFIG_CRYPTO_MD5=m 1012CONFIG_CRYPTO_MD5=m
@@ -885,9 +1015,21 @@ CONFIG_CRYPTO_SHA256=m
885CONFIG_CRYPTO_SHA512=m 1015CONFIG_CRYPTO_SHA512=m
886CONFIG_CRYPTO_WP512=m 1016CONFIG_CRYPTO_WP512=m
887CONFIG_CRYPTO_TGR192=m 1017CONFIG_CRYPTO_TGR192=m
1018CONFIG_CRYPTO_GF128MUL=m
1019CONFIG_CRYPTO_ECB=m
1020CONFIG_CRYPTO_CBC=m
1021CONFIG_CRYPTO_PCBC=m
1022CONFIG_CRYPTO_LRW=m
1023CONFIG_CRYPTO_XTS=m
1024CONFIG_CRYPTO_CTR=m
1025CONFIG_CRYPTO_GCM=m
1026CONFIG_CRYPTO_CCM=m
1027CONFIG_CRYPTO_CRYPTD=m
888CONFIG_CRYPTO_DES=m 1028CONFIG_CRYPTO_DES=m
1029CONFIG_CRYPTO_FCRYPT=m
889CONFIG_CRYPTO_BLOWFISH=m 1030CONFIG_CRYPTO_BLOWFISH=m
890CONFIG_CRYPTO_TWOFISH=m 1031CONFIG_CRYPTO_TWOFISH=m
1032CONFIG_CRYPTO_TWOFISH_COMMON=m
891CONFIG_CRYPTO_SERPENT=m 1033CONFIG_CRYPTO_SERPENT=m
892CONFIG_CRYPTO_AES=m 1034CONFIG_CRYPTO_AES=m
893CONFIG_CRYPTO_CAST5=m 1035CONFIG_CRYPTO_CAST5=m
@@ -896,20 +1038,35 @@ CONFIG_CRYPTO_TEA=m
896CONFIG_CRYPTO_ARC4=m 1038CONFIG_CRYPTO_ARC4=m
897CONFIG_CRYPTO_KHAZAD=m 1039CONFIG_CRYPTO_KHAZAD=m
898CONFIG_CRYPTO_ANUBIS=m 1040CONFIG_CRYPTO_ANUBIS=m
1041CONFIG_CRYPTO_SEED=m
1042CONFIG_CRYPTO_SALSA20=m
899CONFIG_CRYPTO_DEFLATE=m 1043CONFIG_CRYPTO_DEFLATE=m
900CONFIG_CRYPTO_MICHAEL_MIC=m 1044CONFIG_CRYPTO_MICHAEL_MIC=m
901CONFIG_CRYPTO_CRC32C=m 1045CONFIG_CRYPTO_CRC32C=m
1046CONFIG_CRYPTO_CAMELLIA=m
902CONFIG_CRYPTO_TEST=m 1047CONFIG_CRYPTO_TEST=m
903 1048CONFIG_CRYPTO_AUTHENC=m
904# 1049CONFIG_CRYPTO_LZO=m
905# Hardware crypto devices 1050# CONFIG_CRYPTO_HW is not set
906#
907 1051
908# 1052#
909# Library routines 1053# Library routines
910# 1054#
1055CONFIG_BITREVERSE=y
911CONFIG_CRC_CCITT=m 1056CONFIG_CRC_CCITT=m
1057CONFIG_CRC16=y
1058# CONFIG_CRC_ITU_T is not set
912CONFIG_CRC32=y 1059CONFIG_CRC32=y
1060# CONFIG_CRC7 is not set
913CONFIG_LIBCRC32C=m 1061CONFIG_LIBCRC32C=m
914CONFIG_ZLIB_INFLATE=y 1062CONFIG_ZLIB_INFLATE=y
915CONFIG_ZLIB_DEFLATE=m 1063CONFIG_ZLIB_DEFLATE=m
1064CONFIG_LZO_COMPRESS=m
1065CONFIG_LZO_DECOMPRESS=m
1066CONFIG_TEXTSEARCH=y
1067CONFIG_TEXTSEARCH_KMP=m
1068CONFIG_TEXTSEARCH_BM=m
1069CONFIG_TEXTSEARCH_FSM=m
1070CONFIG_PLIST=y
1071CONFIG_HAS_IOMEM=y
1072CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig
index da2a23a2146..ed98eff708c 100644
--- a/arch/m68k/configs/bvme6000_defconfig
+++ b/arch/m68k/configs/bvme6000_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:37 2005 4# Wed Apr 2 20:46:10 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-bvme6000" 27CONFIG_LOCALVERSION="-bvme6000"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -85,6 +133,22 @@ CONFIG_M68060=y
85CONFIG_MMU_MOTOROLA=y 133CONFIG_MMU_MOTOROLA=y
86# CONFIG_M68KFPU_EMU is not set 134# CONFIG_M68KFPU_EMU is not set
87# CONFIG_ADVANCED is not set 135# CONFIG_ADVANCED is not set
136CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
137CONFIG_NODES_SHIFT=3
138CONFIG_SELECT_MEMORY_MODEL=y
139# CONFIG_FLATMEM_MANUAL is not set
140CONFIG_DISCONTIGMEM_MANUAL=y
141# CONFIG_SPARSEMEM_MANUAL is not set
142CONFIG_DISCONTIGMEM=y
143CONFIG_FLAT_NODE_MEM_MAP=y
144CONFIG_NEED_MULTIPLE_NODES=y
145# CONFIG_SPARSEMEM_STATIC is not set
146# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
147CONFIG_SPLIT_PTLOCK_CPUS=4
148# CONFIG_RESOURCES_64BIT is not set
149CONFIG_ZONE_DMA_FLAG=1
150CONFIG_BOUNCE=y
151CONFIG_VIRT_TO_BUS=y
88 152
89# 153#
90# General setup 154# General setup
@@ -93,134 +157,11 @@ CONFIG_BINFMT_ELF=y
93CONFIG_BINFMT_AOUT=m 157CONFIG_BINFMT_AOUT=m
94CONFIG_BINFMT_MISC=m 158CONFIG_BINFMT_MISC=m
95CONFIG_PROC_HARDWARE=y 159CONFIG_PROC_HARDWARE=y
160CONFIG_ZONE_DMA=y
161# CONFIG_ARCH_SUPPORTS_MSI is not set
96 162
97# 163#
98# Device Drivers 164# Networking
99#
100
101#
102# Generic Driver Options
103#
104CONFIG_STANDALONE=y
105CONFIG_PREVENT_FIRMWARE_BUILD=y
106CONFIG_FW_LOADER=m
107# CONFIG_DEBUG_DRIVER is not set
108
109#
110# Memory Technology Devices (MTD)
111#
112# CONFIG_MTD is not set
113
114#
115# Parallel port support
116#
117# CONFIG_PARPORT is not set
118
119#
120# Plug and Play support
121#
122
123#
124# Block devices
125#
126# CONFIG_BLK_DEV_COW_COMMON is not set
127CONFIG_BLK_DEV_LOOP=y
128CONFIG_BLK_DEV_CRYPTOLOOP=m
129CONFIG_BLK_DEV_NBD=m
130CONFIG_BLK_DEV_RAM=y
131CONFIG_BLK_DEV_RAM_COUNT=16
132CONFIG_BLK_DEV_RAM_SIZE=4096
133CONFIG_BLK_DEV_INITRD=y
134CONFIG_INITRAMFS_SOURCE=""
135CONFIG_CDROM_PKTCDVD=m
136CONFIG_CDROM_PKTCDVD_BUFFERS=8
137# CONFIG_CDROM_PKTCDVD_WCACHE is not set
138
139#
140# IO Schedulers
141#
142CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y
146CONFIG_ATA_OVER_ETH=m
147
148#
149# ATA/ATAPI/MFM/RLL support
150#
151# CONFIG_IDE is not set
152
153#
154# SCSI device support
155#
156CONFIG_SCSI=y
157CONFIG_SCSI_PROC_FS=y
158
159#
160# SCSI support type (disk, tape, CD-ROM)
161#
162CONFIG_BLK_DEV_SD=y
163CONFIG_CHR_DEV_ST=m
164# CONFIG_CHR_DEV_OSST is not set
165CONFIG_BLK_DEV_SR=y
166CONFIG_BLK_DEV_SR_VENDOR=y
167CONFIG_CHR_DEV_SG=m
168
169#
170# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
171#
172# CONFIG_SCSI_MULTI_LUN is not set
173CONFIG_SCSI_CONSTANTS=y
174# CONFIG_SCSI_LOGGING is not set
175
176#
177# SCSI Transport Attributes
178#
179# CONFIG_SCSI_SPI_ATTRS is not set
180# CONFIG_SCSI_FC_ATTRS is not set
181# CONFIG_SCSI_ISCSI_ATTRS is not set
182
183#
184# SCSI low-level drivers
185#
186# CONFIG_SCSI_SATA is not set
187# CONFIG_SCSI_DEBUG is not set
188
189#
190# Multi-device support (RAID and LVM)
191#
192CONFIG_MD=y
193CONFIG_BLK_DEV_MD=m
194CONFIG_MD_LINEAR=m
195CONFIG_MD_RAID0=m
196CONFIG_MD_RAID1=m
197# CONFIG_MD_RAID10 is not set
198CONFIG_MD_RAID5=m
199CONFIG_MD_RAID6=m
200CONFIG_MD_MULTIPATH=m
201# CONFIG_MD_FAULTY is not set
202CONFIG_BLK_DEV_DM=m
203CONFIG_DM_CRYPT=m
204CONFIG_DM_SNAPSHOT=m
205CONFIG_DM_MIRROR=m
206CONFIG_DM_ZERO=m
207CONFIG_DM_MULTIPATH=m
208CONFIG_DM_MULTIPATH_EMC=m
209
210#
211# Fusion MPT device support
212#
213
214#
215# IEEE 1394 (FireWire) support
216#
217
218#
219# I2O device support
220#
221
222#
223# Networking support
224# 165#
225CONFIG_NET=y 166CONFIG_NET=y
226 167
@@ -230,10 +171,17 @@ CONFIG_NET=y
230CONFIG_PACKET=y 171CONFIG_PACKET=y
231# CONFIG_PACKET_MMAP is not set 172# CONFIG_PACKET_MMAP is not set
232CONFIG_UNIX=y 173CONFIG_UNIX=y
174CONFIG_XFRM=y
175# CONFIG_XFRM_USER is not set
176# CONFIG_XFRM_SUB_POLICY is not set
177CONFIG_XFRM_MIGRATE=y
178# CONFIG_XFRM_STATISTICS is not set
233CONFIG_NET_KEY=y 179CONFIG_NET_KEY=y
180CONFIG_NET_KEY_MIGRATE=y
234CONFIG_INET=y 181CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 182# CONFIG_IP_MULTICAST is not set
236# CONFIG_IP_ADVANCED_ROUTER is not set 183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
237CONFIG_IP_PNP=y 185CONFIG_IP_PNP=y
238CONFIG_IP_PNP_DHCP=y 186CONFIG_IP_PNP_DHCP=y
239CONFIG_IP_PNP_BOOTP=y 187CONFIG_IP_PNP_BOOTP=y
@@ -245,126 +193,186 @@ CONFIG_SYN_COOKIES=y
245CONFIG_INET_AH=m 193CONFIG_INET_AH=m
246CONFIG_INET_ESP=m 194CONFIG_INET_ESP=m
247CONFIG_INET_IPCOMP=m 195CONFIG_INET_IPCOMP=m
196CONFIG_INET_XFRM_TUNNEL=m
248CONFIG_INET_TUNNEL=m 197CONFIG_INET_TUNNEL=m
249CONFIG_IP_TCPDIAG=m 198CONFIG_INET_XFRM_MODE_TRANSPORT=m
250CONFIG_IP_TCPDIAG_IPV6=y 199CONFIG_INET_XFRM_MODE_TUNNEL=m
251 200CONFIG_INET_XFRM_MODE_BEET=m
252# 201CONFIG_INET_LRO=m
253# IP: Virtual Server Configuration 202CONFIG_INET_DIAG=m
254# 203CONFIG_INET_TCP_DIAG=m
204# CONFIG_TCP_CONG_ADVANCED is not set
205CONFIG_TCP_CONG_CUBIC=y
206CONFIG_DEFAULT_TCP_CONG="cubic"
207# CONFIG_TCP_MD5SIG is not set
255# CONFIG_IP_VS is not set 208# CONFIG_IP_VS is not set
256CONFIG_IPV6=m 209CONFIG_IPV6=m
257CONFIG_IPV6_PRIVACY=y 210CONFIG_IPV6_PRIVACY=y
211CONFIG_IPV6_ROUTER_PREF=y
212CONFIG_IPV6_ROUTE_INFO=y
213# CONFIG_IPV6_OPTIMISTIC_DAD is not set
258CONFIG_INET6_AH=m 214CONFIG_INET6_AH=m
259CONFIG_INET6_ESP=m 215CONFIG_INET6_ESP=m
260CONFIG_INET6_IPCOMP=m 216CONFIG_INET6_IPCOMP=m
217# CONFIG_IPV6_MIP6 is not set
218CONFIG_INET6_XFRM_TUNNEL=m
261CONFIG_INET6_TUNNEL=m 219CONFIG_INET6_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_TRANSPORT=m
221CONFIG_INET6_XFRM_MODE_TUNNEL=m
222CONFIG_INET6_XFRM_MODE_BEET=m
223CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
224CONFIG_IPV6_SIT=m
262CONFIG_IPV6_TUNNEL=m 225CONFIG_IPV6_TUNNEL=m
226# CONFIG_IPV6_MULTIPLE_TABLES is not set
227# CONFIG_NETWORK_SECMARK is not set
263CONFIG_NETFILTER=y 228CONFIG_NETFILTER=y
264# CONFIG_NETFILTER_DEBUG is not set 229# CONFIG_NETFILTER_DEBUG is not set
230CONFIG_NETFILTER_ADVANCED=y
231
232#
233# Core Netfilter Configuration
234#
235CONFIG_NETFILTER_NETLINK=m
236CONFIG_NETFILTER_NETLINK_QUEUE=m
237CONFIG_NETFILTER_NETLINK_LOG=m
238CONFIG_NF_CONNTRACK=m
239CONFIG_NF_CT_ACCT=y
240CONFIG_NF_CONNTRACK_MARK=y
241# CONFIG_NF_CONNTRACK_EVENTS is not set
242CONFIG_NF_CT_PROTO_GRE=m
243CONFIG_NF_CT_PROTO_SCTP=m
244CONFIG_NF_CT_PROTO_UDPLITE=m
245CONFIG_NF_CONNTRACK_AMANDA=m
246CONFIG_NF_CONNTRACK_FTP=m
247CONFIG_NF_CONNTRACK_H323=m
248CONFIG_NF_CONNTRACK_IRC=m
249CONFIG_NF_CONNTRACK_NETBIOS_NS=m
250CONFIG_NF_CONNTRACK_PPTP=m
251CONFIG_NF_CONNTRACK_SANE=m
252CONFIG_NF_CONNTRACK_SIP=m
253CONFIG_NF_CONNTRACK_TFTP=m
254# CONFIG_NF_CT_NETLINK is not set
255CONFIG_NETFILTER_XTABLES=m
256CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
257CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
258CONFIG_NETFILTER_XT_TARGET_DSCP=m
259CONFIG_NETFILTER_XT_TARGET_MARK=m
260CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
261CONFIG_NETFILTER_XT_TARGET_NFLOG=m
262CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
263CONFIG_NETFILTER_XT_TARGET_RATEEST=m
264CONFIG_NETFILTER_XT_TARGET_TRACE=m
265CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
266CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
267CONFIG_NETFILTER_XT_MATCH_COMMENT=m
268CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
269CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
270CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
271CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
272CONFIG_NETFILTER_XT_MATCH_DCCP=m
273CONFIG_NETFILTER_XT_MATCH_DSCP=m
274CONFIG_NETFILTER_XT_MATCH_ESP=m
275CONFIG_NETFILTER_XT_MATCH_HELPER=m
276CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
277CONFIG_NETFILTER_XT_MATCH_LENGTH=m
278CONFIG_NETFILTER_XT_MATCH_LIMIT=m
279CONFIG_NETFILTER_XT_MATCH_MAC=m
280CONFIG_NETFILTER_XT_MATCH_MARK=m
281CONFIG_NETFILTER_XT_MATCH_OWNER=m
282CONFIG_NETFILTER_XT_MATCH_POLICY=m
283CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
284CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
285CONFIG_NETFILTER_XT_MATCH_QUOTA=m
286CONFIG_NETFILTER_XT_MATCH_RATEEST=m
287CONFIG_NETFILTER_XT_MATCH_REALM=m
288CONFIG_NETFILTER_XT_MATCH_SCTP=m
289CONFIG_NETFILTER_XT_MATCH_STATE=m
290CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
291CONFIG_NETFILTER_XT_MATCH_STRING=m
292CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
293CONFIG_NETFILTER_XT_MATCH_TIME=m
294CONFIG_NETFILTER_XT_MATCH_U32=m
295CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
265 296
266# 297#
267# IP: Netfilter Configuration 298# IP: Netfilter Configuration
268# 299#
269CONFIG_IP_NF_CONNTRACK=m 300CONFIG_NF_CONNTRACK_IPV4=m
270# CONFIG_IP_NF_CT_ACCT is not set 301CONFIG_NF_CONNTRACK_PROC_COMPAT=y
271CONFIG_IP_NF_CONNTRACK_MARK=y
272# CONFIG_IP_NF_CT_PROTO_SCTP is not set
273CONFIG_IP_NF_FTP=m
274CONFIG_IP_NF_IRC=m
275CONFIG_IP_NF_TFTP=m
276CONFIG_IP_NF_AMANDA=m
277CONFIG_IP_NF_QUEUE=m 302CONFIG_IP_NF_QUEUE=m
278CONFIG_IP_NF_IPTABLES=m 303CONFIG_IP_NF_IPTABLES=m
279CONFIG_IP_NF_MATCH_LIMIT=m
280CONFIG_IP_NF_MATCH_IPRANGE=m
281CONFIG_IP_NF_MATCH_MAC=m
282CONFIG_IP_NF_MATCH_PKTTYPE=m
283CONFIG_IP_NF_MATCH_MARK=m
284CONFIG_IP_NF_MATCH_MULTIPORT=m
285CONFIG_IP_NF_MATCH_TOS=m
286CONFIG_IP_NF_MATCH_RECENT=m 304CONFIG_IP_NF_MATCH_RECENT=m
287CONFIG_IP_NF_MATCH_ECN=m 305CONFIG_IP_NF_MATCH_ECN=m
288CONFIG_IP_NF_MATCH_DSCP=m 306CONFIG_IP_NF_MATCH_AH=m
289CONFIG_IP_NF_MATCH_AH_ESP=m
290CONFIG_IP_NF_MATCH_LENGTH=m
291CONFIG_IP_NF_MATCH_TTL=m 307CONFIG_IP_NF_MATCH_TTL=m
292CONFIG_IP_NF_MATCH_TCPMSS=m
293CONFIG_IP_NF_MATCH_HELPER=m
294CONFIG_IP_NF_MATCH_STATE=m
295CONFIG_IP_NF_MATCH_CONNTRACK=m
296CONFIG_IP_NF_MATCH_OWNER=m
297CONFIG_IP_NF_MATCH_ADDRTYPE=m 308CONFIG_IP_NF_MATCH_ADDRTYPE=m
298CONFIG_IP_NF_MATCH_REALM=m
299# CONFIG_IP_NF_MATCH_SCTP is not set
300# CONFIG_IP_NF_MATCH_COMMENT is not set
301CONFIG_IP_NF_MATCH_CONNMARK=m
302CONFIG_IP_NF_MATCH_HASHLIMIT=m
303CONFIG_IP_NF_FILTER=m 309CONFIG_IP_NF_FILTER=m
304CONFIG_IP_NF_TARGET_REJECT=m 310CONFIG_IP_NF_TARGET_REJECT=m
305CONFIG_IP_NF_TARGET_LOG=m 311CONFIG_IP_NF_TARGET_LOG=m
306CONFIG_IP_NF_TARGET_ULOG=m 312CONFIG_IP_NF_TARGET_ULOG=m
307CONFIG_IP_NF_TARGET_TCPMSS=m 313CONFIG_NF_NAT=m
308CONFIG_IP_NF_NAT=m 314CONFIG_NF_NAT_NEEDED=y
309CONFIG_IP_NF_NAT_NEEDED=y
310CONFIG_IP_NF_TARGET_MASQUERADE=m 315CONFIG_IP_NF_TARGET_MASQUERADE=m
311CONFIG_IP_NF_TARGET_REDIRECT=m 316CONFIG_IP_NF_TARGET_REDIRECT=m
312CONFIG_IP_NF_TARGET_NETMAP=m 317CONFIG_IP_NF_TARGET_NETMAP=m
313CONFIG_IP_NF_TARGET_SAME=m 318CONFIG_NF_NAT_SNMP_BASIC=m
314CONFIG_IP_NF_NAT_SNMP_BASIC=m 319CONFIG_NF_NAT_PROTO_GRE=m
315CONFIG_IP_NF_NAT_IRC=m 320CONFIG_NF_NAT_FTP=m
316CONFIG_IP_NF_NAT_FTP=m 321CONFIG_NF_NAT_IRC=m
317CONFIG_IP_NF_NAT_TFTP=m 322CONFIG_NF_NAT_TFTP=m
318CONFIG_IP_NF_NAT_AMANDA=m 323CONFIG_NF_NAT_AMANDA=m
324CONFIG_NF_NAT_PPTP=m
325CONFIG_NF_NAT_H323=m
326CONFIG_NF_NAT_SIP=m
319CONFIG_IP_NF_MANGLE=m 327CONFIG_IP_NF_MANGLE=m
320CONFIG_IP_NF_TARGET_TOS=m
321CONFIG_IP_NF_TARGET_ECN=m 328CONFIG_IP_NF_TARGET_ECN=m
322CONFIG_IP_NF_TARGET_DSCP=m 329CONFIG_IP_NF_TARGET_TTL=m
323CONFIG_IP_NF_TARGET_MARK=m 330CONFIG_IP_NF_TARGET_CLUSTERIP=m
324CONFIG_IP_NF_TARGET_CLASSIFY=m
325CONFIG_IP_NF_TARGET_CONNMARK=m
326# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
327CONFIG_IP_NF_RAW=m 331CONFIG_IP_NF_RAW=m
328CONFIG_IP_NF_TARGET_NOTRACK=m
329CONFIG_IP_NF_ARPTABLES=m 332CONFIG_IP_NF_ARPTABLES=m
330CONFIG_IP_NF_ARPFILTER=m 333CONFIG_IP_NF_ARPFILTER=m
331CONFIG_IP_NF_ARP_MANGLE=m 334CONFIG_IP_NF_ARP_MANGLE=m
332 335
333# 336#
334# IPv6: Netfilter Configuration (EXPERIMENTAL) 337# IPv6: Netfilter Configuration
335# 338#
339CONFIG_NF_CONNTRACK_IPV6=m
336CONFIG_IP6_NF_QUEUE=m 340CONFIG_IP6_NF_QUEUE=m
337CONFIG_IP6_NF_IPTABLES=m 341CONFIG_IP6_NF_IPTABLES=m
338CONFIG_IP6_NF_MATCH_LIMIT=m
339CONFIG_IP6_NF_MATCH_MAC=m
340CONFIG_IP6_NF_MATCH_RT=m 342CONFIG_IP6_NF_MATCH_RT=m
341CONFIG_IP6_NF_MATCH_OPTS=m 343CONFIG_IP6_NF_MATCH_OPTS=m
342CONFIG_IP6_NF_MATCH_FRAG=m 344CONFIG_IP6_NF_MATCH_FRAG=m
343CONFIG_IP6_NF_MATCH_HL=m 345CONFIG_IP6_NF_MATCH_HL=m
344CONFIG_IP6_NF_MATCH_MULTIPORT=m
345CONFIG_IP6_NF_MATCH_OWNER=m
346CONFIG_IP6_NF_MATCH_MARK=m
347CONFIG_IP6_NF_MATCH_IPV6HEADER=m 346CONFIG_IP6_NF_MATCH_IPV6HEADER=m
348CONFIG_IP6_NF_MATCH_AHESP=m 347CONFIG_IP6_NF_MATCH_AH=m
349CONFIG_IP6_NF_MATCH_LENGTH=m 348CONFIG_IP6_NF_MATCH_MH=m
350CONFIG_IP6_NF_MATCH_EUI64=m 349CONFIG_IP6_NF_MATCH_EUI64=m
351CONFIG_IP6_NF_FILTER=m 350CONFIG_IP6_NF_FILTER=m
352CONFIG_IP6_NF_TARGET_LOG=m 351CONFIG_IP6_NF_TARGET_LOG=m
352CONFIG_IP6_NF_TARGET_REJECT=m
353CONFIG_IP6_NF_MANGLE=m 353CONFIG_IP6_NF_MANGLE=m
354CONFIG_IP6_NF_TARGET_MARK=m 354CONFIG_IP6_NF_TARGET_HL=m
355CONFIG_IP6_NF_RAW=m 355CONFIG_IP6_NF_RAW=m
356CONFIG_XFRM=y 356CONFIG_IP_DCCP=m
357CONFIG_XFRM_USER=m 357CONFIG_INET_DCCP_DIAG=m
358CONFIG_IP_DCCP_ACKVEC=y
358 359
359# 360#
360# SCTP Configuration (EXPERIMENTAL) 361# DCCP CCIDs Configuration (EXPERIMENTAL)
361# 362#
363CONFIG_IP_DCCP_CCID2=m
364# CONFIG_IP_DCCP_CCID2_DEBUG is not set
365CONFIG_IP_DCCP_CCID3=m
366# CONFIG_IP_DCCP_CCID3_DEBUG is not set
367CONFIG_IP_DCCP_CCID3_RTO=100
368CONFIG_IP_DCCP_TFRC_LIB=m
362CONFIG_IP_SCTP=m 369CONFIG_IP_SCTP=m
363# CONFIG_SCTP_DBG_MSG is not set 370# CONFIG_SCTP_DBG_MSG is not set
364# CONFIG_SCTP_DBG_OBJCNT is not set 371# CONFIG_SCTP_DBG_OBJCNT is not set
365# CONFIG_SCTP_HMAC_NONE is not set 372# CONFIG_SCTP_HMAC_NONE is not set
366# CONFIG_SCTP_HMAC_SHA1 is not set 373# CONFIG_SCTP_HMAC_SHA1 is not set
367CONFIG_SCTP_HMAC_MD5=y 374CONFIG_SCTP_HMAC_MD5=y
375# CONFIG_TIPC is not set
368# CONFIG_ATM is not set 376# CONFIG_ATM is not set
369# CONFIG_BRIDGE is not set 377# CONFIG_BRIDGE is not set
370# CONFIG_VLAN_8021Q is not set 378# CONFIG_VLAN_8021Q is not set
@@ -376,13 +384,8 @@ CONFIG_ATALK=m
376# CONFIG_DEV_APPLETALK is not set 384# CONFIG_DEV_APPLETALK is not set
377# CONFIG_X25 is not set 385# CONFIG_X25 is not set
378# CONFIG_LAPB is not set 386# CONFIG_LAPB is not set
379# CONFIG_NET_DIVERT is not set
380# CONFIG_ECONET is not set 387# CONFIG_ECONET is not set
381# CONFIG_WAN_ROUTER is not set 388# CONFIG_WAN_ROUTER is not set
382
383#
384# QoS and/or fair queueing
385#
386# CONFIG_NET_SCHED is not set 389# CONFIG_NET_SCHED is not set
387CONFIG_NET_CLS_ROUTE=y 390CONFIG_NET_CLS_ROUTE=y
388 391
@@ -390,76 +393,186 @@ CONFIG_NET_CLS_ROUTE=y
390# Network testing 393# Network testing
391# 394#
392# CONFIG_NET_PKTGEN is not set 395# CONFIG_NET_PKTGEN is not set
393CONFIG_NETPOLL=y
394# CONFIG_NETPOLL_RX is not set
395# CONFIG_NETPOLL_TRAP is not set
396CONFIG_NET_POLL_CONTROLLER=y
397# CONFIG_HAMRADIO is not set 396# CONFIG_HAMRADIO is not set
397# CONFIG_CAN is not set
398# CONFIG_IRDA is not set 398# CONFIG_IRDA is not set
399# CONFIG_BT is not set 399# CONFIG_BT is not set
400CONFIG_NETDEVICES=y 400# CONFIG_AF_RXRPC is not set
401CONFIG_DUMMY=m
402# CONFIG_BONDING is not set
403CONFIG_EQUALIZER=m
404# CONFIG_TUN is not set
405 401
406# 402#
407# Ethernet (10 or 100Mbit) 403# Wireless
408# 404#
409CONFIG_NET_ETHERNET=y 405# CONFIG_CFG80211 is not set
410CONFIG_MII=m 406CONFIG_WIRELESS_EXT=y
411CONFIG_BVME6000_NET=y 407# CONFIG_MAC80211 is not set
408CONFIG_IEEE80211=m
409# CONFIG_IEEE80211_DEBUG is not set
410CONFIG_IEEE80211_CRYPT_WEP=m
411CONFIG_IEEE80211_CRYPT_CCMP=m
412CONFIG_IEEE80211_CRYPT_TKIP=m
413CONFIG_IEEE80211_SOFTMAC=m
414# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
415# CONFIG_RFKILL is not set
416# CONFIG_NET_9P is not set
412 417
413# 418#
414# Ethernet (1000 Mbit) 419# Device Drivers
415# 420#
416 421
417# 422#
418# Ethernet (10000 Mbit) 423# Generic Driver Options
419# 424#
425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430CONFIG_CONNECTOR=m
431# CONFIG_MTD is not set
432# CONFIG_PARPORT is not set
433CONFIG_BLK_DEV=y
434# CONFIG_BLK_DEV_COW_COMMON is not set
435CONFIG_BLK_DEV_LOOP=y
436CONFIG_BLK_DEV_CRYPTOLOOP=m
437CONFIG_BLK_DEV_NBD=m
438CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=16
440CONFIG_BLK_DEV_RAM_SIZE=4096
441# CONFIG_BLK_DEV_XIP is not set
442CONFIG_CDROM_PKTCDVD=m
443CONFIG_CDROM_PKTCDVD_BUFFERS=8
444# CONFIG_CDROM_PKTCDVD_WCACHE is not set
445CONFIG_ATA_OVER_ETH=m
446CONFIG_MISC_DEVICES=y
447# CONFIG_EEPROM_93CX6 is not set
448# CONFIG_ENCLOSURE_SERVICES is not set
449CONFIG_HAVE_IDE=y
450# CONFIG_IDE is not set
420 451
421# 452#
422# Token Ring devices 453# SCSI device support
423# 454#
455CONFIG_RAID_ATTRS=m
456CONFIG_SCSI=y
457CONFIG_SCSI_DMA=y
458CONFIG_SCSI_TGT=m
459# CONFIG_SCSI_NETLINK is not set
460CONFIG_SCSI_PROC_FS=y
424 461
425# 462#
426# Wireless LAN (non-hamradio) 463# SCSI support type (disk, tape, CD-ROM)
427# 464#
428# CONFIG_NET_RADIO is not set 465CONFIG_BLK_DEV_SD=y
466CONFIG_CHR_DEV_ST=m
467CONFIG_CHR_DEV_OSST=m
468CONFIG_BLK_DEV_SR=y
469CONFIG_BLK_DEV_SR_VENDOR=y
470CONFIG_CHR_DEV_SG=m
471# CONFIG_CHR_DEV_SCH is not set
472
473#
474# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
475#
476# CONFIG_SCSI_MULTI_LUN is not set
477CONFIG_SCSI_CONSTANTS=y
478# CONFIG_SCSI_LOGGING is not set
479# CONFIG_SCSI_SCAN_ASYNC is not set
480CONFIG_SCSI_WAIT_SCAN=m
481
482#
483# SCSI Transports
484#
485CONFIG_SCSI_SPI_ATTRS=y
486# CONFIG_SCSI_FC_ATTRS is not set
487CONFIG_SCSI_ISCSI_ATTRS=m
488CONFIG_SCSI_SAS_ATTRS=m
489CONFIG_SCSI_SAS_LIBSAS=m
490CONFIG_SCSI_SAS_HOST_SMP=y
491# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
492CONFIG_SCSI_SRP_ATTRS=m
493CONFIG_SCSI_SRP_TGT_ATTRS=y
494CONFIG_SCSI_LOWLEVEL=y
495CONFIG_ISCSI_TCP=m
496CONFIG_53C700_BE_BUS=y
497# CONFIG_SCSI_DEBUG is not set
498CONFIG_BVME6000_SCSI=y
499CONFIG_MD=y
500CONFIG_BLK_DEV_MD=m
501CONFIG_MD_LINEAR=m
502CONFIG_MD_RAID0=m
503CONFIG_MD_RAID1=m
504# CONFIG_MD_RAID10 is not set
505CONFIG_MD_RAID456=m
506CONFIG_MD_RAID5_RESHAPE=y
507CONFIG_MD_MULTIPATH=m
508# CONFIG_MD_FAULTY is not set
509CONFIG_BLK_DEV_DM=m
510# CONFIG_DM_DEBUG is not set
511CONFIG_DM_CRYPT=m
512CONFIG_DM_SNAPSHOT=m
513CONFIG_DM_MIRROR=m
514CONFIG_DM_ZERO=m
515CONFIG_DM_MULTIPATH=m
516CONFIG_DM_MULTIPATH_EMC=m
517CONFIG_DM_MULTIPATH_RDAC=m
518CONFIG_DM_MULTIPATH_HP=m
519# CONFIG_DM_DELAY is not set
520CONFIG_DM_UEVENT=y
521CONFIG_NETDEVICES=y
522# CONFIG_NETDEVICES_MULTIQUEUE is not set
523CONFIG_DUMMY=m
524# CONFIG_BONDING is not set
525CONFIG_MACVLAN=m
526CONFIG_EQUALIZER=m
527# CONFIG_TUN is not set
528CONFIG_VETH=m
529# CONFIG_PHYLIB is not set
530CONFIG_NET_ETHERNET=y
531# CONFIG_MII is not set
532CONFIG_BVME6000_NET=y
533# CONFIG_IBM_NEW_EMAC_ZMII is not set
534# CONFIG_IBM_NEW_EMAC_RGMII is not set
535# CONFIG_IBM_NEW_EMAC_TAH is not set
536# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
537# CONFIG_B44 is not set
538# CONFIG_NETDEV_1000 is not set
539# CONFIG_NETDEV_10000 is not set
429 540
430# 541#
431# Wan interfaces 542# Wireless LAN
432# 543#
544# CONFIG_WLAN_PRE80211 is not set
545# CONFIG_WLAN_80211 is not set
433# CONFIG_WAN is not set 546# CONFIG_WAN is not set
434CONFIG_PPP=m 547CONFIG_PPP=m
435# CONFIG_PPP_MULTILINK is not set 548# CONFIG_PPP_MULTILINK is not set
436# CONFIG_PPP_FILTER is not set 549CONFIG_PPP_FILTER=y
437CONFIG_PPP_ASYNC=m 550CONFIG_PPP_ASYNC=m
438CONFIG_PPP_SYNC_TTY=m 551CONFIG_PPP_SYNC_TTY=m
439CONFIG_PPP_DEFLATE=m 552CONFIG_PPP_DEFLATE=m
440CONFIG_PPP_BSDCOMP=m 553CONFIG_PPP_BSDCOMP=m
554CONFIG_PPP_MPPE=m
441CONFIG_PPPOE=m 555CONFIG_PPPOE=m
556CONFIG_PPPOL2TP=m
442CONFIG_SLIP=m 557CONFIG_SLIP=m
443CONFIG_SLIP_COMPRESSED=y 558CONFIG_SLIP_COMPRESSED=y
559CONFIG_SLHC=m
444CONFIG_SLIP_SMART=y 560CONFIG_SLIP_SMART=y
445CONFIG_SLIP_MODE_SLIP6=y 561CONFIG_SLIP_MODE_SLIP6=y
446CONFIG_SHAPER=m
447CONFIG_NETCONSOLE=m 562CONFIG_NETCONSOLE=m
448 563CONFIG_NETCONSOLE_DYNAMIC=y
449# 564CONFIG_NETPOLL=y
450# ISDN subsystem 565# CONFIG_NETPOLL_TRAP is not set
451# 566CONFIG_NET_POLL_CONTROLLER=y
452# CONFIG_ISDN is not set 567# CONFIG_ISDN is not set
453
454#
455# Telephony Support
456#
457# CONFIG_PHONE is not set 568# CONFIG_PHONE is not set
458 569
459# 570#
460# Input device support 571# Input device support
461# 572#
462CONFIG_INPUT=y 573CONFIG_INPUT=y
574CONFIG_INPUT_FF_MEMLESS=m
575# CONFIG_INPUT_POLLDEV is not set
463 576
464# 577#
465# Userland interfaces 578# Userland interfaces
@@ -469,7 +582,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
469CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 582CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
470CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 583CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
471# CONFIG_INPUT_JOYDEV is not set 584# CONFIG_INPUT_JOYDEV is not set
472# CONFIG_INPUT_TSDEV is not set
473# CONFIG_INPUT_EVDEV is not set 585# CONFIG_INPUT_EVDEV is not set
474# CONFIG_INPUT_EVBUG is not set 586# CONFIG_INPUT_EVBUG is not set
475 587
@@ -482,11 +594,19 @@ CONFIG_INPUT_KEYBOARD=y
482# CONFIG_KEYBOARD_LKKBD is not set 594# CONFIG_KEYBOARD_LKKBD is not set
483# CONFIG_KEYBOARD_XTKBD is not set 595# CONFIG_KEYBOARD_XTKBD is not set
484# CONFIG_KEYBOARD_NEWTON is not set 596# CONFIG_KEYBOARD_NEWTON is not set
597# CONFIG_KEYBOARD_STOWAWAY is not set
485CONFIG_INPUT_MOUSE=y 598CONFIG_INPUT_MOUSE=y
486CONFIG_MOUSE_PS2=m 599CONFIG_MOUSE_PS2=m
600CONFIG_MOUSE_PS2_ALPS=y
601CONFIG_MOUSE_PS2_LOGIPS2PP=y
602CONFIG_MOUSE_PS2_SYNAPTICS=y
603CONFIG_MOUSE_PS2_LIFEBOOK=y
604CONFIG_MOUSE_PS2_TRACKPOINT=y
605# CONFIG_MOUSE_PS2_TOUCHKIT is not set
487CONFIG_MOUSE_SERIAL=m 606CONFIG_MOUSE_SERIAL=m
488# CONFIG_MOUSE_VSXXXAA is not set 607# CONFIG_MOUSE_VSXXXAA is not set
489# CONFIG_INPUT_JOYSTICK is not set 608# CONFIG_INPUT_JOYSTICK is not set
609# CONFIG_INPUT_TABLET is not set
490# CONFIG_INPUT_TOUCHSCREEN is not set 610# CONFIG_INPUT_TOUCHSCREEN is not set
491# CONFIG_INPUT_MISC is not set 611# CONFIG_INPUT_MISC is not set
492 612
@@ -494,7 +614,7 @@ CONFIG_MOUSE_SERIAL=m
494# Hardware I/O ports 614# Hardware I/O ports
495# 615#
496CONFIG_SERIO=m 616CONFIG_SERIO=m
497CONFIG_SERIO_SERPORT=m 617# CONFIG_SERIO_SERPORT is not set
498CONFIG_SERIO_LIBPS2=m 618CONFIG_SERIO_LIBPS2=m
499# CONFIG_SERIO_RAW is not set 619# CONFIG_SERIO_RAW is not set
500# CONFIG_GAMEPORT is not set 620# CONFIG_GAMEPORT is not set
@@ -505,6 +625,7 @@ CONFIG_SERIO_LIBPS2=m
505CONFIG_VT=y 625CONFIG_VT=y
506CONFIG_VT_CONSOLE=y 626CONFIG_VT_CONSOLE=y
507CONFIG_HW_CONSOLE=y 627CONFIG_HW_CONSOLE=y
628CONFIG_VT_HW_CONSOLE_BINDING=y
508# CONFIG_SERIAL_NONSTANDARD is not set 629# CONFIG_SERIAL_NONSTANDARD is not set
509 630
510# 631#
@@ -518,59 +639,56 @@ CONFIG_HW_CONSOLE=y
518CONFIG_UNIX98_PTYS=y 639CONFIG_UNIX98_PTYS=y
519CONFIG_LEGACY_PTYS=y 640CONFIG_LEGACY_PTYS=y
520CONFIG_LEGACY_PTY_COUNT=256 641CONFIG_LEGACY_PTY_COUNT=256
521
522#
523# IPMI
524#
525# CONFIG_IPMI_HANDLER is not set 642# CONFIG_IPMI_HANDLER is not set
526 643# CONFIG_HW_RANDOM is not set
527#
528# Watchdog Cards
529#
530# CONFIG_WATCHDOG is not set
531CONFIG_GEN_RTC=m 644CONFIG_GEN_RTC=m
532CONFIG_GEN_RTC_X=y 645CONFIG_GEN_RTC_X=y
533# CONFIG_DTLK is not set
534# CONFIG_R3964 is not set 646# CONFIG_R3964 is not set
535
536#
537# Ftape, the floppy tape device driver
538#
539# CONFIG_DRM is not set
540# CONFIG_RAW_DRIVER is not set 647# CONFIG_RAW_DRIVER is not set
648# CONFIG_TCG_TPM is not set
649# CONFIG_I2C is not set
541 650
542# 651#
543# TPM devices 652# SPI support
544#
545
546#
547# I2C support
548# 653#
549# CONFIG_I2C is not set 654# CONFIG_SPI is not set
655# CONFIG_SPI_MASTER is not set
656# CONFIG_W1 is not set
657# CONFIG_POWER_SUPPLY is not set
658# CONFIG_HWMON is not set
659# CONFIG_THERMAL is not set
660# CONFIG_WATCHDOG is not set
550 661
551# 662#
552# Dallas's 1-wire bus 663# Sonics Silicon Backplane
553# 664#
554# CONFIG_W1 is not set 665CONFIG_SSB_POSSIBLE=y
666# CONFIG_SSB is not set
555 667
556# 668#
557# Misc devices 669# Multifunction device drivers
558# 670#
671# CONFIG_MFD_SM501 is not set
559 672
560# 673#
561# Multimedia devices 674# Multimedia devices
562# 675#
563# CONFIG_VIDEO_DEV is not set 676# CONFIG_VIDEO_DEV is not set
677# CONFIG_DVB_CORE is not set
678# CONFIG_DAB is not set
564 679
565# 680#
566# Digital Video Broadcasting Devices 681# Graphics support
567# 682#
568# CONFIG_DVB is not set 683# CONFIG_VGASTATE is not set
684# CONFIG_VIDEO_OUTPUT_CONTROL is not set
685# CONFIG_FB is not set
686# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
569 687
570# 688#
571# Graphics support 689# Display device support
572# 690#
573# CONFIG_FB is not set 691# CONFIG_DISPLAY_SUPPORT is not set
574 692
575# 693#
576# Console display driver support 694# Console display driver support
@@ -581,27 +699,20 @@ CONFIG_DUMMY_CONSOLE=y
581# Sound 699# Sound
582# 700#
583# CONFIG_SOUND is not set 701# CONFIG_SOUND is not set
584 702CONFIG_HID_SUPPORT=y
585# 703CONFIG_HID=m
586# USB support 704# CONFIG_HID_DEBUG is not set
587# 705CONFIG_HIDRAW=y
588# CONFIG_USB_ARCH_HAS_HCD is not set 706# CONFIG_USB_SUPPORT is not set
589# CONFIG_USB_ARCH_HAS_OHCI is not set
590
591#
592# USB Gadget Support
593#
594# CONFIG_USB_GADGET is not set
595
596#
597# MMC/SD Card support
598#
599# CONFIG_MMC is not set 707# CONFIG_MMC is not set
708# CONFIG_MEMSTICK is not set
709# CONFIG_NEW_LEDS is not set
710# CONFIG_RTC_CLASS is not set
600 711
601# 712#
602# InfiniBand support 713# Userspace I/O
603# 714#
604# CONFIG_INFINIBAND is not set 715# CONFIG_UIO is not set
605 716
606# 717#
607# Character devices 718# Character devices
@@ -614,10 +725,11 @@ CONFIG_SERIAL_CONSOLE=y
614# 725#
615CONFIG_EXT2_FS=y 726CONFIG_EXT2_FS=y
616# CONFIG_EXT2_FS_XATTR is not set 727# CONFIG_EXT2_FS_XATTR is not set
728# CONFIG_EXT2_FS_XIP is not set
617CONFIG_EXT3_FS=y 729CONFIG_EXT3_FS=y
618# CONFIG_EXT3_FS_XATTR is not set 730# CONFIG_EXT3_FS_XATTR is not set
731# CONFIG_EXT4DEV_FS is not set
619CONFIG_JBD=y 732CONFIG_JBD=y
620# CONFIG_JBD_DEBUG is not set
621CONFIG_REISERFS_FS=m 733CONFIG_REISERFS_FS=m
622# CONFIG_REISERFS_CHECK is not set 734# CONFIG_REISERFS_CHECK is not set
623# CONFIG_REISERFS_PROC_INFO is not set 735# CONFIG_REISERFS_PROC_INFO is not set
@@ -628,25 +740,29 @@ CONFIG_JFS_FS=m
628# CONFIG_JFS_DEBUG is not set 740# CONFIG_JFS_DEBUG is not set
629# CONFIG_JFS_STATISTICS is not set 741# CONFIG_JFS_STATISTICS is not set
630CONFIG_FS_POSIX_ACL=y 742CONFIG_FS_POSIX_ACL=y
631
632#
633# XFS support
634#
635CONFIG_XFS_FS=m 743CONFIG_XFS_FS=m
636CONFIG_XFS_EXPORT=y
637# CONFIG_XFS_RT is not set
638# CONFIG_XFS_QUOTA is not set 744# CONFIG_XFS_QUOTA is not set
639# CONFIG_XFS_SECURITY is not set 745# CONFIG_XFS_SECURITY is not set
640# CONFIG_XFS_POSIX_ACL is not set 746# CONFIG_XFS_POSIX_ACL is not set
641CONFIG_MINIX_FS=y 747# CONFIG_XFS_RT is not set
642# CONFIG_ROMFS_FS is not set 748CONFIG_GFS2_FS=m
749CONFIG_GFS2_FS_LOCKING_NOLOCK=m
750CONFIG_GFS2_FS_LOCKING_DLM=m
751CONFIG_OCFS2_FS=m
752# CONFIG_OCFS2_DEBUG_MASKLOG is not set
753# CONFIG_OCFS2_DEBUG_FS is not set
754CONFIG_DNOTIFY=y
755CONFIG_INOTIFY=y
756CONFIG_INOTIFY_USER=y
643CONFIG_QUOTA=y 757CONFIG_QUOTA=y
758CONFIG_QUOTA_NETLINK_INTERFACE=y
759# CONFIG_PRINT_QUOTA_WARNING is not set
644# CONFIG_QFMT_V1 is not set 760# CONFIG_QFMT_V1 is not set
645# CONFIG_QFMT_V2 is not set 761# CONFIG_QFMT_V2 is not set
646CONFIG_QUOTACTL=y 762CONFIG_QUOTACTL=y
647CONFIG_DNOTIFY=y
648CONFIG_AUTOFS_FS=m 763CONFIG_AUTOFS_FS=m
649CONFIG_AUTOFS4_FS=m 764CONFIG_AUTOFS4_FS=m
765CONFIG_FUSE_FS=m
650 766
651# 767#
652# CD-ROM/DVD Filesystems 768# CD-ROM/DVD Filesystems
@@ -654,7 +770,6 @@ CONFIG_AUTOFS4_FS=m
654CONFIG_ISO9660_FS=y 770CONFIG_ISO9660_FS=y
655CONFIG_JOLIET=y 771CONFIG_JOLIET=y
656CONFIG_ZISOFS=y 772CONFIG_ZISOFS=y
657CONFIG_ZISOFS_FS=y
658CONFIG_UDF_FS=m 773CONFIG_UDF_FS=m
659CONFIG_UDF_NLS=y 774CONFIG_UDF_NLS=y
660 775
@@ -673,13 +788,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
673# 788#
674CONFIG_PROC_FS=y 789CONFIG_PROC_FS=y
675CONFIG_PROC_KCORE=y 790CONFIG_PROC_KCORE=y
791CONFIG_PROC_SYSCTL=y
676CONFIG_SYSFS=y 792CONFIG_SYSFS=y
677# CONFIG_DEVFS_FS is not set
678# CONFIG_DEVPTS_FS_XATTR is not set
679CONFIG_TMPFS=y 793CONFIG_TMPFS=y
680# CONFIG_TMPFS_XATTR is not set 794# CONFIG_TMPFS_POSIX_ACL is not set
681# CONFIG_HUGETLB_PAGE is not set 795# CONFIG_HUGETLB_PAGE is not set
682CONFIG_RAMFS=y 796CONFIG_CONFIGFS_FS=m
683 797
684# 798#
685# Miscellaneous filesystems 799# Miscellaneous filesystems
@@ -693,44 +807,40 @@ CONFIG_HFSPLUS_FS=m
693# CONFIG_EFS_FS is not set 807# CONFIG_EFS_FS is not set
694CONFIG_CRAMFS=m 808CONFIG_CRAMFS=m
695# CONFIG_VXFS_FS is not set 809# CONFIG_VXFS_FS is not set
810CONFIG_MINIX_FS=y
696CONFIG_HPFS_FS=m 811CONFIG_HPFS_FS=m
697# CONFIG_QNX4FS_FS is not set 812# CONFIG_QNX4FS_FS is not set
813# CONFIG_ROMFS_FS is not set
698CONFIG_SYSV_FS=m 814CONFIG_SYSV_FS=m
699CONFIG_UFS_FS=m 815CONFIG_UFS_FS=m
700# CONFIG_UFS_FS_WRITE is not set 816# CONFIG_UFS_FS_WRITE is not set
701 817# CONFIG_UFS_DEBUG is not set
702# 818CONFIG_NETWORK_FILESYSTEMS=y
703# Network File Systems
704#
705CONFIG_NFS_FS=y 819CONFIG_NFS_FS=y
706CONFIG_NFS_V3=y 820CONFIG_NFS_V3=y
821# CONFIG_NFS_V3_ACL is not set
707CONFIG_NFS_V4=y 822CONFIG_NFS_V4=y
708# CONFIG_NFS_DIRECTIO is not set 823# CONFIG_NFS_DIRECTIO is not set
709CONFIG_NFSD=m 824CONFIG_NFSD=m
710CONFIG_NFSD_V3=y 825CONFIG_NFSD_V3=y
711CONFIG_NFSD_V4=y 826# CONFIG_NFSD_V3_ACL is not set
827# CONFIG_NFSD_V4 is not set
712CONFIG_NFSD_TCP=y 828CONFIG_NFSD_TCP=y
713CONFIG_ROOT_NFS=y 829CONFIG_ROOT_NFS=y
714CONFIG_LOCKD=y 830CONFIG_LOCKD=y
715CONFIG_LOCKD_V4=y 831CONFIG_LOCKD_V4=y
716CONFIG_EXPORTFS=m 832CONFIG_EXPORTFS=m
833CONFIG_NFS_COMMON=y
717CONFIG_SUNRPC=y 834CONFIG_SUNRPC=y
718CONFIG_SUNRPC_GSS=y 835CONFIG_SUNRPC_GSS=y
836CONFIG_SUNRPC_BIND34=y
719CONFIG_RPCSEC_GSS_KRB5=y 837CONFIG_RPCSEC_GSS_KRB5=y
720# CONFIG_RPCSEC_GSS_SPKM3 is not set 838# CONFIG_RPCSEC_GSS_SPKM3 is not set
721CONFIG_SMB_FS=m 839CONFIG_SMB_FS=m
722CONFIG_SMB_NLS_DEFAULT=y 840CONFIG_SMB_NLS_DEFAULT=y
723CONFIG_SMB_NLS_REMOTE="cp437" 841CONFIG_SMB_NLS_REMOTE="cp437"
724# CONFIG_CIFS is not set 842# CONFIG_CIFS is not set
725CONFIG_NCP_FS=m 843# CONFIG_NCP_FS is not set
726# CONFIG_NCPFS_PACKET_SIGNING is not set
727# CONFIG_NCPFS_IOCTL_LOCKING is not set
728# CONFIG_NCPFS_STRONG is not set
729CONFIG_NCPFS_NFS_NS=y
730CONFIG_NCPFS_OS2_NS=y
731# CONFIG_NCPFS_SMALLDOS is not set
732CONFIG_NCPFS_NLS=y
733# CONFIG_NCPFS_EXTRAS is not set
734CONFIG_CODA_FS=m 844CONFIG_CODA_FS=m
735# CONFIG_CODA_FS_OLD_API is not set 845# CONFIG_CODA_FS_OLD_API is not set
736# CONFIG_AFS_FS is not set 846# CONFIG_AFS_FS is not set
@@ -740,10 +850,7 @@ CONFIG_CODA_FS=m
740# 850#
741# CONFIG_PARTITION_ADVANCED is not set 851# CONFIG_PARTITION_ADVANCED is not set
742CONFIG_MSDOS_PARTITION=y 852CONFIG_MSDOS_PARTITION=y
743 853CONFIG_SYSV68_PARTITION=y
744#
745# Native Language Support
746#
747CONFIG_NLS=y 854CONFIG_NLS=y
748CONFIG_NLS_DEFAULT="iso8859-1" 855CONFIG_NLS_DEFAULT="iso8859-1"
749CONFIG_NLS_CODEPAGE_437=y 856CONFIG_NLS_CODEPAGE_437=y
@@ -784,35 +891,42 @@ CONFIG_NLS_ISO8859_15=m
784CONFIG_NLS_KOI8_R=m 891CONFIG_NLS_KOI8_R=m
785CONFIG_NLS_KOI8_U=m 892CONFIG_NLS_KOI8_U=m
786CONFIG_NLS_UTF8=m 893CONFIG_NLS_UTF8=m
894CONFIG_DLM=m
895# CONFIG_DLM_DEBUG is not set
787 896
788# 897#
789# Kernel hacking 898# Kernel hacking
790# 899#
791# CONFIG_PRINTK_TIME is not set 900# CONFIG_PRINTK_TIME is not set
792CONFIG_DEBUG_KERNEL=y 901CONFIG_ENABLE_WARN_DEPRECATED=y
902CONFIG_ENABLE_MUST_CHECK=y
793CONFIG_MAGIC_SYSRQ=y 903CONFIG_MAGIC_SYSRQ=y
794CONFIG_LOG_BUF_SHIFT=16 904# CONFIG_UNUSED_SYMBOLS is not set
795# CONFIG_SCHEDSTATS is not set
796# CONFIG_DEBUG_SLAB is not set
797# CONFIG_DEBUG_SPINLOCK is not set
798# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
799# CONFIG_DEBUG_KOBJECT is not set
800CONFIG_DEBUG_BUGVERBOSE=y
801# CONFIG_DEBUG_INFO is not set
802# CONFIG_DEBUG_FS is not set 905# CONFIG_DEBUG_FS is not set
803# CONFIG_FRAME_POINTER is not set 906# CONFIG_HEADERS_CHECK is not set
907# CONFIG_DEBUG_KERNEL is not set
908CONFIG_DEBUG_BUGVERBOSE=y
909# CONFIG_SAMPLES is not set
804 910
805# 911#
806# Security options 912# Security options
807# 913#
808# CONFIG_KEYS is not set 914# CONFIG_KEYS is not set
809# CONFIG_SECURITY is not set 915# CONFIG_SECURITY is not set
810 916# CONFIG_SECURITY_FILE_CAPABILITIES is not set
811# 917CONFIG_XOR_BLOCKS=m
812# Cryptographic options 918CONFIG_ASYNC_CORE=m
813# 919CONFIG_ASYNC_MEMCPY=m
920CONFIG_ASYNC_XOR=m
814CONFIG_CRYPTO=y 921CONFIG_CRYPTO=y
922CONFIG_CRYPTO_ALGAPI=y
923CONFIG_CRYPTO_AEAD=m
924CONFIG_CRYPTO_BLKCIPHER=y
925CONFIG_CRYPTO_SEQIV=m
926CONFIG_CRYPTO_HASH=y
927CONFIG_CRYPTO_MANAGER=y
815CONFIG_CRYPTO_HMAC=y 928CONFIG_CRYPTO_HMAC=y
929CONFIG_CRYPTO_XCBC=m
816CONFIG_CRYPTO_NULL=m 930CONFIG_CRYPTO_NULL=m
817CONFIG_CRYPTO_MD4=m 931CONFIG_CRYPTO_MD4=m
818CONFIG_CRYPTO_MD5=y 932CONFIG_CRYPTO_MD5=y
@@ -821,9 +935,21 @@ CONFIG_CRYPTO_SHA256=m
821CONFIG_CRYPTO_SHA512=m 935CONFIG_CRYPTO_SHA512=m
822CONFIG_CRYPTO_WP512=m 936CONFIG_CRYPTO_WP512=m
823CONFIG_CRYPTO_TGR192=m 937CONFIG_CRYPTO_TGR192=m
938CONFIG_CRYPTO_GF128MUL=m
939CONFIG_CRYPTO_ECB=m
940CONFIG_CRYPTO_CBC=y
941CONFIG_CRYPTO_PCBC=m
942CONFIG_CRYPTO_LRW=m
943CONFIG_CRYPTO_XTS=m
944CONFIG_CRYPTO_CTR=m
945CONFIG_CRYPTO_GCM=m
946CONFIG_CRYPTO_CCM=m
947CONFIG_CRYPTO_CRYPTD=m
824CONFIG_CRYPTO_DES=y 948CONFIG_CRYPTO_DES=y
949CONFIG_CRYPTO_FCRYPT=m
825CONFIG_CRYPTO_BLOWFISH=m 950CONFIG_CRYPTO_BLOWFISH=m
826CONFIG_CRYPTO_TWOFISH=m 951CONFIG_CRYPTO_TWOFISH=m
952CONFIG_CRYPTO_TWOFISH_COMMON=m
827CONFIG_CRYPTO_SERPENT=m 953CONFIG_CRYPTO_SERPENT=m
828CONFIG_CRYPTO_AES=m 954CONFIG_CRYPTO_AES=m
829CONFIG_CRYPTO_CAST5=m 955CONFIG_CRYPTO_CAST5=m
@@ -832,20 +958,35 @@ CONFIG_CRYPTO_TEA=m
832CONFIG_CRYPTO_ARC4=m 958CONFIG_CRYPTO_ARC4=m
833CONFIG_CRYPTO_KHAZAD=m 959CONFIG_CRYPTO_KHAZAD=m
834CONFIG_CRYPTO_ANUBIS=m 960CONFIG_CRYPTO_ANUBIS=m
961CONFIG_CRYPTO_SEED=m
962CONFIG_CRYPTO_SALSA20=m
835CONFIG_CRYPTO_DEFLATE=m 963CONFIG_CRYPTO_DEFLATE=m
836CONFIG_CRYPTO_MICHAEL_MIC=m 964CONFIG_CRYPTO_MICHAEL_MIC=m
837CONFIG_CRYPTO_CRC32C=m 965CONFIG_CRYPTO_CRC32C=m
966CONFIG_CRYPTO_CAMELLIA=m
838CONFIG_CRYPTO_TEST=m 967CONFIG_CRYPTO_TEST=m
839 968CONFIG_CRYPTO_AUTHENC=m
840# 969CONFIG_CRYPTO_LZO=m
841# Hardware crypto devices 970# CONFIG_CRYPTO_HW is not set
842#
843 971
844# 972#
845# Library routines 973# Library routines
846# 974#
975CONFIG_BITREVERSE=m
847CONFIG_CRC_CCITT=m 976CONFIG_CRC_CCITT=m
977CONFIG_CRC16=m
978# CONFIG_CRC_ITU_T is not set
848CONFIG_CRC32=m 979CONFIG_CRC32=m
980# CONFIG_CRC7 is not set
849CONFIG_LIBCRC32C=m 981CONFIG_LIBCRC32C=m
850CONFIG_ZLIB_INFLATE=y 982CONFIG_ZLIB_INFLATE=y
851CONFIG_ZLIB_DEFLATE=m 983CONFIG_ZLIB_DEFLATE=m
984CONFIG_LZO_COMPRESS=m
985CONFIG_LZO_DECOMPRESS=m
986CONFIG_TEXTSEARCH=y
987CONFIG_TEXTSEARCH_KMP=m
988CONFIG_TEXTSEARCH_BM=m
989CONFIG_TEXTSEARCH_FSM=m
990CONFIG_PLIST=y
991CONFIG_HAS_IOMEM=y
992CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig
index 51251883adf..38b68c70e56 100644
--- a/arch/m68k/configs/hp300_defconfig
+++ b/arch/m68k/configs/hp300_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:41 2005 4# Wed Apr 2 20:46:12 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-hp300" 27CONFIG_LOCALVERSION="-hp300"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -81,10 +129,24 @@ CONFIG_M68030=y
81CONFIG_M68040=y 129CONFIG_M68040=y
82CONFIG_M68060=y 130CONFIG_M68060=y
83CONFIG_MMU_MOTOROLA=y 131CONFIG_MMU_MOTOROLA=y
84CONFIG_M68KFPU_EMU=y 132# CONFIG_M68KFPU_EMU is not set
85CONFIG_M68KFPU_EMU_EXTRAPREC=y
86# CONFIG_M68KFPU_EMU_ONLY is not set
87# CONFIG_ADVANCED is not set 133# CONFIG_ADVANCED is not set
134CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
135CONFIG_NODES_SHIFT=3
136CONFIG_SELECT_MEMORY_MODEL=y
137# CONFIG_FLATMEM_MANUAL is not set
138CONFIG_DISCONTIGMEM_MANUAL=y
139# CONFIG_SPARSEMEM_MANUAL is not set
140CONFIG_DISCONTIGMEM=y
141CONFIG_FLAT_NODE_MEM_MAP=y
142CONFIG_NEED_MULTIPLE_NODES=y
143# CONFIG_SPARSEMEM_STATIC is not set
144# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
145CONFIG_SPLIT_PTLOCK_CPUS=4
146# CONFIG_RESOURCES_64BIT is not set
147CONFIG_ZONE_DMA_FLAG=1
148CONFIG_BOUNCE=y
149CONFIG_VIRT_TO_BUS=y
88 150
89# 151#
90# General setup 152# General setup
@@ -94,134 +156,11 @@ CONFIG_BINFMT_AOUT=m
94CONFIG_BINFMT_MISC=m 156CONFIG_BINFMT_MISC=m
95CONFIG_HEARTBEAT=y 157CONFIG_HEARTBEAT=y
96CONFIG_PROC_HARDWARE=y 158CONFIG_PROC_HARDWARE=y
159CONFIG_ZONE_DMA=y
160# CONFIG_ARCH_SUPPORTS_MSI is not set
97 161
98# 162#
99# Device Drivers 163# Networking
100#
101
102#
103# Generic Driver Options
104#
105CONFIG_STANDALONE=y
106CONFIG_PREVENT_FIRMWARE_BUILD=y
107CONFIG_FW_LOADER=m
108# CONFIG_DEBUG_DRIVER is not set
109
110#
111# Memory Technology Devices (MTD)
112#
113# CONFIG_MTD is not set
114
115#
116# Parallel port support
117#
118# CONFIG_PARPORT is not set
119
120#
121# Plug and Play support
122#
123
124#
125# Block devices
126#
127# CONFIG_BLK_DEV_COW_COMMON is not set
128CONFIG_BLK_DEV_LOOP=y
129CONFIG_BLK_DEV_CRYPTOLOOP=m
130CONFIG_BLK_DEV_NBD=m
131CONFIG_BLK_DEV_RAM=y
132CONFIG_BLK_DEV_RAM_COUNT=16
133CONFIG_BLK_DEV_RAM_SIZE=4096
134CONFIG_BLK_DEV_INITRD=y
135CONFIG_INITRAMFS_SOURCE=""
136CONFIG_CDROM_PKTCDVD=m
137CONFIG_CDROM_PKTCDVD_BUFFERS=8
138# CONFIG_CDROM_PKTCDVD_WCACHE is not set
139
140#
141# IO Schedulers
142#
143CONFIG_IOSCHED_NOOP=y
144CONFIG_IOSCHED_AS=y
145CONFIG_IOSCHED_DEADLINE=y
146CONFIG_IOSCHED_CFQ=y
147CONFIG_ATA_OVER_ETH=m
148
149#
150# ATA/ATAPI/MFM/RLL support
151#
152# CONFIG_IDE is not set
153
154#
155# SCSI device support
156#
157CONFIG_SCSI=y
158CONFIG_SCSI_PROC_FS=y
159
160#
161# SCSI support type (disk, tape, CD-ROM)
162#
163CONFIG_BLK_DEV_SD=y
164CONFIG_CHR_DEV_ST=m
165# CONFIG_CHR_DEV_OSST is not set
166CONFIG_BLK_DEV_SR=y
167CONFIG_BLK_DEV_SR_VENDOR=y
168CONFIG_CHR_DEV_SG=m
169
170#
171# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
172#
173# CONFIG_SCSI_MULTI_LUN is not set
174CONFIG_SCSI_CONSTANTS=y
175# CONFIG_SCSI_LOGGING is not set
176
177#
178# SCSI Transport Attributes
179#
180# CONFIG_SCSI_SPI_ATTRS is not set
181# CONFIG_SCSI_FC_ATTRS is not set
182# CONFIG_SCSI_ISCSI_ATTRS is not set
183
184#
185# SCSI low-level drivers
186#
187# CONFIG_SCSI_SATA is not set
188# CONFIG_SCSI_DEBUG is not set
189
190#
191# Multi-device support (RAID and LVM)
192#
193CONFIG_MD=y
194CONFIG_BLK_DEV_MD=m
195CONFIG_MD_LINEAR=m
196CONFIG_MD_RAID0=m
197CONFIG_MD_RAID1=m
198# CONFIG_MD_RAID10 is not set
199CONFIG_MD_RAID5=m
200CONFIG_MD_RAID6=m
201CONFIG_MD_MULTIPATH=m
202# CONFIG_MD_FAULTY is not set
203CONFIG_BLK_DEV_DM=m
204CONFIG_DM_CRYPT=m
205CONFIG_DM_SNAPSHOT=m
206CONFIG_DM_MIRROR=m
207CONFIG_DM_ZERO=m
208CONFIG_DM_MULTIPATH=m
209CONFIG_DM_MULTIPATH_EMC=m
210
211#
212# Fusion MPT device support
213#
214
215#
216# IEEE 1394 (FireWire) support
217#
218
219#
220# I2O device support
221#
222
223#
224# Networking support
225# 164#
226CONFIG_NET=y 165CONFIG_NET=y
227 166
@@ -231,10 +170,17 @@ CONFIG_NET=y
231CONFIG_PACKET=y 170CONFIG_PACKET=y
232# CONFIG_PACKET_MMAP is not set 171# CONFIG_PACKET_MMAP is not set
233CONFIG_UNIX=y 172CONFIG_UNIX=y
173CONFIG_XFRM=y
174# CONFIG_XFRM_USER is not set
175# CONFIG_XFRM_SUB_POLICY is not set
176CONFIG_XFRM_MIGRATE=y
177# CONFIG_XFRM_STATISTICS is not set
234CONFIG_NET_KEY=y 178CONFIG_NET_KEY=y
179CONFIG_NET_KEY_MIGRATE=y
235CONFIG_INET=y 180CONFIG_INET=y
236# CONFIG_IP_MULTICAST is not set 181# CONFIG_IP_MULTICAST is not set
237# CONFIG_IP_ADVANCED_ROUTER is not set 182# CONFIG_IP_ADVANCED_ROUTER is not set
183CONFIG_IP_FIB_HASH=y
238CONFIG_IP_PNP=y 184CONFIG_IP_PNP=y
239CONFIG_IP_PNP_DHCP=y 185CONFIG_IP_PNP_DHCP=y
240CONFIG_IP_PNP_BOOTP=y 186CONFIG_IP_PNP_BOOTP=y
@@ -246,145 +192,199 @@ CONFIG_SYN_COOKIES=y
246CONFIG_INET_AH=m 192CONFIG_INET_AH=m
247CONFIG_INET_ESP=m 193CONFIG_INET_ESP=m
248CONFIG_INET_IPCOMP=m 194CONFIG_INET_IPCOMP=m
195CONFIG_INET_XFRM_TUNNEL=m
249CONFIG_INET_TUNNEL=m 196CONFIG_INET_TUNNEL=m
250CONFIG_IP_TCPDIAG=m 197CONFIG_INET_XFRM_MODE_TRANSPORT=m
251CONFIG_IP_TCPDIAG_IPV6=y 198CONFIG_INET_XFRM_MODE_TUNNEL=m
252 199CONFIG_INET_XFRM_MODE_BEET=m
253# 200CONFIG_INET_LRO=m
254# IP: Virtual Server Configuration 201CONFIG_INET_DIAG=m
255# 202CONFIG_INET_TCP_DIAG=m
203# CONFIG_TCP_CONG_ADVANCED is not set
204CONFIG_TCP_CONG_CUBIC=y
205CONFIG_DEFAULT_TCP_CONG="cubic"
206# CONFIG_TCP_MD5SIG is not set
256# CONFIG_IP_VS is not set 207# CONFIG_IP_VS is not set
257CONFIG_IPV6=m 208CONFIG_IPV6=m
258CONFIG_IPV6_PRIVACY=y 209CONFIG_IPV6_PRIVACY=y
210CONFIG_IPV6_ROUTER_PREF=y
211CONFIG_IPV6_ROUTE_INFO=y
212# CONFIG_IPV6_OPTIMISTIC_DAD is not set
259CONFIG_INET6_AH=m 213CONFIG_INET6_AH=m
260CONFIG_INET6_ESP=m 214CONFIG_INET6_ESP=m
261CONFIG_INET6_IPCOMP=m 215CONFIG_INET6_IPCOMP=m
216# CONFIG_IPV6_MIP6 is not set
217CONFIG_INET6_XFRM_TUNNEL=m
262CONFIG_INET6_TUNNEL=m 218CONFIG_INET6_TUNNEL=m
219CONFIG_INET6_XFRM_MODE_TRANSPORT=m
220CONFIG_INET6_XFRM_MODE_TUNNEL=m
221CONFIG_INET6_XFRM_MODE_BEET=m
222CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
223CONFIG_IPV6_SIT=m
263CONFIG_IPV6_TUNNEL=m 224CONFIG_IPV6_TUNNEL=m
225# CONFIG_IPV6_MULTIPLE_TABLES is not set
226# CONFIG_NETWORK_SECMARK is not set
264CONFIG_NETFILTER=y 227CONFIG_NETFILTER=y
265# CONFIG_NETFILTER_DEBUG is not set 228# CONFIG_NETFILTER_DEBUG is not set
229CONFIG_NETFILTER_ADVANCED=y
230
231#
232# Core Netfilter Configuration
233#
234CONFIG_NETFILTER_NETLINK=m
235CONFIG_NETFILTER_NETLINK_QUEUE=m
236CONFIG_NETFILTER_NETLINK_LOG=m
237CONFIG_NF_CONNTRACK=m
238CONFIG_NF_CT_ACCT=y
239CONFIG_NF_CONNTRACK_MARK=y
240# CONFIG_NF_CONNTRACK_EVENTS is not set
241CONFIG_NF_CT_PROTO_GRE=m
242CONFIG_NF_CT_PROTO_SCTP=m
243CONFIG_NF_CT_PROTO_UDPLITE=m
244CONFIG_NF_CONNTRACK_AMANDA=m
245CONFIG_NF_CONNTRACK_FTP=m
246CONFIG_NF_CONNTRACK_H323=m
247CONFIG_NF_CONNTRACK_IRC=m
248CONFIG_NF_CONNTRACK_NETBIOS_NS=m
249CONFIG_NF_CONNTRACK_PPTP=m
250CONFIG_NF_CONNTRACK_SANE=m
251CONFIG_NF_CONNTRACK_SIP=m
252CONFIG_NF_CONNTRACK_TFTP=m
253# CONFIG_NF_CT_NETLINK is not set
254CONFIG_NETFILTER_XTABLES=m
255CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
256CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
257CONFIG_NETFILTER_XT_TARGET_DSCP=m
258CONFIG_NETFILTER_XT_TARGET_MARK=m
259CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
260CONFIG_NETFILTER_XT_TARGET_NFLOG=m
261CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
262CONFIG_NETFILTER_XT_TARGET_RATEEST=m
263CONFIG_NETFILTER_XT_TARGET_TRACE=m
264CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
265CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
266CONFIG_NETFILTER_XT_MATCH_COMMENT=m
267CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
268CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
269CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
270CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
271CONFIG_NETFILTER_XT_MATCH_DCCP=m
272CONFIG_NETFILTER_XT_MATCH_DSCP=m
273CONFIG_NETFILTER_XT_MATCH_ESP=m
274CONFIG_NETFILTER_XT_MATCH_HELPER=m
275CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
276CONFIG_NETFILTER_XT_MATCH_LENGTH=m
277CONFIG_NETFILTER_XT_MATCH_LIMIT=m
278CONFIG_NETFILTER_XT_MATCH_MAC=m
279CONFIG_NETFILTER_XT_MATCH_MARK=m
280CONFIG_NETFILTER_XT_MATCH_OWNER=m
281CONFIG_NETFILTER_XT_MATCH_POLICY=m
282CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
283CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
284CONFIG_NETFILTER_XT_MATCH_QUOTA=m
285CONFIG_NETFILTER_XT_MATCH_RATEEST=m
286CONFIG_NETFILTER_XT_MATCH_REALM=m
287CONFIG_NETFILTER_XT_MATCH_SCTP=m
288CONFIG_NETFILTER_XT_MATCH_STATE=m
289CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
290CONFIG_NETFILTER_XT_MATCH_STRING=m
291CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
292CONFIG_NETFILTER_XT_MATCH_TIME=m
293CONFIG_NETFILTER_XT_MATCH_U32=m
294CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
266 295
267# 296#
268# IP: Netfilter Configuration 297# IP: Netfilter Configuration
269# 298#
270CONFIG_IP_NF_CONNTRACK=m 299CONFIG_NF_CONNTRACK_IPV4=m
271# CONFIG_IP_NF_CT_ACCT is not set 300CONFIG_NF_CONNTRACK_PROC_COMPAT=y
272CONFIG_IP_NF_CONNTRACK_MARK=y
273# CONFIG_IP_NF_CT_PROTO_SCTP is not set
274CONFIG_IP_NF_FTP=m
275CONFIG_IP_NF_IRC=m
276CONFIG_IP_NF_TFTP=m
277CONFIG_IP_NF_AMANDA=m
278CONFIG_IP_NF_QUEUE=m 301CONFIG_IP_NF_QUEUE=m
279CONFIG_IP_NF_IPTABLES=m 302CONFIG_IP_NF_IPTABLES=m
280CONFIG_IP_NF_MATCH_LIMIT=m
281CONFIG_IP_NF_MATCH_IPRANGE=m
282CONFIG_IP_NF_MATCH_MAC=m
283CONFIG_IP_NF_MATCH_PKTTYPE=m
284CONFIG_IP_NF_MATCH_MARK=m
285CONFIG_IP_NF_MATCH_MULTIPORT=m
286CONFIG_IP_NF_MATCH_TOS=m
287CONFIG_IP_NF_MATCH_RECENT=m 303CONFIG_IP_NF_MATCH_RECENT=m
288CONFIG_IP_NF_MATCH_ECN=m 304CONFIG_IP_NF_MATCH_ECN=m
289CONFIG_IP_NF_MATCH_DSCP=m 305CONFIG_IP_NF_MATCH_AH=m
290CONFIG_IP_NF_MATCH_AH_ESP=m
291CONFIG_IP_NF_MATCH_LENGTH=m
292CONFIG_IP_NF_MATCH_TTL=m 306CONFIG_IP_NF_MATCH_TTL=m
293CONFIG_IP_NF_MATCH_TCPMSS=m
294CONFIG_IP_NF_MATCH_HELPER=m
295CONFIG_IP_NF_MATCH_STATE=m
296CONFIG_IP_NF_MATCH_CONNTRACK=m
297CONFIG_IP_NF_MATCH_OWNER=m
298CONFIG_IP_NF_MATCH_ADDRTYPE=m 307CONFIG_IP_NF_MATCH_ADDRTYPE=m
299CONFIG_IP_NF_MATCH_REALM=m
300# CONFIG_IP_NF_MATCH_SCTP is not set
301# CONFIG_IP_NF_MATCH_COMMENT is not set
302CONFIG_IP_NF_MATCH_CONNMARK=m
303CONFIG_IP_NF_MATCH_HASHLIMIT=m
304CONFIG_IP_NF_FILTER=m 308CONFIG_IP_NF_FILTER=m
305CONFIG_IP_NF_TARGET_REJECT=m 309CONFIG_IP_NF_TARGET_REJECT=m
306CONFIG_IP_NF_TARGET_LOG=m 310CONFIG_IP_NF_TARGET_LOG=m
307CONFIG_IP_NF_TARGET_ULOG=m 311CONFIG_IP_NF_TARGET_ULOG=m
308CONFIG_IP_NF_TARGET_TCPMSS=m 312CONFIG_NF_NAT=m
309CONFIG_IP_NF_NAT=m 313CONFIG_NF_NAT_NEEDED=y
310CONFIG_IP_NF_NAT_NEEDED=y
311CONFIG_IP_NF_TARGET_MASQUERADE=m 314CONFIG_IP_NF_TARGET_MASQUERADE=m
312CONFIG_IP_NF_TARGET_REDIRECT=m 315CONFIG_IP_NF_TARGET_REDIRECT=m
313CONFIG_IP_NF_TARGET_NETMAP=m 316CONFIG_IP_NF_TARGET_NETMAP=m
314CONFIG_IP_NF_TARGET_SAME=m 317CONFIG_NF_NAT_SNMP_BASIC=m
315CONFIG_IP_NF_NAT_SNMP_BASIC=m 318CONFIG_NF_NAT_PROTO_GRE=m
316CONFIG_IP_NF_NAT_IRC=m 319CONFIG_NF_NAT_FTP=m
317CONFIG_IP_NF_NAT_FTP=m 320CONFIG_NF_NAT_IRC=m
318CONFIG_IP_NF_NAT_TFTP=m 321CONFIG_NF_NAT_TFTP=m
319CONFIG_IP_NF_NAT_AMANDA=m 322CONFIG_NF_NAT_AMANDA=m
323CONFIG_NF_NAT_PPTP=m
324CONFIG_NF_NAT_H323=m
325CONFIG_NF_NAT_SIP=m
320CONFIG_IP_NF_MANGLE=m 326CONFIG_IP_NF_MANGLE=m
321CONFIG_IP_NF_TARGET_TOS=m
322CONFIG_IP_NF_TARGET_ECN=m 327CONFIG_IP_NF_TARGET_ECN=m
323CONFIG_IP_NF_TARGET_DSCP=m 328CONFIG_IP_NF_TARGET_TTL=m
324CONFIG_IP_NF_TARGET_MARK=m 329CONFIG_IP_NF_TARGET_CLUSTERIP=m
325CONFIG_IP_NF_TARGET_CLASSIFY=m
326CONFIG_IP_NF_TARGET_CONNMARK=m
327# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
328CONFIG_IP_NF_RAW=m 330CONFIG_IP_NF_RAW=m
329CONFIG_IP_NF_TARGET_NOTRACK=m
330CONFIG_IP_NF_ARPTABLES=m 331CONFIG_IP_NF_ARPTABLES=m
331CONFIG_IP_NF_ARPFILTER=m 332CONFIG_IP_NF_ARPFILTER=m
332CONFIG_IP_NF_ARP_MANGLE=m 333CONFIG_IP_NF_ARP_MANGLE=m
333 334
334# 335#
335# IPv6: Netfilter Configuration (EXPERIMENTAL) 336# IPv6: Netfilter Configuration
336# 337#
338CONFIG_NF_CONNTRACK_IPV6=m
337CONFIG_IP6_NF_QUEUE=m 339CONFIG_IP6_NF_QUEUE=m
338CONFIG_IP6_NF_IPTABLES=m 340CONFIG_IP6_NF_IPTABLES=m
339CONFIG_IP6_NF_MATCH_LIMIT=m
340CONFIG_IP6_NF_MATCH_MAC=m
341CONFIG_IP6_NF_MATCH_RT=m 341CONFIG_IP6_NF_MATCH_RT=m
342CONFIG_IP6_NF_MATCH_OPTS=m 342CONFIG_IP6_NF_MATCH_OPTS=m
343CONFIG_IP6_NF_MATCH_FRAG=m 343CONFIG_IP6_NF_MATCH_FRAG=m
344CONFIG_IP6_NF_MATCH_HL=m 344CONFIG_IP6_NF_MATCH_HL=m
345CONFIG_IP6_NF_MATCH_MULTIPORT=m
346CONFIG_IP6_NF_MATCH_OWNER=m
347CONFIG_IP6_NF_MATCH_MARK=m
348CONFIG_IP6_NF_MATCH_IPV6HEADER=m 345CONFIG_IP6_NF_MATCH_IPV6HEADER=m
349CONFIG_IP6_NF_MATCH_AHESP=m 346CONFIG_IP6_NF_MATCH_AH=m
350CONFIG_IP6_NF_MATCH_LENGTH=m 347CONFIG_IP6_NF_MATCH_MH=m
351CONFIG_IP6_NF_MATCH_EUI64=m 348CONFIG_IP6_NF_MATCH_EUI64=m
352CONFIG_IP6_NF_FILTER=m 349CONFIG_IP6_NF_FILTER=m
353CONFIG_IP6_NF_TARGET_LOG=m 350CONFIG_IP6_NF_TARGET_LOG=m
351CONFIG_IP6_NF_TARGET_REJECT=m
354CONFIG_IP6_NF_MANGLE=m 352CONFIG_IP6_NF_MANGLE=m
355CONFIG_IP6_NF_TARGET_MARK=m 353CONFIG_IP6_NF_TARGET_HL=m
356CONFIG_IP6_NF_RAW=m 354CONFIG_IP6_NF_RAW=m
357CONFIG_XFRM=y 355CONFIG_IP_DCCP=m
358CONFIG_XFRM_USER=m 356CONFIG_INET_DCCP_DIAG=m
357CONFIG_IP_DCCP_ACKVEC=y
359 358
360# 359#
361# SCTP Configuration (EXPERIMENTAL) 360# DCCP CCIDs Configuration (EXPERIMENTAL)
362# 361#
362CONFIG_IP_DCCP_CCID2=m
363# CONFIG_IP_DCCP_CCID2_DEBUG is not set
364CONFIG_IP_DCCP_CCID3=m
365# CONFIG_IP_DCCP_CCID3_DEBUG is not set
366CONFIG_IP_DCCP_CCID3_RTO=100
367CONFIG_IP_DCCP_TFRC_LIB=m
363CONFIG_IP_SCTP=m 368CONFIG_IP_SCTP=m
364# CONFIG_SCTP_DBG_MSG is not set 369# CONFIG_SCTP_DBG_MSG is not set
365# CONFIG_SCTP_DBG_OBJCNT is not set 370# CONFIG_SCTP_DBG_OBJCNT is not set
366# CONFIG_SCTP_HMAC_NONE is not set 371# CONFIG_SCTP_HMAC_NONE is not set
367# CONFIG_SCTP_HMAC_SHA1 is not set 372# CONFIG_SCTP_HMAC_SHA1 is not set
368CONFIG_SCTP_HMAC_MD5=y 373CONFIG_SCTP_HMAC_MD5=y
374# CONFIG_TIPC is not set
369# CONFIG_ATM is not set 375# CONFIG_ATM is not set
370# CONFIG_BRIDGE is not set 376# CONFIG_BRIDGE is not set
371# CONFIG_VLAN_8021Q is not set 377# CONFIG_VLAN_8021Q is not set
372# CONFIG_DECNET is not set 378# CONFIG_DECNET is not set
373CONFIG_LLC=m 379CONFIG_LLC=m
374# CONFIG_LLC2 is not set 380# CONFIG_LLC2 is not set
375CONFIG_IPX=m 381# CONFIG_IPX is not set
376# CONFIG_IPX_INTERN is not set
377CONFIG_ATALK=m 382CONFIG_ATALK=m
378# CONFIG_DEV_APPLETALK is not set 383# CONFIG_DEV_APPLETALK is not set
379# CONFIG_X25 is not set 384# CONFIG_X25 is not set
380# CONFIG_LAPB is not set 385# CONFIG_LAPB is not set
381# CONFIG_NET_DIVERT is not set
382# CONFIG_ECONET is not set 386# CONFIG_ECONET is not set
383# CONFIG_WAN_ROUTER is not set 387# CONFIG_WAN_ROUTER is not set
384
385#
386# QoS and/or fair queueing
387#
388# CONFIG_NET_SCHED is not set 388# CONFIG_NET_SCHED is not set
389CONFIG_NET_CLS_ROUTE=y 389CONFIG_NET_CLS_ROUTE=y
390 390
@@ -392,46 +392,154 @@ CONFIG_NET_CLS_ROUTE=y
392# Network testing 392# Network testing
393# 393#
394# CONFIG_NET_PKTGEN is not set 394# CONFIG_NET_PKTGEN is not set
395CONFIG_NETPOLL=y
396# CONFIG_NETPOLL_RX is not set
397# CONFIG_NETPOLL_TRAP is not set
398CONFIG_NET_POLL_CONTROLLER=y
399# CONFIG_HAMRADIO is not set 395# CONFIG_HAMRADIO is not set
396# CONFIG_CAN is not set
400# CONFIG_IRDA is not set 397# CONFIG_IRDA is not set
401# CONFIG_BT is not set 398# CONFIG_BT is not set
402CONFIG_NETDEVICES=y 399# CONFIG_AF_RXRPC is not set
403CONFIG_DUMMY=m
404# CONFIG_BONDING is not set
405CONFIG_EQUALIZER=m
406# CONFIG_TUN is not set
407 400
408# 401#
409# Ethernet (10 or 100Mbit) 402# Wireless
410# 403#
411CONFIG_NET_ETHERNET=y 404# CONFIG_CFG80211 is not set
412CONFIG_MII=m 405CONFIG_WIRELESS_EXT=y
413CONFIG_HPLANCE=y 406# CONFIG_MAC80211 is not set
407CONFIG_IEEE80211=m
408# CONFIG_IEEE80211_DEBUG is not set
409CONFIG_IEEE80211_CRYPT_WEP=m
410CONFIG_IEEE80211_CRYPT_CCMP=m
411CONFIG_IEEE80211_CRYPT_TKIP=m
412CONFIG_IEEE80211_SOFTMAC=m
413# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
414# CONFIG_RFKILL is not set
415# CONFIG_NET_9P is not set
414 416
415# 417#
416# Ethernet (1000 Mbit) 418# Device Drivers
417# 419#
418 420
419# 421#
420# Ethernet (10000 Mbit) 422# Generic Driver Options
421# 423#
424CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
425CONFIG_STANDALONE=y
426CONFIG_PREVENT_FIRMWARE_BUILD=y
427CONFIG_FW_LOADER=m
428# CONFIG_SYS_HYPERVISOR is not set
429CONFIG_CONNECTOR=m
430# CONFIG_MTD is not set
431# CONFIG_PARPORT is not set
432CONFIG_BLK_DEV=y
433# CONFIG_BLK_DEV_COW_COMMON is not set
434CONFIG_BLK_DEV_LOOP=y
435CONFIG_BLK_DEV_CRYPTOLOOP=m
436CONFIG_BLK_DEV_NBD=m
437CONFIG_BLK_DEV_RAM=y
438CONFIG_BLK_DEV_RAM_COUNT=16
439CONFIG_BLK_DEV_RAM_SIZE=4096
440# CONFIG_BLK_DEV_XIP is not set
441CONFIG_CDROM_PKTCDVD=m
442CONFIG_CDROM_PKTCDVD_BUFFERS=8
443# CONFIG_CDROM_PKTCDVD_WCACHE is not set
444CONFIG_ATA_OVER_ETH=m
445CONFIG_MISC_DEVICES=y
446# CONFIG_EEPROM_93CX6 is not set
447# CONFIG_ENCLOSURE_SERVICES is not set
448CONFIG_HAVE_IDE=y
449# CONFIG_IDE is not set
422 450
423# 451#
424# Token Ring devices 452# SCSI device support
425# 453#
454CONFIG_RAID_ATTRS=m
455CONFIG_SCSI=y
456CONFIG_SCSI_DMA=y
457CONFIG_SCSI_TGT=m
458# CONFIG_SCSI_NETLINK is not set
459CONFIG_SCSI_PROC_FS=y
426 460
427# 461#
428# Wireless LAN (non-hamradio) 462# SCSI support type (disk, tape, CD-ROM)
429# 463#
430# CONFIG_NET_RADIO is not set 464CONFIG_BLK_DEV_SD=y
465CONFIG_CHR_DEV_ST=m
466CONFIG_CHR_DEV_OSST=m
467CONFIG_BLK_DEV_SR=y
468CONFIG_BLK_DEV_SR_VENDOR=y
469CONFIG_CHR_DEV_SG=m
470# CONFIG_CHR_DEV_SCH is not set
471
472#
473# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
474#
475# CONFIG_SCSI_MULTI_LUN is not set
476CONFIG_SCSI_CONSTANTS=y
477# CONFIG_SCSI_LOGGING is not set
478# CONFIG_SCSI_SCAN_ASYNC is not set
479CONFIG_SCSI_WAIT_SCAN=m
480
481#
482# SCSI Transports
483#
484# CONFIG_SCSI_SPI_ATTRS is not set
485# CONFIG_SCSI_FC_ATTRS is not set
486CONFIG_SCSI_ISCSI_ATTRS=m
487CONFIG_SCSI_SAS_ATTRS=m
488CONFIG_SCSI_SAS_LIBSAS=m
489CONFIG_SCSI_SAS_HOST_SMP=y
490# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
491CONFIG_SCSI_SRP_ATTRS=m
492CONFIG_SCSI_SRP_TGT_ATTRS=y
493CONFIG_SCSI_LOWLEVEL=y
494CONFIG_ISCSI_TCP=m
495# CONFIG_SCSI_DEBUG is not set
496CONFIG_MD=y
497CONFIG_BLK_DEV_MD=m
498CONFIG_MD_LINEAR=m
499CONFIG_MD_RAID0=m
500CONFIG_MD_RAID1=m
501# CONFIG_MD_RAID10 is not set
502CONFIG_MD_RAID456=m
503CONFIG_MD_RAID5_RESHAPE=y
504CONFIG_MD_MULTIPATH=m
505# CONFIG_MD_FAULTY is not set
506CONFIG_BLK_DEV_DM=m
507# CONFIG_DM_DEBUG is not set
508CONFIG_DM_CRYPT=m
509CONFIG_DM_SNAPSHOT=m
510CONFIG_DM_MIRROR=m
511CONFIG_DM_ZERO=m
512CONFIG_DM_MULTIPATH=m
513CONFIG_DM_MULTIPATH_EMC=m
514CONFIG_DM_MULTIPATH_RDAC=m
515CONFIG_DM_MULTIPATH_HP=m
516# CONFIG_DM_DELAY is not set
517CONFIG_DM_UEVENT=y
518CONFIG_NETDEVICES=y
519# CONFIG_NETDEVICES_MULTIQUEUE is not set
520CONFIG_DUMMY=m
521# CONFIG_BONDING is not set
522CONFIG_MACVLAN=m
523CONFIG_EQUALIZER=m
524# CONFIG_TUN is not set
525CONFIG_VETH=m
526# CONFIG_PHYLIB is not set
527CONFIG_NET_ETHERNET=y
528# CONFIG_MII is not set
529CONFIG_HPLANCE=y
530# CONFIG_IBM_NEW_EMAC_ZMII is not set
531# CONFIG_IBM_NEW_EMAC_RGMII is not set
532# CONFIG_IBM_NEW_EMAC_TAH is not set
533# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
534# CONFIG_B44 is not set
535# CONFIG_NETDEV_1000 is not set
536# CONFIG_NETDEV_10000 is not set
431 537
432# 538#
433# Wan interfaces 539# Wireless LAN
434# 540#
541# CONFIG_WLAN_PRE80211 is not set
542# CONFIG_WLAN_80211 is not set
435# CONFIG_WAN is not set 543# CONFIG_WAN is not set
436CONFIG_PPP=m 544CONFIG_PPP=m
437# CONFIG_PPP_MULTILINK is not set 545# CONFIG_PPP_MULTILINK is not set
@@ -440,28 +548,28 @@ CONFIG_PPP_ASYNC=m
440CONFIG_PPP_SYNC_TTY=m 548CONFIG_PPP_SYNC_TTY=m
441CONFIG_PPP_DEFLATE=m 549CONFIG_PPP_DEFLATE=m
442CONFIG_PPP_BSDCOMP=m 550CONFIG_PPP_BSDCOMP=m
551CONFIG_PPP_MPPE=m
443CONFIG_PPPOE=m 552CONFIG_PPPOE=m
553CONFIG_PPPOL2TP=m
444CONFIG_SLIP=m 554CONFIG_SLIP=m
445CONFIG_SLIP_COMPRESSED=y 555CONFIG_SLIP_COMPRESSED=y
556CONFIG_SLHC=m
446CONFIG_SLIP_SMART=y 557CONFIG_SLIP_SMART=y
447CONFIG_SLIP_MODE_SLIP6=y 558CONFIG_SLIP_MODE_SLIP6=y
448CONFIG_SHAPER=m
449CONFIG_NETCONSOLE=m 559CONFIG_NETCONSOLE=m
450 560CONFIG_NETCONSOLE_DYNAMIC=y
451# 561CONFIG_NETPOLL=y
452# ISDN subsystem 562# CONFIG_NETPOLL_TRAP is not set
453# 563CONFIG_NET_POLL_CONTROLLER=y
454# CONFIG_ISDN is not set 564# CONFIG_ISDN is not set
455
456#
457# Telephony Support
458#
459# CONFIG_PHONE is not set 565# CONFIG_PHONE is not set
460 566
461# 567#
462# Input device support 568# Input device support
463# 569#
464CONFIG_INPUT=y 570CONFIG_INPUT=y
571CONFIG_INPUT_FF_MEMLESS=m
572# CONFIG_INPUT_POLLDEV is not set
465 573
466# 574#
467# Userland interfaces 575# Userland interfaces
@@ -471,7 +579,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
471CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 579CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
472CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 580CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
473# CONFIG_INPUT_JOYDEV is not set 581# CONFIG_INPUT_JOYDEV is not set
474# CONFIG_INPUT_TSDEV is not set
475# CONFIG_INPUT_EVDEV is not set 582# CONFIG_INPUT_EVDEV is not set
476# CONFIG_INPUT_EVBUG is not set 583# CONFIG_INPUT_EVBUG is not set
477 584
@@ -484,19 +591,35 @@ CONFIG_INPUT_KEYBOARD=y
484# CONFIG_KEYBOARD_LKKBD is not set 591# CONFIG_KEYBOARD_LKKBD is not set
485# CONFIG_KEYBOARD_XTKBD is not set 592# CONFIG_KEYBOARD_XTKBD is not set
486# CONFIG_KEYBOARD_NEWTON is not set 593# CONFIG_KEYBOARD_NEWTON is not set
594# CONFIG_KEYBOARD_STOWAWAY is not set
595CONFIG_KEYBOARD_HIL_OLD=y
596CONFIG_KEYBOARD_HIL=y
487CONFIG_INPUT_MOUSE=y 597CONFIG_INPUT_MOUSE=y
488CONFIG_MOUSE_PS2=m 598CONFIG_MOUSE_PS2=m
599CONFIG_MOUSE_PS2_ALPS=y
600CONFIG_MOUSE_PS2_LOGIPS2PP=y
601CONFIG_MOUSE_PS2_SYNAPTICS=y
602CONFIG_MOUSE_PS2_LIFEBOOK=y
603CONFIG_MOUSE_PS2_TRACKPOINT=y
604# CONFIG_MOUSE_PS2_TOUCHKIT is not set
489CONFIG_MOUSE_SERIAL=m 605CONFIG_MOUSE_SERIAL=m
490# CONFIG_MOUSE_VSXXXAA is not set 606# CONFIG_MOUSE_VSXXXAA is not set
607CONFIG_MOUSE_HIL=m
491# CONFIG_INPUT_JOYSTICK is not set 608# CONFIG_INPUT_JOYSTICK is not set
609# CONFIG_INPUT_TABLET is not set
492# CONFIG_INPUT_TOUCHSCREEN is not set 610# CONFIG_INPUT_TOUCHSCREEN is not set
493# CONFIG_INPUT_MISC is not set 611CONFIG_INPUT_MISC=y
612# CONFIG_INPUT_M68K_BEEP is not set
613# CONFIG_INPUT_UINPUT is not set
614CONFIG_HP_SDC_RTC=m
494 615
495# 616#
496# Hardware I/O ports 617# Hardware I/O ports
497# 618#
498CONFIG_SERIO=m 619CONFIG_SERIO=y
499CONFIG_SERIO_SERPORT=m 620# CONFIG_SERIO_SERPORT is not set
621CONFIG_HP_SDC=y
622CONFIG_HIL_MLC=y
500CONFIG_SERIO_LIBPS2=m 623CONFIG_SERIO_LIBPS2=m
501# CONFIG_SERIO_RAW is not set 624# CONFIG_SERIO_RAW is not set
502# CONFIG_GAMEPORT is not set 625# CONFIG_GAMEPORT is not set
@@ -507,6 +630,7 @@ CONFIG_SERIO_LIBPS2=m
507CONFIG_VT=y 630CONFIG_VT=y
508CONFIG_VT_CONSOLE=y 631CONFIG_VT_CONSOLE=y
509CONFIG_HW_CONSOLE=y 632CONFIG_HW_CONSOLE=y
633CONFIG_VT_HW_CONSOLE_BINDING=y
510# CONFIG_SERIAL_NONSTANDARD is not set 634# CONFIG_SERIAL_NONSTANDARD is not set
511 635
512# 636#
@@ -520,90 +644,114 @@ CONFIG_HW_CONSOLE=y
520CONFIG_UNIX98_PTYS=y 644CONFIG_UNIX98_PTYS=y
521CONFIG_LEGACY_PTYS=y 645CONFIG_LEGACY_PTYS=y
522CONFIG_LEGACY_PTY_COUNT=256 646CONFIG_LEGACY_PTY_COUNT=256
523
524#
525# IPMI
526#
527# CONFIG_IPMI_HANDLER is not set 647# CONFIG_IPMI_HANDLER is not set
528 648# CONFIG_HW_RANDOM is not set
529# 649CONFIG_GEN_RTC=m
530# Watchdog Cards
531#
532# CONFIG_WATCHDOG is not set
533CONFIG_GEN_RTC=y
534CONFIG_GEN_RTC_X=y 650CONFIG_GEN_RTC_X=y
535# CONFIG_DTLK is not set
536# CONFIG_R3964 is not set 651# CONFIG_R3964 is not set
537
538#
539# Ftape, the floppy tape device driver
540#
541# CONFIG_DRM is not set
542# CONFIG_RAW_DRIVER is not set 652# CONFIG_RAW_DRIVER is not set
653# CONFIG_TCG_TPM is not set
654# CONFIG_I2C is not set
543 655
544# 656#
545# TPM devices 657# SPI support
546# 658#
659# CONFIG_SPI is not set
660# CONFIG_SPI_MASTER is not set
661# CONFIG_W1 is not set
662# CONFIG_POWER_SUPPLY is not set
663# CONFIG_HWMON is not set
664# CONFIG_THERMAL is not set
665# CONFIG_WATCHDOG is not set
547 666
548# 667#
549# I2C support 668# Sonics Silicon Backplane
550# 669#
551# CONFIG_I2C is not set 670CONFIG_SSB_POSSIBLE=y
671# CONFIG_SSB is not set
552 672
553# 673#
554# Dallas's 1-wire bus 674# Multifunction device drivers
555# 675#
556# CONFIG_W1 is not set 676# CONFIG_MFD_SM501 is not set
557 677
558# 678#
559# Misc devices 679# Multimedia devices
560# 680#
681# CONFIG_VIDEO_DEV is not set
682# CONFIG_DVB_CORE is not set
683# CONFIG_DAB is not set
561 684
562# 685#
563# Multimedia devices 686# Graphics support
564# 687#
565# CONFIG_VIDEO_DEV is not set 688# CONFIG_VGASTATE is not set
689# CONFIG_VIDEO_OUTPUT_CONTROL is not set
690CONFIG_FB=y
691# CONFIG_FIRMWARE_EDID is not set
692# CONFIG_FB_DDC is not set
693CONFIG_FB_CFB_FILLRECT=y
694# CONFIG_FB_CFB_COPYAREA is not set
695CONFIG_FB_CFB_IMAGEBLIT=y
696# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
697# CONFIG_FB_SYS_FILLRECT is not set
698# CONFIG_FB_SYS_COPYAREA is not set
699# CONFIG_FB_SYS_IMAGEBLIT is not set
700# CONFIG_FB_SYS_FOPS is not set
701CONFIG_FB_DEFERRED_IO=y
702# CONFIG_FB_SVGALIB is not set
703# CONFIG_FB_MACMODES is not set
704# CONFIG_FB_BACKLIGHT is not set
705# CONFIG_FB_MODE_HELPERS is not set
706# CONFIG_FB_TILEBLITTING is not set
566 707
567# 708#
568# Digital Video Broadcasting Devices 709# Frame buffer hardware drivers
569# 710#
570# CONFIG_DVB is not set 711CONFIG_FB_HP300=y
712# CONFIG_FB_UVESA is not set
713# CONFIG_FB_S1D13XXX is not set
714# CONFIG_FB_VIRTUAL is not set
715# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
571 716
572# 717#
573# Graphics support 718# Display device support
574# 719#
575# CONFIG_FB is not set 720# CONFIG_DISPLAY_SUPPORT is not set
576 721
577# 722#
578# Console display driver support 723# Console display driver support
579# 724#
580CONFIG_DUMMY_CONSOLE=y 725CONFIG_DUMMY_CONSOLE=y
726CONFIG_FRAMEBUFFER_CONSOLE=y
727# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
728# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
729# CONFIG_FONTS is not set
730CONFIG_FONT_8x8=y
731CONFIG_FONT_8x16=y
732CONFIG_LOGO=y
733# CONFIG_LOGO_LINUX_MONO is not set
734# CONFIG_LOGO_LINUX_VGA16 is not set
735CONFIG_LOGO_LINUX_CLUT224=y
581 736
582# 737#
583# Sound 738# Sound
584# 739#
585# CONFIG_SOUND is not set 740# CONFIG_SOUND is not set
586 741CONFIG_HID_SUPPORT=y
587# 742CONFIG_HID=m
588# USB support 743# CONFIG_HID_DEBUG is not set
589# 744CONFIG_HIDRAW=y
590# CONFIG_USB_ARCH_HAS_HCD is not set 745# CONFIG_USB_SUPPORT is not set
591# CONFIG_USB_ARCH_HAS_OHCI is not set
592
593#
594# USB Gadget Support
595#
596# CONFIG_USB_GADGET is not set
597
598#
599# MMC/SD Card support
600#
601# CONFIG_MMC is not set 746# CONFIG_MMC is not set
747# CONFIG_MEMSTICK is not set
748# CONFIG_NEW_LEDS is not set
749# CONFIG_RTC_CLASS is not set
602 750
603# 751#
604# InfiniBand support 752# Userspace I/O
605# 753#
606# CONFIG_INFINIBAND is not set 754# CONFIG_UIO is not set
607 755
608# 756#
609# Character devices 757# Character devices
@@ -614,10 +762,11 @@ CONFIG_DUMMY_CONSOLE=y
614# 762#
615CONFIG_EXT2_FS=y 763CONFIG_EXT2_FS=y
616# CONFIG_EXT2_FS_XATTR is not set 764# CONFIG_EXT2_FS_XATTR is not set
765# CONFIG_EXT2_FS_XIP is not set
617CONFIG_EXT3_FS=y 766CONFIG_EXT3_FS=y
618# CONFIG_EXT3_FS_XATTR is not set 767# CONFIG_EXT3_FS_XATTR is not set
768# CONFIG_EXT4DEV_FS is not set
619CONFIG_JBD=y 769CONFIG_JBD=y
620# CONFIG_JBD_DEBUG is not set
621CONFIG_REISERFS_FS=m 770CONFIG_REISERFS_FS=m
622# CONFIG_REISERFS_CHECK is not set 771# CONFIG_REISERFS_CHECK is not set
623# CONFIG_REISERFS_PROC_INFO is not set 772# CONFIG_REISERFS_PROC_INFO is not set
@@ -628,25 +777,29 @@ CONFIG_JFS_FS=m
628# CONFIG_JFS_DEBUG is not set 777# CONFIG_JFS_DEBUG is not set
629# CONFIG_JFS_STATISTICS is not set 778# CONFIG_JFS_STATISTICS is not set
630CONFIG_FS_POSIX_ACL=y 779CONFIG_FS_POSIX_ACL=y
631
632#
633# XFS support
634#
635CONFIG_XFS_FS=m 780CONFIG_XFS_FS=m
636CONFIG_XFS_EXPORT=y
637# CONFIG_XFS_RT is not set
638# CONFIG_XFS_QUOTA is not set 781# CONFIG_XFS_QUOTA is not set
639# CONFIG_XFS_SECURITY is not set 782# CONFIG_XFS_SECURITY is not set
640# CONFIG_XFS_POSIX_ACL is not set 783# CONFIG_XFS_POSIX_ACL is not set
641CONFIG_MINIX_FS=y 784# CONFIG_XFS_RT is not set
642# CONFIG_ROMFS_FS is not set 785CONFIG_GFS2_FS=m
786CONFIG_GFS2_FS_LOCKING_NOLOCK=m
787CONFIG_GFS2_FS_LOCKING_DLM=m
788CONFIG_OCFS2_FS=m
789# CONFIG_OCFS2_DEBUG_MASKLOG is not set
790# CONFIG_OCFS2_DEBUG_FS is not set
791CONFIG_DNOTIFY=y
792CONFIG_INOTIFY=y
793CONFIG_INOTIFY_USER=y
643CONFIG_QUOTA=y 794CONFIG_QUOTA=y
795CONFIG_QUOTA_NETLINK_INTERFACE=y
796# CONFIG_PRINT_QUOTA_WARNING is not set
644# CONFIG_QFMT_V1 is not set 797# CONFIG_QFMT_V1 is not set
645# CONFIG_QFMT_V2 is not set 798# CONFIG_QFMT_V2 is not set
646CONFIG_QUOTACTL=y 799CONFIG_QUOTACTL=y
647CONFIG_DNOTIFY=y
648CONFIG_AUTOFS_FS=m 800CONFIG_AUTOFS_FS=m
649CONFIG_AUTOFS4_FS=m 801CONFIG_AUTOFS4_FS=m
802CONFIG_FUSE_FS=m
650 803
651# 804#
652# CD-ROM/DVD Filesystems 805# CD-ROM/DVD Filesystems
@@ -654,7 +807,6 @@ CONFIG_AUTOFS4_FS=m
654CONFIG_ISO9660_FS=y 807CONFIG_ISO9660_FS=y
655CONFIG_JOLIET=y 808CONFIG_JOLIET=y
656CONFIG_ZISOFS=y 809CONFIG_ZISOFS=y
657CONFIG_ZISOFS_FS=y
658CONFIG_UDF_FS=m 810CONFIG_UDF_FS=m
659CONFIG_UDF_NLS=y 811CONFIG_UDF_NLS=y
660 812
@@ -673,13 +825,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
673# 825#
674CONFIG_PROC_FS=y 826CONFIG_PROC_FS=y
675CONFIG_PROC_KCORE=y 827CONFIG_PROC_KCORE=y
828CONFIG_PROC_SYSCTL=y
676CONFIG_SYSFS=y 829CONFIG_SYSFS=y
677# CONFIG_DEVFS_FS is not set
678# CONFIG_DEVPTS_FS_XATTR is not set
679CONFIG_TMPFS=y 830CONFIG_TMPFS=y
680# CONFIG_TMPFS_XATTR is not set 831# CONFIG_TMPFS_POSIX_ACL is not set
681# CONFIG_HUGETLB_PAGE is not set 832# CONFIG_HUGETLB_PAGE is not set
682CONFIG_RAMFS=y 833CONFIG_CONFIGFS_FS=m
683 834
684# 835#
685# Miscellaneous filesystems 836# Miscellaneous filesystems
@@ -693,44 +844,40 @@ CONFIG_HFSPLUS_FS=m
693# CONFIG_EFS_FS is not set 844# CONFIG_EFS_FS is not set
694CONFIG_CRAMFS=m 845CONFIG_CRAMFS=m
695# CONFIG_VXFS_FS is not set 846# CONFIG_VXFS_FS is not set
847CONFIG_MINIX_FS=y
696CONFIG_HPFS_FS=m 848CONFIG_HPFS_FS=m
697# CONFIG_QNX4FS_FS is not set 849# CONFIG_QNX4FS_FS is not set
850# CONFIG_ROMFS_FS is not set
698CONFIG_SYSV_FS=m 851CONFIG_SYSV_FS=m
699CONFIG_UFS_FS=m 852CONFIG_UFS_FS=m
700# CONFIG_UFS_FS_WRITE is not set 853# CONFIG_UFS_FS_WRITE is not set
701 854# CONFIG_UFS_DEBUG is not set
702# 855CONFIG_NETWORK_FILESYSTEMS=y
703# Network File Systems
704#
705CONFIG_NFS_FS=y 856CONFIG_NFS_FS=y
706CONFIG_NFS_V3=y 857CONFIG_NFS_V3=y
858# CONFIG_NFS_V3_ACL is not set
707CONFIG_NFS_V4=y 859CONFIG_NFS_V4=y
708# CONFIG_NFS_DIRECTIO is not set 860# CONFIG_NFS_DIRECTIO is not set
709CONFIG_NFSD=m 861CONFIG_NFSD=m
710CONFIG_NFSD_V3=y 862CONFIG_NFSD_V3=y
711CONFIG_NFSD_V4=y 863# CONFIG_NFSD_V3_ACL is not set
864# CONFIG_NFSD_V4 is not set
712CONFIG_NFSD_TCP=y 865CONFIG_NFSD_TCP=y
713CONFIG_ROOT_NFS=y 866CONFIG_ROOT_NFS=y
714CONFIG_LOCKD=y 867CONFIG_LOCKD=y
715CONFIG_LOCKD_V4=y 868CONFIG_LOCKD_V4=y
716CONFIG_EXPORTFS=m 869CONFIG_EXPORTFS=m
870CONFIG_NFS_COMMON=y
717CONFIG_SUNRPC=y 871CONFIG_SUNRPC=y
718CONFIG_SUNRPC_GSS=y 872CONFIG_SUNRPC_GSS=y
873CONFIG_SUNRPC_BIND34=y
719CONFIG_RPCSEC_GSS_KRB5=y 874CONFIG_RPCSEC_GSS_KRB5=y
720# CONFIG_RPCSEC_GSS_SPKM3 is not set 875# CONFIG_RPCSEC_GSS_SPKM3 is not set
721CONFIG_SMB_FS=m 876CONFIG_SMB_FS=m
722CONFIG_SMB_NLS_DEFAULT=y 877CONFIG_SMB_NLS_DEFAULT=y
723CONFIG_SMB_NLS_REMOTE="cp437" 878CONFIG_SMB_NLS_REMOTE="cp437"
724# CONFIG_CIFS is not set 879# CONFIG_CIFS is not set
725CONFIG_NCP_FS=m 880# CONFIG_NCP_FS is not set
726# CONFIG_NCPFS_PACKET_SIGNING is not set
727# CONFIG_NCPFS_IOCTL_LOCKING is not set
728# CONFIG_NCPFS_STRONG is not set
729CONFIG_NCPFS_NFS_NS=y
730CONFIG_NCPFS_OS2_NS=y
731# CONFIG_NCPFS_SMALLDOS is not set
732CONFIG_NCPFS_NLS=y
733# CONFIG_NCPFS_EXTRAS is not set
734CONFIG_CODA_FS=m 881CONFIG_CODA_FS=m
735# CONFIG_CODA_FS_OLD_API is not set 882# CONFIG_CODA_FS_OLD_API is not set
736# CONFIG_AFS_FS is not set 883# CONFIG_AFS_FS is not set
@@ -740,10 +887,6 @@ CONFIG_CODA_FS=m
740# 887#
741# CONFIG_PARTITION_ADVANCED is not set 888# CONFIG_PARTITION_ADVANCED is not set
742CONFIG_MSDOS_PARTITION=y 889CONFIG_MSDOS_PARTITION=y
743
744#
745# Native Language Support
746#
747CONFIG_NLS=y 890CONFIG_NLS=y
748CONFIG_NLS_DEFAULT="iso8859-1" 891CONFIG_NLS_DEFAULT="iso8859-1"
749CONFIG_NLS_CODEPAGE_437=y 892CONFIG_NLS_CODEPAGE_437=y
@@ -784,35 +927,42 @@ CONFIG_NLS_ISO8859_15=m
784CONFIG_NLS_KOI8_R=m 927CONFIG_NLS_KOI8_R=m
785CONFIG_NLS_KOI8_U=m 928CONFIG_NLS_KOI8_U=m
786CONFIG_NLS_UTF8=m 929CONFIG_NLS_UTF8=m
930CONFIG_DLM=m
931# CONFIG_DLM_DEBUG is not set
787 932
788# 933#
789# Kernel hacking 934# Kernel hacking
790# 935#
791# CONFIG_PRINTK_TIME is not set 936# CONFIG_PRINTK_TIME is not set
792CONFIG_DEBUG_KERNEL=y 937CONFIG_ENABLE_WARN_DEPRECATED=y
938CONFIG_ENABLE_MUST_CHECK=y
793CONFIG_MAGIC_SYSRQ=y 939CONFIG_MAGIC_SYSRQ=y
794CONFIG_LOG_BUF_SHIFT=16 940# CONFIG_UNUSED_SYMBOLS is not set
795# CONFIG_SCHEDSTATS is not set
796# CONFIG_DEBUG_SLAB is not set
797# CONFIG_DEBUG_SPINLOCK is not set
798# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
799# CONFIG_DEBUG_KOBJECT is not set
800CONFIG_DEBUG_BUGVERBOSE=y
801# CONFIG_DEBUG_INFO is not set
802# CONFIG_DEBUG_FS is not set 941# CONFIG_DEBUG_FS is not set
803# CONFIG_FRAME_POINTER is not set 942# CONFIG_HEADERS_CHECK is not set
943# CONFIG_DEBUG_KERNEL is not set
944CONFIG_DEBUG_BUGVERBOSE=y
945# CONFIG_SAMPLES is not set
804 946
805# 947#
806# Security options 948# Security options
807# 949#
808# CONFIG_KEYS is not set 950# CONFIG_KEYS is not set
809# CONFIG_SECURITY is not set 951# CONFIG_SECURITY is not set
810 952# CONFIG_SECURITY_FILE_CAPABILITIES is not set
811# 953CONFIG_XOR_BLOCKS=m
812# Cryptographic options 954CONFIG_ASYNC_CORE=m
813# 955CONFIG_ASYNC_MEMCPY=m
956CONFIG_ASYNC_XOR=m
814CONFIG_CRYPTO=y 957CONFIG_CRYPTO=y
958CONFIG_CRYPTO_ALGAPI=y
959CONFIG_CRYPTO_AEAD=m
960CONFIG_CRYPTO_BLKCIPHER=y
961CONFIG_CRYPTO_SEQIV=m
962CONFIG_CRYPTO_HASH=y
963CONFIG_CRYPTO_MANAGER=y
815CONFIG_CRYPTO_HMAC=y 964CONFIG_CRYPTO_HMAC=y
965CONFIG_CRYPTO_XCBC=m
816CONFIG_CRYPTO_NULL=m 966CONFIG_CRYPTO_NULL=m
817CONFIG_CRYPTO_MD4=m 967CONFIG_CRYPTO_MD4=m
818CONFIG_CRYPTO_MD5=y 968CONFIG_CRYPTO_MD5=y
@@ -821,9 +971,21 @@ CONFIG_CRYPTO_SHA256=m
821CONFIG_CRYPTO_SHA512=m 971CONFIG_CRYPTO_SHA512=m
822CONFIG_CRYPTO_WP512=m 972CONFIG_CRYPTO_WP512=m
823CONFIG_CRYPTO_TGR192=m 973CONFIG_CRYPTO_TGR192=m
974CONFIG_CRYPTO_GF128MUL=m
975CONFIG_CRYPTO_ECB=m
976CONFIG_CRYPTO_CBC=y
977CONFIG_CRYPTO_PCBC=m
978CONFIG_CRYPTO_LRW=m
979CONFIG_CRYPTO_XTS=m
980CONFIG_CRYPTO_CTR=m
981CONFIG_CRYPTO_GCM=m
982CONFIG_CRYPTO_CCM=m
983CONFIG_CRYPTO_CRYPTD=m
824CONFIG_CRYPTO_DES=y 984CONFIG_CRYPTO_DES=y
985CONFIG_CRYPTO_FCRYPT=m
825CONFIG_CRYPTO_BLOWFISH=m 986CONFIG_CRYPTO_BLOWFISH=m
826CONFIG_CRYPTO_TWOFISH=m 987CONFIG_CRYPTO_TWOFISH=m
988CONFIG_CRYPTO_TWOFISH_COMMON=m
827CONFIG_CRYPTO_SERPENT=m 989CONFIG_CRYPTO_SERPENT=m
828CONFIG_CRYPTO_AES=m 990CONFIG_CRYPTO_AES=m
829CONFIG_CRYPTO_CAST5=m 991CONFIG_CRYPTO_CAST5=m
@@ -832,20 +994,35 @@ CONFIG_CRYPTO_TEA=m
832CONFIG_CRYPTO_ARC4=m 994CONFIG_CRYPTO_ARC4=m
833CONFIG_CRYPTO_KHAZAD=m 995CONFIG_CRYPTO_KHAZAD=m
834CONFIG_CRYPTO_ANUBIS=m 996CONFIG_CRYPTO_ANUBIS=m
997CONFIG_CRYPTO_SEED=m
998CONFIG_CRYPTO_SALSA20=m
835CONFIG_CRYPTO_DEFLATE=m 999CONFIG_CRYPTO_DEFLATE=m
836CONFIG_CRYPTO_MICHAEL_MIC=m 1000CONFIG_CRYPTO_MICHAEL_MIC=m
837CONFIG_CRYPTO_CRC32C=m 1001CONFIG_CRYPTO_CRC32C=m
1002CONFIG_CRYPTO_CAMELLIA=m
838CONFIG_CRYPTO_TEST=m 1003CONFIG_CRYPTO_TEST=m
839 1004CONFIG_CRYPTO_AUTHENC=m
840# 1005CONFIG_CRYPTO_LZO=m
841# Hardware crypto devices 1006# CONFIG_CRYPTO_HW is not set
842#
843 1007
844# 1008#
845# Library routines 1009# Library routines
846# 1010#
1011CONFIG_BITREVERSE=y
847CONFIG_CRC_CCITT=m 1012CONFIG_CRC_CCITT=m
1013CONFIG_CRC16=m
1014# CONFIG_CRC_ITU_T is not set
848CONFIG_CRC32=y 1015CONFIG_CRC32=y
1016# CONFIG_CRC7 is not set
849CONFIG_LIBCRC32C=m 1017CONFIG_LIBCRC32C=m
850CONFIG_ZLIB_INFLATE=y 1018CONFIG_ZLIB_INFLATE=y
851CONFIG_ZLIB_DEFLATE=m 1019CONFIG_ZLIB_DEFLATE=m
1020CONFIG_LZO_COMPRESS=m
1021CONFIG_LZO_DECOMPRESS=m
1022CONFIG_TEXTSEARCH=y
1023CONFIG_TEXTSEARCH_KMP=m
1024CONFIG_TEXTSEARCH_BM=m
1025CONFIG_TEXTSEARCH_FSM=m
1026CONFIG_PLIST=y
1027CONFIG_HAS_IOMEM=y
1028CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig
index ff9dffa5b86..738bca695a8 100644
--- a/arch/m68k/configs/mac_defconfig
+++ b/arch/m68k/configs/mac_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:45 2005 4# Wed Apr 2 20:46:14 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-mac" 27CONFIG_LOCALVERSION="-mac"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -82,10 +130,24 @@ CONFIG_M68030=y
82CONFIG_M68040=y 130CONFIG_M68040=y
83# CONFIG_M68060 is not set 131# CONFIG_M68060 is not set
84CONFIG_MMU_MOTOROLA=y 132CONFIG_MMU_MOTOROLA=y
85CONFIG_M68KFPU_EMU=y 133# CONFIG_M68KFPU_EMU is not set
86CONFIG_M68KFPU_EMU_EXTRAPREC=y
87# CONFIG_M68KFPU_EMU_ONLY is not set
88# CONFIG_ADVANCED is not set 134# CONFIG_ADVANCED is not set
135CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
136CONFIG_NODES_SHIFT=3
137CONFIG_SELECT_MEMORY_MODEL=y
138# CONFIG_FLATMEM_MANUAL is not set
139CONFIG_DISCONTIGMEM_MANUAL=y
140# CONFIG_SPARSEMEM_MANUAL is not set
141CONFIG_DISCONTIGMEM=y
142CONFIG_FLAT_NODE_MEM_MAP=y
143CONFIG_NEED_MULTIPLE_NODES=y
144# CONFIG_SPARSEMEM_STATIC is not set
145# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
146CONFIG_SPLIT_PTLOCK_CPUS=4
147# CONFIG_RESOURCES_64BIT is not set
148CONFIG_ZONE_DMA_FLAG=1
149CONFIG_BOUNCE=y
150CONFIG_VIRT_TO_BUS=y
89 151
90# 152#
91# General setup 153# General setup
@@ -95,171 +157,11 @@ CONFIG_BINFMT_AOUT=m
95CONFIG_BINFMT_MISC=m 157CONFIG_BINFMT_MISC=m
96# CONFIG_HEARTBEAT is not set 158# CONFIG_HEARTBEAT is not set
97CONFIG_PROC_HARDWARE=y 159CONFIG_PROC_HARDWARE=y
160CONFIG_ZONE_DMA=y
161# CONFIG_ARCH_SUPPORTS_MSI is not set
98 162
99# 163#
100# Device Drivers 164# Networking
101#
102
103#
104# Generic Driver Options
105#
106CONFIG_STANDALONE=y
107CONFIG_PREVENT_FIRMWARE_BUILD=y
108CONFIG_FW_LOADER=m
109# CONFIG_DEBUG_DRIVER is not set
110
111#
112# Memory Technology Devices (MTD)
113#
114# CONFIG_MTD is not set
115
116#
117# Parallel port support
118#
119# CONFIG_PARPORT is not set
120
121#
122# Plug and Play support
123#
124
125#
126# Block devices
127#
128# CONFIG_BLK_DEV_COW_COMMON is not set
129CONFIG_BLK_DEV_LOOP=y
130CONFIG_BLK_DEV_CRYPTOLOOP=m
131CONFIG_BLK_DEV_NBD=m
132CONFIG_BLK_DEV_RAM=y
133CONFIG_BLK_DEV_RAM_COUNT=16
134CONFIG_BLK_DEV_RAM_SIZE=4096
135CONFIG_BLK_DEV_INITRD=y
136CONFIG_INITRAMFS_SOURCE=""
137CONFIG_CDROM_PKTCDVD=m
138CONFIG_CDROM_PKTCDVD_BUFFERS=8
139# CONFIG_CDROM_PKTCDVD_WCACHE is not set
140
141#
142# IO Schedulers
143#
144CONFIG_IOSCHED_NOOP=y
145CONFIG_IOSCHED_AS=y
146CONFIG_IOSCHED_DEADLINE=y
147CONFIG_IOSCHED_CFQ=y
148CONFIG_ATA_OVER_ETH=m
149
150#
151# ATA/ATAPI/MFM/RLL support
152#
153CONFIG_IDE=y
154CONFIG_BLK_DEV_IDE=y
155
156#
157# Please see Documentation/ide.txt for help/info on IDE drives
158#
159# CONFIG_BLK_DEV_IDE_SATA is not set
160CONFIG_BLK_DEV_IDEDISK=y
161# CONFIG_IDEDISK_MULTI_MODE is not set
162CONFIG_BLK_DEV_IDECD=y
163CONFIG_BLK_DEV_IDETAPE=m
164CONFIG_BLK_DEV_IDEFLOPPY=m
165# CONFIG_BLK_DEV_IDESCSI is not set
166# CONFIG_IDE_TASK_IOCTL is not set
167
168#
169# IDE chipset support/bugfixes
170#
171CONFIG_IDE_GENERIC=y
172# CONFIG_IDE_ARM is not set
173CONFIG_BLK_DEV_MAC_IDE=y
174# CONFIG_BLK_DEV_IDEDMA is not set
175# CONFIG_IDEDMA_AUTO is not set
176# CONFIG_BLK_DEV_HD is not set
177
178#
179# SCSI device support
180#
181CONFIG_SCSI=y
182CONFIG_SCSI_PROC_FS=y
183
184#
185# SCSI support type (disk, tape, CD-ROM)
186#
187CONFIG_BLK_DEV_SD=y
188CONFIG_CHR_DEV_ST=m
189CONFIG_CHR_DEV_OSST=m
190CONFIG_BLK_DEV_SR=y
191CONFIG_BLK_DEV_SR_VENDOR=y
192CONFIG_CHR_DEV_SG=m
193
194#
195# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
196#
197# CONFIG_SCSI_MULTI_LUN is not set
198CONFIG_SCSI_CONSTANTS=y
199# CONFIG_SCSI_LOGGING is not set
200
201#
202# SCSI Transport Attributes
203#
204# CONFIG_SCSI_SPI_ATTRS is not set
205# CONFIG_SCSI_FC_ATTRS is not set
206# CONFIG_SCSI_ISCSI_ATTRS is not set
207
208#
209# SCSI low-level drivers
210#
211# CONFIG_SCSI_SATA is not set
212# CONFIG_SCSI_DEBUG is not set
213CONFIG_MAC_SCSI=y
214CONFIG_SCSI_MAC_ESP=y
215
216#
217# Multi-device support (RAID and LVM)
218#
219CONFIG_MD=y
220CONFIG_BLK_DEV_MD=m
221CONFIG_MD_LINEAR=m
222CONFIG_MD_RAID0=m
223CONFIG_MD_RAID1=m
224# CONFIG_MD_RAID10 is not set
225CONFIG_MD_RAID5=m
226CONFIG_MD_RAID6=m
227CONFIG_MD_MULTIPATH=m
228# CONFIG_MD_FAULTY is not set
229CONFIG_BLK_DEV_DM=m
230CONFIG_DM_CRYPT=m
231CONFIG_DM_SNAPSHOT=m
232CONFIG_DM_MIRROR=m
233CONFIG_DM_ZERO=m
234CONFIG_DM_MULTIPATH=m
235CONFIG_DM_MULTIPATH_EMC=m
236
237#
238# Fusion MPT device support
239#
240
241#
242# IEEE 1394 (FireWire) support
243#
244
245#
246# I2O device support
247#
248
249#
250# Macintosh device drivers
251#
252CONFIG_ADB=y
253CONFIG_ADB_MACII=y
254CONFIG_ADB_MACIISI=y
255CONFIG_ADB_IOP=y
256CONFIG_ADB_PMU68K=y
257CONFIG_ADB_CUDA=y
258CONFIG_INPUT_ADBHID=y
259CONFIG_MAC_EMUMOUSEBTN=y
260
261#
262# Networking support
263# 165#
264CONFIG_NET=y 166CONFIG_NET=y
265 167
@@ -269,10 +171,17 @@ CONFIG_NET=y
269CONFIG_PACKET=y 171CONFIG_PACKET=y
270# CONFIG_PACKET_MMAP is not set 172# CONFIG_PACKET_MMAP is not set
271CONFIG_UNIX=y 173CONFIG_UNIX=y
174CONFIG_XFRM=y
175# CONFIG_XFRM_USER is not set
176# CONFIG_XFRM_SUB_POLICY is not set
177CONFIG_XFRM_MIGRATE=y
178# CONFIG_XFRM_STATISTICS is not set
272CONFIG_NET_KEY=y 179CONFIG_NET_KEY=y
180CONFIG_NET_KEY_MIGRATE=y
273CONFIG_INET=y 181CONFIG_INET=y
274# CONFIG_IP_MULTICAST is not set 182# CONFIG_IP_MULTICAST is not set
275# CONFIG_IP_ADVANCED_ROUTER is not set 183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
276# CONFIG_IP_PNP is not set 185# CONFIG_IP_PNP is not set
277CONFIG_NET_IPIP=m 186CONFIG_NET_IPIP=m
278CONFIG_NET_IPGRE=m 187CONFIG_NET_IPGRE=m
@@ -281,148 +190,202 @@ CONFIG_SYN_COOKIES=y
281CONFIG_INET_AH=m 190CONFIG_INET_AH=m
282CONFIG_INET_ESP=m 191CONFIG_INET_ESP=m
283CONFIG_INET_IPCOMP=m 192CONFIG_INET_IPCOMP=m
193CONFIG_INET_XFRM_TUNNEL=m
284CONFIG_INET_TUNNEL=m 194CONFIG_INET_TUNNEL=m
285CONFIG_IP_TCPDIAG=m 195CONFIG_INET_XFRM_MODE_TRANSPORT=m
286CONFIG_IP_TCPDIAG_IPV6=y 196CONFIG_INET_XFRM_MODE_TUNNEL=m
287 197CONFIG_INET_XFRM_MODE_BEET=m
288# 198CONFIG_INET_LRO=m
289# IP: Virtual Server Configuration 199CONFIG_INET_DIAG=m
290# 200CONFIG_INET_TCP_DIAG=m
201# CONFIG_TCP_CONG_ADVANCED is not set
202CONFIG_TCP_CONG_CUBIC=y
203CONFIG_DEFAULT_TCP_CONG="cubic"
204# CONFIG_TCP_MD5SIG is not set
291# CONFIG_IP_VS is not set 205# CONFIG_IP_VS is not set
292CONFIG_IPV6=m 206CONFIG_IPV6=m
293CONFIG_IPV6_PRIVACY=y 207CONFIG_IPV6_PRIVACY=y
208CONFIG_IPV6_ROUTER_PREF=y
209CONFIG_IPV6_ROUTE_INFO=y
210# CONFIG_IPV6_OPTIMISTIC_DAD is not set
294CONFIG_INET6_AH=m 211CONFIG_INET6_AH=m
295CONFIG_INET6_ESP=m 212CONFIG_INET6_ESP=m
296CONFIG_INET6_IPCOMP=m 213CONFIG_INET6_IPCOMP=m
214# CONFIG_IPV6_MIP6 is not set
215CONFIG_INET6_XFRM_TUNNEL=m
297CONFIG_INET6_TUNNEL=m 216CONFIG_INET6_TUNNEL=m
217CONFIG_INET6_XFRM_MODE_TRANSPORT=m
218CONFIG_INET6_XFRM_MODE_TUNNEL=m
219CONFIG_INET6_XFRM_MODE_BEET=m
220CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
221CONFIG_IPV6_SIT=m
298CONFIG_IPV6_TUNNEL=m 222CONFIG_IPV6_TUNNEL=m
223# CONFIG_IPV6_MULTIPLE_TABLES is not set
224# CONFIG_NETWORK_SECMARK is not set
299CONFIG_NETFILTER=y 225CONFIG_NETFILTER=y
300# CONFIG_NETFILTER_DEBUG is not set 226# CONFIG_NETFILTER_DEBUG is not set
227CONFIG_NETFILTER_ADVANCED=y
228
229#
230# Core Netfilter Configuration
231#
232CONFIG_NETFILTER_NETLINK=m
233CONFIG_NETFILTER_NETLINK_QUEUE=m
234CONFIG_NETFILTER_NETLINK_LOG=m
235CONFIG_NF_CONNTRACK=m
236CONFIG_NF_CT_ACCT=y
237CONFIG_NF_CONNTRACK_MARK=y
238# CONFIG_NF_CONNTRACK_EVENTS is not set
239CONFIG_NF_CT_PROTO_GRE=m
240CONFIG_NF_CT_PROTO_SCTP=m
241CONFIG_NF_CT_PROTO_UDPLITE=m
242CONFIG_NF_CONNTRACK_AMANDA=m
243CONFIG_NF_CONNTRACK_FTP=m
244CONFIG_NF_CONNTRACK_H323=m
245CONFIG_NF_CONNTRACK_IRC=m
246CONFIG_NF_CONNTRACK_NETBIOS_NS=m
247CONFIG_NF_CONNTRACK_PPTP=m
248CONFIG_NF_CONNTRACK_SANE=m
249CONFIG_NF_CONNTRACK_SIP=m
250CONFIG_NF_CONNTRACK_TFTP=m
251# CONFIG_NF_CT_NETLINK is not set
252CONFIG_NETFILTER_XTABLES=m
253CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
254CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
255CONFIG_NETFILTER_XT_TARGET_DSCP=m
256CONFIG_NETFILTER_XT_TARGET_MARK=m
257CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
258CONFIG_NETFILTER_XT_TARGET_NFLOG=m
259CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
260CONFIG_NETFILTER_XT_TARGET_RATEEST=m
261CONFIG_NETFILTER_XT_TARGET_TRACE=m
262CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
263CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
264CONFIG_NETFILTER_XT_MATCH_COMMENT=m
265CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
266CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
267CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
268CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
269CONFIG_NETFILTER_XT_MATCH_DCCP=m
270CONFIG_NETFILTER_XT_MATCH_DSCP=m
271CONFIG_NETFILTER_XT_MATCH_ESP=m
272CONFIG_NETFILTER_XT_MATCH_HELPER=m
273CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
274CONFIG_NETFILTER_XT_MATCH_LENGTH=m
275CONFIG_NETFILTER_XT_MATCH_LIMIT=m
276CONFIG_NETFILTER_XT_MATCH_MAC=m
277CONFIG_NETFILTER_XT_MATCH_MARK=m
278CONFIG_NETFILTER_XT_MATCH_OWNER=m
279CONFIG_NETFILTER_XT_MATCH_POLICY=m
280CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
281CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
282CONFIG_NETFILTER_XT_MATCH_QUOTA=m
283CONFIG_NETFILTER_XT_MATCH_RATEEST=m
284CONFIG_NETFILTER_XT_MATCH_REALM=m
285CONFIG_NETFILTER_XT_MATCH_SCTP=m
286CONFIG_NETFILTER_XT_MATCH_STATE=m
287CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
288CONFIG_NETFILTER_XT_MATCH_STRING=m
289CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
290CONFIG_NETFILTER_XT_MATCH_TIME=m
291CONFIG_NETFILTER_XT_MATCH_U32=m
292CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
301 293
302# 294#
303# IP: Netfilter Configuration 295# IP: Netfilter Configuration
304# 296#
305CONFIG_IP_NF_CONNTRACK=m 297CONFIG_NF_CONNTRACK_IPV4=m
306# CONFIG_IP_NF_CT_ACCT is not set 298CONFIG_NF_CONNTRACK_PROC_COMPAT=y
307CONFIG_IP_NF_CONNTRACK_MARK=y
308# CONFIG_IP_NF_CT_PROTO_SCTP is not set
309CONFIG_IP_NF_FTP=m
310CONFIG_IP_NF_IRC=m
311CONFIG_IP_NF_TFTP=m
312CONFIG_IP_NF_AMANDA=m
313CONFIG_IP_NF_QUEUE=m 299CONFIG_IP_NF_QUEUE=m
314CONFIG_IP_NF_IPTABLES=m 300CONFIG_IP_NF_IPTABLES=m
315CONFIG_IP_NF_MATCH_LIMIT=m
316CONFIG_IP_NF_MATCH_IPRANGE=m
317CONFIG_IP_NF_MATCH_MAC=m
318CONFIG_IP_NF_MATCH_PKTTYPE=m
319CONFIG_IP_NF_MATCH_MARK=m
320CONFIG_IP_NF_MATCH_MULTIPORT=m
321CONFIG_IP_NF_MATCH_TOS=m
322CONFIG_IP_NF_MATCH_RECENT=m 301CONFIG_IP_NF_MATCH_RECENT=m
323CONFIG_IP_NF_MATCH_ECN=m 302CONFIG_IP_NF_MATCH_ECN=m
324CONFIG_IP_NF_MATCH_DSCP=m 303CONFIG_IP_NF_MATCH_AH=m
325CONFIG_IP_NF_MATCH_AH_ESP=m
326CONFIG_IP_NF_MATCH_LENGTH=m
327CONFIG_IP_NF_MATCH_TTL=m 304CONFIG_IP_NF_MATCH_TTL=m
328CONFIG_IP_NF_MATCH_TCPMSS=m
329CONFIG_IP_NF_MATCH_HELPER=m
330CONFIG_IP_NF_MATCH_STATE=m
331CONFIG_IP_NF_MATCH_CONNTRACK=m
332CONFIG_IP_NF_MATCH_OWNER=m
333CONFIG_IP_NF_MATCH_ADDRTYPE=m 305CONFIG_IP_NF_MATCH_ADDRTYPE=m
334CONFIG_IP_NF_MATCH_REALM=m
335# CONFIG_IP_NF_MATCH_SCTP is not set
336# CONFIG_IP_NF_MATCH_COMMENT is not set
337CONFIG_IP_NF_MATCH_CONNMARK=m
338CONFIG_IP_NF_MATCH_HASHLIMIT=m
339CONFIG_IP_NF_FILTER=m 306CONFIG_IP_NF_FILTER=m
340CONFIG_IP_NF_TARGET_REJECT=m 307CONFIG_IP_NF_TARGET_REJECT=m
341CONFIG_IP_NF_TARGET_LOG=m 308CONFIG_IP_NF_TARGET_LOG=m
342CONFIG_IP_NF_TARGET_ULOG=m 309CONFIG_IP_NF_TARGET_ULOG=m
343CONFIG_IP_NF_TARGET_TCPMSS=m 310CONFIG_NF_NAT=m
344CONFIG_IP_NF_NAT=m 311CONFIG_NF_NAT_NEEDED=y
345CONFIG_IP_NF_NAT_NEEDED=y
346CONFIG_IP_NF_TARGET_MASQUERADE=m 312CONFIG_IP_NF_TARGET_MASQUERADE=m
347CONFIG_IP_NF_TARGET_REDIRECT=m 313CONFIG_IP_NF_TARGET_REDIRECT=m
348CONFIG_IP_NF_TARGET_NETMAP=m 314CONFIG_IP_NF_TARGET_NETMAP=m
349CONFIG_IP_NF_TARGET_SAME=m 315CONFIG_NF_NAT_SNMP_BASIC=m
350CONFIG_IP_NF_NAT_SNMP_BASIC=m 316CONFIG_NF_NAT_PROTO_GRE=m
351CONFIG_IP_NF_NAT_IRC=m 317CONFIG_NF_NAT_FTP=m
352CONFIG_IP_NF_NAT_FTP=m 318CONFIG_NF_NAT_IRC=m
353CONFIG_IP_NF_NAT_TFTP=m 319CONFIG_NF_NAT_TFTP=m
354CONFIG_IP_NF_NAT_AMANDA=m 320CONFIG_NF_NAT_AMANDA=m
321CONFIG_NF_NAT_PPTP=m
322CONFIG_NF_NAT_H323=m
323CONFIG_NF_NAT_SIP=m
355CONFIG_IP_NF_MANGLE=m 324CONFIG_IP_NF_MANGLE=m
356CONFIG_IP_NF_TARGET_TOS=m
357CONFIG_IP_NF_TARGET_ECN=m 325CONFIG_IP_NF_TARGET_ECN=m
358CONFIG_IP_NF_TARGET_DSCP=m 326CONFIG_IP_NF_TARGET_TTL=m
359CONFIG_IP_NF_TARGET_MARK=m 327CONFIG_IP_NF_TARGET_CLUSTERIP=m
360CONFIG_IP_NF_TARGET_CLASSIFY=m
361CONFIG_IP_NF_TARGET_CONNMARK=m
362# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
363CONFIG_IP_NF_RAW=m 328CONFIG_IP_NF_RAW=m
364CONFIG_IP_NF_TARGET_NOTRACK=m
365CONFIG_IP_NF_ARPTABLES=m 329CONFIG_IP_NF_ARPTABLES=m
366CONFIG_IP_NF_ARPFILTER=m 330CONFIG_IP_NF_ARPFILTER=m
367CONFIG_IP_NF_ARP_MANGLE=m 331CONFIG_IP_NF_ARP_MANGLE=m
368 332
369# 333#
370# IPv6: Netfilter Configuration (EXPERIMENTAL) 334# IPv6: Netfilter Configuration
371# 335#
336CONFIG_NF_CONNTRACK_IPV6=m
372CONFIG_IP6_NF_QUEUE=m 337CONFIG_IP6_NF_QUEUE=m
373CONFIG_IP6_NF_IPTABLES=m 338CONFIG_IP6_NF_IPTABLES=m
374CONFIG_IP6_NF_MATCH_LIMIT=m
375CONFIG_IP6_NF_MATCH_MAC=m
376CONFIG_IP6_NF_MATCH_RT=m 339CONFIG_IP6_NF_MATCH_RT=m
377CONFIG_IP6_NF_MATCH_OPTS=m 340CONFIG_IP6_NF_MATCH_OPTS=m
378CONFIG_IP6_NF_MATCH_FRAG=m 341CONFIG_IP6_NF_MATCH_FRAG=m
379CONFIG_IP6_NF_MATCH_HL=m 342CONFIG_IP6_NF_MATCH_HL=m
380CONFIG_IP6_NF_MATCH_MULTIPORT=m
381CONFIG_IP6_NF_MATCH_OWNER=m
382CONFIG_IP6_NF_MATCH_MARK=m
383CONFIG_IP6_NF_MATCH_IPV6HEADER=m 343CONFIG_IP6_NF_MATCH_IPV6HEADER=m
384CONFIG_IP6_NF_MATCH_AHESP=m 344CONFIG_IP6_NF_MATCH_AH=m
385CONFIG_IP6_NF_MATCH_LENGTH=m 345CONFIG_IP6_NF_MATCH_MH=m
386CONFIG_IP6_NF_MATCH_EUI64=m 346CONFIG_IP6_NF_MATCH_EUI64=m
387CONFIG_IP6_NF_FILTER=m 347CONFIG_IP6_NF_FILTER=m
388CONFIG_IP6_NF_TARGET_LOG=m 348CONFIG_IP6_NF_TARGET_LOG=m
349CONFIG_IP6_NF_TARGET_REJECT=m
389CONFIG_IP6_NF_MANGLE=m 350CONFIG_IP6_NF_MANGLE=m
390CONFIG_IP6_NF_TARGET_MARK=m 351CONFIG_IP6_NF_TARGET_HL=m
391CONFIG_IP6_NF_RAW=m 352CONFIG_IP6_NF_RAW=m
392CONFIG_XFRM=y 353CONFIG_IP_DCCP=m
393CONFIG_XFRM_USER=m 354CONFIG_INET_DCCP_DIAG=m
355CONFIG_IP_DCCP_ACKVEC=y
394 356
395# 357#
396# SCTP Configuration (EXPERIMENTAL) 358# DCCP CCIDs Configuration (EXPERIMENTAL)
397# 359#
360CONFIG_IP_DCCP_CCID2=m
361# CONFIG_IP_DCCP_CCID2_DEBUG is not set
362CONFIG_IP_DCCP_CCID3=m
363# CONFIG_IP_DCCP_CCID3_DEBUG is not set
364CONFIG_IP_DCCP_CCID3_RTO=100
365CONFIG_IP_DCCP_TFRC_LIB=m
398CONFIG_IP_SCTP=m 366CONFIG_IP_SCTP=m
399# CONFIG_SCTP_DBG_MSG is not set 367# CONFIG_SCTP_DBG_MSG is not set
400# CONFIG_SCTP_DBG_OBJCNT is not set 368# CONFIG_SCTP_DBG_OBJCNT is not set
401# CONFIG_SCTP_HMAC_NONE is not set 369# CONFIG_SCTP_HMAC_NONE is not set
402# CONFIG_SCTP_HMAC_SHA1 is not set 370# CONFIG_SCTP_HMAC_SHA1 is not set
403CONFIG_SCTP_HMAC_MD5=y 371CONFIG_SCTP_HMAC_MD5=y
372# CONFIG_TIPC is not set
404# CONFIG_ATM is not set 373# CONFIG_ATM is not set
405# CONFIG_BRIDGE is not set 374# CONFIG_BRIDGE is not set
406# CONFIG_VLAN_8021Q is not set 375# CONFIG_VLAN_8021Q is not set
407# CONFIG_DECNET is not set 376# CONFIG_DECNET is not set
408CONFIG_LLC=m 377CONFIG_LLC=m
409# CONFIG_LLC2 is not set 378# CONFIG_LLC2 is not set
410CONFIG_IPX=m 379# CONFIG_IPX is not set
411# CONFIG_IPX_INTERN is not set
412CONFIG_ATALK=m 380CONFIG_ATALK=m
413CONFIG_DEV_APPLETALK=y 381CONFIG_DEV_APPLETALK=m
414CONFIG_IPDDP=m 382CONFIG_IPDDP=m
415CONFIG_IPDDP_ENCAP=y 383CONFIG_IPDDP_ENCAP=y
416CONFIG_IPDDP_DECAP=y 384CONFIG_IPDDP_DECAP=y
417# CONFIG_X25 is not set 385# CONFIG_X25 is not set
418# CONFIG_LAPB is not set 386# CONFIG_LAPB is not set
419# CONFIG_NET_DIVERT is not set
420# CONFIG_ECONET is not set 387# CONFIG_ECONET is not set
421# CONFIG_WAN_ROUTER is not set 388# CONFIG_WAN_ROUTER is not set
422
423#
424# QoS and/or fair queueing
425#
426# CONFIG_NET_SCHED is not set 389# CONFIG_NET_SCHED is not set
427CONFIG_NET_CLS_ROUTE=y 390CONFIG_NET_CLS_ROUTE=y
428 391
@@ -430,80 +393,223 @@ CONFIG_NET_CLS_ROUTE=y
430# Network testing 393# Network testing
431# 394#
432# CONFIG_NET_PKTGEN is not set 395# CONFIG_NET_PKTGEN is not set
433CONFIG_NETPOLL=y
434# CONFIG_NETPOLL_RX is not set
435# CONFIG_NETPOLL_TRAP is not set
436CONFIG_NET_POLL_CONTROLLER=y
437# CONFIG_HAMRADIO is not set 396# CONFIG_HAMRADIO is not set
397# CONFIG_CAN is not set
438# CONFIG_IRDA is not set 398# CONFIG_IRDA is not set
439# CONFIG_BT is not set 399# CONFIG_BT is not set
440CONFIG_NETDEVICES=y 400# CONFIG_AF_RXRPC is not set
441CONFIG_DUMMY=m
442# CONFIG_BONDING is not set
443CONFIG_EQUALIZER=m
444# CONFIG_TUN is not set
445 401
446# 402#
447# Ethernet (10 or 100Mbit) 403# Wireless
448# 404#
449CONFIG_NET_ETHERNET=y 405# CONFIG_CFG80211 is not set
450# CONFIG_MII is not set 406CONFIG_WIRELESS_EXT=y
451CONFIG_MAC8390=y 407# CONFIG_MAC80211 is not set
452CONFIG_MAC89x0=y 408CONFIG_IEEE80211=m
453CONFIG_MACSONIC=y 409# CONFIG_IEEE80211_DEBUG is not set
454CONFIG_MACMACE=y 410CONFIG_IEEE80211_CRYPT_WEP=m
455# CONFIG_NET_VENDOR_SMC is not set 411CONFIG_IEEE80211_CRYPT_CCMP=m
412CONFIG_IEEE80211_CRYPT_TKIP=m
413CONFIG_IEEE80211_SOFTMAC=m
414# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
415# CONFIG_RFKILL is not set
416# CONFIG_NET_9P is not set
417
418#
419# Device Drivers
420#
421
422#
423# Generic Driver Options
424#
425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430CONFIG_CONNECTOR=m
431# CONFIG_MTD is not set
432# CONFIG_PARPORT is not set
433CONFIG_BLK_DEV=y
434# CONFIG_BLK_DEV_COW_COMMON is not set
435CONFIG_BLK_DEV_LOOP=y
436CONFIG_BLK_DEV_CRYPTOLOOP=m
437CONFIG_BLK_DEV_NBD=m
438CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=16
440CONFIG_BLK_DEV_RAM_SIZE=4096
441# CONFIG_BLK_DEV_XIP is not set
442CONFIG_CDROM_PKTCDVD=m
443CONFIG_CDROM_PKTCDVD_BUFFERS=8
444# CONFIG_CDROM_PKTCDVD_WCACHE is not set
445CONFIG_ATA_OVER_ETH=m
446CONFIG_MISC_DEVICES=y
447# CONFIG_EEPROM_93CX6 is not set
448# CONFIG_ENCLOSURE_SERVICES is not set
449CONFIG_HAVE_IDE=y
450CONFIG_IDE=y
451CONFIG_BLK_DEV_IDE=y
456 452
457# 453#
458# Ethernet (1000 Mbit) 454# Please see Documentation/ide/ide.txt for help/info on IDE drives
455#
456# CONFIG_BLK_DEV_IDE_SATA is not set
457CONFIG_BLK_DEV_IDEDISK=y
458# CONFIG_IDEDISK_MULTI_MODE is not set
459CONFIG_BLK_DEV_IDECD=y
460CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
461# CONFIG_BLK_DEV_IDETAPE is not set
462CONFIG_BLK_DEV_IDEFLOPPY=m
463# CONFIG_BLK_DEV_IDESCSI is not set
464# CONFIG_IDE_TASK_IOCTL is not set
465CONFIG_IDE_PROC_FS=y
466
467#
468# IDE chipset support/bugfixes
459# 469#
470# CONFIG_IDE_GENERIC is not set
471# CONFIG_BLK_DEV_PLATFORM is not set
472CONFIG_BLK_DEV_MAC_IDE=y
473# CONFIG_BLK_DEV_IDEDMA is not set
474# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
475# CONFIG_BLK_DEV_HD is not set
460 476
461# 477#
462# Ethernet (10000 Mbit) 478# SCSI device support
463# 479#
480CONFIG_RAID_ATTRS=m
481CONFIG_SCSI=y
482CONFIG_SCSI_DMA=y
483CONFIG_SCSI_TGT=m
484# CONFIG_SCSI_NETLINK is not set
485CONFIG_SCSI_PROC_FS=y
464 486
465# 487#
466# Token Ring devices 488# SCSI support type (disk, tape, CD-ROM)
467# 489#
490CONFIG_BLK_DEV_SD=y
491CONFIG_CHR_DEV_ST=m
492CONFIG_CHR_DEV_OSST=m
493CONFIG_BLK_DEV_SR=y
494CONFIG_BLK_DEV_SR_VENDOR=y
495CONFIG_CHR_DEV_SG=m
496# CONFIG_CHR_DEV_SCH is not set
468 497
469# 498#
470# Wireless LAN (non-hamradio) 499# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
471# 500#
472# CONFIG_NET_RADIO is not set 501# CONFIG_SCSI_MULTI_LUN is not set
502CONFIG_SCSI_CONSTANTS=y
503# CONFIG_SCSI_LOGGING is not set
504# CONFIG_SCSI_SCAN_ASYNC is not set
505CONFIG_SCSI_WAIT_SCAN=m
473 506
474# 507#
475# Wan interfaces 508# SCSI Transports
476# 509#
510CONFIG_SCSI_SPI_ATTRS=y
511# CONFIG_SCSI_FC_ATTRS is not set
512CONFIG_SCSI_ISCSI_ATTRS=m
513CONFIG_SCSI_SAS_ATTRS=m
514CONFIG_SCSI_SAS_LIBSAS=m
515CONFIG_SCSI_SAS_HOST_SMP=y
516# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
517CONFIG_SCSI_SRP_ATTRS=m
518CONFIG_SCSI_SRP_TGT_ATTRS=y
519CONFIG_SCSI_LOWLEVEL=y
520CONFIG_ISCSI_TCP=m
521# CONFIG_SCSI_DEBUG is not set
522CONFIG_MAC_SCSI=y
523CONFIG_MD=y
524CONFIG_BLK_DEV_MD=m
525CONFIG_MD_LINEAR=m
526CONFIG_MD_RAID0=m
527CONFIG_MD_RAID1=m
528# CONFIG_MD_RAID10 is not set
529CONFIG_MD_RAID456=m
530CONFIG_MD_RAID5_RESHAPE=y
531CONFIG_MD_MULTIPATH=m
532# CONFIG_MD_FAULTY is not set
533CONFIG_BLK_DEV_DM=m
534# CONFIG_DM_DEBUG is not set
535CONFIG_DM_CRYPT=m
536CONFIG_DM_SNAPSHOT=m
537CONFIG_DM_MIRROR=m
538CONFIG_DM_ZERO=m
539CONFIG_DM_MULTIPATH=m
540CONFIG_DM_MULTIPATH_EMC=m
541CONFIG_DM_MULTIPATH_RDAC=m
542CONFIG_DM_MULTIPATH_HP=m
543# CONFIG_DM_DELAY is not set
544CONFIG_DM_UEVENT=y
545CONFIG_MACINTOSH_DRIVERS=y
546CONFIG_ADB=y
547CONFIG_ADB_MACII=y
548CONFIG_ADB_MACIISI=y
549CONFIG_ADB_IOP=y
550CONFIG_ADB_PMU68K=y
551CONFIG_ADB_CUDA=y
552CONFIG_INPUT_ADBHID=y
553CONFIG_MAC_EMUMOUSEBTN=y
554CONFIG_NETDEVICES=y
555# CONFIG_NETDEVICES_MULTIQUEUE is not set
556CONFIG_DUMMY=m
557# CONFIG_BONDING is not set
558CONFIG_MACVLAN=m
559CONFIG_EQUALIZER=m
560# CONFIG_TUN is not set
561CONFIG_VETH=m
562# CONFIG_PHYLIB is not set
563CONFIG_NET_ETHERNET=y
564# CONFIG_MII is not set
565CONFIG_MAC8390=y
566CONFIG_MAC89x0=m
567CONFIG_MACSONIC=m
568CONFIG_MACMACE=y
569# CONFIG_NET_VENDOR_SMC is not set
570# CONFIG_IBM_NEW_EMAC_ZMII is not set
571# CONFIG_IBM_NEW_EMAC_RGMII is not set
572# CONFIG_IBM_NEW_EMAC_TAH is not set
573# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
574# CONFIG_B44 is not set
575# CONFIG_NETDEV_1000 is not set
576# CONFIG_NETDEV_10000 is not set
577
578#
579# Wireless LAN
580#
581# CONFIG_WLAN_PRE80211 is not set
582# CONFIG_WLAN_80211 is not set
477# CONFIG_WAN is not set 583# CONFIG_WAN is not set
478CONFIG_PPP=m 584CONFIG_PPP=m
479# CONFIG_PPP_MULTILINK is not set 585# CONFIG_PPP_MULTILINK is not set
480CONFIG_PPP_FILTER=y 586CONFIG_PPP_FILTER=y
481# CONFIG_PPP_ASYNC is not set 587CONFIG_PPP_ASYNC=m
482# CONFIG_PPP_SYNC_TTY is not set 588CONFIG_PPP_SYNC_TTY=m
483CONFIG_PPP_DEFLATE=m 589CONFIG_PPP_DEFLATE=m
484CONFIG_PPP_BSDCOMP=m 590CONFIG_PPP_BSDCOMP=m
591CONFIG_PPP_MPPE=m
485CONFIG_PPPOE=m 592CONFIG_PPPOE=m
593CONFIG_PPPOL2TP=m
486CONFIG_SLIP=m 594CONFIG_SLIP=m
487CONFIG_SLIP_COMPRESSED=y 595CONFIG_SLIP_COMPRESSED=y
596CONFIG_SLHC=m
488CONFIG_SLIP_SMART=y 597CONFIG_SLIP_SMART=y
489CONFIG_SLIP_MODE_SLIP6=y 598CONFIG_SLIP_MODE_SLIP6=y
490CONFIG_SHAPER=m
491CONFIG_NETCONSOLE=m 599CONFIG_NETCONSOLE=m
492 600CONFIG_NETCONSOLE_DYNAMIC=y
493# 601CONFIG_NETPOLL=y
494# ISDN subsystem 602# CONFIG_NETPOLL_TRAP is not set
495# 603CONFIG_NET_POLL_CONTROLLER=y
496# CONFIG_ISDN is not set 604# CONFIG_ISDN is not set
497
498#
499# Telephony Support
500#
501# CONFIG_PHONE is not set 605# CONFIG_PHONE is not set
502 606
503# 607#
504# Input device support 608# Input device support
505# 609#
506CONFIG_INPUT=y 610CONFIG_INPUT=y
611CONFIG_INPUT_FF_MEMLESS=m
612# CONFIG_INPUT_POLLDEV is not set
507 613
508# 614#
509# Userland interfaces 615# Userland interfaces
@@ -513,7 +619,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
513CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 619CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
514CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 620CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
515# CONFIG_INPUT_JOYDEV is not set 621# CONFIG_INPUT_JOYDEV is not set
516# CONFIG_INPUT_TSDEV is not set
517# CONFIG_INPUT_EVDEV is not set 622# CONFIG_INPUT_EVDEV is not set
518# CONFIG_INPUT_EVBUG is not set 623# CONFIG_INPUT_EVBUG is not set
519 624
@@ -526,19 +631,29 @@ CONFIG_INPUT_KEYBOARD=y
526# CONFIG_KEYBOARD_LKKBD is not set 631# CONFIG_KEYBOARD_LKKBD is not set
527# CONFIG_KEYBOARD_XTKBD is not set 632# CONFIG_KEYBOARD_XTKBD is not set
528# CONFIG_KEYBOARD_NEWTON is not set 633# CONFIG_KEYBOARD_NEWTON is not set
634# CONFIG_KEYBOARD_STOWAWAY is not set
529CONFIG_INPUT_MOUSE=y 635CONFIG_INPUT_MOUSE=y
530CONFIG_MOUSE_PS2=m 636CONFIG_MOUSE_PS2=m
637CONFIG_MOUSE_PS2_ALPS=y
638CONFIG_MOUSE_PS2_LOGIPS2PP=y
639CONFIG_MOUSE_PS2_SYNAPTICS=y
640CONFIG_MOUSE_PS2_LIFEBOOK=y
641CONFIG_MOUSE_PS2_TRACKPOINT=y
642# CONFIG_MOUSE_PS2_TOUCHKIT is not set
531CONFIG_MOUSE_SERIAL=m 643CONFIG_MOUSE_SERIAL=m
532# CONFIG_MOUSE_VSXXXAA is not set 644# CONFIG_MOUSE_VSXXXAA is not set
533# CONFIG_INPUT_JOYSTICK is not set 645# CONFIG_INPUT_JOYSTICK is not set
646# CONFIG_INPUT_TABLET is not set
534# CONFIG_INPUT_TOUCHSCREEN is not set 647# CONFIG_INPUT_TOUCHSCREEN is not set
535# CONFIG_INPUT_MISC is not set 648CONFIG_INPUT_MISC=y
649CONFIG_INPUT_M68K_BEEP=m
650# CONFIG_INPUT_UINPUT is not set
536 651
537# 652#
538# Hardware I/O ports 653# Hardware I/O ports
539# 654#
540CONFIG_SERIO=m 655CONFIG_SERIO=m
541CONFIG_SERIO_SERPORT=m 656# CONFIG_SERIO_SERPORT is not set
542CONFIG_SERIO_LIBPS2=m 657CONFIG_SERIO_LIBPS2=m
543# CONFIG_SERIO_RAW is not set 658# CONFIG_SERIO_RAW is not set
544# CONFIG_GAMEPORT is not set 659# CONFIG_GAMEPORT is not set
@@ -549,6 +664,7 @@ CONFIG_SERIO_LIBPS2=m
549CONFIG_VT=y 664CONFIG_VT=y
550CONFIG_VT_CONSOLE=y 665CONFIG_VT_CONSOLE=y
551CONFIG_HW_CONSOLE=y 666CONFIG_HW_CONSOLE=y
667CONFIG_VT_HW_CONSOLE_BINDING=y
552# CONFIG_SERIAL_NONSTANDARD is not set 668# CONFIG_SERIAL_NONSTANDARD is not set
553 669
554# 670#
@@ -562,116 +678,117 @@ CONFIG_HW_CONSOLE=y
562CONFIG_UNIX98_PTYS=y 678CONFIG_UNIX98_PTYS=y
563CONFIG_LEGACY_PTYS=y 679CONFIG_LEGACY_PTYS=y
564CONFIG_LEGACY_PTY_COUNT=256 680CONFIG_LEGACY_PTY_COUNT=256
565
566#
567# IPMI
568#
569# CONFIG_IPMI_HANDLER is not set 681# CONFIG_IPMI_HANDLER is not set
570 682# CONFIG_HW_RANDOM is not set
571#
572# Watchdog Cards
573#
574# CONFIG_WATCHDOG is not set
575CONFIG_GEN_RTC=m 683CONFIG_GEN_RTC=m
576CONFIG_GEN_RTC_X=y 684CONFIG_GEN_RTC_X=y
577# CONFIG_DTLK is not set
578# CONFIG_R3964 is not set 685# CONFIG_R3964 is not set
579
580#
581# Ftape, the floppy tape device driver
582#
583# CONFIG_DRM is not set
584# CONFIG_RAW_DRIVER is not set 686# CONFIG_RAW_DRIVER is not set
585 687# CONFIG_TCG_TPM is not set
586#
587# TPM devices
588#
589
590#
591# I2C support
592#
593# CONFIG_I2C is not set 688# CONFIG_I2C is not set
594 689
595# 690#
596# Dallas's 1-wire bus 691# SPI support
597# 692#
693# CONFIG_SPI is not set
694# CONFIG_SPI_MASTER is not set
598# CONFIG_W1 is not set 695# CONFIG_W1 is not set
696# CONFIG_POWER_SUPPLY is not set
697# CONFIG_HWMON is not set
698# CONFIG_THERMAL is not set
699# CONFIG_WATCHDOG is not set
599 700
600# 701#
601# Misc devices 702# Sonics Silicon Backplane
602# 703#
704CONFIG_SSB_POSSIBLE=y
705# CONFIG_SSB is not set
603 706
604# 707#
605# Multimedia devices 708# Multifunction device drivers
606# 709#
607# CONFIG_VIDEO_DEV is not set 710# CONFIG_MFD_SM501 is not set
608 711
609# 712#
610# Digital Video Broadcasting Devices 713# Multimedia devices
611# 714#
612# CONFIG_DVB is not set 715# CONFIG_VIDEO_DEV is not set
716# CONFIG_DVB_CORE is not set
717# CONFIG_DAB is not set
613 718
614# 719#
615# Graphics support 720# Graphics support
616# 721#
722# CONFIG_VGASTATE is not set
723# CONFIG_VIDEO_OUTPUT_CONTROL is not set
617CONFIG_FB=y 724CONFIG_FB=y
725# CONFIG_FIRMWARE_EDID is not set
726# CONFIG_FB_DDC is not set
618CONFIG_FB_CFB_FILLRECT=y 727CONFIG_FB_CFB_FILLRECT=y
619CONFIG_FB_CFB_COPYAREA=y 728CONFIG_FB_CFB_COPYAREA=y
620CONFIG_FB_CFB_IMAGEBLIT=y 729CONFIG_FB_CFB_IMAGEBLIT=y
621CONFIG_FB_SOFT_CURSOR=y 730# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
731# CONFIG_FB_SYS_FILLRECT is not set
732# CONFIG_FB_SYS_COPYAREA is not set
733# CONFIG_FB_SYS_IMAGEBLIT is not set
734# CONFIG_FB_SYS_FOPS is not set
735CONFIG_FB_DEFERRED_IO=y
736# CONFIG_FB_SVGALIB is not set
622CONFIG_FB_MACMODES=y 737CONFIG_FB_MACMODES=y
623CONFIG_FB_MODE_HELPERS=y 738# CONFIG_FB_BACKLIGHT is not set
739# CONFIG_FB_MODE_HELPERS is not set
624# CONFIG_FB_TILEBLITTING is not set 740# CONFIG_FB_TILEBLITTING is not set
741
742#
743# Frame buffer hardware drivers
744#
625CONFIG_FB_VALKYRIE=y 745CONFIG_FB_VALKYRIE=y
626CONFIG_FB_MAC=y 746CONFIG_FB_MAC=y
747# CONFIG_FB_UVESA is not set
627# CONFIG_FB_S1D13XXX is not set 748# CONFIG_FB_S1D13XXX is not set
628# CONFIG_FB_VIRTUAL is not set 749# CONFIG_FB_VIRTUAL is not set
750# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
751
752#
753# Display device support
754#
755# CONFIG_DISPLAY_SUPPORT is not set
629 756
630# 757#
631# Console display driver support 758# Console display driver support
632# 759#
633CONFIG_DUMMY_CONSOLE=y 760CONFIG_DUMMY_CONSOLE=y
634CONFIG_FRAMEBUFFER_CONSOLE=y 761CONFIG_FRAMEBUFFER_CONSOLE=y
762# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
763# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
635# CONFIG_FONTS is not set 764# CONFIG_FONTS is not set
636CONFIG_FONT_8x8=y 765CONFIG_FONT_8x8=y
637CONFIG_FONT_8x16=y 766CONFIG_FONT_8x16=y
638CONFIG_FONT_6x11=y 767CONFIG_FONT_6x11=y
639
640#
641# Logo configuration
642#
643CONFIG_LOGO=y 768CONFIG_LOGO=y
644CONFIG_LOGO_LINUX_MONO=y 769CONFIG_LOGO_LINUX_MONO=y
645CONFIG_LOGO_LINUX_VGA16=y 770CONFIG_LOGO_LINUX_VGA16=y
646CONFIG_LOGO_LINUX_CLUT224=y 771CONFIG_LOGO_LINUX_CLUT224=y
647CONFIG_LOGO_MAC_CLUT224=y 772CONFIG_LOGO_MAC_CLUT224=y
648# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
649 773
650# 774#
651# Sound 775# Sound
652# 776#
653# CONFIG_SOUND is not set 777# CONFIG_SOUND is not set
654 778CONFIG_HID_SUPPORT=y
655# 779CONFIG_HID=m
656# USB support 780# CONFIG_HID_DEBUG is not set
657# 781CONFIG_HIDRAW=y
658# CONFIG_USB_ARCH_HAS_HCD is not set 782# CONFIG_USB_SUPPORT is not set
659# CONFIG_USB_ARCH_HAS_OHCI is not set
660
661#
662# USB Gadget Support
663#
664# CONFIG_USB_GADGET is not set
665
666#
667# MMC/SD Card support
668#
669# CONFIG_MMC is not set 783# CONFIG_MMC is not set
784# CONFIG_MEMSTICK is not set
785# CONFIG_NEW_LEDS is not set
786# CONFIG_RTC_CLASS is not set
670 787
671# 788#
672# InfiniBand support 789# Userspace I/O
673# 790#
674# CONFIG_INFINIBAND is not set 791# CONFIG_UIO is not set
675 792
676# 793#
677# Character devices 794# Character devices
@@ -685,10 +802,11 @@ CONFIG_SERIAL_CONSOLE=y
685# 802#
686CONFIG_EXT2_FS=y 803CONFIG_EXT2_FS=y
687# CONFIG_EXT2_FS_XATTR is not set 804# CONFIG_EXT2_FS_XATTR is not set
805# CONFIG_EXT2_FS_XIP is not set
688CONFIG_EXT3_FS=y 806CONFIG_EXT3_FS=y
689# CONFIG_EXT3_FS_XATTR is not set 807# CONFIG_EXT3_FS_XATTR is not set
808# CONFIG_EXT4DEV_FS is not set
690CONFIG_JBD=y 809CONFIG_JBD=y
691# CONFIG_JBD_DEBUG is not set
692CONFIG_REISERFS_FS=m 810CONFIG_REISERFS_FS=m
693# CONFIG_REISERFS_CHECK is not set 811# CONFIG_REISERFS_CHECK is not set
694# CONFIG_REISERFS_PROC_INFO is not set 812# CONFIG_REISERFS_PROC_INFO is not set
@@ -699,25 +817,29 @@ CONFIG_JFS_FS=m
699# CONFIG_JFS_DEBUG is not set 817# CONFIG_JFS_DEBUG is not set
700# CONFIG_JFS_STATISTICS is not set 818# CONFIG_JFS_STATISTICS is not set
701CONFIG_FS_POSIX_ACL=y 819CONFIG_FS_POSIX_ACL=y
702
703#
704# XFS support
705#
706CONFIG_XFS_FS=m 820CONFIG_XFS_FS=m
707CONFIG_XFS_EXPORT=y
708# CONFIG_XFS_RT is not set
709# CONFIG_XFS_QUOTA is not set 821# CONFIG_XFS_QUOTA is not set
710# CONFIG_XFS_SECURITY is not set 822# CONFIG_XFS_SECURITY is not set
711# CONFIG_XFS_POSIX_ACL is not set 823# CONFIG_XFS_POSIX_ACL is not set
712CONFIG_MINIX_FS=y 824# CONFIG_XFS_RT is not set
713# CONFIG_ROMFS_FS is not set 825CONFIG_GFS2_FS=m
826CONFIG_GFS2_FS_LOCKING_NOLOCK=m
827CONFIG_GFS2_FS_LOCKING_DLM=m
828CONFIG_OCFS2_FS=m
829# CONFIG_OCFS2_DEBUG_MASKLOG is not set
830# CONFIG_OCFS2_DEBUG_FS is not set
831CONFIG_DNOTIFY=y
832CONFIG_INOTIFY=y
833CONFIG_INOTIFY_USER=y
714CONFIG_QUOTA=y 834CONFIG_QUOTA=y
835CONFIG_QUOTA_NETLINK_INTERFACE=y
836# CONFIG_PRINT_QUOTA_WARNING is not set
715# CONFIG_QFMT_V1 is not set 837# CONFIG_QFMT_V1 is not set
716# CONFIG_QFMT_V2 is not set 838# CONFIG_QFMT_V2 is not set
717CONFIG_QUOTACTL=y 839CONFIG_QUOTACTL=y
718CONFIG_DNOTIFY=y
719CONFIG_AUTOFS_FS=m 840CONFIG_AUTOFS_FS=m
720CONFIG_AUTOFS4_FS=m 841CONFIG_AUTOFS4_FS=m
842CONFIG_FUSE_FS=m
721 843
722# 844#
723# CD-ROM/DVD Filesystems 845# CD-ROM/DVD Filesystems
@@ -725,7 +847,6 @@ CONFIG_AUTOFS4_FS=m
725CONFIG_ISO9660_FS=y 847CONFIG_ISO9660_FS=y
726CONFIG_JOLIET=y 848CONFIG_JOLIET=y
727CONFIG_ZISOFS=y 849CONFIG_ZISOFS=y
728CONFIG_ZISOFS_FS=y
729CONFIG_UDF_FS=m 850CONFIG_UDF_FS=m
730CONFIG_UDF_NLS=y 851CONFIG_UDF_NLS=y
731 852
@@ -744,13 +865,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
744# 865#
745CONFIG_PROC_FS=y 866CONFIG_PROC_FS=y
746CONFIG_PROC_KCORE=y 867CONFIG_PROC_KCORE=y
868CONFIG_PROC_SYSCTL=y
747CONFIG_SYSFS=y 869CONFIG_SYSFS=y
748# CONFIG_DEVFS_FS is not set
749# CONFIG_DEVPTS_FS_XATTR is not set
750CONFIG_TMPFS=y 870CONFIG_TMPFS=y
751# CONFIG_TMPFS_XATTR is not set 871# CONFIG_TMPFS_POSIX_ACL is not set
752# CONFIG_HUGETLB_PAGE is not set 872# CONFIG_HUGETLB_PAGE is not set
753CONFIG_RAMFS=y 873CONFIG_CONFIGFS_FS=m
754 874
755# 875#
756# Miscellaneous filesystems 876# Miscellaneous filesystems
@@ -764,43 +884,39 @@ CONFIG_HFSPLUS_FS=y
764# CONFIG_EFS_FS is not set 884# CONFIG_EFS_FS is not set
765CONFIG_CRAMFS=m 885CONFIG_CRAMFS=m
766# CONFIG_VXFS_FS is not set 886# CONFIG_VXFS_FS is not set
887CONFIG_MINIX_FS=y
767CONFIG_HPFS_FS=m 888CONFIG_HPFS_FS=m
768# CONFIG_QNX4FS_FS is not set 889# CONFIG_QNX4FS_FS is not set
890# CONFIG_ROMFS_FS is not set
769CONFIG_SYSV_FS=m 891CONFIG_SYSV_FS=m
770CONFIG_UFS_FS=m 892CONFIG_UFS_FS=m
771# CONFIG_UFS_FS_WRITE is not set 893# CONFIG_UFS_FS_WRITE is not set
772 894# CONFIG_UFS_DEBUG is not set
773# 895CONFIG_NETWORK_FILESYSTEMS=y
774# Network File Systems
775#
776CONFIG_NFS_FS=m 896CONFIG_NFS_FS=m
777CONFIG_NFS_V3=y 897CONFIG_NFS_V3=y
898# CONFIG_NFS_V3_ACL is not set
778CONFIG_NFS_V4=y 899CONFIG_NFS_V4=y
779# CONFIG_NFS_DIRECTIO is not set 900# CONFIG_NFS_DIRECTIO is not set
780CONFIG_NFSD=m 901CONFIG_NFSD=m
781CONFIG_NFSD_V3=y 902CONFIG_NFSD_V3=y
782CONFIG_NFSD_V4=y 903# CONFIG_NFSD_V3_ACL is not set
904# CONFIG_NFSD_V4 is not set
783CONFIG_NFSD_TCP=y 905CONFIG_NFSD_TCP=y
784CONFIG_LOCKD=m 906CONFIG_LOCKD=m
785CONFIG_LOCKD_V4=y 907CONFIG_LOCKD_V4=y
786CONFIG_EXPORTFS=m 908CONFIG_EXPORTFS=m
909CONFIG_NFS_COMMON=y
787CONFIG_SUNRPC=m 910CONFIG_SUNRPC=m
788CONFIG_SUNRPC_GSS=m 911CONFIG_SUNRPC_GSS=m
912CONFIG_SUNRPC_BIND34=y
789CONFIG_RPCSEC_GSS_KRB5=m 913CONFIG_RPCSEC_GSS_KRB5=m
790# CONFIG_RPCSEC_GSS_SPKM3 is not set 914# CONFIG_RPCSEC_GSS_SPKM3 is not set
791CONFIG_SMB_FS=m 915CONFIG_SMB_FS=m
792CONFIG_SMB_NLS_DEFAULT=y 916CONFIG_SMB_NLS_DEFAULT=y
793CONFIG_SMB_NLS_REMOTE="cp437" 917CONFIG_SMB_NLS_REMOTE="cp437"
794# CONFIG_CIFS is not set 918# CONFIG_CIFS is not set
795CONFIG_NCP_FS=m 919# CONFIG_NCP_FS is not set
796# CONFIG_NCPFS_PACKET_SIGNING is not set
797# CONFIG_NCPFS_IOCTL_LOCKING is not set
798# CONFIG_NCPFS_STRONG is not set
799CONFIG_NCPFS_NFS_NS=y
800CONFIG_NCPFS_OS2_NS=y
801# CONFIG_NCPFS_SMALLDOS is not set
802CONFIG_NCPFS_NLS=y
803# CONFIG_NCPFS_EXTRAS is not set
804CONFIG_CODA_FS=m 920CONFIG_CODA_FS=m
805# CONFIG_CODA_FS_OLD_API is not set 921# CONFIG_CODA_FS_OLD_API is not set
806# CONFIG_AFS_FS is not set 922# CONFIG_AFS_FS is not set
@@ -808,27 +924,9 @@ CONFIG_CODA_FS=m
808# 924#
809# Partition Types 925# Partition Types
810# 926#
811CONFIG_PARTITION_ADVANCED=y 927# CONFIG_PARTITION_ADVANCED is not set
812# CONFIG_ACORN_PARTITION is not set
813# CONFIG_OSF_PARTITION is not set
814CONFIG_AMIGA_PARTITION=y
815CONFIG_ATARI_PARTITION=y
816CONFIG_MAC_PARTITION=y 928CONFIG_MAC_PARTITION=y
817CONFIG_MSDOS_PARTITION=y 929CONFIG_MSDOS_PARTITION=y
818CONFIG_BSD_DISKLABEL=y
819CONFIG_MINIX_SUBPARTITION=y
820CONFIG_SOLARIS_X86_PARTITION=y
821CONFIG_UNIXWARE_DISKLABEL=y
822CONFIG_LDM_PARTITION=y
823CONFIG_LDM_DEBUG=y
824# CONFIG_SGI_PARTITION is not set
825# CONFIG_ULTRIX_PARTITION is not set
826CONFIG_SUN_PARTITION=y
827# CONFIG_EFI_PARTITION is not set
828
829#
830# Native Language Support
831#
832CONFIG_NLS=y 930CONFIG_NLS=y
833CONFIG_NLS_DEFAULT="iso8859-1" 931CONFIG_NLS_DEFAULT="iso8859-1"
834CONFIG_NLS_CODEPAGE_437=y 932CONFIG_NLS_CODEPAGE_437=y
@@ -869,46 +967,65 @@ CONFIG_NLS_ISO8859_15=m
869CONFIG_NLS_KOI8_R=m 967CONFIG_NLS_KOI8_R=m
870CONFIG_NLS_KOI8_U=m 968CONFIG_NLS_KOI8_U=m
871CONFIG_NLS_UTF8=y 969CONFIG_NLS_UTF8=y
970CONFIG_DLM=m
971# CONFIG_DLM_DEBUG is not set
872 972
873# 973#
874# Kernel hacking 974# Kernel hacking
875# 975#
876# CONFIG_PRINTK_TIME is not set 976# CONFIG_PRINTK_TIME is not set
877CONFIG_DEBUG_KERNEL=y 977CONFIG_ENABLE_WARN_DEPRECATED=y
978CONFIG_ENABLE_MUST_CHECK=y
878CONFIG_MAGIC_SYSRQ=y 979CONFIG_MAGIC_SYSRQ=y
879CONFIG_LOG_BUF_SHIFT=16 980# CONFIG_UNUSED_SYMBOLS is not set
880# CONFIG_SCHEDSTATS is not set
881# CONFIG_DEBUG_SLAB is not set
882# CONFIG_DEBUG_SPINLOCK is not set
883# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
884# CONFIG_DEBUG_KOBJECT is not set
885CONFIG_DEBUG_BUGVERBOSE=y
886# CONFIG_DEBUG_INFO is not set
887# CONFIG_DEBUG_FS is not set 981# CONFIG_DEBUG_FS is not set
888# CONFIG_FRAME_POINTER is not set 982# CONFIG_HEADERS_CHECK is not set
983# CONFIG_DEBUG_KERNEL is not set
984CONFIG_DEBUG_BUGVERBOSE=y
985# CONFIG_SAMPLES is not set
889 986
890# 987#
891# Security options 988# Security options
892# 989#
893# CONFIG_KEYS is not set 990# CONFIG_KEYS is not set
894# CONFIG_SECURITY is not set 991# CONFIG_SECURITY is not set
895 992# CONFIG_SECURITY_FILE_CAPABILITIES is not set
896# 993CONFIG_XOR_BLOCKS=m
897# Cryptographic options 994CONFIG_ASYNC_CORE=m
898# 995CONFIG_ASYNC_MEMCPY=m
996CONFIG_ASYNC_XOR=m
899CONFIG_CRYPTO=y 997CONFIG_CRYPTO=y
998CONFIG_CRYPTO_ALGAPI=y
999CONFIG_CRYPTO_AEAD=m
1000CONFIG_CRYPTO_BLKCIPHER=m
1001CONFIG_CRYPTO_SEQIV=m
1002CONFIG_CRYPTO_HASH=y
1003CONFIG_CRYPTO_MANAGER=y
900CONFIG_CRYPTO_HMAC=y 1004CONFIG_CRYPTO_HMAC=y
1005CONFIG_CRYPTO_XCBC=m
901CONFIG_CRYPTO_NULL=m 1006CONFIG_CRYPTO_NULL=m
902CONFIG_CRYPTO_MD4=m 1007CONFIG_CRYPTO_MD4=m
903CONFIG_CRYPTO_MD5=y 1008CONFIG_CRYPTO_MD5=m
904CONFIG_CRYPTO_SHA1=m 1009CONFIG_CRYPTO_SHA1=m
905CONFIG_CRYPTO_SHA256=m 1010CONFIG_CRYPTO_SHA256=m
906CONFIG_CRYPTO_SHA512=m 1011CONFIG_CRYPTO_SHA512=m
907CONFIG_CRYPTO_WP512=m 1012CONFIG_CRYPTO_WP512=m
908CONFIG_CRYPTO_TGR192=m 1013CONFIG_CRYPTO_TGR192=m
1014CONFIG_CRYPTO_GF128MUL=m
1015CONFIG_CRYPTO_ECB=m
1016CONFIG_CRYPTO_CBC=m
1017CONFIG_CRYPTO_PCBC=m
1018CONFIG_CRYPTO_LRW=m
1019CONFIG_CRYPTO_XTS=m
1020CONFIG_CRYPTO_CTR=m
1021CONFIG_CRYPTO_GCM=m
1022CONFIG_CRYPTO_CCM=m
1023CONFIG_CRYPTO_CRYPTD=m
909CONFIG_CRYPTO_DES=m 1024CONFIG_CRYPTO_DES=m
1025CONFIG_CRYPTO_FCRYPT=m
910CONFIG_CRYPTO_BLOWFISH=m 1026CONFIG_CRYPTO_BLOWFISH=m
911CONFIG_CRYPTO_TWOFISH=m 1027CONFIG_CRYPTO_TWOFISH=m
1028CONFIG_CRYPTO_TWOFISH_COMMON=m
912CONFIG_CRYPTO_SERPENT=m 1029CONFIG_CRYPTO_SERPENT=m
913CONFIG_CRYPTO_AES=m 1030CONFIG_CRYPTO_AES=m
914CONFIG_CRYPTO_CAST5=m 1031CONFIG_CRYPTO_CAST5=m
@@ -917,20 +1034,35 @@ CONFIG_CRYPTO_TEA=m
917CONFIG_CRYPTO_ARC4=m 1034CONFIG_CRYPTO_ARC4=m
918CONFIG_CRYPTO_KHAZAD=m 1035CONFIG_CRYPTO_KHAZAD=m
919CONFIG_CRYPTO_ANUBIS=m 1036CONFIG_CRYPTO_ANUBIS=m
1037CONFIG_CRYPTO_SEED=m
1038CONFIG_CRYPTO_SALSA20=m
920CONFIG_CRYPTO_DEFLATE=m 1039CONFIG_CRYPTO_DEFLATE=m
921CONFIG_CRYPTO_MICHAEL_MIC=m 1040CONFIG_CRYPTO_MICHAEL_MIC=m
922CONFIG_CRYPTO_CRC32C=m 1041CONFIG_CRYPTO_CRC32C=m
1042CONFIG_CRYPTO_CAMELLIA=m
923CONFIG_CRYPTO_TEST=m 1043CONFIG_CRYPTO_TEST=m
924 1044CONFIG_CRYPTO_AUTHENC=m
925# 1045CONFIG_CRYPTO_LZO=m
926# Hardware crypto devices 1046# CONFIG_CRYPTO_HW is not set
927#
928 1047
929# 1048#
930# Library routines 1049# Library routines
931# 1050#
1051CONFIG_BITREVERSE=y
932CONFIG_CRC_CCITT=m 1052CONFIG_CRC_CCITT=m
1053CONFIG_CRC16=m
1054# CONFIG_CRC_ITU_T is not set
933CONFIG_CRC32=y 1055CONFIG_CRC32=y
1056# CONFIG_CRC7 is not set
934CONFIG_LIBCRC32C=m 1057CONFIG_LIBCRC32C=m
935CONFIG_ZLIB_INFLATE=y 1058CONFIG_ZLIB_INFLATE=y
936CONFIG_ZLIB_DEFLATE=m 1059CONFIG_ZLIB_DEFLATE=m
1060CONFIG_LZO_COMPRESS=m
1061CONFIG_LZO_DECOMPRESS=m
1062CONFIG_TEXTSEARCH=y
1063CONFIG_TEXTSEARCH_KMP=m
1064CONFIG_TEXTSEARCH_BM=m
1065CONFIG_TEXTSEARCH_FSM=m
1066CONFIG_PLIST=y
1067CONFIG_HAS_IOMEM=y
1068CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig
index f0d5534f683..f40b1724254 100644
--- a/arch/m68k/configs/mvme147_defconfig
+++ b/arch/m68k/configs/mvme147_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:50 2005 4# Wed Apr 2 20:46:17 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-mvme147" 27CONFIG_LOCALVERSION="-mvme147"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -85,6 +133,22 @@ CONFIG_M68030=y
85CONFIG_MMU_MOTOROLA=y 133CONFIG_MMU_MOTOROLA=y
86# CONFIG_M68KFPU_EMU is not set 134# CONFIG_M68KFPU_EMU is not set
87# CONFIG_ADVANCED is not set 135# CONFIG_ADVANCED is not set
136CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
137CONFIG_NODES_SHIFT=3
138CONFIG_SELECT_MEMORY_MODEL=y
139# CONFIG_FLATMEM_MANUAL is not set
140CONFIG_DISCONTIGMEM_MANUAL=y
141# CONFIG_SPARSEMEM_MANUAL is not set
142CONFIG_DISCONTIGMEM=y
143CONFIG_FLAT_NODE_MEM_MAP=y
144CONFIG_NEED_MULTIPLE_NODES=y
145# CONFIG_SPARSEMEM_STATIC is not set
146# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
147CONFIG_SPLIT_PTLOCK_CPUS=4
148# CONFIG_RESOURCES_64BIT is not set
149CONFIG_ZONE_DMA_FLAG=1
150CONFIG_BOUNCE=y
151CONFIG_VIRT_TO_BUS=y
88 152
89# 153#
90# General setup 154# General setup
@@ -93,135 +157,11 @@ CONFIG_BINFMT_ELF=y
93CONFIG_BINFMT_AOUT=m 157CONFIG_BINFMT_AOUT=m
94CONFIG_BINFMT_MISC=m 158CONFIG_BINFMT_MISC=m
95CONFIG_PROC_HARDWARE=y 159CONFIG_PROC_HARDWARE=y
160CONFIG_ZONE_DMA=y
161# CONFIG_ARCH_SUPPORTS_MSI is not set
96 162
97# 163#
98# Device Drivers 164# Networking
99#
100
101#
102# Generic Driver Options
103#
104CONFIG_STANDALONE=y
105CONFIG_PREVENT_FIRMWARE_BUILD=y
106CONFIG_FW_LOADER=m
107# CONFIG_DEBUG_DRIVER is not set
108
109#
110# Memory Technology Devices (MTD)
111#
112# CONFIG_MTD is not set
113
114#
115# Parallel port support
116#
117# CONFIG_PARPORT is not set
118
119#
120# Plug and Play support
121#
122
123#
124# Block devices
125#
126# CONFIG_BLK_DEV_COW_COMMON is not set
127CONFIG_BLK_DEV_LOOP=y
128CONFIG_BLK_DEV_CRYPTOLOOP=m
129CONFIG_BLK_DEV_NBD=m
130CONFIG_BLK_DEV_RAM=y
131CONFIG_BLK_DEV_RAM_COUNT=16
132CONFIG_BLK_DEV_RAM_SIZE=4096
133CONFIG_BLK_DEV_INITRD=y
134CONFIG_INITRAMFS_SOURCE=""
135CONFIG_CDROM_PKTCDVD=m
136CONFIG_CDROM_PKTCDVD_BUFFERS=8
137# CONFIG_CDROM_PKTCDVD_WCACHE is not set
138
139#
140# IO Schedulers
141#
142CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y
146CONFIG_ATA_OVER_ETH=m
147
148#
149# ATA/ATAPI/MFM/RLL support
150#
151# CONFIG_IDE is not set
152
153#
154# SCSI device support
155#
156CONFIG_SCSI=y
157CONFIG_SCSI_PROC_FS=y
158
159#
160# SCSI support type (disk, tape, CD-ROM)
161#
162CONFIG_BLK_DEV_SD=y
163CONFIG_CHR_DEV_ST=m
164# CONFIG_CHR_DEV_OSST is not set
165CONFIG_BLK_DEV_SR=y
166CONFIG_BLK_DEV_SR_VENDOR=y
167CONFIG_CHR_DEV_SG=m
168
169#
170# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
171#
172# CONFIG_SCSI_MULTI_LUN is not set
173CONFIG_SCSI_CONSTANTS=y
174# CONFIG_SCSI_LOGGING is not set
175
176#
177# SCSI Transport Attributes
178#
179# CONFIG_SCSI_SPI_ATTRS is not set
180# CONFIG_SCSI_FC_ATTRS is not set
181# CONFIG_SCSI_ISCSI_ATTRS is not set
182
183#
184# SCSI low-level drivers
185#
186# CONFIG_SCSI_SATA is not set
187# CONFIG_SCSI_DEBUG is not set
188CONFIG_MVME147_SCSI=y
189
190#
191# Multi-device support (RAID and LVM)
192#
193CONFIG_MD=y
194CONFIG_BLK_DEV_MD=m
195CONFIG_MD_LINEAR=m
196CONFIG_MD_RAID0=m
197CONFIG_MD_RAID1=m
198# CONFIG_MD_RAID10 is not set
199CONFIG_MD_RAID5=m
200CONFIG_MD_RAID6=m
201CONFIG_MD_MULTIPATH=m
202# CONFIG_MD_FAULTY is not set
203CONFIG_BLK_DEV_DM=m
204CONFIG_DM_CRYPT=m
205CONFIG_DM_SNAPSHOT=m
206CONFIG_DM_MIRROR=m
207CONFIG_DM_ZERO=m
208CONFIG_DM_MULTIPATH=m
209CONFIG_DM_MULTIPATH_EMC=m
210
211#
212# Fusion MPT device support
213#
214
215#
216# IEEE 1394 (FireWire) support
217#
218
219#
220# I2O device support
221#
222
223#
224# Networking support
225# 165#
226CONFIG_NET=y 166CONFIG_NET=y
227 167
@@ -231,10 +171,17 @@ CONFIG_NET=y
231CONFIG_PACKET=y 171CONFIG_PACKET=y
232# CONFIG_PACKET_MMAP is not set 172# CONFIG_PACKET_MMAP is not set
233CONFIG_UNIX=y 173CONFIG_UNIX=y
174CONFIG_XFRM=y
175# CONFIG_XFRM_USER is not set
176# CONFIG_XFRM_SUB_POLICY is not set
177CONFIG_XFRM_MIGRATE=y
178# CONFIG_XFRM_STATISTICS is not set
234CONFIG_NET_KEY=y 179CONFIG_NET_KEY=y
180CONFIG_NET_KEY_MIGRATE=y
235CONFIG_INET=y 181CONFIG_INET=y
236# CONFIG_IP_MULTICAST is not set 182# CONFIG_IP_MULTICAST is not set
237# CONFIG_IP_ADVANCED_ROUTER is not set 183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
238CONFIG_IP_PNP=y 185CONFIG_IP_PNP=y
239CONFIG_IP_PNP_DHCP=y 186CONFIG_IP_PNP_DHCP=y
240CONFIG_IP_PNP_BOOTP=y 187CONFIG_IP_PNP_BOOTP=y
@@ -246,145 +193,199 @@ CONFIG_SYN_COOKIES=y
246CONFIG_INET_AH=m 193CONFIG_INET_AH=m
247CONFIG_INET_ESP=m 194CONFIG_INET_ESP=m
248CONFIG_INET_IPCOMP=m 195CONFIG_INET_IPCOMP=m
196CONFIG_INET_XFRM_TUNNEL=m
249CONFIG_INET_TUNNEL=m 197CONFIG_INET_TUNNEL=m
250CONFIG_IP_TCPDIAG=m 198CONFIG_INET_XFRM_MODE_TRANSPORT=m
251CONFIG_IP_TCPDIAG_IPV6=y 199CONFIG_INET_XFRM_MODE_TUNNEL=m
252 200CONFIG_INET_XFRM_MODE_BEET=m
253# 201CONFIG_INET_LRO=m
254# IP: Virtual Server Configuration 202CONFIG_INET_DIAG=m
255# 203CONFIG_INET_TCP_DIAG=m
204# CONFIG_TCP_CONG_ADVANCED is not set
205CONFIG_TCP_CONG_CUBIC=y
206CONFIG_DEFAULT_TCP_CONG="cubic"
207# CONFIG_TCP_MD5SIG is not set
256# CONFIG_IP_VS is not set 208# CONFIG_IP_VS is not set
257CONFIG_IPV6=m 209CONFIG_IPV6=m
258CONFIG_IPV6_PRIVACY=y 210CONFIG_IPV6_PRIVACY=y
211CONFIG_IPV6_ROUTER_PREF=y
212CONFIG_IPV6_ROUTE_INFO=y
213# CONFIG_IPV6_OPTIMISTIC_DAD is not set
259CONFIG_INET6_AH=m 214CONFIG_INET6_AH=m
260CONFIG_INET6_ESP=m 215CONFIG_INET6_ESP=m
261CONFIG_INET6_IPCOMP=m 216CONFIG_INET6_IPCOMP=m
217# CONFIG_IPV6_MIP6 is not set
218CONFIG_INET6_XFRM_TUNNEL=m
262CONFIG_INET6_TUNNEL=m 219CONFIG_INET6_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_TRANSPORT=m
221CONFIG_INET6_XFRM_MODE_TUNNEL=m
222CONFIG_INET6_XFRM_MODE_BEET=m
223CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
224CONFIG_IPV6_SIT=m
263CONFIG_IPV6_TUNNEL=m 225CONFIG_IPV6_TUNNEL=m
226# CONFIG_IPV6_MULTIPLE_TABLES is not set
227# CONFIG_NETWORK_SECMARK is not set
264CONFIG_NETFILTER=y 228CONFIG_NETFILTER=y
265# CONFIG_NETFILTER_DEBUG is not set 229# CONFIG_NETFILTER_DEBUG is not set
230CONFIG_NETFILTER_ADVANCED=y
231
232#
233# Core Netfilter Configuration
234#
235CONFIG_NETFILTER_NETLINK=m
236CONFIG_NETFILTER_NETLINK_QUEUE=m
237CONFIG_NETFILTER_NETLINK_LOG=m
238CONFIG_NF_CONNTRACK=m
239CONFIG_NF_CT_ACCT=y
240CONFIG_NF_CONNTRACK_MARK=y
241# CONFIG_NF_CONNTRACK_EVENTS is not set
242CONFIG_NF_CT_PROTO_GRE=m
243CONFIG_NF_CT_PROTO_SCTP=m
244CONFIG_NF_CT_PROTO_UDPLITE=m
245CONFIG_NF_CONNTRACK_AMANDA=m
246CONFIG_NF_CONNTRACK_FTP=m
247CONFIG_NF_CONNTRACK_H323=m
248CONFIG_NF_CONNTRACK_IRC=m
249CONFIG_NF_CONNTRACK_NETBIOS_NS=m
250CONFIG_NF_CONNTRACK_PPTP=m
251CONFIG_NF_CONNTRACK_SANE=m
252CONFIG_NF_CONNTRACK_SIP=m
253CONFIG_NF_CONNTRACK_TFTP=m
254# CONFIG_NF_CT_NETLINK is not set
255CONFIG_NETFILTER_XTABLES=m
256CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
257CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
258CONFIG_NETFILTER_XT_TARGET_DSCP=m
259CONFIG_NETFILTER_XT_TARGET_MARK=m
260CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
261CONFIG_NETFILTER_XT_TARGET_NFLOG=m
262CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
263CONFIG_NETFILTER_XT_TARGET_RATEEST=m
264CONFIG_NETFILTER_XT_TARGET_TRACE=m
265CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
266CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
267CONFIG_NETFILTER_XT_MATCH_COMMENT=m
268CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
269CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
270CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
271CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
272CONFIG_NETFILTER_XT_MATCH_DCCP=m
273CONFIG_NETFILTER_XT_MATCH_DSCP=m
274CONFIG_NETFILTER_XT_MATCH_ESP=m
275CONFIG_NETFILTER_XT_MATCH_HELPER=m
276CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
277CONFIG_NETFILTER_XT_MATCH_LENGTH=m
278CONFIG_NETFILTER_XT_MATCH_LIMIT=m
279CONFIG_NETFILTER_XT_MATCH_MAC=m
280CONFIG_NETFILTER_XT_MATCH_MARK=m
281CONFIG_NETFILTER_XT_MATCH_OWNER=m
282CONFIG_NETFILTER_XT_MATCH_POLICY=m
283CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
284CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
285CONFIG_NETFILTER_XT_MATCH_QUOTA=m
286CONFIG_NETFILTER_XT_MATCH_RATEEST=m
287CONFIG_NETFILTER_XT_MATCH_REALM=m
288CONFIG_NETFILTER_XT_MATCH_SCTP=m
289CONFIG_NETFILTER_XT_MATCH_STATE=m
290CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
291CONFIG_NETFILTER_XT_MATCH_STRING=m
292CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
293CONFIG_NETFILTER_XT_MATCH_TIME=m
294CONFIG_NETFILTER_XT_MATCH_U32=m
295CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
266 296
267# 297#
268# IP: Netfilter Configuration 298# IP: Netfilter Configuration
269# 299#
270CONFIG_IP_NF_CONNTRACK=m 300CONFIG_NF_CONNTRACK_IPV4=m
271# CONFIG_IP_NF_CT_ACCT is not set 301CONFIG_NF_CONNTRACK_PROC_COMPAT=y
272CONFIG_IP_NF_CONNTRACK_MARK=y
273# CONFIG_IP_NF_CT_PROTO_SCTP is not set
274CONFIG_IP_NF_FTP=m
275CONFIG_IP_NF_IRC=m
276CONFIG_IP_NF_TFTP=m
277CONFIG_IP_NF_AMANDA=m
278CONFIG_IP_NF_QUEUE=m 302CONFIG_IP_NF_QUEUE=m
279CONFIG_IP_NF_IPTABLES=m 303CONFIG_IP_NF_IPTABLES=m
280CONFIG_IP_NF_MATCH_LIMIT=m
281CONFIG_IP_NF_MATCH_IPRANGE=m
282CONFIG_IP_NF_MATCH_MAC=m
283CONFIG_IP_NF_MATCH_PKTTYPE=m
284CONFIG_IP_NF_MATCH_MARK=m
285CONFIG_IP_NF_MATCH_MULTIPORT=m
286CONFIG_IP_NF_MATCH_TOS=m
287CONFIG_IP_NF_MATCH_RECENT=m 304CONFIG_IP_NF_MATCH_RECENT=m
288CONFIG_IP_NF_MATCH_ECN=m 305CONFIG_IP_NF_MATCH_ECN=m
289CONFIG_IP_NF_MATCH_DSCP=m 306CONFIG_IP_NF_MATCH_AH=m
290CONFIG_IP_NF_MATCH_AH_ESP=m
291CONFIG_IP_NF_MATCH_LENGTH=m
292CONFIG_IP_NF_MATCH_TTL=m 307CONFIG_IP_NF_MATCH_TTL=m
293CONFIG_IP_NF_MATCH_TCPMSS=m
294CONFIG_IP_NF_MATCH_HELPER=m
295CONFIG_IP_NF_MATCH_STATE=m
296CONFIG_IP_NF_MATCH_CONNTRACK=m
297CONFIG_IP_NF_MATCH_OWNER=m
298CONFIG_IP_NF_MATCH_ADDRTYPE=m 308CONFIG_IP_NF_MATCH_ADDRTYPE=m
299CONFIG_IP_NF_MATCH_REALM=m
300# CONFIG_IP_NF_MATCH_SCTP is not set
301# CONFIG_IP_NF_MATCH_COMMENT is not set
302CONFIG_IP_NF_MATCH_CONNMARK=m
303CONFIG_IP_NF_MATCH_HASHLIMIT=m
304CONFIG_IP_NF_FILTER=m 309CONFIG_IP_NF_FILTER=m
305CONFIG_IP_NF_TARGET_REJECT=m 310CONFIG_IP_NF_TARGET_REJECT=m
306CONFIG_IP_NF_TARGET_LOG=m 311CONFIG_IP_NF_TARGET_LOG=m
307CONFIG_IP_NF_TARGET_ULOG=m 312CONFIG_IP_NF_TARGET_ULOG=m
308CONFIG_IP_NF_TARGET_TCPMSS=m 313CONFIG_NF_NAT=m
309CONFIG_IP_NF_NAT=m 314CONFIG_NF_NAT_NEEDED=y
310CONFIG_IP_NF_NAT_NEEDED=y
311CONFIG_IP_NF_TARGET_MASQUERADE=m 315CONFIG_IP_NF_TARGET_MASQUERADE=m
312CONFIG_IP_NF_TARGET_REDIRECT=m 316CONFIG_IP_NF_TARGET_REDIRECT=m
313CONFIG_IP_NF_TARGET_NETMAP=m 317CONFIG_IP_NF_TARGET_NETMAP=m
314CONFIG_IP_NF_TARGET_SAME=m 318CONFIG_NF_NAT_SNMP_BASIC=m
315CONFIG_IP_NF_NAT_SNMP_BASIC=m 319CONFIG_NF_NAT_PROTO_GRE=m
316CONFIG_IP_NF_NAT_IRC=m 320CONFIG_NF_NAT_FTP=m
317CONFIG_IP_NF_NAT_FTP=m 321CONFIG_NF_NAT_IRC=m
318CONFIG_IP_NF_NAT_TFTP=m 322CONFIG_NF_NAT_TFTP=m
319CONFIG_IP_NF_NAT_AMANDA=m 323CONFIG_NF_NAT_AMANDA=m
324CONFIG_NF_NAT_PPTP=m
325CONFIG_NF_NAT_H323=m
326CONFIG_NF_NAT_SIP=m
320CONFIG_IP_NF_MANGLE=m 327CONFIG_IP_NF_MANGLE=m
321CONFIG_IP_NF_TARGET_TOS=m
322CONFIG_IP_NF_TARGET_ECN=m 328CONFIG_IP_NF_TARGET_ECN=m
323CONFIG_IP_NF_TARGET_DSCP=m 329CONFIG_IP_NF_TARGET_TTL=m
324CONFIG_IP_NF_TARGET_MARK=m 330CONFIG_IP_NF_TARGET_CLUSTERIP=m
325CONFIG_IP_NF_TARGET_CLASSIFY=m
326CONFIG_IP_NF_TARGET_CONNMARK=m
327# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
328CONFIG_IP_NF_RAW=m 331CONFIG_IP_NF_RAW=m
329CONFIG_IP_NF_TARGET_NOTRACK=m
330CONFIG_IP_NF_ARPTABLES=m 332CONFIG_IP_NF_ARPTABLES=m
331CONFIG_IP_NF_ARPFILTER=m 333CONFIG_IP_NF_ARPFILTER=m
332CONFIG_IP_NF_ARP_MANGLE=m 334CONFIG_IP_NF_ARP_MANGLE=m
333 335
334# 336#
335# IPv6: Netfilter Configuration (EXPERIMENTAL) 337# IPv6: Netfilter Configuration
336# 338#
339CONFIG_NF_CONNTRACK_IPV6=m
337CONFIG_IP6_NF_QUEUE=m 340CONFIG_IP6_NF_QUEUE=m
338CONFIG_IP6_NF_IPTABLES=m 341CONFIG_IP6_NF_IPTABLES=m
339CONFIG_IP6_NF_MATCH_LIMIT=m
340CONFIG_IP6_NF_MATCH_MAC=m
341CONFIG_IP6_NF_MATCH_RT=m 342CONFIG_IP6_NF_MATCH_RT=m
342CONFIG_IP6_NF_MATCH_OPTS=m 343CONFIG_IP6_NF_MATCH_OPTS=m
343CONFIG_IP6_NF_MATCH_FRAG=m 344CONFIG_IP6_NF_MATCH_FRAG=m
344CONFIG_IP6_NF_MATCH_HL=m 345CONFIG_IP6_NF_MATCH_HL=m
345CONFIG_IP6_NF_MATCH_MULTIPORT=m
346CONFIG_IP6_NF_MATCH_OWNER=m
347CONFIG_IP6_NF_MATCH_MARK=m
348CONFIG_IP6_NF_MATCH_IPV6HEADER=m 346CONFIG_IP6_NF_MATCH_IPV6HEADER=m
349CONFIG_IP6_NF_MATCH_AHESP=m 347CONFIG_IP6_NF_MATCH_AH=m
350CONFIG_IP6_NF_MATCH_LENGTH=m 348CONFIG_IP6_NF_MATCH_MH=m
351CONFIG_IP6_NF_MATCH_EUI64=m 349CONFIG_IP6_NF_MATCH_EUI64=m
352CONFIG_IP6_NF_FILTER=m 350CONFIG_IP6_NF_FILTER=m
353CONFIG_IP6_NF_TARGET_LOG=m 351CONFIG_IP6_NF_TARGET_LOG=m
352CONFIG_IP6_NF_TARGET_REJECT=m
354CONFIG_IP6_NF_MANGLE=m 353CONFIG_IP6_NF_MANGLE=m
355CONFIG_IP6_NF_TARGET_MARK=m 354CONFIG_IP6_NF_TARGET_HL=m
356CONFIG_IP6_NF_RAW=m 355CONFIG_IP6_NF_RAW=m
357CONFIG_XFRM=y 356CONFIG_IP_DCCP=m
358CONFIG_XFRM_USER=m 357CONFIG_INET_DCCP_DIAG=m
358CONFIG_IP_DCCP_ACKVEC=y
359 359
360# 360#
361# SCTP Configuration (EXPERIMENTAL) 361# DCCP CCIDs Configuration (EXPERIMENTAL)
362# 362#
363CONFIG_IP_DCCP_CCID2=m
364# CONFIG_IP_DCCP_CCID2_DEBUG is not set
365CONFIG_IP_DCCP_CCID3=m
366# CONFIG_IP_DCCP_CCID3_DEBUG is not set
367CONFIG_IP_DCCP_CCID3_RTO=100
368CONFIG_IP_DCCP_TFRC_LIB=m
363CONFIG_IP_SCTP=m 369CONFIG_IP_SCTP=m
364# CONFIG_SCTP_DBG_MSG is not set 370# CONFIG_SCTP_DBG_MSG is not set
365# CONFIG_SCTP_DBG_OBJCNT is not set 371# CONFIG_SCTP_DBG_OBJCNT is not set
366# CONFIG_SCTP_HMAC_NONE is not set 372# CONFIG_SCTP_HMAC_NONE is not set
367# CONFIG_SCTP_HMAC_SHA1 is not set 373# CONFIG_SCTP_HMAC_SHA1 is not set
368CONFIG_SCTP_HMAC_MD5=y 374CONFIG_SCTP_HMAC_MD5=y
375# CONFIG_TIPC is not set
369# CONFIG_ATM is not set 376# CONFIG_ATM is not set
370# CONFIG_BRIDGE is not set 377# CONFIG_BRIDGE is not set
371# CONFIG_VLAN_8021Q is not set 378# CONFIG_VLAN_8021Q is not set
372# CONFIG_DECNET is not set 379# CONFIG_DECNET is not set
373CONFIG_LLC=m 380CONFIG_LLC=m
374# CONFIG_LLC2 is not set 381# CONFIG_LLC2 is not set
375CONFIG_IPX=m 382# CONFIG_IPX is not set
376# CONFIG_IPX_INTERN is not set
377CONFIG_ATALK=m 383CONFIG_ATALK=m
378# CONFIG_DEV_APPLETALK is not set 384# CONFIG_DEV_APPLETALK is not set
379# CONFIG_X25 is not set 385# CONFIG_X25 is not set
380# CONFIG_LAPB is not set 386# CONFIG_LAPB is not set
381# CONFIG_NET_DIVERT is not set
382# CONFIG_ECONET is not set 387# CONFIG_ECONET is not set
383# CONFIG_WAN_ROUTER is not set 388# CONFIG_WAN_ROUTER is not set
384
385#
386# QoS and/or fair queueing
387#
388# CONFIG_NET_SCHED is not set 389# CONFIG_NET_SCHED is not set
389CONFIG_NET_CLS_ROUTE=y 390CONFIG_NET_CLS_ROUTE=y
390 391
@@ -392,46 +393,155 @@ CONFIG_NET_CLS_ROUTE=y
392# Network testing 393# Network testing
393# 394#
394# CONFIG_NET_PKTGEN is not set 395# CONFIG_NET_PKTGEN is not set
395CONFIG_NETPOLL=y
396# CONFIG_NETPOLL_RX is not set
397# CONFIG_NETPOLL_TRAP is not set
398CONFIG_NET_POLL_CONTROLLER=y
399# CONFIG_HAMRADIO is not set 396# CONFIG_HAMRADIO is not set
397# CONFIG_CAN is not set
400# CONFIG_IRDA is not set 398# CONFIG_IRDA is not set
401# CONFIG_BT is not set 399# CONFIG_BT is not set
402CONFIG_NETDEVICES=y 400# CONFIG_AF_RXRPC is not set
403CONFIG_DUMMY=m
404# CONFIG_BONDING is not set
405CONFIG_EQUALIZER=m
406# CONFIG_TUN is not set
407 401
408# 402#
409# Ethernet (10 or 100Mbit) 403# Wireless
410# 404#
411CONFIG_NET_ETHERNET=y 405# CONFIG_CFG80211 is not set
412CONFIG_MII=m 406CONFIG_WIRELESS_EXT=y
413CONFIG_MVME147_NET=y 407# CONFIG_MAC80211 is not set
408CONFIG_IEEE80211=m
409# CONFIG_IEEE80211_DEBUG is not set
410CONFIG_IEEE80211_CRYPT_WEP=m
411CONFIG_IEEE80211_CRYPT_CCMP=m
412CONFIG_IEEE80211_CRYPT_TKIP=m
413CONFIG_IEEE80211_SOFTMAC=m
414# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
415# CONFIG_RFKILL is not set
416# CONFIG_NET_9P is not set
414 417
415# 418#
416# Ethernet (1000 Mbit) 419# Device Drivers
420#
421
422#
423# Generic Driver Options
424#
425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430CONFIG_CONNECTOR=m
431# CONFIG_MTD is not set
432# CONFIG_PARPORT is not set
433CONFIG_BLK_DEV=y
434# CONFIG_BLK_DEV_COW_COMMON is not set
435CONFIG_BLK_DEV_LOOP=y
436CONFIG_BLK_DEV_CRYPTOLOOP=m
437CONFIG_BLK_DEV_NBD=m
438CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=16
440CONFIG_BLK_DEV_RAM_SIZE=4096
441# CONFIG_BLK_DEV_XIP is not set
442CONFIG_CDROM_PKTCDVD=m
443CONFIG_CDROM_PKTCDVD_BUFFERS=8
444# CONFIG_CDROM_PKTCDVD_WCACHE is not set
445CONFIG_ATA_OVER_ETH=m
446CONFIG_MISC_DEVICES=y
447# CONFIG_EEPROM_93CX6 is not set
448# CONFIG_ENCLOSURE_SERVICES is not set
449CONFIG_HAVE_IDE=y
450# CONFIG_IDE is not set
451
452#
453# SCSI device support
417# 454#
455CONFIG_RAID_ATTRS=m
456CONFIG_SCSI=y
457CONFIG_SCSI_DMA=y
458CONFIG_SCSI_TGT=m
459# CONFIG_SCSI_NETLINK is not set
460CONFIG_SCSI_PROC_FS=y
418 461
419# 462#
420# Ethernet (10000 Mbit) 463# SCSI support type (disk, tape, CD-ROM)
421# 464#
465CONFIG_BLK_DEV_SD=y
466CONFIG_CHR_DEV_ST=m
467CONFIG_CHR_DEV_OSST=m
468CONFIG_BLK_DEV_SR=y
469CONFIG_BLK_DEV_SR_VENDOR=y
470CONFIG_CHR_DEV_SG=m
471# CONFIG_CHR_DEV_SCH is not set
422 472
423# 473#
424# Token Ring devices 474# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
425# 475#
476# CONFIG_SCSI_MULTI_LUN is not set
477CONFIG_SCSI_CONSTANTS=y
478# CONFIG_SCSI_LOGGING is not set
479# CONFIG_SCSI_SCAN_ASYNC is not set
480CONFIG_SCSI_WAIT_SCAN=m
426 481
427# 482#
428# Wireless LAN (non-hamradio) 483# SCSI Transports
429# 484#
430# CONFIG_NET_RADIO is not set 485CONFIG_SCSI_SPI_ATTRS=y
486# CONFIG_SCSI_FC_ATTRS is not set
487CONFIG_SCSI_ISCSI_ATTRS=m
488CONFIG_SCSI_SAS_ATTRS=m
489CONFIG_SCSI_SAS_LIBSAS=m
490CONFIG_SCSI_SAS_HOST_SMP=y
491# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
492CONFIG_SCSI_SRP_ATTRS=m
493CONFIG_SCSI_SRP_TGT_ATTRS=y
494CONFIG_SCSI_LOWLEVEL=y
495CONFIG_ISCSI_TCP=m
496# CONFIG_SCSI_DEBUG is not set
497CONFIG_MVME147_SCSI=y
498CONFIG_MD=y
499CONFIG_BLK_DEV_MD=m
500CONFIG_MD_LINEAR=m
501CONFIG_MD_RAID0=m
502CONFIG_MD_RAID1=m
503# CONFIG_MD_RAID10 is not set
504CONFIG_MD_RAID456=m
505CONFIG_MD_RAID5_RESHAPE=y
506CONFIG_MD_MULTIPATH=m
507# CONFIG_MD_FAULTY is not set
508CONFIG_BLK_DEV_DM=m
509# CONFIG_DM_DEBUG is not set
510CONFIG_DM_CRYPT=m
511CONFIG_DM_SNAPSHOT=m
512CONFIG_DM_MIRROR=m
513CONFIG_DM_ZERO=m
514CONFIG_DM_MULTIPATH=m
515CONFIG_DM_MULTIPATH_EMC=m
516CONFIG_DM_MULTIPATH_RDAC=m
517CONFIG_DM_MULTIPATH_HP=m
518# CONFIG_DM_DELAY is not set
519CONFIG_DM_UEVENT=y
520CONFIG_NETDEVICES=y
521# CONFIG_NETDEVICES_MULTIQUEUE is not set
522CONFIG_DUMMY=m
523# CONFIG_BONDING is not set
524CONFIG_MACVLAN=m
525CONFIG_EQUALIZER=m
526# CONFIG_TUN is not set
527CONFIG_VETH=m
528# CONFIG_PHYLIB is not set
529CONFIG_NET_ETHERNET=y
530# CONFIG_MII is not set
531CONFIG_MVME147_NET=y
532# CONFIG_IBM_NEW_EMAC_ZMII is not set
533# CONFIG_IBM_NEW_EMAC_RGMII is not set
534# CONFIG_IBM_NEW_EMAC_TAH is not set
535# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
536# CONFIG_B44 is not set
537# CONFIG_NETDEV_1000 is not set
538# CONFIG_NETDEV_10000 is not set
431 539
432# 540#
433# Wan interfaces 541# Wireless LAN
434# 542#
543# CONFIG_WLAN_PRE80211 is not set
544# CONFIG_WLAN_80211 is not set
435# CONFIG_WAN is not set 545# CONFIG_WAN is not set
436CONFIG_PPP=m 546CONFIG_PPP=m
437# CONFIG_PPP_MULTILINK is not set 547# CONFIG_PPP_MULTILINK is not set
@@ -440,28 +550,28 @@ CONFIG_PPP_ASYNC=m
440CONFIG_PPP_SYNC_TTY=m 550CONFIG_PPP_SYNC_TTY=m
441CONFIG_PPP_DEFLATE=m 551CONFIG_PPP_DEFLATE=m
442CONFIG_PPP_BSDCOMP=m 552CONFIG_PPP_BSDCOMP=m
553CONFIG_PPP_MPPE=m
443CONFIG_PPPOE=m 554CONFIG_PPPOE=m
555CONFIG_PPPOL2TP=m
444CONFIG_SLIP=m 556CONFIG_SLIP=m
445CONFIG_SLIP_COMPRESSED=y 557CONFIG_SLIP_COMPRESSED=y
558CONFIG_SLHC=m
446CONFIG_SLIP_SMART=y 559CONFIG_SLIP_SMART=y
447CONFIG_SLIP_MODE_SLIP6=y 560CONFIG_SLIP_MODE_SLIP6=y
448CONFIG_SHAPER=m
449CONFIG_NETCONSOLE=m 561CONFIG_NETCONSOLE=m
450 562CONFIG_NETCONSOLE_DYNAMIC=y
451# 563CONFIG_NETPOLL=y
452# ISDN subsystem 564# CONFIG_NETPOLL_TRAP is not set
453# 565CONFIG_NET_POLL_CONTROLLER=y
454# CONFIG_ISDN is not set 566# CONFIG_ISDN is not set
455
456#
457# Telephony Support
458#
459# CONFIG_PHONE is not set 567# CONFIG_PHONE is not set
460 568
461# 569#
462# Input device support 570# Input device support
463# 571#
464CONFIG_INPUT=y 572CONFIG_INPUT=y
573CONFIG_INPUT_FF_MEMLESS=m
574# CONFIG_INPUT_POLLDEV is not set
465 575
466# 576#
467# Userland interfaces 577# Userland interfaces
@@ -471,7 +581,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
471CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 581CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
472CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 582CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
473# CONFIG_INPUT_JOYDEV is not set 583# CONFIG_INPUT_JOYDEV is not set
474# CONFIG_INPUT_TSDEV is not set
475# CONFIG_INPUT_EVDEV is not set 584# CONFIG_INPUT_EVDEV is not set
476# CONFIG_INPUT_EVBUG is not set 585# CONFIG_INPUT_EVBUG is not set
477 586
@@ -484,11 +593,19 @@ CONFIG_INPUT_KEYBOARD=y
484# CONFIG_KEYBOARD_LKKBD is not set 593# CONFIG_KEYBOARD_LKKBD is not set
485# CONFIG_KEYBOARD_XTKBD is not set 594# CONFIG_KEYBOARD_XTKBD is not set
486# CONFIG_KEYBOARD_NEWTON is not set 595# CONFIG_KEYBOARD_NEWTON is not set
596# CONFIG_KEYBOARD_STOWAWAY is not set
487CONFIG_INPUT_MOUSE=y 597CONFIG_INPUT_MOUSE=y
488CONFIG_MOUSE_PS2=m 598CONFIG_MOUSE_PS2=m
599CONFIG_MOUSE_PS2_ALPS=y
600CONFIG_MOUSE_PS2_LOGIPS2PP=y
601CONFIG_MOUSE_PS2_SYNAPTICS=y
602CONFIG_MOUSE_PS2_LIFEBOOK=y
603CONFIG_MOUSE_PS2_TRACKPOINT=y
604# CONFIG_MOUSE_PS2_TOUCHKIT is not set
489CONFIG_MOUSE_SERIAL=m 605CONFIG_MOUSE_SERIAL=m
490# CONFIG_MOUSE_VSXXXAA is not set 606# CONFIG_MOUSE_VSXXXAA is not set
491# CONFIG_INPUT_JOYSTICK is not set 607# CONFIG_INPUT_JOYSTICK is not set
608# CONFIG_INPUT_TABLET is not set
492# CONFIG_INPUT_TOUCHSCREEN is not set 609# CONFIG_INPUT_TOUCHSCREEN is not set
493# CONFIG_INPUT_MISC is not set 610# CONFIG_INPUT_MISC is not set
494 611
@@ -496,7 +613,7 @@ CONFIG_MOUSE_SERIAL=m
496# Hardware I/O ports 613# Hardware I/O ports
497# 614#
498CONFIG_SERIO=m 615CONFIG_SERIO=m
499CONFIG_SERIO_SERPORT=m 616# CONFIG_SERIO_SERPORT is not set
500CONFIG_SERIO_LIBPS2=m 617CONFIG_SERIO_LIBPS2=m
501# CONFIG_SERIO_RAW is not set 618# CONFIG_SERIO_RAW is not set
502# CONFIG_GAMEPORT is not set 619# CONFIG_GAMEPORT is not set
@@ -507,6 +624,7 @@ CONFIG_SERIO_LIBPS2=m
507CONFIG_VT=y 624CONFIG_VT=y
508CONFIG_VT_CONSOLE=y 625CONFIG_VT_CONSOLE=y
509CONFIG_HW_CONSOLE=y 626CONFIG_HW_CONSOLE=y
627CONFIG_VT_HW_CONSOLE_BINDING=y
510# CONFIG_SERIAL_NONSTANDARD is not set 628# CONFIG_SERIAL_NONSTANDARD is not set
511 629
512# 630#
@@ -520,112 +638,80 @@ CONFIG_HW_CONSOLE=y
520CONFIG_UNIX98_PTYS=y 638CONFIG_UNIX98_PTYS=y
521CONFIG_LEGACY_PTYS=y 639CONFIG_LEGACY_PTYS=y
522CONFIG_LEGACY_PTY_COUNT=256 640CONFIG_LEGACY_PTY_COUNT=256
523
524#
525# IPMI
526#
527# CONFIG_IPMI_HANDLER is not set 641# CONFIG_IPMI_HANDLER is not set
528 642# CONFIG_HW_RANDOM is not set
529#
530# Watchdog Cards
531#
532# CONFIG_WATCHDOG is not set
533CONFIG_GEN_RTC=m 643CONFIG_GEN_RTC=m
534CONFIG_GEN_RTC_X=y 644CONFIG_GEN_RTC_X=y
535# CONFIG_DTLK is not set
536# CONFIG_R3964 is not set 645# CONFIG_R3964 is not set
537
538#
539# Ftape, the floppy tape device driver
540#
541# CONFIG_DRM is not set
542# CONFIG_RAW_DRIVER is not set 646# CONFIG_RAW_DRIVER is not set
647# CONFIG_TCG_TPM is not set
648# CONFIG_I2C is not set
543 649
544# 650#
545# TPM devices 651# SPI support
546#
547
548#
549# I2C support
550# 652#
551# CONFIG_I2C is not set 653# CONFIG_SPI is not set
654# CONFIG_SPI_MASTER is not set
655# CONFIG_W1 is not set
656# CONFIG_POWER_SUPPLY is not set
657# CONFIG_HWMON is not set
658# CONFIG_THERMAL is not set
659# CONFIG_WATCHDOG is not set
552 660
553# 661#
554# Dallas's 1-wire bus 662# Sonics Silicon Backplane
555# 663#
556# CONFIG_W1 is not set 664CONFIG_SSB_POSSIBLE=y
665# CONFIG_SSB is not set
557 666
558# 667#
559# Misc devices 668# Multifunction device drivers
560# 669#
670# CONFIG_MFD_SM501 is not set
561 671
562# 672#
563# Multimedia devices 673# Multimedia devices
564# 674#
565# CONFIG_VIDEO_DEV is not set 675# CONFIG_VIDEO_DEV is not set
676# CONFIG_DVB_CORE is not set
677# CONFIG_DAB is not set
566 678
567# 679#
568# Digital Video Broadcasting Devices 680# Graphics support
569# 681#
570# CONFIG_DVB is not set 682# CONFIG_VGASTATE is not set
683# CONFIG_VIDEO_OUTPUT_CONTROL is not set
684# CONFIG_FB is not set
685# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
571 686
572# 687#
573# Graphics support 688# Display device support
574# 689#
575CONFIG_FB=y 690# CONFIG_DISPLAY_SUPPORT is not set
576# CONFIG_FB_CFB_FILLRECT is not set
577# CONFIG_FB_CFB_COPYAREA is not set
578# CONFIG_FB_CFB_IMAGEBLIT is not set
579# CONFIG_FB_SOFT_CURSOR is not set
580# CONFIG_FB_MACMODES is not set
581CONFIG_FB_MODE_HELPERS=y
582# CONFIG_FB_TILEBLITTING is not set
583# CONFIG_FB_S1D13XXX is not set
584# CONFIG_FB_VIRTUAL is not set
585 691
586# 692#
587# Console display driver support 693# Console display driver support
588# 694#
589CONFIG_DUMMY_CONSOLE=y 695CONFIG_DUMMY_CONSOLE=y
590CONFIG_FRAMEBUFFER_CONSOLE=y
591# CONFIG_FONTS is not set
592CONFIG_FONT_8x8=y
593CONFIG_FONT_8x16=y
594
595#
596# Logo configuration
597#
598CONFIG_LOGO=y
599CONFIG_LOGO_LINUX_MONO=y
600CONFIG_LOGO_LINUX_VGA16=y
601CONFIG_LOGO_LINUX_CLUT224=y
602# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
603 696
604# 697#
605# Sound 698# Sound
606# 699#
607# CONFIG_SOUND is not set 700# CONFIG_SOUND is not set
608 701CONFIG_HID_SUPPORT=y
609# 702CONFIG_HID=m
610# USB support 703# CONFIG_HID_DEBUG is not set
611# 704CONFIG_HIDRAW=y
612# CONFIG_USB_ARCH_HAS_HCD is not set 705# CONFIG_USB_SUPPORT is not set
613# CONFIG_USB_ARCH_HAS_OHCI is not set
614
615#
616# USB Gadget Support
617#
618# CONFIG_USB_GADGET is not set
619
620#
621# MMC/SD Card support
622#
623# CONFIG_MMC is not set 706# CONFIG_MMC is not set
707# CONFIG_MEMSTICK is not set
708# CONFIG_NEW_LEDS is not set
709# CONFIG_RTC_CLASS is not set
624 710
625# 711#
626# InfiniBand support 712# Userspace I/O
627# 713#
628# CONFIG_INFINIBAND is not set 714# CONFIG_UIO is not set
629 715
630# 716#
631# Character devices 717# Character devices
@@ -638,10 +724,11 @@ CONFIG_SERIAL_CONSOLE=y
638# 724#
639CONFIG_EXT2_FS=y 725CONFIG_EXT2_FS=y
640# CONFIG_EXT2_FS_XATTR is not set 726# CONFIG_EXT2_FS_XATTR is not set
727# CONFIG_EXT2_FS_XIP is not set
641CONFIG_EXT3_FS=y 728CONFIG_EXT3_FS=y
642# CONFIG_EXT3_FS_XATTR is not set 729# CONFIG_EXT3_FS_XATTR is not set
730# CONFIG_EXT4DEV_FS is not set
643CONFIG_JBD=y 731CONFIG_JBD=y
644# CONFIG_JBD_DEBUG is not set
645CONFIG_REISERFS_FS=m 732CONFIG_REISERFS_FS=m
646# CONFIG_REISERFS_CHECK is not set 733# CONFIG_REISERFS_CHECK is not set
647# CONFIG_REISERFS_PROC_INFO is not set 734# CONFIG_REISERFS_PROC_INFO is not set
@@ -652,25 +739,29 @@ CONFIG_JFS_FS=m
652# CONFIG_JFS_DEBUG is not set 739# CONFIG_JFS_DEBUG is not set
653# CONFIG_JFS_STATISTICS is not set 740# CONFIG_JFS_STATISTICS is not set
654CONFIG_FS_POSIX_ACL=y 741CONFIG_FS_POSIX_ACL=y
655
656#
657# XFS support
658#
659CONFIG_XFS_FS=m 742CONFIG_XFS_FS=m
660CONFIG_XFS_EXPORT=y
661# CONFIG_XFS_RT is not set
662# CONFIG_XFS_QUOTA is not set 743# CONFIG_XFS_QUOTA is not set
663# CONFIG_XFS_SECURITY is not set 744# CONFIG_XFS_SECURITY is not set
664# CONFIG_XFS_POSIX_ACL is not set 745# CONFIG_XFS_POSIX_ACL is not set
665CONFIG_MINIX_FS=y 746# CONFIG_XFS_RT is not set
666# CONFIG_ROMFS_FS is not set 747CONFIG_GFS2_FS=m
748CONFIG_GFS2_FS_LOCKING_NOLOCK=m
749CONFIG_GFS2_FS_LOCKING_DLM=m
750CONFIG_OCFS2_FS=m
751# CONFIG_OCFS2_DEBUG_MASKLOG is not set
752# CONFIG_OCFS2_DEBUG_FS is not set
753CONFIG_DNOTIFY=y
754CONFIG_INOTIFY=y
755CONFIG_INOTIFY_USER=y
667CONFIG_QUOTA=y 756CONFIG_QUOTA=y
757CONFIG_QUOTA_NETLINK_INTERFACE=y
758# CONFIG_PRINT_QUOTA_WARNING is not set
668# CONFIG_QFMT_V1 is not set 759# CONFIG_QFMT_V1 is not set
669# CONFIG_QFMT_V2 is not set 760# CONFIG_QFMT_V2 is not set
670CONFIG_QUOTACTL=y 761CONFIG_QUOTACTL=y
671CONFIG_DNOTIFY=y
672CONFIG_AUTOFS_FS=m 762CONFIG_AUTOFS_FS=m
673CONFIG_AUTOFS4_FS=m 763CONFIG_AUTOFS4_FS=m
764CONFIG_FUSE_FS=m
674 765
675# 766#
676# CD-ROM/DVD Filesystems 767# CD-ROM/DVD Filesystems
@@ -678,7 +769,6 @@ CONFIG_AUTOFS4_FS=m
678CONFIG_ISO9660_FS=y 769CONFIG_ISO9660_FS=y
679CONFIG_JOLIET=y 770CONFIG_JOLIET=y
680CONFIG_ZISOFS=y 771CONFIG_ZISOFS=y
681CONFIG_ZISOFS_FS=y
682CONFIG_UDF_FS=m 772CONFIG_UDF_FS=m
683CONFIG_UDF_NLS=y 773CONFIG_UDF_NLS=y
684 774
@@ -697,15 +787,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
697# 787#
698CONFIG_PROC_FS=y 788CONFIG_PROC_FS=y
699CONFIG_PROC_KCORE=y 789CONFIG_PROC_KCORE=y
790CONFIG_PROC_SYSCTL=y
700CONFIG_SYSFS=y 791CONFIG_SYSFS=y
701CONFIG_DEVFS_FS=y
702# CONFIG_DEVFS_MOUNT is not set
703# CONFIG_DEVFS_DEBUG is not set
704# CONFIG_DEVPTS_FS_XATTR is not set
705CONFIG_TMPFS=y 792CONFIG_TMPFS=y
706# CONFIG_TMPFS_XATTR is not set 793# CONFIG_TMPFS_POSIX_ACL is not set
707# CONFIG_HUGETLB_PAGE is not set 794# CONFIG_HUGETLB_PAGE is not set
708CONFIG_RAMFS=y 795CONFIG_CONFIGFS_FS=m
709 796
710# 797#
711# Miscellaneous filesystems 798# Miscellaneous filesystems
@@ -719,44 +806,40 @@ CONFIG_HFSPLUS_FS=m
719# CONFIG_EFS_FS is not set 806# CONFIG_EFS_FS is not set
720CONFIG_CRAMFS=m 807CONFIG_CRAMFS=m
721# CONFIG_VXFS_FS is not set 808# CONFIG_VXFS_FS is not set
809CONFIG_MINIX_FS=y
722CONFIG_HPFS_FS=m 810CONFIG_HPFS_FS=m
723# CONFIG_QNX4FS_FS is not set 811# CONFIG_QNX4FS_FS is not set
812# CONFIG_ROMFS_FS is not set
724CONFIG_SYSV_FS=m 813CONFIG_SYSV_FS=m
725CONFIG_UFS_FS=m 814CONFIG_UFS_FS=m
726# CONFIG_UFS_FS_WRITE is not set 815# CONFIG_UFS_FS_WRITE is not set
727 816# CONFIG_UFS_DEBUG is not set
728# 817CONFIG_NETWORK_FILESYSTEMS=y
729# Network File Systems
730#
731CONFIG_NFS_FS=y 818CONFIG_NFS_FS=y
732CONFIG_NFS_V3=y 819CONFIG_NFS_V3=y
820# CONFIG_NFS_V3_ACL is not set
733CONFIG_NFS_V4=y 821CONFIG_NFS_V4=y
734# CONFIG_NFS_DIRECTIO is not set 822# CONFIG_NFS_DIRECTIO is not set
735CONFIG_NFSD=m 823CONFIG_NFSD=m
736CONFIG_NFSD_V3=y 824CONFIG_NFSD_V3=y
737CONFIG_NFSD_V4=y 825# CONFIG_NFSD_V3_ACL is not set
826# CONFIG_NFSD_V4 is not set
738CONFIG_NFSD_TCP=y 827CONFIG_NFSD_TCP=y
739CONFIG_ROOT_NFS=y 828CONFIG_ROOT_NFS=y
740CONFIG_LOCKD=y 829CONFIG_LOCKD=y
741CONFIG_LOCKD_V4=y 830CONFIG_LOCKD_V4=y
742CONFIG_EXPORTFS=m 831CONFIG_EXPORTFS=m
832CONFIG_NFS_COMMON=y
743CONFIG_SUNRPC=y 833CONFIG_SUNRPC=y
744CONFIG_SUNRPC_GSS=y 834CONFIG_SUNRPC_GSS=y
835CONFIG_SUNRPC_BIND34=y
745CONFIG_RPCSEC_GSS_KRB5=y 836CONFIG_RPCSEC_GSS_KRB5=y
746# CONFIG_RPCSEC_GSS_SPKM3 is not set 837# CONFIG_RPCSEC_GSS_SPKM3 is not set
747CONFIG_SMB_FS=m 838CONFIG_SMB_FS=m
748CONFIG_SMB_NLS_DEFAULT=y 839CONFIG_SMB_NLS_DEFAULT=y
749CONFIG_SMB_NLS_REMOTE="cp437" 840CONFIG_SMB_NLS_REMOTE="cp437"
750# CONFIG_CIFS is not set 841# CONFIG_CIFS is not set
751CONFIG_NCP_FS=m 842# CONFIG_NCP_FS is not set
752# CONFIG_NCPFS_PACKET_SIGNING is not set
753# CONFIG_NCPFS_IOCTL_LOCKING is not set
754# CONFIG_NCPFS_STRONG is not set
755# CONFIG_NCPFS_NFS_NS is not set
756# CONFIG_NCPFS_OS2_NS is not set
757# CONFIG_NCPFS_SMALLDOS is not set
758CONFIG_NCPFS_NLS=y
759# CONFIG_NCPFS_EXTRAS is not set
760CONFIG_CODA_FS=m 843CONFIG_CODA_FS=m
761# CONFIG_CODA_FS_OLD_API is not set 844# CONFIG_CODA_FS_OLD_API is not set
762# CONFIG_AFS_FS is not set 845# CONFIG_AFS_FS is not set
@@ -766,10 +849,7 @@ CONFIG_CODA_FS=m
766# 849#
767# CONFIG_PARTITION_ADVANCED is not set 850# CONFIG_PARTITION_ADVANCED is not set
768CONFIG_MSDOS_PARTITION=y 851CONFIG_MSDOS_PARTITION=y
769 852CONFIG_SYSV68_PARTITION=y
770#
771# Native Language Support
772#
773CONFIG_NLS=y 853CONFIG_NLS=y
774CONFIG_NLS_DEFAULT="iso8859-1" 854CONFIG_NLS_DEFAULT="iso8859-1"
775CONFIG_NLS_CODEPAGE_437=y 855CONFIG_NLS_CODEPAGE_437=y
@@ -810,35 +890,42 @@ CONFIG_NLS_ISO8859_15=m
810CONFIG_NLS_KOI8_R=m 890CONFIG_NLS_KOI8_R=m
811CONFIG_NLS_KOI8_U=m 891CONFIG_NLS_KOI8_U=m
812CONFIG_NLS_UTF8=m 892CONFIG_NLS_UTF8=m
893CONFIG_DLM=m
894# CONFIG_DLM_DEBUG is not set
813 895
814# 896#
815# Kernel hacking 897# Kernel hacking
816# 898#
817# CONFIG_PRINTK_TIME is not set 899# CONFIG_PRINTK_TIME is not set
818CONFIG_DEBUG_KERNEL=y 900CONFIG_ENABLE_WARN_DEPRECATED=y
901CONFIG_ENABLE_MUST_CHECK=y
819CONFIG_MAGIC_SYSRQ=y 902CONFIG_MAGIC_SYSRQ=y
820CONFIG_LOG_BUF_SHIFT=16 903# CONFIG_UNUSED_SYMBOLS is not set
821# CONFIG_SCHEDSTATS is not set
822# CONFIG_DEBUG_SLAB is not set
823# CONFIG_DEBUG_SPINLOCK is not set
824# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
825# CONFIG_DEBUG_KOBJECT is not set
826CONFIG_DEBUG_BUGVERBOSE=y
827# CONFIG_DEBUG_INFO is not set
828# CONFIG_DEBUG_FS is not set 904# CONFIG_DEBUG_FS is not set
829# CONFIG_FRAME_POINTER is not set 905# CONFIG_HEADERS_CHECK is not set
906# CONFIG_DEBUG_KERNEL is not set
907CONFIG_DEBUG_BUGVERBOSE=y
908# CONFIG_SAMPLES is not set
830 909
831# 910#
832# Security options 911# Security options
833# 912#
834# CONFIG_KEYS is not set 913# CONFIG_KEYS is not set
835# CONFIG_SECURITY is not set 914# CONFIG_SECURITY is not set
836 915# CONFIG_SECURITY_FILE_CAPABILITIES is not set
837# 916CONFIG_XOR_BLOCKS=m
838# Cryptographic options 917CONFIG_ASYNC_CORE=m
839# 918CONFIG_ASYNC_MEMCPY=m
919CONFIG_ASYNC_XOR=m
840CONFIG_CRYPTO=y 920CONFIG_CRYPTO=y
921CONFIG_CRYPTO_ALGAPI=y
922CONFIG_CRYPTO_AEAD=m
923CONFIG_CRYPTO_BLKCIPHER=y
924CONFIG_CRYPTO_SEQIV=m
925CONFIG_CRYPTO_HASH=y
926CONFIG_CRYPTO_MANAGER=y
841CONFIG_CRYPTO_HMAC=y 927CONFIG_CRYPTO_HMAC=y
928CONFIG_CRYPTO_XCBC=m
842CONFIG_CRYPTO_NULL=m 929CONFIG_CRYPTO_NULL=m
843CONFIG_CRYPTO_MD4=m 930CONFIG_CRYPTO_MD4=m
844CONFIG_CRYPTO_MD5=y 931CONFIG_CRYPTO_MD5=y
@@ -847,9 +934,21 @@ CONFIG_CRYPTO_SHA256=m
847CONFIG_CRYPTO_SHA512=m 934CONFIG_CRYPTO_SHA512=m
848CONFIG_CRYPTO_WP512=m 935CONFIG_CRYPTO_WP512=m
849CONFIG_CRYPTO_TGR192=m 936CONFIG_CRYPTO_TGR192=m
937CONFIG_CRYPTO_GF128MUL=m
938CONFIG_CRYPTO_ECB=m
939CONFIG_CRYPTO_CBC=y
940CONFIG_CRYPTO_PCBC=m
941CONFIG_CRYPTO_LRW=m
942CONFIG_CRYPTO_XTS=m
943CONFIG_CRYPTO_CTR=m
944CONFIG_CRYPTO_GCM=m
945CONFIG_CRYPTO_CCM=m
946CONFIG_CRYPTO_CRYPTD=m
850CONFIG_CRYPTO_DES=y 947CONFIG_CRYPTO_DES=y
948CONFIG_CRYPTO_FCRYPT=m
851CONFIG_CRYPTO_BLOWFISH=m 949CONFIG_CRYPTO_BLOWFISH=m
852CONFIG_CRYPTO_TWOFISH=m 950CONFIG_CRYPTO_TWOFISH=m
951CONFIG_CRYPTO_TWOFISH_COMMON=m
853CONFIG_CRYPTO_SERPENT=m 952CONFIG_CRYPTO_SERPENT=m
854CONFIG_CRYPTO_AES=m 953CONFIG_CRYPTO_AES=m
855CONFIG_CRYPTO_CAST5=m 954CONFIG_CRYPTO_CAST5=m
@@ -858,20 +957,35 @@ CONFIG_CRYPTO_TEA=m
858CONFIG_CRYPTO_ARC4=m 957CONFIG_CRYPTO_ARC4=m
859CONFIG_CRYPTO_KHAZAD=m 958CONFIG_CRYPTO_KHAZAD=m
860CONFIG_CRYPTO_ANUBIS=m 959CONFIG_CRYPTO_ANUBIS=m
960CONFIG_CRYPTO_SEED=m
961CONFIG_CRYPTO_SALSA20=m
861CONFIG_CRYPTO_DEFLATE=m 962CONFIG_CRYPTO_DEFLATE=m
862CONFIG_CRYPTO_MICHAEL_MIC=m 963CONFIG_CRYPTO_MICHAEL_MIC=m
863CONFIG_CRYPTO_CRC32C=m 964CONFIG_CRYPTO_CRC32C=m
965CONFIG_CRYPTO_CAMELLIA=m
864CONFIG_CRYPTO_TEST=m 966CONFIG_CRYPTO_TEST=m
865 967CONFIG_CRYPTO_AUTHENC=m
866# 968CONFIG_CRYPTO_LZO=m
867# Hardware crypto devices 969# CONFIG_CRYPTO_HW is not set
868#
869 970
870# 971#
871# Library routines 972# Library routines
872# 973#
974CONFIG_BITREVERSE=y
873CONFIG_CRC_CCITT=m 975CONFIG_CRC_CCITT=m
976CONFIG_CRC16=m
977# CONFIG_CRC_ITU_T is not set
874CONFIG_CRC32=y 978CONFIG_CRC32=y
979# CONFIG_CRC7 is not set
875CONFIG_LIBCRC32C=m 980CONFIG_LIBCRC32C=m
876CONFIG_ZLIB_INFLATE=y 981CONFIG_ZLIB_INFLATE=y
877CONFIG_ZLIB_DEFLATE=m 982CONFIG_ZLIB_DEFLATE=m
983CONFIG_LZO_COMPRESS=m
984CONFIG_LZO_DECOMPRESS=m
985CONFIG_TEXTSEARCH=y
986CONFIG_TEXTSEARCH_KMP=m
987CONFIG_TEXTSEARCH_BM=m
988CONFIG_TEXTSEARCH_FSM=m
989CONFIG_PLIST=y
990CONFIG_HAS_IOMEM=y
991CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig
index 1d5c46ff3c8..e9ccc774334 100644
--- a/arch/m68k/configs/mvme16x_defconfig
+++ b/arch/m68k/configs/mvme16x_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:53 2005 4# Wed Apr 2 20:46:19 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-mvme16x" 27CONFIG_LOCALVERSION="-mvme16x"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -85,6 +133,22 @@ CONFIG_M68060=y
85CONFIG_MMU_MOTOROLA=y 133CONFIG_MMU_MOTOROLA=y
86# CONFIG_M68KFPU_EMU is not set 134# CONFIG_M68KFPU_EMU is not set
87# CONFIG_ADVANCED is not set 135# CONFIG_ADVANCED is not set
136CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
137CONFIG_NODES_SHIFT=3
138CONFIG_SELECT_MEMORY_MODEL=y
139# CONFIG_FLATMEM_MANUAL is not set
140CONFIG_DISCONTIGMEM_MANUAL=y
141# CONFIG_SPARSEMEM_MANUAL is not set
142CONFIG_DISCONTIGMEM=y
143CONFIG_FLAT_NODE_MEM_MAP=y
144CONFIG_NEED_MULTIPLE_NODES=y
145# CONFIG_SPARSEMEM_STATIC is not set
146# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
147CONFIG_SPLIT_PTLOCK_CPUS=4
148# CONFIG_RESOURCES_64BIT is not set
149CONFIG_ZONE_DMA_FLAG=1
150CONFIG_BOUNCE=y
151CONFIG_VIRT_TO_BUS=y
88 152
89# 153#
90# General setup 154# General setup
@@ -93,134 +157,11 @@ CONFIG_BINFMT_ELF=y
93CONFIG_BINFMT_AOUT=m 157CONFIG_BINFMT_AOUT=m
94CONFIG_BINFMT_MISC=m 158CONFIG_BINFMT_MISC=m
95CONFIG_PROC_HARDWARE=y 159CONFIG_PROC_HARDWARE=y
160CONFIG_ZONE_DMA=y
161# CONFIG_ARCH_SUPPORTS_MSI is not set
96 162
97# 163#
98# Device Drivers 164# Networking
99#
100
101#
102# Generic Driver Options
103#
104CONFIG_STANDALONE=y
105CONFIG_PREVENT_FIRMWARE_BUILD=y
106CONFIG_FW_LOADER=m
107# CONFIG_DEBUG_DRIVER is not set
108
109#
110# Memory Technology Devices (MTD)
111#
112# CONFIG_MTD is not set
113
114#
115# Parallel port support
116#
117# CONFIG_PARPORT is not set
118
119#
120# Plug and Play support
121#
122
123#
124# Block devices
125#
126# CONFIG_BLK_DEV_COW_COMMON is not set
127CONFIG_BLK_DEV_LOOP=y
128CONFIG_BLK_DEV_CRYPTOLOOP=m
129CONFIG_BLK_DEV_NBD=m
130CONFIG_BLK_DEV_RAM=y
131CONFIG_BLK_DEV_RAM_COUNT=16
132CONFIG_BLK_DEV_RAM_SIZE=4096
133CONFIG_BLK_DEV_INITRD=y
134CONFIG_INITRAMFS_SOURCE=""
135CONFIG_CDROM_PKTCDVD=m
136CONFIG_CDROM_PKTCDVD_BUFFERS=8
137# CONFIG_CDROM_PKTCDVD_WCACHE is not set
138
139#
140# IO Schedulers
141#
142CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y
146CONFIG_ATA_OVER_ETH=m
147
148#
149# ATA/ATAPI/MFM/RLL support
150#
151# CONFIG_IDE is not set
152
153#
154# SCSI device support
155#
156CONFIG_SCSI=y
157CONFIG_SCSI_PROC_FS=y
158
159#
160# SCSI support type (disk, tape, CD-ROM)
161#
162CONFIG_BLK_DEV_SD=y
163CONFIG_CHR_DEV_ST=m
164# CONFIG_CHR_DEV_OSST is not set
165CONFIG_BLK_DEV_SR=y
166CONFIG_BLK_DEV_SR_VENDOR=y
167CONFIG_CHR_DEV_SG=m
168
169#
170# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
171#
172# CONFIG_SCSI_MULTI_LUN is not set
173CONFIG_SCSI_CONSTANTS=y
174# CONFIG_SCSI_LOGGING is not set
175
176#
177# SCSI Transport Attributes
178#
179# CONFIG_SCSI_SPI_ATTRS is not set
180# CONFIG_SCSI_FC_ATTRS is not set
181# CONFIG_SCSI_ISCSI_ATTRS is not set
182
183#
184# SCSI low-level drivers
185#
186# CONFIG_SCSI_SATA is not set
187# CONFIG_SCSI_DEBUG is not set
188
189#
190# Multi-device support (RAID and LVM)
191#
192CONFIG_MD=y
193CONFIG_BLK_DEV_MD=m
194CONFIG_MD_LINEAR=m
195CONFIG_MD_RAID0=m
196CONFIG_MD_RAID1=m
197# CONFIG_MD_RAID10 is not set
198CONFIG_MD_RAID5=m
199CONFIG_MD_RAID6=m
200CONFIG_MD_MULTIPATH=m
201# CONFIG_MD_FAULTY is not set
202CONFIG_BLK_DEV_DM=m
203CONFIG_DM_CRYPT=m
204CONFIG_DM_SNAPSHOT=m
205CONFIG_DM_MIRROR=m
206CONFIG_DM_ZERO=m
207CONFIG_DM_MULTIPATH=m
208CONFIG_DM_MULTIPATH_EMC=m
209
210#
211# Fusion MPT device support
212#
213
214#
215# IEEE 1394 (FireWire) support
216#
217
218#
219# I2O device support
220#
221
222#
223# Networking support
224# 165#
225CONFIG_NET=y 166CONFIG_NET=y
226 167
@@ -230,10 +171,17 @@ CONFIG_NET=y
230CONFIG_PACKET=y 171CONFIG_PACKET=y
231# CONFIG_PACKET_MMAP is not set 172# CONFIG_PACKET_MMAP is not set
232CONFIG_UNIX=y 173CONFIG_UNIX=y
174CONFIG_XFRM=y
175# CONFIG_XFRM_USER is not set
176# CONFIG_XFRM_SUB_POLICY is not set
177CONFIG_XFRM_MIGRATE=y
178# CONFIG_XFRM_STATISTICS is not set
233CONFIG_NET_KEY=y 179CONFIG_NET_KEY=y
180CONFIG_NET_KEY_MIGRATE=y
234CONFIG_INET=y 181CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 182# CONFIG_IP_MULTICAST is not set
236# CONFIG_IP_ADVANCED_ROUTER is not set 183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
237CONFIG_IP_PNP=y 185CONFIG_IP_PNP=y
238CONFIG_IP_PNP_DHCP=y 186CONFIG_IP_PNP_DHCP=y
239CONFIG_IP_PNP_BOOTP=y 187CONFIG_IP_PNP_BOOTP=y
@@ -245,145 +193,199 @@ CONFIG_SYN_COOKIES=y
245CONFIG_INET_AH=m 193CONFIG_INET_AH=m
246CONFIG_INET_ESP=m 194CONFIG_INET_ESP=m
247CONFIG_INET_IPCOMP=m 195CONFIG_INET_IPCOMP=m
196CONFIG_INET_XFRM_TUNNEL=m
248CONFIG_INET_TUNNEL=m 197CONFIG_INET_TUNNEL=m
249CONFIG_IP_TCPDIAG=m 198CONFIG_INET_XFRM_MODE_TRANSPORT=m
250CONFIG_IP_TCPDIAG_IPV6=y 199CONFIG_INET_XFRM_MODE_TUNNEL=m
251 200CONFIG_INET_XFRM_MODE_BEET=m
252# 201CONFIG_INET_LRO=m
253# IP: Virtual Server Configuration 202CONFIG_INET_DIAG=m
254# 203CONFIG_INET_TCP_DIAG=m
204# CONFIG_TCP_CONG_ADVANCED is not set
205CONFIG_TCP_CONG_CUBIC=y
206CONFIG_DEFAULT_TCP_CONG="cubic"
207# CONFIG_TCP_MD5SIG is not set
255# CONFIG_IP_VS is not set 208# CONFIG_IP_VS is not set
256CONFIG_IPV6=m 209CONFIG_IPV6=m
257CONFIG_IPV6_PRIVACY=y 210CONFIG_IPV6_PRIVACY=y
211CONFIG_IPV6_ROUTER_PREF=y
212CONFIG_IPV6_ROUTE_INFO=y
213# CONFIG_IPV6_OPTIMISTIC_DAD is not set
258CONFIG_INET6_AH=m 214CONFIG_INET6_AH=m
259CONFIG_INET6_ESP=m 215CONFIG_INET6_ESP=m
260CONFIG_INET6_IPCOMP=m 216CONFIG_INET6_IPCOMP=m
217# CONFIG_IPV6_MIP6 is not set
218CONFIG_INET6_XFRM_TUNNEL=m
261CONFIG_INET6_TUNNEL=m 219CONFIG_INET6_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_TRANSPORT=m
221CONFIG_INET6_XFRM_MODE_TUNNEL=m
222CONFIG_INET6_XFRM_MODE_BEET=m
223CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
224CONFIG_IPV6_SIT=m
262CONFIG_IPV6_TUNNEL=m 225CONFIG_IPV6_TUNNEL=m
226# CONFIG_IPV6_MULTIPLE_TABLES is not set
227# CONFIG_NETWORK_SECMARK is not set
263CONFIG_NETFILTER=y 228CONFIG_NETFILTER=y
264# CONFIG_NETFILTER_DEBUG is not set 229# CONFIG_NETFILTER_DEBUG is not set
230CONFIG_NETFILTER_ADVANCED=y
231
232#
233# Core Netfilter Configuration
234#
235CONFIG_NETFILTER_NETLINK=m
236CONFIG_NETFILTER_NETLINK_QUEUE=m
237CONFIG_NETFILTER_NETLINK_LOG=m
238CONFIG_NF_CONNTRACK=m
239CONFIG_NF_CT_ACCT=y
240CONFIG_NF_CONNTRACK_MARK=y
241# CONFIG_NF_CONNTRACK_EVENTS is not set
242CONFIG_NF_CT_PROTO_GRE=m
243CONFIG_NF_CT_PROTO_SCTP=m
244CONFIG_NF_CT_PROTO_UDPLITE=m
245CONFIG_NF_CONNTRACK_AMANDA=m
246CONFIG_NF_CONNTRACK_FTP=m
247CONFIG_NF_CONNTRACK_H323=m
248CONFIG_NF_CONNTRACK_IRC=m
249CONFIG_NF_CONNTRACK_NETBIOS_NS=m
250CONFIG_NF_CONNTRACK_PPTP=m
251CONFIG_NF_CONNTRACK_SANE=m
252CONFIG_NF_CONNTRACK_SIP=m
253CONFIG_NF_CONNTRACK_TFTP=m
254# CONFIG_NF_CT_NETLINK is not set
255CONFIG_NETFILTER_XTABLES=m
256CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
257CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
258CONFIG_NETFILTER_XT_TARGET_DSCP=m
259CONFIG_NETFILTER_XT_TARGET_MARK=m
260CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
261CONFIG_NETFILTER_XT_TARGET_NFLOG=m
262CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
263CONFIG_NETFILTER_XT_TARGET_RATEEST=m
264CONFIG_NETFILTER_XT_TARGET_TRACE=m
265CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
266CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
267CONFIG_NETFILTER_XT_MATCH_COMMENT=m
268CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
269CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
270CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
271CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
272CONFIG_NETFILTER_XT_MATCH_DCCP=m
273CONFIG_NETFILTER_XT_MATCH_DSCP=m
274CONFIG_NETFILTER_XT_MATCH_ESP=m
275CONFIG_NETFILTER_XT_MATCH_HELPER=m
276CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
277CONFIG_NETFILTER_XT_MATCH_LENGTH=m
278CONFIG_NETFILTER_XT_MATCH_LIMIT=m
279CONFIG_NETFILTER_XT_MATCH_MAC=m
280CONFIG_NETFILTER_XT_MATCH_MARK=m
281CONFIG_NETFILTER_XT_MATCH_OWNER=m
282CONFIG_NETFILTER_XT_MATCH_POLICY=m
283CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
284CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
285CONFIG_NETFILTER_XT_MATCH_QUOTA=m
286CONFIG_NETFILTER_XT_MATCH_RATEEST=m
287CONFIG_NETFILTER_XT_MATCH_REALM=m
288CONFIG_NETFILTER_XT_MATCH_SCTP=m
289CONFIG_NETFILTER_XT_MATCH_STATE=m
290CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
291CONFIG_NETFILTER_XT_MATCH_STRING=m
292CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
293CONFIG_NETFILTER_XT_MATCH_TIME=m
294CONFIG_NETFILTER_XT_MATCH_U32=m
295CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
265 296
266# 297#
267# IP: Netfilter Configuration 298# IP: Netfilter Configuration
268# 299#
269CONFIG_IP_NF_CONNTRACK=m 300CONFIG_NF_CONNTRACK_IPV4=m
270# CONFIG_IP_NF_CT_ACCT is not set 301CONFIG_NF_CONNTRACK_PROC_COMPAT=y
271CONFIG_IP_NF_CONNTRACK_MARK=y
272# CONFIG_IP_NF_CT_PROTO_SCTP is not set
273CONFIG_IP_NF_FTP=m
274CONFIG_IP_NF_IRC=m
275CONFIG_IP_NF_TFTP=m
276CONFIG_IP_NF_AMANDA=m
277CONFIG_IP_NF_QUEUE=m 302CONFIG_IP_NF_QUEUE=m
278CONFIG_IP_NF_IPTABLES=m 303CONFIG_IP_NF_IPTABLES=m
279CONFIG_IP_NF_MATCH_LIMIT=m
280CONFIG_IP_NF_MATCH_IPRANGE=m
281CONFIG_IP_NF_MATCH_MAC=m
282CONFIG_IP_NF_MATCH_PKTTYPE=m
283CONFIG_IP_NF_MATCH_MARK=m
284CONFIG_IP_NF_MATCH_MULTIPORT=m
285CONFIG_IP_NF_MATCH_TOS=m
286CONFIG_IP_NF_MATCH_RECENT=m 304CONFIG_IP_NF_MATCH_RECENT=m
287CONFIG_IP_NF_MATCH_ECN=m 305CONFIG_IP_NF_MATCH_ECN=m
288CONFIG_IP_NF_MATCH_DSCP=m 306CONFIG_IP_NF_MATCH_AH=m
289CONFIG_IP_NF_MATCH_AH_ESP=m
290CONFIG_IP_NF_MATCH_LENGTH=m
291CONFIG_IP_NF_MATCH_TTL=m 307CONFIG_IP_NF_MATCH_TTL=m
292CONFIG_IP_NF_MATCH_TCPMSS=m
293CONFIG_IP_NF_MATCH_HELPER=m
294CONFIG_IP_NF_MATCH_STATE=m
295CONFIG_IP_NF_MATCH_CONNTRACK=m
296CONFIG_IP_NF_MATCH_OWNER=m
297CONFIG_IP_NF_MATCH_ADDRTYPE=m 308CONFIG_IP_NF_MATCH_ADDRTYPE=m
298CONFIG_IP_NF_MATCH_REALM=m
299# CONFIG_IP_NF_MATCH_SCTP is not set
300# CONFIG_IP_NF_MATCH_COMMENT is not set
301CONFIG_IP_NF_MATCH_CONNMARK=m
302CONFIG_IP_NF_MATCH_HASHLIMIT=m
303CONFIG_IP_NF_FILTER=m 309CONFIG_IP_NF_FILTER=m
304CONFIG_IP_NF_TARGET_REJECT=m 310CONFIG_IP_NF_TARGET_REJECT=m
305CONFIG_IP_NF_TARGET_LOG=m 311CONFIG_IP_NF_TARGET_LOG=m
306CONFIG_IP_NF_TARGET_ULOG=m 312CONFIG_IP_NF_TARGET_ULOG=m
307CONFIG_IP_NF_TARGET_TCPMSS=m 313CONFIG_NF_NAT=m
308CONFIG_IP_NF_NAT=m 314CONFIG_NF_NAT_NEEDED=y
309CONFIG_IP_NF_NAT_NEEDED=y
310CONFIG_IP_NF_TARGET_MASQUERADE=m 315CONFIG_IP_NF_TARGET_MASQUERADE=m
311CONFIG_IP_NF_TARGET_REDIRECT=m 316CONFIG_IP_NF_TARGET_REDIRECT=m
312CONFIG_IP_NF_TARGET_NETMAP=m 317CONFIG_IP_NF_TARGET_NETMAP=m
313CONFIG_IP_NF_TARGET_SAME=m 318CONFIG_NF_NAT_SNMP_BASIC=m
314CONFIG_IP_NF_NAT_SNMP_BASIC=m 319CONFIG_NF_NAT_PROTO_GRE=m
315CONFIG_IP_NF_NAT_IRC=m 320CONFIG_NF_NAT_FTP=m
316CONFIG_IP_NF_NAT_FTP=m 321CONFIG_NF_NAT_IRC=m
317CONFIG_IP_NF_NAT_TFTP=m 322CONFIG_NF_NAT_TFTP=m
318CONFIG_IP_NF_NAT_AMANDA=m 323CONFIG_NF_NAT_AMANDA=m
324CONFIG_NF_NAT_PPTP=m
325CONFIG_NF_NAT_H323=m
326CONFIG_NF_NAT_SIP=m
319CONFIG_IP_NF_MANGLE=m 327CONFIG_IP_NF_MANGLE=m
320CONFIG_IP_NF_TARGET_TOS=m
321CONFIG_IP_NF_TARGET_ECN=m 328CONFIG_IP_NF_TARGET_ECN=m
322CONFIG_IP_NF_TARGET_DSCP=m 329CONFIG_IP_NF_TARGET_TTL=m
323CONFIG_IP_NF_TARGET_MARK=m 330CONFIG_IP_NF_TARGET_CLUSTERIP=m
324CONFIG_IP_NF_TARGET_CLASSIFY=m
325CONFIG_IP_NF_TARGET_CONNMARK=m
326# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
327CONFIG_IP_NF_RAW=m 331CONFIG_IP_NF_RAW=m
328CONFIG_IP_NF_TARGET_NOTRACK=m
329CONFIG_IP_NF_ARPTABLES=m 332CONFIG_IP_NF_ARPTABLES=m
330CONFIG_IP_NF_ARPFILTER=m 333CONFIG_IP_NF_ARPFILTER=m
331CONFIG_IP_NF_ARP_MANGLE=m 334CONFIG_IP_NF_ARP_MANGLE=m
332 335
333# 336#
334# IPv6: Netfilter Configuration (EXPERIMENTAL) 337# IPv6: Netfilter Configuration
335# 338#
339CONFIG_NF_CONNTRACK_IPV6=m
336CONFIG_IP6_NF_QUEUE=m 340CONFIG_IP6_NF_QUEUE=m
337CONFIG_IP6_NF_IPTABLES=m 341CONFIG_IP6_NF_IPTABLES=m
338CONFIG_IP6_NF_MATCH_LIMIT=m
339CONFIG_IP6_NF_MATCH_MAC=m
340CONFIG_IP6_NF_MATCH_RT=m 342CONFIG_IP6_NF_MATCH_RT=m
341CONFIG_IP6_NF_MATCH_OPTS=m 343CONFIG_IP6_NF_MATCH_OPTS=m
342CONFIG_IP6_NF_MATCH_FRAG=m 344CONFIG_IP6_NF_MATCH_FRAG=m
343CONFIG_IP6_NF_MATCH_HL=m 345CONFIG_IP6_NF_MATCH_HL=m
344CONFIG_IP6_NF_MATCH_MULTIPORT=m
345CONFIG_IP6_NF_MATCH_OWNER=m
346CONFIG_IP6_NF_MATCH_MARK=m
347CONFIG_IP6_NF_MATCH_IPV6HEADER=m 346CONFIG_IP6_NF_MATCH_IPV6HEADER=m
348CONFIG_IP6_NF_MATCH_AHESP=m 347CONFIG_IP6_NF_MATCH_AH=m
349CONFIG_IP6_NF_MATCH_LENGTH=m 348CONFIG_IP6_NF_MATCH_MH=m
350CONFIG_IP6_NF_MATCH_EUI64=m 349CONFIG_IP6_NF_MATCH_EUI64=m
351CONFIG_IP6_NF_FILTER=m 350CONFIG_IP6_NF_FILTER=m
352CONFIG_IP6_NF_TARGET_LOG=m 351CONFIG_IP6_NF_TARGET_LOG=m
352CONFIG_IP6_NF_TARGET_REJECT=m
353CONFIG_IP6_NF_MANGLE=m 353CONFIG_IP6_NF_MANGLE=m
354CONFIG_IP6_NF_TARGET_MARK=m 354CONFIG_IP6_NF_TARGET_HL=m
355CONFIG_IP6_NF_RAW=m 355CONFIG_IP6_NF_RAW=m
356CONFIG_XFRM=y 356CONFIG_IP_DCCP=m
357CONFIG_XFRM_USER=m 357CONFIG_INET_DCCP_DIAG=m
358CONFIG_IP_DCCP_ACKVEC=y
358 359
359# 360#
360# SCTP Configuration (EXPERIMENTAL) 361# DCCP CCIDs Configuration (EXPERIMENTAL)
361# 362#
363CONFIG_IP_DCCP_CCID2=m
364# CONFIG_IP_DCCP_CCID2_DEBUG is not set
365CONFIG_IP_DCCP_CCID3=m
366# CONFIG_IP_DCCP_CCID3_DEBUG is not set
367CONFIG_IP_DCCP_CCID3_RTO=100
368CONFIG_IP_DCCP_TFRC_LIB=m
362CONFIG_IP_SCTP=m 369CONFIG_IP_SCTP=m
363# CONFIG_SCTP_DBG_MSG is not set 370# CONFIG_SCTP_DBG_MSG is not set
364# CONFIG_SCTP_DBG_OBJCNT is not set 371# CONFIG_SCTP_DBG_OBJCNT is not set
365# CONFIG_SCTP_HMAC_NONE is not set 372# CONFIG_SCTP_HMAC_NONE is not set
366# CONFIG_SCTP_HMAC_SHA1 is not set 373# CONFIG_SCTP_HMAC_SHA1 is not set
367CONFIG_SCTP_HMAC_MD5=y 374CONFIG_SCTP_HMAC_MD5=y
375# CONFIG_TIPC is not set
368# CONFIG_ATM is not set 376# CONFIG_ATM is not set
369# CONFIG_BRIDGE is not set 377# CONFIG_BRIDGE is not set
370# CONFIG_VLAN_8021Q is not set 378# CONFIG_VLAN_8021Q is not set
371# CONFIG_DECNET is not set 379# CONFIG_DECNET is not set
372CONFIG_LLC=m 380CONFIG_LLC=m
373# CONFIG_LLC2 is not set 381# CONFIG_LLC2 is not set
374CONFIG_IPX=m 382# CONFIG_IPX is not set
375# CONFIG_IPX_INTERN is not set
376CONFIG_ATALK=m 383CONFIG_ATALK=m
377# CONFIG_DEV_APPLETALK is not set 384# CONFIG_DEV_APPLETALK is not set
378# CONFIG_X25 is not set 385# CONFIG_X25 is not set
379# CONFIG_LAPB is not set 386# CONFIG_LAPB is not set
380# CONFIG_NET_DIVERT is not set
381# CONFIG_ECONET is not set 387# CONFIG_ECONET is not set
382# CONFIG_WAN_ROUTER is not set 388# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
387# CONFIG_NET_SCHED is not set 389# CONFIG_NET_SCHED is not set
388CONFIG_NET_CLS_ROUTE=y 390CONFIG_NET_CLS_ROUTE=y
389 391
@@ -391,46 +393,156 @@ CONFIG_NET_CLS_ROUTE=y
391# Network testing 393# Network testing
392# 394#
393# CONFIG_NET_PKTGEN is not set 395# CONFIG_NET_PKTGEN is not set
394CONFIG_NETPOLL=y
395# CONFIG_NETPOLL_RX is not set
396# CONFIG_NETPOLL_TRAP is not set
397CONFIG_NET_POLL_CONTROLLER=y
398# CONFIG_HAMRADIO is not set 396# CONFIG_HAMRADIO is not set
397# CONFIG_CAN is not set
399# CONFIG_IRDA is not set 398# CONFIG_IRDA is not set
400# CONFIG_BT is not set 399# CONFIG_BT is not set
401CONFIG_NETDEVICES=y 400# CONFIG_AF_RXRPC is not set
402CONFIG_DUMMY=m
403# CONFIG_BONDING is not set
404CONFIG_EQUALIZER=m
405# CONFIG_TUN is not set
406 401
407# 402#
408# Ethernet (10 or 100Mbit) 403# Wireless
409# 404#
410CONFIG_NET_ETHERNET=y 405# CONFIG_CFG80211 is not set
411CONFIG_MII=m 406CONFIG_WIRELESS_EXT=y
412CONFIG_MVME16x_NET=y 407# CONFIG_MAC80211 is not set
408CONFIG_IEEE80211=m
409# CONFIG_IEEE80211_DEBUG is not set
410CONFIG_IEEE80211_CRYPT_WEP=m
411CONFIG_IEEE80211_CRYPT_CCMP=m
412CONFIG_IEEE80211_CRYPT_TKIP=m
413CONFIG_IEEE80211_SOFTMAC=m
414# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
415# CONFIG_RFKILL is not set
416# CONFIG_NET_9P is not set
413 417
414# 418#
415# Ethernet (1000 Mbit) 419# Device Drivers
416# 420#
417 421
418# 422#
419# Ethernet (10000 Mbit) 423# Generic Driver Options
420# 424#
425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430CONFIG_CONNECTOR=m
431# CONFIG_MTD is not set
432# CONFIG_PARPORT is not set
433CONFIG_BLK_DEV=y
434# CONFIG_BLK_DEV_COW_COMMON is not set
435CONFIG_BLK_DEV_LOOP=y
436CONFIG_BLK_DEV_CRYPTOLOOP=m
437CONFIG_BLK_DEV_NBD=m
438CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=16
440CONFIG_BLK_DEV_RAM_SIZE=4096
441# CONFIG_BLK_DEV_XIP is not set
442CONFIG_CDROM_PKTCDVD=m
443CONFIG_CDROM_PKTCDVD_BUFFERS=8
444# CONFIG_CDROM_PKTCDVD_WCACHE is not set
445CONFIG_ATA_OVER_ETH=m
446CONFIG_MISC_DEVICES=y
447# CONFIG_EEPROM_93CX6 is not set
448# CONFIG_ENCLOSURE_SERVICES is not set
449CONFIG_HAVE_IDE=y
450# CONFIG_IDE is not set
451
452#
453# SCSI device support
454#
455CONFIG_RAID_ATTRS=m
456CONFIG_SCSI=y
457CONFIG_SCSI_DMA=y
458CONFIG_SCSI_TGT=m
459# CONFIG_SCSI_NETLINK is not set
460CONFIG_SCSI_PROC_FS=y
421 461
422# 462#
423# Token Ring devices 463# SCSI support type (disk, tape, CD-ROM)
424# 464#
465CONFIG_BLK_DEV_SD=y
466CONFIG_CHR_DEV_ST=m
467CONFIG_CHR_DEV_OSST=m
468CONFIG_BLK_DEV_SR=y
469CONFIG_BLK_DEV_SR_VENDOR=y
470CONFIG_CHR_DEV_SG=m
471# CONFIG_CHR_DEV_SCH is not set
425 472
426# 473#
427# Wireless LAN (non-hamradio) 474# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
428# 475#
429# CONFIG_NET_RADIO is not set 476# CONFIG_SCSI_MULTI_LUN is not set
477CONFIG_SCSI_CONSTANTS=y
478# CONFIG_SCSI_LOGGING is not set
479# CONFIG_SCSI_SCAN_ASYNC is not set
480CONFIG_SCSI_WAIT_SCAN=m
430 481
431# 482#
432# Wan interfaces 483# SCSI Transports
484#
485CONFIG_SCSI_SPI_ATTRS=y
486# CONFIG_SCSI_FC_ATTRS is not set
487CONFIG_SCSI_ISCSI_ATTRS=m
488CONFIG_SCSI_SAS_ATTRS=m
489CONFIG_SCSI_SAS_LIBSAS=m
490CONFIG_SCSI_SAS_HOST_SMP=y
491# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
492CONFIG_SCSI_SRP_ATTRS=m
493CONFIG_SCSI_SRP_TGT_ATTRS=y
494CONFIG_SCSI_LOWLEVEL=y
495CONFIG_ISCSI_TCP=m
496CONFIG_53C700_BE_BUS=y
497# CONFIG_SCSI_DEBUG is not set
498CONFIG_MVME16x_SCSI=y
499CONFIG_MD=y
500CONFIG_BLK_DEV_MD=m
501CONFIG_MD_LINEAR=m
502CONFIG_MD_RAID0=m
503CONFIG_MD_RAID1=m
504# CONFIG_MD_RAID10 is not set
505CONFIG_MD_RAID456=m
506CONFIG_MD_RAID5_RESHAPE=y
507CONFIG_MD_MULTIPATH=m
508# CONFIG_MD_FAULTY is not set
509CONFIG_BLK_DEV_DM=m
510# CONFIG_DM_DEBUG is not set
511CONFIG_DM_CRYPT=m
512CONFIG_DM_SNAPSHOT=m
513CONFIG_DM_MIRROR=m
514CONFIG_DM_ZERO=m
515CONFIG_DM_MULTIPATH=m
516CONFIG_DM_MULTIPATH_EMC=m
517CONFIG_DM_MULTIPATH_RDAC=m
518CONFIG_DM_MULTIPATH_HP=m
519# CONFIG_DM_DELAY is not set
520CONFIG_DM_UEVENT=y
521CONFIG_NETDEVICES=y
522# CONFIG_NETDEVICES_MULTIQUEUE is not set
523CONFIG_DUMMY=m
524# CONFIG_BONDING is not set
525CONFIG_MACVLAN=m
526CONFIG_EQUALIZER=m
527# CONFIG_TUN is not set
528CONFIG_VETH=m
529# CONFIG_PHYLIB is not set
530CONFIG_NET_ETHERNET=y
531# CONFIG_MII is not set
532CONFIG_MVME16x_NET=y
533# CONFIG_IBM_NEW_EMAC_ZMII is not set
534# CONFIG_IBM_NEW_EMAC_RGMII is not set
535# CONFIG_IBM_NEW_EMAC_TAH is not set
536# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
537# CONFIG_B44 is not set
538# CONFIG_NETDEV_1000 is not set
539# CONFIG_NETDEV_10000 is not set
540
433# 541#
542# Wireless LAN
543#
544# CONFIG_WLAN_PRE80211 is not set
545# CONFIG_WLAN_80211 is not set
434# CONFIG_WAN is not set 546# CONFIG_WAN is not set
435CONFIG_PPP=m 547CONFIG_PPP=m
436# CONFIG_PPP_MULTILINK is not set 548# CONFIG_PPP_MULTILINK is not set
@@ -439,28 +551,28 @@ CONFIG_PPP_ASYNC=m
439CONFIG_PPP_SYNC_TTY=m 551CONFIG_PPP_SYNC_TTY=m
440CONFIG_PPP_DEFLATE=m 552CONFIG_PPP_DEFLATE=m
441CONFIG_PPP_BSDCOMP=m 553CONFIG_PPP_BSDCOMP=m
554CONFIG_PPP_MPPE=m
442CONFIG_PPPOE=m 555CONFIG_PPPOE=m
556CONFIG_PPPOL2TP=m
443CONFIG_SLIP=m 557CONFIG_SLIP=m
444CONFIG_SLIP_COMPRESSED=y 558CONFIG_SLIP_COMPRESSED=y
559CONFIG_SLHC=m
445CONFIG_SLIP_SMART=y 560CONFIG_SLIP_SMART=y
446CONFIG_SLIP_MODE_SLIP6=y 561CONFIG_SLIP_MODE_SLIP6=y
447CONFIG_SHAPER=m
448CONFIG_NETCONSOLE=m 562CONFIG_NETCONSOLE=m
449 563CONFIG_NETCONSOLE_DYNAMIC=y
450# 564CONFIG_NETPOLL=y
451# ISDN subsystem 565# CONFIG_NETPOLL_TRAP is not set
452# 566CONFIG_NET_POLL_CONTROLLER=y
453# CONFIG_ISDN is not set 567# CONFIG_ISDN is not set
454
455#
456# Telephony Support
457#
458# CONFIG_PHONE is not set 568# CONFIG_PHONE is not set
459 569
460# 570#
461# Input device support 571# Input device support
462# 572#
463CONFIG_INPUT=y 573CONFIG_INPUT=y
574CONFIG_INPUT_FF_MEMLESS=m
575# CONFIG_INPUT_POLLDEV is not set
464 576
465# 577#
466# Userland interfaces 578# Userland interfaces
@@ -470,7 +582,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
470CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 582CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
471CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 583CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
472# CONFIG_INPUT_JOYDEV is not set 584# CONFIG_INPUT_JOYDEV is not set
473# CONFIG_INPUT_TSDEV is not set
474# CONFIG_INPUT_EVDEV is not set 585# CONFIG_INPUT_EVDEV is not set
475# CONFIG_INPUT_EVBUG is not set 586# CONFIG_INPUT_EVBUG is not set
476 587
@@ -483,11 +594,19 @@ CONFIG_INPUT_KEYBOARD=y
483# CONFIG_KEYBOARD_LKKBD is not set 594# CONFIG_KEYBOARD_LKKBD is not set
484# CONFIG_KEYBOARD_XTKBD is not set 595# CONFIG_KEYBOARD_XTKBD is not set
485# CONFIG_KEYBOARD_NEWTON is not set 596# CONFIG_KEYBOARD_NEWTON is not set
597# CONFIG_KEYBOARD_STOWAWAY is not set
486CONFIG_INPUT_MOUSE=y 598CONFIG_INPUT_MOUSE=y
487CONFIG_MOUSE_PS2=m 599CONFIG_MOUSE_PS2=m
600CONFIG_MOUSE_PS2_ALPS=y
601CONFIG_MOUSE_PS2_LOGIPS2PP=y
602CONFIG_MOUSE_PS2_SYNAPTICS=y
603CONFIG_MOUSE_PS2_LIFEBOOK=y
604CONFIG_MOUSE_PS2_TRACKPOINT=y
605# CONFIG_MOUSE_PS2_TOUCHKIT is not set
488CONFIG_MOUSE_SERIAL=m 606CONFIG_MOUSE_SERIAL=m
489# CONFIG_MOUSE_VSXXXAA is not set 607# CONFIG_MOUSE_VSXXXAA is not set
490# CONFIG_INPUT_JOYSTICK is not set 608# CONFIG_INPUT_JOYSTICK is not set
609# CONFIG_INPUT_TABLET is not set
491# CONFIG_INPUT_TOUCHSCREEN is not set 610# CONFIG_INPUT_TOUCHSCREEN is not set
492# CONFIG_INPUT_MISC is not set 611# CONFIG_INPUT_MISC is not set
493 612
@@ -495,7 +614,7 @@ CONFIG_MOUSE_SERIAL=m
495# Hardware I/O ports 614# Hardware I/O ports
496# 615#
497CONFIG_SERIO=m 616CONFIG_SERIO=m
498CONFIG_SERIO_SERPORT=m 617# CONFIG_SERIO_SERPORT is not set
499CONFIG_SERIO_LIBPS2=m 618CONFIG_SERIO_LIBPS2=m
500# CONFIG_SERIO_RAW is not set 619# CONFIG_SERIO_RAW is not set
501# CONFIG_GAMEPORT is not set 620# CONFIG_GAMEPORT is not set
@@ -506,6 +625,7 @@ CONFIG_SERIO_LIBPS2=m
506CONFIG_VT=y 625CONFIG_VT=y
507CONFIG_VT_CONSOLE=y 626CONFIG_VT_CONSOLE=y
508CONFIG_HW_CONSOLE=y 627CONFIG_HW_CONSOLE=y
628CONFIG_VT_HW_CONSOLE_BINDING=y
509# CONFIG_SERIAL_NONSTANDARD is not set 629# CONFIG_SERIAL_NONSTANDARD is not set
510 630
511# 631#
@@ -519,116 +639,85 @@ CONFIG_HW_CONSOLE=y
519CONFIG_UNIX98_PTYS=y 639CONFIG_UNIX98_PTYS=y
520CONFIG_LEGACY_PTYS=y 640CONFIG_LEGACY_PTYS=y
521CONFIG_LEGACY_PTY_COUNT=256 641CONFIG_LEGACY_PTY_COUNT=256
522
523#
524# IPMI
525#
526# CONFIG_IPMI_HANDLER is not set 642# CONFIG_IPMI_HANDLER is not set
527 643# CONFIG_HW_RANDOM is not set
528#
529# Watchdog Cards
530#
531# CONFIG_WATCHDOG is not set
532CONFIG_GEN_RTC=m 644CONFIG_GEN_RTC=m
533CONFIG_GEN_RTC_X=y 645CONFIG_GEN_RTC_X=y
534# CONFIG_DTLK is not set
535# CONFIG_R3964 is not set 646# CONFIG_R3964 is not set
536
537#
538# Ftape, the floppy tape device driver
539#
540# CONFIG_DRM is not set
541# CONFIG_RAW_DRIVER is not set 647# CONFIG_RAW_DRIVER is not set
648# CONFIG_TCG_TPM is not set
649# CONFIG_I2C is not set
542 650
543# 651#
544# TPM devices 652# SPI support
545# 653#
654# CONFIG_SPI is not set
655# CONFIG_SPI_MASTER is not set
656# CONFIG_W1 is not set
657# CONFIG_POWER_SUPPLY is not set
658# CONFIG_HWMON is not set
659# CONFIG_THERMAL is not set
660# CONFIG_WATCHDOG is not set
546 661
547# 662#
548# I2C support 663# Sonics Silicon Backplane
549# 664#
550# CONFIG_I2C is not set 665CONFIG_SSB_POSSIBLE=y
666# CONFIG_SSB is not set
551 667
552# 668#
553# Dallas's 1-wire bus 669# Multifunction device drivers
554#
555# CONFIG_W1 is not set
556
557#
558# Misc devices
559# 670#
671# CONFIG_MFD_SM501 is not set
560 672
561# 673#
562# Multimedia devices 674# Multimedia devices
563# 675#
564# CONFIG_VIDEO_DEV is not set 676# CONFIG_VIDEO_DEV is not set
677# CONFIG_DVB_CORE is not set
678# CONFIG_DAB is not set
565 679
566# 680#
567# Digital Video Broadcasting Devices 681# Graphics support
568# 682#
569# CONFIG_DVB is not set 683# CONFIG_VGASTATE is not set
684# CONFIG_VIDEO_OUTPUT_CONTROL is not set
685# CONFIG_FB is not set
686# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
570 687
571# 688#
572# Graphics support 689# Display device support
573# 690#
574CONFIG_FB=y 691# CONFIG_DISPLAY_SUPPORT is not set
575# CONFIG_FB_CFB_FILLRECT is not set
576# CONFIG_FB_CFB_COPYAREA is not set
577# CONFIG_FB_CFB_IMAGEBLIT is not set
578# CONFIG_FB_SOFT_CURSOR is not set
579# CONFIG_FB_MACMODES is not set
580CONFIG_FB_MODE_HELPERS=y
581# CONFIG_FB_TILEBLITTING is not set
582# CONFIG_FB_S1D13XXX is not set
583# CONFIG_FB_VIRTUAL is not set
584 692
585# 693#
586# Console display driver support 694# Console display driver support
587# 695#
588CONFIG_DUMMY_CONSOLE=y 696CONFIG_DUMMY_CONSOLE=y
589CONFIG_FRAMEBUFFER_CONSOLE=y
590# CONFIG_FONTS is not set
591CONFIG_FONT_8x8=y
592CONFIG_FONT_8x16=y
593
594#
595# Logo configuration
596#
597CONFIG_LOGO=y
598CONFIG_LOGO_LINUX_MONO=y
599CONFIG_LOGO_LINUX_VGA16=y
600CONFIG_LOGO_LINUX_CLUT224=y
601# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
602 697
603# 698#
604# Sound 699# Sound
605# 700#
606# CONFIG_SOUND is not set 701# CONFIG_SOUND is not set
607 702CONFIG_HID_SUPPORT=y
608# 703CONFIG_HID=m
609# USB support 704# CONFIG_HID_DEBUG is not set
610# 705CONFIG_HIDRAW=y
611# CONFIG_USB_ARCH_HAS_HCD is not set 706# CONFIG_USB_SUPPORT is not set
612# CONFIG_USB_ARCH_HAS_OHCI is not set
613
614#
615# USB Gadget Support
616#
617# CONFIG_USB_GADGET is not set
618
619#
620# MMC/SD Card support
621#
622# CONFIG_MMC is not set 707# CONFIG_MMC is not set
708# CONFIG_MEMSTICK is not set
709# CONFIG_NEW_LEDS is not set
710# CONFIG_RTC_CLASS is not set
623 711
624# 712#
625# InfiniBand support 713# Userspace I/O
626# 714#
627# CONFIG_INFINIBAND is not set 715# CONFIG_UIO is not set
628 716
629# 717#
630# Character devices 718# Character devices
631# 719#
720CONFIG_SERIAL167=y
632CONFIG_MVME162_SCC=y 721CONFIG_MVME162_SCC=y
633CONFIG_SERIAL_CONSOLE=y 722CONFIG_SERIAL_CONSOLE=y
634 723
@@ -637,10 +726,11 @@ CONFIG_SERIAL_CONSOLE=y
637# 726#
638CONFIG_EXT2_FS=y 727CONFIG_EXT2_FS=y
639# CONFIG_EXT2_FS_XATTR is not set 728# CONFIG_EXT2_FS_XATTR is not set
729# CONFIG_EXT2_FS_XIP is not set
640CONFIG_EXT3_FS=y 730CONFIG_EXT3_FS=y
641# CONFIG_EXT3_FS_XATTR is not set 731# CONFIG_EXT3_FS_XATTR is not set
732# CONFIG_EXT4DEV_FS is not set
642CONFIG_JBD=y 733CONFIG_JBD=y
643# CONFIG_JBD_DEBUG is not set
644CONFIG_REISERFS_FS=m 734CONFIG_REISERFS_FS=m
645# CONFIG_REISERFS_CHECK is not set 735# CONFIG_REISERFS_CHECK is not set
646# CONFIG_REISERFS_PROC_INFO is not set 736# CONFIG_REISERFS_PROC_INFO is not set
@@ -651,25 +741,29 @@ CONFIG_JFS_FS=m
651# CONFIG_JFS_DEBUG is not set 741# CONFIG_JFS_DEBUG is not set
652# CONFIG_JFS_STATISTICS is not set 742# CONFIG_JFS_STATISTICS is not set
653CONFIG_FS_POSIX_ACL=y 743CONFIG_FS_POSIX_ACL=y
654
655#
656# XFS support
657#
658CONFIG_XFS_FS=m 744CONFIG_XFS_FS=m
659CONFIG_XFS_EXPORT=y
660# CONFIG_XFS_RT is not set
661# CONFIG_XFS_QUOTA is not set 745# CONFIG_XFS_QUOTA is not set
662# CONFIG_XFS_SECURITY is not set 746# CONFIG_XFS_SECURITY is not set
663# CONFIG_XFS_POSIX_ACL is not set 747# CONFIG_XFS_POSIX_ACL is not set
664CONFIG_MINIX_FS=y 748# CONFIG_XFS_RT is not set
665# CONFIG_ROMFS_FS is not set 749CONFIG_GFS2_FS=m
750CONFIG_GFS2_FS_LOCKING_NOLOCK=m
751CONFIG_GFS2_FS_LOCKING_DLM=m
752CONFIG_OCFS2_FS=m
753# CONFIG_OCFS2_DEBUG_MASKLOG is not set
754# CONFIG_OCFS2_DEBUG_FS is not set
755CONFIG_DNOTIFY=y
756CONFIG_INOTIFY=y
757CONFIG_INOTIFY_USER=y
666CONFIG_QUOTA=y 758CONFIG_QUOTA=y
759CONFIG_QUOTA_NETLINK_INTERFACE=y
760# CONFIG_PRINT_QUOTA_WARNING is not set
667# CONFIG_QFMT_V1 is not set 761# CONFIG_QFMT_V1 is not set
668# CONFIG_QFMT_V2 is not set 762# CONFIG_QFMT_V2 is not set
669CONFIG_QUOTACTL=y 763CONFIG_QUOTACTL=y
670CONFIG_DNOTIFY=y
671CONFIG_AUTOFS_FS=m 764CONFIG_AUTOFS_FS=m
672CONFIG_AUTOFS4_FS=m 765CONFIG_AUTOFS4_FS=m
766CONFIG_FUSE_FS=m
673 767
674# 768#
675# CD-ROM/DVD Filesystems 769# CD-ROM/DVD Filesystems
@@ -677,7 +771,6 @@ CONFIG_AUTOFS4_FS=m
677CONFIG_ISO9660_FS=y 771CONFIG_ISO9660_FS=y
678CONFIG_JOLIET=y 772CONFIG_JOLIET=y
679CONFIG_ZISOFS=y 773CONFIG_ZISOFS=y
680CONFIG_ZISOFS_FS=y
681CONFIG_UDF_FS=m 774CONFIG_UDF_FS=m
682CONFIG_UDF_NLS=y 775CONFIG_UDF_NLS=y
683 776
@@ -696,15 +789,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
696# 789#
697CONFIG_PROC_FS=y 790CONFIG_PROC_FS=y
698CONFIG_PROC_KCORE=y 791CONFIG_PROC_KCORE=y
792CONFIG_PROC_SYSCTL=y
699CONFIG_SYSFS=y 793CONFIG_SYSFS=y
700CONFIG_DEVFS_FS=y
701# CONFIG_DEVFS_MOUNT is not set
702# CONFIG_DEVFS_DEBUG is not set
703# CONFIG_DEVPTS_FS_XATTR is not set
704CONFIG_TMPFS=y 794CONFIG_TMPFS=y
705# CONFIG_TMPFS_XATTR is not set 795# CONFIG_TMPFS_POSIX_ACL is not set
706# CONFIG_HUGETLB_PAGE is not set 796# CONFIG_HUGETLB_PAGE is not set
707CONFIG_RAMFS=y 797CONFIG_CONFIGFS_FS=m
708 798
709# 799#
710# Miscellaneous filesystems 800# Miscellaneous filesystems
@@ -718,44 +808,40 @@ CONFIG_HFSPLUS_FS=m
718# CONFIG_EFS_FS is not set 808# CONFIG_EFS_FS is not set
719CONFIG_CRAMFS=m 809CONFIG_CRAMFS=m
720# CONFIG_VXFS_FS is not set 810# CONFIG_VXFS_FS is not set
811CONFIG_MINIX_FS=y
721CONFIG_HPFS_FS=m 812CONFIG_HPFS_FS=m
722# CONFIG_QNX4FS_FS is not set 813# CONFIG_QNX4FS_FS is not set
814# CONFIG_ROMFS_FS is not set
723CONFIG_SYSV_FS=m 815CONFIG_SYSV_FS=m
724CONFIG_UFS_FS=m 816CONFIG_UFS_FS=m
725# CONFIG_UFS_FS_WRITE is not set 817# CONFIG_UFS_FS_WRITE is not set
726 818# CONFIG_UFS_DEBUG is not set
727# 819CONFIG_NETWORK_FILESYSTEMS=y
728# Network File Systems
729#
730CONFIG_NFS_FS=y 820CONFIG_NFS_FS=y
731CONFIG_NFS_V3=y 821CONFIG_NFS_V3=y
822# CONFIG_NFS_V3_ACL is not set
732CONFIG_NFS_V4=y 823CONFIG_NFS_V4=y
733# CONFIG_NFS_DIRECTIO is not set 824# CONFIG_NFS_DIRECTIO is not set
734CONFIG_NFSD=m 825CONFIG_NFSD=m
735CONFIG_NFSD_V3=y 826CONFIG_NFSD_V3=y
736CONFIG_NFSD_V4=y 827# CONFIG_NFSD_V3_ACL is not set
828# CONFIG_NFSD_V4 is not set
737CONFIG_NFSD_TCP=y 829CONFIG_NFSD_TCP=y
738CONFIG_ROOT_NFS=y 830CONFIG_ROOT_NFS=y
739CONFIG_LOCKD=y 831CONFIG_LOCKD=y
740CONFIG_LOCKD_V4=y 832CONFIG_LOCKD_V4=y
741CONFIG_EXPORTFS=m 833CONFIG_EXPORTFS=m
834CONFIG_NFS_COMMON=y
742CONFIG_SUNRPC=y 835CONFIG_SUNRPC=y
743CONFIG_SUNRPC_GSS=y 836CONFIG_SUNRPC_GSS=y
837CONFIG_SUNRPC_BIND34=y
744CONFIG_RPCSEC_GSS_KRB5=y 838CONFIG_RPCSEC_GSS_KRB5=y
745# CONFIG_RPCSEC_GSS_SPKM3 is not set 839# CONFIG_RPCSEC_GSS_SPKM3 is not set
746CONFIG_SMB_FS=m 840CONFIG_SMB_FS=m
747CONFIG_SMB_NLS_DEFAULT=y 841CONFIG_SMB_NLS_DEFAULT=y
748CONFIG_SMB_NLS_REMOTE="cp437" 842CONFIG_SMB_NLS_REMOTE="cp437"
749# CONFIG_CIFS is not set 843# CONFIG_CIFS is not set
750CONFIG_NCP_FS=m 844# CONFIG_NCP_FS is not set
751# CONFIG_NCPFS_PACKET_SIGNING is not set
752# CONFIG_NCPFS_IOCTL_LOCKING is not set
753# CONFIG_NCPFS_STRONG is not set
754# CONFIG_NCPFS_NFS_NS is not set
755# CONFIG_NCPFS_OS2_NS is not set
756# CONFIG_NCPFS_SMALLDOS is not set
757CONFIG_NCPFS_NLS=y
758# CONFIG_NCPFS_EXTRAS is not set
759CONFIG_CODA_FS=m 845CONFIG_CODA_FS=m
760# CONFIG_CODA_FS_OLD_API is not set 846# CONFIG_CODA_FS_OLD_API is not set
761# CONFIG_AFS_FS is not set 847# CONFIG_AFS_FS is not set
@@ -765,10 +851,7 @@ CONFIG_CODA_FS=m
765# 851#
766# CONFIG_PARTITION_ADVANCED is not set 852# CONFIG_PARTITION_ADVANCED is not set
767CONFIG_MSDOS_PARTITION=y 853CONFIG_MSDOS_PARTITION=y
768 854CONFIG_SYSV68_PARTITION=y
769#
770# Native Language Support
771#
772CONFIG_NLS=y 855CONFIG_NLS=y
773CONFIG_NLS_DEFAULT="iso8859-1" 856CONFIG_NLS_DEFAULT="iso8859-1"
774CONFIG_NLS_CODEPAGE_437=y 857CONFIG_NLS_CODEPAGE_437=y
@@ -809,35 +892,42 @@ CONFIG_NLS_ISO8859_15=m
809CONFIG_NLS_KOI8_R=m 892CONFIG_NLS_KOI8_R=m
810CONFIG_NLS_KOI8_U=m 893CONFIG_NLS_KOI8_U=m
811CONFIG_NLS_UTF8=m 894CONFIG_NLS_UTF8=m
895CONFIG_DLM=m
896# CONFIG_DLM_DEBUG is not set
812 897
813# 898#
814# Kernel hacking 899# Kernel hacking
815# 900#
816# CONFIG_PRINTK_TIME is not set 901# CONFIG_PRINTK_TIME is not set
817CONFIG_DEBUG_KERNEL=y 902CONFIG_ENABLE_WARN_DEPRECATED=y
903CONFIG_ENABLE_MUST_CHECK=y
818CONFIG_MAGIC_SYSRQ=y 904CONFIG_MAGIC_SYSRQ=y
819CONFIG_LOG_BUF_SHIFT=16 905# CONFIG_UNUSED_SYMBOLS is not set
820# CONFIG_SCHEDSTATS is not set
821# CONFIG_DEBUG_SLAB is not set
822# CONFIG_DEBUG_SPINLOCK is not set
823# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
824# CONFIG_DEBUG_KOBJECT is not set
825CONFIG_DEBUG_BUGVERBOSE=y
826# CONFIG_DEBUG_INFO is not set
827# CONFIG_DEBUG_FS is not set 906# CONFIG_DEBUG_FS is not set
828# CONFIG_FRAME_POINTER is not set 907# CONFIG_HEADERS_CHECK is not set
908# CONFIG_DEBUG_KERNEL is not set
909CONFIG_DEBUG_BUGVERBOSE=y
910# CONFIG_SAMPLES is not set
829 911
830# 912#
831# Security options 913# Security options
832# 914#
833# CONFIG_KEYS is not set 915# CONFIG_KEYS is not set
834# CONFIG_SECURITY is not set 916# CONFIG_SECURITY is not set
835 917# CONFIG_SECURITY_FILE_CAPABILITIES is not set
836# 918CONFIG_XOR_BLOCKS=m
837# Cryptographic options 919CONFIG_ASYNC_CORE=m
838# 920CONFIG_ASYNC_MEMCPY=m
921CONFIG_ASYNC_XOR=m
839CONFIG_CRYPTO=y 922CONFIG_CRYPTO=y
923CONFIG_CRYPTO_ALGAPI=y
924CONFIG_CRYPTO_AEAD=m
925CONFIG_CRYPTO_BLKCIPHER=y
926CONFIG_CRYPTO_SEQIV=m
927CONFIG_CRYPTO_HASH=y
928CONFIG_CRYPTO_MANAGER=y
840CONFIG_CRYPTO_HMAC=y 929CONFIG_CRYPTO_HMAC=y
930CONFIG_CRYPTO_XCBC=m
841CONFIG_CRYPTO_NULL=m 931CONFIG_CRYPTO_NULL=m
842CONFIG_CRYPTO_MD4=m 932CONFIG_CRYPTO_MD4=m
843CONFIG_CRYPTO_MD5=y 933CONFIG_CRYPTO_MD5=y
@@ -846,9 +936,21 @@ CONFIG_CRYPTO_SHA256=m
846CONFIG_CRYPTO_SHA512=m 936CONFIG_CRYPTO_SHA512=m
847CONFIG_CRYPTO_WP512=m 937CONFIG_CRYPTO_WP512=m
848CONFIG_CRYPTO_TGR192=m 938CONFIG_CRYPTO_TGR192=m
939CONFIG_CRYPTO_GF128MUL=m
940CONFIG_CRYPTO_ECB=m
941CONFIG_CRYPTO_CBC=y
942CONFIG_CRYPTO_PCBC=m
943CONFIG_CRYPTO_LRW=m
944CONFIG_CRYPTO_XTS=m
945CONFIG_CRYPTO_CTR=m
946CONFIG_CRYPTO_GCM=m
947CONFIG_CRYPTO_CCM=m
948CONFIG_CRYPTO_CRYPTD=m
849CONFIG_CRYPTO_DES=y 949CONFIG_CRYPTO_DES=y
950CONFIG_CRYPTO_FCRYPT=m
850CONFIG_CRYPTO_BLOWFISH=m 951CONFIG_CRYPTO_BLOWFISH=m
851CONFIG_CRYPTO_TWOFISH=m 952CONFIG_CRYPTO_TWOFISH=m
953CONFIG_CRYPTO_TWOFISH_COMMON=m
852CONFIG_CRYPTO_SERPENT=m 954CONFIG_CRYPTO_SERPENT=m
853CONFIG_CRYPTO_AES=m 955CONFIG_CRYPTO_AES=m
854CONFIG_CRYPTO_CAST5=m 956CONFIG_CRYPTO_CAST5=m
@@ -857,20 +959,35 @@ CONFIG_CRYPTO_TEA=m
857CONFIG_CRYPTO_ARC4=m 959CONFIG_CRYPTO_ARC4=m
858CONFIG_CRYPTO_KHAZAD=m 960CONFIG_CRYPTO_KHAZAD=m
859CONFIG_CRYPTO_ANUBIS=m 961CONFIG_CRYPTO_ANUBIS=m
962CONFIG_CRYPTO_SEED=m
963CONFIG_CRYPTO_SALSA20=m
860CONFIG_CRYPTO_DEFLATE=m 964CONFIG_CRYPTO_DEFLATE=m
861CONFIG_CRYPTO_MICHAEL_MIC=m 965CONFIG_CRYPTO_MICHAEL_MIC=m
862CONFIG_CRYPTO_CRC32C=m 966CONFIG_CRYPTO_CRC32C=m
967CONFIG_CRYPTO_CAMELLIA=m
863CONFIG_CRYPTO_TEST=m 968CONFIG_CRYPTO_TEST=m
864 969CONFIG_CRYPTO_AUTHENC=m
865# 970CONFIG_CRYPTO_LZO=m
866# Hardware crypto devices 971# CONFIG_CRYPTO_HW is not set
867#
868 972
869# 973#
870# Library routines 974# Library routines
871# 975#
976CONFIG_BITREVERSE=y
872CONFIG_CRC_CCITT=m 977CONFIG_CRC_CCITT=m
978CONFIG_CRC16=m
979# CONFIG_CRC_ITU_T is not set
873CONFIG_CRC32=y 980CONFIG_CRC32=y
981# CONFIG_CRC7 is not set
874CONFIG_LIBCRC32C=m 982CONFIG_LIBCRC32C=m
875CONFIG_ZLIB_INFLATE=y 983CONFIG_ZLIB_INFLATE=y
876CONFIG_ZLIB_DEFLATE=m 984CONFIG_ZLIB_DEFLATE=m
985CONFIG_LZO_COMPRESS=m
986CONFIG_LZO_DECOMPRESS=m
987CONFIG_TEXTSEARCH=y
988CONFIG_TEXTSEARCH_KMP=m
989CONFIG_TEXTSEARCH_BM=m
990CONFIG_TEXTSEARCH_FSM=m
991CONFIG_PLIST=y
992CONFIG_HAS_IOMEM=y
993CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig
index 856238634d4..165658fe73e 100644
--- a/arch/m68k/configs/q40_defconfig
+++ b/arch/m68k/configs/q40_defconfig
@@ -1,63 +1,112 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:34:58 2005 4# Wed Apr 2 20:46:20 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_ARCH_MAY_HAVE_PC_FDC=y
16CONFIG_NO_IOPORT=y
17# CONFIG_NO_DMA is not set
18CONFIG_ARCH_SUPPORTS_AOUT=y
19CONFIG_HZ=100
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 21
12# 22#
13# Code maturity level options 23# General setup
14# 24#
15CONFIG_EXPERIMENTAL=y 25CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 26CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 27CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-q40" 28CONFIG_LOCALVERSION="-q40"
29CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 30CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 31CONFIG_SYSVIPC=y
32CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 33CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 34CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 35# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 36# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 37# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 38# CONFIG_IKCONFIG is not set
39CONFIG_LOG_BUF_SHIFT=14
40# CONFIG_CGROUPS is not set
41# CONFIG_GROUP_SCHED is not set
42# CONFIG_SYSFS_DEPRECATED_V2 is not set
43CONFIG_RELAY=y
44CONFIG_NAMESPACES=y
45# CONFIG_UTS_NS is not set
46# CONFIG_IPC_NS is not set
47# CONFIG_USER_NS is not set
48# CONFIG_PID_NS is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
52CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 56CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 57# CONFIG_KALLSYMS_EXTRA_PASS is not set
58CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 59CONFIG_PRINTK=y
39CONFIG_BUG=y 60CONFIG_BUG=y
61CONFIG_ELF_CORE=y
62# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 63CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 70CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 71CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 72CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 73# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 74# CONFIG_SLOB is not set
75# CONFIG_PROFILING is not set
76# CONFIG_MARKERS is not set
77# CONFIG_HAVE_OPROFILE is not set
78# CONFIG_HAVE_KPROBES is not set
79# CONFIG_HAVE_KRETPROBES is not set
80CONFIG_PROC_PAGE_MONITOR=y
81CONFIG_SLABINFO=y
82CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 83# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 84CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 85CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 86CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 87# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 88# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 89# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 90CONFIG_KMOD=y
91CONFIG_BLOCK=y
92# CONFIG_LBD is not set
93# CONFIG_BLK_DEV_IO_TRACE is not set
94# CONFIG_LSF is not set
95CONFIG_BLK_DEV_BSG=y
96
97#
98# IO Schedulers
99#
100CONFIG_IOSCHED_NOOP=y
101CONFIG_IOSCHED_AS=y
102CONFIG_IOSCHED_DEADLINE=y
103CONFIG_IOSCHED_CFQ=y
104CONFIG_DEFAULT_AS=y
105# CONFIG_DEFAULT_DEADLINE is not set
106# CONFIG_DEFAULT_CFQ is not set
107# CONFIG_DEFAULT_NOOP is not set
108CONFIG_DEFAULT_IOSCHED="anticipatory"
109CONFIG_CLASSIC_RCU=y
61 110
62# 111#
63# Platform dependent setup 112# Platform dependent setup
@@ -80,10 +129,24 @@ CONFIG_Q40=y
80CONFIG_M68040=y 129CONFIG_M68040=y
81CONFIG_M68060=y 130CONFIG_M68060=y
82CONFIG_MMU_MOTOROLA=y 131CONFIG_MMU_MOTOROLA=y
83CONFIG_M68KFPU_EMU=y 132# CONFIG_M68KFPU_EMU is not set
84CONFIG_M68KFPU_EMU_EXTRAPREC=y
85# CONFIG_M68KFPU_EMU_ONLY is not set
86# CONFIG_ADVANCED is not set 133# CONFIG_ADVANCED is not set
134CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
135CONFIG_NODES_SHIFT=3
136CONFIG_SELECT_MEMORY_MODEL=y
137# CONFIG_FLATMEM_MANUAL is not set
138CONFIG_DISCONTIGMEM_MANUAL=y
139# CONFIG_SPARSEMEM_MANUAL is not set
140CONFIG_DISCONTIGMEM=y
141CONFIG_FLAT_NODE_MEM_MAP=y
142CONFIG_NEED_MULTIPLE_NODES=y
143# CONFIG_SPARSEMEM_STATIC is not set
144# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
145CONFIG_SPLIT_PTLOCK_CPUS=4
146# CONFIG_RESOURCES_64BIT is not set
147CONFIG_ZONE_DMA_FLAG=1
148CONFIG_BOUNCE=y
149CONFIG_VIRT_TO_BUS=y
87 150
88# 151#
89# General setup 152# General setup
@@ -91,41 +154,282 @@ CONFIG_M68KFPU_EMU_EXTRAPREC=y
91CONFIG_BINFMT_ELF=y 154CONFIG_BINFMT_ELF=y
92CONFIG_BINFMT_AOUT=m 155CONFIG_BINFMT_AOUT=m
93CONFIG_BINFMT_MISC=m 156CONFIG_BINFMT_MISC=m
94# CONFIG_HEARTBEAT is not set 157CONFIG_HEARTBEAT=y
95CONFIG_PROC_HARDWARE=y 158CONFIG_PROC_HARDWARE=y
96CONFIG_ISA=y 159CONFIG_ISA=y
97CONFIG_GENERIC_ISA_DMA=y 160CONFIG_GENERIC_ISA_DMA=y
161CONFIG_ZONE_DMA=y
162# CONFIG_ARCH_SUPPORTS_MSI is not set
98 163
99# 164#
100# Device Drivers 165# Networking
101# 166#
167CONFIG_NET=y
102 168
103# 169#
104# Generic Driver Options 170# Networking options
105# 171#
106CONFIG_STANDALONE=y 172CONFIG_PACKET=y
107CONFIG_PREVENT_FIRMWARE_BUILD=y 173# CONFIG_PACKET_MMAP is not set
108CONFIG_FW_LOADER=m 174CONFIG_UNIX=y
109# CONFIG_DEBUG_DRIVER is not set 175CONFIG_XFRM=y
176# CONFIG_XFRM_USER is not set
177# CONFIG_XFRM_SUB_POLICY is not set
178CONFIG_XFRM_MIGRATE=y
179# CONFIG_XFRM_STATISTICS is not set
180CONFIG_NET_KEY=y
181CONFIG_NET_KEY_MIGRATE=y
182CONFIG_INET=y
183# CONFIG_IP_MULTICAST is not set
184# CONFIG_IP_ADVANCED_ROUTER is not set
185CONFIG_IP_FIB_HASH=y
186# CONFIG_IP_PNP is not set
187CONFIG_NET_IPIP=m
188CONFIG_NET_IPGRE=m
189# CONFIG_ARPD is not set
190CONFIG_SYN_COOKIES=y
191CONFIG_INET_AH=m
192CONFIG_INET_ESP=m
193CONFIG_INET_IPCOMP=m
194CONFIG_INET_XFRM_TUNNEL=m
195CONFIG_INET_TUNNEL=m
196CONFIG_INET_XFRM_MODE_TRANSPORT=m
197CONFIG_INET_XFRM_MODE_TUNNEL=m
198CONFIG_INET_XFRM_MODE_BEET=m
199CONFIG_INET_LRO=m
200CONFIG_INET_DIAG=m
201CONFIG_INET_TCP_DIAG=m
202# CONFIG_TCP_CONG_ADVANCED is not set
203CONFIG_TCP_CONG_CUBIC=y
204CONFIG_DEFAULT_TCP_CONG="cubic"
205# CONFIG_TCP_MD5SIG is not set
206# CONFIG_IP_VS is not set
207CONFIG_IPV6=m
208CONFIG_IPV6_PRIVACY=y
209CONFIG_IPV6_ROUTER_PREF=y
210CONFIG_IPV6_ROUTE_INFO=y
211# CONFIG_IPV6_OPTIMISTIC_DAD is not set
212CONFIG_INET6_AH=m
213CONFIG_INET6_ESP=m
214CONFIG_INET6_IPCOMP=m
215# CONFIG_IPV6_MIP6 is not set
216CONFIG_INET6_XFRM_TUNNEL=m
217CONFIG_INET6_TUNNEL=m
218CONFIG_INET6_XFRM_MODE_TRANSPORT=m
219CONFIG_INET6_XFRM_MODE_TUNNEL=m
220CONFIG_INET6_XFRM_MODE_BEET=m
221CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
222CONFIG_IPV6_SIT=m
223CONFIG_IPV6_TUNNEL=m
224# CONFIG_IPV6_MULTIPLE_TABLES is not set
225# CONFIG_NETWORK_SECMARK is not set
226CONFIG_NETFILTER=y
227# CONFIG_NETFILTER_DEBUG is not set
228CONFIG_NETFILTER_ADVANCED=y
229
230#
231# Core Netfilter Configuration
232#
233CONFIG_NETFILTER_NETLINK=m
234CONFIG_NETFILTER_NETLINK_QUEUE=m
235CONFIG_NETFILTER_NETLINK_LOG=m
236CONFIG_NF_CONNTRACK=m
237CONFIG_NF_CT_ACCT=y
238CONFIG_NF_CONNTRACK_MARK=y
239# CONFIG_NF_CONNTRACK_EVENTS is not set
240CONFIG_NF_CT_PROTO_GRE=m
241CONFIG_NF_CT_PROTO_SCTP=m
242CONFIG_NF_CT_PROTO_UDPLITE=m
243CONFIG_NF_CONNTRACK_AMANDA=m
244CONFIG_NF_CONNTRACK_FTP=m
245CONFIG_NF_CONNTRACK_H323=m
246CONFIG_NF_CONNTRACK_IRC=m
247CONFIG_NF_CONNTRACK_NETBIOS_NS=m
248CONFIG_NF_CONNTRACK_PPTP=m
249CONFIG_NF_CONNTRACK_SANE=m
250CONFIG_NF_CONNTRACK_SIP=m
251CONFIG_NF_CONNTRACK_TFTP=m
252# CONFIG_NF_CT_NETLINK is not set
253CONFIG_NETFILTER_XTABLES=m
254CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
255CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
256CONFIG_NETFILTER_XT_TARGET_DSCP=m
257CONFIG_NETFILTER_XT_TARGET_MARK=m
258CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
259CONFIG_NETFILTER_XT_TARGET_NFLOG=m
260CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
261CONFIG_NETFILTER_XT_TARGET_RATEEST=m
262CONFIG_NETFILTER_XT_TARGET_TRACE=m
263CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
264CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
265CONFIG_NETFILTER_XT_MATCH_COMMENT=m
266CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
267CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
268CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
269CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
270CONFIG_NETFILTER_XT_MATCH_DCCP=m
271CONFIG_NETFILTER_XT_MATCH_DSCP=m
272CONFIG_NETFILTER_XT_MATCH_ESP=m
273CONFIG_NETFILTER_XT_MATCH_HELPER=m
274CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
275CONFIG_NETFILTER_XT_MATCH_LENGTH=m
276CONFIG_NETFILTER_XT_MATCH_LIMIT=m
277CONFIG_NETFILTER_XT_MATCH_MAC=m
278CONFIG_NETFILTER_XT_MATCH_MARK=m
279CONFIG_NETFILTER_XT_MATCH_OWNER=m
280CONFIG_NETFILTER_XT_MATCH_POLICY=m
281CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
282CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
283CONFIG_NETFILTER_XT_MATCH_QUOTA=m
284CONFIG_NETFILTER_XT_MATCH_RATEEST=m
285CONFIG_NETFILTER_XT_MATCH_REALM=m
286CONFIG_NETFILTER_XT_MATCH_SCTP=m
287CONFIG_NETFILTER_XT_MATCH_STATE=m
288CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
289CONFIG_NETFILTER_XT_MATCH_STRING=m
290CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
291CONFIG_NETFILTER_XT_MATCH_TIME=m
292CONFIG_NETFILTER_XT_MATCH_U32=m
293CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
110 294
111# 295#
112# Memory Technology Devices (MTD) 296# IP: Netfilter Configuration
113# 297#
114# CONFIG_MTD is not set 298CONFIG_NF_CONNTRACK_IPV4=m
299CONFIG_NF_CONNTRACK_PROC_COMPAT=y
300CONFIG_IP_NF_QUEUE=m
301CONFIG_IP_NF_IPTABLES=m
302CONFIG_IP_NF_MATCH_RECENT=m
303CONFIG_IP_NF_MATCH_ECN=m
304CONFIG_IP_NF_MATCH_AH=m
305CONFIG_IP_NF_MATCH_TTL=m
306CONFIG_IP_NF_MATCH_ADDRTYPE=m
307CONFIG_IP_NF_FILTER=m
308CONFIG_IP_NF_TARGET_REJECT=m
309CONFIG_IP_NF_TARGET_LOG=m
310CONFIG_IP_NF_TARGET_ULOG=m
311CONFIG_NF_NAT=m
312CONFIG_NF_NAT_NEEDED=y
313CONFIG_IP_NF_TARGET_MASQUERADE=m
314CONFIG_IP_NF_TARGET_REDIRECT=m
315CONFIG_IP_NF_TARGET_NETMAP=m
316CONFIG_NF_NAT_SNMP_BASIC=m
317CONFIG_NF_NAT_PROTO_GRE=m
318CONFIG_NF_NAT_FTP=m
319CONFIG_NF_NAT_IRC=m
320CONFIG_NF_NAT_TFTP=m
321CONFIG_NF_NAT_AMANDA=m
322CONFIG_NF_NAT_PPTP=m
323CONFIG_NF_NAT_H323=m
324CONFIG_NF_NAT_SIP=m
325CONFIG_IP_NF_MANGLE=m
326CONFIG_IP_NF_TARGET_ECN=m
327CONFIG_IP_NF_TARGET_TTL=m
328CONFIG_IP_NF_TARGET_CLUSTERIP=m
329CONFIG_IP_NF_RAW=m
330CONFIG_IP_NF_ARPTABLES=m
331CONFIG_IP_NF_ARPFILTER=m
332CONFIG_IP_NF_ARP_MANGLE=m
115 333
116# 334#
117# Parallel port support 335# IPv6: Netfilter Configuration
118# 336#
119# CONFIG_PARPORT is not set 337CONFIG_NF_CONNTRACK_IPV6=m
338CONFIG_IP6_NF_QUEUE=m
339CONFIG_IP6_NF_IPTABLES=m
340CONFIG_IP6_NF_MATCH_RT=m
341CONFIG_IP6_NF_MATCH_OPTS=m
342CONFIG_IP6_NF_MATCH_FRAG=m
343CONFIG_IP6_NF_MATCH_HL=m
344CONFIG_IP6_NF_MATCH_IPV6HEADER=m
345CONFIG_IP6_NF_MATCH_AH=m
346CONFIG_IP6_NF_MATCH_MH=m
347CONFIG_IP6_NF_MATCH_EUI64=m
348CONFIG_IP6_NF_FILTER=m
349CONFIG_IP6_NF_TARGET_LOG=m
350CONFIG_IP6_NF_TARGET_REJECT=m
351CONFIG_IP6_NF_MANGLE=m
352CONFIG_IP6_NF_TARGET_HL=m
353CONFIG_IP6_NF_RAW=m
354CONFIG_IP_DCCP=m
355CONFIG_INET_DCCP_DIAG=m
356CONFIG_IP_DCCP_ACKVEC=y
120 357
121# 358#
122# Plug and Play support 359# DCCP CCIDs Configuration (EXPERIMENTAL)
123# 360#
124# CONFIG_PNP is not set 361CONFIG_IP_DCCP_CCID2=m
362# CONFIG_IP_DCCP_CCID2_DEBUG is not set
363CONFIG_IP_DCCP_CCID3=m
364# CONFIG_IP_DCCP_CCID3_DEBUG is not set
365CONFIG_IP_DCCP_CCID3_RTO=100
366CONFIG_IP_DCCP_TFRC_LIB=m
367CONFIG_IP_SCTP=m
368# CONFIG_SCTP_DBG_MSG is not set
369# CONFIG_SCTP_DBG_OBJCNT is not set
370# CONFIG_SCTP_HMAC_NONE is not set
371# CONFIG_SCTP_HMAC_SHA1 is not set
372CONFIG_SCTP_HMAC_MD5=y
373# CONFIG_TIPC is not set
374# CONFIG_ATM is not set
375# CONFIG_BRIDGE is not set
376# CONFIG_VLAN_8021Q is not set
377# CONFIG_DECNET is not set
378CONFIG_LLC=m
379# CONFIG_LLC2 is not set
380# CONFIG_IPX is not set
381CONFIG_ATALK=m
382# CONFIG_DEV_APPLETALK is not set
383# CONFIG_X25 is not set
384# CONFIG_LAPB is not set
385# CONFIG_ECONET is not set
386# CONFIG_WAN_ROUTER is not set
387# CONFIG_NET_SCHED is not set
388CONFIG_NET_CLS_ROUTE=y
125 389
126# 390#
127# Block devices 391# Network testing
128# 392#
393# CONFIG_NET_PKTGEN is not set
394# CONFIG_HAMRADIO is not set
395# CONFIG_CAN is not set
396# CONFIG_IRDA is not set
397# CONFIG_BT is not set
398# CONFIG_AF_RXRPC is not set
399
400#
401# Wireless
402#
403# CONFIG_CFG80211 is not set
404CONFIG_WIRELESS_EXT=y
405# CONFIG_MAC80211 is not set
406CONFIG_IEEE80211=m
407# CONFIG_IEEE80211_DEBUG is not set
408CONFIG_IEEE80211_CRYPT_WEP=m
409CONFIG_IEEE80211_CRYPT_CCMP=m
410CONFIG_IEEE80211_CRYPT_TKIP=m
411CONFIG_IEEE80211_SOFTMAC=m
412# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
413# CONFIG_RFKILL is not set
414# CONFIG_NET_9P is not set
415
416#
417# Device Drivers
418#
419
420#
421# Generic Driver Options
422#
423CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
424CONFIG_STANDALONE=y
425CONFIG_PREVENT_FIRMWARE_BUILD=y
426CONFIG_FW_LOADER=m
427# CONFIG_SYS_HYPERVISOR is not set
428CONFIG_CONNECTOR=m
429# CONFIG_MTD is not set
430# CONFIG_PARPORT is not set
431# CONFIG_PNP is not set
432CONFIG_BLK_DEV=y
129# CONFIG_BLK_DEV_FD is not set 433# CONFIG_BLK_DEV_FD is not set
130# CONFIG_BLK_DEV_COW_COMMON is not set 434# CONFIG_BLK_DEV_COW_COMMON is not set
131CONFIG_BLK_DEV_LOOP=y 435CONFIG_BLK_DEV_LOOP=y
@@ -134,54 +438,64 @@ CONFIG_BLK_DEV_NBD=m
134CONFIG_BLK_DEV_RAM=y 438CONFIG_BLK_DEV_RAM=y
135CONFIG_BLK_DEV_RAM_COUNT=16 439CONFIG_BLK_DEV_RAM_COUNT=16
136CONFIG_BLK_DEV_RAM_SIZE=4096 440CONFIG_BLK_DEV_RAM_SIZE=4096
137CONFIG_BLK_DEV_INITRD=y 441# CONFIG_BLK_DEV_XIP is not set
138CONFIG_INITRAMFS_SOURCE=""
139CONFIG_CDROM_PKTCDVD=m 442CONFIG_CDROM_PKTCDVD=m
140CONFIG_CDROM_PKTCDVD_BUFFERS=8 443CONFIG_CDROM_PKTCDVD_BUFFERS=8
141# CONFIG_CDROM_PKTCDVD_WCACHE is not set 444# CONFIG_CDROM_PKTCDVD_WCACHE is not set
142
143#
144# IO Schedulers
145#
146CONFIG_IOSCHED_NOOP=y
147CONFIG_IOSCHED_AS=y
148CONFIG_IOSCHED_DEADLINE=y
149CONFIG_IOSCHED_CFQ=y
150CONFIG_ATA_OVER_ETH=m 445CONFIG_ATA_OVER_ETH=m
151 446CONFIG_MISC_DEVICES=y
152# 447# CONFIG_EEPROM_93CX6 is not set
153# ATA/ATAPI/MFM/RLL support 448# CONFIG_ENCLOSURE_SERVICES is not set
154# 449CONFIG_HAVE_IDE=y
155CONFIG_IDE=y 450CONFIG_IDE=y
156CONFIG_BLK_DEV_IDE=y 451CONFIG_BLK_DEV_IDE=y
157 452
158# 453#
159# Please see Documentation/ide.txt for help/info on IDE drives 454# Please see Documentation/ide/ide.txt for help/info on IDE drives
160# 455#
161# CONFIG_BLK_DEV_IDE_SATA is not set 456# CONFIG_BLK_DEV_IDE_SATA is not set
162CONFIG_BLK_DEV_IDEDISK=y 457CONFIG_BLK_DEV_IDEDISK=y
163# CONFIG_IDEDISK_MULTI_MODE is not set 458# CONFIG_IDEDISK_MULTI_MODE is not set
164CONFIG_BLK_DEV_IDECD=y 459CONFIG_BLK_DEV_IDECD=y
165CONFIG_BLK_DEV_IDETAPE=m 460CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
461# CONFIG_BLK_DEV_IDETAPE is not set
166CONFIG_BLK_DEV_IDEFLOPPY=m 462CONFIG_BLK_DEV_IDEFLOPPY=m
167# CONFIG_BLK_DEV_IDESCSI is not set 463# CONFIG_BLK_DEV_IDESCSI is not set
168# CONFIG_IDE_TASK_IOCTL is not set 464# CONFIG_IDE_TASK_IOCTL is not set
465CONFIG_IDE_PROC_FS=y
169 466
170# 467#
171# IDE chipset support/bugfixes 468# IDE chipset support/bugfixes
172# 469#
173CONFIG_IDE_GENERIC=y 470# CONFIG_IDE_GENERIC is not set
174# CONFIG_IDE_ARM is not set 471# CONFIG_BLK_DEV_PLATFORM is not set
175CONFIG_BLK_DEV_Q40IDE=y 472CONFIG_BLK_DEV_Q40IDE=y
176# CONFIG_IDE_CHIPSETS is not set 473
474#
475# Other IDE chipsets support
476#
477
478#
479# Note: most of these also require special kernel boot parameters
480#
481# CONFIG_BLK_DEV_4DRIVES is not set
482# CONFIG_BLK_DEV_ALI14XX is not set
483# CONFIG_BLK_DEV_DTC2278 is not set
484# CONFIG_BLK_DEV_HT6560B is not set
485# CONFIG_BLK_DEV_QD65XX is not set
486# CONFIG_BLK_DEV_UMC8672 is not set
177# CONFIG_BLK_DEV_IDEDMA is not set 487# CONFIG_BLK_DEV_IDEDMA is not set
178# CONFIG_IDEDMA_AUTO is not set 488# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
179# CONFIG_BLK_DEV_HD is not set 489# CONFIG_BLK_DEV_HD is not set
180 490
181# 491#
182# SCSI device support 492# SCSI device support
183# 493#
494CONFIG_RAID_ATTRS=m
184CONFIG_SCSI=y 495CONFIG_SCSI=y
496CONFIG_SCSI_DMA=y
497CONFIG_SCSI_TGT=m
498# CONFIG_SCSI_NETLINK is not set
185CONFIG_SCSI_PROC_FS=y 499CONFIG_SCSI_PROC_FS=y
186 500
187# 501#
@@ -189,10 +503,11 @@ CONFIG_SCSI_PROC_FS=y
189# 503#
190CONFIG_BLK_DEV_SD=y 504CONFIG_BLK_DEV_SD=y
191CONFIG_CHR_DEV_ST=m 505CONFIG_CHR_DEV_ST=m
192# CONFIG_CHR_DEV_OSST is not set 506CONFIG_CHR_DEV_OSST=m
193CONFIG_BLK_DEV_SR=y 507CONFIG_BLK_DEV_SR=y
194CONFIG_BLK_DEV_SR_VENDOR=y 508CONFIG_BLK_DEV_SR_VENDOR=y
195CONFIG_CHR_DEV_SG=m 509CONFIG_CHR_DEV_SG=m
510# CONFIG_CHR_DEV_SCH is not set
196 511
197# 512#
198# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 513# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -200,266 +515,71 @@ CONFIG_CHR_DEV_SG=m
200# CONFIG_SCSI_MULTI_LUN is not set 515# CONFIG_SCSI_MULTI_LUN is not set
201CONFIG_SCSI_CONSTANTS=y 516CONFIG_SCSI_CONSTANTS=y
202# CONFIG_SCSI_LOGGING is not set 517# CONFIG_SCSI_LOGGING is not set
518# CONFIG_SCSI_SCAN_ASYNC is not set
519CONFIG_SCSI_WAIT_SCAN=m
203 520
204# 521#
205# SCSI Transport Attributes 522# SCSI Transports
206# 523#
207# CONFIG_SCSI_SPI_ATTRS is not set 524# CONFIG_SCSI_SPI_ATTRS is not set
208# CONFIG_SCSI_FC_ATTRS is not set 525# CONFIG_SCSI_FC_ATTRS is not set
209# CONFIG_SCSI_ISCSI_ATTRS is not set 526CONFIG_SCSI_ISCSI_ATTRS=m
210 527CONFIG_SCSI_SAS_ATTRS=m
211# 528CONFIG_SCSI_SAS_LIBSAS=m
212# SCSI low-level drivers 529CONFIG_SCSI_SAS_HOST_SMP=y
213# 530# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
531CONFIG_SCSI_SRP_ATTRS=m
532CONFIG_SCSI_SRP_TGT_ATTRS=y
533CONFIG_SCSI_LOWLEVEL=y
534CONFIG_ISCSI_TCP=m
214# CONFIG_SCSI_AHA152X is not set 535# CONFIG_SCSI_AHA152X is not set
215# CONFIG_SCSI_AIC7XXX_OLD is not set 536# CONFIG_SCSI_AIC7XXX_OLD is not set
537# CONFIG_SCSI_ADVANSYS is not set
216# CONFIG_SCSI_IN2000 is not set 538# CONFIG_SCSI_IN2000 is not set
217# CONFIG_SCSI_SATA is not set
218# CONFIG_SCSI_DTC3280 is not set 539# CONFIG_SCSI_DTC3280 is not set
219# CONFIG_SCSI_FUTURE_DOMAIN is not set 540# CONFIG_SCSI_FUTURE_DOMAIN is not set
220# CONFIG_SCSI_GENERIC_NCR5380 is not set 541# CONFIG_SCSI_GENERIC_NCR5380 is not set
221# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set 542# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
222# CONFIG_SCSI_NCR53C406A is not set 543# CONFIG_SCSI_NCR53C406A is not set
223# CONFIG_SCSI_PAS16 is not set 544# CONFIG_SCSI_PAS16 is not set
224# CONFIG_SCSI_PSI240I is not set
225# CONFIG_SCSI_QLOGIC_FAS is not set 545# CONFIG_SCSI_QLOGIC_FAS is not set
226# CONFIG_SCSI_SYM53C416 is not set 546# CONFIG_SCSI_SYM53C416 is not set
227# CONFIG_SCSI_T128 is not set 547# CONFIG_SCSI_T128 is not set
228# CONFIG_SCSI_DEBUG is not set 548# CONFIG_SCSI_DEBUG is not set
229
230#
231# Old CD-ROM drivers (not SCSI, not IDE)
232#
233# CONFIG_CD_NO_IDESCSI is not set
234
235#
236# Multi-device support (RAID and LVM)
237#
238CONFIG_MD=y 549CONFIG_MD=y
239CONFIG_BLK_DEV_MD=m 550CONFIG_BLK_DEV_MD=m
240CONFIG_MD_LINEAR=m 551CONFIG_MD_LINEAR=m
241CONFIG_MD_RAID0=m 552CONFIG_MD_RAID0=m
242CONFIG_MD_RAID1=m 553CONFIG_MD_RAID1=m
243# CONFIG_MD_RAID10 is not set 554# CONFIG_MD_RAID10 is not set
244CONFIG_MD_RAID5=m 555CONFIG_MD_RAID456=m
245CONFIG_MD_RAID6=m 556CONFIG_MD_RAID5_RESHAPE=y
246CONFIG_MD_MULTIPATH=m 557CONFIG_MD_MULTIPATH=m
247# CONFIG_MD_FAULTY is not set 558# CONFIG_MD_FAULTY is not set
248CONFIG_BLK_DEV_DM=m 559CONFIG_BLK_DEV_DM=m
560# CONFIG_DM_DEBUG is not set
249CONFIG_DM_CRYPT=m 561CONFIG_DM_CRYPT=m
250CONFIG_DM_SNAPSHOT=m 562CONFIG_DM_SNAPSHOT=m
251CONFIG_DM_MIRROR=m 563CONFIG_DM_MIRROR=m
252CONFIG_DM_ZERO=m 564CONFIG_DM_ZERO=m
253CONFIG_DM_MULTIPATH=m 565CONFIG_DM_MULTIPATH=m
254CONFIG_DM_MULTIPATH_EMC=m 566CONFIG_DM_MULTIPATH_EMC=m
255 567CONFIG_DM_MULTIPATH_RDAC=m
256# 568CONFIG_DM_MULTIPATH_HP=m
257# Fusion MPT device support 569# CONFIG_DM_DELAY is not set
258# 570CONFIG_DM_UEVENT=y
259
260#
261# IEEE 1394 (FireWire) support
262#
263
264#
265# I2O device support
266#
267
268#
269# Networking support
270#
271CONFIG_NET=y
272
273#
274# Networking options
275#
276CONFIG_PACKET=y
277# CONFIG_PACKET_MMAP is not set
278CONFIG_UNIX=y
279CONFIG_NET_KEY=y
280CONFIG_INET=y
281# CONFIG_IP_MULTICAST is not set
282# CONFIG_IP_ADVANCED_ROUTER is not set
283CONFIG_IP_PNP=y
284CONFIG_IP_PNP_DHCP=y
285CONFIG_IP_PNP_BOOTP=y
286CONFIG_IP_PNP_RARP=y
287CONFIG_NET_IPIP=m
288CONFIG_NET_IPGRE=m
289# CONFIG_ARPD is not set
290CONFIG_SYN_COOKIES=y
291CONFIG_INET_AH=m
292CONFIG_INET_ESP=m
293CONFIG_INET_IPCOMP=m
294CONFIG_INET_TUNNEL=m
295CONFIG_IP_TCPDIAG=m
296CONFIG_IP_TCPDIAG_IPV6=y
297
298#
299# IP: Virtual Server Configuration
300#
301# CONFIG_IP_VS is not set
302CONFIG_IPV6=m
303CONFIG_IPV6_PRIVACY=y
304CONFIG_INET6_AH=m
305CONFIG_INET6_ESP=m
306CONFIG_INET6_IPCOMP=m
307CONFIG_INET6_TUNNEL=m
308CONFIG_IPV6_TUNNEL=m
309CONFIG_NETFILTER=y
310# CONFIG_NETFILTER_DEBUG is not set
311
312#
313# IP: Netfilter Configuration
314#
315CONFIG_IP_NF_CONNTRACK=m
316# CONFIG_IP_NF_CT_ACCT is not set
317CONFIG_IP_NF_CONNTRACK_MARK=y
318# CONFIG_IP_NF_CT_PROTO_SCTP is not set
319CONFIG_IP_NF_FTP=m
320CONFIG_IP_NF_IRC=m
321CONFIG_IP_NF_TFTP=m
322CONFIG_IP_NF_AMANDA=m
323CONFIG_IP_NF_QUEUE=m
324CONFIG_IP_NF_IPTABLES=m
325CONFIG_IP_NF_MATCH_LIMIT=m
326CONFIG_IP_NF_MATCH_IPRANGE=m
327CONFIG_IP_NF_MATCH_MAC=m
328CONFIG_IP_NF_MATCH_PKTTYPE=m
329CONFIG_IP_NF_MATCH_MARK=m
330CONFIG_IP_NF_MATCH_MULTIPORT=m
331CONFIG_IP_NF_MATCH_TOS=m
332CONFIG_IP_NF_MATCH_RECENT=m
333CONFIG_IP_NF_MATCH_ECN=m
334CONFIG_IP_NF_MATCH_DSCP=m
335CONFIG_IP_NF_MATCH_AH_ESP=m
336CONFIG_IP_NF_MATCH_LENGTH=m
337CONFIG_IP_NF_MATCH_TTL=m
338CONFIG_IP_NF_MATCH_TCPMSS=m
339CONFIG_IP_NF_MATCH_HELPER=m
340CONFIG_IP_NF_MATCH_STATE=m
341CONFIG_IP_NF_MATCH_CONNTRACK=m
342CONFIG_IP_NF_MATCH_OWNER=m
343CONFIG_IP_NF_MATCH_ADDRTYPE=m
344CONFIG_IP_NF_MATCH_REALM=m
345# CONFIG_IP_NF_MATCH_SCTP is not set
346# CONFIG_IP_NF_MATCH_COMMENT is not set
347CONFIG_IP_NF_MATCH_CONNMARK=m
348CONFIG_IP_NF_MATCH_HASHLIMIT=m
349CONFIG_IP_NF_FILTER=m
350CONFIG_IP_NF_TARGET_REJECT=m
351CONFIG_IP_NF_TARGET_LOG=m
352CONFIG_IP_NF_TARGET_ULOG=m
353CONFIG_IP_NF_TARGET_TCPMSS=m
354CONFIG_IP_NF_NAT=m
355CONFIG_IP_NF_NAT_NEEDED=y
356CONFIG_IP_NF_TARGET_MASQUERADE=m
357CONFIG_IP_NF_TARGET_REDIRECT=m
358CONFIG_IP_NF_TARGET_NETMAP=m
359CONFIG_IP_NF_TARGET_SAME=m
360CONFIG_IP_NF_NAT_SNMP_BASIC=m
361CONFIG_IP_NF_NAT_IRC=m
362CONFIG_IP_NF_NAT_FTP=m
363CONFIG_IP_NF_NAT_TFTP=m
364CONFIG_IP_NF_NAT_AMANDA=m
365CONFIG_IP_NF_MANGLE=m
366CONFIG_IP_NF_TARGET_TOS=m
367CONFIG_IP_NF_TARGET_ECN=m
368CONFIG_IP_NF_TARGET_DSCP=m
369CONFIG_IP_NF_TARGET_MARK=m
370CONFIG_IP_NF_TARGET_CLASSIFY=m
371CONFIG_IP_NF_TARGET_CONNMARK=m
372# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
373CONFIG_IP_NF_RAW=m
374CONFIG_IP_NF_TARGET_NOTRACK=m
375CONFIG_IP_NF_ARPTABLES=m
376CONFIG_IP_NF_ARPFILTER=m
377CONFIG_IP_NF_ARP_MANGLE=m
378
379#
380# IPv6: Netfilter Configuration (EXPERIMENTAL)
381#
382CONFIG_IP6_NF_QUEUE=m
383CONFIG_IP6_NF_IPTABLES=m
384CONFIG_IP6_NF_MATCH_LIMIT=m
385CONFIG_IP6_NF_MATCH_MAC=m
386CONFIG_IP6_NF_MATCH_RT=m
387CONFIG_IP6_NF_MATCH_OPTS=m
388CONFIG_IP6_NF_MATCH_FRAG=m
389CONFIG_IP6_NF_MATCH_HL=m
390CONFIG_IP6_NF_MATCH_MULTIPORT=m
391CONFIG_IP6_NF_MATCH_OWNER=m
392CONFIG_IP6_NF_MATCH_MARK=m
393CONFIG_IP6_NF_MATCH_IPV6HEADER=m
394CONFIG_IP6_NF_MATCH_AHESP=m
395CONFIG_IP6_NF_MATCH_LENGTH=m
396CONFIG_IP6_NF_MATCH_EUI64=m
397CONFIG_IP6_NF_FILTER=m
398CONFIG_IP6_NF_TARGET_LOG=m
399CONFIG_IP6_NF_MANGLE=m
400CONFIG_IP6_NF_TARGET_MARK=m
401CONFIG_IP6_NF_RAW=m
402CONFIG_XFRM=y
403# CONFIG_XFRM_USER is not set
404
405#
406# SCTP Configuration (EXPERIMENTAL)
407#
408CONFIG_IP_SCTP=m
409# CONFIG_SCTP_DBG_MSG is not set
410# CONFIG_SCTP_DBG_OBJCNT is not set
411# CONFIG_SCTP_HMAC_NONE is not set
412# CONFIG_SCTP_HMAC_SHA1 is not set
413CONFIG_SCTP_HMAC_MD5=y
414# CONFIG_ATM is not set
415# CONFIG_BRIDGE is not set
416# CONFIG_VLAN_8021Q is not set
417# CONFIG_DECNET is not set
418CONFIG_LLC=m
419# CONFIG_LLC2 is not set
420CONFIG_IPX=m
421# CONFIG_IPX_INTERN is not set
422CONFIG_ATALK=m
423# CONFIG_DEV_APPLETALK is not set
424# CONFIG_X25 is not set
425# CONFIG_LAPB is not set
426# CONFIG_NET_DIVERT is not set
427# CONFIG_ECONET is not set
428# CONFIG_WAN_ROUTER is not set
429
430#
431# QoS and/or fair queueing
432#
433# CONFIG_NET_SCHED is not set
434CONFIG_NET_CLS_ROUTE=y
435
436#
437# Network testing
438#
439# CONFIG_NET_PKTGEN is not set
440CONFIG_NETPOLL=y
441# CONFIG_NETPOLL_RX is not set
442# CONFIG_NETPOLL_TRAP is not set
443CONFIG_NET_POLL_CONTROLLER=y
444# CONFIG_HAMRADIO is not set
445# CONFIG_IRDA is not set
446# CONFIG_BT is not set
447CONFIG_NETDEVICES=y 571CONFIG_NETDEVICES=y
572# CONFIG_NETDEVICES_MULTIQUEUE is not set
448CONFIG_DUMMY=m 573CONFIG_DUMMY=m
449# CONFIG_BONDING is not set 574# CONFIG_BONDING is not set
575CONFIG_MACVLAN=m
450CONFIG_EQUALIZER=m 576CONFIG_EQUALIZER=m
451# CONFIG_TUN is not set 577# CONFIG_TUN is not set
452 578CONFIG_VETH=m
453#
454# ARCnet devices
455#
456# CONFIG_ARCNET is not set 579# CONFIG_ARCNET is not set
457 580# CONFIG_PHYLIB is not set
458#
459# Ethernet (10 or 100Mbit)
460#
461CONFIG_NET_ETHERNET=y 581CONFIG_NET_ETHERNET=y
462CONFIG_MII=m 582# CONFIG_MII is not set
463# CONFIG_NET_VENDOR_3COM is not set 583# CONFIG_NET_VENDOR_3COM is not set
464# CONFIG_NET_VENDOR_SMC is not set 584# CONFIG_NET_VENDOR_SMC is not set
465# CONFIG_NET_VENDOR_RACAL is not set 585# CONFIG_NET_VENDOR_RACAL is not set
@@ -468,30 +588,21 @@ CONFIG_MII=m
468# CONFIG_HP100 is not set 588# CONFIG_HP100 is not set
469# CONFIG_NET_ISA is not set 589# CONFIG_NET_ISA is not set
470CONFIG_NE2000=m 590CONFIG_NE2000=m
591# CONFIG_IBM_NEW_EMAC_ZMII is not set
592# CONFIG_IBM_NEW_EMAC_RGMII is not set
593# CONFIG_IBM_NEW_EMAC_TAH is not set
594# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
471# CONFIG_NET_PCI is not set 595# CONFIG_NET_PCI is not set
472# CONFIG_NET_POCKET is not set 596# CONFIG_B44 is not set
473 597# CONFIG_NETDEV_1000 is not set
474# 598# CONFIG_NETDEV_10000 is not set
475# Ethernet (1000 Mbit)
476#
477
478#
479# Ethernet (10000 Mbit)
480#
481
482#
483# Token Ring devices
484#
485# CONFIG_TR is not set 599# CONFIG_TR is not set
486 600
487# 601#
488# Wireless LAN (non-hamradio) 602# Wireless LAN
489#
490# CONFIG_NET_RADIO is not set
491
492#
493# Wan interfaces
494# 603#
604# CONFIG_WLAN_PRE80211 is not set
605# CONFIG_WLAN_80211 is not set
495# CONFIG_WAN is not set 606# CONFIG_WAN is not set
496CONFIG_PPP=m 607CONFIG_PPP=m
497# CONFIG_PPP_MULTILINK is not set 608# CONFIG_PPP_MULTILINK is not set
@@ -500,28 +611,28 @@ CONFIG_PPP_ASYNC=m
500CONFIG_PPP_SYNC_TTY=m 611CONFIG_PPP_SYNC_TTY=m
501CONFIG_PPP_DEFLATE=m 612CONFIG_PPP_DEFLATE=m
502CONFIG_PPP_BSDCOMP=m 613CONFIG_PPP_BSDCOMP=m
614CONFIG_PPP_MPPE=m
503CONFIG_PPPOE=m 615CONFIG_PPPOE=m
616CONFIG_PPPOL2TP=m
504CONFIG_SLIP=m 617CONFIG_SLIP=m
505CONFIG_SLIP_COMPRESSED=y 618CONFIG_SLIP_COMPRESSED=y
619CONFIG_SLHC=m
506CONFIG_SLIP_SMART=y 620CONFIG_SLIP_SMART=y
507CONFIG_SLIP_MODE_SLIP6=y 621CONFIG_SLIP_MODE_SLIP6=y
508CONFIG_SHAPER=m
509CONFIG_NETCONSOLE=m 622CONFIG_NETCONSOLE=m
510 623CONFIG_NETCONSOLE_DYNAMIC=y
511# 624CONFIG_NETPOLL=y
512# ISDN subsystem 625# CONFIG_NETPOLL_TRAP is not set
513# 626CONFIG_NET_POLL_CONTROLLER=y
514# CONFIG_ISDN is not set 627# CONFIG_ISDN is not set
515
516#
517# Telephony Support
518#
519# CONFIG_PHONE is not set 628# CONFIG_PHONE is not set
520 629
521# 630#
522# Input device support 631# Input device support
523# 632#
524CONFIG_INPUT=y 633CONFIG_INPUT=y
634CONFIG_INPUT_FF_MEMLESS=m
635# CONFIG_INPUT_POLLDEV is not set
525 636
526# 637#
527# Userland interfaces 638# Userland interfaces
@@ -531,7 +642,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
531CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 642CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
532CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 643CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
533# CONFIG_INPUT_JOYDEV is not set 644# CONFIG_INPUT_JOYDEV is not set
534# CONFIG_INPUT_TSDEV is not set
535# CONFIG_INPUT_EVDEV is not set 645# CONFIG_INPUT_EVDEV is not set
536# CONFIG_INPUT_EVBUG is not set 646# CONFIG_INPUT_EVBUG is not set
537 647
@@ -544,22 +654,32 @@ CONFIG_INPUT_KEYBOARD=y
544# CONFIG_KEYBOARD_LKKBD is not set 654# CONFIG_KEYBOARD_LKKBD is not set
545# CONFIG_KEYBOARD_XTKBD is not set 655# CONFIG_KEYBOARD_XTKBD is not set
546# CONFIG_KEYBOARD_NEWTON is not set 656# CONFIG_KEYBOARD_NEWTON is not set
657# CONFIG_KEYBOARD_STOWAWAY is not set
547CONFIG_INPUT_MOUSE=y 658CONFIG_INPUT_MOUSE=y
548CONFIG_MOUSE_PS2=m 659CONFIG_MOUSE_PS2=m
660CONFIG_MOUSE_PS2_ALPS=y
661CONFIG_MOUSE_PS2_LOGIPS2PP=y
662CONFIG_MOUSE_PS2_SYNAPTICS=y
663CONFIG_MOUSE_PS2_LIFEBOOK=y
664CONFIG_MOUSE_PS2_TRACKPOINT=y
665# CONFIG_MOUSE_PS2_TOUCHKIT is not set
549CONFIG_MOUSE_SERIAL=m 666CONFIG_MOUSE_SERIAL=m
550# CONFIG_MOUSE_INPORT is not set 667# CONFIG_MOUSE_INPORT is not set
551# CONFIG_MOUSE_LOGIBM is not set 668# CONFIG_MOUSE_LOGIBM is not set
552# CONFIG_MOUSE_PC110PAD is not set 669# CONFIG_MOUSE_PC110PAD is not set
553# CONFIG_MOUSE_VSXXXAA is not set 670# CONFIG_MOUSE_VSXXXAA is not set
554# CONFIG_INPUT_JOYSTICK is not set 671# CONFIG_INPUT_JOYSTICK is not set
672# CONFIG_INPUT_TABLET is not set
555# CONFIG_INPUT_TOUCHSCREEN is not set 673# CONFIG_INPUT_TOUCHSCREEN is not set
556# CONFIG_INPUT_MISC is not set 674CONFIG_INPUT_MISC=y
675CONFIG_INPUT_M68K_BEEP=m
676# CONFIG_INPUT_UINPUT is not set
557 677
558# 678#
559# Hardware I/O ports 679# Hardware I/O ports
560# 680#
561CONFIG_SERIO=m 681CONFIG_SERIO=m
562CONFIG_SERIO_SERPORT=m 682# CONFIG_SERIO_SERPORT is not set
563CONFIG_SERIO_Q40KBD=m 683CONFIG_SERIO_Q40KBD=m
564CONFIG_SERIO_LIBPS2=m 684CONFIG_SERIO_LIBPS2=m
565# CONFIG_SERIO_RAW is not set 685# CONFIG_SERIO_RAW is not set
@@ -571,6 +691,7 @@ CONFIG_SERIO_LIBPS2=m
571CONFIG_VT=y 691CONFIG_VT=y
572CONFIG_VT_CONSOLE=y 692CONFIG_VT_CONSOLE=y
573CONFIG_HW_CONSOLE=y 693CONFIG_HW_CONSOLE=y
694CONFIG_VT_HW_CONSOLE_BINDING=y
574# CONFIG_SERIAL_NONSTANDARD is not set 695# CONFIG_SERIAL_NONSTANDARD is not set
575 696
576# 697#
@@ -584,115 +705,117 @@ CONFIG_HW_CONSOLE=y
584CONFIG_UNIX98_PTYS=y 705CONFIG_UNIX98_PTYS=y
585CONFIG_LEGACY_PTYS=y 706CONFIG_LEGACY_PTYS=y
586CONFIG_LEGACY_PTY_COUNT=256 707CONFIG_LEGACY_PTY_COUNT=256
587
588#
589# IPMI
590#
591# CONFIG_IPMI_HANDLER is not set 708# CONFIG_IPMI_HANDLER is not set
592 709# CONFIG_HW_RANDOM is not set
593#
594# Watchdog Cards
595#
596# CONFIG_WATCHDOG is not set
597CONFIG_GEN_RTC=m 710CONFIG_GEN_RTC=m
598CONFIG_GEN_RTC_X=y 711CONFIG_GEN_RTC_X=y
599# CONFIG_DTLK is not set 712# CONFIG_DTLK is not set
600# CONFIG_R3964 is not set 713# CONFIG_R3964 is not set
601
602#
603# Ftape, the floppy tape device driver
604#
605# CONFIG_DRM is not set
606# CONFIG_RAW_DRIVER is not set 714# CONFIG_RAW_DRIVER is not set
607 715# CONFIG_TCG_TPM is not set
608#
609# TPM devices
610#
611
612#
613# I2C support
614#
615# CONFIG_I2C is not set 716# CONFIG_I2C is not set
616 717
617# 718#
618# Dallas's 1-wire bus 719# SPI support
619# 720#
721# CONFIG_SPI is not set
722# CONFIG_SPI_MASTER is not set
620# CONFIG_W1 is not set 723# CONFIG_W1 is not set
724# CONFIG_POWER_SUPPLY is not set
725# CONFIG_HWMON is not set
726# CONFIG_THERMAL is not set
727# CONFIG_WATCHDOG is not set
621 728
622# 729#
623# Misc devices 730# Sonics Silicon Backplane
624# 731#
732CONFIG_SSB_POSSIBLE=y
733# CONFIG_SSB is not set
625 734
626# 735#
627# Multimedia devices 736# Multifunction device drivers
628# 737#
629# CONFIG_VIDEO_DEV is not set 738# CONFIG_MFD_SM501 is not set
630 739
631# 740#
632# Digital Video Broadcasting Devices 741# Multimedia devices
633# 742#
634# CONFIG_DVB is not set 743# CONFIG_VIDEO_DEV is not set
744# CONFIG_DVB_CORE is not set
745# CONFIG_DAB is not set
635 746
636# 747#
637# Graphics support 748# Graphics support
638# 749#
750# CONFIG_VGASTATE is not set
751# CONFIG_VIDEO_OUTPUT_CONTROL is not set
639CONFIG_FB=y 752CONFIG_FB=y
753# CONFIG_FIRMWARE_EDID is not set
754# CONFIG_FB_DDC is not set
640CONFIG_FB_CFB_FILLRECT=y 755CONFIG_FB_CFB_FILLRECT=y
641CONFIG_FB_CFB_COPYAREA=y 756CONFIG_FB_CFB_COPYAREA=y
642CONFIG_FB_CFB_IMAGEBLIT=y 757CONFIG_FB_CFB_IMAGEBLIT=y
643CONFIG_FB_SOFT_CURSOR=y 758# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
759# CONFIG_FB_SYS_FILLRECT is not set
760# CONFIG_FB_SYS_COPYAREA is not set
761# CONFIG_FB_SYS_IMAGEBLIT is not set
762# CONFIG_FB_SYS_FOPS is not set
763CONFIG_FB_DEFERRED_IO=y
764# CONFIG_FB_SVGALIB is not set
644# CONFIG_FB_MACMODES is not set 765# CONFIG_FB_MACMODES is not set
645CONFIG_FB_MODE_HELPERS=y 766# CONFIG_FB_BACKLIGHT is not set
767# CONFIG_FB_MODE_HELPERS is not set
646# CONFIG_FB_TILEBLITTING is not set 768# CONFIG_FB_TILEBLITTING is not set
769
770#
771# Frame buffer hardware drivers
772#
647CONFIG_FB_Q40=y 773CONFIG_FB_Q40=y
774# CONFIG_FB_UVESA is not set
648# CONFIG_FB_S1D13XXX is not set 775# CONFIG_FB_S1D13XXX is not set
649# CONFIG_FB_VIRTUAL is not set 776# CONFIG_FB_VIRTUAL is not set
777# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
778
779#
780# Display device support
781#
782# CONFIG_DISPLAY_SUPPORT is not set
650 783
651# 784#
652# Console display driver support 785# Console display driver support
653# 786#
654CONFIG_DUMMY_CONSOLE=y 787CONFIG_DUMMY_CONSOLE=y
655CONFIG_FRAMEBUFFER_CONSOLE=y 788CONFIG_FRAMEBUFFER_CONSOLE=y
789# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
790# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
656# CONFIG_FONTS is not set 791# CONFIG_FONTS is not set
657CONFIG_FONT_8x8=y 792CONFIG_FONT_8x8=y
658CONFIG_FONT_8x16=y 793CONFIG_FONT_8x16=y
659
660#
661# Logo configuration
662#
663CONFIG_LOGO=y 794CONFIG_LOGO=y
664CONFIG_LOGO_LINUX_MONO=y 795CONFIG_LOGO_LINUX_MONO=y
665CONFIG_LOGO_LINUX_VGA16=y 796CONFIG_LOGO_LINUX_VGA16=y
666CONFIG_LOGO_LINUX_CLUT224=y 797CONFIG_LOGO_LINUX_CLUT224=y
667# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
668 798
669# 799#
670# Sound 800# Sound
671# 801#
672CONFIG_SOUND=y 802CONFIG_SOUND=m
673CONFIG_DMASOUND_Q40=y 803CONFIG_DMASOUND_Q40=m
674CONFIG_DMASOUND=y 804CONFIG_DMASOUND=m
675 805CONFIG_HID_SUPPORT=y
676# 806CONFIG_HID=m
677# USB support 807# CONFIG_HID_DEBUG is not set
678# 808CONFIG_HIDRAW=y
679# CONFIG_USB_ARCH_HAS_HCD is not set 809# CONFIG_USB_SUPPORT is not set
680# CONFIG_USB_ARCH_HAS_OHCI is not set
681
682#
683# USB Gadget Support
684#
685# CONFIG_USB_GADGET is not set
686
687#
688# MMC/SD Card support
689#
690# CONFIG_MMC is not set 810# CONFIG_MMC is not set
811# CONFIG_MEMSTICK is not set
812# CONFIG_NEW_LEDS is not set
813# CONFIG_RTC_CLASS is not set
691 814
692# 815#
693# InfiniBand support 816# Userspace I/O
694# 817#
695# CONFIG_INFINIBAND is not set 818# CONFIG_UIO is not set
696 819
697# 820#
698# Character devices 821# Character devices
@@ -703,10 +826,11 @@ CONFIG_DMASOUND=y
703# 826#
704CONFIG_EXT2_FS=y 827CONFIG_EXT2_FS=y
705# CONFIG_EXT2_FS_XATTR is not set 828# CONFIG_EXT2_FS_XATTR is not set
829# CONFIG_EXT2_FS_XIP is not set
706CONFIG_EXT3_FS=y 830CONFIG_EXT3_FS=y
707# CONFIG_EXT3_FS_XATTR is not set 831# CONFIG_EXT3_FS_XATTR is not set
832# CONFIG_EXT4DEV_FS is not set
708CONFIG_JBD=y 833CONFIG_JBD=y
709# CONFIG_JBD_DEBUG is not set
710CONFIG_REISERFS_FS=m 834CONFIG_REISERFS_FS=m
711# CONFIG_REISERFS_CHECK is not set 835# CONFIG_REISERFS_CHECK is not set
712# CONFIG_REISERFS_PROC_INFO is not set 836# CONFIG_REISERFS_PROC_INFO is not set
@@ -717,25 +841,29 @@ CONFIG_JFS_FS=m
717# CONFIG_JFS_DEBUG is not set 841# CONFIG_JFS_DEBUG is not set
718# CONFIG_JFS_STATISTICS is not set 842# CONFIG_JFS_STATISTICS is not set
719CONFIG_FS_POSIX_ACL=y 843CONFIG_FS_POSIX_ACL=y
720
721#
722# XFS support
723#
724CONFIG_XFS_FS=m 844CONFIG_XFS_FS=m
725CONFIG_XFS_EXPORT=y
726# CONFIG_XFS_RT is not set
727# CONFIG_XFS_QUOTA is not set 845# CONFIG_XFS_QUOTA is not set
728# CONFIG_XFS_SECURITY is not set 846# CONFIG_XFS_SECURITY is not set
729# CONFIG_XFS_POSIX_ACL is not set 847# CONFIG_XFS_POSIX_ACL is not set
730CONFIG_MINIX_FS=y 848# CONFIG_XFS_RT is not set
731# CONFIG_ROMFS_FS is not set 849CONFIG_GFS2_FS=m
850CONFIG_GFS2_FS_LOCKING_NOLOCK=m
851CONFIG_GFS2_FS_LOCKING_DLM=m
852CONFIG_OCFS2_FS=m
853# CONFIG_OCFS2_DEBUG_MASKLOG is not set
854# CONFIG_OCFS2_DEBUG_FS is not set
855CONFIG_DNOTIFY=y
856CONFIG_INOTIFY=y
857CONFIG_INOTIFY_USER=y
732CONFIG_QUOTA=y 858CONFIG_QUOTA=y
859CONFIG_QUOTA_NETLINK_INTERFACE=y
860# CONFIG_PRINT_QUOTA_WARNING is not set
733# CONFIG_QFMT_V1 is not set 861# CONFIG_QFMT_V1 is not set
734# CONFIG_QFMT_V2 is not set 862# CONFIG_QFMT_V2 is not set
735CONFIG_QUOTACTL=y 863CONFIG_QUOTACTL=y
736CONFIG_DNOTIFY=y
737CONFIG_AUTOFS_FS=m 864CONFIG_AUTOFS_FS=m
738CONFIG_AUTOFS4_FS=m 865CONFIG_AUTOFS4_FS=m
866CONFIG_FUSE_FS=m
739 867
740# 868#
741# CD-ROM/DVD Filesystems 869# CD-ROM/DVD Filesystems
@@ -743,7 +871,6 @@ CONFIG_AUTOFS4_FS=m
743CONFIG_ISO9660_FS=y 871CONFIG_ISO9660_FS=y
744CONFIG_JOLIET=y 872CONFIG_JOLIET=y
745CONFIG_ZISOFS=y 873CONFIG_ZISOFS=y
746CONFIG_ZISOFS_FS=y
747CONFIG_UDF_FS=m 874CONFIG_UDF_FS=m
748CONFIG_UDF_NLS=y 875CONFIG_UDF_NLS=y
749 876
@@ -762,13 +889,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
762# 889#
763CONFIG_PROC_FS=y 890CONFIG_PROC_FS=y
764CONFIG_PROC_KCORE=y 891CONFIG_PROC_KCORE=y
892CONFIG_PROC_SYSCTL=y
765CONFIG_SYSFS=y 893CONFIG_SYSFS=y
766# CONFIG_DEVFS_FS is not set
767# CONFIG_DEVPTS_FS_XATTR is not set
768CONFIG_TMPFS=y 894CONFIG_TMPFS=y
769# CONFIG_TMPFS_XATTR is not set 895# CONFIG_TMPFS_POSIX_ACL is not set
770# CONFIG_HUGETLB_PAGE is not set 896# CONFIG_HUGETLB_PAGE is not set
771CONFIG_RAMFS=y 897CONFIG_CONFIGFS_FS=m
772 898
773# 899#
774# Miscellaneous filesystems 900# Miscellaneous filesystems
@@ -782,44 +908,39 @@ CONFIG_HFSPLUS_FS=m
782# CONFIG_EFS_FS is not set 908# CONFIG_EFS_FS is not set
783CONFIG_CRAMFS=m 909CONFIG_CRAMFS=m
784# CONFIG_VXFS_FS is not set 910# CONFIG_VXFS_FS is not set
911CONFIG_MINIX_FS=y
785CONFIG_HPFS_FS=m 912CONFIG_HPFS_FS=m
786# CONFIG_QNX4FS_FS is not set 913# CONFIG_QNX4FS_FS is not set
914# CONFIG_ROMFS_FS is not set
787CONFIG_SYSV_FS=m 915CONFIG_SYSV_FS=m
788CONFIG_UFS_FS=m 916CONFIG_UFS_FS=m
789CONFIG_UFS_FS_WRITE=y 917# CONFIG_UFS_FS_WRITE is not set
790 918# CONFIG_UFS_DEBUG is not set
791# 919CONFIG_NETWORK_FILESYSTEMS=y
792# Network File Systems
793#
794CONFIG_NFS_FS=y 920CONFIG_NFS_FS=y
795CONFIG_NFS_V3=y 921CONFIG_NFS_V3=y
922# CONFIG_NFS_V3_ACL is not set
796CONFIG_NFS_V4=y 923CONFIG_NFS_V4=y
797# CONFIG_NFS_DIRECTIO is not set 924# CONFIG_NFS_DIRECTIO is not set
798CONFIG_NFSD=m 925CONFIG_NFSD=m
799CONFIG_NFSD_V3=y 926CONFIG_NFSD_V3=y
800CONFIG_NFSD_V4=y 927# CONFIG_NFSD_V3_ACL is not set
928# CONFIG_NFSD_V4 is not set
801CONFIG_NFSD_TCP=y 929CONFIG_NFSD_TCP=y
802CONFIG_ROOT_NFS=y
803CONFIG_LOCKD=y 930CONFIG_LOCKD=y
804CONFIG_LOCKD_V4=y 931CONFIG_LOCKD_V4=y
805CONFIG_EXPORTFS=m 932CONFIG_EXPORTFS=m
933CONFIG_NFS_COMMON=y
806CONFIG_SUNRPC=y 934CONFIG_SUNRPC=y
807CONFIG_SUNRPC_GSS=y 935CONFIG_SUNRPC_GSS=y
936CONFIG_SUNRPC_BIND34=y
808CONFIG_RPCSEC_GSS_KRB5=y 937CONFIG_RPCSEC_GSS_KRB5=y
809# CONFIG_RPCSEC_GSS_SPKM3 is not set 938# CONFIG_RPCSEC_GSS_SPKM3 is not set
810CONFIG_SMB_FS=m 939CONFIG_SMB_FS=m
811CONFIG_SMB_NLS_DEFAULT=y 940CONFIG_SMB_NLS_DEFAULT=y
812CONFIG_SMB_NLS_REMOTE="cp437" 941CONFIG_SMB_NLS_REMOTE="cp437"
813# CONFIG_CIFS is not set 942# CONFIG_CIFS is not set
814CONFIG_NCP_FS=m 943# CONFIG_NCP_FS is not set
815# CONFIG_NCPFS_PACKET_SIGNING is not set
816# CONFIG_NCPFS_IOCTL_LOCKING is not set
817# CONFIG_NCPFS_STRONG is not set
818# CONFIG_NCPFS_NFS_NS is not set
819# CONFIG_NCPFS_OS2_NS is not set
820# CONFIG_NCPFS_SMALLDOS is not set
821CONFIG_NCPFS_NLS=y
822# CONFIG_NCPFS_EXTRAS is not set
823CONFIG_CODA_FS=m 944CONFIG_CODA_FS=m
824# CONFIG_CODA_FS_OLD_API is not set 945# CONFIG_CODA_FS_OLD_API is not set
825# CONFIG_AFS_FS is not set 946# CONFIG_AFS_FS is not set
@@ -829,10 +950,6 @@ CONFIG_CODA_FS=m
829# 950#
830# CONFIG_PARTITION_ADVANCED is not set 951# CONFIG_PARTITION_ADVANCED is not set
831CONFIG_MSDOS_PARTITION=y 952CONFIG_MSDOS_PARTITION=y
832
833#
834# Native Language Support
835#
836CONFIG_NLS=y 953CONFIG_NLS=y
837CONFIG_NLS_DEFAULT="iso8859-1" 954CONFIG_NLS_DEFAULT="iso8859-1"
838CONFIG_NLS_CODEPAGE_437=y 955CONFIG_NLS_CODEPAGE_437=y
@@ -873,35 +990,42 @@ CONFIG_NLS_ISO8859_15=m
873CONFIG_NLS_KOI8_R=m 990CONFIG_NLS_KOI8_R=m
874CONFIG_NLS_KOI8_U=m 991CONFIG_NLS_KOI8_U=m
875CONFIG_NLS_UTF8=m 992CONFIG_NLS_UTF8=m
993CONFIG_DLM=m
994# CONFIG_DLM_DEBUG is not set
876 995
877# 996#
878# Kernel hacking 997# Kernel hacking
879# 998#
880# CONFIG_PRINTK_TIME is not set 999# CONFIG_PRINTK_TIME is not set
881CONFIG_DEBUG_KERNEL=y 1000CONFIG_ENABLE_WARN_DEPRECATED=y
1001CONFIG_ENABLE_MUST_CHECK=y
882CONFIG_MAGIC_SYSRQ=y 1002CONFIG_MAGIC_SYSRQ=y
883CONFIG_LOG_BUF_SHIFT=16 1003# CONFIG_UNUSED_SYMBOLS is not set
884# CONFIG_SCHEDSTATS is not set
885# CONFIG_DEBUG_SLAB is not set
886# CONFIG_DEBUG_SPINLOCK is not set
887# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
888# CONFIG_DEBUG_KOBJECT is not set
889CONFIG_DEBUG_BUGVERBOSE=y
890# CONFIG_DEBUG_INFO is not set
891# CONFIG_DEBUG_FS is not set 1004# CONFIG_DEBUG_FS is not set
892# CONFIG_FRAME_POINTER is not set 1005# CONFIG_HEADERS_CHECK is not set
1006# CONFIG_DEBUG_KERNEL is not set
1007CONFIG_DEBUG_BUGVERBOSE=y
1008# CONFIG_SAMPLES is not set
893 1009
894# 1010#
895# Security options 1011# Security options
896# 1012#
897# CONFIG_KEYS is not set 1013# CONFIG_KEYS is not set
898# CONFIG_SECURITY is not set 1014# CONFIG_SECURITY is not set
899 1015# CONFIG_SECURITY_FILE_CAPABILITIES is not set
900# 1016CONFIG_XOR_BLOCKS=m
901# Cryptographic options 1017CONFIG_ASYNC_CORE=m
902# 1018CONFIG_ASYNC_MEMCPY=m
1019CONFIG_ASYNC_XOR=m
903CONFIG_CRYPTO=y 1020CONFIG_CRYPTO=y
1021CONFIG_CRYPTO_ALGAPI=y
1022CONFIG_CRYPTO_AEAD=m
1023CONFIG_CRYPTO_BLKCIPHER=y
1024CONFIG_CRYPTO_SEQIV=m
1025CONFIG_CRYPTO_HASH=y
1026CONFIG_CRYPTO_MANAGER=y
904CONFIG_CRYPTO_HMAC=y 1027CONFIG_CRYPTO_HMAC=y
1028CONFIG_CRYPTO_XCBC=m
905CONFIG_CRYPTO_NULL=m 1029CONFIG_CRYPTO_NULL=m
906CONFIG_CRYPTO_MD4=m 1030CONFIG_CRYPTO_MD4=m
907CONFIG_CRYPTO_MD5=y 1031CONFIG_CRYPTO_MD5=y
@@ -910,9 +1034,21 @@ CONFIG_CRYPTO_SHA256=m
910CONFIG_CRYPTO_SHA512=m 1034CONFIG_CRYPTO_SHA512=m
911CONFIG_CRYPTO_WP512=m 1035CONFIG_CRYPTO_WP512=m
912CONFIG_CRYPTO_TGR192=m 1036CONFIG_CRYPTO_TGR192=m
1037CONFIG_CRYPTO_GF128MUL=m
1038CONFIG_CRYPTO_ECB=m
1039CONFIG_CRYPTO_CBC=y
1040CONFIG_CRYPTO_PCBC=m
1041CONFIG_CRYPTO_LRW=m
1042CONFIG_CRYPTO_XTS=m
1043CONFIG_CRYPTO_CTR=m
1044CONFIG_CRYPTO_GCM=m
1045CONFIG_CRYPTO_CCM=m
1046CONFIG_CRYPTO_CRYPTD=m
913CONFIG_CRYPTO_DES=y 1047CONFIG_CRYPTO_DES=y
1048CONFIG_CRYPTO_FCRYPT=m
914CONFIG_CRYPTO_BLOWFISH=m 1049CONFIG_CRYPTO_BLOWFISH=m
915CONFIG_CRYPTO_TWOFISH=m 1050CONFIG_CRYPTO_TWOFISH=m
1051CONFIG_CRYPTO_TWOFISH_COMMON=m
916CONFIG_CRYPTO_SERPENT=m 1052CONFIG_CRYPTO_SERPENT=m
917CONFIG_CRYPTO_AES=m 1053CONFIG_CRYPTO_AES=m
918CONFIG_CRYPTO_CAST5=m 1054CONFIG_CRYPTO_CAST5=m
@@ -921,20 +1057,35 @@ CONFIG_CRYPTO_TEA=m
921CONFIG_CRYPTO_ARC4=m 1057CONFIG_CRYPTO_ARC4=m
922CONFIG_CRYPTO_KHAZAD=m 1058CONFIG_CRYPTO_KHAZAD=m
923CONFIG_CRYPTO_ANUBIS=m 1059CONFIG_CRYPTO_ANUBIS=m
1060CONFIG_CRYPTO_SEED=m
1061CONFIG_CRYPTO_SALSA20=m
924CONFIG_CRYPTO_DEFLATE=m 1062CONFIG_CRYPTO_DEFLATE=m
925CONFIG_CRYPTO_MICHAEL_MIC=m 1063CONFIG_CRYPTO_MICHAEL_MIC=m
926CONFIG_CRYPTO_CRC32C=m 1064CONFIG_CRYPTO_CRC32C=m
1065CONFIG_CRYPTO_CAMELLIA=m
927CONFIG_CRYPTO_TEST=m 1066CONFIG_CRYPTO_TEST=m
928 1067CONFIG_CRYPTO_AUTHENC=m
929# 1068CONFIG_CRYPTO_LZO=m
930# Hardware crypto devices 1069# CONFIG_CRYPTO_HW is not set
931#
932 1070
933# 1071#
934# Library routines 1072# Library routines
935# 1073#
1074CONFIG_BITREVERSE=y
936CONFIG_CRC_CCITT=m 1075CONFIG_CRC_CCITT=m
1076CONFIG_CRC16=m
1077# CONFIG_CRC_ITU_T is not set
937CONFIG_CRC32=y 1078CONFIG_CRC32=y
1079# CONFIG_CRC7 is not set
938CONFIG_LIBCRC32C=m 1080CONFIG_LIBCRC32C=m
939CONFIG_ZLIB_INFLATE=y 1081CONFIG_ZLIB_INFLATE=y
940CONFIG_ZLIB_DEFLATE=m 1082CONFIG_ZLIB_DEFLATE=m
1083CONFIG_LZO_COMPRESS=m
1084CONFIG_LZO_DECOMPRESS=m
1085CONFIG_TEXTSEARCH=y
1086CONFIG_TEXTSEARCH_KMP=m
1087CONFIG_TEXTSEARCH_BM=m
1088CONFIG_TEXTSEARCH_FSM=m
1089CONFIG_PLIST=y
1090CONFIG_HAS_IOMEM=y
1091CONFIG_HAS_DMA=y
diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig
index af903b5c570..bd2b9c4927c 100644
--- a/arch/m68k/configs/sun3_defconfig
+++ b/arch/m68k/configs/sun3_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:35:02 2005 4# Wed Apr 2 20:46:22 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16CONFIG_NO_DMA=y
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-sun3" 27CONFIG_LOCALVERSION="-sun3"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -69,10 +117,24 @@ CONFIG_SUN3=y
69# 117#
70CONFIG_M68020=y 118CONFIG_M68020=y
71CONFIG_MMU_SUN3=y 119CONFIG_MMU_SUN3=y
72CONFIG_M68KFPU_EMU=y 120# CONFIG_M68KFPU_EMU is not set
73CONFIG_M68KFPU_EMU_EXTRAPREC=y
74# CONFIG_M68KFPU_EMU_ONLY is not set
75# CONFIG_ADVANCED is not set 121# CONFIG_ADVANCED is not set
122CONFIG_SINGLE_MEMORY_CHUNK=y
123# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
124CONFIG_SELECT_MEMORY_MODEL=y
125CONFIG_FLATMEM_MANUAL=y
126# CONFIG_DISCONTIGMEM_MANUAL is not set
127# CONFIG_SPARSEMEM_MANUAL is not set
128CONFIG_FLATMEM=y
129CONFIG_FLAT_NODE_MEM_MAP=y
130CONFIG_NEED_MULTIPLE_NODES=y
131# CONFIG_SPARSEMEM_STATIC is not set
132# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
133CONFIG_SPLIT_PTLOCK_CPUS=4
134# CONFIG_RESOURCES_64BIT is not set
135CONFIG_ZONE_DMA_FLAG=1
136CONFIG_BOUNCE=y
137CONFIG_VIRT_TO_BUS=y
76 138
77# 139#
78# General setup 140# General setup
@@ -81,134 +143,11 @@ CONFIG_BINFMT_ELF=y
81CONFIG_BINFMT_AOUT=m 143CONFIG_BINFMT_AOUT=m
82CONFIG_BINFMT_MISC=m 144CONFIG_BINFMT_MISC=m
83CONFIG_PROC_HARDWARE=y 145CONFIG_PROC_HARDWARE=y
146CONFIG_ZONE_DMA=y
147# CONFIG_ARCH_SUPPORTS_MSI is not set
84 148
85# 149#
86# Device Drivers 150# Networking
87#
88
89#
90# Generic Driver Options
91#
92CONFIG_STANDALONE=y
93CONFIG_PREVENT_FIRMWARE_BUILD=y
94CONFIG_FW_LOADER=m
95# CONFIG_DEBUG_DRIVER is not set
96
97#
98# Memory Technology Devices (MTD)
99#
100# CONFIG_MTD is not set
101
102#
103# Parallel port support
104#
105# CONFIG_PARPORT is not set
106
107#
108# Plug and Play support
109#
110
111#
112# Block devices
113#
114# CONFIG_BLK_DEV_COW_COMMON is not set
115CONFIG_BLK_DEV_LOOP=y
116CONFIG_BLK_DEV_CRYPTOLOOP=m
117CONFIG_BLK_DEV_NBD=m
118CONFIG_BLK_DEV_RAM=y
119CONFIG_BLK_DEV_RAM_COUNT=16
120CONFIG_BLK_DEV_RAM_SIZE=4096
121CONFIG_BLK_DEV_INITRD=y
122CONFIG_INITRAMFS_SOURCE=""
123CONFIG_CDROM_PKTCDVD=m
124CONFIG_CDROM_PKTCDVD_BUFFERS=8
125# CONFIG_CDROM_PKTCDVD_WCACHE is not set
126
127#
128# IO Schedulers
129#
130CONFIG_IOSCHED_NOOP=y
131CONFIG_IOSCHED_AS=y
132CONFIG_IOSCHED_DEADLINE=y
133CONFIG_IOSCHED_CFQ=y
134CONFIG_ATA_OVER_ETH=m
135
136#
137# ATA/ATAPI/MFM/RLL support
138#
139# CONFIG_IDE is not set
140
141#
142# SCSI device support
143#
144CONFIG_SCSI=y
145CONFIG_SCSI_PROC_FS=y
146
147#
148# SCSI support type (disk, tape, CD-ROM)
149#
150CONFIG_BLK_DEV_SD=y
151CONFIG_CHR_DEV_ST=m
152# CONFIG_CHR_DEV_OSST is not set
153CONFIG_BLK_DEV_SR=y
154CONFIG_BLK_DEV_SR_VENDOR=y
155CONFIG_CHR_DEV_SG=m
156
157#
158# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
159#
160# CONFIG_SCSI_MULTI_LUN is not set
161CONFIG_SCSI_CONSTANTS=y
162# CONFIG_SCSI_LOGGING is not set
163
164#
165# SCSI Transport Attributes
166#
167# CONFIG_SCSI_SPI_ATTRS is not set
168# CONFIG_SCSI_FC_ATTRS is not set
169# CONFIG_SCSI_ISCSI_ATTRS is not set
170
171#
172# SCSI low-level drivers
173#
174# CONFIG_SCSI_SATA is not set
175# CONFIG_SCSI_DEBUG is not set
176
177#
178# Multi-device support (RAID and LVM)
179#
180CONFIG_MD=y
181CONFIG_BLK_DEV_MD=m
182CONFIG_MD_LINEAR=m
183CONFIG_MD_RAID0=m
184CONFIG_MD_RAID1=m
185# CONFIG_MD_RAID10 is not set
186CONFIG_MD_RAID5=m
187CONFIG_MD_RAID6=m
188CONFIG_MD_MULTIPATH=m
189# CONFIG_MD_FAULTY is not set
190CONFIG_BLK_DEV_DM=m
191CONFIG_DM_CRYPT=m
192CONFIG_DM_SNAPSHOT=m
193CONFIG_DM_MIRROR=m
194CONFIG_DM_ZERO=m
195CONFIG_DM_MULTIPATH=m
196CONFIG_DM_MULTIPATH_EMC=m
197
198#
199# Fusion MPT device support
200#
201
202#
203# IEEE 1394 (FireWire) support
204#
205
206#
207# I2O device support
208#
209
210#
211# Networking support
212# 151#
213CONFIG_NET=y 152CONFIG_NET=y
214 153
@@ -218,10 +157,17 @@ CONFIG_NET=y
218CONFIG_PACKET=y 157CONFIG_PACKET=y
219# CONFIG_PACKET_MMAP is not set 158# CONFIG_PACKET_MMAP is not set
220CONFIG_UNIX=y 159CONFIG_UNIX=y
160CONFIG_XFRM=y
161# CONFIG_XFRM_USER is not set
162# CONFIG_XFRM_SUB_POLICY is not set
163CONFIG_XFRM_MIGRATE=y
164# CONFIG_XFRM_STATISTICS is not set
221CONFIG_NET_KEY=y 165CONFIG_NET_KEY=y
166CONFIG_NET_KEY_MIGRATE=y
222CONFIG_INET=y 167CONFIG_INET=y
223# CONFIG_IP_MULTICAST is not set 168# CONFIG_IP_MULTICAST is not set
224# CONFIG_IP_ADVANCED_ROUTER is not set 169# CONFIG_IP_ADVANCED_ROUTER is not set
170CONFIG_IP_FIB_HASH=y
225CONFIG_IP_PNP=y 171CONFIG_IP_PNP=y
226CONFIG_IP_PNP_DHCP=y 172CONFIG_IP_PNP_DHCP=y
227CONFIG_IP_PNP_BOOTP=y 173CONFIG_IP_PNP_BOOTP=y
@@ -233,145 +179,199 @@ CONFIG_SYN_COOKIES=y
233CONFIG_INET_AH=m 179CONFIG_INET_AH=m
234CONFIG_INET_ESP=m 180CONFIG_INET_ESP=m
235CONFIG_INET_IPCOMP=m 181CONFIG_INET_IPCOMP=m
182CONFIG_INET_XFRM_TUNNEL=m
236CONFIG_INET_TUNNEL=m 183CONFIG_INET_TUNNEL=m
237CONFIG_IP_TCPDIAG=m 184CONFIG_INET_XFRM_MODE_TRANSPORT=m
238CONFIG_IP_TCPDIAG_IPV6=y 185CONFIG_INET_XFRM_MODE_TUNNEL=m
239 186CONFIG_INET_XFRM_MODE_BEET=m
240# 187CONFIG_INET_LRO=m
241# IP: Virtual Server Configuration 188CONFIG_INET_DIAG=m
242# 189CONFIG_INET_TCP_DIAG=m
190# CONFIG_TCP_CONG_ADVANCED is not set
191CONFIG_TCP_CONG_CUBIC=y
192CONFIG_DEFAULT_TCP_CONG="cubic"
193# CONFIG_TCP_MD5SIG is not set
243# CONFIG_IP_VS is not set 194# CONFIG_IP_VS is not set
244CONFIG_IPV6=m 195CONFIG_IPV6=m
245CONFIG_IPV6_PRIVACY=y 196CONFIG_IPV6_PRIVACY=y
197CONFIG_IPV6_ROUTER_PREF=y
198CONFIG_IPV6_ROUTE_INFO=y
199# CONFIG_IPV6_OPTIMISTIC_DAD is not set
246CONFIG_INET6_AH=m 200CONFIG_INET6_AH=m
247CONFIG_INET6_ESP=m 201CONFIG_INET6_ESP=m
248CONFIG_INET6_IPCOMP=m 202CONFIG_INET6_IPCOMP=m
203# CONFIG_IPV6_MIP6 is not set
204CONFIG_INET6_XFRM_TUNNEL=m
249CONFIG_INET6_TUNNEL=m 205CONFIG_INET6_TUNNEL=m
206CONFIG_INET6_XFRM_MODE_TRANSPORT=m
207CONFIG_INET6_XFRM_MODE_TUNNEL=m
208CONFIG_INET6_XFRM_MODE_BEET=m
209CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
210CONFIG_IPV6_SIT=m
250CONFIG_IPV6_TUNNEL=m 211CONFIG_IPV6_TUNNEL=m
212# CONFIG_IPV6_MULTIPLE_TABLES is not set
213# CONFIG_NETWORK_SECMARK is not set
251CONFIG_NETFILTER=y 214CONFIG_NETFILTER=y
252# CONFIG_NETFILTER_DEBUG is not set 215# CONFIG_NETFILTER_DEBUG is not set
216CONFIG_NETFILTER_ADVANCED=y
217
218#
219# Core Netfilter Configuration
220#
221CONFIG_NETFILTER_NETLINK=m
222CONFIG_NETFILTER_NETLINK_QUEUE=m
223CONFIG_NETFILTER_NETLINK_LOG=m
224CONFIG_NF_CONNTRACK=m
225CONFIG_NF_CT_ACCT=y
226CONFIG_NF_CONNTRACK_MARK=y
227# CONFIG_NF_CONNTRACK_EVENTS is not set
228CONFIG_NF_CT_PROTO_GRE=m
229CONFIG_NF_CT_PROTO_SCTP=m
230CONFIG_NF_CT_PROTO_UDPLITE=m
231CONFIG_NF_CONNTRACK_AMANDA=m
232CONFIG_NF_CONNTRACK_FTP=m
233CONFIG_NF_CONNTRACK_H323=m
234CONFIG_NF_CONNTRACK_IRC=m
235CONFIG_NF_CONNTRACK_NETBIOS_NS=m
236CONFIG_NF_CONNTRACK_PPTP=m
237CONFIG_NF_CONNTRACK_SANE=m
238CONFIG_NF_CONNTRACK_SIP=m
239CONFIG_NF_CONNTRACK_TFTP=m
240# CONFIG_NF_CT_NETLINK is not set
241CONFIG_NETFILTER_XTABLES=m
242CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
243CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
244CONFIG_NETFILTER_XT_TARGET_DSCP=m
245CONFIG_NETFILTER_XT_TARGET_MARK=m
246CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
247CONFIG_NETFILTER_XT_TARGET_NFLOG=m
248CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
249CONFIG_NETFILTER_XT_TARGET_RATEEST=m
250CONFIG_NETFILTER_XT_TARGET_TRACE=m
251CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
252CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
253CONFIG_NETFILTER_XT_MATCH_COMMENT=m
254CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
255CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
256CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
257CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
258CONFIG_NETFILTER_XT_MATCH_DCCP=m
259CONFIG_NETFILTER_XT_MATCH_DSCP=m
260CONFIG_NETFILTER_XT_MATCH_ESP=m
261CONFIG_NETFILTER_XT_MATCH_HELPER=m
262CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
263CONFIG_NETFILTER_XT_MATCH_LENGTH=m
264CONFIG_NETFILTER_XT_MATCH_LIMIT=m
265CONFIG_NETFILTER_XT_MATCH_MAC=m
266CONFIG_NETFILTER_XT_MATCH_MARK=m
267CONFIG_NETFILTER_XT_MATCH_OWNER=m
268CONFIG_NETFILTER_XT_MATCH_POLICY=m
269CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
270CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
271CONFIG_NETFILTER_XT_MATCH_QUOTA=m
272CONFIG_NETFILTER_XT_MATCH_RATEEST=m
273CONFIG_NETFILTER_XT_MATCH_REALM=m
274CONFIG_NETFILTER_XT_MATCH_SCTP=m
275CONFIG_NETFILTER_XT_MATCH_STATE=m
276CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
277CONFIG_NETFILTER_XT_MATCH_STRING=m
278CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
279CONFIG_NETFILTER_XT_MATCH_TIME=m
280CONFIG_NETFILTER_XT_MATCH_U32=m
281CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
253 282
254# 283#
255# IP: Netfilter Configuration 284# IP: Netfilter Configuration
256# 285#
257CONFIG_IP_NF_CONNTRACK=m 286CONFIG_NF_CONNTRACK_IPV4=m
258# CONFIG_IP_NF_CT_ACCT is not set 287CONFIG_NF_CONNTRACK_PROC_COMPAT=y
259CONFIG_IP_NF_CONNTRACK_MARK=y
260# CONFIG_IP_NF_CT_PROTO_SCTP is not set
261CONFIG_IP_NF_FTP=m
262CONFIG_IP_NF_IRC=m
263CONFIG_IP_NF_TFTP=m
264CONFIG_IP_NF_AMANDA=m
265CONFIG_IP_NF_QUEUE=m 288CONFIG_IP_NF_QUEUE=m
266CONFIG_IP_NF_IPTABLES=m 289CONFIG_IP_NF_IPTABLES=m
267CONFIG_IP_NF_MATCH_LIMIT=m
268CONFIG_IP_NF_MATCH_IPRANGE=m
269CONFIG_IP_NF_MATCH_MAC=m
270CONFIG_IP_NF_MATCH_PKTTYPE=m
271CONFIG_IP_NF_MATCH_MARK=m
272CONFIG_IP_NF_MATCH_MULTIPORT=m
273CONFIG_IP_NF_MATCH_TOS=m
274CONFIG_IP_NF_MATCH_RECENT=m 290CONFIG_IP_NF_MATCH_RECENT=m
275CONFIG_IP_NF_MATCH_ECN=m 291CONFIG_IP_NF_MATCH_ECN=m
276CONFIG_IP_NF_MATCH_DSCP=m 292CONFIG_IP_NF_MATCH_AH=m
277CONFIG_IP_NF_MATCH_AH_ESP=m
278CONFIG_IP_NF_MATCH_LENGTH=m
279CONFIG_IP_NF_MATCH_TTL=m 293CONFIG_IP_NF_MATCH_TTL=m
280CONFIG_IP_NF_MATCH_TCPMSS=m
281CONFIG_IP_NF_MATCH_HELPER=m
282CONFIG_IP_NF_MATCH_STATE=m
283CONFIG_IP_NF_MATCH_CONNTRACK=m
284CONFIG_IP_NF_MATCH_OWNER=m
285CONFIG_IP_NF_MATCH_ADDRTYPE=m 294CONFIG_IP_NF_MATCH_ADDRTYPE=m
286CONFIG_IP_NF_MATCH_REALM=m
287# CONFIG_IP_NF_MATCH_SCTP is not set
288# CONFIG_IP_NF_MATCH_COMMENT is not set
289CONFIG_IP_NF_MATCH_CONNMARK=m
290CONFIG_IP_NF_MATCH_HASHLIMIT=m
291CONFIG_IP_NF_FILTER=m 295CONFIG_IP_NF_FILTER=m
292CONFIG_IP_NF_TARGET_REJECT=m 296CONFIG_IP_NF_TARGET_REJECT=m
293CONFIG_IP_NF_TARGET_LOG=m 297CONFIG_IP_NF_TARGET_LOG=m
294CONFIG_IP_NF_TARGET_ULOG=m 298CONFIG_IP_NF_TARGET_ULOG=m
295CONFIG_IP_NF_TARGET_TCPMSS=m 299CONFIG_NF_NAT=m
296CONFIG_IP_NF_NAT=m 300CONFIG_NF_NAT_NEEDED=y
297CONFIG_IP_NF_NAT_NEEDED=y
298CONFIG_IP_NF_TARGET_MASQUERADE=m 301CONFIG_IP_NF_TARGET_MASQUERADE=m
299CONFIG_IP_NF_TARGET_REDIRECT=m 302CONFIG_IP_NF_TARGET_REDIRECT=m
300CONFIG_IP_NF_TARGET_NETMAP=m 303CONFIG_IP_NF_TARGET_NETMAP=m
301CONFIG_IP_NF_TARGET_SAME=m 304CONFIG_NF_NAT_SNMP_BASIC=m
302CONFIG_IP_NF_NAT_SNMP_BASIC=m 305CONFIG_NF_NAT_PROTO_GRE=m
303CONFIG_IP_NF_NAT_IRC=m 306CONFIG_NF_NAT_FTP=m
304CONFIG_IP_NF_NAT_FTP=m 307CONFIG_NF_NAT_IRC=m
305CONFIG_IP_NF_NAT_TFTP=m 308CONFIG_NF_NAT_TFTP=m
306CONFIG_IP_NF_NAT_AMANDA=m 309CONFIG_NF_NAT_AMANDA=m
310CONFIG_NF_NAT_PPTP=m
311CONFIG_NF_NAT_H323=m
312CONFIG_NF_NAT_SIP=m
307CONFIG_IP_NF_MANGLE=m 313CONFIG_IP_NF_MANGLE=m
308CONFIG_IP_NF_TARGET_TOS=m
309CONFIG_IP_NF_TARGET_ECN=m 314CONFIG_IP_NF_TARGET_ECN=m
310CONFIG_IP_NF_TARGET_DSCP=m 315CONFIG_IP_NF_TARGET_TTL=m
311CONFIG_IP_NF_TARGET_MARK=m 316CONFIG_IP_NF_TARGET_CLUSTERIP=m
312CONFIG_IP_NF_TARGET_CLASSIFY=m
313CONFIG_IP_NF_TARGET_CONNMARK=m
314# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
315CONFIG_IP_NF_RAW=m 317CONFIG_IP_NF_RAW=m
316CONFIG_IP_NF_TARGET_NOTRACK=m
317CONFIG_IP_NF_ARPTABLES=m 318CONFIG_IP_NF_ARPTABLES=m
318CONFIG_IP_NF_ARPFILTER=m 319CONFIG_IP_NF_ARPFILTER=m
319CONFIG_IP_NF_ARP_MANGLE=m 320CONFIG_IP_NF_ARP_MANGLE=m
320 321
321# 322#
322# IPv6: Netfilter Configuration (EXPERIMENTAL) 323# IPv6: Netfilter Configuration
323# 324#
325CONFIG_NF_CONNTRACK_IPV6=m
324CONFIG_IP6_NF_QUEUE=m 326CONFIG_IP6_NF_QUEUE=m
325CONFIG_IP6_NF_IPTABLES=m 327CONFIG_IP6_NF_IPTABLES=m
326CONFIG_IP6_NF_MATCH_LIMIT=m
327CONFIG_IP6_NF_MATCH_MAC=m
328CONFIG_IP6_NF_MATCH_RT=m 328CONFIG_IP6_NF_MATCH_RT=m
329CONFIG_IP6_NF_MATCH_OPTS=m 329CONFIG_IP6_NF_MATCH_OPTS=m
330CONFIG_IP6_NF_MATCH_FRAG=m 330CONFIG_IP6_NF_MATCH_FRAG=m
331CONFIG_IP6_NF_MATCH_HL=m 331CONFIG_IP6_NF_MATCH_HL=m
332CONFIG_IP6_NF_MATCH_MULTIPORT=m
333CONFIG_IP6_NF_MATCH_OWNER=m
334CONFIG_IP6_NF_MATCH_MARK=m
335CONFIG_IP6_NF_MATCH_IPV6HEADER=m 332CONFIG_IP6_NF_MATCH_IPV6HEADER=m
336CONFIG_IP6_NF_MATCH_AHESP=m 333CONFIG_IP6_NF_MATCH_AH=m
337CONFIG_IP6_NF_MATCH_LENGTH=m 334CONFIG_IP6_NF_MATCH_MH=m
338CONFIG_IP6_NF_MATCH_EUI64=m 335CONFIG_IP6_NF_MATCH_EUI64=m
339CONFIG_IP6_NF_FILTER=m 336CONFIG_IP6_NF_FILTER=m
340CONFIG_IP6_NF_TARGET_LOG=m 337CONFIG_IP6_NF_TARGET_LOG=m
338CONFIG_IP6_NF_TARGET_REJECT=m
341CONFIG_IP6_NF_MANGLE=m 339CONFIG_IP6_NF_MANGLE=m
342CONFIG_IP6_NF_TARGET_MARK=m 340CONFIG_IP6_NF_TARGET_HL=m
343CONFIG_IP6_NF_RAW=m 341CONFIG_IP6_NF_RAW=m
344CONFIG_XFRM=y 342CONFIG_IP_DCCP=m
345# CONFIG_XFRM_USER is not set 343CONFIG_INET_DCCP_DIAG=m
344CONFIG_IP_DCCP_ACKVEC=y
346 345
347# 346#
348# SCTP Configuration (EXPERIMENTAL) 347# DCCP CCIDs Configuration (EXPERIMENTAL)
349# 348#
349CONFIG_IP_DCCP_CCID2=m
350# CONFIG_IP_DCCP_CCID2_DEBUG is not set
351CONFIG_IP_DCCP_CCID3=m
352# CONFIG_IP_DCCP_CCID3_DEBUG is not set
353CONFIG_IP_DCCP_CCID3_RTO=100
354CONFIG_IP_DCCP_TFRC_LIB=m
350CONFIG_IP_SCTP=m 355CONFIG_IP_SCTP=m
351# CONFIG_SCTP_DBG_MSG is not set 356# CONFIG_SCTP_DBG_MSG is not set
352# CONFIG_SCTP_DBG_OBJCNT is not set 357# CONFIG_SCTP_DBG_OBJCNT is not set
353# CONFIG_SCTP_HMAC_NONE is not set 358# CONFIG_SCTP_HMAC_NONE is not set
354# CONFIG_SCTP_HMAC_SHA1 is not set 359# CONFIG_SCTP_HMAC_SHA1 is not set
355CONFIG_SCTP_HMAC_MD5=y 360CONFIG_SCTP_HMAC_MD5=y
361# CONFIG_TIPC is not set
356# CONFIG_ATM is not set 362# CONFIG_ATM is not set
357# CONFIG_BRIDGE is not set 363# CONFIG_BRIDGE is not set
358# CONFIG_VLAN_8021Q is not set 364# CONFIG_VLAN_8021Q is not set
359# CONFIG_DECNET is not set 365# CONFIG_DECNET is not set
360CONFIG_LLC=m 366CONFIG_LLC=m
361# CONFIG_LLC2 is not set 367# CONFIG_LLC2 is not set
362CONFIG_IPX=m 368# CONFIG_IPX is not set
363# CONFIG_IPX_INTERN is not set
364CONFIG_ATALK=m 369CONFIG_ATALK=m
365# CONFIG_DEV_APPLETALK is not set 370# CONFIG_DEV_APPLETALK is not set
366# CONFIG_X25 is not set 371# CONFIG_X25 is not set
367# CONFIG_LAPB is not set 372# CONFIG_LAPB is not set
368# CONFIG_NET_DIVERT is not set
369# CONFIG_ECONET is not set 373# CONFIG_ECONET is not set
370# CONFIG_WAN_ROUTER is not set 374# CONFIG_WAN_ROUTER is not set
371
372#
373# QoS and/or fair queueing
374#
375# CONFIG_NET_SCHED is not set 375# CONFIG_NET_SCHED is not set
376CONFIG_NET_CLS_ROUTE=y 376CONFIG_NET_CLS_ROUTE=y
377 377
@@ -379,47 +379,156 @@ CONFIG_NET_CLS_ROUTE=y
379# Network testing 379# Network testing
380# 380#
381# CONFIG_NET_PKTGEN is not set 381# CONFIG_NET_PKTGEN is not set
382CONFIG_NETPOLL=y
383# CONFIG_NETPOLL_RX is not set
384# CONFIG_NETPOLL_TRAP is not set
385CONFIG_NET_POLL_CONTROLLER=y
386# CONFIG_HAMRADIO is not set 382# CONFIG_HAMRADIO is not set
383# CONFIG_CAN is not set
387# CONFIG_IRDA is not set 384# CONFIG_IRDA is not set
388# CONFIG_BT is not set 385# CONFIG_BT is not set
389CONFIG_NETDEVICES=y 386# CONFIG_AF_RXRPC is not set
390CONFIG_DUMMY=m
391# CONFIG_BONDING is not set
392CONFIG_EQUALIZER=m
393# CONFIG_TUN is not set
394 387
395# 388#
396# Ethernet (10 or 100Mbit) 389# Wireless
397# 390#
398CONFIG_NET_ETHERNET=y 391# CONFIG_CFG80211 is not set
399CONFIG_MII=m 392CONFIG_WIRELESS_EXT=y
400CONFIG_SUN3LANCE=y 393# CONFIG_MAC80211 is not set
401CONFIG_SUN3_82586=y 394CONFIG_IEEE80211=m
395# CONFIG_IEEE80211_DEBUG is not set
396CONFIG_IEEE80211_CRYPT_WEP=m
397CONFIG_IEEE80211_CRYPT_CCMP=m
398CONFIG_IEEE80211_CRYPT_TKIP=m
399CONFIG_IEEE80211_SOFTMAC=m
400# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
401# CONFIG_RFKILL is not set
402# CONFIG_NET_9P is not set
402 403
403# 404#
404# Ethernet (1000 Mbit) 405# Device Drivers
405# 406#
406 407
407# 408#
408# Ethernet (10000 Mbit) 409# Generic Driver Options
409# 410#
411CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
412CONFIG_STANDALONE=y
413CONFIG_PREVENT_FIRMWARE_BUILD=y
414CONFIG_FW_LOADER=m
415# CONFIG_SYS_HYPERVISOR is not set
416CONFIG_CONNECTOR=m
417# CONFIG_MTD is not set
418# CONFIG_PARPORT is not set
419CONFIG_BLK_DEV=y
420# CONFIG_BLK_DEV_COW_COMMON is not set
421CONFIG_BLK_DEV_LOOP=y
422CONFIG_BLK_DEV_CRYPTOLOOP=m
423CONFIG_BLK_DEV_NBD=m
424CONFIG_BLK_DEV_RAM=y
425CONFIG_BLK_DEV_RAM_COUNT=16
426CONFIG_BLK_DEV_RAM_SIZE=4096
427# CONFIG_BLK_DEV_XIP is not set
428CONFIG_CDROM_PKTCDVD=m
429CONFIG_CDROM_PKTCDVD_BUFFERS=8
430# CONFIG_CDROM_PKTCDVD_WCACHE is not set
431CONFIG_ATA_OVER_ETH=m
432CONFIG_MISC_DEVICES=y
433# CONFIG_EEPROM_93CX6 is not set
434# CONFIG_ENCLOSURE_SERVICES is not set
435CONFIG_HAVE_IDE=y
436# CONFIG_IDE is not set
410 437
411# 438#
412# Token Ring devices 439# SCSI device support
413# 440#
441CONFIG_RAID_ATTRS=m
442CONFIG_SCSI=y
443# CONFIG_SCSI_DMA is not set
444CONFIG_SCSI_TGT=m
445# CONFIG_SCSI_NETLINK is not set
446CONFIG_SCSI_PROC_FS=y
414 447
415# 448#
416# Wireless LAN (non-hamradio) 449# SCSI support type (disk, tape, CD-ROM)
417# 450#
418# CONFIG_NET_RADIO is not set 451CONFIG_BLK_DEV_SD=y
452CONFIG_CHR_DEV_ST=m
453CONFIG_CHR_DEV_OSST=m
454CONFIG_BLK_DEV_SR=y
455CONFIG_BLK_DEV_SR_VENDOR=y
456CONFIG_CHR_DEV_SG=m
457# CONFIG_CHR_DEV_SCH is not set
419 458
420# 459#
421# Wan interfaces 460# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
422# 461#
462# CONFIG_SCSI_MULTI_LUN is not set
463CONFIG_SCSI_CONSTANTS=y
464# CONFIG_SCSI_LOGGING is not set
465# CONFIG_SCSI_SCAN_ASYNC is not set
466CONFIG_SCSI_WAIT_SCAN=m
467
468#
469# SCSI Transports
470#
471CONFIG_SCSI_SPI_ATTRS=y
472# CONFIG_SCSI_FC_ATTRS is not set
473CONFIG_SCSI_ISCSI_ATTRS=m
474CONFIG_SCSI_SAS_ATTRS=m
475CONFIG_SCSI_SAS_LIBSAS=m
476CONFIG_SCSI_SAS_HOST_SMP=y
477# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
478CONFIG_SCSI_SRP_ATTRS=m
479CONFIG_SCSI_SRP_TGT_ATTRS=y
480CONFIG_SCSI_LOWLEVEL=y
481CONFIG_ISCSI_TCP=m
482# CONFIG_SCSI_DEBUG is not set
483CONFIG_SUN3_SCSI=y
484CONFIG_MD=y
485CONFIG_BLK_DEV_MD=m
486CONFIG_MD_LINEAR=m
487CONFIG_MD_RAID0=m
488CONFIG_MD_RAID1=m
489# CONFIG_MD_RAID10 is not set
490CONFIG_MD_RAID456=m
491CONFIG_MD_RAID5_RESHAPE=y
492CONFIG_MD_MULTIPATH=m
493# CONFIG_MD_FAULTY is not set
494CONFIG_BLK_DEV_DM=m
495# CONFIG_DM_DEBUG is not set
496CONFIG_DM_CRYPT=m
497CONFIG_DM_SNAPSHOT=m
498CONFIG_DM_MIRROR=m
499CONFIG_DM_ZERO=m
500CONFIG_DM_MULTIPATH=m
501CONFIG_DM_MULTIPATH_EMC=m
502CONFIG_DM_MULTIPATH_RDAC=m
503CONFIG_DM_MULTIPATH_HP=m
504# CONFIG_DM_DELAY is not set
505CONFIG_DM_UEVENT=y
506CONFIG_NETDEVICES=y
507# CONFIG_NETDEVICES_MULTIQUEUE is not set
508CONFIG_DUMMY=m
509# CONFIG_BONDING is not set
510CONFIG_MACVLAN=m
511CONFIG_EQUALIZER=m
512# CONFIG_TUN is not set
513CONFIG_VETH=m
514# CONFIG_PHYLIB is not set
515CONFIG_NET_ETHERNET=y
516# CONFIG_MII is not set
517CONFIG_SUN3LANCE=y
518CONFIG_SUN3_82586=y
519# CONFIG_IBM_NEW_EMAC_ZMII is not set
520# CONFIG_IBM_NEW_EMAC_RGMII is not set
521# CONFIG_IBM_NEW_EMAC_TAH is not set
522# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
523# CONFIG_B44 is not set
524# CONFIG_NETDEV_1000 is not set
525# CONFIG_NETDEV_10000 is not set
526
527#
528# Wireless LAN
529#
530# CONFIG_WLAN_PRE80211 is not set
531# CONFIG_WLAN_80211 is not set
423# CONFIG_WAN is not set 532# CONFIG_WAN is not set
424CONFIG_PPP=m 533CONFIG_PPP=m
425# CONFIG_PPP_MULTILINK is not set 534# CONFIG_PPP_MULTILINK is not set
@@ -428,28 +537,28 @@ CONFIG_PPP_ASYNC=m
428CONFIG_PPP_SYNC_TTY=m 537CONFIG_PPP_SYNC_TTY=m
429CONFIG_PPP_DEFLATE=m 538CONFIG_PPP_DEFLATE=m
430CONFIG_PPP_BSDCOMP=m 539CONFIG_PPP_BSDCOMP=m
540CONFIG_PPP_MPPE=m
431CONFIG_PPPOE=m 541CONFIG_PPPOE=m
542CONFIG_PPPOL2TP=m
432CONFIG_SLIP=m 543CONFIG_SLIP=m
433CONFIG_SLIP_COMPRESSED=y 544CONFIG_SLIP_COMPRESSED=y
545CONFIG_SLHC=m
434CONFIG_SLIP_SMART=y 546CONFIG_SLIP_SMART=y
435CONFIG_SLIP_MODE_SLIP6=y 547CONFIG_SLIP_MODE_SLIP6=y
436CONFIG_SHAPER=m
437CONFIG_NETCONSOLE=m 548CONFIG_NETCONSOLE=m
438 549CONFIG_NETCONSOLE_DYNAMIC=y
439# 550CONFIG_NETPOLL=y
440# ISDN subsystem 551# CONFIG_NETPOLL_TRAP is not set
441# 552CONFIG_NET_POLL_CONTROLLER=y
442# CONFIG_ISDN is not set 553# CONFIG_ISDN is not set
443
444#
445# Telephony Support
446#
447# CONFIG_PHONE is not set 554# CONFIG_PHONE is not set
448 555
449# 556#
450# Input device support 557# Input device support
451# 558#
452CONFIG_INPUT=y 559CONFIG_INPUT=y
560CONFIG_INPUT_FF_MEMLESS=m
561# CONFIG_INPUT_POLLDEV is not set
453 562
454# 563#
455# Userland interfaces 564# Userland interfaces
@@ -459,7 +568,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
459CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 568CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
460CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 569CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
461# CONFIG_INPUT_JOYDEV is not set 570# CONFIG_INPUT_JOYDEV is not set
462# CONFIG_INPUT_TSDEV is not set
463# CONFIG_INPUT_EVDEV is not set 571# CONFIG_INPUT_EVDEV is not set
464# CONFIG_INPUT_EVBUG is not set 572# CONFIG_INPUT_EVBUG is not set
465 573
@@ -472,11 +580,19 @@ CONFIG_KEYBOARD_SUNKBD=y
472# CONFIG_KEYBOARD_LKKBD is not set 580# CONFIG_KEYBOARD_LKKBD is not set
473# CONFIG_KEYBOARD_XTKBD is not set 581# CONFIG_KEYBOARD_XTKBD is not set
474# CONFIG_KEYBOARD_NEWTON is not set 582# CONFIG_KEYBOARD_NEWTON is not set
583# CONFIG_KEYBOARD_STOWAWAY is not set
475CONFIG_INPUT_MOUSE=y 584CONFIG_INPUT_MOUSE=y
476CONFIG_MOUSE_PS2=m 585CONFIG_MOUSE_PS2=m
586CONFIG_MOUSE_PS2_ALPS=y
587CONFIG_MOUSE_PS2_LOGIPS2PP=y
588CONFIG_MOUSE_PS2_SYNAPTICS=y
589CONFIG_MOUSE_PS2_LIFEBOOK=y
590CONFIG_MOUSE_PS2_TRACKPOINT=y
591# CONFIG_MOUSE_PS2_TOUCHKIT is not set
477CONFIG_MOUSE_SERIAL=m 592CONFIG_MOUSE_SERIAL=m
478# CONFIG_MOUSE_VSXXXAA is not set 593# CONFIG_MOUSE_VSXXXAA is not set
479# CONFIG_INPUT_JOYSTICK is not set 594# CONFIG_INPUT_JOYSTICK is not set
595# CONFIG_INPUT_TABLET is not set
480# CONFIG_INPUT_TOUCHSCREEN is not set 596# CONFIG_INPUT_TOUCHSCREEN is not set
481# CONFIG_INPUT_MISC is not set 597# CONFIG_INPUT_MISC is not set
482 598
@@ -484,7 +600,7 @@ CONFIG_MOUSE_SERIAL=m
484# Hardware I/O ports 600# Hardware I/O ports
485# 601#
486CONFIG_SERIO=y 602CONFIG_SERIO=y
487CONFIG_SERIO_SERPORT=m 603# CONFIG_SERIO_SERPORT is not set
488CONFIG_SERIO_LIBPS2=m 604CONFIG_SERIO_LIBPS2=m
489# CONFIG_SERIO_RAW is not set 605# CONFIG_SERIO_RAW is not set
490# CONFIG_GAMEPORT is not set 606# CONFIG_GAMEPORT is not set
@@ -495,6 +611,7 @@ CONFIG_SERIO_LIBPS2=m
495CONFIG_VT=y 611CONFIG_VT=y
496CONFIG_VT_CONSOLE=y 612CONFIG_VT_CONSOLE=y
497CONFIG_HW_CONSOLE=y 613CONFIG_HW_CONSOLE=y
614CONFIG_VT_HW_CONSOLE_BINDING=y
498# CONFIG_SERIAL_NONSTANDARD is not set 615# CONFIG_SERIAL_NONSTANDARD is not set
499 616
500# 617#
@@ -508,112 +625,113 @@ CONFIG_HW_CONSOLE=y
508CONFIG_UNIX98_PTYS=y 625CONFIG_UNIX98_PTYS=y
509CONFIG_LEGACY_PTYS=y 626CONFIG_LEGACY_PTYS=y
510CONFIG_LEGACY_PTY_COUNT=256 627CONFIG_LEGACY_PTY_COUNT=256
511
512#
513# IPMI
514#
515# CONFIG_IPMI_HANDLER is not set 628# CONFIG_IPMI_HANDLER is not set
516 629# CONFIG_HW_RANDOM is not set
517# 630CONFIG_GEN_RTC=m
518# Watchdog Cards
519#
520# CONFIG_WATCHDOG is not set
521CONFIG_GEN_RTC=y
522CONFIG_GEN_RTC_X=y 631CONFIG_GEN_RTC_X=y
523# CONFIG_DTLK is not set
524# CONFIG_R3964 is not set 632# CONFIG_R3964 is not set
525
526#
527# Ftape, the floppy tape device driver
528#
529# CONFIG_DRM is not set
530# CONFIG_RAW_DRIVER is not set 633# CONFIG_RAW_DRIVER is not set
531 634# CONFIG_TCG_TPM is not set
532#
533# TPM devices
534#
535
536#
537# I2C support
538#
539# CONFIG_I2C is not set 635# CONFIG_I2C is not set
540 636
541# 637#
542# Dallas's 1-wire bus 638# SPI support
543# 639#
640# CONFIG_SPI is not set
641# CONFIG_SPI_MASTER is not set
544# CONFIG_W1 is not set 642# CONFIG_W1 is not set
643# CONFIG_POWER_SUPPLY is not set
644# CONFIG_HWMON is not set
645# CONFIG_THERMAL is not set
646# CONFIG_WATCHDOG is not set
545 647
546# 648#
547# Misc devices 649# Sonics Silicon Backplane
548# 650#
651CONFIG_SSB_POSSIBLE=y
652# CONFIG_SSB is not set
549 653
550# 654#
551# Multimedia devices 655# Multifunction device drivers
552# 656#
553# CONFIG_VIDEO_DEV is not set 657# CONFIG_MFD_SM501 is not set
554 658
555# 659#
556# Digital Video Broadcasting Devices 660# Multimedia devices
557# 661#
558# CONFIG_DVB is not set 662# CONFIG_VIDEO_DEV is not set
663# CONFIG_DVB_CORE is not set
664# CONFIG_DAB is not set
559 665
560# 666#
561# Graphics support 667# Graphics support
562# 668#
669# CONFIG_VGASTATE is not set
670# CONFIG_VIDEO_OUTPUT_CONTROL is not set
563CONFIG_FB=y 671CONFIG_FB=y
672# CONFIG_FIRMWARE_EDID is not set
673# CONFIG_FB_DDC is not set
564# CONFIG_FB_CFB_FILLRECT is not set 674# CONFIG_FB_CFB_FILLRECT is not set
565# CONFIG_FB_CFB_COPYAREA is not set 675# CONFIG_FB_CFB_COPYAREA is not set
566# CONFIG_FB_CFB_IMAGEBLIT is not set 676# CONFIG_FB_CFB_IMAGEBLIT is not set
567# CONFIG_FB_SOFT_CURSOR is not set 677# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
678# CONFIG_FB_SYS_FILLRECT is not set
679# CONFIG_FB_SYS_COPYAREA is not set
680# CONFIG_FB_SYS_IMAGEBLIT is not set
681# CONFIG_FB_SYS_FOPS is not set
682CONFIG_FB_DEFERRED_IO=y
683# CONFIG_FB_SVGALIB is not set
568# CONFIG_FB_MACMODES is not set 684# CONFIG_FB_MACMODES is not set
569CONFIG_FB_MODE_HELPERS=y 685# CONFIG_FB_BACKLIGHT is not set
686# CONFIG_FB_MODE_HELPERS is not set
570# CONFIG_FB_TILEBLITTING is not set 687# CONFIG_FB_TILEBLITTING is not set
688
689#
690# Frame buffer hardware drivers
691#
692# CONFIG_FB_UVESA is not set
571# CONFIG_FB_S1D13XXX is not set 693# CONFIG_FB_S1D13XXX is not set
572# CONFIG_FB_VIRTUAL is not set 694# CONFIG_FB_VIRTUAL is not set
695# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
696
697#
698# Display device support
699#
700# CONFIG_DISPLAY_SUPPORT is not set
573 701
574# 702#
575# Console display driver support 703# Console display driver support
576# 704#
577CONFIG_DUMMY_CONSOLE=y 705CONFIG_DUMMY_CONSOLE=y
578CONFIG_FRAMEBUFFER_CONSOLE=y 706CONFIG_FRAMEBUFFER_CONSOLE=y
707# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
708# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
579# CONFIG_FONTS is not set 709# CONFIG_FONTS is not set
580CONFIG_FONT_8x8=y 710CONFIG_FONT_8x8=y
581CONFIG_FONT_8x16=y 711CONFIG_FONT_8x16=y
582
583#
584# Logo configuration
585#
586CONFIG_LOGO=y 712CONFIG_LOGO=y
587CONFIG_LOGO_LINUX_MONO=y 713CONFIG_LOGO_LINUX_MONO=y
588CONFIG_LOGO_LINUX_VGA16=y 714CONFIG_LOGO_LINUX_VGA16=y
589CONFIG_LOGO_LINUX_CLUT224=y 715CONFIG_LOGO_LINUX_CLUT224=y
590# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
591 716
592# 717#
593# Sound 718# Sound
594# 719#
595# CONFIG_SOUND is not set 720# CONFIG_SOUND is not set
596 721CONFIG_HID_SUPPORT=y
597# 722CONFIG_HID=m
598# USB support 723# CONFIG_HID_DEBUG is not set
599# 724CONFIG_HIDRAW=y
600# CONFIG_USB_ARCH_HAS_HCD is not set 725# CONFIG_USB_SUPPORT is not set
601# CONFIG_USB_ARCH_HAS_OHCI is not set
602
603#
604# USB Gadget Support
605#
606# CONFIG_USB_GADGET is not set
607
608#
609# MMC/SD Card support
610#
611# CONFIG_MMC is not set 726# CONFIG_MMC is not set
727# CONFIG_MEMSTICK is not set
728# CONFIG_NEW_LEDS is not set
729# CONFIG_RTC_CLASS is not set
612 730
613# 731#
614# InfiniBand support 732# Userspace I/O
615# 733#
616# CONFIG_INFINIBAND is not set 734# CONFIG_UIO is not set
617 735
618# 736#
619# Character devices 737# Character devices
@@ -624,10 +742,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
624# 742#
625CONFIG_EXT2_FS=y 743CONFIG_EXT2_FS=y
626# CONFIG_EXT2_FS_XATTR is not set 744# CONFIG_EXT2_FS_XATTR is not set
745# CONFIG_EXT2_FS_XIP is not set
627CONFIG_EXT3_FS=y 746CONFIG_EXT3_FS=y
628# CONFIG_EXT3_FS_XATTR is not set 747# CONFIG_EXT3_FS_XATTR is not set
748# CONFIG_EXT4DEV_FS is not set
629CONFIG_JBD=y 749CONFIG_JBD=y
630# CONFIG_JBD_DEBUG is not set
631CONFIG_REISERFS_FS=m 750CONFIG_REISERFS_FS=m
632# CONFIG_REISERFS_CHECK is not set 751# CONFIG_REISERFS_CHECK is not set
633# CONFIG_REISERFS_PROC_INFO is not set 752# CONFIG_REISERFS_PROC_INFO is not set
@@ -638,25 +757,29 @@ CONFIG_JFS_FS=m
638# CONFIG_JFS_DEBUG is not set 757# CONFIG_JFS_DEBUG is not set
639# CONFIG_JFS_STATISTICS is not set 758# CONFIG_JFS_STATISTICS is not set
640CONFIG_FS_POSIX_ACL=y 759CONFIG_FS_POSIX_ACL=y
641
642#
643# XFS support
644#
645CONFIG_XFS_FS=m 760CONFIG_XFS_FS=m
646CONFIG_XFS_EXPORT=y
647# CONFIG_XFS_RT is not set
648# CONFIG_XFS_QUOTA is not set 761# CONFIG_XFS_QUOTA is not set
649# CONFIG_XFS_SECURITY is not set 762# CONFIG_XFS_SECURITY is not set
650# CONFIG_XFS_POSIX_ACL is not set 763# CONFIG_XFS_POSIX_ACL is not set
651CONFIG_MINIX_FS=y 764# CONFIG_XFS_RT is not set
652# CONFIG_ROMFS_FS is not set 765CONFIG_GFS2_FS=m
766CONFIG_GFS2_FS_LOCKING_NOLOCK=m
767CONFIG_GFS2_FS_LOCKING_DLM=m
768CONFIG_OCFS2_FS=m
769# CONFIG_OCFS2_DEBUG_MASKLOG is not set
770# CONFIG_OCFS2_DEBUG_FS is not set
771CONFIG_DNOTIFY=y
772CONFIG_INOTIFY=y
773CONFIG_INOTIFY_USER=y
653CONFIG_QUOTA=y 774CONFIG_QUOTA=y
775CONFIG_QUOTA_NETLINK_INTERFACE=y
776# CONFIG_PRINT_QUOTA_WARNING is not set
654# CONFIG_QFMT_V1 is not set 777# CONFIG_QFMT_V1 is not set
655# CONFIG_QFMT_V2 is not set 778# CONFIG_QFMT_V2 is not set
656CONFIG_QUOTACTL=y 779CONFIG_QUOTACTL=y
657CONFIG_DNOTIFY=y
658CONFIG_AUTOFS_FS=m 780CONFIG_AUTOFS_FS=m
659CONFIG_AUTOFS4_FS=m 781CONFIG_AUTOFS4_FS=m
782CONFIG_FUSE_FS=m
660 783
661# 784#
662# CD-ROM/DVD Filesystems 785# CD-ROM/DVD Filesystems
@@ -664,7 +787,6 @@ CONFIG_AUTOFS4_FS=m
664CONFIG_ISO9660_FS=y 787CONFIG_ISO9660_FS=y
665CONFIG_JOLIET=y 788CONFIG_JOLIET=y
666CONFIG_ZISOFS=y 789CONFIG_ZISOFS=y
667CONFIG_ZISOFS_FS=y
668CONFIG_UDF_FS=m 790CONFIG_UDF_FS=m
669CONFIG_UDF_NLS=y 791CONFIG_UDF_NLS=y
670 792
@@ -683,15 +805,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
683# 805#
684CONFIG_PROC_FS=y 806CONFIG_PROC_FS=y
685CONFIG_PROC_KCORE=y 807CONFIG_PROC_KCORE=y
808CONFIG_PROC_SYSCTL=y
686CONFIG_SYSFS=y 809CONFIG_SYSFS=y
687CONFIG_DEVFS_FS=y
688CONFIG_DEVFS_MOUNT=y
689# CONFIG_DEVFS_DEBUG is not set
690# CONFIG_DEVPTS_FS_XATTR is not set
691CONFIG_TMPFS=y 810CONFIG_TMPFS=y
692# CONFIG_TMPFS_XATTR is not set 811# CONFIG_TMPFS_POSIX_ACL is not set
693# CONFIG_HUGETLB_PAGE is not set 812# CONFIG_HUGETLB_PAGE is not set
694CONFIG_RAMFS=y 813CONFIG_CONFIGFS_FS=m
695 814
696# 815#
697# Miscellaneous filesystems 816# Miscellaneous filesystems
@@ -705,44 +824,40 @@ CONFIG_HFSPLUS_FS=m
705# CONFIG_EFS_FS is not set 824# CONFIG_EFS_FS is not set
706CONFIG_CRAMFS=m 825CONFIG_CRAMFS=m
707# CONFIG_VXFS_FS is not set 826# CONFIG_VXFS_FS is not set
827CONFIG_MINIX_FS=y
708CONFIG_HPFS_FS=m 828CONFIG_HPFS_FS=m
709# CONFIG_QNX4FS_FS is not set 829# CONFIG_QNX4FS_FS is not set
830# CONFIG_ROMFS_FS is not set
710CONFIG_SYSV_FS=m 831CONFIG_SYSV_FS=m
711CONFIG_UFS_FS=m 832CONFIG_UFS_FS=m
712CONFIG_UFS_FS_WRITE=y 833# CONFIG_UFS_FS_WRITE is not set
713 834# CONFIG_UFS_DEBUG is not set
714# 835CONFIG_NETWORK_FILESYSTEMS=y
715# Network File Systems
716#
717CONFIG_NFS_FS=y 836CONFIG_NFS_FS=y
718CONFIG_NFS_V3=y 837CONFIG_NFS_V3=y
838# CONFIG_NFS_V3_ACL is not set
719CONFIG_NFS_V4=y 839CONFIG_NFS_V4=y
720# CONFIG_NFS_DIRECTIO is not set 840# CONFIG_NFS_DIRECTIO is not set
721CONFIG_NFSD=m 841CONFIG_NFSD=m
722CONFIG_NFSD_V3=y 842CONFIG_NFSD_V3=y
723CONFIG_NFSD_V4=y 843# CONFIG_NFSD_V3_ACL is not set
844# CONFIG_NFSD_V4 is not set
724CONFIG_NFSD_TCP=y 845CONFIG_NFSD_TCP=y
725CONFIG_ROOT_NFS=y 846CONFIG_ROOT_NFS=y
726CONFIG_LOCKD=y 847CONFIG_LOCKD=y
727CONFIG_LOCKD_V4=y 848CONFIG_LOCKD_V4=y
728CONFIG_EXPORTFS=m 849CONFIG_EXPORTFS=m
850CONFIG_NFS_COMMON=y
729CONFIG_SUNRPC=y 851CONFIG_SUNRPC=y
730CONFIG_SUNRPC_GSS=y 852CONFIG_SUNRPC_GSS=y
853CONFIG_SUNRPC_BIND34=y
731CONFIG_RPCSEC_GSS_KRB5=y 854CONFIG_RPCSEC_GSS_KRB5=y
732# CONFIG_RPCSEC_GSS_SPKM3 is not set 855# CONFIG_RPCSEC_GSS_SPKM3 is not set
733CONFIG_SMB_FS=m 856CONFIG_SMB_FS=m
734CONFIG_SMB_NLS_DEFAULT=y 857CONFIG_SMB_NLS_DEFAULT=y
735CONFIG_SMB_NLS_REMOTE="cp437" 858CONFIG_SMB_NLS_REMOTE="cp437"
736# CONFIG_CIFS is not set 859# CONFIG_CIFS is not set
737CONFIG_NCP_FS=m 860# CONFIG_NCP_FS is not set
738# CONFIG_NCPFS_PACKET_SIGNING is not set
739# CONFIG_NCPFS_IOCTL_LOCKING is not set
740# CONFIG_NCPFS_STRONG is not set
741# CONFIG_NCPFS_NFS_NS is not set
742# CONFIG_NCPFS_OS2_NS is not set
743# CONFIG_NCPFS_SMALLDOS is not set
744CONFIG_NCPFS_NLS=y
745# CONFIG_NCPFS_EXTRAS is not set
746CONFIG_CODA_FS=m 861CONFIG_CODA_FS=m
747# CONFIG_CODA_FS_OLD_API is not set 862# CONFIG_CODA_FS_OLD_API is not set
748# CONFIG_AFS_FS is not set 863# CONFIG_AFS_FS is not set
@@ -753,10 +868,6 @@ CONFIG_CODA_FS=m
753# CONFIG_PARTITION_ADVANCED is not set 868# CONFIG_PARTITION_ADVANCED is not set
754CONFIG_MSDOS_PARTITION=y 869CONFIG_MSDOS_PARTITION=y
755CONFIG_SUN_PARTITION=y 870CONFIG_SUN_PARTITION=y
756
757#
758# Native Language Support
759#
760CONFIG_NLS=y 871CONFIG_NLS=y
761CONFIG_NLS_DEFAULT="iso8859-1" 872CONFIG_NLS_DEFAULT="iso8859-1"
762CONFIG_NLS_CODEPAGE_437=y 873CONFIG_NLS_CODEPAGE_437=y
@@ -797,35 +908,42 @@ CONFIG_NLS_ISO8859_15=m
797CONFIG_NLS_KOI8_R=m 908CONFIG_NLS_KOI8_R=m
798CONFIG_NLS_KOI8_U=m 909CONFIG_NLS_KOI8_U=m
799CONFIG_NLS_UTF8=m 910CONFIG_NLS_UTF8=m
911CONFIG_DLM=m
912# CONFIG_DLM_DEBUG is not set
800 913
801# 914#
802# Kernel hacking 915# Kernel hacking
803# 916#
804# CONFIG_PRINTK_TIME is not set 917# CONFIG_PRINTK_TIME is not set
805CONFIG_DEBUG_KERNEL=y 918CONFIG_ENABLE_WARN_DEPRECATED=y
919CONFIG_ENABLE_MUST_CHECK=y
806CONFIG_MAGIC_SYSRQ=y 920CONFIG_MAGIC_SYSRQ=y
807CONFIG_LOG_BUF_SHIFT=16 921# CONFIG_UNUSED_SYMBOLS is not set
808# CONFIG_SCHEDSTATS is not set
809# CONFIG_DEBUG_SLAB is not set
810# CONFIG_DEBUG_SPINLOCK is not set
811# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
812# CONFIG_DEBUG_KOBJECT is not set
813CONFIG_DEBUG_BUGVERBOSE=y
814# CONFIG_DEBUG_INFO is not set
815# CONFIG_DEBUG_FS is not set 922# CONFIG_DEBUG_FS is not set
816# CONFIG_FRAME_POINTER is not set 923# CONFIG_HEADERS_CHECK is not set
924# CONFIG_DEBUG_KERNEL is not set
925CONFIG_DEBUG_BUGVERBOSE=y
926# CONFIG_SAMPLES is not set
817 927
818# 928#
819# Security options 929# Security options
820# 930#
821# CONFIG_KEYS is not set 931# CONFIG_KEYS is not set
822# CONFIG_SECURITY is not set 932# CONFIG_SECURITY is not set
823 933# CONFIG_SECURITY_FILE_CAPABILITIES is not set
824# 934CONFIG_XOR_BLOCKS=m
825# Cryptographic options 935CONFIG_ASYNC_CORE=m
826# 936CONFIG_ASYNC_MEMCPY=m
937CONFIG_ASYNC_XOR=m
827CONFIG_CRYPTO=y 938CONFIG_CRYPTO=y
939CONFIG_CRYPTO_ALGAPI=y
940CONFIG_CRYPTO_AEAD=m
941CONFIG_CRYPTO_BLKCIPHER=y
942CONFIG_CRYPTO_SEQIV=m
943CONFIG_CRYPTO_HASH=y
944CONFIG_CRYPTO_MANAGER=y
828CONFIG_CRYPTO_HMAC=y 945CONFIG_CRYPTO_HMAC=y
946CONFIG_CRYPTO_XCBC=m
829CONFIG_CRYPTO_NULL=m 947CONFIG_CRYPTO_NULL=m
830CONFIG_CRYPTO_MD4=m 948CONFIG_CRYPTO_MD4=m
831CONFIG_CRYPTO_MD5=y 949CONFIG_CRYPTO_MD5=y
@@ -834,9 +952,21 @@ CONFIG_CRYPTO_SHA256=m
834CONFIG_CRYPTO_SHA512=m 952CONFIG_CRYPTO_SHA512=m
835CONFIG_CRYPTO_WP512=m 953CONFIG_CRYPTO_WP512=m
836CONFIG_CRYPTO_TGR192=m 954CONFIG_CRYPTO_TGR192=m
955CONFIG_CRYPTO_GF128MUL=m
956CONFIG_CRYPTO_ECB=m
957CONFIG_CRYPTO_CBC=y
958CONFIG_CRYPTO_PCBC=m
959CONFIG_CRYPTO_LRW=m
960CONFIG_CRYPTO_XTS=m
961CONFIG_CRYPTO_CTR=m
962CONFIG_CRYPTO_GCM=m
963CONFIG_CRYPTO_CCM=m
964CONFIG_CRYPTO_CRYPTD=m
837CONFIG_CRYPTO_DES=y 965CONFIG_CRYPTO_DES=y
966CONFIG_CRYPTO_FCRYPT=m
838CONFIG_CRYPTO_BLOWFISH=m 967CONFIG_CRYPTO_BLOWFISH=m
839CONFIG_CRYPTO_TWOFISH=m 968CONFIG_CRYPTO_TWOFISH=m
969CONFIG_CRYPTO_TWOFISH_COMMON=m
840CONFIG_CRYPTO_SERPENT=m 970CONFIG_CRYPTO_SERPENT=m
841CONFIG_CRYPTO_AES=m 971CONFIG_CRYPTO_AES=m
842CONFIG_CRYPTO_CAST5=m 972CONFIG_CRYPTO_CAST5=m
@@ -845,20 +975,34 @@ CONFIG_CRYPTO_TEA=m
845CONFIG_CRYPTO_ARC4=m 975CONFIG_CRYPTO_ARC4=m
846CONFIG_CRYPTO_KHAZAD=m 976CONFIG_CRYPTO_KHAZAD=m
847CONFIG_CRYPTO_ANUBIS=m 977CONFIG_CRYPTO_ANUBIS=m
978CONFIG_CRYPTO_SEED=m
979CONFIG_CRYPTO_SALSA20=m
848CONFIG_CRYPTO_DEFLATE=m 980CONFIG_CRYPTO_DEFLATE=m
849CONFIG_CRYPTO_MICHAEL_MIC=m 981CONFIG_CRYPTO_MICHAEL_MIC=m
850CONFIG_CRYPTO_CRC32C=m 982CONFIG_CRYPTO_CRC32C=m
983CONFIG_CRYPTO_CAMELLIA=m
851CONFIG_CRYPTO_TEST=m 984CONFIG_CRYPTO_TEST=m
852 985CONFIG_CRYPTO_AUTHENC=m
853# 986CONFIG_CRYPTO_LZO=m
854# Hardware crypto devices 987# CONFIG_CRYPTO_HW is not set
855#
856 988
857# 989#
858# Library routines 990# Library routines
859# 991#
992CONFIG_BITREVERSE=y
860CONFIG_CRC_CCITT=m 993CONFIG_CRC_CCITT=m
994CONFIG_CRC16=m
995# CONFIG_CRC_ITU_T is not set
861CONFIG_CRC32=y 996CONFIG_CRC32=y
997# CONFIG_CRC7 is not set
862CONFIG_LIBCRC32C=m 998CONFIG_LIBCRC32C=m
863CONFIG_ZLIB_INFLATE=y 999CONFIG_ZLIB_INFLATE=y
864CONFIG_ZLIB_DEFLATE=m 1000CONFIG_ZLIB_DEFLATE=m
1001CONFIG_LZO_COMPRESS=m
1002CONFIG_LZO_DECOMPRESS=m
1003CONFIG_TEXTSEARCH=y
1004CONFIG_TEXTSEARCH_KMP=m
1005CONFIG_TEXTSEARCH_BM=m
1006CONFIG_TEXTSEARCH_FSM=m
1007CONFIG_PLIST=y
1008CONFIG_HAS_IOMEM=y
diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig
index 997143b7928..f18154f1ef1 100644
--- a/arch/m68k/configs/sun3x_defconfig
+++ b/arch/m68k/configs/sun3x_defconfig
@@ -1,63 +1,111 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k 3# Linux kernel version: 2.6.25-rc8
4# Tue Jun 7 20:35:06 2005 4# Wed Apr 2 20:46:23 2008
5# 5#
6CONFIG_M68K=y 6CONFIG_M68K=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9# CONFIG_ARCH_HAS_ILOG2_U32 is not set
10# CONFIG_ARCH_HAS_ILOG2_U64 is not set
11CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_TIME_LOW_RES=y
14CONFIG_GENERIC_IOMAP=y
15CONFIG_NO_IOPORT=y
16# CONFIG_NO_DMA is not set
17CONFIG_ARCH_SUPPORTS_AOUT=y
18CONFIG_HZ=100
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 20
12# 21#
13# Code maturity level options 22# General setup
14# 23#
15CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 26CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION="-sun3x" 27CONFIG_LOCALVERSION="-sun3x"
28CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 29CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
31CONFIG_SYSVIPC_SYSCTL=y
26CONFIG_POSIX_MQUEUE=y 32CONFIG_POSIX_MQUEUE=y
27CONFIG_BSD_PROCESS_ACCT=y 33CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 34# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 35# CONFIG_TASKSTATS is not set
30CONFIG_AUDIT=y 36# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33# CONFIG_IKCONFIG is not set 37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39# CONFIG_CGROUPS is not set
40# CONFIG_GROUP_SCHED is not set
41# CONFIG_SYSFS_DEPRECATED_V2 is not set
42CONFIG_RELAY=y
43CONFIG_NAMESPACES=y
44# CONFIG_UTS_NS is not set
45# CONFIG_IPC_NS is not set
46# CONFIG_USER_NS is not set
47# CONFIG_PID_NS is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
51CONFIG_SYSCTL=y
34# CONFIG_EMBEDDED is not set 52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
35CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
36# CONFIG_KALLSYMS_ALL is not set
37# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 58CONFIG_PRINTK=y
39CONFIG_BUG=y 59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61# CONFIG_COMPAT_BRK is not set
40CONFIG_BASE_FULL=y 62CONFIG_BASE_FULL=y
41CONFIG_FUTEX=y 63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
42CONFIG_EPOLL=y 65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
43CONFIG_SHMEM=y 69CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 70CONFIG_VM_EVENT_COUNTERS=y
45CONFIG_CC_ALIGN_LABELS=0 71CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LOOPS=0 72# CONFIG_SLUB is not set
47CONFIG_CC_ALIGN_JUMPS=0 73# CONFIG_SLOB is not set
74# CONFIG_PROFILING is not set
75# CONFIG_MARKERS is not set
76# CONFIG_HAVE_OPROFILE is not set
77# CONFIG_HAVE_KPROBES is not set
78# CONFIG_HAVE_KRETPROBES is not set
79CONFIG_PROC_PAGE_MONITOR=y
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
48# CONFIG_TINY_SHMEM is not set 82# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 83CONFIG_BASE_SMALL=0
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 84CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 85CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 86# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 87# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 88# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 89CONFIG_KMOD=y
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94CONFIG_BLK_DEV_BSG=y
95
96#
97# IO Schedulers
98#
99CONFIG_IOSCHED_NOOP=y
100CONFIG_IOSCHED_AS=y
101CONFIG_IOSCHED_DEADLINE=y
102CONFIG_IOSCHED_CFQ=y
103CONFIG_DEFAULT_AS=y
104# CONFIG_DEFAULT_DEADLINE is not set
105# CONFIG_DEFAULT_CFQ is not set
106# CONFIG_DEFAULT_NOOP is not set
107CONFIG_DEFAULT_IOSCHED="anticipatory"
108CONFIG_CLASSIC_RCU=y
61 109
62# 110#
63# Platform dependent setup 111# Platform dependent setup
@@ -80,10 +128,24 @@ CONFIG_M68030=y
80# CONFIG_M68040 is not set 128# CONFIG_M68040 is not set
81# CONFIG_M68060 is not set 129# CONFIG_M68060 is not set
82CONFIG_MMU_MOTOROLA=y 130CONFIG_MMU_MOTOROLA=y
83CONFIG_M68KFPU_EMU=y 131# CONFIG_M68KFPU_EMU is not set
84CONFIG_M68KFPU_EMU_EXTRAPREC=y
85# CONFIG_M68KFPU_EMU_ONLY is not set
86# CONFIG_ADVANCED is not set 132# CONFIG_ADVANCED is not set
133CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
134CONFIG_NODES_SHIFT=3
135CONFIG_SELECT_MEMORY_MODEL=y
136# CONFIG_FLATMEM_MANUAL is not set
137CONFIG_DISCONTIGMEM_MANUAL=y
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_DISCONTIGMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141CONFIG_NEED_MULTIPLE_NODES=y
142# CONFIG_SPARSEMEM_STATIC is not set
143# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
146CONFIG_ZONE_DMA_FLAG=1
147CONFIG_BOUNCE=y
148CONFIG_VIRT_TO_BUS=y
87 149
88# 150#
89# General setup 151# General setup
@@ -92,135 +154,11 @@ CONFIG_BINFMT_ELF=y
92CONFIG_BINFMT_AOUT=m 154CONFIG_BINFMT_AOUT=m
93CONFIG_BINFMT_MISC=m 155CONFIG_BINFMT_MISC=m
94CONFIG_PROC_HARDWARE=y 156CONFIG_PROC_HARDWARE=y
157CONFIG_ZONE_DMA=y
158# CONFIG_ARCH_SUPPORTS_MSI is not set
95 159
96# 160#
97# Device Drivers 161# Networking
98#
99
100#
101# Generic Driver Options
102#
103CONFIG_STANDALONE=y
104CONFIG_PREVENT_FIRMWARE_BUILD=y
105CONFIG_FW_LOADER=m
106# CONFIG_DEBUG_DRIVER is not set
107
108#
109# Memory Technology Devices (MTD)
110#
111# CONFIG_MTD is not set
112
113#
114# Parallel port support
115#
116# CONFIG_PARPORT is not set
117
118#
119# Plug and Play support
120#
121
122#
123# Block devices
124#
125# CONFIG_BLK_DEV_COW_COMMON is not set
126CONFIG_BLK_DEV_LOOP=y
127CONFIG_BLK_DEV_CRYPTOLOOP=m
128CONFIG_BLK_DEV_NBD=m
129CONFIG_BLK_DEV_RAM=y
130CONFIG_BLK_DEV_RAM_COUNT=16
131CONFIG_BLK_DEV_RAM_SIZE=4096
132CONFIG_BLK_DEV_INITRD=y
133CONFIG_INITRAMFS_SOURCE=""
134CONFIG_CDROM_PKTCDVD=m
135CONFIG_CDROM_PKTCDVD_BUFFERS=8
136# CONFIG_CDROM_PKTCDVD_WCACHE is not set
137
138#
139# IO Schedulers
140#
141CONFIG_IOSCHED_NOOP=y
142CONFIG_IOSCHED_AS=y
143CONFIG_IOSCHED_DEADLINE=y
144CONFIG_IOSCHED_CFQ=y
145CONFIG_ATA_OVER_ETH=m
146
147#
148# ATA/ATAPI/MFM/RLL support
149#
150# CONFIG_IDE is not set
151
152#
153# SCSI device support
154#
155CONFIG_SCSI=y
156CONFIG_SCSI_PROC_FS=y
157
158#
159# SCSI support type (disk, tape, CD-ROM)
160#
161CONFIG_BLK_DEV_SD=y
162CONFIG_CHR_DEV_ST=m
163# CONFIG_CHR_DEV_OSST is not set
164CONFIG_BLK_DEV_SR=y
165CONFIG_BLK_DEV_SR_VENDOR=y
166CONFIG_CHR_DEV_SG=m
167
168#
169# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
170#
171# CONFIG_SCSI_MULTI_LUN is not set
172CONFIG_SCSI_CONSTANTS=y
173# CONFIG_SCSI_LOGGING is not set
174
175#
176# SCSI Transport Attributes
177#
178# CONFIG_SCSI_SPI_ATTRS is not set
179# CONFIG_SCSI_FC_ATTRS is not set
180# CONFIG_SCSI_ISCSI_ATTRS is not set
181
182#
183# SCSI low-level drivers
184#
185# CONFIG_SCSI_SATA is not set
186# CONFIG_SCSI_DEBUG is not set
187CONFIG_SUN3X_ESP=y
188
189#
190# Multi-device support (RAID and LVM)
191#
192CONFIG_MD=y
193CONFIG_BLK_DEV_MD=m
194CONFIG_MD_LINEAR=m
195CONFIG_MD_RAID0=m
196CONFIG_MD_RAID1=m
197# CONFIG_MD_RAID10 is not set
198CONFIG_MD_RAID5=m
199CONFIG_MD_RAID6=m
200CONFIG_MD_MULTIPATH=m
201# CONFIG_MD_FAULTY is not set
202CONFIG_BLK_DEV_DM=m
203CONFIG_DM_CRYPT=m
204CONFIG_DM_SNAPSHOT=m
205CONFIG_DM_MIRROR=m
206CONFIG_DM_ZERO=m
207CONFIG_DM_MULTIPATH=m
208CONFIG_DM_MULTIPATH_EMC=m
209
210#
211# Fusion MPT device support
212#
213
214#
215# IEEE 1394 (FireWire) support
216#
217
218#
219# I2O device support
220#
221
222#
223# Networking support
224# 162#
225CONFIG_NET=y 163CONFIG_NET=y
226 164
@@ -230,10 +168,17 @@ CONFIG_NET=y
230CONFIG_PACKET=y 168CONFIG_PACKET=y
231# CONFIG_PACKET_MMAP is not set 169# CONFIG_PACKET_MMAP is not set
232CONFIG_UNIX=y 170CONFIG_UNIX=y
171CONFIG_XFRM=y
172# CONFIG_XFRM_USER is not set
173# CONFIG_XFRM_SUB_POLICY is not set
174CONFIG_XFRM_MIGRATE=y
175# CONFIG_XFRM_STATISTICS is not set
233CONFIG_NET_KEY=y 176CONFIG_NET_KEY=y
177CONFIG_NET_KEY_MIGRATE=y
234CONFIG_INET=y 178CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 179# CONFIG_IP_MULTICAST is not set
236# CONFIG_IP_ADVANCED_ROUTER is not set 180# CONFIG_IP_ADVANCED_ROUTER is not set
181CONFIG_IP_FIB_HASH=y
237CONFIG_IP_PNP=y 182CONFIG_IP_PNP=y
238CONFIG_IP_PNP_DHCP=y 183CONFIG_IP_PNP_DHCP=y
239CONFIG_IP_PNP_BOOTP=y 184CONFIG_IP_PNP_BOOTP=y
@@ -245,145 +190,199 @@ CONFIG_SYN_COOKIES=y
245CONFIG_INET_AH=m 190CONFIG_INET_AH=m
246CONFIG_INET_ESP=m 191CONFIG_INET_ESP=m
247CONFIG_INET_IPCOMP=m 192CONFIG_INET_IPCOMP=m
193CONFIG_INET_XFRM_TUNNEL=m
248CONFIG_INET_TUNNEL=m 194CONFIG_INET_TUNNEL=m
249CONFIG_IP_TCPDIAG=m 195CONFIG_INET_XFRM_MODE_TRANSPORT=m
250CONFIG_IP_TCPDIAG_IPV6=y 196CONFIG_INET_XFRM_MODE_TUNNEL=m
251 197CONFIG_INET_XFRM_MODE_BEET=m
252# 198CONFIG_INET_LRO=m
253# IP: Virtual Server Configuration 199CONFIG_INET_DIAG=m
254# 200CONFIG_INET_TCP_DIAG=m
201# CONFIG_TCP_CONG_ADVANCED is not set
202CONFIG_TCP_CONG_CUBIC=y
203CONFIG_DEFAULT_TCP_CONG="cubic"
204# CONFIG_TCP_MD5SIG is not set
255# CONFIG_IP_VS is not set 205# CONFIG_IP_VS is not set
256CONFIG_IPV6=m 206CONFIG_IPV6=m
257CONFIG_IPV6_PRIVACY=y 207CONFIG_IPV6_PRIVACY=y
208CONFIG_IPV6_ROUTER_PREF=y
209CONFIG_IPV6_ROUTE_INFO=y
210# CONFIG_IPV6_OPTIMISTIC_DAD is not set
258CONFIG_INET6_AH=m 211CONFIG_INET6_AH=m
259CONFIG_INET6_ESP=m 212CONFIG_INET6_ESP=m
260CONFIG_INET6_IPCOMP=m 213CONFIG_INET6_IPCOMP=m
214# CONFIG_IPV6_MIP6 is not set
215CONFIG_INET6_XFRM_TUNNEL=m
261CONFIG_INET6_TUNNEL=m 216CONFIG_INET6_TUNNEL=m
217CONFIG_INET6_XFRM_MODE_TRANSPORT=m
218CONFIG_INET6_XFRM_MODE_TUNNEL=m
219CONFIG_INET6_XFRM_MODE_BEET=m
220CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
221CONFIG_IPV6_SIT=m
262CONFIG_IPV6_TUNNEL=m 222CONFIG_IPV6_TUNNEL=m
223# CONFIG_IPV6_MULTIPLE_TABLES is not set
224# CONFIG_NETWORK_SECMARK is not set
263CONFIG_NETFILTER=y 225CONFIG_NETFILTER=y
264# CONFIG_NETFILTER_DEBUG is not set 226# CONFIG_NETFILTER_DEBUG is not set
227CONFIG_NETFILTER_ADVANCED=y
228
229#
230# Core Netfilter Configuration
231#
232CONFIG_NETFILTER_NETLINK=m
233CONFIG_NETFILTER_NETLINK_QUEUE=m
234CONFIG_NETFILTER_NETLINK_LOG=m
235CONFIG_NF_CONNTRACK=m
236CONFIG_NF_CT_ACCT=y
237CONFIG_NF_CONNTRACK_MARK=y
238# CONFIG_NF_CONNTRACK_EVENTS is not set
239CONFIG_NF_CT_PROTO_GRE=m
240CONFIG_NF_CT_PROTO_SCTP=m
241CONFIG_NF_CT_PROTO_UDPLITE=m
242CONFIG_NF_CONNTRACK_AMANDA=m
243CONFIG_NF_CONNTRACK_FTP=m
244CONFIG_NF_CONNTRACK_H323=m
245CONFIG_NF_CONNTRACK_IRC=m
246CONFIG_NF_CONNTRACK_NETBIOS_NS=m
247CONFIG_NF_CONNTRACK_PPTP=m
248CONFIG_NF_CONNTRACK_SANE=m
249CONFIG_NF_CONNTRACK_SIP=m
250CONFIG_NF_CONNTRACK_TFTP=m
251# CONFIG_NF_CT_NETLINK is not set
252CONFIG_NETFILTER_XTABLES=m
253CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
254CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
255CONFIG_NETFILTER_XT_TARGET_DSCP=m
256CONFIG_NETFILTER_XT_TARGET_MARK=m
257CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
258CONFIG_NETFILTER_XT_TARGET_NFLOG=m
259CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
260CONFIG_NETFILTER_XT_TARGET_RATEEST=m
261CONFIG_NETFILTER_XT_TARGET_TRACE=m
262CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
263CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
264CONFIG_NETFILTER_XT_MATCH_COMMENT=m
265CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
266CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
267CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
268CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
269CONFIG_NETFILTER_XT_MATCH_DCCP=m
270CONFIG_NETFILTER_XT_MATCH_DSCP=m
271CONFIG_NETFILTER_XT_MATCH_ESP=m
272CONFIG_NETFILTER_XT_MATCH_HELPER=m
273CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
274CONFIG_NETFILTER_XT_MATCH_LENGTH=m
275CONFIG_NETFILTER_XT_MATCH_LIMIT=m
276CONFIG_NETFILTER_XT_MATCH_MAC=m
277CONFIG_NETFILTER_XT_MATCH_MARK=m
278CONFIG_NETFILTER_XT_MATCH_OWNER=m
279CONFIG_NETFILTER_XT_MATCH_POLICY=m
280CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
281CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
282CONFIG_NETFILTER_XT_MATCH_QUOTA=m
283CONFIG_NETFILTER_XT_MATCH_RATEEST=m
284CONFIG_NETFILTER_XT_MATCH_REALM=m
285CONFIG_NETFILTER_XT_MATCH_SCTP=m
286CONFIG_NETFILTER_XT_MATCH_STATE=m
287CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
288CONFIG_NETFILTER_XT_MATCH_STRING=m
289CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
290CONFIG_NETFILTER_XT_MATCH_TIME=m
291CONFIG_NETFILTER_XT_MATCH_U32=m
292CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
265 293
266# 294#
267# IP: Netfilter Configuration 295# IP: Netfilter Configuration
268# 296#
269CONFIG_IP_NF_CONNTRACK=m 297CONFIG_NF_CONNTRACK_IPV4=m
270# CONFIG_IP_NF_CT_ACCT is not set 298CONFIG_NF_CONNTRACK_PROC_COMPAT=y
271CONFIG_IP_NF_CONNTRACK_MARK=y
272# CONFIG_IP_NF_CT_PROTO_SCTP is not set
273CONFIG_IP_NF_FTP=m
274CONFIG_IP_NF_IRC=m
275CONFIG_IP_NF_TFTP=m
276CONFIG_IP_NF_AMANDA=m
277CONFIG_IP_NF_QUEUE=m 299CONFIG_IP_NF_QUEUE=m
278CONFIG_IP_NF_IPTABLES=m 300CONFIG_IP_NF_IPTABLES=m
279CONFIG_IP_NF_MATCH_LIMIT=m
280CONFIG_IP_NF_MATCH_IPRANGE=m
281CONFIG_IP_NF_MATCH_MAC=m
282CONFIG_IP_NF_MATCH_PKTTYPE=m
283CONFIG_IP_NF_MATCH_MARK=m
284CONFIG_IP_NF_MATCH_MULTIPORT=m
285CONFIG_IP_NF_MATCH_TOS=m
286CONFIG_IP_NF_MATCH_RECENT=m 301CONFIG_IP_NF_MATCH_RECENT=m
287CONFIG_IP_NF_MATCH_ECN=m 302CONFIG_IP_NF_MATCH_ECN=m
288CONFIG_IP_NF_MATCH_DSCP=m 303CONFIG_IP_NF_MATCH_AH=m
289CONFIG_IP_NF_MATCH_AH_ESP=m
290CONFIG_IP_NF_MATCH_LENGTH=m
291CONFIG_IP_NF_MATCH_TTL=m 304CONFIG_IP_NF_MATCH_TTL=m
292CONFIG_IP_NF_MATCH_TCPMSS=m
293CONFIG_IP_NF_MATCH_HELPER=m
294CONFIG_IP_NF_MATCH_STATE=m
295CONFIG_IP_NF_MATCH_CONNTRACK=m
296CONFIG_IP_NF_MATCH_OWNER=m
297CONFIG_IP_NF_MATCH_ADDRTYPE=m 305CONFIG_IP_NF_MATCH_ADDRTYPE=m
298CONFIG_IP_NF_MATCH_REALM=m
299# CONFIG_IP_NF_MATCH_SCTP is not set
300# CONFIG_IP_NF_MATCH_COMMENT is not set
301CONFIG_IP_NF_MATCH_CONNMARK=m
302CONFIG_IP_NF_MATCH_HASHLIMIT=m
303CONFIG_IP_NF_FILTER=m 306CONFIG_IP_NF_FILTER=m
304CONFIG_IP_NF_TARGET_REJECT=m 307CONFIG_IP_NF_TARGET_REJECT=m
305CONFIG_IP_NF_TARGET_LOG=m 308CONFIG_IP_NF_TARGET_LOG=m
306CONFIG_IP_NF_TARGET_ULOG=m 309CONFIG_IP_NF_TARGET_ULOG=m
307CONFIG_IP_NF_TARGET_TCPMSS=m 310CONFIG_NF_NAT=m
308CONFIG_IP_NF_NAT=m 311CONFIG_NF_NAT_NEEDED=y
309CONFIG_IP_NF_NAT_NEEDED=y
310CONFIG_IP_NF_TARGET_MASQUERADE=m 312CONFIG_IP_NF_TARGET_MASQUERADE=m
311CONFIG_IP_NF_TARGET_REDIRECT=m 313CONFIG_IP_NF_TARGET_REDIRECT=m
312CONFIG_IP_NF_TARGET_NETMAP=m 314CONFIG_IP_NF_TARGET_NETMAP=m
313CONFIG_IP_NF_TARGET_SAME=m 315CONFIG_NF_NAT_SNMP_BASIC=m
314CONFIG_IP_NF_NAT_SNMP_BASIC=m 316CONFIG_NF_NAT_PROTO_GRE=m
315CONFIG_IP_NF_NAT_IRC=m 317CONFIG_NF_NAT_FTP=m
316CONFIG_IP_NF_NAT_FTP=m 318CONFIG_NF_NAT_IRC=m
317CONFIG_IP_NF_NAT_TFTP=m 319CONFIG_NF_NAT_TFTP=m
318CONFIG_IP_NF_NAT_AMANDA=m 320CONFIG_NF_NAT_AMANDA=m
321CONFIG_NF_NAT_PPTP=m
322CONFIG_NF_NAT_H323=m
323CONFIG_NF_NAT_SIP=m
319CONFIG_IP_NF_MANGLE=m 324CONFIG_IP_NF_MANGLE=m
320CONFIG_IP_NF_TARGET_TOS=m
321CONFIG_IP_NF_TARGET_ECN=m 325CONFIG_IP_NF_TARGET_ECN=m
322CONFIG_IP_NF_TARGET_DSCP=m 326CONFIG_IP_NF_TARGET_TTL=m
323CONFIG_IP_NF_TARGET_MARK=m 327CONFIG_IP_NF_TARGET_CLUSTERIP=m
324CONFIG_IP_NF_TARGET_CLASSIFY=m
325CONFIG_IP_NF_TARGET_CONNMARK=m
326# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
327CONFIG_IP_NF_RAW=m 328CONFIG_IP_NF_RAW=m
328CONFIG_IP_NF_TARGET_NOTRACK=m
329CONFIG_IP_NF_ARPTABLES=m 329CONFIG_IP_NF_ARPTABLES=m
330CONFIG_IP_NF_ARPFILTER=m 330CONFIG_IP_NF_ARPFILTER=m
331CONFIG_IP_NF_ARP_MANGLE=m 331CONFIG_IP_NF_ARP_MANGLE=m
332 332
333# 333#
334# IPv6: Netfilter Configuration (EXPERIMENTAL) 334# IPv6: Netfilter Configuration
335# 335#
336CONFIG_NF_CONNTRACK_IPV6=m
336CONFIG_IP6_NF_QUEUE=m 337CONFIG_IP6_NF_QUEUE=m
337CONFIG_IP6_NF_IPTABLES=m 338CONFIG_IP6_NF_IPTABLES=m
338CONFIG_IP6_NF_MATCH_LIMIT=m
339CONFIG_IP6_NF_MATCH_MAC=m
340CONFIG_IP6_NF_MATCH_RT=m 339CONFIG_IP6_NF_MATCH_RT=m
341CONFIG_IP6_NF_MATCH_OPTS=m 340CONFIG_IP6_NF_MATCH_OPTS=m
342CONFIG_IP6_NF_MATCH_FRAG=m 341CONFIG_IP6_NF_MATCH_FRAG=m
343CONFIG_IP6_NF_MATCH_HL=m 342CONFIG_IP6_NF_MATCH_HL=m
344CONFIG_IP6_NF_MATCH_MULTIPORT=m
345CONFIG_IP6_NF_MATCH_OWNER=m
346CONFIG_IP6_NF_MATCH_MARK=m
347CONFIG_IP6_NF_MATCH_IPV6HEADER=m 343CONFIG_IP6_NF_MATCH_IPV6HEADER=m
348CONFIG_IP6_NF_MATCH_AHESP=m 344CONFIG_IP6_NF_MATCH_AH=m
349CONFIG_IP6_NF_MATCH_LENGTH=m 345CONFIG_IP6_NF_MATCH_MH=m
350CONFIG_IP6_NF_MATCH_EUI64=m 346CONFIG_IP6_NF_MATCH_EUI64=m
351CONFIG_IP6_NF_FILTER=m 347CONFIG_IP6_NF_FILTER=m
352CONFIG_IP6_NF_TARGET_LOG=m 348CONFIG_IP6_NF_TARGET_LOG=m
349CONFIG_IP6_NF_TARGET_REJECT=m
353CONFIG_IP6_NF_MANGLE=m 350CONFIG_IP6_NF_MANGLE=m
354CONFIG_IP6_NF_TARGET_MARK=m 351CONFIG_IP6_NF_TARGET_HL=m
355CONFIG_IP6_NF_RAW=m 352CONFIG_IP6_NF_RAW=m
356CONFIG_XFRM=y 353CONFIG_IP_DCCP=m
357# CONFIG_XFRM_USER is not set 354CONFIG_INET_DCCP_DIAG=m
355CONFIG_IP_DCCP_ACKVEC=y
358 356
359# 357#
360# SCTP Configuration (EXPERIMENTAL) 358# DCCP CCIDs Configuration (EXPERIMENTAL)
361# 359#
360CONFIG_IP_DCCP_CCID2=m
361# CONFIG_IP_DCCP_CCID2_DEBUG is not set
362CONFIG_IP_DCCP_CCID3=m
363# CONFIG_IP_DCCP_CCID3_DEBUG is not set
364CONFIG_IP_DCCP_CCID3_RTO=100
365CONFIG_IP_DCCP_TFRC_LIB=m
362CONFIG_IP_SCTP=m 366CONFIG_IP_SCTP=m
363# CONFIG_SCTP_DBG_MSG is not set 367# CONFIG_SCTP_DBG_MSG is not set
364# CONFIG_SCTP_DBG_OBJCNT is not set 368# CONFIG_SCTP_DBG_OBJCNT is not set
365# CONFIG_SCTP_HMAC_NONE is not set 369# CONFIG_SCTP_HMAC_NONE is not set
366# CONFIG_SCTP_HMAC_SHA1 is not set 370# CONFIG_SCTP_HMAC_SHA1 is not set
367CONFIG_SCTP_HMAC_MD5=y 371CONFIG_SCTP_HMAC_MD5=y
372# CONFIG_TIPC is not set
368# CONFIG_ATM is not set 373# CONFIG_ATM is not set
369# CONFIG_BRIDGE is not set 374# CONFIG_BRIDGE is not set
370# CONFIG_VLAN_8021Q is not set 375# CONFIG_VLAN_8021Q is not set
371# CONFIG_DECNET is not set 376# CONFIG_DECNET is not set
372CONFIG_LLC=m 377CONFIG_LLC=m
373# CONFIG_LLC2 is not set 378# CONFIG_LLC2 is not set
374CONFIG_IPX=m 379# CONFIG_IPX is not set
375# CONFIG_IPX_INTERN is not set
376CONFIG_ATALK=m 380CONFIG_ATALK=m
377# CONFIG_DEV_APPLETALK is not set 381# CONFIG_DEV_APPLETALK is not set
378# CONFIG_X25 is not set 382# CONFIG_X25 is not set
379# CONFIG_LAPB is not set 383# CONFIG_LAPB is not set
380# CONFIG_NET_DIVERT is not set
381# CONFIG_ECONET is not set 384# CONFIG_ECONET is not set
382# CONFIG_WAN_ROUTER is not set 385# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
387# CONFIG_NET_SCHED is not set 386# CONFIG_NET_SCHED is not set
388CONFIG_NET_CLS_ROUTE=y 387CONFIG_NET_CLS_ROUTE=y
389 388
@@ -391,46 +390,155 @@ CONFIG_NET_CLS_ROUTE=y
391# Network testing 390# Network testing
392# 391#
393# CONFIG_NET_PKTGEN is not set 392# CONFIG_NET_PKTGEN is not set
394CONFIG_NETPOLL=y
395# CONFIG_NETPOLL_RX is not set
396# CONFIG_NETPOLL_TRAP is not set
397CONFIG_NET_POLL_CONTROLLER=y
398# CONFIG_HAMRADIO is not set 393# CONFIG_HAMRADIO is not set
394# CONFIG_CAN is not set
399# CONFIG_IRDA is not set 395# CONFIG_IRDA is not set
400# CONFIG_BT is not set 396# CONFIG_BT is not set
401CONFIG_NETDEVICES=y 397# CONFIG_AF_RXRPC is not set
402CONFIG_DUMMY=m
403# CONFIG_BONDING is not set
404CONFIG_EQUALIZER=m
405# CONFIG_TUN is not set
406 398
407# 399#
408# Ethernet (10 or 100Mbit) 400# Wireless
409# 401#
410CONFIG_NET_ETHERNET=y 402# CONFIG_CFG80211 is not set
411CONFIG_MII=m 403CONFIG_WIRELESS_EXT=y
412CONFIG_SUN3LANCE=y 404# CONFIG_MAC80211 is not set
405CONFIG_IEEE80211=m
406# CONFIG_IEEE80211_DEBUG is not set
407CONFIG_IEEE80211_CRYPT_WEP=m
408CONFIG_IEEE80211_CRYPT_CCMP=m
409CONFIG_IEEE80211_CRYPT_TKIP=m
410CONFIG_IEEE80211_SOFTMAC=m
411# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
412# CONFIG_RFKILL is not set
413# CONFIG_NET_9P is not set
413 414
414# 415#
415# Ethernet (1000 Mbit) 416# Device Drivers
416# 417#
417 418
418# 419#
419# Ethernet (10000 Mbit) 420# Generic Driver Options
420# 421#
422CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
423CONFIG_STANDALONE=y
424CONFIG_PREVENT_FIRMWARE_BUILD=y
425CONFIG_FW_LOADER=m
426# CONFIG_SYS_HYPERVISOR is not set
427CONFIG_CONNECTOR=m
428# CONFIG_MTD is not set
429# CONFIG_PARPORT is not set
430CONFIG_BLK_DEV=y
431# CONFIG_BLK_DEV_COW_COMMON is not set
432CONFIG_BLK_DEV_LOOP=y
433CONFIG_BLK_DEV_CRYPTOLOOP=m
434CONFIG_BLK_DEV_NBD=m
435CONFIG_BLK_DEV_RAM=y
436CONFIG_BLK_DEV_RAM_COUNT=16
437CONFIG_BLK_DEV_RAM_SIZE=4096
438# CONFIG_BLK_DEV_XIP is not set
439CONFIG_CDROM_PKTCDVD=m
440CONFIG_CDROM_PKTCDVD_BUFFERS=8
441# CONFIG_CDROM_PKTCDVD_WCACHE is not set
442CONFIG_ATA_OVER_ETH=m
443CONFIG_MISC_DEVICES=y
444# CONFIG_EEPROM_93CX6 is not set
445# CONFIG_ENCLOSURE_SERVICES is not set
446CONFIG_HAVE_IDE=y
447# CONFIG_IDE is not set
421 448
422# 449#
423# Token Ring devices 450# SCSI device support
424# 451#
452CONFIG_RAID_ATTRS=m
453CONFIG_SCSI=y
454CONFIG_SCSI_DMA=y
455CONFIG_SCSI_TGT=m
456# CONFIG_SCSI_NETLINK is not set
457CONFIG_SCSI_PROC_FS=y
425 458
426# 459#
427# Wireless LAN (non-hamradio) 460# SCSI support type (disk, tape, CD-ROM)
428# 461#
429# CONFIG_NET_RADIO is not set 462CONFIG_BLK_DEV_SD=y
463CONFIG_CHR_DEV_ST=m
464CONFIG_CHR_DEV_OSST=m
465CONFIG_BLK_DEV_SR=y
466CONFIG_BLK_DEV_SR_VENDOR=y
467CONFIG_CHR_DEV_SG=m
468# CONFIG_CHR_DEV_SCH is not set
430 469
431# 470#
432# Wan interfaces 471# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
433# 472#
473# CONFIG_SCSI_MULTI_LUN is not set
474CONFIG_SCSI_CONSTANTS=y
475# CONFIG_SCSI_LOGGING is not set
476# CONFIG_SCSI_SCAN_ASYNC is not set
477CONFIG_SCSI_WAIT_SCAN=m
478
479#
480# SCSI Transports
481#
482CONFIG_SCSI_SPI_ATTRS=y
483# CONFIG_SCSI_FC_ATTRS is not set
484CONFIG_SCSI_ISCSI_ATTRS=m
485CONFIG_SCSI_SAS_ATTRS=m
486CONFIG_SCSI_SAS_LIBSAS=m
487CONFIG_SCSI_SAS_HOST_SMP=y
488# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
489CONFIG_SCSI_SRP_ATTRS=m
490CONFIG_SCSI_SRP_TGT_ATTRS=y
491CONFIG_SCSI_LOWLEVEL=y
492CONFIG_ISCSI_TCP=m
493# CONFIG_SCSI_DEBUG is not set
494CONFIG_SUN3X_ESP=y
495CONFIG_MD=y
496CONFIG_BLK_DEV_MD=m
497CONFIG_MD_LINEAR=m
498CONFIG_MD_RAID0=m
499CONFIG_MD_RAID1=m
500# CONFIG_MD_RAID10 is not set
501CONFIG_MD_RAID456=m
502CONFIG_MD_RAID5_RESHAPE=y
503CONFIG_MD_MULTIPATH=m
504# CONFIG_MD_FAULTY is not set
505CONFIG_BLK_DEV_DM=m
506# CONFIG_DM_DEBUG is not set
507CONFIG_DM_CRYPT=m
508CONFIG_DM_SNAPSHOT=m
509CONFIG_DM_MIRROR=m
510CONFIG_DM_ZERO=m
511CONFIG_DM_MULTIPATH=m
512CONFIG_DM_MULTIPATH_EMC=m
513CONFIG_DM_MULTIPATH_RDAC=m
514CONFIG_DM_MULTIPATH_HP=m
515# CONFIG_DM_DELAY is not set
516CONFIG_DM_UEVENT=y
517CONFIG_NETDEVICES=y
518# CONFIG_NETDEVICES_MULTIQUEUE is not set
519CONFIG_DUMMY=m
520# CONFIG_BONDING is not set
521CONFIG_MACVLAN=m
522CONFIG_EQUALIZER=m
523# CONFIG_TUN is not set
524CONFIG_VETH=m
525# CONFIG_PHYLIB is not set
526CONFIG_NET_ETHERNET=y
527# CONFIG_MII is not set
528CONFIG_SUN3LANCE=y
529# CONFIG_IBM_NEW_EMAC_ZMII is not set
530# CONFIG_IBM_NEW_EMAC_RGMII is not set
531# CONFIG_IBM_NEW_EMAC_TAH is not set
532# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
533# CONFIG_B44 is not set
534# CONFIG_NETDEV_1000 is not set
535# CONFIG_NETDEV_10000 is not set
536
537#
538# Wireless LAN
539#
540# CONFIG_WLAN_PRE80211 is not set
541# CONFIG_WLAN_80211 is not set
434# CONFIG_WAN is not set 542# CONFIG_WAN is not set
435CONFIG_PPP=m 543CONFIG_PPP=m
436# CONFIG_PPP_MULTILINK is not set 544# CONFIG_PPP_MULTILINK is not set
@@ -439,28 +547,28 @@ CONFIG_PPP_ASYNC=m
439CONFIG_PPP_SYNC_TTY=m 547CONFIG_PPP_SYNC_TTY=m
440CONFIG_PPP_DEFLATE=m 548CONFIG_PPP_DEFLATE=m
441CONFIG_PPP_BSDCOMP=m 549CONFIG_PPP_BSDCOMP=m
550CONFIG_PPP_MPPE=m
442CONFIG_PPPOE=m 551CONFIG_PPPOE=m
552CONFIG_PPPOL2TP=m
443CONFIG_SLIP=m 553CONFIG_SLIP=m
444CONFIG_SLIP_COMPRESSED=y 554CONFIG_SLIP_COMPRESSED=y
555CONFIG_SLHC=m
445CONFIG_SLIP_SMART=y 556CONFIG_SLIP_SMART=y
446CONFIG_SLIP_MODE_SLIP6=y 557CONFIG_SLIP_MODE_SLIP6=y
447CONFIG_SHAPER=m
448CONFIG_NETCONSOLE=m 558CONFIG_NETCONSOLE=m
449 559CONFIG_NETCONSOLE_DYNAMIC=y
450# 560CONFIG_NETPOLL=y
451# ISDN subsystem 561# CONFIG_NETPOLL_TRAP is not set
452# 562CONFIG_NET_POLL_CONTROLLER=y
453# CONFIG_ISDN is not set 563# CONFIG_ISDN is not set
454
455#
456# Telephony Support
457#
458# CONFIG_PHONE is not set 564# CONFIG_PHONE is not set
459 565
460# 566#
461# Input device support 567# Input device support
462# 568#
463CONFIG_INPUT=y 569CONFIG_INPUT=y
570CONFIG_INPUT_FF_MEMLESS=m
571# CONFIG_INPUT_POLLDEV is not set
464 572
465# 573#
466# Userland interfaces 574# Userland interfaces
@@ -470,7 +578,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
470CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 578CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
471CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 579CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
472# CONFIG_INPUT_JOYDEV is not set 580# CONFIG_INPUT_JOYDEV is not set
473# CONFIG_INPUT_TSDEV is not set
474# CONFIG_INPUT_EVDEV is not set 581# CONFIG_INPUT_EVDEV is not set
475# CONFIG_INPUT_EVBUG is not set 582# CONFIG_INPUT_EVBUG is not set
476 583
@@ -483,11 +590,19 @@ CONFIG_KEYBOARD_SUNKBD=y
483# CONFIG_KEYBOARD_LKKBD is not set 590# CONFIG_KEYBOARD_LKKBD is not set
484# CONFIG_KEYBOARD_XTKBD is not set 591# CONFIG_KEYBOARD_XTKBD is not set
485# CONFIG_KEYBOARD_NEWTON is not set 592# CONFIG_KEYBOARD_NEWTON is not set
593# CONFIG_KEYBOARD_STOWAWAY is not set
486CONFIG_INPUT_MOUSE=y 594CONFIG_INPUT_MOUSE=y
487CONFIG_MOUSE_PS2=m 595CONFIG_MOUSE_PS2=m
596CONFIG_MOUSE_PS2_ALPS=y
597CONFIG_MOUSE_PS2_LOGIPS2PP=y
598CONFIG_MOUSE_PS2_SYNAPTICS=y
599CONFIG_MOUSE_PS2_LIFEBOOK=y
600CONFIG_MOUSE_PS2_TRACKPOINT=y
601# CONFIG_MOUSE_PS2_TOUCHKIT is not set
488CONFIG_MOUSE_SERIAL=m 602CONFIG_MOUSE_SERIAL=m
489# CONFIG_MOUSE_VSXXXAA is not set 603# CONFIG_MOUSE_VSXXXAA is not set
490# CONFIG_INPUT_JOYSTICK is not set 604# CONFIG_INPUT_JOYSTICK is not set
605# CONFIG_INPUT_TABLET is not set
491# CONFIG_INPUT_TOUCHSCREEN is not set 606# CONFIG_INPUT_TOUCHSCREEN is not set
492# CONFIG_INPUT_MISC is not set 607# CONFIG_INPUT_MISC is not set
493 608
@@ -495,7 +610,7 @@ CONFIG_MOUSE_SERIAL=m
495# Hardware I/O ports 610# Hardware I/O ports
496# 611#
497CONFIG_SERIO=y 612CONFIG_SERIO=y
498CONFIG_SERIO_SERPORT=m 613# CONFIG_SERIO_SERPORT is not set
499CONFIG_SERIO_LIBPS2=m 614CONFIG_SERIO_LIBPS2=m
500# CONFIG_SERIO_RAW is not set 615# CONFIG_SERIO_RAW is not set
501# CONFIG_GAMEPORT is not set 616# CONFIG_GAMEPORT is not set
@@ -506,6 +621,7 @@ CONFIG_SERIO_LIBPS2=m
506CONFIG_VT=y 621CONFIG_VT=y
507CONFIG_VT_CONSOLE=y 622CONFIG_VT_CONSOLE=y
508CONFIG_HW_CONSOLE=y 623CONFIG_HW_CONSOLE=y
624CONFIG_VT_HW_CONSOLE_BINDING=y
509# CONFIG_SERIAL_NONSTANDARD is not set 625# CONFIG_SERIAL_NONSTANDARD is not set
510 626
511# 627#
@@ -519,112 +635,113 @@ CONFIG_HW_CONSOLE=y
519CONFIG_UNIX98_PTYS=y 635CONFIG_UNIX98_PTYS=y
520CONFIG_LEGACY_PTYS=y 636CONFIG_LEGACY_PTYS=y
521CONFIG_LEGACY_PTY_COUNT=256 637CONFIG_LEGACY_PTY_COUNT=256
522
523#
524# IPMI
525#
526# CONFIG_IPMI_HANDLER is not set 638# CONFIG_IPMI_HANDLER is not set
527 639# CONFIG_HW_RANDOM is not set
528# 640CONFIG_GEN_RTC=m
529# Watchdog Cards
530#
531# CONFIG_WATCHDOG is not set
532CONFIG_GEN_RTC=y
533CONFIG_GEN_RTC_X=y 641CONFIG_GEN_RTC_X=y
534# CONFIG_DTLK is not set
535# CONFIG_R3964 is not set 642# CONFIG_R3964 is not set
536
537#
538# Ftape, the floppy tape device driver
539#
540# CONFIG_DRM is not set
541# CONFIG_RAW_DRIVER is not set 643# CONFIG_RAW_DRIVER is not set
542 644# CONFIG_TCG_TPM is not set
543#
544# TPM devices
545#
546
547#
548# I2C support
549#
550# CONFIG_I2C is not set 645# CONFIG_I2C is not set
551 646
552# 647#
553# Dallas's 1-wire bus 648# SPI support
554# 649#
650# CONFIG_SPI is not set
651# CONFIG_SPI_MASTER is not set
555# CONFIG_W1 is not set 652# CONFIG_W1 is not set
653# CONFIG_POWER_SUPPLY is not set
654# CONFIG_HWMON is not set
655# CONFIG_THERMAL is not set
656# CONFIG_WATCHDOG is not set
556 657
557# 658#
558# Misc devices 659# Sonics Silicon Backplane
559# 660#
661CONFIG_SSB_POSSIBLE=y
662# CONFIG_SSB is not set
560 663
561# 664#
562# Multimedia devices 665# Multifunction device drivers
563# 666#
564# CONFIG_VIDEO_DEV is not set 667# CONFIG_MFD_SM501 is not set
565 668
566# 669#
567# Digital Video Broadcasting Devices 670# Multimedia devices
568# 671#
569# CONFIG_DVB is not set 672# CONFIG_VIDEO_DEV is not set
673# CONFIG_DVB_CORE is not set
674# CONFIG_DAB is not set
570 675
571# 676#
572# Graphics support 677# Graphics support
573# 678#
679# CONFIG_VGASTATE is not set
680# CONFIG_VIDEO_OUTPUT_CONTROL is not set
574CONFIG_FB=y 681CONFIG_FB=y
682# CONFIG_FIRMWARE_EDID is not set
683# CONFIG_FB_DDC is not set
575# CONFIG_FB_CFB_FILLRECT is not set 684# CONFIG_FB_CFB_FILLRECT is not set
576# CONFIG_FB_CFB_COPYAREA is not set 685# CONFIG_FB_CFB_COPYAREA is not set
577# CONFIG_FB_CFB_IMAGEBLIT is not set 686# CONFIG_FB_CFB_IMAGEBLIT is not set
578# CONFIG_FB_SOFT_CURSOR is not set 687# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
688# CONFIG_FB_SYS_FILLRECT is not set
689# CONFIG_FB_SYS_COPYAREA is not set
690# CONFIG_FB_SYS_IMAGEBLIT is not set
691# CONFIG_FB_SYS_FOPS is not set
692CONFIG_FB_DEFERRED_IO=y
693# CONFIG_FB_SVGALIB is not set
579# CONFIG_FB_MACMODES is not set 694# CONFIG_FB_MACMODES is not set
580CONFIG_FB_MODE_HELPERS=y 695# CONFIG_FB_BACKLIGHT is not set
696# CONFIG_FB_MODE_HELPERS is not set
581# CONFIG_FB_TILEBLITTING is not set 697# CONFIG_FB_TILEBLITTING is not set
698
699#
700# Frame buffer hardware drivers
701#
702# CONFIG_FB_UVESA is not set
582# CONFIG_FB_S1D13XXX is not set 703# CONFIG_FB_S1D13XXX is not set
583# CONFIG_FB_VIRTUAL is not set 704# CONFIG_FB_VIRTUAL is not set
705# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
706
707#
708# Display device support
709#
710# CONFIG_DISPLAY_SUPPORT is not set
584 711
585# 712#
586# Console display driver support 713# Console display driver support
587# 714#
588CONFIG_DUMMY_CONSOLE=y 715CONFIG_DUMMY_CONSOLE=y
589CONFIG_FRAMEBUFFER_CONSOLE=y 716CONFIG_FRAMEBUFFER_CONSOLE=y
717# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
718# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
590# CONFIG_FONTS is not set 719# CONFIG_FONTS is not set
591CONFIG_FONT_8x8=y 720CONFIG_FONT_8x8=y
592CONFIG_FONT_8x16=y 721CONFIG_FONT_8x16=y
593
594#
595# Logo configuration
596#
597CONFIG_LOGO=y 722CONFIG_LOGO=y
598CONFIG_LOGO_LINUX_MONO=y 723CONFIG_LOGO_LINUX_MONO=y
599CONFIG_LOGO_LINUX_VGA16=y 724CONFIG_LOGO_LINUX_VGA16=y
600CONFIG_LOGO_LINUX_CLUT224=y 725CONFIG_LOGO_LINUX_CLUT224=y
601# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
602 726
603# 727#
604# Sound 728# Sound
605# 729#
606# CONFIG_SOUND is not set 730# CONFIG_SOUND is not set
607 731CONFIG_HID_SUPPORT=y
608# 732CONFIG_HID=m
609# USB support 733# CONFIG_HID_DEBUG is not set
610# 734CONFIG_HIDRAW=y
611# CONFIG_USB_ARCH_HAS_HCD is not set 735# CONFIG_USB_SUPPORT is not set
612# CONFIG_USB_ARCH_HAS_OHCI is not set
613
614#
615# USB Gadget Support
616#
617# CONFIG_USB_GADGET is not set
618
619#
620# MMC/SD Card support
621#
622# CONFIG_MMC is not set 736# CONFIG_MMC is not set
737# CONFIG_MEMSTICK is not set
738# CONFIG_NEW_LEDS is not set
739# CONFIG_RTC_CLASS is not set
623 740
624# 741#
625# InfiniBand support 742# Userspace I/O
626# 743#
627# CONFIG_INFINIBAND is not set 744# CONFIG_UIO is not set
628 745
629# 746#
630# Character devices 747# Character devices
@@ -635,10 +752,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
635# 752#
636CONFIG_EXT2_FS=y 753CONFIG_EXT2_FS=y
637# CONFIG_EXT2_FS_XATTR is not set 754# CONFIG_EXT2_FS_XATTR is not set
755# CONFIG_EXT2_FS_XIP is not set
638CONFIG_EXT3_FS=y 756CONFIG_EXT3_FS=y
639# CONFIG_EXT3_FS_XATTR is not set 757# CONFIG_EXT3_FS_XATTR is not set
758# CONFIG_EXT4DEV_FS is not set
640CONFIG_JBD=y 759CONFIG_JBD=y
641# CONFIG_JBD_DEBUG is not set
642CONFIG_REISERFS_FS=m 760CONFIG_REISERFS_FS=m
643# CONFIG_REISERFS_CHECK is not set 761# CONFIG_REISERFS_CHECK is not set
644# CONFIG_REISERFS_PROC_INFO is not set 762# CONFIG_REISERFS_PROC_INFO is not set
@@ -649,25 +767,29 @@ CONFIG_JFS_FS=m
649# CONFIG_JFS_DEBUG is not set 767# CONFIG_JFS_DEBUG is not set
650# CONFIG_JFS_STATISTICS is not set 768# CONFIG_JFS_STATISTICS is not set
651CONFIG_FS_POSIX_ACL=y 769CONFIG_FS_POSIX_ACL=y
652
653#
654# XFS support
655#
656CONFIG_XFS_FS=m 770CONFIG_XFS_FS=m
657CONFIG_XFS_EXPORT=y
658# CONFIG_XFS_RT is not set
659# CONFIG_XFS_QUOTA is not set 771# CONFIG_XFS_QUOTA is not set
660# CONFIG_XFS_SECURITY is not set 772# CONFIG_XFS_SECURITY is not set
661# CONFIG_XFS_POSIX_ACL is not set 773# CONFIG_XFS_POSIX_ACL is not set
662CONFIG_MINIX_FS=y 774# CONFIG_XFS_RT is not set
663# CONFIG_ROMFS_FS is not set 775CONFIG_GFS2_FS=m
776CONFIG_GFS2_FS_LOCKING_NOLOCK=m
777CONFIG_GFS2_FS_LOCKING_DLM=m
778CONFIG_OCFS2_FS=m
779# CONFIG_OCFS2_DEBUG_MASKLOG is not set
780# CONFIG_OCFS2_DEBUG_FS is not set
781CONFIG_DNOTIFY=y
782CONFIG_INOTIFY=y
783CONFIG_INOTIFY_USER=y
664CONFIG_QUOTA=y 784CONFIG_QUOTA=y
785CONFIG_QUOTA_NETLINK_INTERFACE=y
786# CONFIG_PRINT_QUOTA_WARNING is not set
665# CONFIG_QFMT_V1 is not set 787# CONFIG_QFMT_V1 is not set
666# CONFIG_QFMT_V2 is not set 788# CONFIG_QFMT_V2 is not set
667CONFIG_QUOTACTL=y 789CONFIG_QUOTACTL=y
668CONFIG_DNOTIFY=y
669CONFIG_AUTOFS_FS=m 790CONFIG_AUTOFS_FS=m
670CONFIG_AUTOFS4_FS=m 791CONFIG_AUTOFS4_FS=m
792CONFIG_FUSE_FS=m
671 793
672# 794#
673# CD-ROM/DVD Filesystems 795# CD-ROM/DVD Filesystems
@@ -675,7 +797,6 @@ CONFIG_AUTOFS4_FS=m
675CONFIG_ISO9660_FS=y 797CONFIG_ISO9660_FS=y
676CONFIG_JOLIET=y 798CONFIG_JOLIET=y
677CONFIG_ZISOFS=y 799CONFIG_ZISOFS=y
678CONFIG_ZISOFS_FS=y
679CONFIG_UDF_FS=m 800CONFIG_UDF_FS=m
680CONFIG_UDF_NLS=y 801CONFIG_UDF_NLS=y
681 802
@@ -694,15 +815,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
694# 815#
695CONFIG_PROC_FS=y 816CONFIG_PROC_FS=y
696CONFIG_PROC_KCORE=y 817CONFIG_PROC_KCORE=y
818CONFIG_PROC_SYSCTL=y
697CONFIG_SYSFS=y 819CONFIG_SYSFS=y
698CONFIG_DEVFS_FS=y
699CONFIG_DEVFS_MOUNT=y
700# CONFIG_DEVFS_DEBUG is not set
701# CONFIG_DEVPTS_FS_XATTR is not set
702CONFIG_TMPFS=y 820CONFIG_TMPFS=y
703# CONFIG_TMPFS_XATTR is not set 821# CONFIG_TMPFS_POSIX_ACL is not set
704# CONFIG_HUGETLB_PAGE is not set 822# CONFIG_HUGETLB_PAGE is not set
705CONFIG_RAMFS=y 823CONFIG_CONFIGFS_FS=m
706 824
707# 825#
708# Miscellaneous filesystems 826# Miscellaneous filesystems
@@ -716,44 +834,40 @@ CONFIG_HFSPLUS_FS=m
716# CONFIG_EFS_FS is not set 834# CONFIG_EFS_FS is not set
717CONFIG_CRAMFS=m 835CONFIG_CRAMFS=m
718# CONFIG_VXFS_FS is not set 836# CONFIG_VXFS_FS is not set
837CONFIG_MINIX_FS=y
719CONFIG_HPFS_FS=m 838CONFIG_HPFS_FS=m
720# CONFIG_QNX4FS_FS is not set 839# CONFIG_QNX4FS_FS is not set
840# CONFIG_ROMFS_FS is not set
721CONFIG_SYSV_FS=m 841CONFIG_SYSV_FS=m
722CONFIG_UFS_FS=m 842CONFIG_UFS_FS=m
723CONFIG_UFS_FS_WRITE=y 843# CONFIG_UFS_FS_WRITE is not set
724 844# CONFIG_UFS_DEBUG is not set
725# 845CONFIG_NETWORK_FILESYSTEMS=y
726# Network File Systems
727#
728CONFIG_NFS_FS=y 846CONFIG_NFS_FS=y
729CONFIG_NFS_V3=y 847CONFIG_NFS_V3=y
848# CONFIG_NFS_V3_ACL is not set
730CONFIG_NFS_V4=y 849CONFIG_NFS_V4=y
731# CONFIG_NFS_DIRECTIO is not set 850# CONFIG_NFS_DIRECTIO is not set
732CONFIG_NFSD=m 851CONFIG_NFSD=m
733CONFIG_NFSD_V3=y 852CONFIG_NFSD_V3=y
734CONFIG_NFSD_V4=y 853# CONFIG_NFSD_V3_ACL is not set
854# CONFIG_NFSD_V4 is not set
735CONFIG_NFSD_TCP=y 855CONFIG_NFSD_TCP=y
736CONFIG_ROOT_NFS=y 856CONFIG_ROOT_NFS=y
737CONFIG_LOCKD=y 857CONFIG_LOCKD=y
738CONFIG_LOCKD_V4=y 858CONFIG_LOCKD_V4=y
739CONFIG_EXPORTFS=m 859CONFIG_EXPORTFS=m
860CONFIG_NFS_COMMON=y
740CONFIG_SUNRPC=y 861CONFIG_SUNRPC=y
741CONFIG_SUNRPC_GSS=y 862CONFIG_SUNRPC_GSS=y
863CONFIG_SUNRPC_BIND34=y
742CONFIG_RPCSEC_GSS_KRB5=y 864CONFIG_RPCSEC_GSS_KRB5=y
743# CONFIG_RPCSEC_GSS_SPKM3 is not set 865# CONFIG_RPCSEC_GSS_SPKM3 is not set
744CONFIG_SMB_FS=m 866CONFIG_SMB_FS=m
745CONFIG_SMB_NLS_DEFAULT=y 867CONFIG_SMB_NLS_DEFAULT=y
746CONFIG_SMB_NLS_REMOTE="cp437" 868CONFIG_SMB_NLS_REMOTE="cp437"
747# CONFIG_CIFS is not set 869# CONFIG_CIFS is not set
748CONFIG_NCP_FS=m 870# CONFIG_NCP_FS is not set
749# CONFIG_NCPFS_PACKET_SIGNING is not set
750# CONFIG_NCPFS_IOCTL_LOCKING is not set
751# CONFIG_NCPFS_STRONG is not set
752# CONFIG_NCPFS_NFS_NS is not set
753# CONFIG_NCPFS_OS2_NS is not set
754# CONFIG_NCPFS_SMALLDOS is not set
755CONFIG_NCPFS_NLS=y
756# CONFIG_NCPFS_EXTRAS is not set
757CONFIG_CODA_FS=m 871CONFIG_CODA_FS=m
758# CONFIG_CODA_FS_OLD_API is not set 872# CONFIG_CODA_FS_OLD_API is not set
759# CONFIG_AFS_FS is not set 873# CONFIG_AFS_FS is not set
@@ -764,10 +878,6 @@ CONFIG_CODA_FS=m
764# CONFIG_PARTITION_ADVANCED is not set 878# CONFIG_PARTITION_ADVANCED is not set
765CONFIG_MSDOS_PARTITION=y 879CONFIG_MSDOS_PARTITION=y
766CONFIG_SUN_PARTITION=y 880CONFIG_SUN_PARTITION=y
767
768#
769# Native Language Support
770#
771CONFIG_NLS=y 881CONFIG_NLS=y
772CONFIG_NLS_DEFAULT="iso8859-1" 882CONFIG_NLS_DEFAULT="iso8859-1"
773CONFIG_NLS_CODEPAGE_437=y 883CONFIG_NLS_CODEPAGE_437=y
@@ -808,35 +918,42 @@ CONFIG_NLS_ISO8859_15=m
808CONFIG_NLS_KOI8_R=m 918CONFIG_NLS_KOI8_R=m
809CONFIG_NLS_KOI8_U=m 919CONFIG_NLS_KOI8_U=m
810CONFIG_NLS_UTF8=m 920CONFIG_NLS_UTF8=m
921CONFIG_DLM=m
922# CONFIG_DLM_DEBUG is not set
811 923
812# 924#
813# Kernel hacking 925# Kernel hacking
814# 926#
815# CONFIG_PRINTK_TIME is not set 927# CONFIG_PRINTK_TIME is not set
816CONFIG_DEBUG_KERNEL=y 928CONFIG_ENABLE_WARN_DEPRECATED=y
929CONFIG_ENABLE_MUST_CHECK=y
817CONFIG_MAGIC_SYSRQ=y 930CONFIG_MAGIC_SYSRQ=y
818CONFIG_LOG_BUF_SHIFT=16 931# CONFIG_UNUSED_SYMBOLS is not set
819# CONFIG_SCHEDSTATS is not set
820# CONFIG_DEBUG_SLAB is not set
821# CONFIG_DEBUG_SPINLOCK is not set
822# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
823# CONFIG_DEBUG_KOBJECT is not set
824CONFIG_DEBUG_BUGVERBOSE=y
825# CONFIG_DEBUG_INFO is not set
826# CONFIG_DEBUG_FS is not set 932# CONFIG_DEBUG_FS is not set
827# CONFIG_FRAME_POINTER is not set 933# CONFIG_HEADERS_CHECK is not set
934# CONFIG_DEBUG_KERNEL is not set
935CONFIG_DEBUG_BUGVERBOSE=y
936# CONFIG_SAMPLES is not set
828 937
829# 938#
830# Security options 939# Security options
831# 940#
832# CONFIG_KEYS is not set 941# CONFIG_KEYS is not set
833# CONFIG_SECURITY is not set 942# CONFIG_SECURITY is not set
834 943# CONFIG_SECURITY_FILE_CAPABILITIES is not set
835# 944CONFIG_XOR_BLOCKS=m
836# Cryptographic options 945CONFIG_ASYNC_CORE=m
837# 946CONFIG_ASYNC_MEMCPY=m
947CONFIG_ASYNC_XOR=m
838CONFIG_CRYPTO=y 948CONFIG_CRYPTO=y
949CONFIG_CRYPTO_ALGAPI=y
950CONFIG_CRYPTO_AEAD=m
951CONFIG_CRYPTO_BLKCIPHER=y
952CONFIG_CRYPTO_SEQIV=m
953CONFIG_CRYPTO_HASH=y
954CONFIG_CRYPTO_MANAGER=y
839CONFIG_CRYPTO_HMAC=y 955CONFIG_CRYPTO_HMAC=y
956CONFIG_CRYPTO_XCBC=m
840CONFIG_CRYPTO_NULL=m 957CONFIG_CRYPTO_NULL=m
841CONFIG_CRYPTO_MD4=m 958CONFIG_CRYPTO_MD4=m
842CONFIG_CRYPTO_MD5=y 959CONFIG_CRYPTO_MD5=y
@@ -845,9 +962,21 @@ CONFIG_CRYPTO_SHA256=m
845CONFIG_CRYPTO_SHA512=m 962CONFIG_CRYPTO_SHA512=m
846CONFIG_CRYPTO_WP512=m 963CONFIG_CRYPTO_WP512=m
847CONFIG_CRYPTO_TGR192=m 964CONFIG_CRYPTO_TGR192=m
965CONFIG_CRYPTO_GF128MUL=m
966CONFIG_CRYPTO_ECB=m
967CONFIG_CRYPTO_CBC=y
968CONFIG_CRYPTO_PCBC=m
969CONFIG_CRYPTO_LRW=m
970CONFIG_CRYPTO_XTS=m
971CONFIG_CRYPTO_CTR=m
972CONFIG_CRYPTO_GCM=m
973CONFIG_CRYPTO_CCM=m
974CONFIG_CRYPTO_CRYPTD=m
848CONFIG_CRYPTO_DES=y 975CONFIG_CRYPTO_DES=y
976CONFIG_CRYPTO_FCRYPT=m
849CONFIG_CRYPTO_BLOWFISH=m 977CONFIG_CRYPTO_BLOWFISH=m
850CONFIG_CRYPTO_TWOFISH=m 978CONFIG_CRYPTO_TWOFISH=m
979CONFIG_CRYPTO_TWOFISH_COMMON=m
851CONFIG_CRYPTO_SERPENT=m 980CONFIG_CRYPTO_SERPENT=m
852CONFIG_CRYPTO_AES=m 981CONFIG_CRYPTO_AES=m
853CONFIG_CRYPTO_CAST5=m 982CONFIG_CRYPTO_CAST5=m
@@ -856,20 +985,35 @@ CONFIG_CRYPTO_TEA=m
856CONFIG_CRYPTO_ARC4=m 985CONFIG_CRYPTO_ARC4=m
857CONFIG_CRYPTO_KHAZAD=m 986CONFIG_CRYPTO_KHAZAD=m
858CONFIG_CRYPTO_ANUBIS=m 987CONFIG_CRYPTO_ANUBIS=m
988CONFIG_CRYPTO_SEED=m
989CONFIG_CRYPTO_SALSA20=m
859CONFIG_CRYPTO_DEFLATE=m 990CONFIG_CRYPTO_DEFLATE=m
860CONFIG_CRYPTO_MICHAEL_MIC=m 991CONFIG_CRYPTO_MICHAEL_MIC=m
861CONFIG_CRYPTO_CRC32C=m 992CONFIG_CRYPTO_CRC32C=m
993CONFIG_CRYPTO_CAMELLIA=m
862CONFIG_CRYPTO_TEST=m 994CONFIG_CRYPTO_TEST=m
863 995CONFIG_CRYPTO_AUTHENC=m
864# 996CONFIG_CRYPTO_LZO=m
865# Hardware crypto devices 997# CONFIG_CRYPTO_HW is not set
866#
867 998
868# 999#
869# Library routines 1000# Library routines
870# 1001#
1002CONFIG_BITREVERSE=y
871CONFIG_CRC_CCITT=m 1003CONFIG_CRC_CCITT=m
1004CONFIG_CRC16=m
1005# CONFIG_CRC_ITU_T is not set
872CONFIG_CRC32=y 1006CONFIG_CRC32=y
1007# CONFIG_CRC7 is not set
873CONFIG_LIBCRC32C=m 1008CONFIG_LIBCRC32C=m
874CONFIG_ZLIB_INFLATE=y 1009CONFIG_ZLIB_INFLATE=y
875CONFIG_ZLIB_DEFLATE=m 1010CONFIG_ZLIB_DEFLATE=m
1011CONFIG_LZO_COMPRESS=m
1012CONFIG_LZO_DECOMPRESS=m
1013CONFIG_TEXTSEARCH=y
1014CONFIG_TEXTSEARCH_KMP=m
1015CONFIG_TEXTSEARCH_BM=m
1016CONFIG_TEXTSEARCH_FSM=m
1017CONFIG_PLIST=y
1018CONFIG_HAS_IOMEM=y
1019CONFIG_HAS_DMA=y
diff --git a/arch/m68k/defconfig b/arch/m68k/defconfig
deleted file mode 100644
index 7d935e48a9a..00000000000
--- a/arch/m68k/defconfig
+++ /dev/null
@@ -1,657 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc6-m68k
4# Tue Jun 7 20:34:17 2005
5#
6CONFIG_M68K=y
7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_SWAP=y
25CONFIG_SYSVIPC=y
26# CONFIG_POSIX_MQUEUE is not set
27# CONFIG_BSD_PROCESS_ACCT is not set
28CONFIG_SYSCTL=y
29# CONFIG_AUDIT is not set
30# CONFIG_HOTPLUG is not set
31CONFIG_KOBJECT_UEVENT=y
32# CONFIG_IKCONFIG is not set
33# CONFIG_EMBEDDED is not set
34CONFIG_KALLSYMS=y
35# CONFIG_KALLSYMS_EXTRA_PASS is not set
36CONFIG_PRINTK=y
37CONFIG_BUG=y
38CONFIG_BASE_FULL=y
39CONFIG_FUTEX=y
40CONFIG_EPOLL=y
41CONFIG_SHMEM=y
42CONFIG_CC_ALIGN_FUNCTIONS=0
43CONFIG_CC_ALIGN_LABELS=0
44CONFIG_CC_ALIGN_LOOPS=0
45CONFIG_CC_ALIGN_JUMPS=0
46# CONFIG_TINY_SHMEM is not set
47CONFIG_BASE_SMALL=0
48
49#
50# Loadable module support
51#
52# CONFIG_MODULES is not set
53
54#
55# Platform dependent setup
56#
57# CONFIG_SUN3 is not set
58CONFIG_AMIGA=y
59# CONFIG_ATARI is not set
60# CONFIG_MAC is not set
61# CONFIG_APOLLO is not set
62# CONFIG_VME is not set
63# CONFIG_HP300 is not set
64# CONFIG_SUN3X is not set
65# CONFIG_Q40 is not set
66
67#
68# Processor type
69#
70CONFIG_M68020=y
71CONFIG_M68030=y
72CONFIG_M68040=y
73# CONFIG_M68060 is not set
74CONFIG_MMU_MOTOROLA=y
75# CONFIG_M68KFPU_EMU is not set
76# CONFIG_ADVANCED is not set
77
78#
79# General setup
80#
81CONFIG_BINFMT_ELF=y
82CONFIG_BINFMT_AOUT=y
83# CONFIG_BINFMT_MISC is not set
84CONFIG_ZORRO=y
85# CONFIG_AMIGA_PCMCIA is not set
86# CONFIG_HEARTBEAT is not set
87CONFIG_PROC_HARDWARE=y
88# CONFIG_ZORRO_NAMES is not set
89
90#
91# Device Drivers
92#
93
94#
95# Generic Driver Options
96#
97CONFIG_STANDALONE=y
98CONFIG_PREVENT_FIRMWARE_BUILD=y
99# CONFIG_FW_LOADER is not set
100
101#
102# Memory Technology Devices (MTD)
103#
104# CONFIG_MTD is not set
105
106#
107# Parallel port support
108#
109# CONFIG_PARPORT is not set
110
111#
112# Plug and Play support
113#
114
115#
116# Block devices
117#
118CONFIG_AMIGA_FLOPPY=y
119# CONFIG_AMIGA_Z2RAM is not set
120# CONFIG_BLK_DEV_COW_COMMON is not set
121# CONFIG_BLK_DEV_LOOP is not set
122# CONFIG_BLK_DEV_NBD is not set
123CONFIG_BLK_DEV_RAM=y
124CONFIG_BLK_DEV_RAM_COUNT=16
125CONFIG_BLK_DEV_RAM_SIZE=4096
126CONFIG_BLK_DEV_INITRD=y
127CONFIG_INITRAMFS_SOURCE=""
128CONFIG_CDROM_PKTCDVD=y
129CONFIG_CDROM_PKTCDVD_BUFFERS=8
130# CONFIG_CDROM_PKTCDVD_WCACHE is not set
131
132#
133# IO Schedulers
134#
135CONFIG_IOSCHED_NOOP=y
136CONFIG_IOSCHED_AS=y
137CONFIG_IOSCHED_DEADLINE=y
138CONFIG_IOSCHED_CFQ=y
139# CONFIG_ATA_OVER_ETH is not set
140
141#
142# ATA/ATAPI/MFM/RLL support
143#
144# CONFIG_IDE is not set
145
146#
147# SCSI device support
148#
149CONFIG_SCSI=y
150CONFIG_SCSI_PROC_FS=y
151
152#
153# SCSI support type (disk, tape, CD-ROM)
154#
155CONFIG_BLK_DEV_SD=y
156CONFIG_CHR_DEV_ST=y
157# CONFIG_CHR_DEV_OSST is not set
158CONFIG_BLK_DEV_SR=y
159# CONFIG_BLK_DEV_SR_VENDOR is not set
160# CONFIG_CHR_DEV_SG is not set
161
162#
163# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
164#
165# CONFIG_SCSI_MULTI_LUN is not set
166CONFIG_SCSI_CONSTANTS=y
167# CONFIG_SCSI_LOGGING is not set
168
169#
170# SCSI Transport Attributes
171#
172# CONFIG_SCSI_SPI_ATTRS is not set
173# CONFIG_SCSI_FC_ATTRS is not set
174# CONFIG_SCSI_ISCSI_ATTRS is not set
175
176#
177# SCSI low-level drivers
178#
179# CONFIG_SCSI_SATA is not set
180# CONFIG_SCSI_DEBUG is not set
181CONFIG_A3000_SCSI=y
182CONFIG_A2091_SCSI=y
183CONFIG_GVP11_SCSI=y
184# CONFIG_CYBERSTORM_SCSI is not set
185# CONFIG_CYBERSTORMII_SCSI is not set
186# CONFIG_BLZ2060_SCSI is not set
187# CONFIG_BLZ1230_SCSI is not set
188# CONFIG_FASTLANE_SCSI is not set
189# CONFIG_OKTAGON_SCSI is not set
190
191#
192# Multi-device support (RAID and LVM)
193#
194# CONFIG_MD is not set
195
196#
197# Fusion MPT device support
198#
199
200#
201# IEEE 1394 (FireWire) support
202#
203
204#
205# I2O device support
206#
207
208#
209# Networking support
210#
211CONFIG_NET=y
212
213#
214# Networking options
215#
216CONFIG_PACKET=y
217# CONFIG_PACKET_MMAP is not set
218CONFIG_UNIX=y
219# CONFIG_NET_KEY is not set
220CONFIG_INET=y
221# CONFIG_IP_MULTICAST is not set
222# CONFIG_IP_ADVANCED_ROUTER is not set
223# CONFIG_IP_PNP is not set
224# CONFIG_NET_IPIP is not set
225# CONFIG_NET_IPGRE is not set
226# CONFIG_ARPD is not set
227# CONFIG_SYN_COOKIES is not set
228# CONFIG_INET_AH is not set
229# CONFIG_INET_ESP is not set
230# CONFIG_INET_IPCOMP is not set
231# CONFIG_INET_TUNNEL is not set
232CONFIG_IP_TCPDIAG=y
233# CONFIG_IP_TCPDIAG_IPV6 is not set
234# CONFIG_IPV6 is not set
235# CONFIG_NETFILTER is not set
236
237#
238# SCTP Configuration (EXPERIMENTAL)
239#
240# CONFIG_IP_SCTP is not set
241# CONFIG_ATM is not set
242# CONFIG_BRIDGE is not set
243# CONFIG_VLAN_8021Q is not set
244# CONFIG_DECNET is not set
245# CONFIG_LLC2 is not set
246# CONFIG_IPX is not set
247# CONFIG_ATALK is not set
248# CONFIG_X25 is not set
249# CONFIG_LAPB is not set
250# CONFIG_NET_DIVERT is not set
251# CONFIG_ECONET is not set
252# CONFIG_WAN_ROUTER is not set
253
254#
255# QoS and/or fair queueing
256#
257# CONFIG_NET_SCHED is not set
258# CONFIG_NET_CLS_ROUTE is not set
259
260#
261# Network testing
262#
263# CONFIG_NET_PKTGEN is not set
264# CONFIG_NETPOLL is not set
265# CONFIG_NET_POLL_CONTROLLER is not set
266# CONFIG_HAMRADIO is not set
267# CONFIG_IRDA is not set
268# CONFIG_BT is not set
269CONFIG_NETDEVICES=y
270# CONFIG_DUMMY is not set
271# CONFIG_BONDING is not set
272# CONFIG_EQUALIZER is not set
273# CONFIG_TUN is not set
274
275#
276# Ethernet (10 or 100Mbit)
277#
278# CONFIG_NET_ETHERNET is not set
279
280#
281# Ethernet (1000 Mbit)
282#
283
284#
285# Ethernet (10000 Mbit)
286#
287
288#
289# Token Ring devices
290#
291
292#
293# Wireless LAN (non-hamradio)
294#
295# CONFIG_NET_RADIO is not set
296
297#
298# Wan interfaces
299#
300# CONFIG_WAN is not set
301# CONFIG_PPP is not set
302# CONFIG_SLIP is not set
303# CONFIG_SHAPER is not set
304# CONFIG_NETCONSOLE is not set
305
306#
307# ISDN subsystem
308#
309# CONFIG_ISDN is not set
310
311#
312# Telephony Support
313#
314# CONFIG_PHONE is not set
315
316#
317# Input device support
318#
319CONFIG_INPUT=y
320
321#
322# Userland interfaces
323#
324CONFIG_INPUT_MOUSEDEV=y
325CONFIG_INPUT_MOUSEDEV_PSAUX=y
326CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
327CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
328# CONFIG_INPUT_JOYDEV is not set
329# CONFIG_INPUT_TSDEV is not set
330# CONFIG_INPUT_EVDEV is not set
331# CONFIG_INPUT_EVBUG is not set
332
333#
334# Input Device Drivers
335#
336CONFIG_INPUT_KEYBOARD=y
337CONFIG_KEYBOARD_ATKBD=y
338# CONFIG_KEYBOARD_SUNKBD is not set
339# CONFIG_KEYBOARD_LKKBD is not set
340# CONFIG_KEYBOARD_XTKBD is not set
341# CONFIG_KEYBOARD_NEWTON is not set
342# CONFIG_KEYBOARD_AMIGA is not set
343CONFIG_INPUT_MOUSE=y
344CONFIG_MOUSE_PS2=y
345# CONFIG_MOUSE_SERIAL is not set
346# CONFIG_MOUSE_AMIGA is not set
347# CONFIG_MOUSE_VSXXXAA is not set
348# CONFIG_INPUT_JOYSTICK is not set
349# CONFIG_INPUT_TOUCHSCREEN is not set
350# CONFIG_INPUT_MISC is not set
351
352#
353# Hardware I/O ports
354#
355CONFIG_SERIO=y
356CONFIG_SERIO_SERPORT=y
357CONFIG_SERIO_LIBPS2=y
358# CONFIG_SERIO_RAW is not set
359# CONFIG_GAMEPORT is not set
360
361#
362# Character devices
363#
364CONFIG_VT=y
365CONFIG_VT_CONSOLE=y
366CONFIG_HW_CONSOLE=y
367# CONFIG_SERIAL_NONSTANDARD is not set
368# CONFIG_A2232 is not set
369
370#
371# Serial drivers
372#
373# CONFIG_SERIAL_8250 is not set
374
375#
376# Non-8250 serial port support
377#
378CONFIG_UNIX98_PTYS=y
379CONFIG_LEGACY_PTYS=y
380CONFIG_LEGACY_PTY_COUNT=256
381
382#
383# IPMI
384#
385# CONFIG_IPMI_HANDLER is not set
386
387#
388# Watchdog Cards
389#
390# CONFIG_WATCHDOG is not set
391# CONFIG_GEN_RTC is not set
392# CONFIG_DTLK is not set
393# CONFIG_R3964 is not set
394
395#
396# Ftape, the floppy tape device driver
397#
398# CONFIG_DRM is not set
399# CONFIG_RAW_DRIVER is not set
400
401#
402# TPM devices
403#
404
405#
406# I2C support
407#
408# CONFIG_I2C is not set
409
410#
411# Dallas's 1-wire bus
412#
413# CONFIG_W1 is not set
414
415#
416# Misc devices
417#
418
419#
420# Multimedia devices
421#
422# CONFIG_VIDEO_DEV is not set
423
424#
425# Digital Video Broadcasting Devices
426#
427# CONFIG_DVB is not set
428
429#
430# Graphics support
431#
432CONFIG_FB=y
433# CONFIG_FB_CFB_FILLRECT is not set
434# CONFIG_FB_CFB_COPYAREA is not set
435# CONFIG_FB_CFB_IMAGEBLIT is not set
436CONFIG_FB_SOFT_CURSOR=y
437# CONFIG_FB_MACMODES is not set
438CONFIG_FB_MODE_HELPERS=y
439# CONFIG_FB_TILEBLITTING is not set
440# CONFIG_FB_CIRRUS is not set
441CONFIG_FB_AMIGA=y
442CONFIG_FB_AMIGA_OCS=y
443CONFIG_FB_AMIGA_ECS=y
444CONFIG_FB_AMIGA_AGA=y
445# CONFIG_FB_FM2 is not set
446# CONFIG_FB_S1D13XXX is not set
447# CONFIG_FB_VIRTUAL is not set
448
449#
450# Console display driver support
451#
452CONFIG_DUMMY_CONSOLE=y
453# CONFIG_FRAMEBUFFER_CONSOLE is not set
454
455#
456# Logo configuration
457#
458# CONFIG_LOGO is not set
459# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
460
461#
462# Sound
463#
464# CONFIG_SOUND is not set
465
466#
467# USB support
468#
469# CONFIG_USB_ARCH_HAS_HCD is not set
470# CONFIG_USB_ARCH_HAS_OHCI is not set
471
472#
473# USB Gadget Support
474#
475# CONFIG_USB_GADGET is not set
476
477#
478# MMC/SD Card support
479#
480# CONFIG_MMC is not set
481
482#
483# InfiniBand support
484#
485# CONFIG_INFINIBAND is not set
486
487#
488# Character devices
489#
490CONFIG_AMIGA_BUILTIN_SERIAL=y
491# CONFIG_MULTIFACE_III_TTY is not set
492# CONFIG_GVPIOEXT is not set
493# CONFIG_SERIAL_CONSOLE is not set
494
495#
496# File systems
497#
498CONFIG_EXT2_FS=y
499# CONFIG_EXT2_FS_XATTR is not set
500# CONFIG_EXT3_FS is not set
501# CONFIG_JBD is not set
502# CONFIG_REISERFS_FS is not set
503# CONFIG_JFS_FS is not set
504
505#
506# XFS support
507#
508# CONFIG_XFS_FS is not set
509CONFIG_MINIX_FS=y
510# CONFIG_ROMFS_FS is not set
511# CONFIG_QUOTA is not set
512CONFIG_DNOTIFY=y
513# CONFIG_AUTOFS_FS is not set
514# CONFIG_AUTOFS4_FS is not set
515
516#
517# CD-ROM/DVD Filesystems
518#
519# CONFIG_ISO9660_FS is not set
520# CONFIG_UDF_FS is not set
521
522#
523# DOS/FAT/NT Filesystems
524#
525CONFIG_FAT_FS=y
526CONFIG_MSDOS_FS=y
527# CONFIG_VFAT_FS is not set
528CONFIG_FAT_DEFAULT_CODEPAGE=437
529# CONFIG_NTFS_FS is not set
530
531#
532# Pseudo filesystems
533#
534CONFIG_PROC_FS=y
535CONFIG_PROC_KCORE=y
536CONFIG_SYSFS=y
537# CONFIG_DEVFS_FS is not set
538# CONFIG_DEVPTS_FS_XATTR is not set
539# CONFIG_TMPFS is not set
540# CONFIG_HUGETLB_PAGE is not set
541CONFIG_RAMFS=y
542
543#
544# Miscellaneous filesystems
545#
546# CONFIG_ADFS_FS is not set
547# CONFIG_AFFS_FS is not set
548# CONFIG_HFS_FS is not set
549# CONFIG_HFSPLUS_FS is not set
550# CONFIG_BEFS_FS is not set
551# CONFIG_BFS_FS is not set
552# CONFIG_EFS_FS is not set
553# CONFIG_CRAMFS is not set
554# CONFIG_VXFS_FS is not set
555# CONFIG_HPFS_FS is not set
556# CONFIG_QNX4FS_FS is not set
557# CONFIG_SYSV_FS is not set
558# CONFIG_UFS_FS is not set
559
560#
561# Network File Systems
562#
563CONFIG_NFS_FS=y
564# CONFIG_NFS_V3 is not set
565# CONFIG_NFS_V4 is not set
566# CONFIG_NFS_DIRECTIO is not set
567# CONFIG_NFSD is not set
568CONFIG_LOCKD=y
569CONFIG_SUNRPC=y
570# CONFIG_RPCSEC_GSS_KRB5 is not set
571# CONFIG_RPCSEC_GSS_SPKM3 is not set
572# CONFIG_SMB_FS is not set
573# CONFIG_CIFS is not set
574# CONFIG_NCP_FS is not set
575# CONFIG_CODA_FS is not set
576# CONFIG_AFS_FS is not set
577
578#
579# Partition Types
580#
581# CONFIG_PARTITION_ADVANCED is not set
582CONFIG_AMIGA_PARTITION=y
583CONFIG_MSDOS_PARTITION=y
584
585#
586# Native Language Support
587#
588CONFIG_NLS=y
589CONFIG_NLS_DEFAULT="iso8859-1"
590CONFIG_NLS_CODEPAGE_437=y
591# CONFIG_NLS_CODEPAGE_737 is not set
592# CONFIG_NLS_CODEPAGE_775 is not set
593# CONFIG_NLS_CODEPAGE_850 is not set
594# CONFIG_NLS_CODEPAGE_852 is not set
595# CONFIG_NLS_CODEPAGE_855 is not set
596# CONFIG_NLS_CODEPAGE_857 is not set
597# CONFIG_NLS_CODEPAGE_860 is not set
598# CONFIG_NLS_CODEPAGE_861 is not set
599# CONFIG_NLS_CODEPAGE_862 is not set
600# CONFIG_NLS_CODEPAGE_863 is not set
601# CONFIG_NLS_CODEPAGE_864 is not set
602# CONFIG_NLS_CODEPAGE_865 is not set
603# CONFIG_NLS_CODEPAGE_866 is not set
604# CONFIG_NLS_CODEPAGE_869 is not set
605# CONFIG_NLS_CODEPAGE_936 is not set
606# CONFIG_NLS_CODEPAGE_950 is not set
607# CONFIG_NLS_CODEPAGE_932 is not set
608# CONFIG_NLS_CODEPAGE_949 is not set
609# CONFIG_NLS_CODEPAGE_874 is not set
610# CONFIG_NLS_ISO8859_8 is not set
611# CONFIG_NLS_CODEPAGE_1250 is not set
612# CONFIG_NLS_CODEPAGE_1251 is not set
613# CONFIG_NLS_ASCII is not set
614# CONFIG_NLS_ISO8859_1 is not set
615# CONFIG_NLS_ISO8859_2 is not set
616# CONFIG_NLS_ISO8859_3 is not set
617# CONFIG_NLS_ISO8859_4 is not set
618# CONFIG_NLS_ISO8859_5 is not set
619# CONFIG_NLS_ISO8859_6 is not set
620# CONFIG_NLS_ISO8859_7 is not set
621# CONFIG_NLS_ISO8859_9 is not set
622# CONFIG_NLS_ISO8859_13 is not set
623# CONFIG_NLS_ISO8859_14 is not set
624# CONFIG_NLS_ISO8859_15 is not set
625# CONFIG_NLS_KOI8_R is not set
626# CONFIG_NLS_KOI8_U is not set
627# CONFIG_NLS_UTF8 is not set
628
629#
630# Kernel hacking
631#
632# CONFIG_PRINTK_TIME is not set
633# CONFIG_DEBUG_KERNEL is not set
634CONFIG_LOG_BUF_SHIFT=14
635CONFIG_DEBUG_BUGVERBOSE=y
636
637#
638# Security options
639#
640# CONFIG_KEYS is not set
641# CONFIG_SECURITY is not set
642
643#
644# Cryptographic options
645#
646# CONFIG_CRYPTO is not set
647
648#
649# Hardware crypto devices
650#
651
652#
653# Library routines
654#
655# CONFIG_CRC_CCITT is not set
656CONFIG_CRC32=y
657# CONFIG_LIBCRC32C is not set
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/gdb-stub.c b/arch/mips/kernel/gdb-stub.c
index 3191afa29ad..25f4eab8ea9 100644
--- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c
@@ -139,7 +139,6 @@
139#include <asm/system.h> 139#include <asm/system.h>
140#include <asm/gdb-stub.h> 140#include <asm/gdb-stub.h>
141#include <asm/inst.h> 141#include <asm/inst.h>
142#include <asm/smp.h>
143 142
144/* 143/*
145 * external low-level support routines 144 * external low-level support routines
@@ -656,6 +655,7 @@ void set_async_breakpoint(unsigned long *epc)
656 *epc = (unsigned long)async_breakpoint; 655 *epc = (unsigned long)async_breakpoint;
657} 656}
658 657
658#ifdef CONFIG_SMP
659static void kgdb_wait(void *arg) 659static void kgdb_wait(void *arg)
660{ 660{
661 unsigned flags; 661 unsigned flags;
@@ -668,6 +668,7 @@ static void kgdb_wait(void *arg)
668 668
669 local_irq_restore(flags); 669 local_irq_restore(flags);
670} 670}
671#endif
671 672
672/* 673/*
673 * GDB stub needs to call kgdb_wait on all processor with interrupts 674 * GDB stub needs to call kgdb_wait on all processor with interrupts
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/c-r4k.c b/arch/mips/mm/c-r4k.c
index 6496925b5e2..77aefb4ebed 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -361,6 +361,16 @@ static inline int has_valid_asid(const struct mm_struct *mm)
361#endif 361#endif
362} 362}
363 363
364static void r4k__flush_cache_vmap(void)
365{
366 r4k_blast_dcache();
367}
368
369static void r4k__flush_cache_vunmap(void)
370{
371 r4k_blast_dcache();
372}
373
364static inline void local_r4k_flush_cache_range(void * args) 374static inline void local_r4k_flush_cache_range(void * args)
365{ 375{
366 struct vm_area_struct *vma = args; 376 struct vm_area_struct *vma = args;
@@ -1281,6 +1291,10 @@ void __cpuinit r4k_cache_init(void)
1281 PAGE_SIZE - 1); 1291 PAGE_SIZE - 1);
1282 else 1292 else
1283 shm_align_mask = PAGE_SIZE-1; 1293 shm_align_mask = PAGE_SIZE-1;
1294
1295 __flush_cache_vmap = r4k__flush_cache_vmap;
1296 __flush_cache_vunmap = r4k__flush_cache_vunmap;
1297
1284 flush_cache_all = cache_noop; 1298 flush_cache_all = cache_noop;
1285 __flush_cache_all = r4k___flush_cache_all; 1299 __flush_cache_all = r4k___flush_cache_all;
1286 flush_cache_mm = r4k_flush_cache_mm; 1300 flush_cache_mm = r4k_flush_cache_mm;
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c
index b09d56981d5..a9f7f1f5e9b 100644
--- a/arch/mips/mm/c-tx39.c
+++ b/arch/mips/mm/c-tx39.c
@@ -122,6 +122,16 @@ static inline void tx39_blast_icache(void)
122 local_irq_restore(flags); 122 local_irq_restore(flags);
123} 123}
124 124
125static void tx39__flush_cache_vmap(void)
126{
127 tx39_blast_dcache();
128}
129
130static void tx39__flush_cache_vunmap(void)
131{
132 tx39_blast_dcache();
133}
134
125static inline void tx39_flush_cache_all(void) 135static inline void tx39_flush_cache_all(void)
126{ 136{
127 if (!cpu_has_dc_aliases) 137 if (!cpu_has_dc_aliases)
@@ -344,6 +354,8 @@ void __cpuinit tx39_cache_init(void)
344 switch (current_cpu_type()) { 354 switch (current_cpu_type()) {
345 case CPU_TX3912: 355 case CPU_TX3912:
346 /* TX39/H core (writethru direct-map cache) */ 356 /* TX39/H core (writethru direct-map cache) */
357 __flush_cache_vmap = tx39__flush_cache_vmap;
358 __flush_cache_vunmap = tx39__flush_cache_vunmap;
347 flush_cache_all = tx39h_flush_icache_all; 359 flush_cache_all = tx39h_flush_icache_all;
348 __flush_cache_all = tx39h_flush_icache_all; 360 __flush_cache_all = tx39h_flush_icache_all;
349 flush_cache_mm = (void *) tx39h_flush_icache_all; 361 flush_cache_mm = (void *) tx39h_flush_icache_all;
@@ -369,6 +381,9 @@ void __cpuinit tx39_cache_init(void)
369 write_c0_wired(0); /* set 8 on reset... */ 381 write_c0_wired(0); /* set 8 on reset... */
370 /* board-dependent init code may set WBON */ 382 /* board-dependent init code may set WBON */
371 383
384 __flush_cache_vmap = tx39__flush_cache_vmap;
385 __flush_cache_vunmap = tx39__flush_cache_vunmap;
386
372 flush_cache_all = tx39_flush_cache_all; 387 flush_cache_all = tx39_flush_cache_all;
373 __flush_cache_all = tx39___flush_cache_all; 388 __flush_cache_all = tx39___flush_cache_all;
374 flush_cache_mm = tx39_flush_cache_mm; 389 flush_cache_mm = tx39_flush_cache_mm;
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 51ab1faa027..f5903679ee6 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -30,6 +30,9 @@ void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page,
30 unsigned long pfn); 30 unsigned long pfn);
31void (*flush_icache_range)(unsigned long start, unsigned long end); 31void (*flush_icache_range)(unsigned long start, unsigned long end);
32 32
33void (*__flush_cache_vmap)(void);
34void (*__flush_cache_vunmap)(void);
35
33/* MIPS specific cache operations */ 36/* MIPS specific cache operations */
34void (*flush_cache_sigtramp)(unsigned long addr); 37void (*flush_cache_sigtramp)(unsigned long addr);
35void (*local_flush_data_cache_page)(void * addr); 38void (*local_flush_data_cache_page)(void * addr);
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/Kconfig b/arch/powerpc/Kconfig
index 1189d8d6170..d1fe425cfb5 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -81,6 +81,11 @@ config GENERIC_FIND_NEXT_BIT
81 bool 81 bool
82 default y 82 default y
83 83
84config GENERIC_GPIO
85 bool
86 help
87 Generic GPIO API support
88
84config ARCH_NO_VIRT_TO_BUS 89config ARCH_NO_VIRT_TO_BUS
85 def_bool PPC64 90 def_bool PPC64
86 91
@@ -91,6 +96,7 @@ config PPC
91 select HAVE_OPROFILE 96 select HAVE_OPROFILE
92 select HAVE_KPROBES 97 select HAVE_KPROBES
93 select HAVE_KRETPROBES 98 select HAVE_KRETPROBES
99 select HAVE_LMB
94 100
95config EARLY_PRINTK 101config EARLY_PRINTK
96 bool 102 bool
@@ -210,15 +216,6 @@ source kernel/Kconfig.hz
210source kernel/Kconfig.preempt 216source kernel/Kconfig.preempt
211source "fs/Kconfig.binfmt" 217source "fs/Kconfig.binfmt"
212 218
213# We optimistically allocate largepages from the VM, so make the limit
214# large enough (16MB). This badly named config option is actually
215# max order + 1
216config FORCE_MAX_ZONEORDER
217 int
218 depends on PPC64
219 default "9" if PPC_64K_PAGES
220 default "13"
221
222config HUGETLB_PAGE_SIZE_VARIABLE 219config HUGETLB_PAGE_SIZE_VARIABLE
223 bool 220 bool
224 depends on HUGETLB_PAGE 221 depends on HUGETLB_PAGE
@@ -307,6 +304,16 @@ config CRASH_DUMP
307 304
308 Don't change this unless you know what you are doing. 305 Don't change this unless you know what you are doing.
309 306
307config PHYP_DUMP
308 bool "Hypervisor-assisted dump (EXPERIMENTAL)"
309 depends on PPC_PSERIES && EXPERIMENTAL
310 help
311 Hypervisor-assisted dump is meant to be a kdump replacement
312 offering robustness and speed not possible without system
313 hypervisor assistence.
314
315 If unsure, say "N"
316
310config PPCBUG_NVRAM 317config PPCBUG_NVRAM
311 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC 318 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
312 default y if PPC_PREP 319 default y if PPC_PREP
@@ -381,6 +388,26 @@ config PPC_64K_PAGES
381 while on hardware with such support, it will be used to map 388 while on hardware with such support, it will be used to map
382 normal application pages. 389 normal application pages.
383 390
391config FORCE_MAX_ZONEORDER
392 int "Maximum zone order"
393 default "9" if PPC_64K_PAGES
394 default "13" if PPC64 && !PPC_64K_PAGES
395 default "11"
396 help
397 The kernel memory allocator divides physically contiguous memory
398 blocks into "zones", where each zone is a power of two number of
399 pages. This option selects the largest power of two that the kernel
400 keeps in the memory allocator. If you need to allocate very large
401 blocks of physically contiguous memory, then you may need to
402 increase this value.
403
404 This config option is actually maximum order plus one. For example,
405 a value of 11 means that the largest free memory block is 2^10 pages.
406
407 The page size is not necessarily 4KB. For example, on 64-bit
408 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
409 this in mind when choosing a value for this option.
410
384config PPC_SUBPAGE_PROT 411config PPC_SUBPAGE_PROT
385 bool "Support setting protections for 4k subpages" 412 bool "Support setting protections for 4k subpages"
386 depends on PPC_64K_PAGES 413 depends on PPC_64K_PAGES
@@ -490,6 +517,9 @@ config FSL_PCI
490 bool 517 bool
491 select PPC_INDIRECT_PCI 518 select PPC_INDIRECT_PCI
492 519
520config 4xx_SOC
521 bool
522
493# Yes MCA RS/6000s exist but Linux-PPC does not currently support any 523# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
494config MCA 524config MCA
495 bool 525 bool
@@ -663,22 +693,6 @@ config CONSISTENT_SIZE
663 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL 693 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
664 default "0x00200000" if NOT_COHERENT_CACHE 694 default "0x00200000" if NOT_COHERENT_CACHE
665 695
666config BOOT_LOAD_BOOL
667 bool "Set the boot link/load address"
668 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
669 help
670 This option allows you to set the initial load address of the zImage
671 or zImage.initrd file. This can be useful if you are on a board
672 which has a small amount of memory.
673
674 Say N here unless you know what you are doing.
675
676config BOOT_LOAD
677 hex "Link/load address for booting" if BOOT_LOAD_BOOL
678 default "0x00400000" if 40x || 8xx || 8260
679 default "0x01000000" if 44x
680 default "0x00800000"
681
682config PIN_TLB 696config PIN_TLB
683 bool "Pinned Kernel TLBs (860 ONLY)" 697 bool "Pinned Kernel TLBs (860 ONLY)"
684 depends on ADVANCED_OPTIONS && 8xx 698 depends on ADVANCED_OPTIONS && 8xx
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index ab5cfe8ef98..e2ec4a91cce 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -71,13 +71,11 @@ endif
71 71
72LDFLAGS_vmlinux := -Bstatic 72LDFLAGS_vmlinux := -Bstatic
73 73
74CPPFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH)
75AFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH)
76CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc 74CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc
77CFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH) -ffixed-r2 -mmultiple 75CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 -mmultiple
78KBUILD_CPPFLAGS += $(CPPFLAGS-y) 76KBUILD_CPPFLAGS += -Iarch/$(ARCH)
79KBUILD_AFLAGS += $(AFLAGS-y) 77KBUILD_AFLAGS += -Iarch/$(ARCH)
80KBUILD_CFLAGS += -msoft-float -pipe $(CFLAGS-y) 78KBUILD_CFLAGS += -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y)
81CPP = $(CC) -E $(KBUILD_CFLAGS) 79CPP = $(CC) -E $(KBUILD_CFLAGS)
82 80
83CHECKFLAGS += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__ 81CHECKFLAGS += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
@@ -164,7 +162,7 @@ boot := arch/$(ARCH)/boot
164$(BOOT_TARGETS): vmlinux 162$(BOOT_TARGETS): vmlinux
165 $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) 163 $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
166 164
167bootwrapper_install: 165bootwrapper_install %.dtb:
168 $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) 166 $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
169 167
170define archhelp 168define archhelp
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 1aded8f759d..5ba50c67339 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -40,6 +40,7 @@ $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
40$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405 40$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
41$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 41$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
42$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 42$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
43$(obj)/virtex405-head.o: BOOTCFLAGS += -mcpu=405
43 44
44 45
45zlib := inffast.c inflate.c inftrees.c 46zlib := inffast.c inflate.c inftrees.c
@@ -64,7 +65,8 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
64 cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \ 65 cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
65 fixed-head.S ep88xc.c ep405.c \ 66 fixed-head.S ep88xc.c ep405.c \
66 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ 67 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
67 cuboot-warp.c cuboot-85xx-cpm2.c 68 cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
69 virtex405-head.S
68src-boot := $(src-wlib) $(src-plat) empty.c 70src-boot := $(src-wlib) $(src-plat) empty.c
69 71
70src-boot := $(addprefix $(obj)/, $(src-boot)) 72src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -192,7 +194,7 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp
192image-$(CONFIG_PPC_EFIKA) += zImage.chrp 194image-$(CONFIG_PPC_EFIKA) += zImage.chrp
193image-$(CONFIG_PPC_PMAC) += zImage.pmac 195image-$(CONFIG_PPC_PMAC) += zImage.pmac
194image-$(CONFIG_PPC_HOLLY) += zImage.holly 196image-$(CONFIG_PPC_HOLLY) += zImage.holly
195image-$(CONFIG_PPC_PRPMC2800) += zImage.prpmc2800 197image-$(CONFIG_PPC_PRPMC2800) += dtbImage.prpmc2800
196image-$(CONFIG_PPC_ISERIES) += zImage.iseries 198image-$(CONFIG_PPC_ISERIES) += zImage.iseries
197image-$(CONFIG_DEFAULT_UIMAGE) += uImage 199image-$(CONFIG_DEFAULT_UIMAGE) += uImage
198 200
@@ -216,6 +218,7 @@ image-$(CONFIG_RAINIER) += cuImage.rainier
216image-$(CONFIG_TAISHAN) += cuImage.taishan 218image-$(CONFIG_TAISHAN) += cuImage.taishan
217image-$(CONFIG_KATMAI) += cuImage.katmai 219image-$(CONFIG_KATMAI) += cuImage.katmai
218image-$(CONFIG_WARP) += cuImage.warp 220image-$(CONFIG_WARP) += cuImage.warp
221image-$(CONFIG_YOSEMITE) += cuImage.yosemite
219 222
220# Board ports in arch/powerpc/platform/8xx/Kconfig 223# Board ports in arch/powerpc/platform/8xx/Kconfig
221image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads 224image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads
@@ -255,6 +258,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm8555
255image-$(CONFIG_TQM8560) += cuImage.tqm8560 258image-$(CONFIG_TQM8560) += cuImage.tqm8560
256image-$(CONFIG_SBC8548) += cuImage.sbc8548 259image-$(CONFIG_SBC8548) += cuImage.sbc8548
257image-$(CONFIG_SBC8560) += cuImage.sbc8560 260image-$(CONFIG_SBC8560) += cuImage.sbc8560
261image-$(CONFIG_KSI8560) += cuImage.ksi8560
258 262
259# Board ports in arch/powerpc/platform/embedded6xx/Kconfig 263# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
260image-$(CONFIG_STORCENTER) += cuImage.storcenter 264image-$(CONFIG_STORCENTER) += cuImage.storcenter
@@ -285,11 +289,11 @@ $(obj)/zImage.%: vmlinux $(wrapperbits)
285 $(call if_changed,wrap,$*) 289 $(call if_changed,wrap,$*)
286 290
287# dtbImage% - a dtbImage is a zImage with an embedded device tree blob 291# dtbImage% - a dtbImage is a zImage with an embedded device tree blob
288$(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 292$(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb
289 $(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz) 293 $(call if_changed,wrap,$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
290 294
291$(obj)/dtbImage.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 295$(obj)/dtbImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb
292 $(call if_changed,wrap,$*,$(dtstree)/$*.dts) 296 $(call if_changed,wrap,$*,,$(obj)/$*.dtb)
293 297
294# This cannot be in the root of $(src) as the zImage rule always adds a $(obj) 298# This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
295# prefix 299# prefix
@@ -302,14 +306,24 @@ $(obj)/zImage.iseries: vmlinux
302$(obj)/uImage: vmlinux $(wrapperbits) 306$(obj)/uImage: vmlinux $(wrapperbits)
303 $(call if_changed,wrap,uboot) 307 $(call if_changed,wrap,uboot)
304 308
305$(obj)/cuImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits) 309$(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
306 $(call if_changed,wrap,cuboot-$*,$(dtstree)/$*.dts) 310 $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
307 311
308$(obj)/treeImage.initrd.%: vmlinux $(dtstree)/%.dts $(wrapperbits) 312$(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
309 $(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz) 313 $(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
310 314
311$(obj)/treeImage.%: vmlinux $(dtstree)/%.dts $(wrapperbits) 315$(obj)/simpleImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
312 $(call if_changed,wrap,treeboot-$*,$(dtstree)/$*.dts) 316 $(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb)
317
318$(obj)/treeImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
319 $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
320
321$(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
322 $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb)
323
324# Rule to build device tree blobs
325$(obj)/%.dtb: $(dtstree)/%.dts $(obj)/dtc
326 $(obj)/dtc -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts
313 327
314# If there isn't a platform selected then just strip the vmlinux. 328# If there isn't a platform selected then just strip the vmlinux.
315ifeq (,$(image-y)) 329ifeq (,$(image-y))
@@ -326,7 +340,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
326 340
327# anything not in $(targets) 341# anything not in $(targets)
328clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \ 342clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \
329 otheros.bld 343 otheros.bld *.dtb
330 344
331# clean up files cached by wrapper 345# clean up files cached by wrapper
332clean-kernel := vmlinux.strip vmlinux.bin 346clean-kernel := vmlinux.strip vmlinux.bin
diff --git a/arch/powerpc/boot/bamboo.c b/arch/powerpc/boot/bamboo.c
index 54b33f1500e..b82cacbc60d 100644
--- a/arch/powerpc/boot/bamboo.c
+++ b/arch/powerpc/boot/bamboo.c
@@ -33,7 +33,8 @@ static void bamboo_fixups(void)
33 ibm440ep_fixup_clocks(sysclk, 11059200, 25000000); 33 ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
34 ibm4xx_sdram_fixup_memsize(); 34 ibm4xx_sdram_fixup_memsize();
35 ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00); 35 ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
36 dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1); 36 dt_fixup_mac_address_by_alias("ethernet0", bamboo_mac0);
37 dt_fixup_mac_address_by_alias("ethernet1", bamboo_mac1);
37} 38}
38 39
39void bamboo_init(void *mac0, void *mac1) 40void bamboo_init(void *mac0, void *mac1)
diff --git a/arch/powerpc/boot/cuboot-rainier.c b/arch/powerpc/boot/cuboot-rainier.c
index cf452b66dce..0a3fddee54d 100644
--- a/arch/powerpc/boot/cuboot-rainier.c
+++ b/arch/powerpc/boot/cuboot-rainier.c
@@ -42,7 +42,8 @@ static void rainier_fixups(void)
42 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); 42 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
43 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 43 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
44 ibm4xx_denali_fixup_memsize(); 44 ibm4xx_denali_fixup_memsize();
45 dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr); 45 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
46 dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
46} 47}
47 48
48void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 49void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
diff --git a/arch/powerpc/boot/cuboot-sequoia.c b/arch/powerpc/boot/cuboot-sequoia.c
index f555575a44d..caf8f2e842e 100644
--- a/arch/powerpc/boot/cuboot-sequoia.c
+++ b/arch/powerpc/boot/cuboot-sequoia.c
@@ -42,7 +42,8 @@ static void sequoia_fixups(void)
42 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); 42 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
43 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 43 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
44 ibm4xx_denali_fixup_memsize(); 44 ibm4xx_denali_fixup_memsize();
45 dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr); 45 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
46 dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
46} 47}
47 48
48void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 49void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
diff --git a/arch/powerpc/boot/cuboot-taishan.c b/arch/powerpc/boot/cuboot-taishan.c
index b55b80467ee..9bc906a754d 100644
--- a/arch/powerpc/boot/cuboot-taishan.c
+++ b/arch/powerpc/boot/cuboot-taishan.c
@@ -40,7 +40,8 @@ static void taishan_fixups(void)
40 40
41 ibm4xx_sdram_fixup_memsize(); 41 ibm4xx_sdram_fixup_memsize();
42 42
43 dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr); 43 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
44 dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
44 45
45 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 46 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
46} 47}
diff --git a/arch/powerpc/boot/cuboot-warp.c b/arch/powerpc/boot/cuboot-warp.c
index 3db93e85e9e..eb108a87749 100644
--- a/arch/powerpc/boot/cuboot-warp.c
+++ b/arch/powerpc/boot/cuboot-warp.c
@@ -24,7 +24,7 @@ static void warp_fixups(void)
24 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); 24 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
25 ibm4xx_sdram_fixup_memsize(); 25 ibm4xx_sdram_fixup_memsize();
26 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 26 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
27 dt_fixup_mac_addresses(&bd.bi_enetaddr); 27 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
28} 28}
29 29
30 30
diff --git a/arch/powerpc/boot/cuboot-yosemite.c b/arch/powerpc/boot/cuboot-yosemite.c
new file mode 100644
index 00000000000..cc6e338c5d0
--- /dev/null
+++ b/arch/powerpc/boot/cuboot-yosemite.c
@@ -0,0 +1,44 @@
1/*
2 * Old U-boot compatibility for Yosemite
3 *
4 * Author: Josh Boyer <jwboyer@linux.vnet.ibm.com>
5 *
6 * Copyright 2008 IBM Corporation
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License version 2 as published
10 * by the Free Software Foundation.
11 */
12
13#include "ops.h"
14#include "stdio.h"
15#include "4xx.h"
16#include "44x.h"
17#include "cuboot.h"
18
19#define TARGET_4xx
20#define TARGET_44x
21#include "ppcboot.h"
22
23static bd_t bd;
24
25static void yosemite_fixups(void)
26{
27 unsigned long sysclk = 66666666;
28
29 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
30 ibm4xx_sdram_fixup_memsize();
31 ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
32 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
33 dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
34}
35
36void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
37 unsigned long r6, unsigned long r7)
38{
39 CUBOOT_INIT();
40 platform_ops.fixups = yosemite_fixups;
41 platform_ops.exit = ibm44x_dbcr_reset;
42 fdt_init(_dtb_start);
43 serial_console_init();
44}
diff --git a/arch/powerpc/boot/dts/bamboo.dts b/arch/powerpc/boot/dts/bamboo.dts
index 7dc37c9a744..ba2521bdaab 100644
--- a/arch/powerpc/boot/dts/bamboo.dts
+++ b/arch/powerpc/boot/dts/bamboo.dts
@@ -204,7 +204,6 @@
204 }; 204 };
205 205
206 EMAC0: ethernet@ef600e00 { 206 EMAC0: ethernet@ef600e00 {
207 linux,network-index = <0>;
208 device_type = "network"; 207 device_type = "network";
209 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 208 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
210 interrupt-parent = <&UIC1>; 209 interrupt-parent = <&UIC1>;
@@ -225,7 +224,6 @@
225 }; 224 };
226 225
227 EMAC1: ethernet@ef600f00 { 226 EMAC1: ethernet@ef600f00 {
228 linux,network-index = <1>;
229 device_type = "network"; 227 device_type = "network";
230 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 228 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
231 interrupt-parent = <&UIC1>; 229 interrupt-parent = <&UIC1>;
diff --git a/arch/powerpc/boot/dts/canyonlands.dts b/arch/powerpc/boot/dts/canyonlands.dts
new file mode 100644
index 00000000000..6f3d38a1554
--- /dev/null
+++ b/arch/powerpc/boot/dts/canyonlands.dts
@@ -0,0 +1,402 @@
1/*
2 * Device Tree Source for AMCC Canyonlands (460EX)
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without
8 * any warranty of any kind, whether express or implied.
9 */
10
11/ {
12 #address-cells = <2>;
13 #size-cells = <1>;
14 model = "amcc,canyonlands";
15 compatible = "amcc,canyonlands";
16 dcr-parent = <&/cpus/cpu@0>;
17
18 aliases {
19 ethernet0 = &EMAC0;
20 ethernet1 = &EMAC1;
21 serial0 = &UART0;
22 serial1 = &UART1;
23 };
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 cpu@0 {
30 device_type = "cpu";
31 model = "PowerPC,460EX";
32 reg = <0>;
33 clock-frequency = <0>; /* Filled in by U-Boot */
34 timebase-frequency = <0>; /* Filled in by U-Boot */
35 i-cache-line-size = <20>;
36 d-cache-line-size = <20>;
37 i-cache-size = <8000>;
38 d-cache-size = <8000>;
39 dcr-controller;
40 dcr-access-method = "native";
41 };
42 };
43
44 memory {
45 device_type = "memory";
46 reg = <0 0 0>; /* Filled in by U-Boot */
47 };
48
49 UIC0: interrupt-controller0 {
50 compatible = "ibm,uic-460ex","ibm,uic";
51 interrupt-controller;
52 cell-index = <0>;
53 dcr-reg = <0c0 009>;
54 #address-cells = <0>;
55 #size-cells = <0>;
56 #interrupt-cells = <2>;
57 };
58
59 UIC1: interrupt-controller1 {
60 compatible = "ibm,uic-460ex","ibm,uic";
61 interrupt-controller;
62 cell-index = <1>;
63 dcr-reg = <0d0 009>;
64 #address-cells = <0>;
65 #size-cells = <0>;
66 #interrupt-cells = <2>;
67 interrupts = <1e 4 1f 4>; /* cascade */
68 interrupt-parent = <&UIC0>;
69 };
70
71 UIC2: interrupt-controller2 {
72 compatible = "ibm,uic-460ex","ibm,uic";
73 interrupt-controller;
74 cell-index = <2>;
75 dcr-reg = <0e0 009>;
76 #address-cells = <0>;
77 #size-cells = <0>;
78 #interrupt-cells = <2>;
79 interrupts = <a 4 b 4>; /* cascade */
80 interrupt-parent = <&UIC0>;
81 };
82
83 UIC3: interrupt-controller3 {
84 compatible = "ibm,uic-460ex","ibm,uic";
85 interrupt-controller;
86 cell-index = <3>;
87 dcr-reg = <0f0 009>;
88 #address-cells = <0>;
89 #size-cells = <0>;
90 #interrupt-cells = <2>;
91 interrupts = <10 4 11 4>; /* cascade */
92 interrupt-parent = <&UIC0>;
93 };
94
95 SDR0: sdr {
96 compatible = "ibm,sdr-460ex";
97 dcr-reg = <00e 002>;
98 };
99
100 CPR0: cpr {
101 compatible = "ibm,cpr-460ex";
102 dcr-reg = <00c 002>;
103 };
104
105 plb {
106 compatible = "ibm,plb-460ex", "ibm,plb4";
107 #address-cells = <2>;
108 #size-cells = <1>;
109 ranges;
110 clock-frequency = <0>; /* Filled in by U-Boot */
111
112 SDRAM0: sdram {
113 compatible = "ibm,sdram-460ex", "ibm,sdram-405gp";
114 dcr-reg = <010 2>;
115 };
116
117 MAL0: mcmal {
118 compatible = "ibm,mcmal-460ex", "ibm,mcmal2";
119 dcr-reg = <180 62>;
120 num-tx-chans = <2>;
121 num-rx-chans = <10>;
122 #address-cells = <0>;
123 #size-cells = <0>;
124 interrupt-parent = <&UIC2>;
125 interrupts = < /*TXEOB*/ 6 4
126 /*RXEOB*/ 7 4
127 /*SERR*/ 3 4
128 /*TXDE*/ 4 4
129 /*RXDE*/ 5 4>;
130 };
131
132 POB0: opb {
133 compatible = "ibm,opb-460ex", "ibm,opb";
134 #address-cells = <1>;
135 #size-cells = <1>;
136 ranges = <b0000000 4 b0000000 50000000>;
137 clock-frequency = <0>; /* Filled in by U-Boot */
138
139 EBC0: ebc {
140 compatible = "ibm,ebc-460ex", "ibm,ebc";
141 dcr-reg = <012 2>;
142 #address-cells = <2>;
143 #size-cells = <1>;
144 clock-frequency = <0>; /* Filled in by U-Boot */
145 interrupts = <6 4>;
146 interrupt-parent = <&UIC1>;
147 };
148
149 UART0: serial@ef600300 {
150 device_type = "serial";
151 compatible = "ns16550";
152 reg = <ef600300 8>;
153 virtual-reg = <ef600300>;
154 clock-frequency = <0>; /* Filled in by U-Boot */
155 current-speed = <0>; /* Filled in by U-Boot */
156 interrupt-parent = <&UIC1>;
157 interrupts = <1 4>;
158 };
159
160 UART1: serial@ef600400 {
161 device_type = "serial";
162 compatible = "ns16550";
163 reg = <ef600400 8>;
164 virtual-reg = <ef600400>;
165 clock-frequency = <0>; /* Filled in by U-Boot */
166 current-speed = <0>; /* Filled in by U-Boot */
167 interrupt-parent = <&UIC0>;
168 interrupts = <1 4>;
169 };
170
171 UART2: serial@ef600500 {
172 device_type = "serial";
173 compatible = "ns16550";
174 reg = <ef600500 8>;
175 virtual-reg = <ef600500>;
176 clock-frequency = <0>; /* Filled in by U-Boot */
177 current-speed = <0>; /* Filled in by U-Boot */
178 interrupt-parent = <&UIC1>;
179 interrupts = <1d 4>;
180 };
181
182 UART3: serial@ef600600 {
183 device_type = "serial";
184 compatible = "ns16550";
185 reg = <ef600600 8>;
186 virtual-reg = <ef600600>;
187 clock-frequency = <0>; /* Filled in by U-Boot */
188 current-speed = <0>; /* Filled in by U-Boot */
189 interrupt-parent = <&UIC1>;
190 interrupts = <1e 4>;
191 };
192
193 IIC0: i2c@ef600700 {
194 compatible = "ibm,iic-460ex", "ibm,iic";
195 reg = <ef600700 14>;
196 interrupt-parent = <&UIC0>;
197 interrupts = <2 4>;
198 };
199
200 IIC1: i2c@ef600800 {
201 compatible = "ibm,iic-460ex", "ibm,iic";
202 reg = <ef600800 14>;
203 interrupt-parent = <&UIC0>;
204 interrupts = <3 4>;
205 };
206
207 ZMII0: emac-zmii@ef600d00 {
208 compatible = "ibm,zmii-460ex", "ibm,zmii";
209 reg = <ef600d00 c>;
210 };
211
212 RGMII0: emac-rgmii@ef601500 {
213 compatible = "ibm,rgmii-460ex", "ibm,rgmii";
214 reg = <ef601500 8>;
215 has-mdio;
216 };
217
218 TAH0: emac-tah@ef601350 {
219 compatible = "ibm,tah-460ex", "ibm,tah";
220 reg = <ef601350 30>;
221 };
222
223 TAH1: emac-tah@ef601450 {
224 compatible = "ibm,tah-460ex", "ibm,tah";
225 reg = <ef601450 30>;
226 };
227
228 EMAC0: ethernet@ef600e00 {
229 device_type = "network";
230 compatible = "ibm,emac-460ex", "ibm,emac4";
231 interrupt-parent = <&EMAC0>;
232 interrupts = <0 1>;
233 #interrupt-cells = <1>;
234 #address-cells = <0>;
235 #size-cells = <0>;
236 interrupt-map = </*Status*/ 0 &UIC2 10 4
237 /*Wake*/ 1 &UIC2 14 4>;
238 reg = <ef600e00 70>;
239 local-mac-address = [000000000000]; /* Filled in by U-Boot */
240 mal-device = <&MAL0>;
241 mal-tx-channel = <0>;
242 mal-rx-channel = <0>;
243 cell-index = <0>;
244 max-frame-size = <2328>;
245 rx-fifo-size = <1000>;
246 tx-fifo-size = <800>;
247 phy-mode = "rgmii";
248 phy-map = <00000000>;
249 rgmii-device = <&RGMII0>;
250 rgmii-channel = <0>;
251 tah-device = <&TAH0>;
252 tah-channel = <0>;
253 has-inverted-stacr-oc;
254 has-new-stacr-staopc;
255 };
256
257 EMAC1: ethernet@ef600f00 {
258 device_type = "network";
259 compatible = "ibm,emac-460ex", "ibm,emac4";
260 interrupt-parent = <&EMAC1>;
261 interrupts = <0 1>;
262 #interrupt-cells = <1>;
263 #address-cells = <0>;
264 #size-cells = <0>;
265 interrupt-map = </*Status*/ 0 &UIC2 11 4
266 /*Wake*/ 1 &UIC2 15 4>;
267 reg = <ef600f00 70>;
268 local-mac-address = [000000000000]; /* Filled in by U-Boot */
269 mal-device = <&MAL0>;
270 mal-tx-channel = <1>;
271 mal-rx-channel = <8>;
272 cell-index = <1>;
273 max-frame-size = <2328>;
274 rx-fifo-size = <1000>;
275 tx-fifo-size = <800>;
276 phy-mode = "rgmii";
277 phy-map = <00000000>;
278 rgmii-device = <&RGMII0>;
279 rgmii-channel = <1>;
280 tah-device = <&TAH1>;
281 tah-channel = <1>;
282 has-inverted-stacr-oc;
283 has-new-stacr-staopc;
284 mdio-device = <&EMAC0>;
285 };
286 };
287
288 PCIX0: pci@c0ec00000 {
289 device_type = "pci";
290 #interrupt-cells = <1>;
291 #size-cells = <2>;
292 #address-cells = <3>;
293 compatible = "ibm,plb-pcix-460ex", "ibm,plb-pcix";
294 primary;
295 large-inbound-windows;
296 enable-msi-hole;
297 reg = <c 0ec00000 8 /* Config space access */
298 0 0 0 /* no IACK cycles */
299 c 0ed00000 4 /* Special cycles */
300 c 0ec80000 100 /* Internal registers */
301 c 0ec80100 fc>; /* Internal messaging registers */
302
303 /* Outbound ranges, one memory and one IO,
304 * later cannot be changed
305 */
306 ranges = <02000000 0 80000000 0000000d 80000000 0 80000000
307 01000000 0 00000000 0000000c 08000000 0 00010000>;
308
309 /* Inbound 2GB range starting at 0 */
310 dma-ranges = <42000000 0 0 0 0 0 80000000>;
311
312 /* This drives busses 0 to 0x3f */
313 bus-range = <0 3f>;
314
315 /* All PCI interrupts are routed to ext IRQ 2 -> UIC1-0 */
316 interrupt-map-mask = <0000 0 0 0>;
317 interrupt-map = < 0000 0 0 0 &UIC1 0 8 >;
318 };
319
320 PCIE0: pciex@d00000000 {
321 device_type = "pci";
322 #interrupt-cells = <1>;
323 #size-cells = <2>;
324 #address-cells = <3>;
325 compatible = "ibm,plb-pciex-460ex", "ibm,plb-pciex";
326 primary;
327 port = <0>; /* port number */
328 reg = <d 00000000 20000000 /* Config space access */
329 c 08010000 00001000>; /* Registers */
330 dcr-reg = <100 020>;
331 sdr-base = <300>;
332
333 /* Outbound ranges, one memory and one IO,
334 * later cannot be changed
335 */
336 ranges = <02000000 0 80000000 0000000e 00000000 0 80000000
337 01000000 0 00000000 0000000f 80000000 0 00010000>;
338
339 /* Inbound 2GB range starting at 0 */
340 dma-ranges = <42000000 0 0 0 0 0 80000000>;
341
342 /* This drives busses 40 to 0x7f */
343 bus-range = <40 7f>;
344
345 /* Legacy interrupts (note the weird polarity, the bridge seems
346 * to invert PCIe legacy interrupts).
347 * We are de-swizzling here because the numbers are actually for
348 * port of the root complex virtual P2P bridge. But I want
349 * to avoid putting a node for it in the tree, so the numbers
350 * below are basically de-swizzled numbers.
351 * The real slot is on idsel 0, so the swizzling is 1:1
352 */
353 interrupt-map-mask = <0000 0 0 7>;
354 interrupt-map = <
355 0000 0 0 1 &UIC3 c 4 /* swizzled int A */
356 0000 0 0 2 &UIC3 d 4 /* swizzled int B */
357 0000 0 0 3 &UIC3 e 4 /* swizzled int C */
358 0000 0 0 4 &UIC3 f 4 /* swizzled int D */>;
359 };
360
361 PCIE1: pciex@d20000000 {
362 device_type = "pci";
363 #interrupt-cells = <1>;
364 #size-cells = <2>;
365 #address-cells = <3>;
366 compatible = "ibm,plb-pciex-460ex", "ibm,plb-pciex";
367 primary;
368 port = <1>; /* port number */
369 reg = <d 20000000 20000000 /* Config space access */
370 c 08011000 00001000>; /* Registers */
371 dcr-reg = <120 020>;
372 sdr-base = <340>;
373
374 /* Outbound ranges, one memory and one IO,
375 * later cannot be changed
376 */
377 ranges = <02000000 0 80000000 0000000e 80000000 0 80000000
378 01000000 0 00000000 0000000f 80010000 0 00010000>;
379
380 /* Inbound 2GB range starting at 0 */
381 dma-ranges = <42000000 0 0 0 0 0 80000000>;
382
383 /* This drives busses 80 to 0xbf */
384 bus-range = <80 bf>;
385
386 /* Legacy interrupts (note the weird polarity, the bridge seems
387 * to invert PCIe legacy interrupts).
388 * We are de-swizzling here because the numbers are actually for
389 * port of the root complex virtual P2P bridge. But I want
390 * to avoid putting a node for it in the tree, so the numbers
391 * below are basically de-swizzled numbers.
392 * The real slot is on idsel 0, so the swizzling is 1:1
393 */
394 interrupt-map-mask = <0000 0 0 7>;
395 interrupt-map = <
396 0000 0 0 1 &UIC3 10 4 /* swizzled int A */
397 0000 0 0 2 &UIC3 11 4 /* swizzled int B */
398 0000 0 0 3 &UIC3 12 4 /* swizzled int C */
399 0000 0 0 4 &UIC3 13 4 /* swizzled int D */>;
400 };
401 };
402};
diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
index 30737eafe68..c6ca6319e4f 100644
--- a/arch/powerpc/boot/dts/cm5200.dts
+++ b/arch/powerpc/boot/dts/cm5200.dts
@@ -212,13 +212,30 @@
212 ethernet@3000 { 212 ethernet@3000 {
213 device_type = "network"; 213 device_type = "network";
214 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 214 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
215 reg = <3000 800>; 215 reg = <3000 400>;
216 local-mac-address = [ 00 00 00 00 00 00 ]; 216 local-mac-address = [ 00 00 00 00 00 00 ];
217 interrupts = <2 5 0>; 217 interrupts = <2 5 0>;
218 interrupt-parent = <&mpc5200_pic>; 218 interrupt-parent = <&mpc5200_pic>;
219 phy-handle = <&phy0>;
220 };
221
222 mdio@3000 {
223 #address-cells = <1>;
224 #size-cells = <0>;
225 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
226 reg = <3000 400>; // fec range, since we need to setup fec interrupts
227 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
228 interrupt-parent = <&mpc5200_pic>;
229
230 phy0: ethernet-phy@0 {
231 device_type = "ethernet-phy";
232 reg = <0>;
233 };
219 }; 234 };
220 235
221 i2c@3d40 { 236 i2c@3d40 {
237 #address-cells = <1>;
238 #size-cells = <0>;
222 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 239 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
223 reg = <3d40 40>; 240 reg = <3d40 40>;
224 interrupts = <2 10 0>; 241 interrupts = <2 10 0>;
@@ -231,4 +248,22 @@
231 reg = <8000 4000>; 248 reg = <8000 4000>;
232 }; 249 };
233 }; 250 };
251
252 lpb {
253 model = "fsl,lpb";
254 compatible = "fsl,lpb";
255 #address-cells = <2>;
256 #size-cells = <1>;
257 ranges = <0 0 fc000000 2000000>;
258
259 // 16-bit flash device at LocalPlus Bus CS0
260 flash@0,0 {
261 compatible = "cfi-flash";
262 reg = <0 0 2000000>;
263 bank-width = <2>;
264 device-width = <2>;
265 #size-cells = <1>;
266 #address-cells = <1>;
267 };
268 };
234}; 269};
diff --git a/arch/powerpc/boot/dts/ebony.dts b/arch/powerpc/boot/dts/ebony.dts
index 0b000cb7ed8..5079dc890e0 100644
--- a/arch/powerpc/boot/dts/ebony.dts
+++ b/arch/powerpc/boot/dts/ebony.dts
@@ -241,7 +241,6 @@
241 }; 241 };
242 242
243 EMAC0: ethernet@40000800 { 243 EMAC0: ethernet@40000800 {
244 linux,network-index = <0>;
245 device_type = "network"; 244 device_type = "network";
246 compatible = "ibm,emac-440gp", "ibm,emac"; 245 compatible = "ibm,emac-440gp", "ibm,emac";
247 interrupt-parent = <&UIC1>; 246 interrupt-parent = <&UIC1>;
@@ -261,7 +260,6 @@
261 zmii-channel = <0>; 260 zmii-channel = <0>;
262 }; 261 };
263 EMAC1: ethernet@40000900 { 262 EMAC1: ethernet@40000900 {
264 linux,network-index = <1>;
265 device_type = "network"; 263 device_type = "network";
266 compatible = "ibm,emac-440gp", "ibm,emac"; 264 compatible = "ibm,emac-440gp", "ibm,emac";
267 interrupt-parent = <&UIC1>; 265 interrupt-parent = <&UIC1>;
diff --git a/arch/powerpc/boot/dts/glacier.dts b/arch/powerpc/boot/dts/glacier.dts
new file mode 100644
index 00000000000..958a5ca53d3
--- /dev/null
+++ b/arch/powerpc/boot/dts/glacier.dts
@@ -0,0 +1,467 @@
1/*
2 * Device Tree Source for AMCC Glacier (460GT)
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without
8 * any warranty of any kind, whether express or implied.
9 */
10
11/ {
12 #address-cells = <2>;
13 #size-cells = <1>;
14 model = "amcc,glacier";
15 compatible = "amcc,glacier", "amcc,canyonlands";
16 dcr-parent = <&/cpus/cpu@0>;
17
18 aliases {
19 ethernet0 = &EMAC0;
20 ethernet1 = &EMAC1;
21 ethernet2 = &EMAC2;
22 ethernet3 = &EMAC3;
23 serial0 = &UART0;
24 serial1 = &UART1;
25 };
26
27 cpus {
28 #address-cells = <1>;
29 #size-cells = <0>;
30
31 cpu@0 {
32 device_type = "cpu";
33 model = "PowerPC,460GT";
34 reg = <0>;
35 clock-frequency = <0>; /* Filled in by U-Boot */
36 timebase-frequency = <0>; /* Filled in by U-Boot */
37 i-cache-line-size = <20>;
38 d-cache-line-size = <20>;
39 i-cache-size = <8000>;
40 d-cache-size = <8000>;
41 dcr-controller;
42 dcr-access-method = "native";
43 };
44 };
45
46 memory {
47 device_type = "memory";
48 reg = <0 0 0>; /* Filled in by U-Boot */
49 };
50
51 UIC0: interrupt-controller0 {
52 compatible = "ibm,uic-460gt","ibm,uic";
53 interrupt-controller;
54 cell-index = <0>;
55 dcr-reg = <0c0 009>;
56 #address-cells = <0>;
57 #size-cells = <0>;
58 #interrupt-cells = <2>;
59 };
60
61 UIC1: interrupt-controller1 {
62 compatible = "ibm,uic-460gt","ibm,uic";
63 interrupt-controller;
64 cell-index = <1>;
65 dcr-reg = <0d0 009>;
66 #address-cells = <0>;
67 #size-cells = <0>;
68 #interrupt-cells = <2>;
69 interrupts = <1e 4 1f 4>; /* cascade */
70 interrupt-parent = <&UIC0>;
71 };
72
73 UIC2: interrupt-controller2 {
74 compatible = "ibm,uic-460gt","ibm,uic";
75 interrupt-controller;
76 cell-index = <2>;
77 dcr-reg = <0e0 009>;
78 #address-cells = <0>;
79 #size-cells = <0>;
80 #interrupt-cells = <2>;
81 interrupts = <a 4 b 4>; /* cascade */
82 interrupt-parent = <&UIC0>;
83 };
84
85 UIC3: interrupt-controller3 {
86 compatible = "ibm,uic-460gt","ibm,uic";
87 interrupt-controller;
88 cell-index = <3>;
89 dcr-reg = <0f0 009>;
90 #address-cells = <0>;
91 #size-cells = <0>;
92 #interrupt-cells = <2>;
93 interrupts = <10 4 11 4>; /* cascade */
94 interrupt-parent = <&UIC0>;
95 };
96
97 SDR0: sdr {
98 compatible = "ibm,sdr-460gt";
99 dcr-reg = <00e 002>;
100 };
101
102 CPR0: cpr {
103 compatible = "ibm,cpr-460gt";
104 dcr-reg = <00c 002>;
105 };
106
107 plb {
108 compatible = "ibm,plb-460gt", "ibm,plb4";
109 #address-cells = <2>;
110 #size-cells = <1>;
111 ranges;
112 clock-frequency = <0>; /* Filled in by U-Boot */
113
114 SDRAM0: sdram {
115 compatible = "ibm,sdram-460gt", "ibm,sdram-405gp";
116 dcr-reg = <010 2>;
117 };
118
119 MAL0: mcmal {
120 compatible = "ibm,mcmal-460gt", "ibm,mcmal2";
121 dcr-reg = <180 62>;
122 num-tx-chans = <4>;
123 num-rx-chans = <20>;
124 #address-cells = <0>;
125 #size-cells = <0>;
126 interrupt-parent = <&UIC2>;
127 interrupts = < /*TXEOB*/ 6 4
128 /*RXEOB*/ 7 4
129 /*SERR*/ 3 4
130 /*TXDE*/ 4 4
131 /*RXDE*/ 5 4>;
132 desc-base-addr-high = <8>;
133 };
134
135 POB0: opb {
136 compatible = "ibm,opb-460gt", "ibm,opb";
137 #address-cells = <1>;
138 #size-cells = <1>;
139 ranges = <b0000000 4 b0000000 50000000>;
140 clock-frequency = <0>; /* Filled in by U-Boot */
141
142 EBC0: ebc {
143 compatible = "ibm,ebc-460gt", "ibm,ebc";
144 dcr-reg = <012 2>;
145 #address-cells = <2>;
146 #size-cells = <1>;
147 clock-frequency = <0>; /* Filled in by U-Boot */
148 interrupts = <6 4>;
149 interrupt-parent = <&UIC1>;
150 };
151
152 UART0: serial@ef600300 {
153 device_type = "serial";
154 compatible = "ns16550";
155 reg = <ef600300 8>;
156 virtual-reg = <ef600300>;
157 clock-frequency = <0>; /* Filled in by U-Boot */
158 current-speed = <0>; /* Filled in by U-Boot */
159 interrupt-parent = <&UIC1>;
160 interrupts = <1 4>;
161 };
162
163 UART1: serial@ef600400 {
164 device_type = "serial";
165 compatible = "ns16550";
166 reg = <ef600400 8>;
167 virtual-reg = <ef600400>;
168 clock-frequency = <0>; /* Filled in by U-Boot */
169 current-speed = <0>; /* Filled in by U-Boot */
170 interrupt-parent = <&UIC0>;
171 interrupts = <1 4>;
172 };
173
174 UART2: serial@ef600500 {
175 device_type = "serial";
176 compatible = "ns16550";
177 reg = <ef600500 8>;
178 virtual-reg = <ef600500>;
179 clock-frequency = <0>; /* Filled in by U-Boot */
180 current-speed = <0>; /* Filled in by U-Boot */
181 interrupt-parent = <&UIC1>;
182 interrupts = <1d 4>;
183 };
184
185 UART3: serial@ef600600 {
186 device_type = "serial";
187 compatible = "ns16550";
188 reg = <ef600600 8>;
189 virtual-reg = <ef600600>;
190 clock-frequency = <0>; /* Filled in by U-Boot */
191 current-speed = <0>; /* Filled in by U-Boot */
192 interrupt-parent = <&UIC1>;
193 interrupts = <1e 4>;
194 };
195
196 IIC0: i2c@ef600700 {
197 compatible = "ibm,iic-460gt", "ibm,iic";
198 reg = <ef600700 14>;
199 interrupt-parent = <&UIC0>;
200 interrupts = <2 4>;
201 };
202
203 IIC1: i2c@ef600800 {
204 compatible = "ibm,iic-460gt", "ibm,iic";
205 reg = <ef600800 14>;
206 interrupt-parent = <&UIC0>;
207 interrupts = <3 4>;
208 };
209
210 ZMII0: emac-zmii@ef600d00 {
211 compatible = "ibm,zmii-460gt", "ibm,zmii";
212 reg = <ef600d00 c>;
213 };
214
215 RGMII0: emac-rgmii@ef601500 {
216 compatible = "ibm,rgmii-460gt", "ibm,rgmii";
217 reg = <ef601500 8>;
218 has-mdio;
219 };
220
221 RGMII1: emac-rgmii@ef601600 {
222 compatible = "ibm,rgmii-460gt", "ibm,rgmii";
223 reg = <ef601600 8>;
224 has-mdio;
225 };
226
227 TAH0: emac-tah@ef601350 {
228 compatible = "ibm,tah-460gt", "ibm,tah";
229 reg = <ef601350 30>;
230 };
231
232 TAH1: emac-tah@ef601450 {
233 compatible = "ibm,tah-460gt", "ibm,tah";
234 reg = <ef601450 30>;
235 };
236
237 EMAC0: ethernet@ef600e00 {
238 device_type = "network";
239 compatible = "ibm,emac-460gt", "ibm,emac4";
240 interrupt-parent = <&EMAC0>;
241 interrupts = <0 1>;
242 #interrupt-cells = <1>;
243 #address-cells = <0>;
244 #size-cells = <0>;
245 interrupt-map = </*Status*/ 0 &UIC2 10 4
246 /*Wake*/ 1 &UIC2 14 4>;
247 reg = <ef600e00 70>;
248 local-mac-address = [000000000000]; /* Filled in by U-Boot */
249 mal-device = <&MAL0>;
250 mal-tx-channel = <0>;
251 mal-rx-channel = <0>;
252 cell-index = <0>;
253 max-frame-size = <2328>;
254 rx-fifo-size = <1000>;
255 tx-fifo-size = <800>;
256 phy-mode = "rgmii";
257 phy-map = <00000000>;
258 rgmii-device = <&RGMII0>;
259 rgmii-channel = <0>;
260 tah-device = <&TAH0>;
261 tah-channel = <0>;
262 has-inverted-stacr-oc;
263 has-new-stacr-staopc;
264 };
265
266 EMAC1: ethernet@ef600f00 {
267 device_type = "network";
268 compatible = "ibm,emac-460gt", "ibm,emac4";
269 interrupt-parent = <&EMAC1>;
270 interrupts = <0 1>;
271 #interrupt-cells = <1>;
272 #address-cells = <0>;
273 #size-cells = <0>;
274 interrupt-map = </*Status*/ 0 &UIC2 11 4
275 /*Wake*/ 1 &UIC2 15 4>;
276 reg = <ef600f00 70>;
277 local-mac-address = [000000000000]; /* Filled in by U-Boot */
278 mal-device = <&MAL0>;
279 mal-tx-channel = <1>;
280 mal-rx-channel = <8>;
281 cell-index = <1>;
282 max-frame-size = <2328>;
283 rx-fifo-size = <1000>;
284 tx-fifo-size = <800>;
285 phy-mode = "rgmii";
286 phy-map = <00000000>;
287 rgmii-device = <&RGMII0>;
288 rgmii-channel = <1>;
289 tah-device = <&TAH1>;
290 tah-channel = <1>;
291 has-inverted-stacr-oc;
292 has-new-stacr-staopc;
293 mdio-device = <&EMAC0>;
294 };
295
296 EMAC2: ethernet@ef601100 {
297 device_type = "network";
298 compatible = "ibm,emac-460gt", "ibm,emac4";
299 interrupt-parent = <&EMAC2>;
300 interrupts = <0 1>;
301 #interrupt-cells = <1>;
302 #address-cells = <0>;
303 #size-cells = <0>;
304 interrupt-map = </*Status*/ 0 &UIC2 12 4
305 /*Wake*/ 1 &UIC2 16 4>;
306 reg = <ef601100 70>;
307 local-mac-address = [000000000000]; /* Filled in by U-Boot */
308 mal-device = <&MAL0>;
309 mal-tx-channel = <2>;
310 mal-rx-channel = <10>;
311 cell-index = <2>;
312 max-frame-size = <2328>;
313 rx-fifo-size = <1000>;
314 tx-fifo-size = <800>;
315 phy-mode = "rgmii";
316 phy-map = <00000000>;
317 rgmii-device = <&RGMII1>;
318 rgmii-channel = <0>;
319 has-inverted-stacr-oc;
320 has-new-stacr-staopc;
321 mdio-device = <&EMAC0>;
322 };
323
324 EMAC3: ethernet@ef601200 {
325 device_type = "network";
326 compatible = "ibm,emac-460gt", "ibm,emac4";
327 interrupt-parent = <&EMAC3>;
328 interrupts = <0 1>;
329 #interrupt-cells = <1>;
330 #address-cells = <0>;
331 #size-cells = <0>;
332 interrupt-map = </*Status*/ 0 &UIC2 13 4
333 /*Wake*/ 1 &UIC2 17 4>;
334 reg = <ef601200 70>;
335 local-mac-address = [000000000000]; /* Filled in by U-Boot */
336 mal-device = <&MAL0>;
337 mal-tx-channel = <3>;
338 mal-rx-channel = <18>;
339 cell-index = <3>;
340 max-frame-size = <2328>;
341 rx-fifo-size = <1000>;
342 tx-fifo-size = <800>;
343 phy-mode = "rgmii";
344 phy-map = <00000000>;
345 rgmii-device = <&RGMII1>;
346 rgmii-channel = <1>;
347 has-inverted-stacr-oc;
348 has-new-stacr-staopc;
349 mdio-device = <&EMAC0>;
350 };
351 };
352
353 PCIX0: pci@c0ec00000 {
354 device_type = "pci";
355 #interrupt-cells = <1>;
356 #size-cells = <2>;
357 #address-cells = <3>;
358 compatible = "ibm,plb-pcix-460gt", "ibm,plb-pcix";
359 primary;
360 large-inbound-windows;
361 enable-msi-hole;
362 reg = <c 0ec00000 8 /* Config space access */
363 0 0 0 /* no IACK cycles */
364 c 0ed00000 4 /* Special cycles */
365 c 0ec80000 100 /* Internal registers */
366 c 0ec80100 fc>; /* Internal messaging registers */
367
368 /* Outbound ranges, one memory and one IO,
369 * later cannot be changed
370 */
371 ranges = <02000000 0 80000000 0000000d 80000000 0 80000000
372 01000000 0 00000000 0000000c 08000000 0 00010000>;
373
374 /* Inbound 2GB range starting at 0 */
375 dma-ranges = <42000000 0 0 0 0 0 80000000>;
376
377 /* This drives busses 0 to 0x3f */
378 bus-range = <0 3f>;
379
380 /* All PCI interrupts are routed to ext IRQ 2 -> UIC1-0 */
381 interrupt-map-mask = <0000 0 0 0>;
382 interrupt-map = < 0000 0 0 0 &UIC1 0 8 >;
383 };
384
385 PCIE0: pciex@d00000000 {
386 device_type = "pci";
387 #interrupt-cells = <1>;
388 #size-cells = <2>;
389 #address-cells = <3>;
390 compatible = "ibm,plb-pciex-460ex", "ibm,plb-pciex";
391 primary;
392 port = <0>; /* port number */
393 reg = <d 00000000 20000000 /* Config space access */
394 c 08010000 00001000>; /* Registers */
395 dcr-reg = <100 020>;
396 sdr-base = <300>;
397
398 /* Outbound ranges, one memory and one IO,
399 * later cannot be changed
400 */
401 ranges = <02000000 0 80000000 0000000e 00000000 0 80000000
402 01000000 0 00000000 0000000f 80000000 0 00010000>;
403
404 /* Inbound 2GB range starting at 0 */
405 dma-ranges = <42000000 0 0 0 0 0 80000000>;
406
407 /* This drives busses 40 to 0x7f */
408 bus-range = <40 7f>;
409
410 /* Legacy interrupts (note the weird polarity, the bridge seems
411 * to invert PCIe legacy interrupts).
412 * We are de-swizzling here because the numbers are actually for
413 * port of the root complex virtual P2P bridge. But I want
414 * to avoid putting a node for it in the tree, so the numbers
415 * below are basically de-swizzled numbers.
416 * The real slot is on idsel 0, so the swizzling is 1:1
417 */
418 interrupt-map-mask = <0000 0 0 7>;
419 interrupt-map = <
420 0000 0 0 1 &UIC3 c 4 /* swizzled int A */
421 0000 0 0 2 &UIC3 d 4 /* swizzled int B */
422 0000 0 0 3 &UIC3 e 4 /* swizzled int C */
423 0000 0 0 4 &UIC3 f 4 /* swizzled int D */>;
424 };
425
426 PCIE1: pciex@d20000000 {
427 device_type = "pci";
428 #interrupt-cells = <1>;
429 #size-cells = <2>;
430 #address-cells = <3>;
431 compatible = "ibm,plb-pciex-460ex", "ibm,plb-pciex";
432 primary;
433 port = <1>; /* port number */
434 reg = <d 20000000 20000000 /* Config space access */
435 c 08011000 00001000>; /* Registers */
436 dcr-reg = <120 020>;
437 sdr-base = <340>;
438
439 /* Outbound ranges, one memory and one IO,
440 * later cannot be changed
441 */
442 ranges = <02000000 0 80000000 0000000e 80000000 0 80000000
443 01000000 0 00000000 0000000f 80010000 0 00010000>;
444
445 /* Inbound 2GB range starting at 0 */
446 dma-ranges = <42000000 0 0 0 0 0 80000000>;
447
448 /* This drives busses 80 to 0xbf */
449 bus-range = <80 bf>;
450
451 /* Legacy interrupts (note the weird polarity, the bridge seems
452 * to invert PCIe legacy interrupts).
453 * We are de-swizzling here because the numbers are actually for
454 * port of the root complex virtual P2P bridge. But I want
455 * to avoid putting a node for it in the tree, so the numbers
456 * below are basically de-swizzled numbers.
457 * The real slot is on idsel 0, so the swizzling is 1:1
458 */
459 interrupt-map-mask = <0000 0 0 7>;
460 interrupt-map = <
461 0000 0 0 1 &UIC3 10 4 /* swizzled int A */
462 0000 0 0 2 &UIC3 11 4 /* swizzled int B */
463 0000 0 0 3 &UIC3 12 4 /* swizzled int C */
464 0000 0 0 4 &UIC3 13 4 /* swizzled int D */>;
465 };
466 };
467};
diff --git a/arch/powerpc/boot/dts/haleakala.dts b/arch/powerpc/boot/dts/haleakala.dts
index ae68fefc01b..b5d95ac24db 100644
--- a/arch/powerpc/boot/dts/haleakala.dts
+++ b/arch/powerpc/boot/dts/haleakala.dts
@@ -12,7 +12,7 @@
12 #address-cells = <1>; 12 #address-cells = <1>;
13 #size-cells = <1>; 13 #size-cells = <1>;
14 model = "amcc,haleakala"; 14 model = "amcc,haleakala";
15 compatible = "amcc,kilauea"; 15 compatible = "amcc,haleakala", "amcc,kilauea";
16 dcr-parent = <&/cpus/cpu@0>; 16 dcr-parent = <&/cpus/cpu@0>;
17 17
18 aliases { 18 aliases {
@@ -218,7 +218,7 @@
218 mal-tx-channel = <0>; 218 mal-tx-channel = <0>;
219 mal-rx-channel = <0>; 219 mal-rx-channel = <0>;
220 cell-index = <0>; 220 cell-index = <0>;
221 max-frame-size = <5dc>; 221 max-frame-size = <2328>;
222 rx-fifo-size = <1000>; 222 rx-fifo-size = <1000>;
223 tx-fifo-size = <800>; 223 tx-fifo-size = <800>;
224 phy-mode = "rgmii"; 224 phy-mode = "rgmii";
diff --git a/arch/powerpc/boot/dts/katmai.dts b/arch/powerpc/boot/dts/katmai.dts
index fc86e5a3afc..cc2873a531d 100644
--- a/arch/powerpc/boot/dts/katmai.dts
+++ b/arch/powerpc/boot/dts/katmai.dts
@@ -212,7 +212,7 @@
212 mal-tx-channel = <0>; 212 mal-tx-channel = <0>;
213 mal-rx-channel = <0>; 213 mal-rx-channel = <0>;
214 cell-index = <0>; 214 cell-index = <0>;
215 max-frame-size = <5dc>; 215 max-frame-size = <2328>;
216 rx-fifo-size = <1000>; 216 rx-fifo-size = <1000>;
217 tx-fifo-size = <800>; 217 tx-fifo-size = <800>;
218 phy-mode = "gmii"; 218 phy-mode = "gmii";
diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
index 8baef61f31c..48c9a6e71f1 100644
--- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/arch/powerpc/boot/dts/kilauea.dts
@@ -219,7 +219,7 @@
219 mal-tx-channel = <0>; 219 mal-tx-channel = <0>;
220 mal-rx-channel = <0>; 220 mal-rx-channel = <0>;
221 cell-index = <0>; 221 cell-index = <0>;
222 max-frame-size = <5dc>; 222 max-frame-size = <2328>;
223 rx-fifo-size = <1000>; 223 rx-fifo-size = <1000>;
224 tx-fifo-size = <800>; 224 tx-fifo-size = <800>;
225 phy-mode = "rgmii"; 225 phy-mode = "rgmii";
@@ -247,7 +247,7 @@
247 mal-tx-channel = <1>; 247 mal-tx-channel = <1>;
248 mal-rx-channel = <1>; 248 mal-rx-channel = <1>;
249 cell-index = <1>; 249 cell-index = <1>;
250 max-frame-size = <5dc>; 250 max-frame-size = <2328>;
251 rx-fifo-size = <1000>; 251 rx-fifo-size = <1000>;
252 tx-fifo-size = <800>; 252 tx-fifo-size = <800>;
253 phy-mode = "rgmii"; 253 phy-mode = "rgmii";
diff --git a/arch/powerpc/boot/dts/ksi8560.dts b/arch/powerpc/boot/dts/ksi8560.dts
new file mode 100644
index 00000000000..f869ce3ca0b
--- /dev/null
+++ b/arch/powerpc/boot/dts/ksi8560.dts
@@ -0,0 +1,267 @@
1/*
2 * Device Tree Source for Emerson KSI8560
3 *
4 * Author: Alexandr Smirnov <asmirnov@ru.mvista.com>
5 *
6 * Based on mpc8560ads.dts
7 *
8 * 2008 (c) MontaVista, Software, Inc. This file is licensed under
9 * the terms of the GNU General Public License version 2. This program
10 * is licensed "as is" without any warranty of any kind, whether express
11 * or implied.
12 *
13 */
14
15/dts-v1/;
16
17/ {
18 model = "KSI8560";
19 compatible = "emerson,KSI8560";
20 #address-cells = <1>;
21 #size-cells = <1>;
22
23 aliases {
24 ethernet0 = &enet0;
25 ethernet1 = &enet1;
26 ethernet2 = &enet2;
27 };
28
29 cpus {
30 #address-cells = <1>;
31 #size-cells = <0>;
32
33 PowerPC,8560@0 {
34 device_type = "cpu";
35 reg = <0>;
36 d-cache-line-size = <32>;
37 i-cache-line-size = <32>;
38 d-cache-size = <0x8000>; /* L1, 32K */
39 i-cache-size = <0x8000>; /* L1, 32K */
40 timebase-frequency = <0>; /* From U-boot */
41 bus-frequency = <0>; /* From U-boot */
42 clock-frequency = <0>; /* From U-boot */
43 };
44 };
45
46 memory {
47 device_type = "memory";
48 reg = <0x00000000 0x10000000>; /* Fixed by bootwrapper */
49 };
50
51 soc@fdf00000 {
52 #address-cells = <1>;
53 #size-cells = <1>;
54 device_type = "soc";
55 ranges = <0x00000000 0xfdf00000 0x00100000>;
56 bus-frequency = <0>; /* Fixed by bootwrapper */
57
58 memory-controller@2000 {
59 compatible = "fsl,8540-memory-controller";
60 reg = <0x2000 0x1000>;
61 interrupt-parent = <&MPIC>;
62 interrupts = <0x12 0x2>;
63 };
64
65 l2-cache-controller@20000 {
66 compatible = "fsl,8540-l2-cache-controller";
67 reg = <0x20000 0x1000>;
68 cache-line-size = <0x20>; /* 32 bytes */
69 cache-size = <0x40000>; /* L2, 256K */
70 interrupt-parent = <&MPIC>;
71 interrupts = <0x10 0x2>;
72 };
73
74 i2c@3000 {
75 #address-cells = <1>;
76 #size-cells = <0>;
77 cell-index = <0>;
78 compatible = "fsl-i2c";
79 reg = <0x3000 0x100>;
80 interrupts = <0x2b 0x2>;
81 interrupt-parent = <&MPIC>;
82 dfsrr;
83 };
84
85 mdio@24520 { /* For TSECs */
86 #address-cells = <1>;
87 #size-cells = <0>;
88 compatible = "fsl,gianfar-mdio";
89 reg = <0x24520 0x20>;
90
91 PHY1: ethernet-phy@1 {
92 interrupt-parent = <&MPIC>;
93 reg = <0x1>;
94 device_type = "ethernet-phy";
95 };
96
97 PHY2: ethernet-phy@2 {
98 interrupt-parent = <&MPIC>;
99 reg = <0x2>;
100 device_type = "ethernet-phy";
101 };
102 };
103
104 enet0: ethernet@24000 {
105 device_type = "network";
106 model = "TSEC";
107 compatible = "gianfar";
108 reg = <0x24000 0x1000>;
109 /* Mac address filled in by bootwrapper */
110 local-mac-address = [ 00 00 00 00 00 00 ];
111 interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
112 interrupt-parent = <&MPIC>;
113 phy-handle = <&PHY1>;
114 };
115
116 enet1: ethernet@25000 {
117 device_type = "network";
118 model = "TSEC";
119 compatible = "gianfar";
120 reg = <0x25000 0x1000>;
121 /* Mac address filled in by bootwrapper */
122 local-mac-address = [ 00 00 00 00 00 00 ];
123 interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
124 interrupt-parent = <&MPIC>;
125 phy-handle = <&PHY2>;
126 };
127
128 MPIC: pic@40000 {
129 #address-cells = <0>;
130 #interrupt-cells = <2>;
131 interrupt-controller;
132 reg = <0x40000 0x40000>;
133 device_type = "open-pic";
134 };
135
136 cpm@919c0 {
137 #address-cells = <1>;
138 #size-cells = <1>;
139 compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
140 reg = <0x919c0 0x30>;
141 ranges;
142
143 muram@80000 {
144 #address-cells = <1>;
145 #size-cells = <1>;
146 ranges = <0x0 0x80000 0x10000>;
147
148 data@0 {
149 compatible = "fsl,cpm-muram-data";
150 reg = <0x0 0x4000 0x9000 0x2000>;
151 };
152 };
153
154 brg@919f0 {
155 compatible = "fsl,mpc8560-brg",
156 "fsl,cpm2-brg",
157 "fsl,cpm-brg";
158 reg = <0x919f0 0x10 0x915f0 0x10>;
159 clock-frequency = <165000000>; /* 166MHz */
160 };
161
162 CPMPIC: pic@90c00 {
163 #address-cells = <0>;
164 #interrupt-cells = <2>;
165 interrupt-controller;
166 interrupts = <0x2e 0x2>;
167 interrupt-parent = <&MPIC>;
168 reg = <0x90c00 0x80>;
169 compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
170 };
171
172 serial@91a00 {
173 device_type = "serial";
174 compatible = "fsl,mpc8560-scc-uart",
175 "fsl,cpm2-scc-uart";
176 reg = <0x91a00 0x20 0x88000 0x100>;
177 fsl,cpm-brg = <1>;
178 fsl,cpm-command = <0x800000>;
179 current-speed = <0x1c200>;
180 interrupts = <0x28 0x8>;
181 interrupt-parent = <&CPMPIC>;
182 };
183
184 serial@91a20 {
185 device_type = "serial";
186 compatible = "fsl,mpc8560-scc-uart",
187 "fsl,cpm2-scc-uart";
188 reg = <0x91a20 0x20 0x88100 0x100>;
189 fsl,cpm-brg = <2>;
190 fsl,cpm-command = <0x4a00000>;
191 current-speed = <0x1c200>;
192 interrupts = <0x29 0x8>;
193 interrupt-parent = <&CPMPIC>;
194 };
195
196 mdio@90d00 { /* For FCCs */
197 #address-cells = <1>;
198 #size-cells = <0>;
199 compatible = "fsl,cpm2-mdio-bitbang";
200 reg = <0x90d00 0x14>;
201 fsl,mdio-pin = <24>;
202 fsl,mdc-pin = <25>;
203
204 PHY0: ethernet-phy@0 {
205 interrupt-parent = <&MPIC>;
206 reg = <0x0>;
207 device_type = "ethernet-phy";
208 };
209 };
210
211 enet2: ethernet@91300 {
212 device_type = "network";
213 compatible = "fsl,mpc8560-fcc-enet",
214 "fsl,cpm2-fcc-enet";
215 reg = <0x91300 0x20 0x88400 0x100 0x91390 0x1>;
216 /* Mac address filled in by bootwrapper */
217 local-mac-address = [ 00 00 00 00 00 00 ];
218 fsl,cpm-command = <0x12000300>;
219 interrupts = <0x20 0x8>;
220 interrupt-parent = <&CPMPIC>;
221 phy-handle = <&PHY0>;
222 };
223 };
224 };
225
226 localbus@fdf05000 {
227 #address-cells = <2>;
228 #size-cells = <1>;
229 compatible = "fsl,mpc8560-localbus";
230 reg = <0xfdf05000 0x68>;
231
232 ranges = <0x0 0x0 0xe0000000 0x00800000
233 0x4 0x0 0xe8080000 0x00080000>;
234
235 flash@0,0 {
236 #address-cells = <1>;
237 #size-cells = <1>;
238 compatible = "jedec-flash";
239 reg = <0x0 0x0 0x800000>;
240 bank-width = <0x2>;
241
242 partition@0 {
243 label = "Primary Kernel";
244 reg = <0x0 0x180000>;
245 };
246 partition@180000 {
247 label = "Primary Filesystem";
248 reg = <0x180000 0x580000>;
249 };
250 partition@700000 {
251 label = "Monitor";
252 reg = <0x300000 0x100000>;
253 read-only;
254 };
255 };
256
257 cpld@4,0 {
258 compatible = "emerson,KSI8560-cpld";
259 reg = <0x4 0x0 0x80000>;
260 };
261 };
262
263
264 chosen {
265 linux,stdout-path = "/soc/cpm/serial@91a00";
266 };
267};
diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
index 0d701c1bf53..09b4e16154d 100644
--- a/arch/powerpc/boot/dts/lite5200.dts
+++ b/arch/powerpc/boot/dts/lite5200.dts
@@ -258,6 +258,21 @@
258 local-mac-address = [ 00 00 00 00 00 00 ]; 258 local-mac-address = [ 00 00 00 00 00 00 ];
259 interrupts = <2 5 0>; 259 interrupts = <2 5 0>;
260 interrupt-parent = <&mpc5200_pic>; 260 interrupt-parent = <&mpc5200_pic>;
261 phy-handle = <&phy0>;
262 };
263
264 mdio@3000 {
265 #address-cells = <1>;
266 #size-cells = <0>;
267 compatible = "fsl,mpc5200-mdio";
268 reg = <3000 400>; // fec range, since we need to setup fec interrupts
269 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
270 interrupt-parent = <&mpc5200_pic>;
271
272 phy0:ethernet-phy@1 {
273 device_type = "ethernet-phy";
274 reg = <1>;
275 };
261 }; 276 };
262 277
263 ata@3a00 { 278 ata@3a00 {
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/dts/makalu.dts b/arch/powerpc/boot/dts/makalu.dts
index 710c0116817..84cc5e72ddd 100644
--- a/arch/powerpc/boot/dts/makalu.dts
+++ b/arch/powerpc/boot/dts/makalu.dts
@@ -219,7 +219,7 @@
219 mal-tx-channel = <0>; 219 mal-tx-channel = <0>;
220 mal-rx-channel = <0>; 220 mal-rx-channel = <0>;
221 cell-index = <0>; 221 cell-index = <0>;
222 max-frame-size = <5dc>; 222 max-frame-size = <2328>;
223 rx-fifo-size = <1000>; 223 rx-fifo-size = <1000>;
224 tx-fifo-size = <800>; 224 tx-fifo-size = <800>;
225 phy-mode = "rgmii"; 225 phy-mode = "rgmii";
@@ -247,7 +247,7 @@
247 mal-tx-channel = <1>; 247 mal-tx-channel = <1>;
248 mal-rx-channel = <1>; 248 mal-rx-channel = <1>;
249 cell-index = <1>; 249 cell-index = <1>;
250 max-frame-size = <5dc>; 250 max-frame-size = <2328>;
251 rx-fifo-size = <1000>; 251 rx-fifo-size = <1000>;
252 tx-fifo-size = <800>; 252 tx-fifo-size = <800>;
253 phy-mode = "rgmii"; 253 phy-mode = "rgmii";
diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
index 76951ab038e..2b0dde058f8 100644
--- a/arch/powerpc/boot/dts/motionpro.dts
+++ b/arch/powerpc/boot/dts/motionpro.dts
@@ -148,7 +148,6 @@
148 interrupt-parent = <&mpc5200_pic>; 148 interrupt-parent = <&mpc5200_pic>;
149 }; 149 };
150 150
151
152 spi@f00 { 151 spi@f00 {
153 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; 152 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
154 reg = <f00 20>; 153 reg = <f00 20>;
@@ -209,10 +208,25 @@
209 ethernet@3000 { 208 ethernet@3000 {
210 device_type = "network"; 209 device_type = "network";
211 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 210 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
212 reg = <3000 800>; 211 reg = <3000 400>;
213 local-mac-address = [ 00 00 00 00 00 00 ]; 212 local-mac-address = [ 00 00 00 00 00 00 ];
214 interrupts = <2 5 0>; 213 interrupts = <2 5 0>;
215 interrupt-parent = <&mpc5200_pic>; 214 interrupt-parent = <&mpc5200_pic>;
215 phy-handle = <&phy0>;
216 };
217
218 mdio@3000 {
219 #address-cells = <1>;
220 #size-cells = <0>;
221 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
222 reg = <3000 400>; // fec range, since we need to setup fec interrupts
223 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
224 interrupt-parent = <&mpc5200_pic>;
225
226 phy0: ethernet-phy@2 {
227 device_type = "ethernet-phy";
228 reg = <2>;
229 };
216 }; 230 };
217 231
218 ata@3a00 { 232 ata@3a00 {
@@ -223,11 +237,19 @@
223 }; 237 };
224 238
225 i2c@3d40 { 239 i2c@3d40 {
240 #address-cells = <1>;
241 #size-cells = <0>;
226 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 242 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
227 reg = <3d40 40>; 243 reg = <3d40 40>;
228 interrupts = <2 10 0>; 244 interrupts = <2 10 0>;
229 interrupt-parent = <&mpc5200_pic>; 245 interrupt-parent = <&mpc5200_pic>;
230 fsl5200-clocking; 246 fsl5200-clocking;
247
248 rtc@68 {
249 device_type = "rtc";
250 compatible = "dallas,ds1339";
251 reg = <68>;
252 };
231 }; 253 };
232 254
233 sram@8000 { 255 sram@8000 {
@@ -240,7 +262,8 @@
240 compatible = "fsl,lpb"; 262 compatible = "fsl,lpb";
241 #address-cells = <2>; 263 #address-cells = <2>;
242 #size-cells = <1>; 264 #size-cells = <1>;
243 ranges = <1 0 50000000 00010000 265 ranges = <0 0 ff000000 01000000
266 1 0 50000000 00010000
244 2 0 50010000 00010000 267 2 0 50010000 00010000
245 3 0 50020000 00010000>; 268 3 0 50020000 00010000>;
246 269
@@ -271,31 +294,15 @@
271 compatible = "promess,pro_module_dio"; 294 compatible = "promess,pro_module_dio";
272 reg = <3 800 2>; 295 reg = <3 800 2>;
273 }; 296 };
274 };
275 297
276 pci@f0000d00 { 298 // 16-bit flash device at LocalPlus Bus CS0
277 #interrupt-cells = <1>; 299 flash@0,0 {
278 #size-cells = <2>; 300 compatible = "cfi-flash";
279 #address-cells = <3>; 301 reg = <0 0 01000000>;
280 device_type = "pci"; 302 bank-width = <2>;
281 compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; 303 device-width = <2>;
282 reg = <f0000d00 100>; 304 #size-cells = <1>;
283 interrupt-map-mask = <f800 0 0 7>; 305 #address-cells = <1>;
284 interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot 306 };
285 c000 0 0 2 &mpc5200_pic 1 1 3
286 c000 0 0 3 &mpc5200_pic 1 2 3
287 c000 0 0 4 &mpc5200_pic 1 3 3
288
289 c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
290 c800 0 0 2 &mpc5200_pic 1 2 3
291 c800 0 0 3 &mpc5200_pic 1 3 3
292 c800 0 0 4 &mpc5200_pic 0 0 3>;
293 clock-frequency = <0>; // From boot loader
294 interrupts = <2 8 0 2 9 0 2 a 0>;
295 interrupt-parent = <&mpc5200_pic>;
296 bus-range = <0 0>;
297 ranges = <42000000 0 80000000 80000000 0 20000000
298 02000000 0 a0000000 a0000000 0 10000000
299 01000000 0 00000000 b0000000 0 01000000>;
300 }; 307 };
301}; 308};
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts
index 49c05e97386..eac8e1b5949 100644
--- a/arch/powerpc/boot/dts/mpc8377_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
@@ -255,14 +255,14 @@
255 }; 255 };
256 256
257 sata@18000 { 257 sata@18000 {
258 compatible = "fsl,mpc8379-sata"; 258 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
259 reg = <0x18000 0x1000>; 259 reg = <0x18000 0x1000>;
260 interrupts = <44 0x8>; 260 interrupts = <44 0x8>;
261 interrupt-parent = <&ipic>; 261 interrupt-parent = <&ipic>;
262 }; 262 };
263 263
264 sata@19000 { 264 sata@19000 {
265 compatible = "fsl,mpc8379-sata"; 265 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
266 reg = <0x19000 0x1000>; 266 reg = <0x19000 0x1000>;
267 interrupts = <45 0x8>; 267 interrupts = <45 0x8>;
268 interrupt-parent = <&ipic>; 268 interrupt-parent = <&ipic>;
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
index 440aa4dfab0..5bc09ad016f 100644
--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
@@ -143,7 +143,6 @@
143 mode = "cpu"; 143 mode = "cpu";
144 }; 144 };
145 145
146 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
147 usb@23000 { 146 usb@23000 {
148 compatible = "fsl-usb2-dr"; 147 compatible = "fsl-usb2-dr";
149 reg = <0x23000 0x1000>; 148 reg = <0x23000 0x1000>;
@@ -151,7 +150,7 @@
151 #size-cells = <0>; 150 #size-cells = <0>;
152 interrupt-parent = <&ipic>; 151 interrupt-parent = <&ipic>;
153 interrupts = <38 0x8>; 152 interrupts = <38 0x8>;
154 phy_type = "utmi"; 153 phy_type = "ulpi";
155 }; 154 };
156 155
157 mdio@24520 { 156 mdio@24520 {
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
index 92711534b17..711f9a30f9a 100644
--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
@@ -143,7 +143,6 @@
143 mode = "cpu"; 143 mode = "cpu";
144 }; 144 };
145 145
146 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
147 usb@23000 { 146 usb@23000 {
148 compatible = "fsl-usb2-dr"; 147 compatible = "fsl-usb2-dr";
149 reg = <0x23000 0x1000>; 148 reg = <0x23000 0x1000>;
@@ -151,7 +150,7 @@
151 #size-cells = <0>; 150 #size-cells = <0>;
152 interrupt-parent = <&ipic>; 151 interrupt-parent = <&ipic>;
153 interrupts = <38 0x8>; 152 interrupts = <38 0x8>;
154 phy_type = "utmi"; 153 phy_type = "ulpi";
155 }; 154 };
156 155
157 mdio@24520 { 156 mdio@24520 {
diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts
index fdb4a9255b2..6f78a9fd982 100644
--- a/arch/powerpc/boot/dts/mpc8379_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8379_mds.dts
@@ -255,28 +255,28 @@
255 }; 255 };
256 256
257 sata@18000 { 257 sata@18000 {
258 compatible = "fsl,mpc8379-sata"; 258 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
259 reg = <0x18000 0x1000>; 259 reg = <0x18000 0x1000>;
260 interrupts = <44 0x8>; 260 interrupts = <44 0x8>;
261 interrupt-parent = <&ipic>; 261 interrupt-parent = <&ipic>;
262 }; 262 };
263 263
264 sata@19000 { 264 sata@19000 {
265 compatible = "fsl,mpc8379-sata"; 265 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
266 reg = <0x19000 0x1000>; 266 reg = <0x19000 0x1000>;
267 interrupts = <45 0x8>; 267 interrupts = <45 0x8>;
268 interrupt-parent = <&ipic>; 268 interrupt-parent = <&ipic>;
269 }; 269 };
270 270
271 sata@1a000 { 271 sata@1a000 {
272 compatible = "fsl,mpc8379-sata"; 272 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
273 reg = <0x1a000 0x1000>; 273 reg = <0x1a000 0x1000>;
274 interrupts = <46 0x8>; 274 interrupts = <46 0x8>;
275 interrupt-parent = <&ipic>; 275 interrupt-parent = <&ipic>;
276 }; 276 };
277 277
278 sata@1b000 { 278 sata@1b000 {
279 compatible = "fsl,mpc8379-sata"; 279 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
280 reg = <0x1b000 0x1000>; 280 reg = <0x1b000 0x1000>;
281 interrupts = <47 0x8>; 281 interrupts = <47 0x8>;
282 interrupt-parent = <&ipic>; 282 interrupt-parent = <&ipic>;
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
index 0dda2fc558f..c11ceb7d329 100644
--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
@@ -143,7 +143,6 @@
143 mode = "cpu"; 143 mode = "cpu";
144 }; 144 };
145 145
146 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
147 usb@23000 { 146 usb@23000 {
148 compatible = "fsl-usb2-dr"; 147 compatible = "fsl-usb2-dr";
149 reg = <0x23000 0x1000>; 148 reg = <0x23000 0x1000>;
@@ -151,7 +150,7 @@
151 #size-cells = <0>; 150 #size-cells = <0>;
152 interrupt-parent = <&ipic>; 151 interrupt-parent = <&ipic>;
153 interrupts = <38 0x8>; 152 interrupts = <38 0x8>;
154 phy_type = "utmi"; 153 phy_type = "ulpi";
155 }; 154 };
156 155
157 mdio@24520 { 156 mdio@24520 {
diff --git a/arch/powerpc/boot/dts/prpmc2800.dts b/arch/powerpc/boot/dts/prpmc2800.dts
index 297dfa53fe9..1ee6ff43dd5 100644
--- a/arch/powerpc/boot/dts/prpmc2800.dts
+++ b/arch/powerpc/boot/dts/prpmc2800.dts
@@ -11,6 +11,8 @@
11 * if it can determine the exact PrPMC type. 11 * if it can determine the exact PrPMC type.
12 */ 12 */
13 13
14/dts-v1/;
15
14/ { 16/ {
15 #address-cells = <1>; 17 #address-cells = <1>;
16 #size-cells = <1>; 18 #size-cells = <1>;
@@ -25,46 +27,46 @@
25 PowerPC,7447 { 27 PowerPC,7447 {
26 device_type = "cpu"; 28 device_type = "cpu";
27 reg = <0>; 29 reg = <0>;
28 clock-frequency = <2bb0b140>; /* Default (733 MHz) */ 30 clock-frequency = <733333333>; /* Default */
29 bus-frequency = <7f28155>; /* 133.333333 MHz */ 31 bus-frequency = <133333333>;
30 timebase-frequency = <1fca055>; /* 33.333333 MHz */ 32 timebase-frequency = <33333333>;
31 i-cache-line-size = <20>; 33 i-cache-line-size = <32>;
32 d-cache-line-size = <20>; 34 d-cache-line-size = <32>;
33 i-cache-size = <8000>; 35 i-cache-size = <32768>;
34 d-cache-size = <8000>; 36 d-cache-size = <32768>;
35 }; 37 };
36 }; 38 };
37 39
38 memory { 40 memory {
39 device_type = "memory"; 41 device_type = "memory";
40 reg = <00000000 20000000>; /* Default (512MB) */ 42 reg = <0x0 0x20000000>; /* Default (512MB) */
41 }; 43 };
42 44
43 mv64x60@f1000000 { /* Marvell Discovery */ 45 system-controller@f1000000 { /* Marvell Discovery mv64360 */
44 #address-cells = <1>; 46 #address-cells = <1>;
45 #size-cells = <1>; 47 #size-cells = <1>;
46 model = "mv64360"; /* Default */ 48 model = "mv64360"; /* Default */
47 compatible = "marvell,mv64x60"; 49 compatible = "marvell,mv64360";
48 clock-frequency = <7f28155>; /* 133.333333 MHz */ 50 clock-frequency = <133333333>;
49 reg = <f1000000 00010000>; 51 reg = <0xf1000000 0x10000>;
50 virtual-reg = <f1000000>; 52 virtual-reg = <0xf1000000>;
51 ranges = <88000000 88000000 01000000 /* PCI 0 I/O Space */ 53 ranges = <0x88000000 0x88000000 0x1000000 /* PCI 0 I/O Space */
52 80000000 80000000 08000000 /* PCI 0 MEM Space */ 54 0x80000000 0x80000000 0x8000000 /* PCI 0 MEM Space */
53 a0000000 a0000000 04000000 /* User FLASH */ 55 0xa0000000 0xa0000000 0x4000000 /* User FLASH */
54 00000000 f1000000 00010000 /* Bridge's regs */ 56 0x00000000 0xf1000000 0x0010000 /* Bridge's regs */
55 f2000000 f2000000 00040000>; /* Integrated SRAM */ 57 0xf2000000 0xf2000000 0x0040000>;/* Integrated SRAM */
56 58
57 flash@a0000000 { 59 flash@a0000000 {
58 device_type = "rom"; 60 device_type = "rom";
59 compatible = "direct-mapped"; 61 compatible = "direct-mapped";
60 reg = <a0000000 4000000>; /* Default (64MB) */ 62 reg = <0xa0000000 0x4000000>; /* Default (64MB) */
61 probe-type = "CFI"; 63 probe-type = "CFI";
62 bank-width = <4>; 64 bank-width = <4>;
63 partitions = <00000000 00100000 /* RO */ 65 partitions = <0x00000000 0x00100000 /* RO */
64 00100000 00040001 /* RW */ 66 0x00100000 0x00040001 /* RW */
65 00140000 00400000 /* RO */ 67 0x00140000 0x00400000 /* RO */
66 00540000 039c0000 /* RO */ 68 0x00540000 0x039c0000 /* RO */
67 03f00000 00100000>; /* RO */ 69 0x03f00000 0x00100000>; /* RO */
68 partition-names = "FW Image A", "FW Config Data", "Kernel Image", "Filesystem", "FW Image B"; 70 partition-names = "FW Image A", "FW Config Data", "Kernel Image", "Filesystem", "FW Image B";
69 }; 71 };
70 72
@@ -72,171 +74,153 @@
72 #address-cells = <1>; 74 #address-cells = <1>;
73 #size-cells = <0>; 75 #size-cells = <0>;
74 device_type = "mdio"; 76 device_type = "mdio";
75 compatible = "marvell,mv64x60-mdio"; 77 compatible = "marvell,mv64360-mdio";
76 ethernet-phy@1 { 78 PHY0: ethernet-phy@1 {
77 device_type = "ethernet-phy"; 79 device_type = "ethernet-phy";
78 compatible = "broadcom,bcm5421"; 80 compatible = "broadcom,bcm5421";
79 interrupts = <4c>; /* GPP 12 */ 81 interrupts = <76>; /* GPP 12 */
80 interrupt-parent = <&/mv64x60/pic>; 82 interrupt-parent = <&PIC>;
81 reg = <1>; 83 reg = <1>;
82 }; 84 };
83 ethernet-phy@3 { 85 PHY1: ethernet-phy@3 {
84 device_type = "ethernet-phy"; 86 device_type = "ethernet-phy";
85 compatible = "broadcom,bcm5421"; 87 compatible = "broadcom,bcm5421";
86 interrupts = <4c>; /* GPP 12 */ 88 interrupts = <76>; /* GPP 12 */
87 interrupt-parent = <&/mv64x60/pic>; 89 interrupt-parent = <&PIC>;
88 reg = <3>; 90 reg = <3>;
89 }; 91 };
90 }; 92 };
91 93
92 ethernet@2000 { 94 ethernet-group@2000 {
93 reg = <2000 2000>; 95 #address-cells = <1>;
94 eth0 { 96 #size-cells = <0>;
97 compatible = "marvell,mv64360-eth-group";
98 reg = <0x2000 0x2000>;
99 ethernet@0 {
95 device_type = "network"; 100 device_type = "network";
96 compatible = "marvell,mv64x60-eth"; 101 compatible = "marvell,mv64360-eth";
97 block-index = <0>; 102 reg = <0>;
98 interrupts = <20>; 103 interrupts = <32>;
99 interrupt-parent = <&/mv64x60/pic>; 104 interrupt-parent = <&PIC>;
100 phy = <&/mv64x60/mdio/ethernet-phy@1>; 105 phy = <&PHY0>;
101 local-mac-address = [ 00 00 00 00 00 00 ]; 106 local-mac-address = [ 00 00 00 00 00 00 ];
102 }; 107 };
103 eth1 { 108 ethernet@1 {
104 device_type = "network"; 109 device_type = "network";
105 compatible = "marvell,mv64x60-eth"; 110 compatible = "marvell,mv64360-eth";
106 block-index = <1>; 111 reg = <1>;
107 interrupts = <21>; 112 interrupts = <33>;
108 interrupt-parent = <&/mv64x60/pic>; 113 interrupt-parent = <&PIC>;
109 phy = <&/mv64x60/mdio/ethernet-phy@3>; 114 phy = <&PHY1>;
110 local-mac-address = [ 00 00 00 00 00 00 ]; 115 local-mac-address = [ 00 00 00 00 00 00 ];
111 }; 116 };
112 }; 117 };
113 118
114 sdma@4000 { 119 SDMA0: sdma@4000 {
115 device_type = "dma"; 120 compatible = "marvell,mv64360-sdma";
116 compatible = "marvell,mv64x60-sdma"; 121 reg = <0x4000 0xc18>;
117 reg = <4000 c18>; 122 virtual-reg = <0xf1004000>;
118 virtual-reg = <f1004000>; 123 interrupts = <36>;
119 interrupt-base = <0>; 124 interrupt-parent = <&PIC>;
120 interrupts = <24>;
121 interrupt-parent = <&/mv64x60/pic>;
122 }; 125 };
123 126
124 sdma@6000 { 127 SDMA1: sdma@6000 {
125 device_type = "dma"; 128 compatible = "marvell,mv64360-sdma";
126 compatible = "marvell,mv64x60-sdma"; 129 reg = <0x6000 0xc18>;
127 reg = <6000 c18>; 130 virtual-reg = <0xf1006000>;
128 virtual-reg = <f1006000>; 131 interrupts = <38>;
129 interrupt-base = <0>; 132 interrupt-parent = <&PIC>;
130 interrupts = <26>;
131 interrupt-parent = <&/mv64x60/pic>;
132 }; 133 };
133 134
134 brg@b200 { 135 BRG0: brg@b200 {
135 compatible = "marvell,mv64x60-brg"; 136 compatible = "marvell,mv64360-brg";
136 reg = <b200 8>; 137 reg = <0xb200 0x8>;
137 clock-src = <8>; 138 clock-src = <8>;
138 clock-frequency = <7ed6b40>; 139 clock-frequency = <133333333>;
139 current-speed = <2580>; 140 current-speed = <9600>;
140 bcr = <0>;
141 }; 141 };
142 142
143 brg@b208 { 143 BRG1: brg@b208 {
144 compatible = "marvell,mv64x60-brg"; 144 compatible = "marvell,mv64360-brg";
145 reg = <b208 8>; 145 reg = <0xb208 0x8>;
146 clock-src = <8>; 146 clock-src = <8>;
147 clock-frequency = <7ed6b40>; 147 clock-frequency = <133333333>;
148 current-speed = <2580>; 148 current-speed = <9600>;
149 bcr = <0>;
150 }; 149 };
151 150
152 cunit@f200 { 151 CUNIT: cunit@f200 {
153 reg = <f200 200>; 152 reg = <0xf200 0x200>;
154 }; 153 };
155 154
156 mpscrouting@b400 { 155 MPSCROUTING: mpscrouting@b400 {
157 reg = <b400 c>; 156 reg = <0xb400 0xc>;
158 }; 157 };
159 158
160 mpscintr@b800 { 159 MPSCINTR: mpscintr@b800 {
161 reg = <b800 100>; 160 reg = <0xb800 0x100>;
162 virtual-reg = <f100b800>; 161 virtual-reg = <0xf100b800>;
163 }; 162 };
164 163
165 mpsc@8000 { 164 MPSC0: mpsc@8000 {
166 device_type = "serial"; 165 device_type = "serial";
167 compatible = "marvell,mpsc"; 166 compatible = "marvell,mv64360-mpsc";
168 reg = <8000 38>; 167 reg = <0x8000 0x38>;
169 virtual-reg = <f1008000>; 168 virtual-reg = <0xf1008000>;
170 sdma = <&/mv64x60/sdma@4000>; 169 sdma = <&SDMA0>;
171 brg = <&/mv64x60/brg@b200>; 170 brg = <&BRG0>;
172 cunit = <&/mv64x60/cunit@f200>; 171 cunit = <&CUNIT>;
173 mpscrouting = <&/mv64x60/mpscrouting@b400>; 172 mpscrouting = <&MPSCROUTING>;
174 mpscintr = <&/mv64x60/mpscintr@b800>; 173 mpscintr = <&MPSCINTR>;
175 block-index = <0>; 174 cell-index = <0>;
176 max_idle = <28>; 175 interrupts = <40>;
177 chr_1 = <0>; 176 interrupt-parent = <&PIC>;
178 chr_2 = <0>;
179 chr_10 = <3>;
180 mpcr = <0>;
181 interrupts = <28>;
182 interrupt-parent = <&/mv64x60/pic>;
183 }; 177 };
184 178
185 mpsc@9000 { 179 MPSC1: mpsc@9000 {
186 device_type = "serial"; 180 device_type = "serial";
187 compatible = "marvell,mpsc"; 181 compatible = "marvell,mv64360-mpsc";
188 reg = <9000 38>; 182 reg = <0x9000 0x38>;
189 virtual-reg = <f1009000>; 183 virtual-reg = <0xf1009000>;
190 sdma = <&/mv64x60/sdma@6000>; 184 sdma = <&SDMA1>;
191 brg = <&/mv64x60/brg@b208>; 185 brg = <&BRG1>;
192 cunit = <&/mv64x60/cunit@f200>; 186 cunit = <&CUNIT>;
193 mpscrouting = <&/mv64x60/mpscrouting@b400>; 187 mpscrouting = <&MPSCROUTING>;
194 mpscintr = <&/mv64x60/mpscintr@b800>; 188 mpscintr = <&MPSCINTR>;
195 block-index = <1>; 189 cell-index = <1>;
196 max_idle = <28>; 190 interrupts = <42>;
197 chr_1 = <0>; 191 interrupt-parent = <&PIC>;
198 chr_2 = <0>;
199 chr_10 = <3>;
200 mpcr = <0>;
201 interrupts = <2a>;
202 interrupt-parent = <&/mv64x60/pic>;
203 }; 192 };
204 193
205 wdt@b410 { /* watchdog timer */ 194 wdt@b410 { /* watchdog timer */
206 compatible = "marvell,mv64x60-wdt"; 195 compatible = "marvell,mv64360-wdt";
207 reg = <b410 8>; 196 reg = <0xb410 0x8>;
208 timeout = <a>; /* wdt timeout in seconds */
209 }; 197 };
210 198
211 i2c@c000 { 199 i2c@c000 {
212 device_type = "i2c"; 200 device_type = "i2c";
213 compatible = "marvell,mv64x60-i2c"; 201 compatible = "marvell,mv64360-i2c";
214 reg = <c000 20>; 202 reg = <0xc000 0x20>;
215 virtual-reg = <f100c000>; 203 virtual-reg = <0xf100c000>;
216 freq_m = <8>; 204 interrupts = <37>;
217 freq_n = <3>; 205 interrupt-parent = <&PIC>;
218 timeout = <3e8>; /* 1000 = 1 second */
219 retries = <1>;
220 interrupts = <25>;
221 interrupt-parent = <&/mv64x60/pic>;
222 }; 206 };
223 207
224 pic { 208 PIC: pic {
225 #interrupt-cells = <1>; 209 #interrupt-cells = <1>;
226 #address-cells = <0>; 210 #address-cells = <0>;
227 compatible = "marvell,mv64x60-pic"; 211 compatible = "marvell,mv64360-pic";
228 reg = <0000 88>; 212 reg = <0x0 0x88>;
229 interrupt-controller; 213 interrupt-controller;
230 }; 214 };
231 215
232 mpp@f000 { 216 mpp@f000 {
233 compatible = "marvell,mv64x60-mpp"; 217 compatible = "marvell,mv64360-mpp";
234 reg = <f000 10>; 218 reg = <0xf000 0x10>;
235 }; 219 };
236 220
237 gpp@f100 { 221 gpp@f100 {
238 compatible = "marvell,mv64x60-gpp"; 222 compatible = "marvell,mv64360-gpp";
239 reg = <f100 20>; 223 reg = <0xf100 0x20>;
240 }; 224 };
241 225
242 pci@80000000 { 226 pci@80000000 {
@@ -244,73 +228,75 @@
244 #size-cells = <2>; 228 #size-cells = <2>;
245 #interrupt-cells = <1>; 229 #interrupt-cells = <1>;
246 device_type = "pci"; 230 device_type = "pci";
247 compatible = "marvell,mv64x60-pci"; 231 compatible = "marvell,mv64360-pci";
248 reg = <0cf8 8>; 232 reg = <0xcf8 0x8>;
249 ranges = <01000000 0 0 88000000 0 01000000 233 ranges = <0x01000000 0x0 0x0
250 02000000 0 80000000 80000000 0 08000000>; 234 0x88000000 0x0 0x01000000
251 bus-range = <0 ff>; 235 0x02000000 0x0 0x80000000
252 clock-frequency = <3EF1480>; 236 0x80000000 0x0 0x08000000>;
253 interrupt-pci-iack = <0c34>; 237 bus-range = <0 255>;
254 interrupt-parent = <&/mv64x60/pic>; 238 clock-frequency = <66000000>;
255 interrupt-map-mask = <f800 0 0 7>; 239 interrupt-pci-iack = <0xc34>;
240 interrupt-parent = <&PIC>;
241 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
256 interrupt-map = < 242 interrupt-map = <
257 /* IDSEL 0x0a */ 243 /* IDSEL 0x0a */
258 5000 0 0 1 &/mv64x60/pic 50 244 0x5000 0 0 1 &PIC 80
259 5000 0 0 2 &/mv64x60/pic 51 245 0x5000 0 0 2 &PIC 81
260 5000 0 0 3 &/mv64x60/pic 5b 246 0x5000 0 0 3 &PIC 91
261 5000 0 0 4 &/mv64x60/pic 5d 247 0x5000 0 0 4 &PIC 93
262 248
263 /* IDSEL 0x0b */ 249 /* IDSEL 0x0b */
264 5800 0 0 1 &/mv64x60/pic 5b 250 0x5800 0 0 1 &PIC 91
265 5800 0 0 2 &/mv64x60/pic 5d 251 0x5800 0 0 2 &PIC 93
266 5800 0 0 3 &/mv64x60/pic 50 252 0x5800 0 0 3 &PIC 80
267 5800 0 0 4 &/mv64x60/pic 51 253 0x5800 0 0 4 &PIC 81
268 254
269 /* IDSEL 0x0c */ 255 /* IDSEL 0x0c */
270 6000 0 0 1 &/mv64x60/pic 5b 256 0x6000 0 0 1 &PIC 91
271 6000 0 0 2 &/mv64x60/pic 5d 257 0x6000 0 0 2 &PIC 93
272 6000 0 0 3 &/mv64x60/pic 50 258 0x6000 0 0 3 &PIC 80
273 6000 0 0 4 &/mv64x60/pic 51 259 0x6000 0 0 4 &PIC 81
274 260
275 /* IDSEL 0x0d */ 261 /* IDSEL 0x0d */
276 6800 0 0 1 &/mv64x60/pic 5d 262 0x6800 0 0 1 &PIC 93
277 6800 0 0 2 &/mv64x60/pic 50 263 0x6800 0 0 2 &PIC 80
278 6800 0 0 3 &/mv64x60/pic 51 264 0x6800 0 0 3 &PIC 81
279 6800 0 0 4 &/mv64x60/pic 5b 265 0x6800 0 0 4 &PIC 91
280 >; 266 >;
281 }; 267 };
282 268
283 cpu-error@0070 { 269 cpu-error@0070 {
284 compatible = "marvell,mv64x60-cpu-error"; 270 compatible = "marvell,mv64360-cpu-error";
285 reg = <0070 10 0128 28>; 271 reg = <0x70 0x10 0x128 0x28>;
286 interrupts = <03>; 272 interrupts = <3>;
287 interrupt-parent = <&/mv64x60/pic>; 273 interrupt-parent = <&PIC>;
288 }; 274 };
289 275
290 sram-ctrl@0380 { 276 sram-ctrl@0380 {
291 compatible = "marvell,mv64x60-sram-ctrl"; 277 compatible = "marvell,mv64360-sram-ctrl";
292 reg = <0380 80>; 278 reg = <0x380 0x80>;
293 interrupts = <0d>; 279 interrupts = <13>;
294 interrupt-parent = <&/mv64x60/pic>; 280 interrupt-parent = <&PIC>;
295 }; 281 };
296 282
297 pci-error@1d40 { 283 pci-error@1d40 {
298 compatible = "marvell,mv64x60-pci-error"; 284 compatible = "marvell,mv64360-pci-error";
299 reg = <1d40 40 0c28 4>; 285 reg = <0x1d40 0x40 0xc28 0x4>;
300 interrupts = <0c>; 286 interrupts = <12>;
301 interrupt-parent = <&/mv64x60/pic>; 287 interrupt-parent = <&PIC>;
302 }; 288 };
303 289
304 mem-ctrl@1400 { 290 mem-ctrl@1400 {
305 compatible = "marvell,mv64x60-mem-ctrl"; 291 compatible = "marvell,mv64360-mem-ctrl";
306 reg = <1400 60>; 292 reg = <0x1400 0x60>;
307 interrupts = <11>; 293 interrupts = <17>;
308 interrupt-parent = <&/mv64x60/pic>; 294 interrupt-parent = <&PIC>;
309 }; 295 };
310 }; 296 };
311 297
312 chosen { 298 chosen {
313 bootargs = "ip=on"; 299 bootargs = "ip=on";
314 linux,stdout-path = "/mv64x60@f1000000/mpsc@8000"; 300 linux,stdout-path = &MPSC0;
315 }; 301 };
316}; 302};
diff --git a/arch/powerpc/boot/dts/rainier.dts b/arch/powerpc/boot/dts/rainier.dts
index f947c75a2e9..6a8fa7089ea 100644
--- a/arch/powerpc/boot/dts/rainier.dts
+++ b/arch/powerpc/boot/dts/rainier.dts
@@ -254,7 +254,6 @@
254 }; 254 };
255 255
256 EMAC0: ethernet@ef600e00 { 256 EMAC0: ethernet@ef600e00 {
257 linux,network-index = <0>;
258 device_type = "network"; 257 device_type = "network";
259 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4"; 258 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
260 interrupt-parent = <&EMAC0>; 259 interrupt-parent = <&EMAC0>;
@@ -270,7 +269,7 @@
270 mal-tx-channel = <0>; 269 mal-tx-channel = <0>;
271 mal-rx-channel = <0>; 270 mal-rx-channel = <0>;
272 cell-index = <0>; 271 cell-index = <0>;
273 max-frame-size = <5dc>; 272 max-frame-size = <2328>;
274 rx-fifo-size = <1000>; 273 rx-fifo-size = <1000>;
275 tx-fifo-size = <800>; 274 tx-fifo-size = <800>;
276 phy-mode = "rgmii"; 275 phy-mode = "rgmii";
@@ -284,7 +283,6 @@
284 }; 283 };
285 284
286 EMAC1: ethernet@ef600f00 { 285 EMAC1: ethernet@ef600f00 {
287 linux,network-index = <1>;
288 device_type = "network"; 286 device_type = "network";
289 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4"; 287 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
290 interrupt-parent = <&EMAC1>; 288 interrupt-parent = <&EMAC1>;
@@ -300,7 +298,7 @@
300 mal-tx-channel = <1>; 298 mal-tx-channel = <1>;
301 mal-rx-channel = <1>; 299 mal-rx-channel = <1>;
302 cell-index = <1>; 300 cell-index = <1>;
303 max-frame-size = <5dc>; 301 max-frame-size = <2328>;
304 rx-fifo-size = <1000>; 302 rx-fifo-size = <1000>;
305 tx-fifo-size = <800>; 303 tx-fifo-size = <800>;
306 phy-mode = "rgmii"; 304 phy-mode = "rgmii";
diff --git a/arch/powerpc/boot/dts/sequoia.dts b/arch/powerpc/boot/dts/sequoia.dts
index 8db9515d7dc..a1ae4d6ec99 100644
--- a/arch/powerpc/boot/dts/sequoia.dts
+++ b/arch/powerpc/boot/dts/sequoia.dts
@@ -269,7 +269,6 @@
269 }; 269 };
270 270
271 EMAC0: ethernet@ef600e00 { 271 EMAC0: ethernet@ef600e00 {
272 linux,network-index = <0>;
273 device_type = "network"; 272 device_type = "network";
274 compatible = "ibm,emac-440epx", "ibm,emac4"; 273 compatible = "ibm,emac-440epx", "ibm,emac4";
275 interrupt-parent = <&EMAC0>; 274 interrupt-parent = <&EMAC0>;
@@ -285,7 +284,7 @@
285 mal-tx-channel = <0>; 284 mal-tx-channel = <0>;
286 mal-rx-channel = <0>; 285 mal-rx-channel = <0>;
287 cell-index = <0>; 286 cell-index = <0>;
288 max-frame-size = <5dc>; 287 max-frame-size = <2328>;
289 rx-fifo-size = <1000>; 288 rx-fifo-size = <1000>;
290 tx-fifo-size = <800>; 289 tx-fifo-size = <800>;
291 phy-mode = "rgmii"; 290 phy-mode = "rgmii";
@@ -299,7 +298,6 @@
299 }; 298 };
300 299
301 EMAC1: ethernet@ef600f00 { 300 EMAC1: ethernet@ef600f00 {
302 linux,network-index = <1>;
303 device_type = "network"; 301 device_type = "network";
304 compatible = "ibm,emac-440epx", "ibm,emac4"; 302 compatible = "ibm,emac-440epx", "ibm,emac4";
305 interrupt-parent = <&EMAC1>; 303 interrupt-parent = <&EMAC1>;
@@ -315,7 +313,7 @@
315 mal-tx-channel = <1>; 313 mal-tx-channel = <1>;
316 mal-rx-channel = <1>; 314 mal-rx-channel = <1>;
317 cell-index = <1>; 315 cell-index = <1>;
318 max-frame-size = <5dc>; 316 max-frame-size = <2328>;
319 rx-fifo-size = <1000>; 317 rx-fifo-size = <1000>;
320 tx-fifo-size = <800>; 318 tx-fifo-size = <800>;
321 phy-mode = "rgmii"; 319 phy-mode = "rgmii";
diff --git a/arch/powerpc/boot/dts/taishan.dts b/arch/powerpc/boot/dts/taishan.dts
index 8278068c802..e808e1c5593 100644
--- a/arch/powerpc/boot/dts/taishan.dts
+++ b/arch/powerpc/boot/dts/taishan.dts
@@ -104,6 +104,16 @@
104 // FIXME: anything else? 104 // FIXME: anything else?
105 }; 105 };
106 106
107 L2C0: l2c {
108 compatible = "ibm,l2-cache-440gx", "ibm,l2-cache";
109 dcr-reg = <20 8 /* Internal SRAM DCR's */
110 30 8>; /* L2 cache DCR's */
111 cache-line-size = <20>; /* 32 bytes */
112 cache-size = <40000>; /* L2, 256K */
113 interrupt-parent = <&UIC2>;
114 interrupts = <17 1>;
115 };
116
107 plb { 117 plb {
108 compatible = "ibm,plb-440gx", "ibm,plb4"; 118 compatible = "ibm,plb-440gx", "ibm,plb4";
109 #address-cells = <2>; 119 #address-cells = <2>;
@@ -232,10 +242,18 @@
232 reg = <40000790 8>; 242 reg = <40000790 8>;
233 }; 243 };
234 244
245 TAH0: emac-tah@40000b50 {
246 compatible = "ibm,tah-440gx", "ibm,tah";
247 reg = <40000b50 30>;
248 };
249
250 TAH1: emac-tah@40000d50 {
251 compatible = "ibm,tah-440gx", "ibm,tah";
252 reg = <40000d50 30>;
253 };
235 254
236 EMAC0: ethernet@40000800 { 255 EMAC0: ethernet@40000800 {
237 unused = <1>; 256 unused = <1>;
238 linux,network-index = <2>;
239 device_type = "network"; 257 device_type = "network";
240 compatible = "ibm,emac-440gx", "ibm,emac4"; 258 compatible = "ibm,emac-440gx", "ibm,emac4";
241 interrupt-parent = <&UIC1>; 259 interrupt-parent = <&UIC1>;
@@ -256,7 +274,6 @@
256 }; 274 };
257 EMAC1: ethernet@40000900 { 275 EMAC1: ethernet@40000900 {
258 unused = <1>; 276 unused = <1>;
259 linux,network-index = <3>;
260 device_type = "network"; 277 device_type = "network";
261 compatible = "ibm,emac-440gx", "ibm,emac4"; 278 compatible = "ibm,emac-440gx", "ibm,emac4";
262 interrupt-parent = <&UIC1>; 279 interrupt-parent = <&UIC1>;
@@ -277,7 +294,6 @@
277 }; 294 };
278 295
279 EMAC2: ethernet@40000c00 { 296 EMAC2: ethernet@40000c00 {
280 linux,network-index = <0>;
281 device_type = "network"; 297 device_type = "network";
282 compatible = "ibm,emac-440gx", "ibm,emac4"; 298 compatible = "ibm,emac-440gx", "ibm,emac4";
283 interrupt-parent = <&UIC2>; 299 interrupt-parent = <&UIC2>;
@@ -288,7 +304,7 @@
288 mal-tx-channel = <2>; 304 mal-tx-channel = <2>;
289 mal-rx-channel = <2>; 305 mal-rx-channel = <2>;
290 cell-index = <2>; 306 cell-index = <2>;
291 max-frame-size = <5dc>; 307 max-frame-size = <2328>;
292 rx-fifo-size = <1000>; 308 rx-fifo-size = <1000>;
293 tx-fifo-size = <800>; 309 tx-fifo-size = <800>;
294 phy-mode = "rgmii"; 310 phy-mode = "rgmii";
@@ -297,10 +313,11 @@
297 rgmii-channel = <0>; 313 rgmii-channel = <0>;
298 zmii-device = <&ZMII0>; 314 zmii-device = <&ZMII0>;
299 zmii-channel = <2>; 315 zmii-channel = <2>;
316 tah-device = <&TAH0>;
317 tah-channel = <0>;
300 }; 318 };
301 319
302 EMAC3: ethernet@40000e00 { 320 EMAC3: ethernet@40000e00 {
303 linux,network-index = <1>;
304 device_type = "network"; 321 device_type = "network";
305 compatible = "ibm,emac-440gx", "ibm,emac4"; 322 compatible = "ibm,emac-440gx", "ibm,emac4";
306 interrupt-parent = <&UIC2>; 323 interrupt-parent = <&UIC2>;
@@ -311,7 +328,7 @@
311 mal-tx-channel = <3>; 328 mal-tx-channel = <3>;
312 mal-rx-channel = <3>; 329 mal-rx-channel = <3>;
313 cell-index = <3>; 330 cell-index = <3>;
314 max-frame-size = <5dc>; 331 max-frame-size = <2328>;
315 rx-fifo-size = <1000>; 332 rx-fifo-size = <1000>;
316 tx-fifo-size = <800>; 333 tx-fifo-size = <800>;
317 phy-mode = "rgmii"; 334 phy-mode = "rgmii";
@@ -320,6 +337,8 @@
320 rgmii-channel = <1>; 337 rgmii-channel = <1>;
321 zmii-device = <&ZMII0>; 338 zmii-device = <&ZMII0>;
322 zmii-channel = <3>; 339 zmii-channel = <3>;
340 tah-device = <&TAH1>;
341 tah-channel = <0>;
323 }; 342 };
324 343
325 344
diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
index c86464f007d..65bcea6a017 100644
--- a/arch/powerpc/boot/dts/tqm5200.dts
+++ b/arch/powerpc/boot/dts/tqm5200.dts
@@ -127,10 +127,25 @@
127 ethernet@3000 { 127 ethernet@3000 {
128 device_type = "network"; 128 device_type = "network";
129 compatible = "fsl,mpc5200-fec"; 129 compatible = "fsl,mpc5200-fec";
130 reg = <3000 800>; 130 reg = <3000 400>;
131 local-mac-address = [ 00 00 00 00 00 00 ]; 131 local-mac-address = [ 00 00 00 00 00 00 ];
132 interrupts = <2 5 0>; 132 interrupts = <2 5 0>;
133 interrupt-parent = <&mpc5200_pic>; 133 interrupt-parent = <&mpc5200_pic>;
134 phy-handle = <&phy0>;
135 };
136
137 mdio@3000 {
138 #address-cells = <1>;
139 #size-cells = <0>;
140 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
141 reg = <3000 400>; // fec range, since we need to setup fec interrupts
142 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
143 interrupt-parent = <&mpc5200_pic>;
144
145 phy0: ethernet-phy@0 {
146 device_type = "ethernet-phy";
147 reg = <0>;
148 };
134 }; 149 };
135 150
136 ata@3a00 { 151 ata@3a00 {
@@ -141,11 +156,19 @@
141 }; 156 };
142 157
143 i2c@3d40 { 158 i2c@3d40 {
159 #address-cells = <1>;
160 #size-cells = <0>;
144 compatible = "fsl,mpc5200-i2c","fsl-i2c"; 161 compatible = "fsl,mpc5200-i2c","fsl-i2c";
145 reg = <3d40 40>; 162 reg = <3d40 40>;
146 interrupts = <2 10 0>; 163 interrupts = <2 10 0>;
147 interrupt-parent = <&mpc5200_pic>; 164 interrupt-parent = <&mpc5200_pic>;
148 fsl5200-clocking; 165 fsl5200-clocking;
166
167 rtc@68 {
168 device_type = "rtc";
169 compatible = "dallas,ds1307";
170 reg = <68>;
171 };
149 }; 172 };
150 173
151 sram@8000 { 174 sram@8000 {
@@ -154,6 +177,23 @@
154 }; 177 };
155 }; 178 };
156 179
180 lpb {
181 model = "fsl,lpb";
182 compatible = "fsl,lpb";
183 #address-cells = <2>;
184 #size-cells = <1>;
185 ranges = <0 0 fc000000 02000000>;
186
187 flash@0,0 {
188 compatible = "cfi-flash";
189 reg = <0 0 02000000>;
190 bank-width = <4>;
191 device-width = <2>;
192 #size-cells = <1>;
193 #address-cells = <1>;
194 };
195 };
196
157 pci@f0000d00 { 197 pci@f0000d00 {
158 #interrupt-cells = <1>; 198 #interrupt-cells = <1>;
159 #size-cells = <2>; 199 #size-cells = <2>;
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts
index dcc21b0438e..a328607c8f8 100644
--- a/arch/powerpc/boot/dts/walnut.dts
+++ b/arch/powerpc/boot/dts/walnut.dts
@@ -125,7 +125,6 @@
125 }; 125 };
126 126
127 EMAC: ethernet@ef600800 { 127 EMAC: ethernet@ef600800 {
128 linux,network-index = <0>;
129 device_type = "network"; 128 device_type = "network";
130 compatible = "ibm,emac-405gp", "ibm,emac"; 129 compatible = "ibm,emac-405gp", "ibm,emac";
131 interrupt-parent = <&UIC0>; 130 interrupt-parent = <&UIC0>;
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts
index dc1499d30f4..b04a52e22bf 100644
--- a/arch/powerpc/boot/dts/warp.dts
+++ b/arch/powerpc/boot/dts/warp.dts
@@ -204,7 +204,6 @@
204 }; 204 };
205 205
206 EMAC0: ethernet@ef600e00 { 206 EMAC0: ethernet@ef600e00 {
207 linux,network-index = <0>;
208 device_type = "network"; 207 device_type = "network";
209 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 208 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
210 interrupt-parent = <&UIC1>; 209 interrupt-parent = <&UIC1>;
diff --git a/arch/powerpc/boot/dts/yosemite.dts b/arch/powerpc/boot/dts/yosemite.dts
new file mode 100644
index 00000000000..0d6d332814e
--- /dev/null
+++ b/arch/powerpc/boot/dts/yosemite.dts
@@ -0,0 +1,304 @@
1/*
2 * Device Tree Source for AMCC Yosemite
3 *
4 * Copyright 2008 IBM Corp.
5 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without
9 * any warranty of any kind, whether express or implied.
10 */
11
12/ {
13 #address-cells = <2>;
14 #size-cells = <1>;
15 model = "amcc,yosemite";
16 compatible = "amcc,yosemite","amcc,bamboo";
17 dcr-parent = <&/cpus/cpu@0>;
18
19 aliases {
20 ethernet0 = &EMAC0;
21 ethernet1 = &EMAC1;
22 serial0 = &UART0;
23 serial1 = &UART1;
24 serial2 = &UART2;
25 serial3 = &UART3;
26 };
27
28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 cpu@0 {
33 device_type = "cpu";
34 model = "PowerPC,440EP";
35 reg = <0>;
36 clock-frequency = <0>; /* Filled in by zImage */
37 timebase-frequency = <0>; /* Filled in by zImage */
38 i-cache-line-size = <20>;
39 d-cache-line-size = <20>;
40 i-cache-size = <8000>;
41 d-cache-size = <8000>;
42 dcr-controller;
43 dcr-access-method = "native";
44 };
45 };
46
47 memory {
48 device_type = "memory";
49 reg = <0 0 0>; /* Filled in by zImage */
50 };
51
52 UIC0: interrupt-controller0 {
53 compatible = "ibm,uic-440ep","ibm,uic";
54 interrupt-controller;
55 cell-index = <0>;
56 dcr-reg = <0c0 009>;
57 #address-cells = <0>;
58 #size-cells = <0>;
59 #interrupt-cells = <2>;
60 };
61
62 UIC1: interrupt-controller1 {
63 compatible = "ibm,uic-440ep","ibm,uic";
64 interrupt-controller;
65 cell-index = <1>;
66 dcr-reg = <0d0 009>;
67 #address-cells = <0>;
68 #size-cells = <0>;
69 #interrupt-cells = <2>;
70 interrupts = <1e 4 1f 4>; /* cascade */
71 interrupt-parent = <&UIC0>;
72 };
73
74 SDR0: sdr {
75 compatible = "ibm,sdr-440ep";
76 dcr-reg = <00e 002>;
77 };
78
79 CPR0: cpr {
80 compatible = "ibm,cpr-440ep";
81 dcr-reg = <00c 002>;
82 };
83
84 plb {
85 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
86 #address-cells = <2>;
87 #size-cells = <1>;
88 ranges;
89 clock-frequency = <0>; /* Filled in by zImage */
90
91 SDRAM0: sdram {
92 compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
93 dcr-reg = <010 2>;
94 };
95
96 DMA0: dma {
97 compatible = "ibm,dma-440ep", "ibm,dma-440gp";
98 dcr-reg = <100 027>;
99 };
100
101 MAL0: mcmal {
102 compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
103 dcr-reg = <180 62>;
104 num-tx-chans = <4>;
105 num-rx-chans = <2>;
106 interrupt-parent = <&MAL0>;
107 interrupts = <0 1 2 3 4>;
108 #interrupt-cells = <1>;
109 #address-cells = <0>;
110 #size-cells = <0>;
111 interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
112 /*RXEOB*/ 1 &UIC0 b 4
113 /*SERR*/ 2 &UIC1 0 4
114 /*TXDE*/ 3 &UIC1 1 4
115 /*RXDE*/ 4 &UIC1 2 4>;
116 };
117
118 POB0: opb {
119 compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
120 #address-cells = <1>;
121 #size-cells = <1>;
122 /* Bamboo is oddball in the 44x world and doesn't use the ERPN
123 * bits.
124 */
125 ranges = <00000000 0 00000000 80000000
126 80000000 0 80000000 80000000>;
127 interrupt-parent = <&UIC1>;
128 interrupts = <7 4>;
129 clock-frequency = <0>; /* Filled in by zImage */
130
131 EBC0: ebc {
132 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
133 dcr-reg = <012 2>;
134 #address-cells = <2>;
135 #size-cells = <1>;
136 clock-frequency = <0>; /* Filled in by zImage */
137 interrupts = <5 1>;
138 interrupt-parent = <&UIC1>;
139 };
140
141 UART0: serial@ef600300 {
142 device_type = "serial";
143 compatible = "ns16550";
144 reg = <ef600300 8>;
145 virtual-reg = <ef600300>;
146 clock-frequency = <0>; /* Filled in by zImage */
147 current-speed = <1c200>;
148 interrupt-parent = <&UIC0>;
149 interrupts = <0 4>;
150 };
151
152 UART1: serial@ef600400 {
153 device_type = "serial";
154 compatible = "ns16550";
155 reg = <ef600400 8>;
156 virtual-reg = <ef600400>;
157 clock-frequency = <0>;
158 current-speed = <0>;
159 interrupt-parent = <&UIC0>;
160 interrupts = <1 4>;
161 };
162
163 UART2: serial@ef600500 {
164 device_type = "serial";
165 compatible = "ns16550";
166 reg = <ef600500 8>;
167 virtual-reg = <ef600500>;
168 clock-frequency = <0>;
169 current-speed = <0>;
170 interrupt-parent = <&UIC0>;
171 interrupts = <3 4>;
172 status = "disabled";
173 };
174
175 UART3: serial@ef600600 {
176 device_type = "serial";
177 compatible = "ns16550";
178 reg = <ef600600 8>;
179 virtual-reg = <ef600600>;
180 clock-frequency = <0>;
181 current-speed = <0>;
182 interrupt-parent = <&UIC0>;
183 interrupts = <4 4>;
184 status = "disabled";
185 };
186
187 IIC0: i2c@ef600700 {
188 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
189 reg = <ef600700 14>;
190 interrupt-parent = <&UIC0>;
191 interrupts = <2 4>;
192 };
193
194 IIC1: i2c@ef600800 {
195 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
196 reg = <ef600800 14>;
197 interrupt-parent = <&UIC0>;
198 interrupts = <7 4>;
199 };
200
201 spi@ef600900 {
202 compatible = "amcc,spi-440ep";
203 reg = <ef600900 6>;
204 interrupts = <8 4>;
205 interrupt-parent = <&UIC0>;
206 };
207
208 ZMII0: emac-zmii@ef600d00 {
209 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
210 reg = <ef600d00 c>;
211 };
212
213 EMAC0: ethernet@ef600e00 {
214 device_type = "network";
215 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
216 interrupt-parent = <&UIC1>;
217 interrupts = <1c 4 1d 4>;
218 reg = <ef600e00 70>;
219 local-mac-address = [000000000000];
220 mal-device = <&MAL0>;
221 mal-tx-channel = <0 1>;
222 mal-rx-channel = <0>;
223 cell-index = <0>;
224 max-frame-size = <5dc>;
225 rx-fifo-size = <1000>;
226 tx-fifo-size = <800>;
227 phy-mode = "rmii";
228 phy-map = <00000000>;
229 zmii-device = <&ZMII0>;
230 zmii-channel = <0>;
231 };
232
233 EMAC1: ethernet@ef600f00 {
234 device_type = "network";
235 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
236 interrupt-parent = <&UIC1>;
237 interrupts = <1e 4 1f 4>;
238 reg = <ef600f00 70>;
239 local-mac-address = [000000000000];
240 mal-device = <&MAL0>;
241 mal-tx-channel = <2 3>;
242 mal-rx-channel = <1>;
243 cell-index = <1>;
244 max-frame-size = <5dc>;
245 rx-fifo-size = <1000>;
246 tx-fifo-size = <800>;
247 phy-mode = "rmii";
248 phy-map = <00000000>;
249 zmii-device = <&ZMII0>;
250 zmii-channel = <1>;
251 };
252
253 usb@ef601000 {
254 compatible = "ohci-be";
255 reg = <ef601000 80>;
256 interrupts = <8 4 9 4>;
257 interrupt-parent = < &UIC1 >;
258 };
259 };
260
261 PCI0: pci@ec000000 {
262 device_type = "pci";
263 #interrupt-cells = <1>;
264 #size-cells = <2>;
265 #address-cells = <3>;
266 compatible = "ibm,plb440ep-pci", "ibm,plb-pci";
267 primary;
268 reg = <0 eec00000 8 /* Config space access */
269 0 eed00000 4 /* IACK */
270 0 eed00000 4 /* Special cycle */
271 0 ef400000 40>; /* Internal registers */
272
273 /* Outbound ranges, one memory and one IO,
274 * later cannot be changed. Chip supports a second
275 * IO range but we don't use it for now
276 */
277 ranges = <02000000 0 a0000000 0 a0000000 0 20000000
278 01000000 0 00000000 0 e8000000 0 00010000>;
279
280 /* Inbound 2GB range starting at 0 */
281 dma-ranges = <42000000 0 0 0 0 0 80000000>;
282
283 /* Bamboo has all 4 IRQ pins tied together per slot */
284 interrupt-map-mask = <f800 0 0 0>;
285 interrupt-map = <
286 /* IDSEL 1 */
287 0800 0 0 0 &UIC0 1c 8
288
289 /* IDSEL 2 */
290 1000 0 0 0 &UIC0 1b 8
291
292 /* IDSEL 3 */
293 1800 0 0 0 &UIC0 1a 8
294
295 /* IDSEL 4 */
296 2000 0 0 0 &UIC0 19 8
297 >;
298 };
299 };
300
301 chosen {
302 linux,stdout-path = "/plb/opb/serial@ef600300";
303 };
304};
diff --git a/arch/powerpc/boot/ebony.c b/arch/powerpc/boot/ebony.c
index f61364c47a7..5532ab3221d 100644
--- a/arch/powerpc/boot/ebony.c
+++ b/arch/powerpc/boot/ebony.c
@@ -75,7 +75,8 @@ static void ebony_fixups(void)
75 75
76 ibm440gp_fixup_clocks(sysclk, 6 * 1843200); 76 ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
77 ibm4xx_sdram_fixup_memsize(); 77 ibm4xx_sdram_fixup_memsize();
78 dt_fixup_mac_addresses(ebony_mac0, ebony_mac1); 78 dt_fixup_mac_address_by_alias("ethernet0", ebony_mac0);
79 dt_fixup_mac_address_by_alias("ethernet1", ebony_mac1);
79 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 80 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
80 ebony_flashsel_fixup(); 81 ebony_flashsel_fixup();
81} 82}
diff --git a/arch/powerpc/boot/libfdt-wrapper.c b/arch/powerpc/boot/libfdt-wrapper.c
index 59016bef139..c541fd8a95d 100644
--- a/arch/powerpc/boot/libfdt-wrapper.c
+++ b/arch/powerpc/boot/libfdt-wrapper.c
@@ -35,7 +35,7 @@
35#define check_err(err) \ 35#define check_err(err) \
36 ({ \ 36 ({ \
37 if (BAD_ERROR(err) || ((err < 0) && DEBUG)) \ 37 if (BAD_ERROR(err) || ((err < 0) && DEBUG)) \
38 printf("%s():%d %s\n\r", __FUNCTION__, __LINE__, \ 38 printf("%s():%d %s\n\r", __func__, __LINE__, \
39 fdt_strerror(err)); \ 39 fdt_strerror(err)); \
40 if (BAD_ERROR(err)) \ 40 if (BAD_ERROR(err)) \
41 exit(); \ 41 exit(); \
diff --git a/arch/powerpc/boot/mpsc.c b/arch/powerpc/boot/mpsc.c
index 802ea53790d..425ad88cce8 100644
--- a/arch/powerpc/boot/mpsc.c
+++ b/arch/powerpc/boot/mpsc.c
@@ -141,7 +141,7 @@ int mpsc_console_init(void *devp, struct serial_console_data *scdp)
141 if (mpscintr_base == NULL) 141 if (mpscintr_base == NULL)
142 goto err_out; 142 goto err_out;
143 143
144 n = getprop(devp, "block-index", &v, sizeof(v)); 144 n = getprop(devp, "cell-index", &v, sizeof(v));
145 if (n != sizeof(v)) 145 if (n != sizeof(v))
146 goto err_out; 146 goto err_out;
147 reg_set = (int)v; 147 reg_set = (int)v;
diff --git a/arch/powerpc/boot/mv64x60.c b/arch/powerpc/boot/mv64x60.c
index b43259455d4..d9bb302b91d 100644
--- a/arch/powerpc/boot/mv64x60.c
+++ b/arch/powerpc/boot/mv64x60.c
@@ -535,7 +535,7 @@ u8 *mv64x60_get_bridge_pbase(void)
535 u32 v[2]; 535 u32 v[2];
536 void *devp; 536 void *devp;
537 537
538 devp = finddevice("/mv64x60"); 538 devp = find_node_by_compatible(NULL, "marvell,mv64360");
539 if (devp == NULL) 539 if (devp == NULL)
540 goto err_out; 540 goto err_out;
541 if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v)) 541 if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
@@ -553,7 +553,7 @@ u8 *mv64x60_get_bridge_base(void)
553 u32 v; 553 u32 v;
554 void *devp; 554 void *devp;
555 555
556 devp = finddevice("/mv64x60"); 556 devp = find_node_by_compatible(NULL, "marvell,mv64360");
557 if (devp == NULL) 557 if (devp == NULL)
558 goto err_out; 558 goto err_out;
559 if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v)) 559 if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
diff --git a/arch/powerpc/boot/mv64x60_i2c.c b/arch/powerpc/boot/mv64x60_i2c.c
index d085377be3b..52a3212b663 100644
--- a/arch/powerpc/boot/mv64x60_i2c.c
+++ b/arch/powerpc/boot/mv64x60_i2c.c
@@ -185,7 +185,7 @@ int mv64x60_i2c_open(void)
185 u32 v; 185 u32 v;
186 void *devp; 186 void *devp;
187 187
188 devp = finddevice("/mv64x60/i2c"); 188 devp = find_node_by_compatible(NULL, "marvell,mv64360-i2c");
189 if (devp == NULL) 189 if (devp == NULL)
190 goto err_out; 190 goto err_out;
191 if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v)) 191 if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
diff --git a/arch/powerpc/boot/prpmc2800.c b/arch/powerpc/boot/prpmc2800.c
index 05c3245b30d..da31d603048 100644
--- a/arch/powerpc/boot/prpmc2800.c
+++ b/arch/powerpc/boot/prpmc2800.c
@@ -344,20 +344,20 @@ static void prpmc2800_bridge_setup(u32 mem_size)
344 acc_bits); 344 acc_bits);
345 345
346 /* Get the cpu -> pci i/o & mem mappings from the device tree */ 346 /* Get the cpu -> pci i/o & mem mappings from the device tree */
347 devp = finddevice("/mv64x60/pci@80000000"); 347 devp = find_node_by_compatible(NULL, "marvell,mv64360-pci");
348 if (devp == NULL) 348 if (devp == NULL)
349 fatal("Error: Missing /mv64x60/pci@80000000" 349 fatal("Error: Missing marvell,mv64360-pci"
350 " device tree node\n\r"); 350 " device tree node\n\r");
351 351
352 rc = getprop(devp, "ranges", v, sizeof(v)); 352 rc = getprop(devp, "ranges", v, sizeof(v));
353 if (rc != sizeof(v)) 353 if (rc != sizeof(v))
354 fatal("Error: Can't find /mv64x60/pci@80000000/ranges" 354 fatal("Error: Can't find marvell,mv64360-pci ranges"
355 " property\n\r"); 355 " property\n\r");
356 356
357 /* Get the cpu -> pci i/o & mem mappings from the device tree */ 357 /* Get the cpu -> pci i/o & mem mappings from the device tree */
358 devp = finddevice("/mv64x60"); 358 devp = find_node_by_compatible(NULL, "marvell,mv64360");
359 if (devp == NULL) 359 if (devp == NULL)
360 fatal("Error: Missing /mv64x60 device tree node\n\r"); 360 fatal("Error: Missing marvell,mv64360 device tree node\n\r");
361 361
362 enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE)); 362 enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE));
363 enables |= 0x0007fe00; /* Disable all cpu->pci windows */ 363 enables |= 0x0007fe00; /* Disable all cpu->pci windows */
@@ -429,9 +429,9 @@ static void prpmc2800_fixups(void)
429 setprop(devp, "model", model, l); 429 setprop(devp, "model", model, l);
430 430
431 /* Set /cpus/PowerPC,7447/clock-frequency */ 431 /* Set /cpus/PowerPC,7447/clock-frequency */
432 devp = finddevice("/cpus/PowerPC,7447"); 432 devp = find_node_by_prop_value_str(NULL, "device_type", "cpu");
433 if (devp == NULL) 433 if (devp == NULL)
434 fatal("Error: Missing proper /cpus device tree node\n\r"); 434 fatal("Error: Missing proper cpu device tree node\n\r");
435 v[0] = bip->core_speed; 435 v[0] = bip->core_speed;
436 setprop(devp, "clock-frequency", &v[0], sizeof(v[0])); 436 setprop(devp, "clock-frequency", &v[0], sizeof(v[0]));
437 437
@@ -443,16 +443,17 @@ static void prpmc2800_fixups(void)
443 v[1] = bip->mem_size; 443 v[1] = bip->mem_size;
444 setprop(devp, "reg", v, sizeof(v)); 444 setprop(devp, "reg", v, sizeof(v));
445 445
446 /* Update /mv64x60/model, if this is a mv64362 */ 446 /* Update model, if this is a mv64362 */
447 if (bip->bridge_type == BRIDGE_TYPE_MV64362) { 447 if (bip->bridge_type == BRIDGE_TYPE_MV64362) {
448 devp = finddevice("/mv64x60"); 448 devp = find_node_by_compatible(NULL, "marvell,mv64360");
449 if (devp == NULL) 449 if (devp == NULL)
450 fatal("Error: Missing /mv64x60 device tree node\n\r"); 450 fatal("Error: Missing marvell,mv64360"
451 " device tree node\n\r");
451 setprop(devp, "model", "mv64362", strlen("mv64362") + 1); 452 setprop(devp, "model", "mv64362", strlen("mv64362") + 1);
452 } 453 }
453 454
454 /* Set User FLASH size */ 455 /* Set User FLASH size */
455 devp = finddevice("/mv64x60/flash@a0000000"); 456 devp = find_node_by_compatible(NULL, "direct-mapped");
456 if (devp == NULL) 457 if (devp == NULL)
457 fatal("Error: Missing User FLASH device tree node\n\r"); 458 fatal("Error: Missing User FLASH device tree node\n\r");
458 rc = getprop(devp, "reg", v, sizeof(v)); 459 rc = getprop(devp, "reg", v, sizeof(v));
diff --git a/arch/powerpc/boot/ps3-head.S b/arch/powerpc/boot/ps3-head.S
index a55c2735f75..b6fcbaf5027 100644
--- a/arch/powerpc/boot/ps3-head.S
+++ b/arch/powerpc/boot/ps3-head.S
@@ -27,8 +27,9 @@
27/* 27/*
28 * __system_reset_overlay - The PS3 first stage entry. 28 * __system_reset_overlay - The PS3 first stage entry.
29 * 29 *
30 * The bootwraper build script copies the 0x100 bytes at symbol 30 * The bootwraper build script copies the 512 bytes at symbol
31 * __system_reset_overlay to offset 0x100 of the rom image. 31 * __system_reset_overlay to offset 0x100 of the rom image. This symbol
32 * must occupy 512 or less bytes.
32 * 33 *
33 * The PS3 has a single processor with two threads. 34 * The PS3 has a single processor with two threads.
34 */ 35 */
@@ -47,8 +48,6 @@ __system_reset_overlay:
47 48
48 mfspr r3, 0x88 49 mfspr r3, 0x88
49 cntlzw. r3, r3 50 cntlzw. r3, r3
50 li r4, 0
51 li r5, 0
52 beq 1f 51 beq 1f
53 52
54 /* Secondary goes to __secondary_hold in kernel. */ 53 /* Secondary goes to __secondary_hold in kernel. */
@@ -57,8 +56,14 @@ __system_reset_overlay:
57 mtctr r4 56 mtctr r4
58 bctr 57 bctr
59 58
60 /* Primary delays then goes to _zimage_start in wrapper. */
611: 591:
60 /* Save the value at addr zero for a null pointer write check later. */
61
62 li r4, 0
63 lwz r3, 0(r4)
64
65 /* Primary delays then goes to _zimage_start in wrapper. */
66
62 or 31, 31, 31 /* db16cyc */ 67 or 31, 31, 31 /* db16cyc */
63 or 31, 31, 31 /* db16cyc */ 68 or 31, 31, 31 /* db16cyc */
64 69
@@ -67,16 +72,18 @@ __system_reset_overlay:
67 mtctr r4 72 mtctr r4
68 bctr 73 bctr
69 74
75 . = __system_reset_overlay + 512
76
70/* 77/*
71 * __system_reset_kernel - Place holder for the kernel reset vector. 78 * __system_reset_kernel - Place holder for the kernel reset vector.
72 * 79 *
73 * The bootwrapper build script copies 0x100 bytes from offset 0x100 80 * The bootwrapper build script copies 512 bytes from offset 0x100
74 * of the rom image to the symbol __system_reset_kernel. At runtime 81 * of the rom image to the symbol __system_reset_kernel. At runtime
75 * the bootwrapper program copies the 0x100 bytes at __system_reset_kernel 82 * the bootwrapper program copies the 512 bytes at __system_reset_kernel
76 * to ram address 0x100. This symbol must occupy 0x100 bytes. 83 * to ram address 0x100. This symbol must occupy 512 bytes.
77 */ 84 */
78 85
79 .globl __system_reset_kernel 86 .globl __system_reset_kernel
80__system_reset_kernel: 87__system_reset_kernel:
81 88
82 . = __system_reset_kernel + 0x100 89 . = __system_reset_kernel + 512
diff --git a/arch/powerpc/boot/ps3.c b/arch/powerpc/boot/ps3.c
index 3b0ac4d006e..9954d98871d 100644
--- a/arch/powerpc/boot/ps3.c
+++ b/arch/powerpc/boot/ps3.c
@@ -27,10 +27,10 @@
27#include "page.h" 27#include "page.h"
28#include "ops.h" 28#include "ops.h"
29 29
30extern s64 lv1_panic(u64 in_1); 30extern int lv1_panic(u64 in_1);
31extern s64 lv1_get_logical_partition_id(u64 *out_1); 31extern int lv1_get_logical_partition_id(u64 *out_1);
32extern s64 lv1_get_logical_ppe_id(u64 *out_1); 32extern int lv1_get_logical_ppe_id(u64 *out_1);
33extern s64 lv1_get_repository_node_value(u64 in_1, u64 in_2, u64 in_3, 33extern int lv1_get_repository_node_value(u64 in_1, u64 in_2, u64 in_3,
34 u64 in_4, u64 in_5, u64 *out_1, u64 *out_2); 34 u64 in_4, u64 in_5, u64 *out_1, u64 *out_2);
35 35
36#ifdef DEBUG 36#ifdef DEBUG
@@ -46,6 +46,7 @@ BSS_STACK(4096);
46 * edit the command line passed to vmlinux (by setting /chosen/bootargs). 46 * edit the command line passed to vmlinux (by setting /chosen/bootargs).
47 * The buffer is put in it's own section so that tools may locate it easier. 47 * The buffer is put in it's own section so that tools may locate it easier.
48 */ 48 */
49
49static char cmdline[COMMAND_LINE_SIZE] 50static char cmdline[COMMAND_LINE_SIZE]
50 __attribute__((__section__("__builtin_cmdline"))); 51 __attribute__((__section__("__builtin_cmdline")));
51 52
@@ -75,7 +76,7 @@ static void ps3_exit(void)
75 76
76static int ps3_repository_read_rm_size(u64 *rm_size) 77static int ps3_repository_read_rm_size(u64 *rm_size)
77{ 78{
78 s64 result; 79 int result;
79 u64 lpar_id; 80 u64 lpar_id;
80 u64 ppe_id; 81 u64 ppe_id;
81 u64 v2; 82 u64 v2;
@@ -114,16 +115,17 @@ void ps3_copy_vectors(void)
114{ 115{
115 extern char __system_reset_kernel[]; 116 extern char __system_reset_kernel[];
116 117
117 memcpy((void *)0x100, __system_reset_kernel, 0x100); 118 memcpy((void *)0x100, __system_reset_kernel, 512);
118 flush_cache((void *)0x100, 0x100); 119 flush_cache((void *)0x100, 512);
119} 120}
120 121
121void platform_init(void) 122void platform_init(unsigned long null_check)
122{ 123{
123 const u32 heapsize = 0x1000000 - (u32)_end; /* 16MiB */ 124 const u32 heapsize = 0x1000000 - (u32)_end; /* 16MiB */
124 void *chosen; 125 void *chosen;
125 unsigned long ft_addr; 126 unsigned long ft_addr;
126 u64 rm_size; 127 u64 rm_size;
128 unsigned long val;
127 129
128 console_ops.write = ps3_console_write; 130 console_ops.write = ps3_console_write;
129 platform_ops.exit = ps3_exit; 131 platform_ops.exit = ps3_exit;
@@ -151,6 +153,11 @@ void platform_init(void)
151 153
152 printf(" flat tree at 0x%lx\n\r", ft_addr); 154 printf(" flat tree at 0x%lx\n\r", ft_addr);
153 155
156 val = *(unsigned long *)0;
157
158 if (val != null_check)
159 printf("null check failed: %lx != %lx\n\r", val, null_check);
160
154 ((kernel_entry_t)0)(ft_addr, 0, NULL); 161 ((kernel_entry_t)0)(ft_addr, 0, NULL);
155 162
156 ps3_exit(); 163 ps3_exit();
diff --git a/arch/powerpc/boot/serial.c b/arch/powerpc/boot/serial.c
index 9960421eb6b..8b3607cb53f 100644
--- a/arch/powerpc/boot/serial.c
+++ b/arch/powerpc/boot/serial.c
@@ -119,7 +119,7 @@ int serial_console_init(void)
119 119
120 if (dt_is_compatible(devp, "ns16550")) 120 if (dt_is_compatible(devp, "ns16550"))
121 rc = ns16550_console_init(devp, &serial_cd); 121 rc = ns16550_console_init(devp, &serial_cd);
122 else if (dt_is_compatible(devp, "marvell,mpsc")) 122 else if (dt_is_compatible(devp, "marvell,mv64360-mpsc"))
123 rc = mpsc_console_init(devp, &serial_cd); 123 rc = mpsc_console_init(devp, &serial_cd);
124 else if (dt_is_compatible(devp, "fsl,cpm1-scc-uart") || 124 else if (dt_is_compatible(devp, "fsl,cpm1-scc-uart") ||
125 dt_is_compatible(devp, "fsl,cpm1-smc-uart") || 125 dt_is_compatible(devp, "fsl,cpm1-smc-uart") ||
diff --git a/arch/powerpc/boot/simpleboot.c b/arch/powerpc/boot/simpleboot.c
new file mode 100644
index 00000000000..86cd285bccc
--- /dev/null
+++ b/arch/powerpc/boot/simpleboot.c
@@ -0,0 +1,84 @@
1/*
2 * The simple platform -- for booting when firmware doesn't supply a device
3 * tree or any platform configuration information.
4 * All data is extracted from an embedded device tree
5 * blob.
6 *
7 * Authors: Scott Wood <scottwood@freescale.com>
8 * Grant Likely <grant.likely@secretlab.ca>
9 *
10 * Copyright (c) 2007 Freescale Semiconductor, Inc.
11 * Copyright (c) 2008 Secret Lab Technologies Ltd.
12 *
13 * This program is free software; you can redistribute it and/or modify it
14 * under the terms of the GNU General Public License version 2 as published
15 * by the Free Software Foundation.
16 */
17
18#include "ops.h"
19#include "types.h"
20#include "io.h"
21#include "stdio.h"
22#include "libfdt/libfdt.h"
23
24BSS_STACK(4*1024);
25
26void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
27 unsigned long r6, unsigned long r7)
28{
29 const u32 *na, *ns, *reg, *timebase;
30 u64 memsize64;
31 int node, size, i;
32
33 /* Make sure FDT blob is sane */
34 if (fdt_check_header(_dtb_start) != 0)
35 fatal("Invalid device tree blob\n");
36
37 /* Find the #address-cells and #size-cells properties */
38 node = fdt_path_offset(_dtb_start, "/");
39 if (node < 0)
40 fatal("Cannot find root node\n");
41 na = fdt_getprop(_dtb_start, node, "#address-cells", &size);
42 if (!na || (size != 4))
43 fatal("Cannot find #address-cells property");
44 ns = fdt_getprop(_dtb_start, node, "#size-cells", &size);
45 if (!ns || (size != 4))
46 fatal("Cannot find #size-cells property");
47
48 /* Find the memory range */
49 node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
50 "memory", sizeof("memory"));
51 if (node < 0)
52 fatal("Cannot find memory node\n");
53 reg = fdt_getprop(_dtb_start, node, "reg", &size);
54 if (size < (*na+*ns) * sizeof(u32))
55 fatal("cannot get memory range\n");
56
57 /* Only interested in memory based at 0 */
58 for (i = 0; i < *na; i++)
59 if (*reg++ != 0)
60 fatal("Memory range is not based at address 0\n");
61
62 /* get the memsize and trucate it to under 4G on 32 bit machines */
63 memsize64 = 0;
64 for (i = 0; i < *ns; i++)
65 memsize64 = (memsize64 << 32) | *reg++;
66 if (sizeof(void *) == 4 && memsize64 >= 0x100000000ULL)
67 memsize64 = 0xffffffff;
68
69 /* finally, setup the timebase */
70 node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
71 "cpu", sizeof("cpu"));
72 if (!node)
73 fatal("Cannot find cpu node\n");
74 timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
75 if (timebase && (size == 4))
76 timebase_period_ns = 1000000000 / *timebase;
77
78 /* Now we have the memory size; initialize the heap */
79 simple_alloc_init(_end, memsize64 - (unsigned long)_end, 32, 64);
80
81 /* prepare the device tree and find the console */
82 fdt_init(_dtb_start);
83 serial_console_init();
84}
diff --git a/arch/powerpc/boot/treeboot-walnut.c b/arch/powerpc/boot/treeboot-walnut.c
index 472e36605a5..097974e59fa 100644
--- a/arch/powerpc/boot/treeboot-walnut.c
+++ b/arch/powerpc/boot/treeboot-walnut.c
@@ -68,7 +68,7 @@ static void walnut_fixups(void)
68 ibm4xx_quiesce_eth((u32 *)0xef600800, NULL); 68 ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
69 ibm4xx_fixup_ebc_ranges("/plb/ebc"); 69 ibm4xx_fixup_ebc_ranges("/plb/ebc");
70 walnut_flashsel_fixup(); 70 walnut_flashsel_fixup();
71 dt_fixup_mac_addresses((u8 *) WALNUT_OPENBIOS_MAC_OFF); 71 dt_fixup_mac_address_by_alias("ethernet0", (u8 *) WALNUT_OPENBIOS_MAC_OFF);
72} 72}
73 73
74void platform_init(void) 74void platform_init(void)
diff --git a/arch/powerpc/boot/virtex405-head.S b/arch/powerpc/boot/virtex405-head.S
new file mode 100644
index 00000000000..3edb13f9466
--- /dev/null
+++ b/arch/powerpc/boot/virtex405-head.S
@@ -0,0 +1,30 @@
1#include "ppc_asm.h"
2
3 .text
4 .global _zimage_start
5_zimage_start:
6
7 /* PPC errata 213: needed by Virtex-4 FX */
8 mfccr0 0
9 oris 0,0,0x50000000@h
10 mtccr0 0
11
12 /*
13 * Invalidate the data cache if the data cache is turned off.
14 * - The 405 core does not invalidate the data cache on power-up
15 * or reset but does turn off the data cache. We cannot assume
16 * that the cache contents are valid.
17 * - If the data cache is turned on this must have been done by
18 * a bootloader and we assume that the cache contents are
19 * valid.
20 */
21 mfdccr r9
22 cmplwi r9,0
23 bne 2f
24 lis r9,0
25 li r8,256
26 mtctr r8
271: dccci r0,r9
28 addi r9,r9,0x20
29 bdnz 1b
302: b _zimage_start_lib
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 8f8b8494d62..d6c96d9ab29 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -174,7 +174,7 @@ 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|*-ksi8560*)
178 platformo=$object/cuboot-85xx-cpm2.o 178 platformo=$object/cuboot-85xx-cpm2.o
179 ;; 179 ;;
180 *-mpc85*|*-tqm8540|*-sbc85*) 180 *-mpc85*|*-tqm8540|*-sbc85*)
@@ -199,6 +199,10 @@ adder875-redboot)
199 platformo="$object/fixed-head.o $object/redboot-8xx.o" 199 platformo="$object/fixed-head.o $object/redboot-8xx.o"
200 binary=y 200 binary=y
201 ;; 201 ;;
202simpleboot-virtex405-*)
203 platformo="$object/virtex405-head.o $object/simpleboot.o"
204 binary=y
205 ;;
202esac 206esac
203 207
204vmz="$tmpdir/`basename \"$kernel\"`.$ext" 208vmz="$tmpdir/`basename \"$kernel\"`.$ext"
@@ -226,10 +230,13 @@ if [ -n "$version" ]; then
226 uboot_version="-n Linux-$version" 230 uboot_version="-n Linux-$version"
227fi 231fi
228 232
233# physical offset of kernel image
234membase=`${CROSS}objdump -p "$kernel" | grep -m 1 LOAD | awk '{print $7}'`
235
229case "$platform" in 236case "$platform" in
230uboot) 237uboot)
231 rm -f "$ofile" 238 rm -f "$ofile"
232 mkimage -A ppc -O linux -T kernel -C gzip -a 00000000 -e 00000000 \ 239 mkimage -A ppc -O linux -T kernel -C gzip -a $membase -e $membase \
233 $uboot_version -d "$vmz" "$ofile" 240 $uboot_version -d "$vmz" "$ofile"
234 if [ -z "$cacheit" ]; then 241 if [ -z "$cacheit" ]; then
235 rm -f "$vmz" 242 rm -f "$vmz"
@@ -298,15 +305,16 @@ treeboot*)
298 exit 0 305 exit 0
299 ;; 306 ;;
300ps3) 307ps3)
301 # The ps3's loader supports loading gzipped binary images from flash 308 # The ps3's loader supports loading a gzipped binary image from flash
302 # rom to addr zero. The loader enters the image at addr 0x100. A 309 # rom to ram addr zero. The loader then enters the system reset
303 # bootwrapper overlay is use to arrange for the kernel to be loaded 310 # vector at addr 0x100. A bootwrapper overlay is used to arrange for
304 # to addr zero and to have a suitable bootwrapper entry at 0x100. 311 # a binary image of the kernel to be at addr zero, and yet have a
305 # To construct the rom image, 0x100 bytes from offset 0x100 in the 312 # suitable bootwrapper entry at 0x100. To construct the final rom
306 # kernel is copied to the bootwrapper symbol __system_reset_kernel. 313 # image 512 bytes from offset 0x100 is copied to the bootwrapper
307 # The 0x100 bytes at the bootwrapper symbol __system_reset_overlay is 314 # place holder at symbol __system_reset_kernel. The 512 bytes of the
308 # then copied to offset 0x100. At runtime the bootwrapper program 315 # bootwrapper entry code at symbol __system_reset_overlay is then
309 # copies the 0x100 bytes at __system_reset_kernel to addr 0x100. 316 # copied to offset 0x100. At runtime the bootwrapper program copies
317 # the data at __system_reset_kernel back to addr 0x100.
310 318
311 system_reset_overlay=0x`${CROSS}nm "$ofile" \ 319 system_reset_overlay=0x`${CROSS}nm "$ofile" \
312 | grep ' __system_reset_overlay$' \ 320 | grep ' __system_reset_overlay$' \
@@ -317,7 +325,7 @@ ps3)
317 | cut -d' ' -f1` 325 | cut -d' ' -f1`
318 system_reset_kernel=`printf "%d" $system_reset_kernel` 326 system_reset_kernel=`printf "%d" $system_reset_kernel`
319 overlay_dest="256" 327 overlay_dest="256"
320 overlay_size="256" 328 overlay_size="512"
321 329
322 ${CROSS}objcopy -O binary "$ofile" "$ofile.bin" 330 ${CROSS}objcopy -O binary "$ofile" "$ofile.bin"
323 331
diff --git a/arch/powerpc/configs/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig
index e24240a9a04..e24240a9a04 100644
--- a/arch/powerpc/configs/ep405_defconfig
+++ b/arch/powerpc/configs/40x/ep405_defconfig
diff --git a/arch/powerpc/configs/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig
index 2f475391f1d..2f475391f1d 100644
--- a/arch/powerpc/configs/kilauea_defconfig
+++ b/arch/powerpc/configs/40x/kilauea_defconfig
diff --git a/arch/powerpc/configs/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig
index 9ef4d8a312c..9ef4d8a312c 100644
--- a/arch/powerpc/configs/makalu_defconfig
+++ b/arch/powerpc/configs/40x/makalu_defconfig
diff --git a/arch/powerpc/configs/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig
index 3b2689e5002..3b2689e5002 100644
--- a/arch/powerpc/configs/walnut_defconfig
+++ b/arch/powerpc/configs/40x/walnut_defconfig
diff --git a/arch/powerpc/configs/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig
index c44db554cdc..c44db554cdc 100644
--- a/arch/powerpc/configs/bamboo_defconfig
+++ b/arch/powerpc/configs/44x/bamboo_defconfig
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig
new file mode 100644
index 00000000000..a3b763c45ec
--- /dev/null
+++ b/arch/powerpc/configs/44x/canyonlands_defconfig
@@ -0,0 +1,721 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc1
4# Thu Feb 21 14:29:28 2008
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_6xx is not set
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15CONFIG_44x=y
16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y
18CONFIG_4xx=y
19CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y
22# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y
27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y
43CONFIG_GENERIC_NVRAM=y
44CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y
47CONFIG_OF=y
48CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y
52# CONFIG_DEFAULT_UIMAGE is not set
53CONFIG_PPC_DCR_NATIVE=y
54# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_PPC_DCR=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
57
58#
59# General setup
60#
61CONFIG_EXPERIMENTAL=y
62CONFIG_BROKEN_ON_SMP=y
63CONFIG_INIT_ENV_ARG_LIMIT=32
64CONFIG_LOCALVERSION=""
65CONFIG_LOCALVERSION_AUTO=y
66CONFIG_SWAP=y
67CONFIG_SYSVIPC=y
68CONFIG_SYSVIPC_SYSCTL=y
69CONFIG_POSIX_MQUEUE=y
70# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y
78# CONFIG_RELAY is not set
79# CONFIG_NAMESPACES is not set
80CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE=""
82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
83CONFIG_SYSCTL=y
84CONFIG_EMBEDDED=y
85CONFIG_SYSCTL_SYSCALL=y
86CONFIG_KALLSYMS=y
87# CONFIG_KALLSYMS_ALL is not set
88# CONFIG_KALLSYMS_EXTRA_PASS is not set
89CONFIG_HOTPLUG=y
90CONFIG_PRINTK=y
91# CONFIG_LOGBUFFER is not set
92CONFIG_BUG=y
93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
95CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
101CONFIG_EVENTFD=y
102CONFIG_SHMEM=y
103CONFIG_VM_EVENT_COUNTERS=y
104CONFIG_SLUB_DEBUG=y
105# CONFIG_SLAB is not set
106CONFIG_SLUB=y
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_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
115CONFIG_RT_MUTEXES=y
116# CONFIG_TINY_SHMEM is not set
117CONFIG_BASE_SMALL=0
118CONFIG_MODULES=y
119CONFIG_MODULE_UNLOAD=y
120# CONFIG_MODULE_FORCE_UNLOAD is not set
121# CONFIG_MODVERSIONS is not set
122# CONFIG_MODULE_SRCVERSION_ALL is not set
123CONFIG_KMOD=y
124CONFIG_BLOCK=y
125CONFIG_LBD=y
126# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set
129
130#
131# IO Schedulers
132#
133CONFIG_IOSCHED_NOOP=y
134CONFIG_IOSCHED_AS=y
135CONFIG_IOSCHED_DEADLINE=y
136CONFIG_IOSCHED_CFQ=y
137CONFIG_DEFAULT_AS=y
138# CONFIG_DEFAULT_DEADLINE is not set
139# CONFIG_DEFAULT_CFQ is not set
140# CONFIG_DEFAULT_NOOP is not set
141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
143# CONFIG_PREEMPT_RCU is not set
144CONFIG_PPC4xx_PCI_EXPRESS=y
145
146#
147# Platform support
148#
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_PPC_CELL is not set
152# CONFIG_PPC_CELL_NATIVE is not set
153# CONFIG_PQ2ADS is not set
154# CONFIG_BAMBOO is not set
155# CONFIG_EBONY is not set
156# CONFIG_SEQUOIA is not set
157# CONFIG_TAISHAN is not set
158# CONFIG_KATMAI is not set
159# CONFIG_RAINIER is not set
160# CONFIG_WARP is not set
161CONFIG_CANYONLANDS=y
162CONFIG_460EX=y
163# CONFIG_IPIC is not set
164# CONFIG_MPIC is not set
165# CONFIG_MPIC_WEIRD is not set
166# CONFIG_PPC_I8259 is not set
167# CONFIG_PPC_RTAS is not set
168# CONFIG_MMIO_NVRAM is not set
169# CONFIG_PPC_MPC106 is not set
170# CONFIG_PPC_970_NAP is not set
171# CONFIG_PPC_INDIRECT_IO is not set
172# CONFIG_GENERIC_IOMAP is not set
173# CONFIG_CPU_FREQ is not set
174# CONFIG_FSL_ULI1575 is not set
175
176#
177# Kernel options
178#
179# CONFIG_HIGHMEM is not set
180CONFIG_TICK_ONESHOT=y
181CONFIG_NO_HZ=y
182CONFIG_HIGH_RES_TIMERS=y
183CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
184# CONFIG_HZ_100 is not set
185CONFIG_HZ_250=y
186# CONFIG_HZ_300 is not set
187# CONFIG_HZ_1000 is not set
188CONFIG_HZ=250
189# CONFIG_SCHED_HRTICK is not set
190CONFIG_PREEMPT_NONE=y
191# CONFIG_PREEMPT_VOLUNTARY is not set
192# CONFIG_PREEMPT is not set
193CONFIG_RCU_TRACE=y
194CONFIG_BINFMT_ELF=y
195# CONFIG_BINFMT_MISC is not set
196# CONFIG_MATH_EMULATION is not set
197# CONFIG_IOMMU_HELPER is not set
198CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
199CONFIG_ARCH_HAS_WALK_MEMORY=y
200CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
201CONFIG_ARCH_FLATMEM_ENABLE=y
202CONFIG_ARCH_POPULATES_NODE_MAP=y
203CONFIG_SELECT_MEMORY_MODEL=y
204CONFIG_FLATMEM_MANUAL=y
205# CONFIG_DISCONTIGMEM_MANUAL is not set
206# CONFIG_SPARSEMEM_MANUAL is not set
207CONFIG_FLATMEM=y
208CONFIG_FLAT_NODE_MEM_MAP=y
209# CONFIG_SPARSEMEM_STATIC is not set
210# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
211CONFIG_SPLIT_PTLOCK_CPUS=4
212CONFIG_RESOURCES_64BIT=y
213CONFIG_ZONE_DMA_FLAG=1
214CONFIG_BOUNCE=y
215CONFIG_VIRT_TO_BUS=y
216CONFIG_PROC_DEVICETREE=y
217CONFIG_CMDLINE_BOOL=y
218CONFIG_CMDLINE=""
219CONFIG_SECCOMP=y
220CONFIG_WANT_DEVICE_TREE=y
221CONFIG_ISA_DMA_API=y
222
223#
224# Bus options
225#
226CONFIG_ZONE_DMA=y
227CONFIG_PPC_INDIRECT_PCI=y
228CONFIG_PCI=y
229CONFIG_PCI_DOMAINS=y
230CONFIG_PCI_SYSCALL=y
231# CONFIG_PCIEPORTBUS is not set
232CONFIG_ARCH_SUPPORTS_MSI=y
233# CONFIG_PCI_MSI is not set
234CONFIG_PCI_LEGACY=y
235# CONFIG_PCI_DEBUG is not set
236# CONFIG_PCCARD is not set
237# CONFIG_HOTPLUG_PCI is not set
238
239#
240# Advanced setup
241#
242# CONFIG_ADVANCED_OPTIONS is not set
243
244#
245# Default settings for advanced configuration options are used
246#
247CONFIG_HIGHMEM_START=0xfe000000
248CONFIG_LOWMEM_SIZE=0x30000000
249CONFIG_KERNEL_START=0xc0000000
250CONFIG_TASK_SIZE=0xc0000000
251CONFIG_CONSISTENT_START=0xff100000
252CONFIG_CONSISTENT_SIZE=0x00200000
253CONFIG_BOOT_LOAD=0x01000000
254
255#
256# Networking
257#
258CONFIG_NET=y
259
260#
261# Networking options
262#
263CONFIG_PACKET=y
264# CONFIG_PACKET_MMAP is not set
265CONFIG_UNIX=y
266# CONFIG_NET_KEY is not set
267CONFIG_INET=y
268# CONFIG_IP_MULTICAST is not set
269# CONFIG_IP_ADVANCED_ROUTER is not set
270CONFIG_IP_FIB_HASH=y
271CONFIG_IP_PNP=y
272CONFIG_IP_PNP_DHCP=y
273CONFIG_IP_PNP_BOOTP=y
274# CONFIG_IP_PNP_RARP is not set
275# CONFIG_NET_IPIP is not set
276# CONFIG_NET_IPGRE is not set
277# CONFIG_ARPD is not set
278# CONFIG_SYN_COOKIES is not set
279# CONFIG_INET_AH is not set
280# CONFIG_INET_ESP is not set
281# CONFIG_INET_IPCOMP is not set
282# CONFIG_INET_XFRM_TUNNEL is not set
283# CONFIG_INET_TUNNEL is not set
284# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
285# CONFIG_INET_XFRM_MODE_TUNNEL is not set
286# CONFIG_INET_XFRM_MODE_BEET is not set
287# CONFIG_INET_LRO is not set
288CONFIG_INET_DIAG=y
289CONFIG_INET_TCP_DIAG=y
290# CONFIG_TCP_CONG_ADVANCED is not set
291CONFIG_TCP_CONG_CUBIC=y
292CONFIG_DEFAULT_TCP_CONG="cubic"
293# CONFIG_TCP_MD5SIG is not set
294# CONFIG_IPV6 is not set
295# CONFIG_INET6_XFRM_TUNNEL is not set
296# CONFIG_INET6_TUNNEL is not set
297# CONFIG_NETWORK_SECMARK is not set
298# CONFIG_NETFILTER is not set
299# CONFIG_IP_DCCP is not set
300# CONFIG_IP_SCTP is not set
301# CONFIG_TIPC is not set
302# CONFIG_ATM is not set
303# CONFIG_BRIDGE is not set
304# CONFIG_VLAN_8021Q is not set
305# CONFIG_DECNET is not set
306# CONFIG_LLC2 is not set
307# CONFIG_IPX is not set
308# CONFIG_ATALK is not set
309# CONFIG_X25 is not set
310# CONFIG_LAPB is not set
311# CONFIG_ECONET is not set
312# CONFIG_WAN_ROUTER is not set
313# CONFIG_NET_SCHED is not set
314
315#
316# Network testing
317#
318# CONFIG_NET_PKTGEN is not set
319# CONFIG_HAMRADIO is not set
320# CONFIG_CAN is not set
321# CONFIG_IRDA is not set
322# CONFIG_BT is not set
323# CONFIG_AF_RXRPC is not set
324
325#
326# Wireless
327#
328# CONFIG_CFG80211 is not set
329# CONFIG_WIRELESS_EXT is not set
330# CONFIG_MAC80211 is not set
331# CONFIG_IEEE80211 is not set
332# CONFIG_RFKILL is not set
333# CONFIG_NET_9P is not set
334
335#
336# Device Drivers
337#
338
339#
340# Generic Driver Options
341#
342CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
343CONFIG_STANDALONE=y
344CONFIG_PREVENT_FIRMWARE_BUILD=y
345CONFIG_FW_LOADER=y
346# CONFIG_DEBUG_DRIVER is not set
347# CONFIG_DEBUG_DEVRES is not set
348# CONFIG_SYS_HYPERVISOR is not set
349CONFIG_CONNECTOR=y
350CONFIG_PROC_EVENTS=y
351# CONFIG_MTD is not set
352CONFIG_OF_DEVICE=y
353# CONFIG_PARPORT is not set
354CONFIG_BLK_DEV=y
355# CONFIG_BLK_DEV_FD is not set
356# CONFIG_BLK_CPQ_DA is not set
357# CONFIG_BLK_CPQ_CISS_DA is not set
358# CONFIG_BLK_DEV_DAC960 is not set
359# CONFIG_BLK_DEV_UMEM is not set
360# CONFIG_BLK_DEV_COW_COMMON is not set
361# CONFIG_BLK_DEV_LOOP is not set
362# CONFIG_BLK_DEV_NBD is not set
363# CONFIG_BLK_DEV_SX8 is not set
364CONFIG_BLK_DEV_RAM=y
365CONFIG_BLK_DEV_RAM_COUNT=16
366CONFIG_BLK_DEV_RAM_SIZE=35000
367# CONFIG_BLK_DEV_XIP is not set
368# CONFIG_CDROM_PKTCDVD is not set
369# CONFIG_ATA_OVER_ETH is not set
370# CONFIG_XILINX_SYSACE is not set
371# CONFIG_MISC_DEVICES is not set
372CONFIG_HAVE_IDE=y
373# CONFIG_IDE is not set
374
375#
376# SCSI device support
377#
378# CONFIG_RAID_ATTRS is not set
379# CONFIG_SCSI is not set
380# CONFIG_SCSI_DMA is not set
381# CONFIG_SCSI_NETLINK is not set
382# CONFIG_ATA is not set
383# CONFIG_MD is not set
384# CONFIG_FUSION is not set
385
386#
387# IEEE 1394 (FireWire) support
388#
389# CONFIG_FIREWIRE is not set
390# CONFIG_IEEE1394 is not set
391# CONFIG_I2O is not set
392# CONFIG_MACINTOSH_DRIVERS is not set
393CONFIG_NETDEVICES=y
394# CONFIG_NETDEVICES_MULTIQUEUE is not set
395# CONFIG_DUMMY is not set
396# CONFIG_BONDING is not set
397# CONFIG_MACVLAN is not set
398# CONFIG_EQUALIZER is not set
399# CONFIG_TUN is not set
400# CONFIG_VETH is not set
401# CONFIG_ARCNET is not set
402# CONFIG_PHYLIB is not set
403CONFIG_NET_ETHERNET=y
404# CONFIG_MII is not set
405# CONFIG_HAPPYMEAL is not set
406# CONFIG_SUNGEM is not set
407# CONFIG_CASSINI is not set
408# CONFIG_NET_VENDOR_3COM is not set
409# CONFIG_NET_TULIP is not set
410# CONFIG_HP100 is not set
411CONFIG_IBM_NEW_EMAC=y
412CONFIG_IBM_NEW_EMAC_RXB=256
413CONFIG_IBM_NEW_EMAC_TXB=256
414CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
415CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
416CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
417# CONFIG_IBM_NEW_EMAC_DEBUG is not set
418CONFIG_IBM_NEW_EMAC_ZMII=y
419CONFIG_IBM_NEW_EMAC_RGMII=y
420CONFIG_IBM_NEW_EMAC_TAH=y
421CONFIG_IBM_NEW_EMAC_EMAC4=y
422# CONFIG_NET_PCI is not set
423# CONFIG_B44 is not set
424# CONFIG_NETDEV_1000 is not set
425# CONFIG_NETDEV_10000 is not set
426# CONFIG_TR is not set
427
428#
429# Wireless LAN
430#
431# CONFIG_WLAN_PRE80211 is not set
432# CONFIG_WLAN_80211 is not set
433# CONFIG_WAN is not set
434# CONFIG_FDDI is not set
435# CONFIG_HIPPI is not set
436# CONFIG_PPP is not set
437# CONFIG_SLIP is not set
438# CONFIG_NETCONSOLE is not set
439# CONFIG_NETPOLL is not set
440# CONFIG_NET_POLL_CONTROLLER is not set
441# CONFIG_ISDN is not set
442# CONFIG_PHONE is not set
443
444#
445# Input device support
446#
447# CONFIG_INPUT is not set
448
449#
450# Hardware I/O ports
451#
452# CONFIG_SERIO is not set
453# CONFIG_GAMEPORT is not set
454
455#
456# Character devices
457#
458# CONFIG_VT is not set
459# CONFIG_SERIAL_NONSTANDARD is not set
460# CONFIG_NOZOMI is not set
461
462#
463# Serial drivers
464#
465CONFIG_SERIAL_8250=y
466CONFIG_SERIAL_8250_CONSOLE=y
467# CONFIG_SERIAL_8250_PCI is not set
468CONFIG_SERIAL_8250_NR_UARTS=4
469CONFIG_SERIAL_8250_RUNTIME_UARTS=4
470CONFIG_SERIAL_8250_EXTENDED=y
471# CONFIG_SERIAL_8250_MANY_PORTS is not set
472CONFIG_SERIAL_8250_SHARE_IRQ=y
473# CONFIG_SERIAL_8250_DETECT_IRQ is not set
474# CONFIG_SERIAL_8250_RSA is not set
475
476#
477# Non-8250 serial port support
478#
479# CONFIG_SERIAL_UARTLITE is not set
480CONFIG_SERIAL_CORE=y
481CONFIG_SERIAL_CORE_CONSOLE=y
482# CONFIG_SERIAL_JSM is not set
483CONFIG_SERIAL_OF_PLATFORM=y
484CONFIG_UNIX98_PTYS=y
485CONFIG_LEGACY_PTYS=y
486CONFIG_LEGACY_PTY_COUNT=256
487# CONFIG_IPMI_HANDLER is not set
488# CONFIG_HW_RANDOM is not set
489# CONFIG_NVRAM is not set
490# CONFIG_GEN_RTC is not set
491# CONFIG_R3964 is not set
492# CONFIG_APPLICOM is not set
493# CONFIG_RAW_DRIVER is not set
494# CONFIG_TCG_TPM is not set
495CONFIG_DEVPORT=y
496# CONFIG_I2C is not set
497
498#
499# SPI support
500#
501# CONFIG_SPI is not set
502# CONFIG_SPI_MASTER is not set
503# CONFIG_W1 is not set
504# CONFIG_POWER_SUPPLY is not set
505# CONFIG_HWMON is not set
506# CONFIG_THERMAL is not set
507# CONFIG_WATCHDOG is not set
508
509#
510# Sonics Silicon Backplane
511#
512CONFIG_SSB_POSSIBLE=y
513# CONFIG_SSB is not set
514
515#
516# Multifunction device drivers
517#
518# CONFIG_MFD_SM501 is not set
519
520#
521# Multimedia devices
522#
523# CONFIG_VIDEO_DEV is not set
524# CONFIG_DVB_CORE is not set
525CONFIG_DAB=y
526
527#
528# Graphics support
529#
530# CONFIG_AGP is not set
531# CONFIG_DRM is not set
532# CONFIG_VGASTATE is not set
533CONFIG_VIDEO_OUTPUT_CONTROL=m
534# CONFIG_FB is not set
535# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
536
537#
538# Display device support
539#
540# CONFIG_DISPLAY_SUPPORT is not set
541
542#
543# Sound
544#
545# CONFIG_SOUND is not set
546# CONFIG_USB_SUPPORT is not set
547# CONFIG_MMC is not set
548# CONFIG_MEMSTICK is not set
549# CONFIG_NEW_LEDS is not set
550# CONFIG_INFINIBAND is not set
551# CONFIG_EDAC is not set
552# CONFIG_RTC_CLASS is not set
553
554#
555# Userspace I/O
556#
557# CONFIG_UIO is not set
558
559#
560# File systems
561#
562CONFIG_EXT2_FS=y
563# CONFIG_EXT2_FS_XATTR is not set
564# CONFIG_EXT2_FS_XIP is not set
565# CONFIG_EXT3_FS is not set
566# CONFIG_EXT4DEV_FS is not set
567# CONFIG_REISERFS_FS is not set
568# CONFIG_JFS_FS is not set
569# CONFIG_FS_POSIX_ACL is not set
570# CONFIG_XFS_FS is not set
571# CONFIG_GFS2_FS is not set
572# CONFIG_OCFS2_FS is not set
573CONFIG_DNOTIFY=y
574CONFIG_INOTIFY=y
575CONFIG_INOTIFY_USER=y
576# CONFIG_QUOTA is not set
577# CONFIG_AUTOFS_FS is not set
578# CONFIG_AUTOFS4_FS is not set
579# CONFIG_FUSE_FS is not set
580
581#
582# CD-ROM/DVD Filesystems
583#
584# CONFIG_ISO9660_FS is not set
585# CONFIG_UDF_FS is not set
586
587#
588# DOS/FAT/NT Filesystems
589#
590# CONFIG_MSDOS_FS is not set
591# CONFIG_VFAT_FS is not set
592# CONFIG_NTFS_FS is not set
593
594#
595# Pseudo filesystems
596#
597CONFIG_PROC_FS=y
598CONFIG_PROC_KCORE=y
599CONFIG_PROC_SYSCTL=y
600CONFIG_SYSFS=y
601CONFIG_TMPFS=y
602# CONFIG_TMPFS_POSIX_ACL is not set
603# CONFIG_HUGETLB_PAGE is not set
604# CONFIG_CONFIGFS_FS is not set
605
606#
607# Miscellaneous filesystems
608#
609# CONFIG_ADFS_FS is not set
610# CONFIG_AFFS_FS is not set
611# CONFIG_HFS_FS is not set
612# CONFIG_HFSPLUS_FS is not set
613# CONFIG_BEFS_FS is not set
614# CONFIG_BFS_FS is not set
615# CONFIG_EFS_FS is not set
616CONFIG_CRAMFS=y
617# CONFIG_VXFS_FS is not set
618# CONFIG_MINIX_FS is not set
619# CONFIG_HPFS_FS is not set
620# CONFIG_QNX4FS_FS is not set
621# CONFIG_ROMFS_FS is not set
622# CONFIG_SYSV_FS is not set
623# CONFIG_UFS_FS is not set
624CONFIG_NETWORK_FILESYSTEMS=y
625CONFIG_NFS_FS=y
626CONFIG_NFS_V3=y
627# CONFIG_NFS_V3_ACL is not set
628# CONFIG_NFS_V4 is not set
629# CONFIG_NFS_DIRECTIO is not set
630# CONFIG_NFSD is not set
631CONFIG_ROOT_NFS=y
632CONFIG_LOCKD=y
633CONFIG_LOCKD_V4=y
634CONFIG_NFS_COMMON=y
635CONFIG_SUNRPC=y
636# CONFIG_SUNRPC_BIND34 is not set
637# CONFIG_RPCSEC_GSS_KRB5 is not set
638# CONFIG_RPCSEC_GSS_SPKM3 is not set
639# CONFIG_SMB_FS is not set
640# CONFIG_CIFS is not set
641# CONFIG_NCP_FS is not set
642# CONFIG_CODA_FS is not set
643# CONFIG_AFS_FS is not set
644
645#
646# Partition Types
647#
648# CONFIG_PARTITION_ADVANCED is not set
649CONFIG_MSDOS_PARTITION=y
650# CONFIG_NLS is not set
651# CONFIG_DLM is not set
652
653#
654# Library routines
655#
656CONFIG_BITREVERSE=y
657# CONFIG_CRC_CCITT is not set
658# CONFIG_CRC16 is not set
659# CONFIG_CRC_ITU_T is not set
660CONFIG_CRC32=y
661# CONFIG_CRC7 is not set
662# CONFIG_LIBCRC32C is not set
663CONFIG_ZLIB_INFLATE=y
664CONFIG_PLIST=y
665CONFIG_HAS_IOMEM=y
666CONFIG_HAS_IOPORT=y
667CONFIG_HAS_DMA=y
668
669#
670# Kernel hacking
671#
672# CONFIG_PRINTK_TIME is not set
673CONFIG_ENABLE_WARN_DEPRECATED=y
674CONFIG_ENABLE_MUST_CHECK=y
675CONFIG_MAGIC_SYSRQ=y
676# CONFIG_UNUSED_SYMBOLS is not set
677CONFIG_DEBUG_FS=y
678# CONFIG_HEADERS_CHECK is not set
679CONFIG_DEBUG_KERNEL=y
680# CONFIG_DEBUG_SHIRQ is not set
681CONFIG_DETECT_SOFTLOCKUP=y
682CONFIG_SCHED_DEBUG=y
683# CONFIG_SCHEDSTATS is not set
684# CONFIG_TIMER_STATS is not set
685# CONFIG_SLUB_DEBUG_ON is not set
686# CONFIG_SLUB_STATS is not set
687# CONFIG_DEBUG_RT_MUTEXES is not set
688# CONFIG_RT_MUTEX_TESTER is not set
689# CONFIG_DEBUG_SPINLOCK is not set
690# CONFIG_DEBUG_MUTEXES is not set
691# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
692# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
693# CONFIG_DEBUG_KOBJECT is not set
694# CONFIG_DEBUG_BUGVERBOSE is not set
695# CONFIG_DEBUG_INFO is not set
696# CONFIG_DEBUG_VM is not set
697# CONFIG_DEBUG_LIST is not set
698# CONFIG_DEBUG_SG is not set
699# CONFIG_BOOT_PRINTK_DELAY is not set
700# CONFIG_RCU_TORTURE_TEST is not set
701# CONFIG_BACKTRACE_SELF_TEST is not set
702# CONFIG_FAULT_INJECTION is not set
703# CONFIG_SAMPLES is not set
704# CONFIG_DEBUG_STACKOVERFLOW is not set
705# CONFIG_DEBUG_STACK_USAGE is not set
706# CONFIG_DEBUG_PAGEALLOC is not set
707CONFIG_DEBUGGER=y
708# CONFIG_KGDB is not set
709# CONFIG_XMON is not set
710# CONFIG_VIRQ_DEBUG is not set
711# CONFIG_BDI_SWITCH is not set
712# CONFIG_PPC_EARLY_DEBUG is not set
713
714#
715# Security options
716#
717# CONFIG_KEYS is not set
718# CONFIG_SECURITY is not set
719# CONFIG_SECURITY_FILE_CAPABILITIES is not set
720# CONFIG_CRYPTO is not set
721# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig
index 07c8d4ce175..07c8d4ce175 100644
--- a/arch/powerpc/configs/ebony_defconfig
+++ b/arch/powerpc/configs/44x/ebony_defconfig
diff --git a/arch/powerpc/configs/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig
index c8804ec01ea..c8804ec01ea 100644
--- a/arch/powerpc/configs/katmai_defconfig
+++ b/arch/powerpc/configs/44x/katmai_defconfig
diff --git a/arch/powerpc/configs/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig
index dec18ca7351..dec18ca7351 100644
--- a/arch/powerpc/configs/rainier_defconfig
+++ b/arch/powerpc/configs/44x/rainier_defconfig
diff --git a/arch/powerpc/configs/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig
index dd5d6303c39..dd5d6303c39 100644
--- a/arch/powerpc/configs/sequoia_defconfig
+++ b/arch/powerpc/configs/44x/sequoia_defconfig
diff --git a/arch/powerpc/configs/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig
index 087aedce133..087aedce133 100644
--- a/arch/powerpc/configs/taishan_defconfig
+++ b/arch/powerpc/configs/44x/taishan_defconfig
diff --git a/arch/powerpc/configs/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig
index 2313c3e8ef6..2313c3e8ef6 100644
--- a/arch/powerpc/configs/warp_defconfig
+++ b/arch/powerpc/configs/44x/warp_defconfig
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 38b85b211c3..d7fd298bd23 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 10:33:36 2008 4# Thu Mar 27 13:55:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -74,8 +74,6 @@ CONFIG_IKCONFIG_PROC=y
74CONFIG_LOG_BUF_SHIFT=15 74CONFIG_LOG_BUF_SHIFT=15
75# CONFIG_CGROUPS is not set 75# CONFIG_CGROUPS is not set
76# CONFIG_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
79CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y 78CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
@@ -243,7 +241,7 @@ CONFIG_PCI_SYSCALL=y
243# CONFIG_PCIEPORTBUS is not set 241# CONFIG_PCIEPORTBUS is not set
244CONFIG_ARCH_SUPPORTS_MSI=y 242CONFIG_ARCH_SUPPORTS_MSI=y
245# CONFIG_PCI_MSI is not set 243# CONFIG_PCI_MSI is not set
246CONFIG_PCI_LEGACY=y 244# CONFIG_PCI_LEGACY is not set
247# CONFIG_PCI_DEBUG is not set 245# CONFIG_PCI_DEBUG is not set
248# CONFIG_PCCARD is not set 246# CONFIG_PCCARD is not set
249# CONFIG_HOTPLUG_PCI is not set 247# CONFIG_HOTPLUG_PCI is not set
@@ -1328,6 +1326,7 @@ CONFIG_PLIST=y
1328CONFIG_HAS_IOMEM=y 1326CONFIG_HAS_IOMEM=y
1329CONFIG_HAS_IOPORT=y 1327CONFIG_HAS_IOPORT=y
1330CONFIG_HAS_DMA=y 1328CONFIG_HAS_DMA=y
1329CONFIG_HAVE_LMB=y
1331 1330
1332# 1331#
1333# Kernel hacking 1332# Kernel hacking
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 0f82f66a60f..a20501f8947 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 10:36:41 2008 4# Thu Mar 27 13:55:43 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=17 77CONFIG_LOG_BUF_SHIFT=17
78# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
79# CONFIG_GROUP_SCHED is not set 79# CONFIG_GROUP_SCHED is not set
80# CONFIG_USER_SCHED is not set
81# CONFIG_CGROUP_SCHED is not set
82CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y 81CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
@@ -276,7 +274,7 @@ CONFIG_PCI_SYSCALL=y
276# CONFIG_PCIEPORTBUS is not set 274# CONFIG_PCIEPORTBUS is not set
277CONFIG_ARCH_SUPPORTS_MSI=y 275CONFIG_ARCH_SUPPORTS_MSI=y
278CONFIG_PCI_MSI=y 276CONFIG_PCI_MSI=y
279CONFIG_PCI_LEGACY=y 277# CONFIG_PCI_LEGACY is not set
280# CONFIG_PCI_DEBUG is not set 278# CONFIG_PCI_DEBUG is not set
281# CONFIG_PCCARD is not set 279# CONFIG_PCCARD is not set
282# CONFIG_HOTPLUG_PCI is not set 280# CONFIG_HOTPLUG_PCI is not set
@@ -1596,6 +1594,7 @@ CONFIG_PLIST=y
1596CONFIG_HAS_IOMEM=y 1594CONFIG_HAS_IOMEM=y
1597CONFIG_HAS_IOPORT=y 1595CONFIG_HAS_IOPORT=y
1598CONFIG_HAS_DMA=y 1596CONFIG_HAS_DMA=y
1597CONFIG_HAVE_LMB=y
1599 1598
1600# 1599#
1601# Kernel hacking 1600# Kernel hacking
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 8d9a84f5015..b3128fb7ce7 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 10:43:46 2008 4# Thu Mar 27 13:55:45 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=17 77CONFIG_LOG_BUF_SHIFT=17
78# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
79# CONFIG_GROUP_SCHED is not set 79# CONFIG_GROUP_SCHED is not set
80# CONFIG_USER_SCHED is not set
81# CONFIG_CGROUP_SCHED is not set
82CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y 81CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
@@ -261,7 +259,7 @@ CONFIG_PCI_SYSCALL=y
261# CONFIG_PCIEPORTBUS is not set 259# CONFIG_PCIEPORTBUS is not set
262CONFIG_ARCH_SUPPORTS_MSI=y 260CONFIG_ARCH_SUPPORTS_MSI=y
263# CONFIG_PCI_MSI is not set 261# CONFIG_PCI_MSI is not set
264CONFIG_PCI_LEGACY=y 262# CONFIG_PCI_LEGACY is not set
265# CONFIG_PCI_DEBUG is not set 263# CONFIG_PCI_DEBUG is not set
266# CONFIG_PCCARD is not set 264# CONFIG_PCCARD is not set
267# CONFIG_HOTPLUG_PCI is not set 265# CONFIG_HOTPLUG_PCI is not set
@@ -1065,6 +1063,7 @@ CONFIG_PLIST=y
1065CONFIG_HAS_IOMEM=y 1063CONFIG_HAS_IOMEM=y
1066CONFIG_HAS_IOPORT=y 1064CONFIG_HAS_IOPORT=y
1067CONFIG_HAS_DMA=y 1065CONFIG_HAS_DMA=y
1066CONFIG_HAVE_LMB=y
1068 1067
1069# 1068#
1070# Kernel hacking 1069# Kernel hacking
diff --git a/arch/powerpc/configs/ksi8560_defconfig b/arch/powerpc/configs/ksi8560_defconfig
new file mode 100644
index 00000000000..2d0debcefdb
--- /dev/null
+++ b/arch/powerpc/configs/ksi8560_defconfig
@@ -0,0 +1,899 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24
4# Mon Feb 11 16:25:19 2008
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_6xx is not set
12CONFIG_PPC_85xx=y
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15# CONFIG_44x is not set
16# CONFIG_E200 is not set
17CONFIG_E500=y
18CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y
27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y
43CONFIG_GENERIC_NVRAM=y
44CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y
47CONFIG_OF=y
48CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y
52CONFIG_DEFAULT_UIMAGE=y
53# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56
57#
58# General setup
59#
60CONFIG_EXPERIMENTAL=y
61CONFIG_BROKEN_ON_SMP=y
62CONFIG_INIT_ENV_ARG_LIMIT=32
63CONFIG_LOCALVERSION=""
64CONFIG_LOCALVERSION_AUTO=y
65CONFIG_SWAP=y
66CONFIG_SYSVIPC=y
67CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_POSIX_MQUEUE is not set
69# CONFIG_BSD_PROCESS_ACCT 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
74# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_FAIR_USER_SCHED=y
79# CONFIG_FAIR_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y
81# CONFIG_RELAY is not set
82CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
85CONFIG_SYSCTL=y
86CONFIG_EMBEDDED=y
87CONFIG_SYSCTL_SYSCALL=y
88CONFIG_KALLSYMS=y
89# CONFIG_KALLSYMS_ALL is not set
90# CONFIG_KALLSYMS_EXTRA_PASS is not set
91CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y
93CONFIG_BUG=y
94CONFIG_ELF_CORE=y
95CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
101CONFIG_EVENTFD=y
102CONFIG_SHMEM=y
103CONFIG_VM_EVENT_COUNTERS=y
104CONFIG_SLUB_DEBUG=y
105# CONFIG_SLAB is not set
106CONFIG_SLUB=y
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_PROC_PAGE_MONITOR=y
113CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set
116CONFIG_BASE_SMALL=0
117# CONFIG_MODULES is not set
118CONFIG_BLOCK=y
119# CONFIG_LBD is not set
120# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set
122# CONFIG_BLK_DEV_BSG is not set
123
124#
125# IO Schedulers
126#
127CONFIG_IOSCHED_NOOP=y
128CONFIG_IOSCHED_AS=y
129CONFIG_IOSCHED_DEADLINE=y
130CONFIG_IOSCHED_CFQ=y
131CONFIG_DEFAULT_AS=y
132# CONFIG_DEFAULT_DEADLINE is not set
133# CONFIG_DEFAULT_CFQ is not set
134# CONFIG_DEFAULT_NOOP is not set
135CONFIG_DEFAULT_IOSCHED="anticipatory"
136CONFIG_CLASSIC_RCU=y
137# CONFIG_PREEMPT_RCU is not set
138
139#
140# Platform support
141#
142# CONFIG_PPC_MPC512x is not set
143# CONFIG_PPC_MPC5121 is not set
144# CONFIG_PPC_CELL is not set
145# CONFIG_PPC_CELL_NATIVE is not set
146# CONFIG_PQ2ADS is not set
147CONFIG_MPC85xx=y
148# CONFIG_MPC8540_ADS is not set
149# CONFIG_MPC8560_ADS is not set
150# CONFIG_MPC85xx_CDS is not set
151# CONFIG_MPC85xx_MDS is not set
152# CONFIG_MPC85xx_DS is not set
153CONFIG_KSI8560=y
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
159# CONFIG_SBC8548 is not set
160# CONFIG_SBC8560 is not set
161# CONFIG_IPIC is not set
162CONFIG_MPIC=y
163# CONFIG_MPIC_WEIRD is not set
164# CONFIG_PPC_I8259 is not set
165# CONFIG_PPC_RTAS is not set
166# CONFIG_MMIO_NVRAM is not set
167# CONFIG_PPC_MPC106 is not set
168# CONFIG_PPC_970_NAP is not set
169# CONFIG_PPC_INDIRECT_IO is not set
170# CONFIG_GENERIC_IOMAP is not set
171# CONFIG_CPU_FREQ is not set
172CONFIG_CPM2=y
173CONFIG_PPC_CPM_NEW_BINDING=y
174# CONFIG_FSL_ULI1575 is not set
175CONFIG_CPM=y
176
177#
178# Kernel options
179#
180CONFIG_HIGHMEM=y
181# CONFIG_TICK_ONESHOT is not set
182# CONFIG_NO_HZ is not set
183# CONFIG_HIGH_RES_TIMERS is not set
184CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
185# CONFIG_HZ_100 is not set
186CONFIG_HZ_250=y
187# CONFIG_HZ_300 is not set
188# CONFIG_HZ_1000 is not set
189CONFIG_HZ=250
190# CONFIG_SCHED_HRTICK is not set
191CONFIG_PREEMPT_NONE=y
192# CONFIG_PREEMPT_VOLUNTARY is not set
193# CONFIG_PREEMPT is not set
194CONFIG_RCU_TRACE=y
195CONFIG_BINFMT_ELF=y
196CONFIG_BINFMT_MISC=y
197CONFIG_MATH_EMULATION=y
198# CONFIG_IOMMU_HELPER is not set
199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
200CONFIG_ARCH_FLATMEM_ENABLE=y
201CONFIG_ARCH_POPULATES_NODE_MAP=y
202CONFIG_SELECT_MEMORY_MODEL=y
203CONFIG_FLATMEM_MANUAL=y
204# CONFIG_DISCONTIGMEM_MANUAL is not set
205# CONFIG_SPARSEMEM_MANUAL is not set
206CONFIG_FLATMEM=y
207CONFIG_FLAT_NODE_MEM_MAP=y
208# CONFIG_SPARSEMEM_STATIC is not set
209# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
210CONFIG_SPLIT_PTLOCK_CPUS=4
211# CONFIG_RESOURCES_64BIT is not set
212CONFIG_ZONE_DMA_FLAG=1
213CONFIG_BOUNCE=y
214CONFIG_VIRT_TO_BUS=y
215# CONFIG_PROC_DEVICETREE is not set
216# CONFIG_CMDLINE_BOOL is not set
217# CONFIG_PM is not set
218# CONFIG_SECCOMP is not set
219CONFIG_WANT_DEVICE_TREE=y
220CONFIG_ISA_DMA_API=y
221
222#
223# Bus options
224#
225CONFIG_ZONE_DMA=y
226CONFIG_FSL_SOC=y
227# CONFIG_PCI is not set
228# CONFIG_PCI_DOMAINS is not set
229# CONFIG_PCI_SYSCALL is not set
230# CONFIG_ARCH_SUPPORTS_MSI is not set
231# CONFIG_PCCARD is not set
232
233#
234# Advanced setup
235#
236# CONFIG_ADVANCED_OPTIONS is not set
237
238#
239# Default settings for advanced configuration options are used
240#
241CONFIG_HIGHMEM_START=0xfe000000
242CONFIG_LOWMEM_SIZE=0x30000000
243CONFIG_KERNEL_START=0xc0000000
244CONFIG_TASK_SIZE=0xc0000000
245CONFIG_BOOT_LOAD=0x00800000
246
247#
248# Networking
249#
250CONFIG_NET=y
251
252#
253# Networking options
254#
255CONFIG_PACKET=y
256# CONFIG_PACKET_MMAP is not set
257CONFIG_UNIX=y
258CONFIG_XFRM=y
259# CONFIG_XFRM_USER is not set
260# CONFIG_XFRM_SUB_POLICY is not set
261# CONFIG_XFRM_MIGRATE is not set
262# CONFIG_XFRM_STATISTICS is not set
263# CONFIG_NET_KEY is not set
264CONFIG_INET=y
265CONFIG_IP_MULTICAST=y
266# CONFIG_IP_ADVANCED_ROUTER is not set
267CONFIG_IP_FIB_HASH=y
268CONFIG_IP_PNP=y
269CONFIG_IP_PNP_DHCP=y
270CONFIG_IP_PNP_BOOTP=y
271# CONFIG_IP_PNP_RARP is not set
272# CONFIG_NET_IPIP is not set
273# CONFIG_NET_IPGRE is not set
274# CONFIG_IP_MROUTE is not set
275# CONFIG_ARPD is not set
276CONFIG_SYN_COOKIES=y
277# CONFIG_INET_AH is not set
278# CONFIG_INET_ESP is not set
279# CONFIG_INET_IPCOMP is not set
280# CONFIG_INET_XFRM_TUNNEL is not set
281# CONFIG_INET_TUNNEL is not set
282CONFIG_INET_XFRM_MODE_TRANSPORT=y
283CONFIG_INET_XFRM_MODE_TUNNEL=y
284CONFIG_INET_XFRM_MODE_BEET=y
285# CONFIG_INET_LRO is not set
286CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set
289CONFIG_TCP_CONG_CUBIC=y
290CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_TCP_MD5SIG is not set
292# CONFIG_IPV6 is not set
293# CONFIG_INET6_XFRM_TUNNEL is not set
294# CONFIG_INET6_TUNNEL is not set
295# CONFIG_NETWORK_SECMARK is not set
296# CONFIG_NETFILTER is not set
297# CONFIG_IP_DCCP is not set
298# CONFIG_IP_SCTP is not set
299# CONFIG_TIPC is not set
300# CONFIG_ATM is not set
301# CONFIG_BRIDGE is not set
302# CONFIG_VLAN_8021Q is not set
303# CONFIG_DECNET is not set
304# CONFIG_LLC2 is not set
305# CONFIG_IPX is not set
306# CONFIG_ATALK is not set
307# CONFIG_X25 is not set
308# CONFIG_LAPB is not set
309# CONFIG_ECONET is not set
310# CONFIG_WAN_ROUTER is not set
311# CONFIG_NET_SCHED is not set
312
313#
314# Network testing
315#
316# CONFIG_NET_PKTGEN is not set
317# CONFIG_HAMRADIO is not set
318# CONFIG_CAN is not set
319# CONFIG_IRDA is not set
320# CONFIG_BT is not set
321# CONFIG_AF_RXRPC is not set
322
323#
324# Wireless
325#
326# CONFIG_CFG80211 is not set
327# CONFIG_WIRELESS_EXT is not set
328# CONFIG_MAC80211 is not set
329# CONFIG_IEEE80211 is not set
330# CONFIG_RFKILL is not set
331# CONFIG_NET_9P is not set
332
333#
334# Device Drivers
335#
336
337#
338# Generic Driver Options
339#
340CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
341CONFIG_STANDALONE=y
342CONFIG_PREVENT_FIRMWARE_BUILD=y
343# CONFIG_FW_LOADER is not set
344# CONFIG_DEBUG_DRIVER is not set
345# CONFIG_DEBUG_DEVRES is not set
346# CONFIG_SYS_HYPERVISOR is not set
347# CONFIG_CONNECTOR is not set
348CONFIG_MTD=y
349# CONFIG_MTD_DEBUG is not set
350CONFIG_MTD_CONCAT=y
351CONFIG_MTD_PARTITIONS=y
352# CONFIG_MTD_REDBOOT_PARTS is not set
353# CONFIG_MTD_CMDLINE_PARTS is not set
354
355#
356# User Modules And Translation Layers
357#
358CONFIG_MTD_CHAR=y
359CONFIG_MTD_BLKDEVS=y
360CONFIG_MTD_BLOCK=y
361# CONFIG_FTL is not set
362# CONFIG_NFTL is not set
363# CONFIG_INFTL is not set
364# CONFIG_RFD_FTL is not set
365# CONFIG_SSFDC is not set
366# CONFIG_MTD_OOPS is not set
367
368#
369# RAM/ROM/Flash chip drivers
370#
371CONFIG_MTD_CFI=y
372CONFIG_MTD_JEDECPROBE=y
373CONFIG_MTD_GEN_PROBE=y
374# CONFIG_MTD_CFI_ADV_OPTIONS is not set
375CONFIG_MTD_MAP_BANK_WIDTH_1=y
376CONFIG_MTD_MAP_BANK_WIDTH_2=y
377CONFIG_MTD_MAP_BANK_WIDTH_4=y
378# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
379# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
380# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
381CONFIG_MTD_CFI_I1=y
382CONFIG_MTD_CFI_I2=y
383# CONFIG_MTD_CFI_I4 is not set
384# CONFIG_MTD_CFI_I8 is not set
385# CONFIG_MTD_CFI_INTELEXT is not set
386CONFIG_MTD_CFI_AMDSTD=y
387# CONFIG_MTD_CFI_STAA is not set
388CONFIG_MTD_CFI_UTIL=y
389# CONFIG_MTD_RAM is not set
390# CONFIG_MTD_ROM is not set
391# CONFIG_MTD_ABSENT is not set
392
393#
394# Mapping drivers for chip access
395#
396# CONFIG_MTD_COMPLEX_MAPPINGS is not set
397# CONFIG_MTD_PHYSMAP is not set
398CONFIG_MTD_PHYSMAP_OF=y
399# CONFIG_MTD_PLATRAM is not set
400
401#
402# Self-contained MTD device drivers
403#
404# CONFIG_MTD_SLRAM is not set
405# CONFIG_MTD_PHRAM is not set
406# CONFIG_MTD_MTDRAM is not set
407# CONFIG_MTD_BLOCK2MTD is not set
408
409#
410# Disk-On-Chip Device Drivers
411#
412# CONFIG_MTD_DOC2000 is not set
413# CONFIG_MTD_DOC2001 is not set
414# CONFIG_MTD_DOC2001PLUS is not set
415# CONFIG_MTD_NAND is not set
416# CONFIG_MTD_ONENAND is not set
417
418#
419# UBI - Unsorted block images
420#
421# CONFIG_MTD_UBI is not set
422CONFIG_OF_DEVICE=y
423# CONFIG_PARPORT is not set
424CONFIG_BLK_DEV=y
425# CONFIG_BLK_DEV_FD is not set
426# CONFIG_BLK_DEV_COW_COMMON is not set
427CONFIG_BLK_DEV_LOOP=y
428# CONFIG_BLK_DEV_CRYPTOLOOP is not set
429# CONFIG_BLK_DEV_NBD is not set
430CONFIG_BLK_DEV_RAM=y
431CONFIG_BLK_DEV_RAM_COUNT=16
432CONFIG_BLK_DEV_RAM_SIZE=32768
433CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
434# CONFIG_CDROM_PKTCDVD is not set
435# CONFIG_ATA_OVER_ETH is not set
436CONFIG_MISC_DEVICES=y
437# CONFIG_EEPROM_93CX6 is not set
438CONFIG_IDE=y
439CONFIG_IDE_MAX_HWIFS=4
440CONFIG_BLK_DEV_IDE=y
441
442#
443# Please see Documentation/ide.txt for help/info on IDE drives
444#
445# CONFIG_BLK_DEV_IDE_SATA is not set
446# CONFIG_BLK_DEV_IDEDISK is not set
447# CONFIG_IDEDISK_MULTI_MODE is not set
448# CONFIG_BLK_DEV_IDECD is not set
449# CONFIG_BLK_DEV_IDETAPE is not set
450# CONFIG_BLK_DEV_IDEFLOPPY is not set
451# CONFIG_IDE_TASK_IOCTL is not set
452CONFIG_IDE_PROC_FS=y
453
454#
455# IDE chipset support/bugfixes
456#
457CONFIG_IDE_GENERIC=y
458# CONFIG_BLK_DEV_PLATFORM is not set
459# CONFIG_BLK_DEV_IDEDMA is not set
460CONFIG_IDE_ARCH_OBSOLETE_INIT=y
461# CONFIG_BLK_DEV_HD is not set
462
463#
464# SCSI device support
465#
466# CONFIG_RAID_ATTRS is not set
467# CONFIG_SCSI is not set
468# CONFIG_SCSI_DMA is not set
469# CONFIG_SCSI_NETLINK is not set
470# CONFIG_ATA is not set
471# CONFIG_MD is not set
472# CONFIG_MACINTOSH_DRIVERS is not set
473CONFIG_NETDEVICES=y
474# CONFIG_NETDEVICES_MULTIQUEUE is not set
475# CONFIG_DUMMY is not set
476# CONFIG_BONDING is not set
477# CONFIG_MACVLAN is not set
478# CONFIG_EQUALIZER is not set
479# CONFIG_TUN is not set
480# CONFIG_VETH is not set
481CONFIG_PHYLIB=y
482
483#
484# MII PHY device drivers
485#
486CONFIG_MARVELL_PHY=y
487# CONFIG_DAVICOM_PHY is not set
488# CONFIG_QSEMI_PHY is not set
489# CONFIG_LXT_PHY is not set
490# CONFIG_CICADA_PHY is not set
491# CONFIG_VITESSE_PHY is not set
492# CONFIG_SMSC_PHY is not set
493# CONFIG_BROADCOM_PHY is not set
494# CONFIG_ICPLUS_PHY is not set
495# CONFIG_REALTEK_PHY is not set
496# CONFIG_FIXED_PHY is not set
497CONFIG_MDIO_BITBANG=y
498CONFIG_NET_ETHERNET=y
499CONFIG_MII=y
500# CONFIG_IBM_NEW_EMAC_ZMII is not set
501# CONFIG_IBM_NEW_EMAC_RGMII is not set
502# CONFIG_IBM_NEW_EMAC_TAH is not set
503# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
504# CONFIG_B44 is not set
505CONFIG_FS_ENET=y
506# CONFIG_FS_ENET_HAS_SCC is not set
507CONFIG_FS_ENET_HAS_FCC=y
508CONFIG_FS_ENET_MDIO_FCC=y
509CONFIG_NETDEV_1000=y
510# CONFIG_E1000E_ENABLED is not set
511CONFIG_GIANFAR=y
512CONFIG_GFAR_NAPI=y
513CONFIG_NETDEV_10000=y
514
515#
516# Wireless LAN
517#
518# CONFIG_WLAN_PRE80211 is not set
519# CONFIG_WLAN_80211 is not set
520# CONFIG_WAN is not set
521# CONFIG_PPP is not set
522# CONFIG_SLIP is not set
523# CONFIG_NETCONSOLE is not set
524# CONFIG_NETPOLL is not set
525# CONFIG_NET_POLL_CONTROLLER is not set
526# CONFIG_ISDN is not set
527# CONFIG_PHONE is not set
528
529#
530# Input device support
531#
532CONFIG_INPUT=y
533# CONFIG_INPUT_FF_MEMLESS is not set
534# CONFIG_INPUT_POLLDEV is not set
535
536#
537# Userland interfaces
538#
539# CONFIG_INPUT_MOUSEDEV is not set
540# CONFIG_INPUT_JOYDEV is not set
541# CONFIG_INPUT_EVDEV is not set
542# CONFIG_INPUT_EVBUG is not set
543
544#
545# Input Device Drivers
546#
547# CONFIG_INPUT_KEYBOARD is not set
548# CONFIG_INPUT_MOUSE is not set
549# CONFIG_INPUT_JOYSTICK is not set
550# CONFIG_INPUT_TABLET is not set
551# CONFIG_INPUT_TOUCHSCREEN is not set
552# CONFIG_INPUT_MISC is not set
553
554#
555# Hardware I/O ports
556#
557# CONFIG_SERIO is not set
558# CONFIG_GAMEPORT is not set
559
560#
561# Character devices
562#
563# CONFIG_VT is not set
564# CONFIG_SERIAL_NONSTANDARD is not set
565
566#
567# Serial drivers
568#
569# CONFIG_SERIAL_8250 is not set
570
571#
572# Non-8250 serial port support
573#
574# CONFIG_SERIAL_UARTLITE is not set
575CONFIG_SERIAL_CORE=y
576CONFIG_SERIAL_CORE_CONSOLE=y
577CONFIG_SERIAL_CPM=y
578CONFIG_SERIAL_CPM_CONSOLE=y
579CONFIG_SERIAL_CPM_SCC1=y
580# CONFIG_SERIAL_CPM_SCC2 is not set
581# CONFIG_SERIAL_CPM_SCC3 is not set
582# CONFIG_SERIAL_CPM_SCC4 is not set
583# CONFIG_SERIAL_CPM_SMC1 is not set
584# CONFIG_SERIAL_CPM_SMC2 is not set
585CONFIG_UNIX98_PTYS=y
586CONFIG_LEGACY_PTYS=y
587CONFIG_LEGACY_PTY_COUNT=256
588# CONFIG_IPMI_HANDLER is not set
589CONFIG_HW_RANDOM=y
590# CONFIG_NVRAM is not set
591CONFIG_GEN_RTC=y
592# CONFIG_GEN_RTC_X is not set
593# CONFIG_R3964 is not set
594# CONFIG_RAW_DRIVER is not set
595# CONFIG_TCG_TPM is not set
596# CONFIG_I2C is not set
597
598#
599# SPI support
600#
601# CONFIG_SPI is not set
602# CONFIG_SPI_MASTER is not set
603# CONFIG_W1 is not set
604# CONFIG_POWER_SUPPLY is not set
605CONFIG_HWMON=y
606# CONFIG_HWMON_VID is not set
607# CONFIG_SENSORS_F71805F is not set
608# CONFIG_SENSORS_F71882FG is not set
609# CONFIG_SENSORS_IT87 is not set
610# CONFIG_SENSORS_PC87360 is not set
611# CONFIG_SENSORS_PC87427 is not set
612# CONFIG_SENSORS_SMSC47M1 is not set
613# CONFIG_SENSORS_SMSC47B397 is not set
614# CONFIG_SENSORS_VT1211 is not set
615# CONFIG_SENSORS_W83627HF is not set
616# CONFIG_SENSORS_W83627EHF is not set
617# CONFIG_HWMON_DEBUG_CHIP is not set
618# CONFIG_WATCHDOG is not set
619
620#
621# Sonics Silicon Backplane
622#
623CONFIG_SSB_POSSIBLE=y
624# CONFIG_SSB is not set
625
626#
627# Multifunction device drivers
628#
629# CONFIG_MFD_SM501 is not set
630
631#
632# Multimedia devices
633#
634# CONFIG_VIDEO_DEV is not set
635# CONFIG_DVB_CORE is not set
636CONFIG_DAB=y
637
638#
639# Graphics support
640#
641# CONFIG_VGASTATE is not set
642CONFIG_VIDEO_OUTPUT_CONTROL=y
643# CONFIG_FB is not set
644# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
645
646#
647# Display device support
648#
649# CONFIG_DISPLAY_SUPPORT is not set
650
651#
652# Sound
653#
654# CONFIG_SOUND is not set
655CONFIG_HID_SUPPORT=y
656CONFIG_HID=y
657# CONFIG_HID_DEBUG is not set
658# CONFIG_HIDRAW is not set
659CONFIG_USB_SUPPORT=y
660# CONFIG_USB_ARCH_HAS_HCD is not set
661# CONFIG_USB_ARCH_HAS_OHCI is not set
662# CONFIG_USB_ARCH_HAS_EHCI is not set
663
664#
665# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
666#
667# CONFIG_USB_GADGET is not set
668# CONFIG_MMC is not set
669# CONFIG_NEW_LEDS is not set
670# CONFIG_EDAC is not set
671# CONFIG_RTC_CLASS is not set
672
673#
674# Userspace I/O
675#
676# CONFIG_UIO is not set
677
678#
679# File systems
680#
681CONFIG_EXT2_FS=y
682# CONFIG_EXT2_FS_XATTR is not set
683# CONFIG_EXT2_FS_XIP is not set
684CONFIG_EXT3_FS=y
685CONFIG_EXT3_FS_XATTR=y
686# CONFIG_EXT3_FS_POSIX_ACL is not set
687# CONFIG_EXT3_FS_SECURITY is not set
688# CONFIG_EXT4DEV_FS is not set
689CONFIG_JBD=y
690# CONFIG_JBD_DEBUG is not set
691CONFIG_FS_MBCACHE=y
692# CONFIG_REISERFS_FS is not set
693# CONFIG_JFS_FS is not set
694# CONFIG_FS_POSIX_ACL is not set
695# CONFIG_XFS_FS is not set
696# CONFIG_GFS2_FS is not set
697# CONFIG_OCFS2_FS is not set
698# CONFIG_MINIX_FS is not set
699# CONFIG_ROMFS_FS is not set
700CONFIG_INOTIFY=y
701CONFIG_INOTIFY_USER=y
702# CONFIG_QUOTA is not set
703CONFIG_DNOTIFY=y
704# CONFIG_AUTOFS_FS is not set
705# CONFIG_AUTOFS4_FS is not set
706# CONFIG_FUSE_FS is not set
707
708#
709# CD-ROM/DVD Filesystems
710#
711# CONFIG_ISO9660_FS is not set
712# CONFIG_UDF_FS is not set
713
714#
715# DOS/FAT/NT Filesystems
716#
717# CONFIG_MSDOS_FS is not set
718# CONFIG_VFAT_FS is not set
719# CONFIG_NTFS_FS is not set
720
721#
722# Pseudo filesystems
723#
724CONFIG_PROC_FS=y
725CONFIG_PROC_KCORE=y
726CONFIG_PROC_SYSCTL=y
727CONFIG_SYSFS=y
728CONFIG_TMPFS=y
729# CONFIG_TMPFS_POSIX_ACL is not set
730# CONFIG_HUGETLB_PAGE is not set
731# CONFIG_CONFIGFS_FS is not set
732
733#
734# Miscellaneous filesystems
735#
736# CONFIG_ADFS_FS is not set
737# CONFIG_AFFS_FS is not set
738# CONFIG_HFS_FS is not set
739# CONFIG_HFSPLUS_FS is not set
740# CONFIG_BEFS_FS is not set
741# CONFIG_BFS_FS is not set
742# CONFIG_EFS_FS is not set
743# CONFIG_JFFS2_FS is not set
744# CONFIG_CRAMFS is not set
745# CONFIG_VXFS_FS is not set
746# CONFIG_HPFS_FS is not set
747# CONFIG_QNX4FS_FS is not set
748# CONFIG_SYSV_FS is not set
749# CONFIG_UFS_FS is not set
750CONFIG_NETWORK_FILESYSTEMS=y
751CONFIG_NFS_FS=y
752# CONFIG_NFS_V3 is not set
753# CONFIG_NFS_V4 is not set
754# CONFIG_NFS_DIRECTIO is not set
755# CONFIG_NFSD is not set
756CONFIG_ROOT_NFS=y
757CONFIG_LOCKD=y
758CONFIG_NFS_COMMON=y
759CONFIG_SUNRPC=y
760# CONFIG_SUNRPC_BIND34 is not set
761# CONFIG_RPCSEC_GSS_KRB5 is not set
762# CONFIG_RPCSEC_GSS_SPKM3 is not set
763# CONFIG_SMB_FS is not set
764# CONFIG_CIFS is not set
765# CONFIG_NCP_FS is not set
766# CONFIG_CODA_FS is not set
767# CONFIG_AFS_FS is not set
768
769#
770# Partition Types
771#
772CONFIG_PARTITION_ADVANCED=y
773# CONFIG_ACORN_PARTITION is not set
774# CONFIG_OSF_PARTITION is not set
775# CONFIG_AMIGA_PARTITION is not set
776# CONFIG_ATARI_PARTITION is not set
777# CONFIG_MAC_PARTITION is not set
778# CONFIG_MSDOS_PARTITION is not set
779# CONFIG_LDM_PARTITION is not set
780# CONFIG_SGI_PARTITION is not set
781# CONFIG_ULTRIX_PARTITION is not set
782# CONFIG_SUN_PARTITION is not set
783# CONFIG_KARMA_PARTITION is not set
784# CONFIG_EFI_PARTITION is not set
785# CONFIG_SYSV68_PARTITION is not set
786# CONFIG_NLS is not set
787# CONFIG_DLM is not set
788
789#
790# Library routines
791#
792CONFIG_BITREVERSE=y
793# CONFIG_CRC_CCITT is not set
794# CONFIG_CRC16 is not set
795# CONFIG_CRC_ITU_T is not set
796CONFIG_CRC32=y
797# CONFIG_CRC7 is not set
798# CONFIG_LIBCRC32C is not set
799CONFIG_PLIST=y
800CONFIG_HAS_IOMEM=y
801CONFIG_HAS_IOPORT=y
802CONFIG_HAS_DMA=y
803
804#
805# Kernel hacking
806#
807# CONFIG_PRINTK_TIME is not set
808CONFIG_ENABLE_WARN_DEPRECATED=y
809CONFIG_ENABLE_MUST_CHECK=y
810# CONFIG_MAGIC_SYSRQ is not set
811# CONFIG_UNUSED_SYMBOLS is not set
812CONFIG_DEBUG_FS=y
813# CONFIG_HEADERS_CHECK is not set
814CONFIG_DEBUG_KERNEL=y
815# CONFIG_DEBUG_SHIRQ is not set
816CONFIG_DETECT_SOFTLOCKUP=y
817CONFIG_SCHED_DEBUG=y
818# CONFIG_SCHEDSTATS is not set
819# CONFIG_TIMER_STATS is not set
820# CONFIG_SLUB_DEBUG_ON is not set
821# CONFIG_DEBUG_RT_MUTEXES is not set
822# CONFIG_RT_MUTEX_TESTER is not set
823# CONFIG_DEBUG_SPINLOCK is not set
824CONFIG_DEBUG_MUTEXES=y
825# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
826# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
827# CONFIG_DEBUG_KOBJECT is not set
828# CONFIG_DEBUG_HIGHMEM is not set
829# CONFIG_DEBUG_BUGVERBOSE is not set
830# CONFIG_DEBUG_INFO is not set
831# CONFIG_DEBUG_VM is not set
832# CONFIG_DEBUG_LIST is not set
833# CONFIG_DEBUG_SG is not set
834CONFIG_FORCED_INLINING=y
835# CONFIG_BOOT_PRINTK_DELAY is not set
836# CONFIG_BACKTRACE_SELF_TEST is not set
837# CONFIG_FAULT_INJECTION is not set
838# CONFIG_SAMPLES is not set
839# CONFIG_DEBUG_STACKOVERFLOW is not set
840# CONFIG_DEBUG_STACK_USAGE is not set
841# CONFIG_DEBUG_PAGEALLOC is not set
842# CONFIG_DEBUGGER is not set
843# CONFIG_KGDB_CONSOLE is not set
844# CONFIG_VIRQ_DEBUG is not set
845# CONFIG_BDI_SWITCH is not set
846# CONFIG_PPC_EARLY_DEBUG is not set
847
848#
849# Security options
850#
851# CONFIG_KEYS is not set
852# CONFIG_SECURITY is not set
853# CONFIG_SECURITY_FILE_CAPABILITIES is not set
854CONFIG_CRYPTO=y
855# CONFIG_CRYPTO_SEQIV is not set
856# CONFIG_CRYPTO_MANAGER is not set
857# CONFIG_CRYPTO_HMAC is not set
858# CONFIG_CRYPTO_XCBC is not set
859# CONFIG_CRYPTO_NULL is not set
860# CONFIG_CRYPTO_MD4 is not set
861# CONFIG_CRYPTO_MD5 is not set
862# CONFIG_CRYPTO_SHA1 is not set
863# CONFIG_CRYPTO_SHA256 is not set
864# CONFIG_CRYPTO_SHA512 is not set
865# CONFIG_CRYPTO_WP512 is not set
866# CONFIG_CRYPTO_TGR192 is not set
867# CONFIG_CRYPTO_GF128MUL is not set
868# CONFIG_CRYPTO_ECB is not set
869# CONFIG_CRYPTO_CBC is not set
870# CONFIG_CRYPTO_PCBC 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
876# CONFIG_CRYPTO_CRYPTD is not set
877# CONFIG_CRYPTO_DES is not set
878# CONFIG_CRYPTO_FCRYPT is not set
879# CONFIG_CRYPTO_BLOWFISH is not set
880# CONFIG_CRYPTO_TWOFISH is not set
881# CONFIG_CRYPTO_SERPENT is not set
882# CONFIG_CRYPTO_AES is not set
883# CONFIG_CRYPTO_CAST5 is not set
884# CONFIG_CRYPTO_CAST6 is not set
885# CONFIG_CRYPTO_TEA is not set
886# CONFIG_CRYPTO_ARC4 is not set
887# CONFIG_CRYPTO_KHAZAD is not set
888# CONFIG_CRYPTO_ANUBIS is not set
889# CONFIG_CRYPTO_SEED is not set
890# CONFIG_CRYPTO_SALSA20 is not set
891# CONFIG_CRYPTO_DEFLATE is not set
892# CONFIG_CRYPTO_MICHAEL_MIC is not set
893# CONFIG_CRYPTO_CRC32C is not set
894# CONFIG_CRYPTO_CAMELLIA is not set
895# CONFIG_CRYPTO_AUTHENC is not set
896# CONFIG_CRYPTO_LZO is not set
897CONFIG_CRYPTO_HW=y
898# CONFIG_PPC_CLOCK is not set
899CONFIG_PPC_LIB_RHEAP=y
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/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 8b810d05644..7a166a39d92 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -333,7 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
333CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 333CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
334CONFIG_STANDALONE=y 334CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 335CONFIG_PREVENT_FIRMWARE_BUILD=y
336# CONFIG_FW_LOADER is not set 336CONFIG_FW_LOADER=y
337# CONFIG_DEBUG_DRIVER is not set 337# CONFIG_DEBUG_DRIVER is not set
338# CONFIG_DEBUG_DEVRES is not set 338# CONFIG_DEBUG_DEVRES is not set
339# CONFIG_SYS_HYPERVISOR is not set 339# CONFIG_SYS_HYPERVISOR is not set
@@ -374,6 +374,7 @@ CONFIG_BLK_DEV_IDEDISK=y
374CONFIG_BLK_DEV_IDECD=y 374CONFIG_BLK_DEV_IDECD=y
375# CONFIG_BLK_DEV_IDETAPE is not set 375# CONFIG_BLK_DEV_IDETAPE is not set
376# CONFIG_BLK_DEV_IDEFLOPPY is not set 376# CONFIG_BLK_DEV_IDEFLOPPY is not set
377# CONFIG_BLK_DEV_IDESCSI is not set
377CONFIG_IDE_TASK_IOCTL=y 378CONFIG_IDE_TASK_IOCTL=y
378CONFIG_IDE_PROC_FS=y 379CONFIG_IDE_PROC_FS=y
379 380
@@ -427,10 +428,129 @@ CONFIG_IDE_ARCH_OBSOLETE_INIT=y
427# SCSI device support 428# SCSI device support
428# 429#
429# CONFIG_RAID_ATTRS is not set 430# CONFIG_RAID_ATTRS is not set
430# CONFIG_SCSI is not set 431CONFIG_SCSI=y
431# CONFIG_SCSI_DMA is not set 432CONFIG_SCSI_DMA=y
433# CONFIG_SCSI_TGT is not set
432# CONFIG_SCSI_NETLINK is not set 434# CONFIG_SCSI_NETLINK is not set
433# CONFIG_ATA is not set 435# CONFIG_SCSI_PROC_FS is not set
436
437#
438# SCSI support type (disk, tape, CD-ROM)
439#
440CONFIG_BLK_DEV_SD=y
441# CONFIG_CHR_DEV_ST is not set
442# CONFIG_CHR_DEV_OSST is not set
443# CONFIG_BLK_DEV_SR is not set
444CONFIG_CHR_DEV_SG=y
445# CONFIG_CHR_DEV_SCH is not set
446
447#
448# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
449#
450# CONFIG_SCSI_MULTI_LUN is not set
451# CONFIG_SCSI_CONSTANTS is not set
452# CONFIG_SCSI_LOGGING is not set
453# CONFIG_SCSI_SCAN_ASYNC is not set
454CONFIG_SCSI_WAIT_SCAN=m
455
456#
457# SCSI Transports
458#
459# CONFIG_SCSI_SPI_ATTRS is not set
460# CONFIG_SCSI_FC_ATTRS is not set
461# CONFIG_SCSI_ISCSI_ATTRS is not set
462# CONFIG_SCSI_SAS_LIBSAS is not set
463# CONFIG_SCSI_SRP_ATTRS is not set
464CONFIG_SCSI_LOWLEVEL=y
465# CONFIG_ISCSI_TCP is not set
466# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
467# CONFIG_SCSI_3W_9XXX is not set
468# CONFIG_SCSI_ACARD is not set
469# CONFIG_SCSI_AACRAID is not set
470# CONFIG_SCSI_AIC7XXX is not set
471# CONFIG_SCSI_AIC7XXX_OLD is not set
472# CONFIG_SCSI_AIC79XX is not set
473# CONFIG_SCSI_AIC94XX is not set
474# CONFIG_SCSI_ARCMSR is not set
475# CONFIG_MEGARAID_NEWGEN is not set
476# CONFIG_MEGARAID_LEGACY is not set
477# CONFIG_MEGARAID_SAS is not set
478# CONFIG_SCSI_HPTIOP is not set
479# CONFIG_SCSI_DMX3191D is not set
480# CONFIG_SCSI_EATA is not set
481# CONFIG_SCSI_FUTURE_DOMAIN is not set
482# CONFIG_SCSI_GDTH is not set
483# CONFIG_SCSI_IPS is not set
484# CONFIG_SCSI_INITIO is not set
485# CONFIG_SCSI_INIA100 is not set
486# CONFIG_SCSI_STEX is not set
487# CONFIG_SCSI_SYM53C8XX_2 is not set
488CONFIG_SCSI_IPR=y
489CONFIG_SCSI_IPR_TRACE=y
490CONFIG_SCSI_IPR_DUMP=y
491# CONFIG_SCSI_QLOGIC_1280 is not set
492# CONFIG_SCSI_QLA_FC is not set
493# CONFIG_SCSI_QLA_ISCSI is not set
494# CONFIG_SCSI_LPFC is not set
495# CONFIG_SCSI_DC395x is not set
496# CONFIG_SCSI_DC390T is not set
497# CONFIG_SCSI_DEBUG is not set
498# CONFIG_SCSI_SRP is not set
499CONFIG_ATA=y
500CONFIG_ATA_NONSTANDARD=y
501# CONFIG_SATA_AHCI is not set
502# CONFIG_SATA_SVW is not set
503# CONFIG_ATA_PIIX is not set
504# CONFIG_SATA_MV is not set
505# CONFIG_SATA_NV is not set
506# CONFIG_PDC_ADMA is not set
507# CONFIG_SATA_QSTOR is not set
508# CONFIG_SATA_PROMISE is not set
509# CONFIG_SATA_SX4 is not set
510# CONFIG_SATA_SIL is not set
511# CONFIG_SATA_SIL24 is not set
512# CONFIG_SATA_SIS is not set
513# CONFIG_SATA_ULI is not set
514# CONFIG_SATA_VIA is not set
515# CONFIG_SATA_VITESSE is not set
516# CONFIG_SATA_INIC162X is not set
517# CONFIG_PATA_ALI is not set
518# CONFIG_PATA_AMD is not set
519# CONFIG_PATA_ARTOP is not set
520# CONFIG_PATA_ATIIXP is not set
521# CONFIG_PATA_CMD640_PCI is not set
522# CONFIG_PATA_CMD64X is not set
523# CONFIG_PATA_CS5520 is not set
524# CONFIG_PATA_CS5530 is not set
525# CONFIG_PATA_CYPRESS is not set
526# CONFIG_PATA_EFAR is not set
527# CONFIG_ATA_GENERIC is not set
528# CONFIG_PATA_HPT366 is not set
529# CONFIG_PATA_HPT37X is not set
530# CONFIG_PATA_HPT3X2N is not set
531# CONFIG_PATA_HPT3X3 is not set
532# CONFIG_PATA_IT821X is not set
533# CONFIG_PATA_IT8213 is not set
534# CONFIG_PATA_JMICRON is not set
535# CONFIG_PATA_TRIFLEX is not set
536# CONFIG_PATA_MARVELL is not set
537# CONFIG_PATA_MPIIX is not set
538# CONFIG_PATA_OLDPIIX is not set
539# CONFIG_PATA_NETCELL is not set
540# CONFIG_PATA_NS87410 is not set
541# CONFIG_PATA_NS87415 is not set
542# CONFIG_PATA_OPTI is not set
543# CONFIG_PATA_OPTIDMA is not set
544# CONFIG_PATA_PDC_OLD is not set
545# CONFIG_PATA_RADISYS is not set
546# CONFIG_PATA_RZ1000 is not set
547# CONFIG_PATA_SC1200 is not set
548# CONFIG_PATA_SERVERWORKS is not set
549# CONFIG_PATA_PDC2027X is not set
550# CONFIG_PATA_SIL680 is not set
551# CONFIG_PATA_SIS is not set
552# CONFIG_PATA_VIA is not set
553# CONFIG_PATA_WINBOND is not set
434# CONFIG_MD is not set 554# CONFIG_MD is not set
435# CONFIG_FUSION is not set 555# CONFIG_FUSION is not set
436 556
@@ -536,6 +656,7 @@ CONFIG_USB_PEGASUS=y
536# CONFIG_HIPPI is not set 656# CONFIG_HIPPI is not set
537# CONFIG_PPP is not set 657# CONFIG_PPP is not set
538# CONFIG_SLIP is not set 658# CONFIG_SLIP is not set
659# CONFIG_NET_FC is not set
539# CONFIG_SHAPER is not set 660# CONFIG_SHAPER is not set
540# CONFIG_NETCONSOLE is not set 661# CONFIG_NETCONSOLE is not set
541# CONFIG_NETPOLL is not set 662# CONFIG_NETPOLL is not set
@@ -783,12 +904,14 @@ CONFIG_USB_UHCI_HCD=y
783# 904#
784# may also be needed; see USB_STORAGE Help for more information 905# may also be needed; see USB_STORAGE Help for more information
785# 906#
907# CONFIG_USB_STORAGE is not set
786# CONFIG_USB_LIBUSUAL is not set 908# CONFIG_USB_LIBUSUAL is not set
787 909
788# 910#
789# USB Imaging devices 911# USB Imaging devices
790# 912#
791# CONFIG_USB_MDC800 is not set 913# CONFIG_USB_MDC800 is not set
914# CONFIG_USB_MICROTEK is not set
792CONFIG_USB_MON=y 915CONFIG_USB_MON=y
793 916
794# 917#
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..50cceda8994 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-rc7
4# Thu Dec 6 16:48:33 2007 4# Mon Mar 31 11:36:51 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,14 +621,14 @@ 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
599# CONFIG_IPMI_HANDLER is not set 628# CONFIG_IPMI_HANDLER is not set
600CONFIG_HW_RANDOM=y 629CONFIG_HW_RANDOM=y
601# CONFIG_NVRAM is not set 630# CONFIG_NVRAM is not set
602CONFIG_GEN_RTC=y 631# CONFIG_GEN_RTC is not set
603# CONFIG_GEN_RTC_X is not set
604# CONFIG_R3964 is not set 632# CONFIG_R3964 is not set
605# CONFIG_APPLICOM is not set 633# CONFIG_APPLICOM is not set
606# CONFIG_RAW_DRIVER is not set 634# CONFIG_RAW_DRIVER is not set
@@ -647,14 +675,12 @@ CONFIG_I2C_MPC=y
647# 675#
648# Miscellaneous I2C Chip support 676# Miscellaneous I2C Chip support
649# 677#
650# CONFIG_SENSORS_DS1337 is not set
651# CONFIG_SENSORS_DS1374 is not set
652# CONFIG_DS1682 is not set 678# CONFIG_DS1682 is not set
653# CONFIG_SENSORS_EEPROM is not set 679# CONFIG_SENSORS_EEPROM is not set
654# CONFIG_SENSORS_PCF8574 is not set 680# CONFIG_SENSORS_PCF8574 is not set
655# CONFIG_SENSORS_PCA9539 is not set 681# CONFIG_PCF8575 is not set
656# CONFIG_SENSORS_PCF8591 is not set 682# CONFIG_SENSORS_PCF8591 is not set
657# CONFIG_SENSORS_M41T00 is not set 683# CONFIG_TPS65010 is not set
658# CONFIG_SENSORS_MAX6875 is not set 684# CONFIG_SENSORS_MAX6875 is not set
659# CONFIG_SENSORS_TSL2550 is not set 685# CONFIG_SENSORS_TSL2550 is not set
660# CONFIG_I2C_DEBUG_CORE is not set 686# CONFIG_I2C_DEBUG_CORE is not set
@@ -679,6 +705,7 @@ CONFIG_HWMON=y
679# CONFIG_SENSORS_ADM1031 is not set 705# CONFIG_SENSORS_ADM1031 is not set
680# CONFIG_SENSORS_ADM9240 is not set 706# CONFIG_SENSORS_ADM9240 is not set
681# CONFIG_SENSORS_ADT7470 is not set 707# CONFIG_SENSORS_ADT7470 is not set
708# CONFIG_SENSORS_ADT7473 is not set
682# CONFIG_SENSORS_ATXP1 is not set 709# CONFIG_SENSORS_ATXP1 is not set
683# CONFIG_SENSORS_DS1621 is not set 710# CONFIG_SENSORS_DS1621 is not set
684# CONFIG_SENSORS_I5K_AMB is not set 711# CONFIG_SENSORS_I5K_AMB is not set
@@ -708,6 +735,7 @@ CONFIG_HWMON=y
708# CONFIG_SENSORS_SMSC47M1 is not set 735# CONFIG_SENSORS_SMSC47M1 is not set
709# CONFIG_SENSORS_SMSC47M192 is not set 736# CONFIG_SENSORS_SMSC47M192 is not set
710# CONFIG_SENSORS_SMSC47B397 is not set 737# CONFIG_SENSORS_SMSC47B397 is not set
738# CONFIG_SENSORS_ADS7828 is not set
711# CONFIG_SENSORS_THMC50 is not set 739# CONFIG_SENSORS_THMC50 is not set
712# CONFIG_SENSORS_VIA686A is not set 740# CONFIG_SENSORS_VIA686A is not set
713# CONFIG_SENSORS_VT1211 is not set 741# CONFIG_SENSORS_VT1211 is not set
@@ -717,9 +745,11 @@ CONFIG_HWMON=y
717# CONFIG_SENSORS_W83792D is not set 745# CONFIG_SENSORS_W83792D is not set
718# CONFIG_SENSORS_W83793 is not set 746# CONFIG_SENSORS_W83793 is not set
719# CONFIG_SENSORS_W83L785TS is not set 747# CONFIG_SENSORS_W83L785TS is not set
748# CONFIG_SENSORS_W83L786NG is not set
720# CONFIG_SENSORS_W83627HF is not set 749# CONFIG_SENSORS_W83627HF is not set
721# CONFIG_SENSORS_W83627EHF is not set 750# CONFIG_SENSORS_W83627EHF is not set
722# CONFIG_HWMON_DEBUG_CHIP is not set 751# CONFIG_HWMON_DEBUG_CHIP is not set
752# CONFIG_THERMAL is not set
723CONFIG_WATCHDOG=y 753CONFIG_WATCHDOG=y
724# CONFIG_WATCHDOG_NOWAYOUT is not set 754# CONFIG_WATCHDOG_NOWAYOUT is not set
725 755
@@ -785,12 +815,9 @@ CONFIG_USB_ARCH_HAS_EHCI=y
785# 815#
786# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 816# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
787# 817#
788
789#
790# USB Gadget Support
791#
792# CONFIG_USB_GADGET is not set 818# CONFIG_USB_GADGET is not set
793# CONFIG_MMC is not set 819# CONFIG_MMC is not set
820# CONFIG_MEMSTICK is not set
794# CONFIG_NEW_LEDS is not set 821# CONFIG_NEW_LEDS is not set
795# CONFIG_INFINIBAND is not set 822# CONFIG_INFINIBAND is not set
796# CONFIG_EDAC is not set 823# CONFIG_EDAC is not set
@@ -822,6 +849,7 @@ CONFIG_RTC_DRV_DS1374=y
822# CONFIG_RTC_DRV_PCF8563 is not set 849# CONFIG_RTC_DRV_PCF8563 is not set
823# CONFIG_RTC_DRV_PCF8583 is not set 850# CONFIG_RTC_DRV_PCF8583 is not set
824# CONFIG_RTC_DRV_M41T80 is not set 851# CONFIG_RTC_DRV_M41T80 is not set
852# CONFIG_RTC_DRV_S35390A is not set
825 853
826# 854#
827# SPI RTC drivers 855# SPI RTC drivers
@@ -831,9 +859,10 @@ CONFIG_RTC_DRV_DS1374=y
831# Platform RTC drivers 859# Platform RTC drivers
832# 860#
833# CONFIG_RTC_DRV_CMOS is not set 861# CONFIG_RTC_DRV_CMOS is not set
862# CONFIG_RTC_DRV_DS1511 is not set
834# CONFIG_RTC_DRV_DS1553 is not set 863# CONFIG_RTC_DRV_DS1553 is not set
835# CONFIG_RTC_DRV_STK17TA8 is not set
836# CONFIG_RTC_DRV_DS1742 is not set 864# CONFIG_RTC_DRV_DS1742 is not set
865# CONFIG_RTC_DRV_STK17TA8 is not set
837# CONFIG_RTC_DRV_M48T86 is not set 866# CONFIG_RTC_DRV_M48T86 is not set
838# CONFIG_RTC_DRV_M48T59 is not set 867# CONFIG_RTC_DRV_M48T59 is not set
839# CONFIG_RTC_DRV_V3020 is not set 868# CONFIG_RTC_DRV_V3020 is not set
@@ -841,6 +870,7 @@ CONFIG_RTC_DRV_DS1374=y
841# 870#
842# on-CPU RTC drivers 871# on-CPU RTC drivers
843# 872#
873# CONFIG_DMADEVICES is not set
844 874
845# 875#
846# Userspace I/O 876# Userspace I/O
@@ -866,12 +896,10 @@ CONFIG_FS_MBCACHE=y
866# CONFIG_XFS_FS is not set 896# CONFIG_XFS_FS is not set
867# CONFIG_GFS2_FS is not set 897# CONFIG_GFS2_FS is not set
868# CONFIG_OCFS2_FS is not set 898# CONFIG_OCFS2_FS is not set
869# CONFIG_MINIX_FS is not set 899CONFIG_DNOTIFY=y
870# CONFIG_ROMFS_FS is not set
871CONFIG_INOTIFY=y 900CONFIG_INOTIFY=y
872CONFIG_INOTIFY_USER=y 901CONFIG_INOTIFY_USER=y
873# CONFIG_QUOTA is not set 902# CONFIG_QUOTA is not set
874CONFIG_DNOTIFY=y
875# CONFIG_AUTOFS_FS is not set 903# CONFIG_AUTOFS_FS is not set
876# CONFIG_AUTOFS4_FS is not set 904# CONFIG_AUTOFS4_FS is not set
877# CONFIG_FUSE_FS is not set 905# CONFIG_FUSE_FS is not set
@@ -913,8 +941,10 @@ CONFIG_TMPFS=y
913# CONFIG_EFS_FS is not set 941# CONFIG_EFS_FS is not set
914# CONFIG_CRAMFS is not set 942# CONFIG_CRAMFS is not set
915# CONFIG_VXFS_FS is not set 943# CONFIG_VXFS_FS is not set
944# CONFIG_MINIX_FS is not set
916# CONFIG_HPFS_FS is not set 945# CONFIG_HPFS_FS is not set
917# CONFIG_QNX4FS_FS is not set 946# CONFIG_QNX4FS_FS is not set
947# CONFIG_ROMFS_FS is not set
918# CONFIG_SYSV_FS is not set 948# CONFIG_SYSV_FS is not set
919# CONFIG_UFS_FS is not set 949# CONFIG_UFS_FS is not set
920CONFIG_NETWORK_FILESYSTEMS=y 950CONFIG_NETWORK_FILESYSTEMS=y
@@ -958,7 +988,6 @@ CONFIG_PARTITION_ADVANCED=y
958# CONFIG_SYSV68_PARTITION is not set 988# CONFIG_SYSV68_PARTITION is not set
959# CONFIG_NLS is not set 989# CONFIG_NLS is not set
960# CONFIG_DLM is not set 990# CONFIG_DLM is not set
961# CONFIG_UCC_SLOW is not set
962CONFIG_UCC_FAST=y 991CONFIG_UCC_FAST=y
963CONFIG_UCC=y 992CONFIG_UCC=y
964 993
@@ -976,7 +1005,6 @@ CONFIG_PLIST=y
976CONFIG_HAS_IOMEM=y 1005CONFIG_HAS_IOMEM=y
977CONFIG_HAS_IOPORT=y 1006CONFIG_HAS_IOPORT=y
978CONFIG_HAS_DMA=y 1007CONFIG_HAS_DMA=y
979# CONFIG_INSTRUMENTATION is not set
980 1008
981# 1009#
982# Kernel hacking 1010# Kernel hacking
@@ -990,6 +1018,7 @@ CONFIG_ENABLE_MUST_CHECK=y
990# CONFIG_HEADERS_CHECK is not set 1018# CONFIG_HEADERS_CHECK is not set
991# CONFIG_DEBUG_KERNEL is not set 1019# CONFIG_DEBUG_KERNEL is not set
992# CONFIG_SLUB_DEBUG_ON is not set 1020# CONFIG_SLUB_DEBUG_ON is not set
1021# CONFIG_SLUB_STATS is not set
993# CONFIG_DEBUG_BUGVERBOSE is not set 1022# CONFIG_DEBUG_BUGVERBOSE is not set
994# CONFIG_SAMPLES is not set 1023# CONFIG_SAMPLES is not set
995# CONFIG_PPC_EARLY_DEBUG is not set 1024# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1003,6 +1032,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1003CONFIG_CRYPTO=y 1032CONFIG_CRYPTO=y
1004CONFIG_CRYPTO_ALGAPI=y 1033CONFIG_CRYPTO_ALGAPI=y
1005CONFIG_CRYPTO_BLKCIPHER=y 1034CONFIG_CRYPTO_BLKCIPHER=y
1035# CONFIG_CRYPTO_SEQIV is not set
1006CONFIG_CRYPTO_MANAGER=y 1036CONFIG_CRYPTO_MANAGER=y
1007# CONFIG_CRYPTO_HMAC is not set 1037# CONFIG_CRYPTO_HMAC is not set
1008# CONFIG_CRYPTO_XCBC is not set 1038# CONFIG_CRYPTO_XCBC is not set
@@ -1020,6 +1050,9 @@ CONFIG_CRYPTO_CBC=y
1020CONFIG_CRYPTO_PCBC=m 1050CONFIG_CRYPTO_PCBC=m
1021# CONFIG_CRYPTO_LRW is not set 1051# CONFIG_CRYPTO_LRW is not set
1022# CONFIG_CRYPTO_XTS is not set 1052# CONFIG_CRYPTO_XTS is not set
1053# CONFIG_CRYPTO_CTR is not set
1054# CONFIG_CRYPTO_GCM is not set
1055# CONFIG_CRYPTO_CCM is not set
1023# CONFIG_CRYPTO_CRYPTD is not set 1056# CONFIG_CRYPTO_CRYPTD is not set
1024CONFIG_CRYPTO_DES=y 1057CONFIG_CRYPTO_DES=y
1025# CONFIG_CRYPTO_FCRYPT is not set 1058# CONFIG_CRYPTO_FCRYPT is not set
@@ -1034,12 +1067,15 @@ CONFIG_CRYPTO_DES=y
1034# CONFIG_CRYPTO_KHAZAD is not set 1067# CONFIG_CRYPTO_KHAZAD is not set
1035# CONFIG_CRYPTO_ANUBIS is not set 1068# CONFIG_CRYPTO_ANUBIS is not set
1036# CONFIG_CRYPTO_SEED is not set 1069# CONFIG_CRYPTO_SEED is not set
1070# CONFIG_CRYPTO_SALSA20 is not set
1037# CONFIG_CRYPTO_DEFLATE is not set 1071# CONFIG_CRYPTO_DEFLATE is not set
1038# CONFIG_CRYPTO_MICHAEL_MIC is not set 1072# CONFIG_CRYPTO_MICHAEL_MIC is not set
1039# CONFIG_CRYPTO_CRC32C is not set 1073# CONFIG_CRYPTO_CRC32C is not set
1040# CONFIG_CRYPTO_CAMELLIA is not set 1074# CONFIG_CRYPTO_CAMELLIA is not set
1041# CONFIG_CRYPTO_TEST is not set 1075# CONFIG_CRYPTO_TEST is not set
1042# CONFIG_CRYPTO_AUTHENC is not set 1076# CONFIG_CRYPTO_AUTHENC is not set
1077# CONFIG_CRYPTO_LZO is not set
1043CONFIG_CRYPTO_HW=y 1078CONFIG_CRYPTO_HW=y
1079# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1044# CONFIG_PPC_CLOCK is not set 1080# CONFIG_PPC_CLOCK is not set
1045CONFIG_PPC_LIB_RHEAP=y 1081CONFIG_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..b4e82c0e2be 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-rc7
4# Thu Dec 6 16:48:41 2007 4# Mon Mar 31 11:36:56 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
@@ -543,8 +571,7 @@ CONFIG_LEGACY_PTY_COUNT=256
543# CONFIG_IPMI_HANDLER is not set 571# CONFIG_IPMI_HANDLER is not set
544# CONFIG_HW_RANDOM is not set 572# CONFIG_HW_RANDOM is not set
545# CONFIG_NVRAM is not set 573# CONFIG_NVRAM is not set
546CONFIG_GEN_RTC=y 574# CONFIG_GEN_RTC is not set
547# CONFIG_GEN_RTC_X is not set
548# CONFIG_R3964 is not set 575# CONFIG_R3964 is not set
549# CONFIG_APPLICOM is not set 576# CONFIG_APPLICOM is not set
550# CONFIG_RAW_DRIVER is not set 577# CONFIG_RAW_DRIVER is not set
@@ -591,14 +618,12 @@ CONFIG_I2C_MPC=y
591# 618#
592# Miscellaneous I2C Chip support 619# Miscellaneous I2C Chip support
593# 620#
594# CONFIG_SENSORS_DS1337 is not set
595# CONFIG_SENSORS_DS1374 is not set
596# CONFIG_DS1682 is not set 621# CONFIG_DS1682 is not set
597# CONFIG_SENSORS_EEPROM is not set 622# CONFIG_SENSORS_EEPROM is not set
598# CONFIG_SENSORS_PCF8574 is not set 623# CONFIG_SENSORS_PCF8574 is not set
599# CONFIG_SENSORS_PCA9539 is not set 624# CONFIG_PCF8575 is not set
600# CONFIG_SENSORS_PCF8591 is not set 625# CONFIG_SENSORS_PCF8591 is not set
601# CONFIG_SENSORS_M41T00 is not set 626# CONFIG_TPS65010 is not set
602# CONFIG_SENSORS_MAX6875 is not set 627# CONFIG_SENSORS_MAX6875 is not set
603# CONFIG_SENSORS_TSL2550 is not set 628# CONFIG_SENSORS_TSL2550 is not set
604# CONFIG_I2C_DEBUG_CORE is not set 629# CONFIG_I2C_DEBUG_CORE is not set
@@ -623,6 +648,7 @@ CONFIG_HWMON=y
623# CONFIG_SENSORS_ADM1031 is not set 648# CONFIG_SENSORS_ADM1031 is not set
624# CONFIG_SENSORS_ADM9240 is not set 649# CONFIG_SENSORS_ADM9240 is not set
625# CONFIG_SENSORS_ADT7470 is not set 650# CONFIG_SENSORS_ADT7470 is not set
651# CONFIG_SENSORS_ADT7473 is not set
626# CONFIG_SENSORS_ATXP1 is not set 652# CONFIG_SENSORS_ATXP1 is not set
627# CONFIG_SENSORS_DS1621 is not set 653# CONFIG_SENSORS_DS1621 is not set
628# CONFIG_SENSORS_I5K_AMB is not set 654# CONFIG_SENSORS_I5K_AMB is not set
@@ -652,6 +678,7 @@ CONFIG_HWMON=y
652# CONFIG_SENSORS_SMSC47M1 is not set 678# CONFIG_SENSORS_SMSC47M1 is not set
653# CONFIG_SENSORS_SMSC47M192 is not set 679# CONFIG_SENSORS_SMSC47M192 is not set
654# CONFIG_SENSORS_SMSC47B397 is not set 680# CONFIG_SENSORS_SMSC47B397 is not set
681# CONFIG_SENSORS_ADS7828 is not set
655# CONFIG_SENSORS_THMC50 is not set 682# CONFIG_SENSORS_THMC50 is not set
656# CONFIG_SENSORS_VIA686A is not set 683# CONFIG_SENSORS_VIA686A is not set
657# CONFIG_SENSORS_VT1211 is not set 684# CONFIG_SENSORS_VT1211 is not set
@@ -661,9 +688,11 @@ CONFIG_HWMON=y
661# CONFIG_SENSORS_W83792D is not set 688# CONFIG_SENSORS_W83792D is not set
662# CONFIG_SENSORS_W83793 is not set 689# CONFIG_SENSORS_W83793 is not set
663# CONFIG_SENSORS_W83L785TS is not set 690# CONFIG_SENSORS_W83L785TS is not set
691# CONFIG_SENSORS_W83L786NG is not set
664# CONFIG_SENSORS_W83627HF is not set 692# CONFIG_SENSORS_W83627HF is not set
665# CONFIG_SENSORS_W83627EHF is not set 693# CONFIG_SENSORS_W83627EHF is not set
666# CONFIG_HWMON_DEBUG_CHIP is not set 694# CONFIG_HWMON_DEBUG_CHIP is not set
695# CONFIG_THERMAL is not set
667CONFIG_WATCHDOG=y 696CONFIG_WATCHDOG=y
668# CONFIG_WATCHDOG_NOWAYOUT is not set 697# CONFIG_WATCHDOG_NOWAYOUT is not set
669 698
@@ -725,18 +754,13 @@ CONFIG_USB_ARCH_HAS_HCD=y
725CONFIG_USB_ARCH_HAS_OHCI=y 754CONFIG_USB_ARCH_HAS_OHCI=y
726CONFIG_USB_ARCH_HAS_EHCI=y 755CONFIG_USB_ARCH_HAS_EHCI=y
727# CONFIG_USB is not set 756# CONFIG_USB is not set
728CONFIG_USB_EHCI_ROOT_HUB_TT=y
729CONFIG_USB_EHCI_FSL=y
730 757
731# 758#
732# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 759# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
733# 760#
734
735#
736# USB Gadget Support
737#
738# CONFIG_USB_GADGET is not set 761# CONFIG_USB_GADGET is not set
739# CONFIG_MMC is not set 762# CONFIG_MMC is not set
763# CONFIG_MEMSTICK is not set
740# CONFIG_NEW_LEDS is not set 764# CONFIG_NEW_LEDS is not set
741# CONFIG_INFINIBAND is not set 765# CONFIG_INFINIBAND is not set
742# CONFIG_EDAC is not set 766# CONFIG_EDAC is not set
@@ -768,6 +792,7 @@ CONFIG_RTC_DRV_DS1374=y
768# CONFIG_RTC_DRV_PCF8563 is not set 792# CONFIG_RTC_DRV_PCF8563 is not set
769# CONFIG_RTC_DRV_PCF8583 is not set 793# CONFIG_RTC_DRV_PCF8583 is not set
770# CONFIG_RTC_DRV_M41T80 is not set 794# CONFIG_RTC_DRV_M41T80 is not set
795# CONFIG_RTC_DRV_S35390A is not set
771 796
772# 797#
773# SPI RTC drivers 798# SPI RTC drivers
@@ -777,9 +802,10 @@ CONFIG_RTC_DRV_DS1374=y
777# Platform RTC drivers 802# Platform RTC drivers
778# 803#
779# CONFIG_RTC_DRV_CMOS is not set 804# CONFIG_RTC_DRV_CMOS is not set
805# CONFIG_RTC_DRV_DS1511 is not set
780# CONFIG_RTC_DRV_DS1553 is not set 806# CONFIG_RTC_DRV_DS1553 is not set
781# CONFIG_RTC_DRV_STK17TA8 is not set
782# CONFIG_RTC_DRV_DS1742 is not set 807# CONFIG_RTC_DRV_DS1742 is not set
808# CONFIG_RTC_DRV_STK17TA8 is not set
783# CONFIG_RTC_DRV_M48T86 is not set 809# CONFIG_RTC_DRV_M48T86 is not set
784# CONFIG_RTC_DRV_M48T59 is not set 810# CONFIG_RTC_DRV_M48T59 is not set
785# CONFIG_RTC_DRV_V3020 is not set 811# CONFIG_RTC_DRV_V3020 is not set
@@ -787,6 +813,7 @@ CONFIG_RTC_DRV_DS1374=y
787# 813#
788# on-CPU RTC drivers 814# on-CPU RTC drivers
789# 815#
816# CONFIG_DMADEVICES is not set
790 817
791# 818#
792# Userspace I/O 819# Userspace I/O
@@ -812,12 +839,10 @@ CONFIG_FS_MBCACHE=y
812# CONFIG_XFS_FS is not set 839# CONFIG_XFS_FS is not set
813# CONFIG_GFS2_FS is not set 840# CONFIG_GFS2_FS is not set
814# CONFIG_OCFS2_FS is not set 841# CONFIG_OCFS2_FS is not set
815# CONFIG_MINIX_FS is not set 842CONFIG_DNOTIFY=y
816# CONFIG_ROMFS_FS is not set
817CONFIG_INOTIFY=y 843CONFIG_INOTIFY=y
818CONFIG_INOTIFY_USER=y 844CONFIG_INOTIFY_USER=y
819# CONFIG_QUOTA is not set 845# CONFIG_QUOTA is not set
820CONFIG_DNOTIFY=y
821# CONFIG_AUTOFS_FS is not set 846# CONFIG_AUTOFS_FS is not set
822# CONFIG_AUTOFS4_FS is not set 847# CONFIG_AUTOFS4_FS is not set
823# CONFIG_FUSE_FS is not set 848# CONFIG_FUSE_FS is not set
@@ -859,8 +884,10 @@ CONFIG_TMPFS=y
859# CONFIG_EFS_FS is not set 884# CONFIG_EFS_FS is not set
860# CONFIG_CRAMFS is not set 885# CONFIG_CRAMFS is not set
861# CONFIG_VXFS_FS is not set 886# CONFIG_VXFS_FS is not set
887# CONFIG_MINIX_FS is not set
862# CONFIG_HPFS_FS is not set 888# CONFIG_HPFS_FS is not set
863# CONFIG_QNX4FS_FS is not set 889# CONFIG_QNX4FS_FS is not set
890# CONFIG_ROMFS_FS is not set
864# CONFIG_SYSV_FS is not set 891# CONFIG_SYSV_FS is not set
865# CONFIG_UFS_FS is not set 892# CONFIG_UFS_FS is not set
866CONFIG_NETWORK_FILESYSTEMS=y 893CONFIG_NETWORK_FILESYSTEMS=y
@@ -904,7 +931,6 @@ CONFIG_PARTITION_ADVANCED=y
904# CONFIG_SYSV68_PARTITION is not set 931# CONFIG_SYSV68_PARTITION is not set
905# CONFIG_NLS is not set 932# CONFIG_NLS is not set
906# CONFIG_DLM is not set 933# CONFIG_DLM is not set
907# CONFIG_UCC_SLOW is not set
908 934
909# 935#
910# Library routines 936# Library routines
@@ -920,7 +946,6 @@ CONFIG_PLIST=y
920CONFIG_HAS_IOMEM=y 946CONFIG_HAS_IOMEM=y
921CONFIG_HAS_IOPORT=y 947CONFIG_HAS_IOPORT=y
922CONFIG_HAS_DMA=y 948CONFIG_HAS_DMA=y
923# CONFIG_INSTRUMENTATION is not set
924 949
925# 950#
926# Kernel hacking 951# Kernel hacking
@@ -934,6 +959,7 @@ CONFIG_ENABLE_MUST_CHECK=y
934# CONFIG_HEADERS_CHECK is not set 959# CONFIG_HEADERS_CHECK is not set
935# CONFIG_DEBUG_KERNEL is not set 960# CONFIG_DEBUG_KERNEL is not set
936# CONFIG_SLUB_DEBUG_ON is not set 961# CONFIG_SLUB_DEBUG_ON is not set
962# CONFIG_SLUB_STATS is not set
937# CONFIG_DEBUG_BUGVERBOSE is not set 963# CONFIG_DEBUG_BUGVERBOSE is not set
938# CONFIG_SAMPLES is not set 964# CONFIG_SAMPLES is not set
939# CONFIG_PPC_EARLY_DEBUG is not set 965# CONFIG_PPC_EARLY_DEBUG is not set
@@ -947,6 +973,7 @@ CONFIG_ENABLE_MUST_CHECK=y
947CONFIG_CRYPTO=y 973CONFIG_CRYPTO=y
948CONFIG_CRYPTO_ALGAPI=y 974CONFIG_CRYPTO_ALGAPI=y
949CONFIG_CRYPTO_BLKCIPHER=y 975CONFIG_CRYPTO_BLKCIPHER=y
976# CONFIG_CRYPTO_SEQIV is not set
950CONFIG_CRYPTO_MANAGER=y 977CONFIG_CRYPTO_MANAGER=y
951# CONFIG_CRYPTO_HMAC is not set 978# CONFIG_CRYPTO_HMAC is not set
952# CONFIG_CRYPTO_XCBC is not set 979# CONFIG_CRYPTO_XCBC is not set
@@ -964,6 +991,9 @@ CONFIG_CRYPTO_CBC=y
964CONFIG_CRYPTO_PCBC=m 991CONFIG_CRYPTO_PCBC=m
965# CONFIG_CRYPTO_LRW is not set 992# CONFIG_CRYPTO_LRW is not set
966# CONFIG_CRYPTO_XTS is not set 993# CONFIG_CRYPTO_XTS is not set
994# CONFIG_CRYPTO_CTR is not set
995# CONFIG_CRYPTO_GCM is not set
996# CONFIG_CRYPTO_CCM is not set
967# CONFIG_CRYPTO_CRYPTD is not set 997# CONFIG_CRYPTO_CRYPTD is not set
968CONFIG_CRYPTO_DES=y 998CONFIG_CRYPTO_DES=y
969# CONFIG_CRYPTO_FCRYPT is not set 999# CONFIG_CRYPTO_FCRYPT is not set
@@ -978,11 +1008,14 @@ CONFIG_CRYPTO_DES=y
978# CONFIG_CRYPTO_KHAZAD is not set 1008# CONFIG_CRYPTO_KHAZAD is not set
979# CONFIG_CRYPTO_ANUBIS is not set 1009# CONFIG_CRYPTO_ANUBIS is not set
980# CONFIG_CRYPTO_SEED is not set 1010# CONFIG_CRYPTO_SEED is not set
1011# CONFIG_CRYPTO_SALSA20 is not set
981# CONFIG_CRYPTO_DEFLATE is not set 1012# CONFIG_CRYPTO_DEFLATE is not set
982# CONFIG_CRYPTO_MICHAEL_MIC is not set 1013# CONFIG_CRYPTO_MICHAEL_MIC is not set
983# CONFIG_CRYPTO_CRC32C is not set 1014# CONFIG_CRYPTO_CRC32C is not set
984# CONFIG_CRYPTO_CAMELLIA is not set 1015# CONFIG_CRYPTO_CAMELLIA is not set
985# CONFIG_CRYPTO_TEST is not set 1016# CONFIG_CRYPTO_TEST is not set
986# CONFIG_CRYPTO_AUTHENC is not set 1017# CONFIG_CRYPTO_AUTHENC is not set
1018# CONFIG_CRYPTO_LZO is not set
987CONFIG_CRYPTO_HW=y 1019CONFIG_CRYPTO_HW=y
1020# CONFIG_CRYPTO_DEV_HIFN_795X is not set
988# CONFIG_PPC_CLOCK is not set 1021# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
index c44fc56263e..d50a96eddcd 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-rc7
4# Thu Dec 6 16:48:43 2007 4# Mon Mar 31 11:36:57 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,14 +619,14 @@ 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
598# CONFIG_IPMI_HANDLER is not set 626# CONFIG_IPMI_HANDLER is not set
599CONFIG_HW_RANDOM=y 627CONFIG_HW_RANDOM=y
600# CONFIG_NVRAM is not set 628# CONFIG_NVRAM is not set
601CONFIG_GEN_RTC=y 629# CONFIG_GEN_RTC is not set
602# CONFIG_GEN_RTC_X is not set
603# CONFIG_R3964 is not set 630# CONFIG_R3964 is not set
604# CONFIG_APPLICOM is not set 631# CONFIG_APPLICOM is not set
605# CONFIG_RAW_DRIVER is not set 632# CONFIG_RAW_DRIVER is not set
@@ -646,14 +673,12 @@ CONFIG_I2C_MPC=y
646# 673#
647# Miscellaneous I2C Chip support 674# Miscellaneous I2C Chip support
648# 675#
649# CONFIG_SENSORS_DS1337 is not set
650# CONFIG_SENSORS_DS1374 is not set
651# CONFIG_DS1682 is not set 676# CONFIG_DS1682 is not set
652# CONFIG_SENSORS_EEPROM is not set 677# CONFIG_SENSORS_EEPROM is not set
653# CONFIG_SENSORS_PCF8574 is not set 678# CONFIG_SENSORS_PCF8574 is not set
654# CONFIG_SENSORS_PCA9539 is not set 679# CONFIG_PCF8575 is not set
655# CONFIG_SENSORS_PCF8591 is not set 680# CONFIG_SENSORS_PCF8591 is not set
656# CONFIG_SENSORS_M41T00 is not set 681# CONFIG_TPS65010 is not set
657# CONFIG_SENSORS_MAX6875 is not set 682# CONFIG_SENSORS_MAX6875 is not set
658# CONFIG_SENSORS_TSL2550 is not set 683# CONFIG_SENSORS_TSL2550 is not set
659# CONFIG_I2C_DEBUG_CORE is not set 684# CONFIG_I2C_DEBUG_CORE is not set
@@ -678,6 +703,7 @@ CONFIG_HWMON=y
678# CONFIG_SENSORS_ADM1031 is not set 703# CONFIG_SENSORS_ADM1031 is not set
679# CONFIG_SENSORS_ADM9240 is not set 704# CONFIG_SENSORS_ADM9240 is not set
680# CONFIG_SENSORS_ADT7470 is not set 705# CONFIG_SENSORS_ADT7470 is not set
706# CONFIG_SENSORS_ADT7473 is not set
681# CONFIG_SENSORS_ATXP1 is not set 707# CONFIG_SENSORS_ATXP1 is not set
682# CONFIG_SENSORS_DS1621 is not set 708# CONFIG_SENSORS_DS1621 is not set
683# CONFIG_SENSORS_I5K_AMB is not set 709# CONFIG_SENSORS_I5K_AMB is not set
@@ -707,6 +733,7 @@ CONFIG_HWMON=y
707# CONFIG_SENSORS_SMSC47M1 is not set 733# CONFIG_SENSORS_SMSC47M1 is not set
708# CONFIG_SENSORS_SMSC47M192 is not set 734# CONFIG_SENSORS_SMSC47M192 is not set
709# CONFIG_SENSORS_SMSC47B397 is not set 735# CONFIG_SENSORS_SMSC47B397 is not set
736# CONFIG_SENSORS_ADS7828 is not set
710# CONFIG_SENSORS_THMC50 is not set 737# CONFIG_SENSORS_THMC50 is not set
711# CONFIG_SENSORS_VIA686A is not set 738# CONFIG_SENSORS_VIA686A is not set
712# CONFIG_SENSORS_VT1211 is not set 739# CONFIG_SENSORS_VT1211 is not set
@@ -716,9 +743,11 @@ CONFIG_HWMON=y
716# CONFIG_SENSORS_W83792D is not set 743# CONFIG_SENSORS_W83792D is not set
717# CONFIG_SENSORS_W83793 is not set 744# CONFIG_SENSORS_W83793 is not set
718# CONFIG_SENSORS_W83L785TS is not set 745# CONFIG_SENSORS_W83L785TS is not set
746# CONFIG_SENSORS_W83L786NG is not set
719# CONFIG_SENSORS_W83627HF is not set 747# CONFIG_SENSORS_W83627HF is not set
720# CONFIG_SENSORS_W83627EHF is not set 748# CONFIG_SENSORS_W83627EHF is not set
721# CONFIG_HWMON_DEBUG_CHIP is not set 749# CONFIG_HWMON_DEBUG_CHIP is not set
750# CONFIG_THERMAL is not set
722CONFIG_WATCHDOG=y 751CONFIG_WATCHDOG=y
723# CONFIG_WATCHDOG_NOWAYOUT is not set 752# CONFIG_WATCHDOG_NOWAYOUT is not set
724 753
@@ -784,12 +813,9 @@ CONFIG_USB_ARCH_HAS_EHCI=y
784# 813#
785# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 814# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
786# 815#
787
788#
789# USB Gadget Support
790#
791# CONFIG_USB_GADGET is not set 816# CONFIG_USB_GADGET is not set
792# CONFIG_MMC is not set 817# CONFIG_MMC is not set
818# CONFIG_MEMSTICK is not set
793# CONFIG_NEW_LEDS is not set 819# CONFIG_NEW_LEDS is not set
794# CONFIG_INFINIBAND is not set 820# CONFIG_INFINIBAND is not set
795# CONFIG_EDAC is not set 821# CONFIG_EDAC is not set
@@ -821,6 +847,7 @@ CONFIG_RTC_DRV_DS1374=y
821# CONFIG_RTC_DRV_PCF8563 is not set 847# CONFIG_RTC_DRV_PCF8563 is not set
822# CONFIG_RTC_DRV_PCF8583 is not set 848# CONFIG_RTC_DRV_PCF8583 is not set
823# CONFIG_RTC_DRV_M41T80 is not set 849# CONFIG_RTC_DRV_M41T80 is not set
850# CONFIG_RTC_DRV_S35390A is not set
824 851
825# 852#
826# SPI RTC drivers 853# SPI RTC drivers
@@ -830,9 +857,10 @@ CONFIG_RTC_DRV_DS1374=y
830# Platform RTC drivers 857# Platform RTC drivers
831# 858#
832# CONFIG_RTC_DRV_CMOS is not set 859# CONFIG_RTC_DRV_CMOS is not set
860# CONFIG_RTC_DRV_DS1511 is not set
833# CONFIG_RTC_DRV_DS1553 is not set 861# CONFIG_RTC_DRV_DS1553 is not set
834# CONFIG_RTC_DRV_STK17TA8 is not set
835# CONFIG_RTC_DRV_DS1742 is not set 862# CONFIG_RTC_DRV_DS1742 is not set
863# CONFIG_RTC_DRV_STK17TA8 is not set
836# CONFIG_RTC_DRV_M48T86 is not set 864# CONFIG_RTC_DRV_M48T86 is not set
837# CONFIG_RTC_DRV_M48T59 is not set 865# CONFIG_RTC_DRV_M48T59 is not set
838# CONFIG_RTC_DRV_V3020 is not set 866# CONFIG_RTC_DRV_V3020 is not set
@@ -840,6 +868,7 @@ CONFIG_RTC_DRV_DS1374=y
840# 868#
841# on-CPU RTC drivers 869# on-CPU RTC drivers
842# 870#
871# CONFIG_DMADEVICES is not set
843 872
844# 873#
845# Userspace I/O 874# Userspace I/O
@@ -865,12 +894,10 @@ CONFIG_FS_MBCACHE=y
865# CONFIG_XFS_FS is not set 894# CONFIG_XFS_FS is not set
866# CONFIG_GFS2_FS is not set 895# CONFIG_GFS2_FS is not set
867# CONFIG_OCFS2_FS is not set 896# CONFIG_OCFS2_FS is not set
868# CONFIG_MINIX_FS is not set 897CONFIG_DNOTIFY=y
869# CONFIG_ROMFS_FS is not set
870CONFIG_INOTIFY=y 898CONFIG_INOTIFY=y
871CONFIG_INOTIFY_USER=y 899CONFIG_INOTIFY_USER=y
872# CONFIG_QUOTA is not set 900# CONFIG_QUOTA is not set
873CONFIG_DNOTIFY=y
874# CONFIG_AUTOFS_FS is not set 901# CONFIG_AUTOFS_FS is not set
875# CONFIG_AUTOFS4_FS is not set 902# CONFIG_AUTOFS4_FS is not set
876# CONFIG_FUSE_FS is not set 903# CONFIG_FUSE_FS is not set
@@ -912,8 +939,10 @@ CONFIG_TMPFS=y
912# CONFIG_EFS_FS is not set 939# CONFIG_EFS_FS is not set
913# CONFIG_CRAMFS is not set 940# CONFIG_CRAMFS is not set
914# CONFIG_VXFS_FS is not set 941# CONFIG_VXFS_FS is not set
942# CONFIG_MINIX_FS is not set
915# CONFIG_HPFS_FS is not set 943# CONFIG_HPFS_FS is not set
916# CONFIG_QNX4FS_FS is not set 944# CONFIG_QNX4FS_FS is not set
945# CONFIG_ROMFS_FS is not set
917# CONFIG_SYSV_FS is not set 946# CONFIG_SYSV_FS is not set
918# CONFIG_UFS_FS is not set 947# CONFIG_UFS_FS is not set
919CONFIG_NETWORK_FILESYSTEMS=y 948CONFIG_NETWORK_FILESYSTEMS=y
@@ -957,7 +986,6 @@ CONFIG_PARTITION_ADVANCED=y
957# CONFIG_SYSV68_PARTITION is not set 986# CONFIG_SYSV68_PARTITION is not set
958# CONFIG_NLS is not set 987# CONFIG_NLS is not set
959# CONFIG_DLM is not set 988# CONFIG_DLM is not set
960# CONFIG_UCC_SLOW is not set
961CONFIG_UCC_FAST=y 989CONFIG_UCC_FAST=y
962CONFIG_UCC=y 990CONFIG_UCC=y
963 991
@@ -975,7 +1003,6 @@ CONFIG_PLIST=y
975CONFIG_HAS_IOMEM=y 1003CONFIG_HAS_IOMEM=y
976CONFIG_HAS_IOPORT=y 1004CONFIG_HAS_IOPORT=y
977CONFIG_HAS_DMA=y 1005CONFIG_HAS_DMA=y
978# CONFIG_INSTRUMENTATION is not set
979 1006
980# 1007#
981# Kernel hacking 1008# Kernel hacking
@@ -989,6 +1016,7 @@ CONFIG_ENABLE_MUST_CHECK=y
989# CONFIG_HEADERS_CHECK is not set 1016# CONFIG_HEADERS_CHECK is not set
990# CONFIG_DEBUG_KERNEL is not set 1017# CONFIG_DEBUG_KERNEL is not set
991# CONFIG_SLUB_DEBUG_ON is not set 1018# CONFIG_SLUB_DEBUG_ON is not set
1019# CONFIG_SLUB_STATS is not set
992# CONFIG_DEBUG_BUGVERBOSE is not set 1020# CONFIG_DEBUG_BUGVERBOSE is not set
993# CONFIG_SAMPLES is not set 1021# CONFIG_SAMPLES is not set
994# CONFIG_PPC_EARLY_DEBUG is not set 1022# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1002,6 +1030,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1002CONFIG_CRYPTO=y 1030CONFIG_CRYPTO=y
1003CONFIG_CRYPTO_ALGAPI=y 1031CONFIG_CRYPTO_ALGAPI=y
1004CONFIG_CRYPTO_BLKCIPHER=y 1032CONFIG_CRYPTO_BLKCIPHER=y
1033# CONFIG_CRYPTO_SEQIV is not set
1005CONFIG_CRYPTO_MANAGER=y 1034CONFIG_CRYPTO_MANAGER=y
1006# CONFIG_CRYPTO_HMAC is not set 1035# CONFIG_CRYPTO_HMAC is not set
1007# CONFIG_CRYPTO_XCBC is not set 1036# CONFIG_CRYPTO_XCBC is not set
@@ -1019,6 +1048,9 @@ CONFIG_CRYPTO_CBC=y
1019CONFIG_CRYPTO_PCBC=m 1048CONFIG_CRYPTO_PCBC=m
1020# CONFIG_CRYPTO_LRW is not set 1049# CONFIG_CRYPTO_LRW is not set
1021# CONFIG_CRYPTO_XTS is not set 1050# CONFIG_CRYPTO_XTS is not set
1051# CONFIG_CRYPTO_CTR is not set
1052# CONFIG_CRYPTO_GCM is not set
1053# CONFIG_CRYPTO_CCM is not set
1022# CONFIG_CRYPTO_CRYPTD is not set 1054# CONFIG_CRYPTO_CRYPTD is not set
1023CONFIG_CRYPTO_DES=y 1055CONFIG_CRYPTO_DES=y
1024# CONFIG_CRYPTO_FCRYPT is not set 1056# CONFIG_CRYPTO_FCRYPT is not set
@@ -1033,12 +1065,15 @@ CONFIG_CRYPTO_DES=y
1033# CONFIG_CRYPTO_KHAZAD is not set 1065# CONFIG_CRYPTO_KHAZAD is not set
1034# CONFIG_CRYPTO_ANUBIS is not set 1066# CONFIG_CRYPTO_ANUBIS is not set
1035# CONFIG_CRYPTO_SEED is not set 1067# CONFIG_CRYPTO_SEED is not set
1068# CONFIG_CRYPTO_SALSA20 is not set
1036# CONFIG_CRYPTO_DEFLATE is not set 1069# CONFIG_CRYPTO_DEFLATE is not set
1037# CONFIG_CRYPTO_MICHAEL_MIC is not set 1070# CONFIG_CRYPTO_MICHAEL_MIC is not set
1038# CONFIG_CRYPTO_CRC32C is not set 1071# CONFIG_CRYPTO_CRC32C is not set
1039# CONFIG_CRYPTO_CAMELLIA is not set 1072# CONFIG_CRYPTO_CAMELLIA is not set
1040# CONFIG_CRYPTO_TEST is not set 1073# CONFIG_CRYPTO_TEST is not set
1041# CONFIG_CRYPTO_AUTHENC is not set 1074# CONFIG_CRYPTO_AUTHENC is not set
1075# CONFIG_CRYPTO_LZO is not set
1042CONFIG_CRYPTO_HW=y 1076CONFIG_CRYPTO_HW=y
1077# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1043# CONFIG_PPC_CLOCK is not set 1078# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y 1079CONFIG_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..a6331769d88 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
@@ -663,20 +684,40 @@ CONFIG_USB_SUPPORT=y
663CONFIG_USB_ARCH_HAS_HCD=y 684CONFIG_USB_ARCH_HAS_HCD=y
664# CONFIG_USB_ARCH_HAS_OHCI is not set 685# CONFIG_USB_ARCH_HAS_OHCI is not set
665CONFIG_USB_ARCH_HAS_EHCI=y 686CONFIG_USB_ARCH_HAS_EHCI=y
666# CONFIG_USB is not set 687CONFIG_USB=y
688# CONFIG_USB_DEBUG is not set
689# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
667 690
668# 691#
669# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 692# Miscellaneous USB options
670# 693#
694# CONFIG_USB_DEVICEFS is not set
695CONFIG_USB_DEVICE_CLASS=y
696# CONFIG_USB_DYNAMIC_MINORS is not set
697# CONFIG_USB_OTG is not set
671 698
672# 699#
673# USB Gadget Support 700# USB Host Controller Drivers
701#
702CONFIG_USB_EHCI_HCD=y
703CONFIG_USB_EHCI_ROOT_HUB_TT=y
704# CONFIG_USB_EHCI_TT_NEWSCHED is not set
705CONFIG_USB_EHCI_FSL=y
706CONFIG_USB_EHCI_HCD_PPC_OF=y
707# CONFIG_USB_ISP116X_HCD is not set
708# CONFIG_USB_SL811_HCD is not set
709# CONFIG_USB_R8A66597_HCD is not set
710
711#
712# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
674# 713#
675# CONFIG_USB_GADGET is not set 714# CONFIG_USB_GADGET is not set
676# CONFIG_MMC is not set 715# CONFIG_MMC is not set
716# CONFIG_MEMSTICK is not set
677# CONFIG_NEW_LEDS is not set 717# CONFIG_NEW_LEDS is not set
678# CONFIG_EDAC is not set 718# CONFIG_EDAC is not set
679# CONFIG_RTC_CLASS is not set 719# CONFIG_RTC_CLASS is not set
720# CONFIG_DMADEVICES is not set
680 721
681# 722#
682# Userspace I/O 723# Userspace I/O
@@ -702,12 +743,10 @@ CONFIG_FS_MBCACHE=y
702# CONFIG_XFS_FS is not set 743# CONFIG_XFS_FS is not set
703# CONFIG_GFS2_FS is not set 744# CONFIG_GFS2_FS is not set
704# CONFIG_OCFS2_FS is not set 745# CONFIG_OCFS2_FS is not set
705# CONFIG_MINIX_FS is not set 746CONFIG_DNOTIFY=y
706# CONFIG_ROMFS_FS is not set
707CONFIG_INOTIFY=y 747CONFIG_INOTIFY=y
708CONFIG_INOTIFY_USER=y 748CONFIG_INOTIFY_USER=y
709# CONFIG_QUOTA is not set 749# CONFIG_QUOTA is not set
710CONFIG_DNOTIFY=y
711# CONFIG_AUTOFS_FS is not set 750# CONFIG_AUTOFS_FS is not set
712# CONFIG_AUTOFS4_FS is not set 751# CONFIG_AUTOFS4_FS is not set
713# CONFIG_FUSE_FS is not set 752# CONFIG_FUSE_FS is not set
@@ -749,8 +788,10 @@ CONFIG_TMPFS=y
749# CONFIG_EFS_FS is not set 788# CONFIG_EFS_FS is not set
750# CONFIG_CRAMFS is not set 789# CONFIG_CRAMFS is not set
751# CONFIG_VXFS_FS is not set 790# CONFIG_VXFS_FS is not set
791# CONFIG_MINIX_FS is not set
752# CONFIG_HPFS_FS is not set 792# CONFIG_HPFS_FS is not set
753# CONFIG_QNX4FS_FS is not set 793# CONFIG_QNX4FS_FS is not set
794# CONFIG_ROMFS_FS is not set
754# CONFIG_SYSV_FS is not set 795# CONFIG_SYSV_FS is not set
755# CONFIG_UFS_FS is not set 796# CONFIG_UFS_FS is not set
756CONFIG_NETWORK_FILESYSTEMS=y 797CONFIG_NETWORK_FILESYSTEMS=y
@@ -813,10 +854,6 @@ CONFIG_PLIST=y
813CONFIG_HAS_IOMEM=y 854CONFIG_HAS_IOMEM=y
814CONFIG_HAS_IOPORT=y 855CONFIG_HAS_IOPORT=y
815CONFIG_HAS_DMA=y 856CONFIG_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 857
821# 858#
822# Kernel hacking 859# Kernel hacking
@@ -846,6 +883,7 @@ CONFIG_ASYNC_XOR=y
846CONFIG_CRYPTO=y 883CONFIG_CRYPTO=y
847CONFIG_CRYPTO_ALGAPI=y 884CONFIG_CRYPTO_ALGAPI=y
848CONFIG_CRYPTO_BLKCIPHER=y 885CONFIG_CRYPTO_BLKCIPHER=y
886# CONFIG_CRYPTO_SEQIV is not set
849CONFIG_CRYPTO_MANAGER=y 887CONFIG_CRYPTO_MANAGER=y
850# CONFIG_CRYPTO_HMAC is not set 888# CONFIG_CRYPTO_HMAC is not set
851# CONFIG_CRYPTO_XCBC is not set 889# CONFIG_CRYPTO_XCBC is not set
@@ -863,6 +901,9 @@ CONFIG_CRYPTO_CBC=y
863CONFIG_CRYPTO_PCBC=m 901CONFIG_CRYPTO_PCBC=m
864# CONFIG_CRYPTO_LRW is not set 902# CONFIG_CRYPTO_LRW is not set
865# CONFIG_CRYPTO_XTS is not set 903# CONFIG_CRYPTO_XTS is not set
904# CONFIG_CRYPTO_CTR is not set
905# CONFIG_CRYPTO_GCM is not set
906# CONFIG_CRYPTO_CCM is not set
866# CONFIG_CRYPTO_CRYPTD is not set 907# CONFIG_CRYPTO_CRYPTD is not set
867CONFIG_CRYPTO_DES=y 908CONFIG_CRYPTO_DES=y
868# CONFIG_CRYPTO_FCRYPT is not set 909# CONFIG_CRYPTO_FCRYPT is not set
@@ -877,11 +918,13 @@ CONFIG_CRYPTO_DES=y
877# CONFIG_CRYPTO_KHAZAD is not set 918# CONFIG_CRYPTO_KHAZAD is not set
878# CONFIG_CRYPTO_ANUBIS is not set 919# CONFIG_CRYPTO_ANUBIS is not set
879# CONFIG_CRYPTO_SEED is not set 920# CONFIG_CRYPTO_SEED is not set
921# CONFIG_CRYPTO_SALSA20 is not set
880# CONFIG_CRYPTO_DEFLATE is not set 922# CONFIG_CRYPTO_DEFLATE is not set
881# CONFIG_CRYPTO_MICHAEL_MIC is not set 923# CONFIG_CRYPTO_MICHAEL_MIC is not set
882# CONFIG_CRYPTO_CRC32C is not set 924# CONFIG_CRYPTO_CRC32C is not set
883# CONFIG_CRYPTO_CAMELLIA is not set 925# CONFIG_CRYPTO_CAMELLIA is not set
884# CONFIG_CRYPTO_TEST is not set 926# CONFIG_CRYPTO_TEST is not set
885# CONFIG_CRYPTO_AUTHENC is not set 927# CONFIG_CRYPTO_AUTHENC is not set
928# CONFIG_CRYPTO_LZO is not set
886CONFIG_CRYPTO_HW=y 929CONFIG_CRYPTO_HW=y
887# CONFIG_PPC_CLOCK is not set 930# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index a9807f083bc..029d2dab7de 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
@@ -664,22 +690,40 @@ CONFIG_USB_SUPPORT=y
664CONFIG_USB_ARCH_HAS_HCD=y 690CONFIG_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 693CONFIG_USB=y
668CONFIG_USB_EHCI_ROOT_HUB_TT=y 694# CONFIG_USB_DEBUG is not set
669CONFIG_USB_EHCI_FSL=y 695# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
670 696
671# 697#
672# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 698# Miscellaneous USB options
673# 699#
700# CONFIG_USB_DEVICEFS is not set
701CONFIG_USB_DEVICE_CLASS=y
702# CONFIG_USB_DYNAMIC_MINORS is not set
703# CONFIG_USB_OTG is not set
674 704
675# 705#
676# USB Gadget Support 706# USB Host Controller Drivers
707#
708CONFIG_USB_EHCI_HCD=y
709CONFIG_USB_EHCI_ROOT_HUB_TT=y
710# CONFIG_USB_EHCI_TT_NEWSCHED is not set
711CONFIG_USB_EHCI_FSL=y
712CONFIG_USB_EHCI_HCD_PPC_OF=y
713# CONFIG_USB_ISP116X_HCD is not set
714# CONFIG_USB_SL811_HCD is not set
715# CONFIG_USB_R8A66597_HCD is not set
716
717#
718# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
677# 719#
678# CONFIG_USB_GADGET is not set 720# CONFIG_USB_GADGET is not set
679# CONFIG_MMC is not set 721# CONFIG_MMC is not set
722# CONFIG_MEMSTICK is not set
680# CONFIG_NEW_LEDS is not set 723# CONFIG_NEW_LEDS is not set
681# CONFIG_EDAC is not set 724# CONFIG_EDAC is not set
682# CONFIG_RTC_CLASS is not set 725# CONFIG_RTC_CLASS is not set
726# CONFIG_DMADEVICES is not set
683 727
684# 728#
685# Userspace I/O 729# Userspace I/O
@@ -705,12 +749,10 @@ CONFIG_FS_MBCACHE=y
705# CONFIG_XFS_FS is not set 749# CONFIG_XFS_FS is not set
706# CONFIG_GFS2_FS is not set 750# CONFIG_GFS2_FS is not set
707# CONFIG_OCFS2_FS is not set 751# CONFIG_OCFS2_FS is not set
708# CONFIG_MINIX_FS is not set 752CONFIG_DNOTIFY=y
709# CONFIG_ROMFS_FS is not set
710CONFIG_INOTIFY=y 753CONFIG_INOTIFY=y
711CONFIG_INOTIFY_USER=y 754CONFIG_INOTIFY_USER=y
712# CONFIG_QUOTA is not set 755# CONFIG_QUOTA is not set
713CONFIG_DNOTIFY=y
714# CONFIG_AUTOFS_FS is not set 756# CONFIG_AUTOFS_FS is not set
715# CONFIG_AUTOFS4_FS is not set 757# CONFIG_AUTOFS4_FS is not set
716# CONFIG_FUSE_FS is not set 758# CONFIG_FUSE_FS is not set
@@ -752,8 +794,10 @@ CONFIG_TMPFS=y
752# CONFIG_EFS_FS is not set 794# CONFIG_EFS_FS is not set
753# CONFIG_CRAMFS is not set 795# CONFIG_CRAMFS is not set
754# CONFIG_VXFS_FS is not set 796# CONFIG_VXFS_FS is not set
797# CONFIG_MINIX_FS is not set
755# CONFIG_HPFS_FS is not set 798# CONFIG_HPFS_FS is not set
756# CONFIG_QNX4FS_FS is not set 799# CONFIG_QNX4FS_FS is not set
800# CONFIG_ROMFS_FS is not set
757# CONFIG_SYSV_FS is not set 801# CONFIG_SYSV_FS is not set
758# CONFIG_UFS_FS is not set 802# CONFIG_UFS_FS is not set
759CONFIG_NETWORK_FILESYSTEMS=y 803CONFIG_NETWORK_FILESYSTEMS=y
@@ -801,6 +845,8 @@ CONFIG_MSDOS_PARTITION=y
801# CONFIG_SYSV68_PARTITION is not set 845# CONFIG_SYSV68_PARTITION is not set
802# CONFIG_NLS is not set 846# CONFIG_NLS is not set
803# CONFIG_DLM is not set 847# CONFIG_DLM is not set
848CONFIG_UCC_FAST=y
849CONFIG_UCC=y
804 850
805# 851#
806# Library routines 852# Library routines
@@ -816,10 +862,6 @@ CONFIG_PLIST=y
816CONFIG_HAS_IOMEM=y 862CONFIG_HAS_IOMEM=y
817CONFIG_HAS_IOPORT=y 863CONFIG_HAS_IOPORT=y
818CONFIG_HAS_DMA=y 864CONFIG_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 865
824# 866#
825# Kernel hacking 867# Kernel hacking
@@ -845,6 +887,7 @@ CONFIG_ENABLE_MUST_CHECK=y
845CONFIG_CRYPTO=y 887CONFIG_CRYPTO=y
846CONFIG_CRYPTO_ALGAPI=y 888CONFIG_CRYPTO_ALGAPI=y
847CONFIG_CRYPTO_BLKCIPHER=y 889CONFIG_CRYPTO_BLKCIPHER=y
890# CONFIG_CRYPTO_SEQIV is not set
848CONFIG_CRYPTO_MANAGER=y 891CONFIG_CRYPTO_MANAGER=y
849# CONFIG_CRYPTO_HMAC is not set 892# CONFIG_CRYPTO_HMAC is not set
850# CONFIG_CRYPTO_XCBC is not set 893# CONFIG_CRYPTO_XCBC is not set
@@ -862,6 +905,9 @@ CONFIG_CRYPTO_CBC=y
862CONFIG_CRYPTO_PCBC=m 905CONFIG_CRYPTO_PCBC=m
863# CONFIG_CRYPTO_LRW is not set 906# CONFIG_CRYPTO_LRW is not set
864# CONFIG_CRYPTO_XTS is not set 907# CONFIG_CRYPTO_XTS is not set
908# CONFIG_CRYPTO_CTR is not set
909# CONFIG_CRYPTO_GCM is not set
910# CONFIG_CRYPTO_CCM is not set
865# CONFIG_CRYPTO_CRYPTD is not set 911# CONFIG_CRYPTO_CRYPTD is not set
866CONFIG_CRYPTO_DES=y 912CONFIG_CRYPTO_DES=y
867# CONFIG_CRYPTO_FCRYPT is not set 913# CONFIG_CRYPTO_FCRYPT is not set
@@ -876,12 +922,14 @@ CONFIG_CRYPTO_DES=y
876# CONFIG_CRYPTO_KHAZAD is not set 922# CONFIG_CRYPTO_KHAZAD is not set
877# CONFIG_CRYPTO_ANUBIS is not set 923# CONFIG_CRYPTO_ANUBIS is not set
878# CONFIG_CRYPTO_SEED is not set 924# CONFIG_CRYPTO_SEED is not set
925# CONFIG_CRYPTO_SALSA20 is not set
879# CONFIG_CRYPTO_DEFLATE is not set 926# CONFIG_CRYPTO_DEFLATE is not set
880# CONFIG_CRYPTO_MICHAEL_MIC is not set 927# CONFIG_CRYPTO_MICHAEL_MIC is not set
881# CONFIG_CRYPTO_CRC32C is not set 928# CONFIG_CRYPTO_CRC32C is not set
882# CONFIG_CRYPTO_CAMELLIA is not set 929# CONFIG_CRYPTO_CAMELLIA is not set
883# CONFIG_CRYPTO_TEST is not set 930# CONFIG_CRYPTO_TEST is not set
884# CONFIG_CRYPTO_AUTHENC is not set 931# CONFIG_CRYPTO_AUTHENC is not set
932# CONFIG_CRYPTO_LZO is not set
885CONFIG_CRYPTO_HW=y 933CONFIG_CRYPTO_HW=y
886# CONFIG_PPC_CLOCK is not set 934# CONFIG_PPC_CLOCK is not set
887CONFIG_PPC_LIB_RHEAP=y 935CONFIG_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..418bcdb5f91 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-rc7
4# Thu Dec 6 16:48:46 2007 4# Mon Mar 31 11:37:03 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
@@ -707,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
707# CONFIG_IPMI_HANDLER is not set 742# CONFIG_IPMI_HANDLER is not set
708# CONFIG_HW_RANDOM is not set 743# CONFIG_HW_RANDOM is not set
709CONFIG_NVRAM=y 744CONFIG_NVRAM=y
710CONFIG_GEN_RTC=y 745# CONFIG_GEN_RTC is not set
711CONFIG_GEN_RTC_X=y
712# CONFIG_R3964 is not set 746# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 747# CONFIG_APPLICOM is not set
714# CONFIG_RAW_DRIVER is not set 748# CONFIG_RAW_DRIVER is not set
@@ -756,14 +790,12 @@ CONFIG_I2C_MPC=y
756# 790#
757# Miscellaneous I2C Chip support 791# Miscellaneous I2C Chip support
758# 792#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 793# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 794CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 795# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 796# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 797# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 798# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 799# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 800# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 801# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +811,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 811# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 812# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 813# CONFIG_HWMON is not set
814# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 815# CONFIG_WATCHDOG is not set
783 816
784# 817#
@@ -803,6 +836,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 836#
804# Supported SAA7146 based PCI Adapters 837# Supported SAA7146 based PCI Adapters
805# 838#
839# CONFIG_TTPCI_EEPROM is not set
840# CONFIG_DVB_BUDGET_CORE is not set
806 841
807# 842#
808# Supported USB Adapters 843# Supported USB Adapters
@@ -888,11 +923,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 923# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 924# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 925# CONFIG_DVB_TDA827X is not set
926# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 927# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 928# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 929# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 930# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 931# CONFIG_DVB_TUNER_DIB0070 is not set
932# CONFIG_DVB_TUNER_XC5000 is not set
896 933
897# 934#
898# Miscellaneous devices 935# Miscellaneous devices
@@ -970,6 +1007,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1007# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1008# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1009# CONFIG_SND_CMIPCI is not set
1010# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1011# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1012# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1013# CONFIG_SND_CS5530 is not set
@@ -995,6 +1033,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1033# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1034# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1035# CONFIG_SND_HDSPM is not set
1036# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1037# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1038# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1039CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1051,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1051# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1052# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1053# CONFIG_SND_VIA82XX_MODEM is not set
1054# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1055# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1056# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1057# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1081,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1081#
1042 1082
1043# 1083#
1084# ALSA SoC audio for Freescale SOCs
1085#
1086
1087#
1044# Open Sound System 1088# Open Sound System
1045# 1089#
1046# CONFIG_SOUND_PRIME is not set 1090# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1107,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1107CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1108CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1109# CONFIG_USB_DEBUG is not set
1110# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1111
1067# 1112#
1068# Miscellaneous USB options 1113# Miscellaneous USB options
@@ -1076,9 +1121,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1121# USB Host Controller Drivers
1077# 1122#
1078CONFIG_USB_EHCI_HCD=y 1123CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1124# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1125# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1126# CONFIG_USB_EHCI_FSL is not set
1127CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1128# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1129CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1130CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1175,6 @@ CONFIG_USB_MON=y
1129# 1175#
1130# USB port drivers 1176# USB port drivers
1131# 1177#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1178# CONFIG_USB_SERIAL is not set
1137 1179
1138# 1180#
@@ -1158,16 +1200,9 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1200# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1201# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1202# 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 1203# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1204# CONFIG_MMC is not set
1205# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1206# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1207# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1208# CONFIG_EDAC is not set
@@ -1199,6 +1234,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1234# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1235# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1236# CONFIG_RTC_DRV_M41T80 is not set
1237# CONFIG_RTC_DRV_S35390A is not set
1202 1238
1203# 1239#
1204# SPI RTC drivers 1240# SPI RTC drivers
@@ -1208,9 +1244,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1244# Platform RTC drivers
1209# 1245#
1210CONFIG_RTC_DRV_CMOS=y 1246CONFIG_RTC_DRV_CMOS=y
1247# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1248# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1249# CONFIG_RTC_DRV_DS1742 is not set
1250# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1251# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1252# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1253# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1255,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1255#
1219# on-CPU RTC drivers 1256# on-CPU RTC drivers
1220# 1257#
1258# CONFIG_DMADEVICES is not set
1221 1259
1222# 1260#
1223# Userspace I/O 1261# Userspace I/O
@@ -1243,12 +1281,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1281# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1282# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1283# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1284CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1285CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1286CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1287# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1288# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1289# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1290# CONFIG_FUSE_FS is not set
@@ -1300,8 +1336,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1336CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1337CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1338CONFIG_VXFS_FS=m
1339# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1340CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1341CONFIG_QNX4FS_FS=m
1342# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1343CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1344CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1345# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1431,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1431# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1432CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1433# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1434
1398# 1435#
1399# Library routines 1436# Library routines
@@ -1410,7 +1447,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1447CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1448CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1449CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1450
1415# 1451#
1416# Kernel hacking 1452# Kernel hacking
@@ -1429,6 +1465,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1465# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1466# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1467# CONFIG_SLUB_DEBUG_ON is not set
1468# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1469# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1470# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1471# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1479,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1479# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1480# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1481# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1482# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1483# CONFIG_RCU_TORTURE_TEST is not set
1484# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1485# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1486# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1487# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1500,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1500CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1501CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1502CONFIG_CRYPTO_BLKCIPHER=y
1503# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1504CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1505CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1506CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1519,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1519CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1520# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1521# CONFIG_CRYPTO_XTS is not set
1522# CONFIG_CRYPTO_CTR is not set
1523# CONFIG_CRYPTO_GCM is not set
1524# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1525# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1526CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1527# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1536,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1536# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1537# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1538# CONFIG_CRYPTO_SEED is not set
1539# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1540# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1541# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1542# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1543# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1544# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1545# CONFIG_CRYPTO_AUTHENC is not set
1546# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1547CONFIG_CRYPTO_HW=y
1548# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1549# 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..2b866b38560 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-rc7
4# Thu Dec 6 16:48:50 2007 4# Mon Mar 31 11:37:05 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,14 +622,14 @@ 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
596# CONFIG_IPMI_HANDLER is not set 629# CONFIG_IPMI_HANDLER is not set
597CONFIG_HW_RANDOM=y 630CONFIG_HW_RANDOM=y
598# CONFIG_NVRAM is not set 631# CONFIG_NVRAM is not set
599CONFIG_GEN_RTC=y 632# CONFIG_GEN_RTC is not set
600# CONFIG_GEN_RTC_X is not set
601# CONFIG_R3964 is not set 633# CONFIG_R3964 is not set
602# CONFIG_APPLICOM is not set 634# CONFIG_APPLICOM is not set
603# CONFIG_RAW_DRIVER is not set 635# CONFIG_RAW_DRIVER is not set
@@ -644,14 +676,12 @@ CONFIG_I2C_MPC=y
644# 676#
645# Miscellaneous I2C Chip support 677# Miscellaneous I2C Chip support
646# 678#
647# CONFIG_SENSORS_DS1337 is not set
648# CONFIG_SENSORS_DS1374 is not set
649# CONFIG_DS1682 is not set 679# CONFIG_DS1682 is not set
650# CONFIG_SENSORS_EEPROM is not set 680# CONFIG_SENSORS_EEPROM is not set
651# CONFIG_SENSORS_PCF8574 is not set 681# CONFIG_SENSORS_PCF8574 is not set
652# CONFIG_SENSORS_PCA9539 is not set 682# CONFIG_PCF8575 is not set
653# CONFIG_SENSORS_PCF8591 is not set 683# CONFIG_SENSORS_PCF8591 is not set
654# CONFIG_SENSORS_M41T00 is not set 684# CONFIG_TPS65010 is not set
655# CONFIG_SENSORS_MAX6875 is not set 685# CONFIG_SENSORS_MAX6875 is not set
656# CONFIG_SENSORS_TSL2550 is not set 686# CONFIG_SENSORS_TSL2550 is not set
657# CONFIG_I2C_DEBUG_CORE is not set 687# CONFIG_I2C_DEBUG_CORE is not set
@@ -676,6 +706,7 @@ CONFIG_HWMON=y
676# CONFIG_SENSORS_ADM1031 is not set 706# CONFIG_SENSORS_ADM1031 is not set
677# CONFIG_SENSORS_ADM9240 is not set 707# CONFIG_SENSORS_ADM9240 is not set
678# CONFIG_SENSORS_ADT7470 is not set 708# CONFIG_SENSORS_ADT7470 is not set
709# CONFIG_SENSORS_ADT7473 is not set
679# CONFIG_SENSORS_ATXP1 is not set 710# CONFIG_SENSORS_ATXP1 is not set
680# CONFIG_SENSORS_DS1621 is not set 711# CONFIG_SENSORS_DS1621 is not set
681# CONFIG_SENSORS_I5K_AMB is not set 712# CONFIG_SENSORS_I5K_AMB is not set
@@ -705,6 +736,7 @@ CONFIG_HWMON=y
705# CONFIG_SENSORS_SMSC47M1 is not set 736# CONFIG_SENSORS_SMSC47M1 is not set
706# CONFIG_SENSORS_SMSC47M192 is not set 737# CONFIG_SENSORS_SMSC47M192 is not set
707# CONFIG_SENSORS_SMSC47B397 is not set 738# CONFIG_SENSORS_SMSC47B397 is not set
739# CONFIG_SENSORS_ADS7828 is not set
708# CONFIG_SENSORS_THMC50 is not set 740# CONFIG_SENSORS_THMC50 is not set
709# CONFIG_SENSORS_VIA686A is not set 741# CONFIG_SENSORS_VIA686A is not set
710# CONFIG_SENSORS_VT1211 is not set 742# CONFIG_SENSORS_VT1211 is not set
@@ -714,9 +746,11 @@ CONFIG_HWMON=y
714# CONFIG_SENSORS_W83792D is not set 746# CONFIG_SENSORS_W83792D is not set
715# CONFIG_SENSORS_W83793 is not set 747# CONFIG_SENSORS_W83793 is not set
716# CONFIG_SENSORS_W83L785TS is not set 748# CONFIG_SENSORS_W83L785TS is not set
749# CONFIG_SENSORS_W83L786NG is not set
717# CONFIG_SENSORS_W83627HF is not set 750# CONFIG_SENSORS_W83627HF is not set
718# CONFIG_SENSORS_W83627EHF is not set 751# CONFIG_SENSORS_W83627EHF is not set
719# CONFIG_HWMON_DEBUG_CHIP is not set 752# CONFIG_HWMON_DEBUG_CHIP is not set
753# CONFIG_THERMAL is not set
720CONFIG_WATCHDOG=y 754CONFIG_WATCHDOG=y
721# CONFIG_WATCHDOG_NOWAYOUT is not set 755# CONFIG_WATCHDOG_NOWAYOUT is not set
722 756
@@ -782,12 +816,9 @@ CONFIG_USB_ARCH_HAS_EHCI=y
782# 816#
783# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 817# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
784# 818#
785
786#
787# USB Gadget Support
788#
789# CONFIG_USB_GADGET is not set 819# CONFIG_USB_GADGET is not set
790# CONFIG_MMC is not set 820# CONFIG_MMC is not set
821# CONFIG_MEMSTICK is not set
791# CONFIG_NEW_LEDS is not set 822# CONFIG_NEW_LEDS is not set
792# CONFIG_INFINIBAND is not set 823# CONFIG_INFINIBAND is not set
793# CONFIG_EDAC is not set 824# CONFIG_EDAC is not set
@@ -819,6 +850,7 @@ CONFIG_RTC_DRV_DS1374=y
819# CONFIG_RTC_DRV_PCF8563 is not set 850# CONFIG_RTC_DRV_PCF8563 is not set
820# CONFIG_RTC_DRV_PCF8583 is not set 851# CONFIG_RTC_DRV_PCF8583 is not set
821# CONFIG_RTC_DRV_M41T80 is not set 852# CONFIG_RTC_DRV_M41T80 is not set
853# CONFIG_RTC_DRV_S35390A is not set
822 854
823# 855#
824# SPI RTC drivers 856# SPI RTC drivers
@@ -828,9 +860,10 @@ CONFIG_RTC_DRV_DS1374=y
828# Platform RTC drivers 860# Platform RTC drivers
829# 861#
830# CONFIG_RTC_DRV_CMOS is not set 862# CONFIG_RTC_DRV_CMOS is not set
863# CONFIG_RTC_DRV_DS1511 is not set
831# CONFIG_RTC_DRV_DS1553 is not set 864# CONFIG_RTC_DRV_DS1553 is not set
832# CONFIG_RTC_DRV_STK17TA8 is not set
833# CONFIG_RTC_DRV_DS1742 is not set 865# CONFIG_RTC_DRV_DS1742 is not set
866# CONFIG_RTC_DRV_STK17TA8 is not set
834# CONFIG_RTC_DRV_M48T86 is not set 867# CONFIG_RTC_DRV_M48T86 is not set
835# CONFIG_RTC_DRV_M48T59 is not set 868# CONFIG_RTC_DRV_M48T59 is not set
836# CONFIG_RTC_DRV_V3020 is not set 869# CONFIG_RTC_DRV_V3020 is not set
@@ -838,6 +871,7 @@ CONFIG_RTC_DRV_DS1374=y
838# 871#
839# on-CPU RTC drivers 872# on-CPU RTC drivers
840# 873#
874# CONFIG_DMADEVICES is not set
841 875
842# 876#
843# Userspace I/O 877# Userspace I/O
@@ -863,12 +897,10 @@ CONFIG_FS_MBCACHE=y
863# CONFIG_XFS_FS is not set 897# CONFIG_XFS_FS is not set
864# CONFIG_GFS2_FS is not set 898# CONFIG_GFS2_FS is not set
865# CONFIG_OCFS2_FS is not set 899# CONFIG_OCFS2_FS is not set
866# CONFIG_MINIX_FS is not set 900CONFIG_DNOTIFY=y
867# CONFIG_ROMFS_FS is not set
868CONFIG_INOTIFY=y 901CONFIG_INOTIFY=y
869CONFIG_INOTIFY_USER=y 902CONFIG_INOTIFY_USER=y
870# CONFIG_QUOTA is not set 903# CONFIG_QUOTA is not set
871CONFIG_DNOTIFY=y
872# CONFIG_AUTOFS_FS is not set 904# CONFIG_AUTOFS_FS is not set
873# CONFIG_AUTOFS4_FS is not set 905# CONFIG_AUTOFS4_FS is not set
874# CONFIG_FUSE_FS is not set 906# CONFIG_FUSE_FS is not set
@@ -910,8 +942,10 @@ CONFIG_TMPFS=y
910# CONFIG_EFS_FS is not set 942# CONFIG_EFS_FS is not set
911# CONFIG_CRAMFS is not set 943# CONFIG_CRAMFS is not set
912# CONFIG_VXFS_FS is not set 944# CONFIG_VXFS_FS is not set
945# CONFIG_MINIX_FS is not set
913# CONFIG_HPFS_FS is not set 946# CONFIG_HPFS_FS is not set
914# CONFIG_QNX4FS_FS is not set 947# CONFIG_QNX4FS_FS is not set
948# CONFIG_ROMFS_FS is not set
915# CONFIG_SYSV_FS is not set 949# CONFIG_SYSV_FS is not set
916# CONFIG_UFS_FS is not set 950# CONFIG_UFS_FS is not set
917CONFIG_NETWORK_FILESYSTEMS=y 951CONFIG_NETWORK_FILESYSTEMS=y
@@ -955,7 +989,6 @@ CONFIG_PARTITION_ADVANCED=y
955# CONFIG_SYSV68_PARTITION is not set 989# CONFIG_SYSV68_PARTITION is not set
956# CONFIG_NLS is not set 990# CONFIG_NLS is not set
957# CONFIG_DLM is not set 991# CONFIG_DLM is not set
958# CONFIG_UCC_SLOW is not set
959 992
960# 993#
961# Library routines 994# Library routines
@@ -971,7 +1004,6 @@ CONFIG_PLIST=y
971CONFIG_HAS_IOMEM=y 1004CONFIG_HAS_IOMEM=y
972CONFIG_HAS_IOPORT=y 1005CONFIG_HAS_IOPORT=y
973CONFIG_HAS_DMA=y 1006CONFIG_HAS_DMA=y
974# CONFIG_INSTRUMENTATION is not set
975 1007
976# 1008#
977# Kernel hacking 1009# Kernel hacking
@@ -990,6 +1022,7 @@ CONFIG_SCHED_DEBUG=y
990# CONFIG_SCHEDSTATS is not set 1022# CONFIG_SCHEDSTATS is not set
991# CONFIG_TIMER_STATS is not set 1023# CONFIG_TIMER_STATS is not set
992# CONFIG_SLUB_DEBUG_ON is not set 1024# CONFIG_SLUB_DEBUG_ON is not set
1025# CONFIG_SLUB_STATS is not set
993# CONFIG_DEBUG_RT_MUTEXES is not set 1026# CONFIG_DEBUG_RT_MUTEXES is not set
994# CONFIG_RT_MUTEX_TESTER is not set 1027# CONFIG_RT_MUTEX_TESTER is not set
995# CONFIG_DEBUG_SPINLOCK is not set 1028# CONFIG_DEBUG_SPINLOCK is not set
@@ -1002,9 +1035,9 @@ CONFIG_SCHED_DEBUG=y
1002# CONFIG_DEBUG_VM is not set 1035# CONFIG_DEBUG_VM is not set
1003# CONFIG_DEBUG_LIST is not set 1036# CONFIG_DEBUG_LIST is not set
1004# CONFIG_DEBUG_SG is not set 1037# CONFIG_DEBUG_SG is not set
1005CONFIG_FORCED_INLINING=y
1006# CONFIG_BOOT_PRINTK_DELAY is not set 1038# CONFIG_BOOT_PRINTK_DELAY is not set
1007# CONFIG_RCU_TORTURE_TEST is not set 1039# CONFIG_RCU_TORTURE_TEST is not set
1040# CONFIG_BACKTRACE_SELF_TEST is not set
1008# CONFIG_FAULT_INJECTION is not set 1041# CONFIG_FAULT_INJECTION is not set
1009# CONFIG_SAMPLES is not set 1042# CONFIG_SAMPLES is not set
1010# CONFIG_DEBUG_STACKOVERFLOW is not set 1043# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1023,6 +1056,7 @@ CONFIG_PPC_EARLY_DEBUG=y
1023# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 1056# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
1024# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 1057# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
1025# CONFIG_PPC_EARLY_DEBUG_44x is not set 1058# CONFIG_PPC_EARLY_DEBUG_44x is not set
1059# CONFIG_PPC_EARLY_DEBUG_40x is not set
1026# CONFIG_PPC_EARLY_DEBUG_CPM is not set 1060# CONFIG_PPC_EARLY_DEBUG_CPM is not set
1027 1061
1028# 1062#
@@ -1034,6 +1068,7 @@ CONFIG_PPC_EARLY_DEBUG=y
1034CONFIG_CRYPTO=y 1068CONFIG_CRYPTO=y
1035CONFIG_CRYPTO_ALGAPI=y 1069CONFIG_CRYPTO_ALGAPI=y
1036CONFIG_CRYPTO_BLKCIPHER=y 1070CONFIG_CRYPTO_BLKCIPHER=y
1071# CONFIG_CRYPTO_SEQIV is not set
1037CONFIG_CRYPTO_MANAGER=y 1072CONFIG_CRYPTO_MANAGER=y
1038# CONFIG_CRYPTO_HMAC is not set 1073# CONFIG_CRYPTO_HMAC is not set
1039# CONFIG_CRYPTO_XCBC is not set 1074# CONFIG_CRYPTO_XCBC is not set
@@ -1051,6 +1086,9 @@ CONFIG_CRYPTO_CBC=y
1051CONFIG_CRYPTO_PCBC=m 1086CONFIG_CRYPTO_PCBC=m
1052# CONFIG_CRYPTO_LRW is not set 1087# CONFIG_CRYPTO_LRW is not set
1053# CONFIG_CRYPTO_XTS is not set 1088# CONFIG_CRYPTO_XTS is not set
1089# CONFIG_CRYPTO_CTR is not set
1090# CONFIG_CRYPTO_GCM is not set
1091# CONFIG_CRYPTO_CCM is not set
1054# CONFIG_CRYPTO_CRYPTD is not set 1092# CONFIG_CRYPTO_CRYPTD is not set
1055CONFIG_CRYPTO_DES=y 1093CONFIG_CRYPTO_DES=y
1056# CONFIG_CRYPTO_FCRYPT is not set 1094# CONFIG_CRYPTO_FCRYPT is not set
@@ -1065,12 +1103,15 @@ CONFIG_CRYPTO_DES=y
1065# CONFIG_CRYPTO_KHAZAD is not set 1103# CONFIG_CRYPTO_KHAZAD is not set
1066# CONFIG_CRYPTO_ANUBIS is not set 1104# CONFIG_CRYPTO_ANUBIS is not set
1067# CONFIG_CRYPTO_SEED is not set 1105# CONFIG_CRYPTO_SEED is not set
1106# CONFIG_CRYPTO_SALSA20 is not set
1068# CONFIG_CRYPTO_DEFLATE is not set 1107# CONFIG_CRYPTO_DEFLATE is not set
1069# CONFIG_CRYPTO_MICHAEL_MIC is not set 1108# CONFIG_CRYPTO_MICHAEL_MIC is not set
1070# CONFIG_CRYPTO_CRC32C is not set 1109# CONFIG_CRYPTO_CRC32C is not set
1071# CONFIG_CRYPTO_CAMELLIA is not set 1110# CONFIG_CRYPTO_CAMELLIA is not set
1072# CONFIG_CRYPTO_TEST is not set 1111# CONFIG_CRYPTO_TEST is not set
1073# CONFIG_CRYPTO_AUTHENC is not set 1112# CONFIG_CRYPTO_AUTHENC is not set
1113# CONFIG_CRYPTO_LZO is not set
1074CONFIG_CRYPTO_HW=y 1114CONFIG_CRYPTO_HW=y
1115# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1075# CONFIG_PPC_CLOCK is not set 1116# CONFIG_PPC_CLOCK is not set
1076CONFIG_PPC_LIB_RHEAP=y 1117CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8572_ds_defconfig b/arch/powerpc/configs/mpc8572_ds_defconfig
index b40802d17e0..53aa6f3173a 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-rc7
4# Thu Dec 6 16:48:52 2007 4# Mon Mar 31 11:37:06 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
@@ -707,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
707# CONFIG_IPMI_HANDLER is not set 742# CONFIG_IPMI_HANDLER is not set
708# CONFIG_HW_RANDOM is not set 743# CONFIG_HW_RANDOM is not set
709CONFIG_NVRAM=y 744CONFIG_NVRAM=y
710CONFIG_GEN_RTC=y 745# CONFIG_GEN_RTC is not set
711CONFIG_GEN_RTC_X=y
712# CONFIG_R3964 is not set 746# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 747# CONFIG_APPLICOM is not set
714# CONFIG_RAW_DRIVER is not set 748# CONFIG_RAW_DRIVER is not set
@@ -756,14 +790,12 @@ CONFIG_I2C_MPC=y
756# 790#
757# Miscellaneous I2C Chip support 791# Miscellaneous I2C Chip support
758# 792#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 793# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 794CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 795# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 796# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 797# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 798# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 799# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 800# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 801# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +811,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 811# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 812# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 813# CONFIG_HWMON is not set
814# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 815# CONFIG_WATCHDOG is not set
783 816
784# 817#
@@ -803,6 +836,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 836#
804# Supported SAA7146 based PCI Adapters 837# Supported SAA7146 based PCI Adapters
805# 838#
839# CONFIG_TTPCI_EEPROM is not set
840# CONFIG_DVB_BUDGET_CORE is not set
806 841
807# 842#
808# Supported USB Adapters 843# Supported USB Adapters
@@ -888,11 +923,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 923# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 924# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 925# CONFIG_DVB_TDA827X is not set
926# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 927# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 928# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 929# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 930# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 931# CONFIG_DVB_TUNER_DIB0070 is not set
932# CONFIG_DVB_TUNER_XC5000 is not set
896 933
897# 934#
898# Miscellaneous devices 935# Miscellaneous devices
@@ -970,6 +1007,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1007# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1008# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1009# CONFIG_SND_CMIPCI is not set
1010# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1011# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1012# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1013# CONFIG_SND_CS5530 is not set
@@ -995,6 +1033,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1033# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1034# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1035# CONFIG_SND_HDSPM is not set
1036# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1037# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1038# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1039CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1051,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1051# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1052# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1053# CONFIG_SND_VIA82XX_MODEM is not set
1054# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1055# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1056# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1057# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1081,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1081#
1042 1082
1043# 1083#
1084# ALSA SoC audio for Freescale SOCs
1085#
1086
1087#
1044# Open Sound System 1088# Open Sound System
1045# 1089#
1046# CONFIG_SOUND_PRIME is not set 1090# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1107,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1107CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1108CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1109# CONFIG_USB_DEBUG is not set
1110# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1111
1067# 1112#
1068# Miscellaneous USB options 1113# Miscellaneous USB options
@@ -1076,9 +1121,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1121# USB Host Controller Drivers
1077# 1122#
1078CONFIG_USB_EHCI_HCD=y 1123CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1124# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1125# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1126# CONFIG_USB_EHCI_FSL is not set
1127CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1128# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1129CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1130CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1175,6 @@ CONFIG_USB_MON=y
1129# 1175#
1130# USB port drivers 1176# USB port drivers
1131# 1177#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1178# CONFIG_USB_SERIAL is not set
1137 1179
1138# 1180#
@@ -1158,16 +1200,9 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1200# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1201# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1202# 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 1203# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1204# CONFIG_MMC is not set
1205# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1206# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1207# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1208# CONFIG_EDAC is not set
@@ -1199,6 +1234,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1234# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1235# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1236# CONFIG_RTC_DRV_M41T80 is not set
1237# CONFIG_RTC_DRV_S35390A is not set
1202 1238
1203# 1239#
1204# SPI RTC drivers 1240# SPI RTC drivers
@@ -1208,9 +1244,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1244# Platform RTC drivers
1209# 1245#
1210CONFIG_RTC_DRV_CMOS=y 1246CONFIG_RTC_DRV_CMOS=y
1247# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1248# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1249# CONFIG_RTC_DRV_DS1742 is not set
1250# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1251# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1252# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1253# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1255,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1255#
1219# on-CPU RTC drivers 1256# on-CPU RTC drivers
1220# 1257#
1258# CONFIG_DMADEVICES is not set
1221 1259
1222# 1260#
1223# Userspace I/O 1261# Userspace I/O
@@ -1243,12 +1281,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1281# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1282# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1283# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1284CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1285CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1286CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1287# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1288# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1289# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1290# CONFIG_FUSE_FS is not set
@@ -1300,8 +1336,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1336CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1337CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1338CONFIG_VXFS_FS=m
1339# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1340CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1341CONFIG_QNX4FS_FS=m
1342# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1343CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1344CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1345# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1431,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1431# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1432CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1433# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1434
1398# 1435#
1399# Library routines 1436# Library routines
@@ -1410,7 +1447,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1447CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1448CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1449CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1450
1415# 1451#
1416# Kernel hacking 1452# Kernel hacking
@@ -1429,6 +1465,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1465# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1466# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1467# CONFIG_SLUB_DEBUG_ON is not set
1468# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1469# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1470# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1471# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1479,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1479# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1480# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1481# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1482# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1483# CONFIG_RCU_TORTURE_TEST is not set
1484# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1485# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1486# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1487# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1500,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1500CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1501CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1502CONFIG_CRYPTO_BLKCIPHER=y
1503# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1504CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1505CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1506CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1519,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1519CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1520# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1521# CONFIG_CRYPTO_XTS is not set
1522# CONFIG_CRYPTO_CTR is not set
1523# CONFIG_CRYPTO_GCM is not set
1524# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1525# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1526CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1527# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1536,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1536# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1537# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1538# CONFIG_CRYPTO_SEED is not set
1539# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1540# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1541# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1542# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1543# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1544# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1545# CONFIG_CRYPTO_AUTHENC is not set
1546# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1547CONFIG_CRYPTO_HW=y
1548# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1549# 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..2075722911b 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-rc7
4# Mon Jan 28 13:12:07 2008 4# Mon Mar 31 11:37:08 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
@@ -724,8 +750,7 @@ CONFIG_LEGACY_PTY_COUNT=256
724# CONFIG_IPMI_HANDLER is not set 750# CONFIG_IPMI_HANDLER is not set
725# CONFIG_HW_RANDOM is not set 751# CONFIG_HW_RANDOM is not set
726CONFIG_NVRAM=y 752CONFIG_NVRAM=y
727CONFIG_GEN_RTC=y 753# CONFIG_GEN_RTC is not set
728CONFIG_GEN_RTC_X=y
729# CONFIG_R3964 is not set 754# CONFIG_R3964 is not set
730# CONFIG_APPLICOM is not set 755# CONFIG_APPLICOM is not set
731# CONFIG_RAW_DRIVER is not set 756# CONFIG_RAW_DRIVER is not set
@@ -773,14 +798,12 @@ CONFIG_I2C_MPC=y
773# 798#
774# Miscellaneous I2C Chip support 799# Miscellaneous I2C Chip support
775# 800#
776# CONFIG_SENSORS_DS1337 is not set
777# CONFIG_SENSORS_DS1374 is not set
778# CONFIG_DS1682 is not set 801# CONFIG_DS1682 is not set
779CONFIG_SENSORS_EEPROM=y 802CONFIG_SENSORS_EEPROM=y
780# CONFIG_SENSORS_PCF8574 is not set 803# CONFIG_SENSORS_PCF8574 is not set
781# CONFIG_SENSORS_PCA9539 is not set 804# CONFIG_PCF8575 is not set
782# CONFIG_SENSORS_PCF8591 is not set 805# CONFIG_SENSORS_PCF8591 is not set
783# CONFIG_SENSORS_M41T00 is not set 806# CONFIG_TPS65010 is not set
784# CONFIG_SENSORS_MAX6875 is not set 807# CONFIG_SENSORS_MAX6875 is not set
785# CONFIG_SENSORS_TSL2550 is not set 808# CONFIG_SENSORS_TSL2550 is not set
786# CONFIG_I2C_DEBUG_CORE is not set 809# CONFIG_I2C_DEBUG_CORE is not set
@@ -796,6 +819,7 @@ CONFIG_SENSORS_EEPROM=y
796# CONFIG_W1 is not set 819# CONFIG_W1 is not set
797# CONFIG_POWER_SUPPLY is not set 820# CONFIG_POWER_SUPPLY is not set
798# CONFIG_HWMON is not set 821# CONFIG_HWMON is not set
822# CONFIG_THERMAL is not set
799# CONFIG_WATCHDOG is not set 823# CONFIG_WATCHDOG is not set
800 824
801# 825#
@@ -820,6 +844,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
820# 844#
821# Supported SAA7146 based PCI Adapters 845# Supported SAA7146 based PCI Adapters
822# 846#
847# CONFIG_TTPCI_EEPROM is not set
848# CONFIG_DVB_BUDGET_CORE is not set
823 849
824# 850#
825# Supported USB Adapters 851# Supported USB Adapters
@@ -905,11 +931,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
905# CONFIG_DVB_PLL is not set 931# CONFIG_DVB_PLL is not set
906# CONFIG_DVB_TDA826X is not set 932# CONFIG_DVB_TDA826X is not set
907# CONFIG_DVB_TDA827X is not set 933# CONFIG_DVB_TDA827X is not set
934# CONFIG_DVB_TDA18271 is not set
908# CONFIG_DVB_TUNER_QT1010 is not set 935# CONFIG_DVB_TUNER_QT1010 is not set
909# CONFIG_DVB_TUNER_MT2060 is not set 936# CONFIG_DVB_TUNER_MT2060 is not set
910# CONFIG_DVB_TUNER_MT2266 is not set 937# CONFIG_DVB_TUNER_MT2266 is not set
911# CONFIG_DVB_TUNER_MT2131 is not set 938# CONFIG_DVB_TUNER_MT2131 is not set
912# CONFIG_DVB_TUNER_DIB0070 is not set 939# CONFIG_DVB_TUNER_DIB0070 is not set
940# CONFIG_DVB_TUNER_XC5000 is not set
913 941
914# 942#
915# Miscellaneous devices 943# Miscellaneous devices
@@ -987,6 +1015,7 @@ CONFIG_SND_AC97_CODEC=y
987# CONFIG_SND_BT87X is not set 1015# CONFIG_SND_BT87X is not set
988# CONFIG_SND_CA0106 is not set 1016# CONFIG_SND_CA0106 is not set
989# CONFIG_SND_CMIPCI is not set 1017# CONFIG_SND_CMIPCI is not set
1018# CONFIG_SND_OXYGEN is not set
990# CONFIG_SND_CS4281 is not set 1019# CONFIG_SND_CS4281 is not set
991# CONFIG_SND_CS46XX is not set 1020# CONFIG_SND_CS46XX is not set
992# CONFIG_SND_CS5530 is not set 1021# CONFIG_SND_CS5530 is not set
@@ -1012,6 +1041,7 @@ CONFIG_SND_AC97_CODEC=y
1012# CONFIG_SND_HDA_INTEL is not set 1041# CONFIG_SND_HDA_INTEL is not set
1013# CONFIG_SND_HDSP is not set 1042# CONFIG_SND_HDSP is not set
1014# CONFIG_SND_HDSPM is not set 1043# CONFIG_SND_HDSPM is not set
1044# CONFIG_SND_HIFIER is not set
1015# CONFIG_SND_ICE1712 is not set 1045# CONFIG_SND_ICE1712 is not set
1016# CONFIG_SND_ICE1724 is not set 1046# CONFIG_SND_ICE1724 is not set
1017CONFIG_SND_INTEL8X0=y 1047CONFIG_SND_INTEL8X0=y
@@ -1029,6 +1059,7 @@ CONFIG_SND_INTEL8X0=y
1029# CONFIG_SND_TRIDENT is not set 1059# CONFIG_SND_TRIDENT is not set
1030# CONFIG_SND_VIA82XX is not set 1060# CONFIG_SND_VIA82XX is not set
1031# CONFIG_SND_VIA82XX_MODEM is not set 1061# CONFIG_SND_VIA82XX_MODEM is not set
1062# CONFIG_SND_VIRTUOSO is not set
1032# CONFIG_SND_VX222 is not set 1063# CONFIG_SND_VX222 is not set
1033# CONFIG_SND_YMFPCI is not set 1064# CONFIG_SND_YMFPCI is not set
1034# CONFIG_SND_AC97_POWER_SAVE is not set 1065# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1058,6 +1089,10 @@ CONFIG_SND_INTEL8X0=y
1058# 1089#
1059 1090
1060# 1091#
1092# ALSA SoC audio for Freescale SOCs
1093#
1094
1095#
1061# Open Sound System 1096# Open Sound System
1062# 1097#
1063# CONFIG_SOUND_PRIME is not set 1098# CONFIG_SOUND_PRIME is not set
@@ -1080,6 +1115,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1080CONFIG_USB_ARCH_HAS_EHCI=y 1115CONFIG_USB_ARCH_HAS_EHCI=y
1081CONFIG_USB=y 1116CONFIG_USB=y
1082# CONFIG_USB_DEBUG is not set 1117# CONFIG_USB_DEBUG is not set
1118# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1083 1119
1084# 1120#
1085# Miscellaneous USB options 1121# Miscellaneous USB options
@@ -1093,9 +1129,10 @@ CONFIG_USB_DEVICE_CLASS=y
1093# USB Host Controller Drivers 1129# USB Host Controller Drivers
1094# 1130#
1095CONFIG_USB_EHCI_HCD=y 1131CONFIG_USB_EHCI_HCD=y
1096# CONFIG_USB_EHCI_SPLIT_ISO is not set
1097# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1132# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1098# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1133# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1134# CONFIG_USB_EHCI_FSL is not set
1135CONFIG_USB_EHCI_HCD_PPC_OF=y
1099# CONFIG_USB_ISP116X_HCD is not set 1136# CONFIG_USB_ISP116X_HCD is not set
1100CONFIG_USB_OHCI_HCD=y 1137CONFIG_USB_OHCI_HCD=y
1101CONFIG_USB_OHCI_HCD_PPC_OF=y 1138CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1146,10 +1183,6 @@ CONFIG_USB_MON=y
1146# 1183#
1147# USB port drivers 1184# USB port drivers
1148# 1185#
1149
1150#
1151# USB Serial Converter support
1152#
1153# CONFIG_USB_SERIAL is not set 1186# CONFIG_USB_SERIAL is not set
1154 1187
1155# 1188#
@@ -1175,16 +1208,9 @@ CONFIG_USB_MON=y
1175# CONFIG_USB_TRANCEVIBRATOR is not set 1208# CONFIG_USB_TRANCEVIBRATOR is not set
1176# CONFIG_USB_IOWARRIOR is not set 1209# CONFIG_USB_IOWARRIOR is not set
1177# CONFIG_USB_TEST is not set 1210# 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 1211# CONFIG_USB_GADGET is not set
1187# CONFIG_MMC is not set 1212# CONFIG_MMC is not set
1213# CONFIG_MEMSTICK is not set
1188# CONFIG_NEW_LEDS is not set 1214# CONFIG_NEW_LEDS is not set
1189# CONFIG_INFINIBAND is not set 1215# CONFIG_INFINIBAND is not set
1190# CONFIG_EDAC is not set 1216# CONFIG_EDAC is not set
@@ -1216,6 +1242,7 @@ CONFIG_RTC_INTF_DEV=y
1216# CONFIG_RTC_DRV_PCF8563 is not set 1242# CONFIG_RTC_DRV_PCF8563 is not set
1217# CONFIG_RTC_DRV_PCF8583 is not set 1243# CONFIG_RTC_DRV_PCF8583 is not set
1218# CONFIG_RTC_DRV_M41T80 is not set 1244# CONFIG_RTC_DRV_M41T80 is not set
1245# CONFIG_RTC_DRV_S35390A is not set
1219 1246
1220# 1247#
1221# SPI RTC drivers 1248# SPI RTC drivers
@@ -1225,9 +1252,10 @@ CONFIG_RTC_INTF_DEV=y
1225# Platform RTC drivers 1252# Platform RTC drivers
1226# 1253#
1227CONFIG_RTC_DRV_CMOS=y 1254CONFIG_RTC_DRV_CMOS=y
1255# CONFIG_RTC_DRV_DS1511 is not set
1228# CONFIG_RTC_DRV_DS1553 is not set 1256# CONFIG_RTC_DRV_DS1553 is not set
1229# CONFIG_RTC_DRV_STK17TA8 is not set
1230# CONFIG_RTC_DRV_DS1742 is not set 1257# CONFIG_RTC_DRV_DS1742 is not set
1258# CONFIG_RTC_DRV_STK17TA8 is not set
1231# CONFIG_RTC_DRV_M48T86 is not set 1259# CONFIG_RTC_DRV_M48T86 is not set
1232# CONFIG_RTC_DRV_M48T59 is not set 1260# CONFIG_RTC_DRV_M48T59 is not set
1233# CONFIG_RTC_DRV_V3020 is not set 1261# CONFIG_RTC_DRV_V3020 is not set
@@ -1235,6 +1263,7 @@ CONFIG_RTC_DRV_CMOS=y
1235# 1263#
1236# on-CPU RTC drivers 1264# on-CPU RTC drivers
1237# 1265#
1266# CONFIG_DMADEVICES is not set
1238 1267
1239# 1268#
1240# Userspace I/O 1269# Userspace I/O
@@ -1260,12 +1289,10 @@ CONFIG_FS_MBCACHE=y
1260# CONFIG_XFS_FS is not set 1289# CONFIG_XFS_FS is not set
1261# CONFIG_GFS2_FS is not set 1290# CONFIG_GFS2_FS is not set
1262# CONFIG_OCFS2_FS is not set 1291# CONFIG_OCFS2_FS is not set
1263# CONFIG_MINIX_FS is not set 1292CONFIG_DNOTIFY=y
1264# CONFIG_ROMFS_FS is not set
1265CONFIG_INOTIFY=y 1293CONFIG_INOTIFY=y
1266CONFIG_INOTIFY_USER=y 1294CONFIG_INOTIFY_USER=y
1267# CONFIG_QUOTA is not set 1295# CONFIG_QUOTA is not set
1268CONFIG_DNOTIFY=y
1269# CONFIG_AUTOFS_FS is not set 1296# CONFIG_AUTOFS_FS is not set
1270# CONFIG_AUTOFS4_FS is not set 1297# CONFIG_AUTOFS4_FS is not set
1271# CONFIG_FUSE_FS is not set 1298# CONFIG_FUSE_FS is not set
@@ -1317,8 +1344,10 @@ CONFIG_BFS_FS=m
1317CONFIG_EFS_FS=m 1344CONFIG_EFS_FS=m
1318CONFIG_CRAMFS=y 1345CONFIG_CRAMFS=y
1319CONFIG_VXFS_FS=m 1346CONFIG_VXFS_FS=m
1347# CONFIG_MINIX_FS is not set
1320CONFIG_HPFS_FS=m 1348CONFIG_HPFS_FS=m
1321CONFIG_QNX4FS_FS=m 1349CONFIG_QNX4FS_FS=m
1350# CONFIG_ROMFS_FS is not set
1322CONFIG_SYSV_FS=m 1351CONFIG_SYSV_FS=m
1323CONFIG_UFS_FS=m 1352CONFIG_UFS_FS=m
1324# CONFIG_UFS_FS_WRITE is not set 1353# CONFIG_UFS_FS_WRITE is not set
@@ -1426,7 +1455,6 @@ CONFIG_PLIST=y
1426CONFIG_HAS_IOMEM=y 1455CONFIG_HAS_IOMEM=y
1427CONFIG_HAS_IOPORT=y 1456CONFIG_HAS_IOPORT=y
1428CONFIG_HAS_DMA=y 1457CONFIG_HAS_DMA=y
1429# CONFIG_INSTRUMENTATION is not set
1430 1458
1431# 1459#
1432# Kernel hacking 1460# Kernel hacking
@@ -1445,6 +1473,7 @@ CONFIG_SCHED_DEBUG=y
1445# CONFIG_SCHEDSTATS is not set 1473# CONFIG_SCHEDSTATS is not set
1446# CONFIG_TIMER_STATS is not set 1474# CONFIG_TIMER_STATS is not set
1447# CONFIG_SLUB_DEBUG_ON is not set 1475# CONFIG_SLUB_DEBUG_ON is not set
1476# CONFIG_SLUB_STATS is not set
1448# CONFIG_DEBUG_RT_MUTEXES is not set 1477# CONFIG_DEBUG_RT_MUTEXES is not set
1449# CONFIG_RT_MUTEX_TESTER is not set 1478# CONFIG_RT_MUTEX_TESTER is not set
1450# CONFIG_DEBUG_SPINLOCK is not set 1479# CONFIG_DEBUG_SPINLOCK is not set
@@ -1458,9 +1487,9 @@ CONFIG_DEBUG_INFO=y
1458# CONFIG_DEBUG_VM is not set 1487# CONFIG_DEBUG_VM is not set
1459# CONFIG_DEBUG_LIST is not set 1488# CONFIG_DEBUG_LIST is not set
1460# CONFIG_DEBUG_SG is not set 1489# CONFIG_DEBUG_SG is not set
1461CONFIG_FORCED_INLINING=y
1462# CONFIG_BOOT_PRINTK_DELAY is not set 1490# CONFIG_BOOT_PRINTK_DELAY is not set
1463# CONFIG_RCU_TORTURE_TEST is not set 1491# CONFIG_RCU_TORTURE_TEST is not set
1492# CONFIG_BACKTRACE_SELF_TEST is not set
1464# CONFIG_FAULT_INJECTION is not set 1493# CONFIG_FAULT_INJECTION is not set
1465# CONFIG_SAMPLES is not set 1494# CONFIG_SAMPLES is not set
1466# CONFIG_DEBUG_STACKOVERFLOW is not set 1495# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1480,6 +1509,7 @@ CONFIG_FORCED_INLINING=y
1480CONFIG_CRYPTO=y 1509CONFIG_CRYPTO=y
1481CONFIG_CRYPTO_ALGAPI=y 1510CONFIG_CRYPTO_ALGAPI=y
1482CONFIG_CRYPTO_BLKCIPHER=y 1511CONFIG_CRYPTO_BLKCIPHER=y
1512# CONFIG_CRYPTO_SEQIV is not set
1483CONFIG_CRYPTO_HASH=y 1513CONFIG_CRYPTO_HASH=y
1484CONFIG_CRYPTO_MANAGER=y 1514CONFIG_CRYPTO_MANAGER=y
1485CONFIG_CRYPTO_HMAC=y 1515CONFIG_CRYPTO_HMAC=y
@@ -1498,6 +1528,9 @@ CONFIG_CRYPTO_CBC=y
1498CONFIG_CRYPTO_PCBC=m 1528CONFIG_CRYPTO_PCBC=m
1499# CONFIG_CRYPTO_LRW is not set 1529# CONFIG_CRYPTO_LRW is not set
1500# CONFIG_CRYPTO_XTS is not set 1530# CONFIG_CRYPTO_XTS is not set
1531# CONFIG_CRYPTO_CTR is not set
1532# CONFIG_CRYPTO_GCM is not set
1533# CONFIG_CRYPTO_CCM is not set
1501# CONFIG_CRYPTO_CRYPTD is not set 1534# CONFIG_CRYPTO_CRYPTD is not set
1502CONFIG_CRYPTO_DES=y 1535CONFIG_CRYPTO_DES=y
1503# CONFIG_CRYPTO_FCRYPT is not set 1536# CONFIG_CRYPTO_FCRYPT is not set
@@ -1512,12 +1545,15 @@ CONFIG_CRYPTO_DES=y
1512# CONFIG_CRYPTO_KHAZAD is not set 1545# CONFIG_CRYPTO_KHAZAD is not set
1513# CONFIG_CRYPTO_ANUBIS is not set 1546# CONFIG_CRYPTO_ANUBIS is not set
1514# CONFIG_CRYPTO_SEED is not set 1547# CONFIG_CRYPTO_SEED is not set
1548# CONFIG_CRYPTO_SALSA20 is not set
1515# CONFIG_CRYPTO_DEFLATE is not set 1549# CONFIG_CRYPTO_DEFLATE is not set
1516# CONFIG_CRYPTO_MICHAEL_MIC is not set 1550# CONFIG_CRYPTO_MICHAEL_MIC is not set
1517# CONFIG_CRYPTO_CRC32C is not set 1551# CONFIG_CRYPTO_CRC32C is not set
1518# CONFIG_CRYPTO_CAMELLIA is not set 1552# CONFIG_CRYPTO_CAMELLIA is not set
1519# CONFIG_CRYPTO_TEST is not set 1553# CONFIG_CRYPTO_TEST is not set
1520# CONFIG_CRYPTO_AUTHENC is not set 1554# CONFIG_CRYPTO_AUTHENC is not set
1555# CONFIG_CRYPTO_LZO is not set
1521CONFIG_CRYPTO_HW=y 1556CONFIG_CRYPTO_HW=y
1557# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1522# CONFIG_PPC_CLOCK is not set 1558# CONFIG_PPC_CLOCK is not set
1523CONFIG_PPC_LIB_RHEAP=y 1559CONFIG_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..d01dcdb70bd 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-rc7
4# Thu Dec 6 16:48:58 2007 4# Mon Mar 31 11:37:11 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
@@ -707,8 +736,7 @@ CONFIG_LEGACY_PTY_COUNT=256
707# CONFIG_IPMI_HANDLER is not set 736# CONFIG_IPMI_HANDLER is not set
708# CONFIG_HW_RANDOM is not set 737# CONFIG_HW_RANDOM is not set
709CONFIG_NVRAM=y 738CONFIG_NVRAM=y
710CONFIG_GEN_RTC=y 739# CONFIG_GEN_RTC is not set
711CONFIG_GEN_RTC_X=y
712# CONFIG_R3964 is not set 740# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 741# CONFIG_APPLICOM is not set
714# CONFIG_RAW_DRIVER is not set 742# CONFIG_RAW_DRIVER is not set
@@ -756,14 +784,12 @@ CONFIG_I2C_MPC=y
756# 784#
757# Miscellaneous I2C Chip support 785# Miscellaneous I2C Chip support
758# 786#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 787# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 788CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 789# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 790# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 791# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 792# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 793# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 794# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 795# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +805,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 805# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 806# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 807# CONFIG_HWMON is not set
808# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 809# CONFIG_WATCHDOG is not set
783 810
784# 811#
@@ -803,6 +830,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 830#
804# Supported SAA7146 based PCI Adapters 831# Supported SAA7146 based PCI Adapters
805# 832#
833# CONFIG_TTPCI_EEPROM is not set
834# CONFIG_DVB_BUDGET_CORE is not set
806 835
807# 836#
808# Supported USB Adapters 837# Supported USB Adapters
@@ -888,11 +917,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 917# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 918# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 919# CONFIG_DVB_TDA827X is not set
920# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 921# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 922# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 923# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 924# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 925# CONFIG_DVB_TUNER_DIB0070 is not set
926# CONFIG_DVB_TUNER_XC5000 is not set
896 927
897# 928#
898# Miscellaneous devices 929# Miscellaneous devices
@@ -970,6 +1001,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1001# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1002# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1003# CONFIG_SND_CMIPCI is not set
1004# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1005# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1006# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1007# CONFIG_SND_CS5530 is not set
@@ -995,6 +1027,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1027# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1028# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1029# CONFIG_SND_HDSPM is not set
1030# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1031# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1032# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1033CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1045,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1045# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1046# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1047# CONFIG_SND_VIA82XX_MODEM is not set
1048# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1049# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1050# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1051# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1075,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1075#
1042 1076
1043# 1077#
1078# ALSA SoC audio for Freescale SOCs
1079#
1080
1081#
1044# Open Sound System 1082# Open Sound System
1045# 1083#
1046# CONFIG_SOUND_PRIME is not set 1084# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1101,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1101CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1102CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1103# CONFIG_USB_DEBUG is not set
1104# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1105
1067# 1106#
1068# Miscellaneous USB options 1107# Miscellaneous USB options
@@ -1076,9 +1115,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1115# USB Host Controller Drivers
1077# 1116#
1078CONFIG_USB_EHCI_HCD=y 1117CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1118# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1119# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1120# CONFIG_USB_EHCI_FSL is not set
1121CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1122# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1123CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1124CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1169,6 @@ CONFIG_USB_MON=y
1129# 1169#
1130# USB port drivers 1170# USB port drivers
1131# 1171#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1172# CONFIG_USB_SERIAL is not set
1137 1173
1138# 1174#
@@ -1158,16 +1194,9 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1194# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1195# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1196# 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 1197# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1198# CONFIG_MMC is not set
1199# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1200# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1201# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1202# CONFIG_EDAC is not set
@@ -1199,6 +1228,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1228# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1229# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1230# CONFIG_RTC_DRV_M41T80 is not set
1231# CONFIG_RTC_DRV_S35390A is not set
1202 1232
1203# 1233#
1204# SPI RTC drivers 1234# SPI RTC drivers
@@ -1208,9 +1238,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1238# Platform RTC drivers
1209# 1239#
1210CONFIG_RTC_DRV_CMOS=y 1240CONFIG_RTC_DRV_CMOS=y
1241# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1242# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1243# CONFIG_RTC_DRV_DS1742 is not set
1244# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1245# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1246# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1247# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1249,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1249#
1219# on-CPU RTC drivers 1250# on-CPU RTC drivers
1220# 1251#
1252# CONFIG_DMADEVICES is not set
1221 1253
1222# 1254#
1223# Userspace I/O 1255# Userspace I/O
@@ -1243,12 +1275,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1275# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1276# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1277# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1278CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1279CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1280CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1281# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1282# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1283# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1284# CONFIG_FUSE_FS is not set
@@ -1300,8 +1330,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1330CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1331CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1332CONFIG_VXFS_FS=m
1333# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1334CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1335CONFIG_QNX4FS_FS=m
1336# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1337CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1338CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1339# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1425,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1425# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1426CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1427# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1428
1398# 1429#
1399# Library routines 1430# Library routines
@@ -1410,7 +1441,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1441CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1442CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1443CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1444
1415# 1445#
1416# Kernel hacking 1446# Kernel hacking
@@ -1429,6 +1459,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1459# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1460# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1461# CONFIG_SLUB_DEBUG_ON is not set
1462# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1463# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1464# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1465# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1473,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1473# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1474# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1475# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1476# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1477# CONFIG_RCU_TORTURE_TEST is not set
1478# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1479# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1480# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1481# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1494,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1494CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1495CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1496CONFIG_CRYPTO_BLKCIPHER=y
1497# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1498CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1499CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1500CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1513,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1513CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1514# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1515# CONFIG_CRYPTO_XTS is not set
1516# CONFIG_CRYPTO_CTR is not set
1517# CONFIG_CRYPTO_GCM is not set
1518# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1519# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1520CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1521# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1530,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1530# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1531# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1532# CONFIG_CRYPTO_SEED is not set
1533# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1534# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1535# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1536# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1537# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1538# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1539# CONFIG_CRYPTO_AUTHENC is not set
1540# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1541CONFIG_CRYPTO_HW=y
1542# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1543# 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 558b0d348d4..fca114252ac 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 11:05:14 2008 4# Thu Mar 27 13:56:21 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
79# CONFIG_GROUP_SCHED is not set 79# CONFIG_GROUP_SCHED is not set
80# CONFIG_USER_SCHED is not set
81# CONFIG_CGROUP_SCHED is not set
82CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y 81CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
@@ -272,7 +270,7 @@ CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set 270# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y 271CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set 272# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y 273# CONFIG_PCI_LEGACY is not set
276# CONFIG_PCI_DEBUG is not set 274# CONFIG_PCI_DEBUG is not set
277CONFIG_PCCARD=m 275CONFIG_PCCARD=m
278# CONFIG_PCMCIA_DEBUG is not set 276# CONFIG_PCMCIA_DEBUG is not set
@@ -1895,6 +1893,7 @@ CONFIG_PLIST=y
1895CONFIG_HAS_IOMEM=y 1893CONFIG_HAS_IOMEM=y
1896CONFIG_HAS_IOPORT=y 1894CONFIG_HAS_IOPORT=y
1897CONFIG_HAS_DMA=y 1895CONFIG_HAS_DMA=y
1896CONFIG_HAVE_LMB=y
1898 1897
1899# 1898#
1900# Kernel hacking 1899# Kernel hacking
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig
new file mode 100644
index 00000000000..9d0140e3838
--- /dev/null
+++ b/arch/powerpc/configs/ppc40x_defconfig
@@ -0,0 +1,896 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc9
4# Tue Apr 15 08:46:44 2008
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_6xx is not set
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y
15# CONFIG_44x is not set
16# CONFIG_E200 is not set
17CONFIG_4xx=y
18# CONFIG_PPC_MM_SLICES is not set
19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y
23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
30CONFIG_IRQ_PER_CPU=y
31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
32CONFIG_ARCH_HAS_ILOG2_U32=y
33CONFIG_GENERIC_HWEIGHT=y
34CONFIG_GENERIC_CALIBRATE_DELAY=y
35CONFIG_GENERIC_FIND_NEXT_BIT=y
36# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
37CONFIG_PPC=y
38CONFIG_EARLY_PRINTK=y
39CONFIG_GENERIC_NVRAM=y
40CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
41CONFIG_ARCH_MAY_HAVE_PC_FDC=y
42CONFIG_PPC_OF=y
43CONFIG_OF=y
44CONFIG_PPC_UDBG_16550=y
45# CONFIG_GENERIC_TBSYNC is not set
46CONFIG_AUDIT_ARCH=y
47CONFIG_GENERIC_BUG=y
48# CONFIG_DEFAULT_UIMAGE is not set
49CONFIG_PPC_DCR_NATIVE=y
50# CONFIG_PPC_DCR_MMIO is not set
51CONFIG_PPC_DCR=y
52CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
53
54#
55# General setup
56#
57CONFIG_EXPERIMENTAL=y
58CONFIG_BROKEN_ON_SMP=y
59CONFIG_INIT_ENV_ARG_LIMIT=32
60CONFIG_LOCALVERSION=""
61CONFIG_LOCALVERSION_AUTO=y
62CONFIG_SWAP=y
63CONFIG_SYSVIPC=y
64CONFIG_SYSVIPC_SYSCTL=y
65CONFIG_POSIX_MQUEUE=y
66# CONFIG_BSD_PROCESS_ACCT is not set
67# CONFIG_TASKSTATS is not set
68# CONFIG_AUDIT is not set
69# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set
72CONFIG_GROUP_SCHED=y
73CONFIG_FAIR_GROUP_SCHED=y
74# CONFIG_RT_GROUP_SCHED is not set
75CONFIG_USER_SCHED=y
76# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y
78CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set
80# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
84CONFIG_SYSCTL=y
85CONFIG_EMBEDDED=y
86CONFIG_SYSCTL_SYSCALL=y
87CONFIG_KALLSYMS=y
88CONFIG_KALLSYMS_ALL=y
89CONFIG_KALLSYMS_EXTRA_PASS=y
90CONFIG_HOTPLUG=y
91CONFIG_PRINTK=y
92CONFIG_BUG=y
93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
95CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
101CONFIG_EVENTFD=y
102CONFIG_SHMEM=y
103CONFIG_VM_EVENT_COUNTERS=y
104CONFIG_SLUB_DEBUG=y
105# CONFIG_SLAB is not set
106CONFIG_SLUB=y
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
116CONFIG_RT_MUTEXES=y
117# CONFIG_TINY_SHMEM is not set
118CONFIG_BASE_SMALL=0
119CONFIG_MODULES=y
120CONFIG_MODULE_UNLOAD=y
121# CONFIG_MODULE_FORCE_UNLOAD is not set
122# CONFIG_MODVERSIONS is not set
123# CONFIG_MODULE_SRCVERSION_ALL is not set
124CONFIG_KMOD=y
125CONFIG_BLOCK=y
126CONFIG_LBD=y
127# CONFIG_BLK_DEV_IO_TRACE is not set
128# CONFIG_LSF is not set
129# CONFIG_BLK_DEV_BSG is not set
130
131#
132# IO Schedulers
133#
134CONFIG_IOSCHED_NOOP=y
135CONFIG_IOSCHED_AS=y
136CONFIG_IOSCHED_DEADLINE=y
137CONFIG_IOSCHED_CFQ=y
138CONFIG_DEFAULT_AS=y
139# CONFIG_DEFAULT_DEADLINE is not set
140# CONFIG_DEFAULT_CFQ is not set
141# CONFIG_DEFAULT_NOOP is not set
142CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_CLASSIC_RCU=y
144CONFIG_PPC4xx_PCI_EXPRESS=y
145
146#
147# Platform support
148#
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_PPC_CELL is not set
152# CONFIG_PPC_CELL_NATIVE is not set
153# CONFIG_PQ2ADS is not set
154CONFIG_EP405=y
155CONFIG_KILAUEA=y
156CONFIG_MAKALU=y
157CONFIG_WALNUT=y
158CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y
159CONFIG_405GP=y
160CONFIG_405EX=y
161CONFIG_XILINX_VIRTEX=y
162CONFIG_XILINX_VIRTEX_II_PRO=y
163CONFIG_XILINX_VIRTEX_4_FX=y
164CONFIG_IBM405_ERR77=y
165CONFIG_IBM405_ERR51=y
166# CONFIG_IPIC is not set
167# CONFIG_MPIC is not set
168# CONFIG_MPIC_WEIRD is not set
169# CONFIG_PPC_I8259 is not set
170# CONFIG_PPC_RTAS is not set
171# CONFIG_MMIO_NVRAM is not set
172# CONFIG_PPC_MPC106 is not set
173# CONFIG_PPC_970_NAP is not set
174# CONFIG_PPC_INDIRECT_IO is not set
175# CONFIG_GENERIC_IOMAP is not set
176# CONFIG_CPU_FREQ is not set
177# CONFIG_FSL_ULI1575 is not set
178CONFIG_OF_RTC=y
179
180#
181# Kernel options
182#
183# CONFIG_HIGHMEM is not set
184# CONFIG_TICK_ONESHOT is not set
185# CONFIG_NO_HZ is not set
186# CONFIG_HIGH_RES_TIMERS is not set
187CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
188# CONFIG_HZ_100 is not set
189CONFIG_HZ_250=y
190# CONFIG_HZ_300 is not set
191# CONFIG_HZ_1000 is not set
192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
194CONFIG_PREEMPT_NONE=y
195# CONFIG_PREEMPT_VOLUNTARY is not set
196# CONFIG_PREEMPT is not set
197CONFIG_BINFMT_ELF=y
198# CONFIG_BINFMT_MISC is not set
199# CONFIG_MATH_EMULATION is not set
200# CONFIG_IOMMU_HELPER is not set
201CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
202CONFIG_ARCH_HAS_WALK_MEMORY=y
203CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
204CONFIG_ARCH_FLATMEM_ENABLE=y
205CONFIG_ARCH_POPULATES_NODE_MAP=y
206CONFIG_SELECT_MEMORY_MODEL=y
207CONFIG_FLATMEM_MANUAL=y
208# CONFIG_DISCONTIGMEM_MANUAL is not set
209# CONFIG_SPARSEMEM_MANUAL is not set
210CONFIG_FLATMEM=y
211CONFIG_FLAT_NODE_MEM_MAP=y
212# CONFIG_SPARSEMEM_STATIC is not set
213# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
214CONFIG_SPLIT_PTLOCK_CPUS=4
215CONFIG_RESOURCES_64BIT=y
216CONFIG_ZONE_DMA_FLAG=1
217CONFIG_BOUNCE=y
218CONFIG_VIRT_TO_BUS=y
219CONFIG_FORCE_MAX_ZONEORDER=11
220CONFIG_PROC_DEVICETREE=y
221# CONFIG_CMDLINE_BOOL is not set
222# CONFIG_PM is not set
223CONFIG_SECCOMP=y
224CONFIG_ISA_DMA_API=y
225
226#
227# Bus options
228#
229CONFIG_ZONE_DMA=y
230CONFIG_PPC_INDIRECT_PCI=y
231CONFIG_4xx_SOC=y
232CONFIG_PCI=y
233CONFIG_PCI_DOMAINS=y
234CONFIG_PCI_SYSCALL=y
235# CONFIG_PCIEPORTBUS is not set
236CONFIG_ARCH_SUPPORTS_MSI=y
237# CONFIG_PCI_MSI is not set
238# CONFIG_PCI_LEGACY is not set
239# CONFIG_PCI_DEBUG is not set
240# CONFIG_PCCARD is not set
241# CONFIG_HOTPLUG_PCI is not set
242
243#
244# Advanced setup
245#
246# CONFIG_ADVANCED_OPTIONS is not set
247
248#
249# Default settings for advanced configuration options are used
250#
251CONFIG_HIGHMEM_START=0xfe000000
252CONFIG_LOWMEM_SIZE=0x30000000
253CONFIG_KERNEL_START=0xc0000000
254CONFIG_TASK_SIZE=0xc0000000
255CONFIG_CONSISTENT_START=0xff100000
256CONFIG_CONSISTENT_SIZE=0x00200000
257CONFIG_BOOT_LOAD=0x00400000
258
259#
260# Networking
261#
262CONFIG_NET=y
263
264#
265# Networking options
266#
267CONFIG_PACKET=y
268# CONFIG_PACKET_MMAP is not set
269CONFIG_UNIX=y
270# CONFIG_NET_KEY is not set
271CONFIG_INET=y
272# CONFIG_IP_MULTICAST is not set
273# CONFIG_IP_ADVANCED_ROUTER is not set
274CONFIG_IP_FIB_HASH=y
275CONFIG_IP_PNP=y
276CONFIG_IP_PNP_DHCP=y
277CONFIG_IP_PNP_BOOTP=y
278# CONFIG_IP_PNP_RARP is not set
279# CONFIG_NET_IPIP is not set
280# CONFIG_NET_IPGRE is not set
281# CONFIG_ARPD is not set
282# CONFIG_SYN_COOKIES is not set
283# CONFIG_INET_AH is not set
284# CONFIG_INET_ESP is not set
285# CONFIG_INET_IPCOMP is not set
286# CONFIG_INET_XFRM_TUNNEL is not set
287# CONFIG_INET_TUNNEL is not set
288# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
289# CONFIG_INET_XFRM_MODE_TUNNEL is not set
290# CONFIG_INET_XFRM_MODE_BEET is not set
291# CONFIG_INET_LRO is not set
292CONFIG_INET_DIAG=y
293CONFIG_INET_TCP_DIAG=y
294# CONFIG_TCP_CONG_ADVANCED is not set
295CONFIG_TCP_CONG_CUBIC=y
296CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_TCP_MD5SIG is not set
298# CONFIG_IPV6 is not set
299# CONFIG_INET6_XFRM_TUNNEL is not set
300# CONFIG_INET6_TUNNEL is not set
301# CONFIG_NETWORK_SECMARK is not set
302# CONFIG_NETFILTER is not set
303# CONFIG_IP_DCCP is not set
304# CONFIG_IP_SCTP is not set
305# CONFIG_TIPC is not set
306# CONFIG_ATM is not set
307# CONFIG_BRIDGE is not set
308# CONFIG_VLAN_8021Q is not set
309# CONFIG_DECNET is not set
310# CONFIG_LLC2 is not set
311# CONFIG_IPX is not set
312# CONFIG_ATALK is not set
313# CONFIG_X25 is not set
314# CONFIG_LAPB is not set
315# CONFIG_ECONET is not set
316# CONFIG_WAN_ROUTER is not set
317# CONFIG_NET_SCHED is not set
318
319#
320# Network testing
321#
322# CONFIG_NET_PKTGEN is not set
323# CONFIG_HAMRADIO is not set
324# CONFIG_CAN is not set
325# CONFIG_IRDA is not set
326# CONFIG_BT is not set
327# CONFIG_AF_RXRPC is not set
328
329#
330# Wireless
331#
332# CONFIG_CFG80211 is not set
333# CONFIG_WIRELESS_EXT is not set
334# CONFIG_MAC80211 is not set
335# CONFIG_IEEE80211 is not set
336# CONFIG_RFKILL is not set
337# CONFIG_NET_9P is not set
338
339#
340# Device Drivers
341#
342
343#
344# Generic Driver Options
345#
346CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
347CONFIG_STANDALONE=y
348CONFIG_PREVENT_FIRMWARE_BUILD=y
349CONFIG_FW_LOADER=y
350# CONFIG_DEBUG_DRIVER is not set
351# CONFIG_DEBUG_DEVRES is not set
352# CONFIG_SYS_HYPERVISOR is not set
353CONFIG_CONNECTOR=y
354CONFIG_PROC_EVENTS=y
355CONFIG_MTD=y
356# CONFIG_MTD_DEBUG is not set
357# CONFIG_MTD_CONCAT is not set
358CONFIG_MTD_PARTITIONS=y
359# CONFIG_MTD_REDBOOT_PARTS is not set
360CONFIG_MTD_CMDLINE_PARTS=y
361CONFIG_MTD_OF_PARTS=y
362
363#
364# User Modules And Translation Layers
365#
366CONFIG_MTD_CHAR=y
367CONFIG_MTD_BLKDEVS=m
368CONFIG_MTD_BLOCK=m
369# CONFIG_MTD_BLOCK_RO is not set
370# CONFIG_FTL is not set
371# CONFIG_NFTL is not set
372# CONFIG_INFTL is not set
373# CONFIG_RFD_FTL is not set
374# CONFIG_SSFDC is not set
375# CONFIG_MTD_OOPS is not set
376
377#
378# RAM/ROM/Flash chip drivers
379#
380CONFIG_MTD_CFI=y
381CONFIG_MTD_JEDECPROBE=y
382CONFIG_MTD_GEN_PROBE=y
383# CONFIG_MTD_CFI_ADV_OPTIONS is not set
384CONFIG_MTD_MAP_BANK_WIDTH_1=y
385CONFIG_MTD_MAP_BANK_WIDTH_2=y
386CONFIG_MTD_MAP_BANK_WIDTH_4=y
387# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
388# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
389# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
390CONFIG_MTD_CFI_I1=y
391CONFIG_MTD_CFI_I2=y
392# CONFIG_MTD_CFI_I4 is not set
393# CONFIG_MTD_CFI_I8 is not set
394# CONFIG_MTD_CFI_INTELEXT is not set
395CONFIG_MTD_CFI_AMDSTD=y
396# CONFIG_MTD_CFI_STAA is not set
397CONFIG_MTD_CFI_UTIL=y
398# CONFIG_MTD_RAM is not set
399# CONFIG_MTD_ROM is not set
400# CONFIG_MTD_ABSENT is not set
401
402#
403# Mapping drivers for chip access
404#
405# CONFIG_MTD_COMPLEX_MAPPINGS is not set
406# CONFIG_MTD_PHYSMAP is not set
407CONFIG_MTD_PHYSMAP_OF=y
408# CONFIG_MTD_INTEL_VR_NOR is not set
409# CONFIG_MTD_PLATRAM is not set
410
411#
412# Self-contained MTD device drivers
413#
414# CONFIG_MTD_PMC551 is not set
415# CONFIG_MTD_SLRAM is not set
416# CONFIG_MTD_PHRAM is not set
417# CONFIG_MTD_MTDRAM is not set
418# CONFIG_MTD_BLOCK2MTD is not set
419
420#
421# Disk-On-Chip Device Drivers
422#
423# CONFIG_MTD_DOC2000 is not set
424# CONFIG_MTD_DOC2001 is not set
425# CONFIG_MTD_DOC2001PLUS is not set
426# CONFIG_MTD_NAND is not set
427# CONFIG_MTD_ONENAND is not set
428
429#
430# UBI - Unsorted block images
431#
432# CONFIG_MTD_UBI is not set
433CONFIG_OF_DEVICE=y
434# CONFIG_PARPORT is not set
435CONFIG_BLK_DEV=y
436# CONFIG_BLK_DEV_FD is not set
437# CONFIG_BLK_CPQ_DA is not set
438# CONFIG_BLK_CPQ_CISS_DA is not set
439# CONFIG_BLK_DEV_DAC960 is not set
440# CONFIG_BLK_DEV_UMEM is not set
441# CONFIG_BLK_DEV_COW_COMMON is not set
442# CONFIG_BLK_DEV_LOOP is not set
443# CONFIG_BLK_DEV_NBD is not set
444# CONFIG_BLK_DEV_SX8 is not set
445CONFIG_BLK_DEV_RAM=y
446CONFIG_BLK_DEV_RAM_COUNT=16
447CONFIG_BLK_DEV_RAM_SIZE=35000
448# CONFIG_BLK_DEV_XIP is not set
449# CONFIG_CDROM_PKTCDVD is not set
450# CONFIG_ATA_OVER_ETH is not set
451# CONFIG_XILINX_SYSACE is not set
452CONFIG_MISC_DEVICES=y
453# CONFIG_PHANTOM is not set
454# CONFIG_EEPROM_93CX6 is not set
455# CONFIG_SGI_IOC4 is not set
456# CONFIG_TIFM_CORE is not set
457# CONFIG_ENCLOSURE_SERVICES is not set
458CONFIG_HAVE_IDE=y
459# CONFIG_IDE is not set
460
461#
462# SCSI device support
463#
464# CONFIG_RAID_ATTRS is not set
465# CONFIG_SCSI is not set
466# CONFIG_SCSI_DMA is not set
467# CONFIG_SCSI_NETLINK is not set
468# CONFIG_ATA is not set
469# CONFIG_MD is not set
470# CONFIG_FUSION is not set
471
472#
473# IEEE 1394 (FireWire) support
474#
475# CONFIG_FIREWIRE is not set
476# CONFIG_IEEE1394 is not set
477# CONFIG_I2O is not set
478# CONFIG_MACINTOSH_DRIVERS is not set
479CONFIG_NETDEVICES=y
480# CONFIG_NETDEVICES_MULTIQUEUE is not set
481# CONFIG_DUMMY is not set
482# CONFIG_BONDING is not set
483# CONFIG_MACVLAN is not set
484# CONFIG_EQUALIZER is not set
485# CONFIG_TUN is not set
486# CONFIG_VETH is not set
487# CONFIG_ARCNET is not set
488# CONFIG_PHYLIB is not set
489CONFIG_NET_ETHERNET=y
490# CONFIG_MII is not set
491# CONFIG_HAPPYMEAL is not set
492# CONFIG_SUNGEM is not set
493# CONFIG_CASSINI is not set
494# CONFIG_NET_VENDOR_3COM is not set
495# CONFIG_NET_TULIP is not set
496# CONFIG_HP100 is not set
497CONFIG_IBM_NEW_EMAC=y
498CONFIG_IBM_NEW_EMAC_RXB=128
499CONFIG_IBM_NEW_EMAC_TXB=64
500CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
501CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
502CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
503# CONFIG_IBM_NEW_EMAC_DEBUG is not set
504CONFIG_IBM_NEW_EMAC_ZMII=y
505CONFIG_IBM_NEW_EMAC_RGMII=y
506# CONFIG_IBM_NEW_EMAC_TAH is not set
507CONFIG_IBM_NEW_EMAC_EMAC4=y
508# CONFIG_NET_PCI is not set
509# CONFIG_B44 is not set
510CONFIG_NETDEV_1000=y
511# CONFIG_ACENIC is not set
512# CONFIG_DL2K is not set
513# CONFIG_E1000 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
518# CONFIG_NS83820 is not set
519# CONFIG_HAMACHI is not set
520# CONFIG_YELLOWFIN is not set
521# CONFIG_R8169 is not set
522# CONFIG_SIS190 is not set
523# CONFIG_SKGE is not set
524# CONFIG_SKY2 is not set
525# CONFIG_SK98LIN is not set
526# CONFIG_VIA_VELOCITY is not set
527# CONFIG_TIGON3 is not set
528# CONFIG_BNX2 is not set
529# CONFIG_QLA3XXX is not set
530# CONFIG_ATL1 is not set
531CONFIG_NETDEV_10000=y
532# CONFIG_CHELSIO_T1 is not set
533# CONFIG_CHELSIO_T3 is not set
534# CONFIG_IXGBE is not set
535# CONFIG_IXGB is not set
536# CONFIG_S2IO is not set
537# CONFIG_MYRI10GE is not set
538# CONFIG_NETXEN_NIC is not set
539# CONFIG_NIU is not set
540# CONFIG_MLX4_CORE is not set
541# CONFIG_TEHUTI is not set
542# CONFIG_BNX2X is not set
543# CONFIG_TR is not set
544
545#
546# Wireless LAN
547#
548# CONFIG_WLAN_PRE80211 is not set
549# CONFIG_WLAN_80211 is not set
550# CONFIG_WAN is not set
551# CONFIG_FDDI is not set
552# CONFIG_HIPPI is not set
553# CONFIG_PPP is not set
554# CONFIG_SLIP is not set
555# CONFIG_NETCONSOLE is not set
556# CONFIG_NETPOLL is not set
557# CONFIG_NET_POLL_CONTROLLER is not set
558# CONFIG_ISDN is not set
559# CONFIG_PHONE is not set
560
561#
562# Input device support
563#
564# CONFIG_INPUT is not set
565
566#
567# Hardware I/O ports
568#
569# CONFIG_SERIO is not set
570# CONFIG_GAMEPORT is not set
571
572#
573# Character devices
574#
575# CONFIG_VT is not set
576# CONFIG_SERIAL_NONSTANDARD is not set
577# CONFIG_NOZOMI is not set
578
579#
580# Serial drivers
581#
582CONFIG_SERIAL_8250=y
583CONFIG_SERIAL_8250_CONSOLE=y
584CONFIG_SERIAL_8250_PCI=y
585CONFIG_SERIAL_8250_NR_UARTS=4
586CONFIG_SERIAL_8250_RUNTIME_UARTS=4
587CONFIG_SERIAL_8250_EXTENDED=y
588# CONFIG_SERIAL_8250_MANY_PORTS is not set
589CONFIG_SERIAL_8250_SHARE_IRQ=y
590# CONFIG_SERIAL_8250_DETECT_IRQ is not set
591# CONFIG_SERIAL_8250_RSA is not set
592
593#
594# Non-8250 serial port support
595#
596# CONFIG_SERIAL_UARTLITE is not set
597CONFIG_SERIAL_CORE=y
598CONFIG_SERIAL_CORE_CONSOLE=y
599# CONFIG_SERIAL_JSM is not set
600CONFIG_SERIAL_OF_PLATFORM=y
601CONFIG_UNIX98_PTYS=y
602CONFIG_LEGACY_PTYS=y
603CONFIG_LEGACY_PTY_COUNT=256
604# CONFIG_IPMI_HANDLER is not set
605# CONFIG_HW_RANDOM is not set
606# CONFIG_NVRAM is not set
607# CONFIG_GEN_RTC is not set
608CONFIG_XILINX_HWICAP=m
609# CONFIG_R3964 is not set
610# CONFIG_APPLICOM is not set
611# CONFIG_RAW_DRIVER is not set
612# CONFIG_TCG_TPM is not set
613CONFIG_DEVPORT=y
614# CONFIG_I2C is not set
615
616#
617# SPI support
618#
619# CONFIG_SPI is not set
620# CONFIG_SPI_MASTER is not set
621# CONFIG_W1 is not set
622# CONFIG_POWER_SUPPLY is not set
623# CONFIG_HWMON is not set
624CONFIG_THERMAL=y
625# CONFIG_WATCHDOG is not set
626
627#
628# Sonics Silicon Backplane
629#
630CONFIG_SSB_POSSIBLE=y
631# CONFIG_SSB is not set
632
633#
634# Multifunction device drivers
635#
636# CONFIG_MFD_SM501 is not set
637
638#
639# Multimedia devices
640#
641# CONFIG_VIDEO_DEV is not set
642# CONFIG_DVB_CORE is not set
643# CONFIG_DAB is not set
644
645#
646# Graphics support
647#
648# CONFIG_AGP is not set
649# CONFIG_DRM is not set
650# CONFIG_VGASTATE is not set
651CONFIG_VIDEO_OUTPUT_CONTROL=m
652# CONFIG_FB is not set
653# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
654
655#
656# Display device support
657#
658# CONFIG_DISPLAY_SUPPORT is not set
659
660#
661# Sound
662#
663# CONFIG_SOUND is not set
664CONFIG_USB_SUPPORT=y
665CONFIG_USB_ARCH_HAS_HCD=y
666CONFIG_USB_ARCH_HAS_OHCI=y
667CONFIG_USB_ARCH_HAS_EHCI=y
668# CONFIG_USB is not set
669
670#
671# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
672#
673# CONFIG_USB_GADGET is not set
674# CONFIG_MMC is not set
675# CONFIG_MEMSTICK is not set
676# CONFIG_NEW_LEDS is not set
677# CONFIG_INFINIBAND is not set
678# CONFIG_EDAC is not set
679# CONFIG_RTC_CLASS is not set
680# CONFIG_DMADEVICES is not set
681
682#
683# Userspace I/O
684#
685# CONFIG_UIO is not set
686
687#
688# File systems
689#
690CONFIG_EXT2_FS=y
691# CONFIG_EXT2_FS_XATTR is not set
692# CONFIG_EXT2_FS_XIP is not set
693# CONFIG_EXT3_FS is not set
694# CONFIG_EXT4DEV_FS is not set
695# CONFIG_REISERFS_FS is not set
696# CONFIG_JFS_FS is not set
697# CONFIG_FS_POSIX_ACL is not set
698# CONFIG_XFS_FS is not set
699# CONFIG_GFS2_FS is not set
700# CONFIG_OCFS2_FS is not set
701CONFIG_DNOTIFY=y
702CONFIG_INOTIFY=y
703CONFIG_INOTIFY_USER=y
704# CONFIG_QUOTA is not set
705# CONFIG_AUTOFS_FS is not set
706# CONFIG_AUTOFS4_FS is not set
707# CONFIG_FUSE_FS is not set
708
709#
710# CD-ROM/DVD Filesystems
711#
712# CONFIG_ISO9660_FS is not set
713# CONFIG_UDF_FS is not set
714
715#
716# DOS/FAT/NT Filesystems
717#
718# CONFIG_MSDOS_FS is not set
719# CONFIG_VFAT_FS is not set
720# CONFIG_NTFS_FS is not set
721
722#
723# Pseudo filesystems
724#
725CONFIG_PROC_FS=y
726CONFIG_PROC_KCORE=y
727CONFIG_PROC_SYSCTL=y
728CONFIG_SYSFS=y
729CONFIG_TMPFS=y
730# CONFIG_TMPFS_POSIX_ACL is not set
731# CONFIG_HUGETLB_PAGE is not set
732# CONFIG_CONFIGFS_FS is not set
733
734#
735# Miscellaneous filesystems
736#
737# CONFIG_ADFS_FS is not set
738# CONFIG_AFFS_FS is not set
739# CONFIG_HFS_FS is not set
740# CONFIG_HFSPLUS_FS is not set
741# CONFIG_BEFS_FS is not set
742# CONFIG_BFS_FS is not set
743# CONFIG_EFS_FS is not set
744# CONFIG_JFFS2_FS is not set
745CONFIG_CRAMFS=y
746# CONFIG_VXFS_FS is not set
747# CONFIG_MINIX_FS is not set
748# CONFIG_HPFS_FS is not set
749# CONFIG_QNX4FS_FS is not set
750# CONFIG_ROMFS_FS is not set
751# CONFIG_SYSV_FS is not set
752# CONFIG_UFS_FS is not set
753CONFIG_NETWORK_FILESYSTEMS=y
754CONFIG_NFS_FS=y
755CONFIG_NFS_V3=y
756# CONFIG_NFS_V3_ACL is not set
757# CONFIG_NFS_V4 is not set
758# CONFIG_NFS_DIRECTIO is not set
759# CONFIG_NFSD is not set
760CONFIG_ROOT_NFS=y
761CONFIG_LOCKD=y
762CONFIG_LOCKD_V4=y
763CONFIG_NFS_COMMON=y
764CONFIG_SUNRPC=y
765# CONFIG_SUNRPC_BIND34 is not set
766# CONFIG_RPCSEC_GSS_KRB5 is not set
767# CONFIG_RPCSEC_GSS_SPKM3 is not set
768# CONFIG_SMB_FS is not set
769# CONFIG_CIFS is not set
770# CONFIG_NCP_FS is not set
771# CONFIG_CODA_FS is not set
772# CONFIG_AFS_FS is not set
773
774#
775# Partition Types
776#
777# CONFIG_PARTITION_ADVANCED is not set
778CONFIG_MSDOS_PARTITION=y
779# CONFIG_NLS is not set
780# CONFIG_DLM is not set
781
782#
783# Library routines
784#
785CONFIG_BITREVERSE=y
786# CONFIG_CRC_CCITT is not set
787# CONFIG_CRC16 is not set
788# CONFIG_CRC_ITU_T is not set
789CONFIG_CRC32=y
790# CONFIG_CRC7 is not set
791# CONFIG_LIBCRC32C is not set
792CONFIG_ZLIB_INFLATE=y
793CONFIG_PLIST=y
794CONFIG_HAS_IOMEM=y
795CONFIG_HAS_IOPORT=y
796CONFIG_HAS_DMA=y
797CONFIG_HAVE_LMB=y
798
799#
800# Kernel hacking
801#
802# CONFIG_PRINTK_TIME is not set
803CONFIG_ENABLE_WARN_DEPRECATED=y
804CONFIG_ENABLE_MUST_CHECK=y
805CONFIG_MAGIC_SYSRQ=y
806# CONFIG_UNUSED_SYMBOLS is not set
807CONFIG_DEBUG_FS=y
808# CONFIG_HEADERS_CHECK is not set
809CONFIG_DEBUG_KERNEL=y
810# CONFIG_DEBUG_SHIRQ is not set
811CONFIG_DETECT_SOFTLOCKUP=y
812CONFIG_SCHED_DEBUG=y
813# CONFIG_SCHEDSTATS is not set
814# CONFIG_TIMER_STATS is not set
815# CONFIG_SLUB_DEBUG_ON is not set
816# CONFIG_SLUB_STATS is not set
817# CONFIG_DEBUG_RT_MUTEXES is not set
818# CONFIG_RT_MUTEX_TESTER is not set
819# CONFIG_DEBUG_SPINLOCK is not set
820# CONFIG_DEBUG_MUTEXES is not set
821# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
822# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
823# CONFIG_DEBUG_KOBJECT is not set
824CONFIG_DEBUG_BUGVERBOSE=y
825# CONFIG_DEBUG_INFO is not set
826# CONFIG_DEBUG_VM is not set
827# CONFIG_DEBUG_LIST is not set
828# CONFIG_DEBUG_SG is not set
829# CONFIG_BOOT_PRINTK_DELAY is not set
830# CONFIG_RCU_TORTURE_TEST is not set
831# CONFIG_BACKTRACE_SELF_TEST is not set
832# CONFIG_FAULT_INJECTION is not set
833# CONFIG_SAMPLES is not set
834# CONFIG_DEBUG_STACKOVERFLOW is not set
835# CONFIG_DEBUG_STACK_USAGE is not set
836# CONFIG_DEBUG_PAGEALLOC is not set
837# CONFIG_DEBUGGER is not set
838# CONFIG_VIRQ_DEBUG is not set
839# CONFIG_BDI_SWITCH is not set
840# CONFIG_PPC_EARLY_DEBUG is not set
841
842#
843# Security options
844#
845# CONFIG_KEYS is not set
846# CONFIG_SECURITY is not set
847# CONFIG_SECURITY_FILE_CAPABILITIES is not set
848CONFIG_CRYPTO=y
849CONFIG_CRYPTO_ALGAPI=y
850CONFIG_CRYPTO_BLKCIPHER=y
851# CONFIG_CRYPTO_SEQIV is not set
852CONFIG_CRYPTO_MANAGER=y
853# CONFIG_CRYPTO_HMAC is not set
854# CONFIG_CRYPTO_XCBC is not set
855# CONFIG_CRYPTO_NULL is not set
856# CONFIG_CRYPTO_MD4 is not set
857CONFIG_CRYPTO_MD5=y
858# CONFIG_CRYPTO_SHA1 is not set
859# CONFIG_CRYPTO_SHA256 is not set
860# CONFIG_CRYPTO_SHA512 is not set
861# CONFIG_CRYPTO_WP512 is not set
862# CONFIG_CRYPTO_TGR192 is not set
863# CONFIG_CRYPTO_GF128MUL is not set
864CONFIG_CRYPTO_ECB=y
865CONFIG_CRYPTO_CBC=y
866CONFIG_CRYPTO_PCBC=y
867# CONFIG_CRYPTO_LRW is not set
868# CONFIG_CRYPTO_XTS is not set
869# CONFIG_CRYPTO_CTR is not set
870# CONFIG_CRYPTO_GCM is not set
871# CONFIG_CRYPTO_CCM is not set
872# CONFIG_CRYPTO_CRYPTD is not set
873CONFIG_CRYPTO_DES=y
874# CONFIG_CRYPTO_FCRYPT is not set
875# CONFIG_CRYPTO_BLOWFISH is not set
876# CONFIG_CRYPTO_TWOFISH is not set
877# CONFIG_CRYPTO_SERPENT is not set
878# CONFIG_CRYPTO_AES is not set
879# CONFIG_CRYPTO_CAST5 is not set
880# CONFIG_CRYPTO_CAST6 is not set
881# CONFIG_CRYPTO_TEA is not set
882# CONFIG_CRYPTO_ARC4 is not set
883# CONFIG_CRYPTO_KHAZAD is not set
884# CONFIG_CRYPTO_ANUBIS is not set
885# CONFIG_CRYPTO_SEED is not set
886# CONFIG_CRYPTO_SALSA20 is not set
887# CONFIG_CRYPTO_DEFLATE is not set
888# CONFIG_CRYPTO_MICHAEL_MIC is not set
889# CONFIG_CRYPTO_CRC32C is not set
890# CONFIG_CRYPTO_CAMELLIA is not set
891# CONFIG_CRYPTO_TEST is not set
892# CONFIG_CRYPTO_AUTHENC is not set
893# CONFIG_CRYPTO_LZO is not set
894CONFIG_CRYPTO_HW=y
895# CONFIG_CRYPTO_DEV_HIFN_795X is not set
896# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig
index 57bd775ef77..12f9b5a8022 100644
--- a/arch/powerpc/configs/ppc44x_defconfig
+++ b/arch/powerpc/configs/ppc44x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc2 3# Linux kernel version: 2.6.25-rc6
4# Fri Feb 15 21:57:35 2008 4# Sat Apr 5 09:35:48 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -79,6 +79,7 @@ CONFIG_FAIR_GROUP_SCHED=y
79CONFIG_USER_SCHED=y 79CONFIG_USER_SCHED=y
80# CONFIG_CGROUP_SCHED is not set 80# CONFIG_CGROUP_SCHED is not set
81CONFIG_SYSFS_DEPRECATED=y 81CONFIG_SYSFS_DEPRECATED=y
82CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_RELAY is not set 83# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set 84# CONFIG_NAMESPACES is not set
84CONFIG_BLK_DEV_INITRD=y 85CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +114,7 @@ CONFIG_SLUB=y
113CONFIG_HAVE_OPROFILE=y 114CONFIG_HAVE_OPROFILE=y
114# CONFIG_KPROBES is not set 115# CONFIG_KPROBES is not set
115CONFIG_HAVE_KPROBES=y 116CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y
116CONFIG_PROC_PAGE_MONITOR=y 118CONFIG_PROC_PAGE_MONITOR=y
117CONFIG_SLABINFO=y 119CONFIG_SLABINFO=y
118CONFIG_RT_MUTEXES=y 120CONFIG_RT_MUTEXES=y
@@ -143,7 +145,6 @@ CONFIG_DEFAULT_AS=y
143# CONFIG_DEFAULT_NOOP is not set 145# CONFIG_DEFAULT_NOOP is not set
144CONFIG_DEFAULT_IOSCHED="anticipatory" 146CONFIG_DEFAULT_IOSCHED="anticipatory"
145CONFIG_CLASSIC_RCU=y 147CONFIG_CLASSIC_RCU=y
146# CONFIG_PREEMPT_RCU is not set
147CONFIG_PPC4xx_PCI_EXPRESS=y 148CONFIG_PPC4xx_PCI_EXPRESS=y
148 149
149# 150#
@@ -161,12 +162,15 @@ CONFIG_TAISHAN=y
161CONFIG_KATMAI=y 162CONFIG_KATMAI=y
162CONFIG_RAINIER=y 163CONFIG_RAINIER=y
163CONFIG_WARP=y 164CONFIG_WARP=y
165CONFIG_CANYONLANDS=y
166CONFIG_YOSEMITE=y
164CONFIG_440EP=y 167CONFIG_440EP=y
165CONFIG_440EPX=y 168CONFIG_440EPX=y
166CONFIG_440GRX=y 169CONFIG_440GRX=y
167CONFIG_440GP=y 170CONFIG_440GP=y
168CONFIG_440GX=y 171CONFIG_440GX=y
169CONFIG_440SPe=y 172CONFIG_440SPe=y
173CONFIG_460EX=y
170CONFIG_IBM440EP_ERR42=y 174CONFIG_IBM440EP_ERR42=y
171# CONFIG_IPIC is not set 175# CONFIG_IPIC is not set
172# CONFIG_MPIC is not set 176# CONFIG_MPIC is not set
@@ -199,7 +203,6 @@ CONFIG_HZ=250
199CONFIG_PREEMPT_NONE=y 203CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
202# CONFIG_RCU_TRACE is not set
203CONFIG_BINFMT_ELF=y 206CONFIG_BINFMT_ELF=y
204# CONFIG_BINFMT_MISC is not set 207# CONFIG_BINFMT_MISC is not set
205CONFIG_MATH_EMULATION=y 208CONFIG_MATH_EMULATION=y
@@ -232,6 +235,7 @@ CONFIG_ISA_DMA_API=y
232# 235#
233CONFIG_ZONE_DMA=y 236CONFIG_ZONE_DMA=y
234CONFIG_PPC_INDIRECT_PCI=y 237CONFIG_PPC_INDIRECT_PCI=y
238CONFIG_4xx_SOC=y
235CONFIG_PCI=y 239CONFIG_PCI=y
236CONFIG_PCI_DOMAINS=y 240CONFIG_PCI_DOMAINS=y
237CONFIG_PCI_SYSCALL=y 241CONFIG_PCI_SYSCALL=y
@@ -678,6 +682,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
678# CONFIG_INFINIBAND is not set 682# CONFIG_INFINIBAND is not set
679# CONFIG_EDAC is not set 683# CONFIG_EDAC is not set
680# CONFIG_RTC_CLASS is not set 684# CONFIG_RTC_CLASS is not set
685# CONFIG_DMADEVICES is not set
681 686
682# 687#
683# Userspace I/O 688# Userspace I/O
@@ -805,6 +810,7 @@ CONFIG_PLIST=y
805CONFIG_HAS_IOMEM=y 810CONFIG_HAS_IOMEM=y
806CONFIG_HAS_IOPORT=y 811CONFIG_HAS_IOPORT=y
807CONFIG_HAS_DMA=y 812CONFIG_HAS_DMA=y
813CONFIG_HAVE_LMB=y
808 814
809# 815#
810# Kernel hacking 816# Kernel hacking
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 880ab7ad10c..970282b1a00 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 11:06:28 2008 4# Thu Mar 27 13:56:24 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -84,8 +84,6 @@ CONFIG_CGROUPS=y
84# CONFIG_CGROUP_NS is not set 84# CONFIG_CGROUP_NS is not set
85CONFIG_CPUSETS=y 85CONFIG_CPUSETS=y
86# CONFIG_GROUP_SCHED is not set 86# CONFIG_GROUP_SCHED is not set
87# CONFIG_USER_SCHED is not set
88# CONFIG_CGROUP_SCHED is not set
89# CONFIG_CGROUP_CPUACCT is not set 87# CONFIG_CGROUP_CPUACCT is not set
90# CONFIG_RESOURCE_COUNTERS is not set 88# CONFIG_RESOURCE_COUNTERS is not set
91CONFIG_SYSFS_DEPRECATED=y 89CONFIG_SYSFS_DEPRECATED=y
@@ -289,6 +287,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
289CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 287CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
290CONFIG_KEXEC=y 288CONFIG_KEXEC=y
291# CONFIG_CRASH_DUMP is not set 289# CONFIG_CRASH_DUMP is not set
290# CONFIG_PHYP_DUMP is not set
292CONFIG_IRQ_ALL_CPUS=y 291CONFIG_IRQ_ALL_CPUS=y
293# CONFIG_NUMA is not set 292# CONFIG_NUMA is not set
294CONFIG_ARCH_SELECT_MEMORY_MODEL=y 293CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -335,7 +334,7 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 334# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 335CONFIG_ARCH_SUPPORTS_MSI=y
337CONFIG_PCI_MSI=y 336CONFIG_PCI_MSI=y
338CONFIG_PCI_LEGACY=y 337# CONFIG_PCI_LEGACY is not set
339# CONFIG_PCI_DEBUG is not set 338# CONFIG_PCI_DEBUG is not set
340CONFIG_PCCARD=y 339CONFIG_PCCARD=y
341# CONFIG_PCMCIA_DEBUG is not set 340# CONFIG_PCMCIA_DEBUG is not set
@@ -1881,6 +1880,7 @@ CONFIG_PLIST=y
1881CONFIG_HAS_IOMEM=y 1880CONFIG_HAS_IOMEM=y
1882CONFIG_HAS_IOPORT=y 1881CONFIG_HAS_IOPORT=y
1883CONFIG_HAS_DMA=y 1882CONFIG_HAS_DMA=y
1883CONFIG_HAVE_LMB=y
1884 1884
1885# 1885#
1886# Kernel hacking 1886# Kernel hacking
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..f9121685f11 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-rc7
4# Thu Dec 6 16:49:11 2007 4# Mon Mar 31 11:37:15 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
@@ -823,8 +855,7 @@ CONFIG_LEGACY_PTY_COUNT=256
823# CONFIG_IPMI_HANDLER is not set 855# CONFIG_IPMI_HANDLER is not set
824# CONFIG_HW_RANDOM is not set 856# CONFIG_HW_RANDOM is not set
825# CONFIG_NVRAM is not set 857# CONFIG_NVRAM is not set
826CONFIG_GEN_RTC=y 858# CONFIG_GEN_RTC is not set
827# CONFIG_GEN_RTC_X is not set
828# CONFIG_R3964 is not set 859# CONFIG_R3964 is not set
829# CONFIG_APPLICOM is not set 860# CONFIG_APPLICOM is not set
830# CONFIG_RAW_DRIVER is not set 861# CONFIG_RAW_DRIVER is not set
@@ -872,14 +903,12 @@ CONFIG_I2C_MV64XXX=y
872# 903#
873# Miscellaneous I2C Chip support 904# Miscellaneous I2C Chip support
874# 905#
875# CONFIG_SENSORS_DS1337 is not set
876# CONFIG_SENSORS_DS1374 is not set
877# CONFIG_DS1682 is not set 906# CONFIG_DS1682 is not set
878# CONFIG_SENSORS_EEPROM is not set 907# CONFIG_SENSORS_EEPROM is not set
879# CONFIG_SENSORS_PCF8574 is not set 908# CONFIG_SENSORS_PCF8574 is not set
880# CONFIG_SENSORS_PCA9539 is not set 909# CONFIG_PCF8575 is not set
881# CONFIG_SENSORS_PCF8591 is not set 910# CONFIG_SENSORS_PCF8591 is not set
882# CONFIG_SENSORS_M41T00 is not set 911# CONFIG_TPS65010 is not set
883# CONFIG_SENSORS_MAX6875 is not set 912# CONFIG_SENSORS_MAX6875 is not set
884# CONFIG_SENSORS_TSL2550 is not set 913# CONFIG_SENSORS_TSL2550 is not set
885# CONFIG_I2C_DEBUG_CORE is not set 914# CONFIG_I2C_DEBUG_CORE is not set
@@ -904,6 +933,7 @@ CONFIG_HWMON=y
904# CONFIG_SENSORS_ADM1031 is not set 933# CONFIG_SENSORS_ADM1031 is not set
905# CONFIG_SENSORS_ADM9240 is not set 934# CONFIG_SENSORS_ADM9240 is not set
906# CONFIG_SENSORS_ADT7470 is not set 935# CONFIG_SENSORS_ADT7470 is not set
936# CONFIG_SENSORS_ADT7473 is not set
907# CONFIG_SENSORS_ATXP1 is not set 937# CONFIG_SENSORS_ATXP1 is not set
908# CONFIG_SENSORS_DS1621 is not set 938# CONFIG_SENSORS_DS1621 is not set
909# CONFIG_SENSORS_I5K_AMB is not set 939# CONFIG_SENSORS_I5K_AMB is not set
@@ -933,6 +963,7 @@ CONFIG_HWMON=y
933# CONFIG_SENSORS_SMSC47M1 is not set 963# CONFIG_SENSORS_SMSC47M1 is not set
934# CONFIG_SENSORS_SMSC47M192 is not set 964# CONFIG_SENSORS_SMSC47M192 is not set
935# CONFIG_SENSORS_SMSC47B397 is not set 965# CONFIG_SENSORS_SMSC47B397 is not set
966# CONFIG_SENSORS_ADS7828 is not set
936# CONFIG_SENSORS_THMC50 is not set 967# CONFIG_SENSORS_THMC50 is not set
937# CONFIG_SENSORS_VIA686A is not set 968# CONFIG_SENSORS_VIA686A is not set
938# CONFIG_SENSORS_VT1211 is not set 969# CONFIG_SENSORS_VT1211 is not set
@@ -942,9 +973,11 @@ CONFIG_HWMON=y
942# CONFIG_SENSORS_W83792D is not set 973# CONFIG_SENSORS_W83792D is not set
943# CONFIG_SENSORS_W83793 is not set 974# CONFIG_SENSORS_W83793 is not set
944# CONFIG_SENSORS_W83L785TS is not set 975# CONFIG_SENSORS_W83L785TS is not set
976# CONFIG_SENSORS_W83L786NG is not set
945# CONFIG_SENSORS_W83627HF is not set 977# CONFIG_SENSORS_W83627HF is not set
946# CONFIG_SENSORS_W83627EHF is not set 978# CONFIG_SENSORS_W83627EHF is not set
947# CONFIG_HWMON_DEBUG_CHIP is not set 979# CONFIG_HWMON_DEBUG_CHIP is not set
980# CONFIG_THERMAL is not set
948# CONFIG_WATCHDOG is not set 981# CONFIG_WATCHDOG is not set
949 982
950# 983#
@@ -1009,6 +1042,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1009CONFIG_USB_ARCH_HAS_EHCI=y 1042CONFIG_USB_ARCH_HAS_EHCI=y
1010CONFIG_USB=y 1043CONFIG_USB=y
1011# CONFIG_USB_DEBUG is not set 1044# CONFIG_USB_DEBUG is not set
1045# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1012 1046
1013# 1047#
1014# Miscellaneous USB options 1048# Miscellaneous USB options
@@ -1022,9 +1056,9 @@ CONFIG_USB_DEVICEFS=y
1022# USB Host Controller Drivers 1056# USB Host Controller Drivers
1023# 1057#
1024CONFIG_USB_EHCI_HCD=y 1058CONFIG_USB_EHCI_HCD=y
1025# CONFIG_USB_EHCI_SPLIT_ISO is not set
1026# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1059# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1027# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1060# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1061CONFIG_USB_EHCI_HCD_PPC_OF=y
1028# CONFIG_USB_ISP116X_HCD is not set 1062# CONFIG_USB_ISP116X_HCD is not set
1029CONFIG_USB_OHCI_HCD=y 1063CONFIG_USB_OHCI_HCD=y
1030# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1064# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1061,10 +1095,6 @@ CONFIG_USB_MON=y
1061# 1095#
1062# USB port drivers 1096# USB port drivers
1063# 1097#
1064
1065#
1066# USB Serial Converter support
1067#
1068# CONFIG_USB_SERIAL is not set 1098# CONFIG_USB_SERIAL is not set
1069 1099
1070# 1100#
@@ -1090,16 +1120,9 @@ CONFIG_USB_MON=y
1090# CONFIG_USB_TRANCEVIBRATOR is not set 1120# CONFIG_USB_TRANCEVIBRATOR is not set
1091# CONFIG_USB_IOWARRIOR is not set 1121# CONFIG_USB_IOWARRIOR is not set
1092# CONFIG_USB_TEST is not set 1122# 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 1123# CONFIG_USB_GADGET is not set
1102# CONFIG_MMC is not set 1124# CONFIG_MMC is not set
1125# CONFIG_MEMSTICK is not set
1103# CONFIG_NEW_LEDS is not set 1126# CONFIG_NEW_LEDS is not set
1104# CONFIG_INFINIBAND is not set 1127# CONFIG_INFINIBAND is not set
1105# CONFIG_EDAC is not set 1128# CONFIG_EDAC is not set
@@ -1131,6 +1154,7 @@ CONFIG_RTC_DRV_MAX6900=y
1131# CONFIG_RTC_DRV_PCF8563 is not set 1154# CONFIG_RTC_DRV_PCF8563 is not set
1132# CONFIG_RTC_DRV_PCF8583 is not set 1155# CONFIG_RTC_DRV_PCF8583 is not set
1133# CONFIG_RTC_DRV_M41T80 is not set 1156# CONFIG_RTC_DRV_M41T80 is not set
1157# CONFIG_RTC_DRV_S35390A is not set
1134 1158
1135# 1159#
1136# SPI RTC drivers 1160# SPI RTC drivers
@@ -1140,9 +1164,10 @@ CONFIG_RTC_DRV_MAX6900=y
1140# Platform RTC drivers 1164# Platform RTC drivers
1141# 1165#
1142# CONFIG_RTC_DRV_CMOS is not set 1166# CONFIG_RTC_DRV_CMOS is not set
1167# CONFIG_RTC_DRV_DS1511 is not set
1143# CONFIG_RTC_DRV_DS1553 is not set 1168# CONFIG_RTC_DRV_DS1553 is not set
1144# CONFIG_RTC_DRV_STK17TA8 is not set
1145# CONFIG_RTC_DRV_DS1742 is not set 1169# CONFIG_RTC_DRV_DS1742 is not set
1170# CONFIG_RTC_DRV_STK17TA8 is not set
1146# CONFIG_RTC_DRV_M48T86 is not set 1171# CONFIG_RTC_DRV_M48T86 is not set
1147# CONFIG_RTC_DRV_M48T59 is not set 1172# CONFIG_RTC_DRV_M48T59 is not set
1148# CONFIG_RTC_DRV_V3020 is not set 1173# CONFIG_RTC_DRV_V3020 is not set
@@ -1150,6 +1175,7 @@ CONFIG_RTC_DRV_MAX6900=y
1150# 1175#
1151# on-CPU RTC drivers 1176# on-CPU RTC drivers
1152# 1177#
1178# CONFIG_DMADEVICES is not set
1153 1179
1154# 1180#
1155# Userspace I/O 1181# Userspace I/O
@@ -1175,12 +1201,10 @@ CONFIG_FS_MBCACHE=y
1175# CONFIG_XFS_FS is not set 1201# CONFIG_XFS_FS is not set
1176# CONFIG_GFS2_FS is not set 1202# CONFIG_GFS2_FS is not set
1177# CONFIG_OCFS2_FS is not set 1203# CONFIG_OCFS2_FS is not set
1178# CONFIG_MINIX_FS is not set 1204CONFIG_DNOTIFY=y
1179# CONFIG_ROMFS_FS is not set
1180CONFIG_INOTIFY=y 1205CONFIG_INOTIFY=y
1181CONFIG_INOTIFY_USER=y 1206CONFIG_INOTIFY_USER=y
1182# CONFIG_QUOTA is not set 1207# CONFIG_QUOTA is not set
1183CONFIG_DNOTIFY=y
1184# CONFIG_AUTOFS_FS is not set 1208# CONFIG_AUTOFS_FS is not set
1185# CONFIG_AUTOFS4_FS is not set 1209# CONFIG_AUTOFS4_FS is not set
1186# CONFIG_FUSE_FS is not set 1210# CONFIG_FUSE_FS is not set
@@ -1223,8 +1247,10 @@ CONFIG_TMPFS=y
1223# CONFIG_JFFS2_FS is not set 1247# CONFIG_JFFS2_FS is not set
1224# CONFIG_CRAMFS is not set 1248# CONFIG_CRAMFS is not set
1225# CONFIG_VXFS_FS is not set 1249# CONFIG_VXFS_FS is not set
1250# CONFIG_MINIX_FS is not set
1226# CONFIG_HPFS_FS is not set 1251# CONFIG_HPFS_FS is not set
1227# CONFIG_QNX4FS_FS is not set 1252# CONFIG_QNX4FS_FS is not set
1253# CONFIG_ROMFS_FS is not set
1228# CONFIG_SYSV_FS is not set 1254# CONFIG_SYSV_FS is not set
1229# CONFIG_UFS_FS is not set 1255# CONFIG_UFS_FS is not set
1230CONFIG_NETWORK_FILESYSTEMS=y 1256CONFIG_NETWORK_FILESYSTEMS=y
@@ -1269,7 +1295,6 @@ CONFIG_MSDOS_PARTITION=y
1269# CONFIG_SYSV68_PARTITION is not set 1295# CONFIG_SYSV68_PARTITION is not set
1270# CONFIG_NLS is not set 1296# CONFIG_NLS is not set
1271# CONFIG_DLM is not set 1297# CONFIG_DLM is not set
1272# CONFIG_UCC_SLOW is not set
1273 1298
1274# 1299#
1275# Library routines 1300# Library routines
@@ -1285,7 +1310,6 @@ CONFIG_PLIST=y
1285CONFIG_HAS_IOMEM=y 1310CONFIG_HAS_IOMEM=y
1286CONFIG_HAS_IOPORT=y 1311CONFIG_HAS_IOPORT=y
1287CONFIG_HAS_DMA=y 1312CONFIG_HAS_DMA=y
1288# CONFIG_INSTRUMENTATION is not set
1289 1313
1290# 1314#
1291# Kernel hacking 1315# Kernel hacking
@@ -1299,6 +1323,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1299# CONFIG_HEADERS_CHECK is not set 1323# CONFIG_HEADERS_CHECK is not set
1300# CONFIG_DEBUG_KERNEL is not set 1324# CONFIG_DEBUG_KERNEL is not set
1301# CONFIG_SLUB_DEBUG_ON is not set 1325# CONFIG_SLUB_DEBUG_ON is not set
1326# CONFIG_SLUB_STATS is not set
1302CONFIG_DEBUG_BUGVERBOSE=y 1327CONFIG_DEBUG_BUGVERBOSE=y
1303# CONFIG_SAMPLES is not set 1328# CONFIG_SAMPLES is not set
1304# CONFIG_BOOTX_TEXT is not set 1329# CONFIG_BOOTX_TEXT is not set
@@ -1310,5 +1335,49 @@ CONFIG_DEBUG_BUGVERBOSE=y
1310# CONFIG_KEYS is not set 1335# CONFIG_KEYS is not set
1311# CONFIG_SECURITY is not set 1336# CONFIG_SECURITY is not set
1312# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1337# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1313# CONFIG_CRYPTO is not set 1338CONFIG_CRYPTO=y
1339# CONFIG_CRYPTO_SEQIV is not set
1340# CONFIG_CRYPTO_MANAGER is not set
1341# CONFIG_CRYPTO_HMAC is not set
1342# CONFIG_CRYPTO_XCBC is not set
1343# CONFIG_CRYPTO_NULL is not set
1344# CONFIG_CRYPTO_MD4 is not set
1345# CONFIG_CRYPTO_MD5 is not set
1346# CONFIG_CRYPTO_SHA1 is not set
1347# CONFIG_CRYPTO_SHA256 is not set
1348# CONFIG_CRYPTO_SHA512 is not set
1349# CONFIG_CRYPTO_WP512 is not set
1350# CONFIG_CRYPTO_TGR192 is not set
1351# CONFIG_CRYPTO_GF128MUL is not set
1352# CONFIG_CRYPTO_ECB is not set
1353# CONFIG_CRYPTO_CBC is not set
1354# CONFIG_CRYPTO_PCBC is not set
1355# CONFIG_CRYPTO_LRW is not set
1356# CONFIG_CRYPTO_XTS is not set
1357# CONFIG_CRYPTO_CTR is not set
1358# CONFIG_CRYPTO_GCM is not set
1359# CONFIG_CRYPTO_CCM is not set
1360# CONFIG_CRYPTO_CRYPTD is not set
1361# CONFIG_CRYPTO_DES is not set
1362# CONFIG_CRYPTO_FCRYPT is not set
1363# CONFIG_CRYPTO_BLOWFISH is not set
1364# CONFIG_CRYPTO_TWOFISH is not set
1365# CONFIG_CRYPTO_SERPENT is not set
1366# CONFIG_CRYPTO_AES is not set
1367# CONFIG_CRYPTO_CAST5 is not set
1368# CONFIG_CRYPTO_CAST6 is not set
1369# CONFIG_CRYPTO_TEA is not set
1370# CONFIG_CRYPTO_ARC4 is not set
1371# CONFIG_CRYPTO_KHAZAD is not set
1372# CONFIG_CRYPTO_ANUBIS is not set
1373# CONFIG_CRYPTO_SEED is not set
1374# CONFIG_CRYPTO_SALSA20 is not set
1375# CONFIG_CRYPTO_DEFLATE is not set
1376# CONFIG_CRYPTO_MICHAEL_MIC is not set
1377# CONFIG_CRYPTO_CRC32C is not set
1378# CONFIG_CRYPTO_CAMELLIA is not set
1379# CONFIG_CRYPTO_AUTHENC is not set
1380# CONFIG_CRYPTO_LZO is not set
1381CONFIG_CRYPTO_HW=y
1382# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1314# CONFIG_PPC_CLOCK is not set 1383# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 755aca72b52..3e2593c60b1 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.25-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Mar 20 11:08:01 2008 4# Thu Mar 27 13:56:28 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -83,8 +83,6 @@ CONFIG_CGROUPS=y
83CONFIG_CGROUP_NS=y 83CONFIG_CGROUP_NS=y
84CONFIG_CPUSETS=y 84CONFIG_CPUSETS=y
85# CONFIG_GROUP_SCHED is not set 85# CONFIG_GROUP_SCHED is not set
86# CONFIG_USER_SCHED is not set
87# CONFIG_CGROUP_SCHED is not set
88CONFIG_CGROUP_CPUACCT=y 86CONFIG_CGROUP_CPUACCT=y
89# CONFIG_RESOURCE_COUNTERS is not set 87# CONFIG_RESOURCE_COUNTERS is not set
90CONFIG_SYSFS_DEPRECATED=y 88CONFIG_SYSFS_DEPRECATED=y
@@ -237,6 +235,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
237CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 235CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
238CONFIG_KEXEC=y 236CONFIG_KEXEC=y
239# CONFIG_CRASH_DUMP is not set 237# CONFIG_CRASH_DUMP is not set
238# CONFIG_PHYP_DUMP is not set
240CONFIG_IRQ_ALL_CPUS=y 239CONFIG_IRQ_ALL_CPUS=y
241CONFIG_NUMA=y 240CONFIG_NUMA=y
242CONFIG_NODES_SHIFT=4 241CONFIG_NODES_SHIFT=4
@@ -283,7 +282,7 @@ CONFIG_PCI_SYSCALL=y
283# CONFIG_PCIEPORTBUS is not set 282# CONFIG_PCIEPORTBUS is not set
284CONFIG_ARCH_SUPPORTS_MSI=y 283CONFIG_ARCH_SUPPORTS_MSI=y
285CONFIG_PCI_MSI=y 284CONFIG_PCI_MSI=y
286CONFIG_PCI_LEGACY=y 285# CONFIG_PCI_LEGACY is not set
287# CONFIG_PCI_DEBUG is not set 286# CONFIG_PCI_DEBUG is not set
288# CONFIG_PCCARD is not set 287# CONFIG_PCCARD is not set
289CONFIG_HOTPLUG_PCI=m 288CONFIG_HOTPLUG_PCI=m
@@ -1519,6 +1518,7 @@ CONFIG_PLIST=y
1519CONFIG_HAS_IOMEM=y 1518CONFIG_HAS_IOMEM=y
1520CONFIG_HAS_IOPORT=y 1519CONFIG_HAS_IOPORT=y
1521CONFIG_HAS_DMA=y 1520CONFIG_HAS_DMA=y
1521CONFIG_HAVE_LMB=y
1522 1522
1523# 1523#
1524# Kernel hacking 1524# Kernel hacking
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..fdbfd39a3ac 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-rc7
4# Tue Jan 8 09:33:54 2008 4# Mon Mar 31 11:37:19 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
@@ -697,8 +717,7 @@ CONFIG_LEGACY_PTY_COUNT=256
697# CONFIG_IPMI_HANDLER is not set 717# CONFIG_IPMI_HANDLER is not set
698CONFIG_HW_RANDOM=m 718CONFIG_HW_RANDOM=m
699CONFIG_NVRAM=y 719CONFIG_NVRAM=y
700CONFIG_GEN_RTC=y 720# CONFIG_GEN_RTC is not set
701# CONFIG_GEN_RTC_X is not set
702# CONFIG_R3964 is not set 721# CONFIG_R3964 is not set
703# CONFIG_APPLICOM is not set 722# CONFIG_APPLICOM is not set
704# CONFIG_RAW_DRIVER is not set 723# CONFIG_RAW_DRIVER is not set
@@ -746,14 +765,12 @@ CONFIG_I2C_MPC=y
746# 765#
747# Miscellaneous I2C Chip support 766# Miscellaneous I2C Chip support
748# 767#
749# CONFIG_SENSORS_DS1337 is not set
750# CONFIG_SENSORS_DS1374 is not set
751# CONFIG_DS1682 is not set 768# CONFIG_DS1682 is not set
752# CONFIG_SENSORS_EEPROM is not set 769# CONFIG_SENSORS_EEPROM is not set
753# CONFIG_SENSORS_PCF8574 is not set 770# CONFIG_SENSORS_PCF8574 is not set
754# CONFIG_SENSORS_PCA9539 is not set 771# CONFIG_PCF8575 is not set
755# CONFIG_SENSORS_PCF8591 is not set 772# CONFIG_SENSORS_PCF8591 is not set
756# CONFIG_SENSORS_M41T00 is not set 773# CONFIG_TPS65010 is not set
757# CONFIG_SENSORS_MAX6875 is not set 774# CONFIG_SENSORS_MAX6875 is not set
758# CONFIG_SENSORS_TSL2550 is not set 775# CONFIG_SENSORS_TSL2550 is not set
759# CONFIG_I2C_DEBUG_CORE is not set 776# CONFIG_I2C_DEBUG_CORE is not set
@@ -769,6 +786,7 @@ CONFIG_I2C_MPC=y
769# CONFIG_W1 is not set 786# CONFIG_W1 is not set
770# CONFIG_POWER_SUPPLY is not set 787# CONFIG_POWER_SUPPLY is not set
771# CONFIG_HWMON is not set 788# CONFIG_HWMON is not set
789# CONFIG_THERMAL is not set
772# CONFIG_WATCHDOG is not set 790# CONFIG_WATCHDOG is not set
773 791
774# 792#
@@ -814,6 +832,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
814CONFIG_USB_ARCH_HAS_EHCI=y 832CONFIG_USB_ARCH_HAS_EHCI=y
815CONFIG_USB=y 833CONFIG_USB=y
816# CONFIG_USB_DEBUG is not set 834# CONFIG_USB_DEBUG is not set
835# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
817 836
818# 837#
819# Miscellaneous USB options 838# Miscellaneous USB options
@@ -827,9 +846,10 @@ CONFIG_USB_DEVICE_CLASS=y
827# USB Host Controller Drivers 846# USB Host Controller Drivers
828# 847#
829CONFIG_USB_EHCI_HCD=y 848CONFIG_USB_EHCI_HCD=y
830# CONFIG_USB_EHCI_SPLIT_ISO is not set
831# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 849# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
832# CONFIG_USB_EHCI_TT_NEWSCHED is not set 850# CONFIG_USB_EHCI_TT_NEWSCHED is not set
851# CONFIG_USB_EHCI_FSL is not set
852CONFIG_USB_EHCI_HCD_PPC_OF=y
833# CONFIG_USB_ISP116X_HCD is not set 853# CONFIG_USB_ISP116X_HCD is not set
834CONFIG_USB_OHCI_HCD=y 854CONFIG_USB_OHCI_HCD=y
835# CONFIG_USB_OHCI_HCD_PPC_OF is not set 855# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -877,10 +897,6 @@ CONFIG_USB_STORAGE=y
877# 897#
878# USB port drivers 898# USB port drivers
879# 899#
880
881#
882# USB Serial Converter support
883#
884# CONFIG_USB_SERIAL is not set 900# CONFIG_USB_SERIAL is not set
885 901
886# 902#
@@ -906,16 +922,9 @@ CONFIG_USB_STORAGE=y
906# CONFIG_USB_TRANCEVIBRATOR is not set 922# CONFIG_USB_TRANCEVIBRATOR is not set
907# CONFIG_USB_IOWARRIOR is not set 923# CONFIG_USB_IOWARRIOR is not set
908# CONFIG_USB_TEST is not set 924# 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 925# CONFIG_USB_GADGET is not set
918# CONFIG_MMC is not set 926# CONFIG_MMC is not set
927# CONFIG_MEMSTICK is not set
919# CONFIG_NEW_LEDS is not set 928# CONFIG_NEW_LEDS is not set
920# CONFIG_INFINIBAND is not set 929# CONFIG_INFINIBAND is not set
921# CONFIG_EDAC is not set 930# CONFIG_EDAC is not set
@@ -947,6 +956,7 @@ CONFIG_RTC_DRV_DS1307=y
947# CONFIG_RTC_DRV_PCF8563 is not set 956# CONFIG_RTC_DRV_PCF8563 is not set
948# CONFIG_RTC_DRV_PCF8583 is not set 957# CONFIG_RTC_DRV_PCF8583 is not set
949# CONFIG_RTC_DRV_M41T80 is not set 958# CONFIG_RTC_DRV_M41T80 is not set
959# CONFIG_RTC_DRV_S35390A is not set
950 960
951# 961#
952# SPI RTC drivers 962# SPI RTC drivers
@@ -956,9 +966,10 @@ CONFIG_RTC_DRV_DS1307=y
956# Platform RTC drivers 966# Platform RTC drivers
957# 967#
958# CONFIG_RTC_DRV_CMOS is not set 968# CONFIG_RTC_DRV_CMOS is not set
969# CONFIG_RTC_DRV_DS1511 is not set
959# CONFIG_RTC_DRV_DS1553 is not set 970# CONFIG_RTC_DRV_DS1553 is not set
960# CONFIG_RTC_DRV_STK17TA8 is not set
961# CONFIG_RTC_DRV_DS1742 is not set 971# CONFIG_RTC_DRV_DS1742 is not set
972# CONFIG_RTC_DRV_STK17TA8 is not set
962# CONFIG_RTC_DRV_M48T86 is not set 973# CONFIG_RTC_DRV_M48T86 is not set
963# CONFIG_RTC_DRV_M48T59 is not set 974# CONFIG_RTC_DRV_M48T59 is not set
964# CONFIG_RTC_DRV_V3020 is not set 975# CONFIG_RTC_DRV_V3020 is not set
@@ -966,6 +977,7 @@ CONFIG_RTC_DRV_DS1307=y
966# 977#
967# on-CPU RTC drivers 978# on-CPU RTC drivers
968# 979#
980# CONFIG_DMADEVICES is not set
969 981
970# 982#
971# Userspace I/O 983# Userspace I/O
@@ -995,12 +1007,10 @@ CONFIG_XFS_FS=m
995# CONFIG_XFS_RT is not set 1007# CONFIG_XFS_RT is not set
996# CONFIG_GFS2_FS is not set 1008# CONFIG_GFS2_FS is not set
997# CONFIG_OCFS2_FS is not set 1009# CONFIG_OCFS2_FS is not set
998# CONFIG_MINIX_FS is not set 1010CONFIG_DNOTIFY=y
999# CONFIG_ROMFS_FS is not set
1000CONFIG_INOTIFY=y 1011CONFIG_INOTIFY=y
1001CONFIG_INOTIFY_USER=y 1012CONFIG_INOTIFY_USER=y
1002# CONFIG_QUOTA is not set 1013# CONFIG_QUOTA is not set
1003CONFIG_DNOTIFY=y
1004# CONFIG_AUTOFS_FS is not set 1014# CONFIG_AUTOFS_FS is not set
1005# CONFIG_AUTOFS4_FS is not set 1015# CONFIG_AUTOFS4_FS is not set
1006# CONFIG_FUSE_FS is not set 1016# CONFIG_FUSE_FS is not set
@@ -1053,8 +1063,10 @@ CONFIG_JFFS2_RTIME=y
1053# CONFIG_JFFS2_RUBIN is not set 1063# CONFIG_JFFS2_RUBIN is not set
1054# CONFIG_CRAMFS is not set 1064# CONFIG_CRAMFS is not set
1055# CONFIG_VXFS_FS is not set 1065# CONFIG_VXFS_FS is not set
1066# CONFIG_MINIX_FS is not set
1056# CONFIG_HPFS_FS is not set 1067# CONFIG_HPFS_FS is not set
1057# CONFIG_QNX4FS_FS is not set 1068# CONFIG_QNX4FS_FS is not set
1069# CONFIG_ROMFS_FS is not set
1058# CONFIG_SYSV_FS is not set 1070# CONFIG_SYSV_FS is not set
1059# CONFIG_UFS_FS is not set 1071# CONFIG_UFS_FS is not set
1060# CONFIG_NETWORK_FILESYSTEMS is not set 1072# CONFIG_NETWORK_FILESYSTEMS is not set
@@ -1121,7 +1133,6 @@ CONFIG_NLS_ISO8859_1=y
1121# CONFIG_NLS_KOI8_U is not set 1133# CONFIG_NLS_KOI8_U is not set
1122CONFIG_NLS_UTF8=y 1134CONFIG_NLS_UTF8=y
1123# CONFIG_DLM is not set 1135# CONFIG_DLM is not set
1124# CONFIG_UCC_SLOW is not set
1125 1136
1126# 1137#
1127# Library routines 1138# Library routines
@@ -1139,9 +1150,6 @@ CONFIG_PLIST=y
1139CONFIG_HAS_IOMEM=y 1150CONFIG_HAS_IOMEM=y
1140CONFIG_HAS_IOPORT=y 1151CONFIG_HAS_IOPORT=y
1141CONFIG_HAS_DMA=y 1152CONFIG_HAS_DMA=y
1142CONFIG_INSTRUMENTATION=y
1143# CONFIG_PROFILING is not set
1144# CONFIG_MARKERS is not set
1145 1153
1146# 1154#
1147# Kernel hacking 1155# Kernel hacking
@@ -1155,6 +1163,7 @@ CONFIG_INSTRUMENTATION=y
1155# CONFIG_HEADERS_CHECK is not set 1163# CONFIG_HEADERS_CHECK is not set
1156# CONFIG_DEBUG_KERNEL is not set 1164# CONFIG_DEBUG_KERNEL is not set
1157# CONFIG_SLUB_DEBUG_ON is not set 1165# CONFIG_SLUB_DEBUG_ON is not set
1166# CONFIG_SLUB_STATS is not set
1158# CONFIG_DEBUG_BUGVERBOSE is not set 1167# CONFIG_DEBUG_BUGVERBOSE is not set
1159# CONFIG_SAMPLES is not set 1168# CONFIG_SAMPLES is not set
1160# CONFIG_BOOTX_TEXT is not set 1169# 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/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index 4b749c41646..292c6d8db0e 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -26,8 +26,6 @@
26#ifdef CONFIG_PPC64 26#ifdef CONFIG_PPC64
27#include <linux/time.h> 27#include <linux/time.h>
28#include <linux/hardirq.h> 28#include <linux/hardirq.h>
29#else
30#include <linux/ptrace.h>
31#endif 29#endif
32 30
33#include <asm/io.h> 31#include <asm/io.h>
@@ -46,6 +44,9 @@
46#include <asm/mmu.h> 44#include <asm/mmu.h>
47#include <asm/hvcall.h> 45#include <asm/hvcall.h>
48#endif 46#endif
47#ifdef CONFIG_PPC_ISERIES
48#include <asm/iseries/alpaca.h>
49#endif
49 50
50#define DEFINE(sym, val) \ 51#define DEFINE(sym, val) \
51 asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 52 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
@@ -60,7 +61,6 @@ int main(void)
60 DEFINE(AUDITCONTEXT, offsetof(struct task_struct, audit_context)); 61 DEFINE(AUDITCONTEXT, offsetof(struct task_struct, audit_context));
61#else 62#else
62 DEFINE(THREAD_INFO, offsetof(struct task_struct, stack)); 63 DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
63 DEFINE(PTRACE, offsetof(struct task_struct, ptrace));
64#endif /* CONFIG_PPC64 */ 64#endif /* CONFIG_PPC64 */
65 65
66 DEFINE(KSP, offsetof(struct thread_struct, ksp)); 66 DEFINE(KSP, offsetof(struct thread_struct, ksp));
@@ -80,7 +80,6 @@ int main(void)
80 DEFINE(PGDIR, offsetof(struct thread_struct, pgdir)); 80 DEFINE(PGDIR, offsetof(struct thread_struct, pgdir));
81#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 81#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
82 DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, dbcr0)); 82 DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, dbcr0));
83 DEFINE(PT_PTRACED, PT_PTRACED);
84#endif 83#endif
85#ifdef CONFIG_SPE 84#ifdef CONFIG_SPE
86 DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0])); 85 DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0]));
@@ -325,6 +324,9 @@ int main(void)
325 DEFINE(PAGE_OFFSET_VSID, KERNEL_VSID(PAGE_OFFSET)); 324 DEFINE(PAGE_OFFSET_VSID, KERNEL_VSID(PAGE_OFFSET));
326 DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START)); 325 DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
327 DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START)); 326 DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
327
328 /* alpaca */
329 DEFINE(ALPACA_SIZE, sizeof(struct alpaca));
328#endif 330#endif
329 331
330 DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE); 332 DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE);
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c
index 80e2eef05b2..9f937774549 100644
--- a/arch/powerpc/kernel/btext.c
+++ b/arch/powerpc/kernel/btext.c
@@ -7,6 +7,7 @@
7#include <linux/string.h> 7#include <linux/string.h>
8#include <linux/init.h> 8#include <linux/init.h>
9#include <linux/module.h> 9#include <linux/module.h>
10#include <linux/lmb.h>
10 11
11#include <asm/sections.h> 12#include <asm/sections.h>
12#include <asm/prom.h> 13#include <asm/prom.h>
@@ -15,7 +16,7 @@
15#include <asm/mmu.h> 16#include <asm/mmu.h>
16#include <asm/pgtable.h> 17#include <asm/pgtable.h>
17#include <asm/io.h> 18#include <asm/io.h>
18#include <asm/lmb.h> 19#include <asm/prom.h>
19#include <asm/processor.h> 20#include <asm/processor.h>
20#include <asm/udbg.h> 21#include <asm/udbg.h>
21 22
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S b/arch/powerpc/kernel/cpu_setup_44x.S
index 6250443ab9c..5465e8de0e6 100644
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
@@ -3,7 +3,7 @@
3 * Valentine Barshak <vbarshak@ru.mvista.com> 3 * Valentine Barshak <vbarshak@ru.mvista.com>
4 * MontaVista Software, Inc (c) 2007 4 * MontaVista Software, Inc (c) 2007
5 * 5 *
6 * Based on cpu_setup_6xx code by 6 * Based on cpu_setup_6xx code by
7 * Benjamin Herrenschmidt <benh@kernel.crashing.org> 7 * Benjamin Herrenschmidt <benh@kernel.crashing.org>
8 * 8 *
9 * This program is free software; you can redistribute it and/or 9 * This program is free software; you can redistribute it and/or
@@ -32,6 +32,9 @@ _GLOBAL(__setup_cpu_440grx)
32 bl __fixup_440A_mcheck 32 bl __fixup_440A_mcheck
33 mtlr r4 33 mtlr r4
34 blr 34 blr
35_GLOBAL(__setup_cpu_460ex)
36_GLOBAL(__setup_cpu_460gt)
37 b __init_fpu_44x
35_GLOBAL(__setup_cpu_440gx) 38_GLOBAL(__setup_cpu_440gx)
36_GLOBAL(__setup_cpu_440spe) 39_GLOBAL(__setup_cpu_440spe)
37 b __fixup_440A_mcheck 40 b __fixup_440A_mcheck
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 2a8f5cc5184..26ffb44e270 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned long offset, struct cpu_spec* spec);
36extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); 36extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec);
37extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); 37extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec);
38extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); 38extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
39extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec);
40extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec);
39extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); 41extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
40extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec); 42extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
41extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec); 43extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
@@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_specs[] = {
1397 .machine_check = machine_check_440A, 1399 .machine_check = machine_check_440A,
1398 .platform = "ppc440", 1400 .platform = "ppc440",
1399 }, 1401 },
1402 { /* 460EX */
1403 .pvr_mask = 0xffff0002,
1404 .pvr_value = 0x13020002,
1405 .cpu_name = "460EX",
1406 .cpu_features = CPU_FTRS_44X,
1407 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1408 .icache_bsize = 32,
1409 .dcache_bsize = 32,
1410 .cpu_setup = __setup_cpu_460ex,
1411 .machine_check = machine_check_440A,
1412 .platform = "ppc440",
1413 },
1414 { /* 460GT */
1415 .pvr_mask = 0xffff0002,
1416 .pvr_value = 0x13020000,
1417 .cpu_name = "460GT",
1418 .cpu_features = CPU_FTRS_44X,
1419 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1420 .icache_bsize = 32,
1421 .dcache_bsize = 32,
1422 .cpu_setup = __setup_cpu_460gt,
1423 .machine_check = machine_check_440A,
1424 .platform = "ppc440",
1425 },
1400#endif /* CONFIG_44x */ 1426#endif /* CONFIG_44x */
1401#ifdef CONFIG_FSL_BOOKE 1427#ifdef CONFIG_FSL_BOOKE
1402#ifdef CONFIG_E200 1428#ifdef CONFIG_E200
@@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(unsigned long offset, unsigned int pvr)
1512 *t = *s; 1538 *t = *s;
1513 *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; 1539 *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec;
1514#if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE) 1540#if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE)
1515 /* ppc64 and booke expect identify_cpu to also call 1541 /* ppc64 and booke expect identify_cpu to also call
1516 * setup_cpu for that processor. I will consolidate 1542 * setup_cpu for that processor. I will consolidate
1517 * that at a later time, for now, just use #ifdef. 1543 * that at a later time, for now, just use #ifdef.
1518 * we also don't need to PTRRELOC the function pointer 1544 * we also don't need to PTRRELOC the function pointer
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c
index 571132ed12c..eae401de3f7 100644
--- a/arch/powerpc/kernel/crash.c
+++ b/arch/powerpc/kernel/crash.c
@@ -24,12 +24,13 @@
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/irq.h> 25#include <linux/irq.h>
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/lmb.h>
27 28
28#include <asm/processor.h> 29#include <asm/processor.h>
29#include <asm/machdep.h> 30#include <asm/machdep.h>
30#include <asm/kexec.h> 31#include <asm/kexec.h>
31#include <asm/kdump.h> 32#include <asm/kdump.h>
32#include <asm/lmb.h> 33#include <asm/prom.h>
33#include <asm/firmware.h> 34#include <asm/firmware.h>
34#include <asm/smp.h> 35#include <asm/smp.h>
35#include <asm/system.h> 36#include <asm/system.h>
diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
index 29ff77c468a..9ee3c5278db 100644
--- a/arch/powerpc/kernel/crash_dump.c
+++ b/arch/powerpc/kernel/crash_dump.c
@@ -13,8 +13,9 @@
13 13
14#include <linux/crash_dump.h> 14#include <linux/crash_dump.h>
15#include <linux/bootmem.h> 15#include <linux/bootmem.h>
16#include <linux/lmb.h>
16#include <asm/kdump.h> 17#include <asm/kdump.h>
17#include <asm/lmb.h> 18#include <asm/prom.h>
18#include <asm/firmware.h> 19#include <asm/firmware.h>
19#include <asm/uaccess.h> 20#include <asm/uaccess.h>
20 21
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index 0f4fac51202..c16d1354b19 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -763,23 +763,6 @@ load_up_altivec:
763 b fast_exception_return 763 b fast_exception_return
764 764
765/* 765/*
766 * AltiVec unavailable trap from kernel - print a message, but let
767 * the task use AltiVec in the kernel until it returns to user mode.
768 */
769KernelAltiVec:
770 lwz r3,_MSR(r1)
771 oris r3,r3,MSR_VEC@h
772 stw r3,_MSR(r1) /* enable use of AltiVec after return */
773 lis r3,87f@h
774 ori r3,r3,87f@l
775 mr r4,r2 /* current */
776 lwz r5,_NIP(r1)
777 bl printk
778 b ret_from_except
77987: .string "AltiVec used in kernel (task=%p, pc=%x) \n"
780 .align 4,0
781
782/*
783 * giveup_altivec(tsk) 766 * giveup_altivec(tsk)
784 * Disable AltiVec for the task given as the argument, 767 * Disable AltiVec for the task given as the argument,
785 * and save the AltiVec registers in its thread_struct. 768 * and save the AltiVec registers in its thread_struct.
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 11b4f6d9ffc..44229c3749a 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -621,7 +621,7 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
621 mtlr r10 621 mtlr r10
622 622
623 andi. r10,r12,MSR_RI /* check for unrecoverable exception */ 623 andi. r10,r12,MSR_RI /* check for unrecoverable exception */
624 beq- unrecov_slb 624 beq- 2f
625 625
626.machine push 626.machine push
627.machine "power4" 627.machine "power4"
@@ -643,6 +643,22 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
643 rfid 643 rfid
644 b . /* prevent speculative execution */ 644 b . /* prevent speculative execution */
645 645
6462:
647#ifdef CONFIG_PPC_ISERIES
648BEGIN_FW_FTR_SECTION
649 b unrecov_slb
650END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
651#endif /* CONFIG_PPC_ISERIES */
652 mfspr r11,SPRN_SRR0
653 clrrdi r10,r13,32
654 LOAD_HANDLER(r10,unrecov_slb)
655 mtspr SPRN_SRR0,r10
656 mfmsr r10
657 ori r10,r10,MSR_IR|MSR_DR|MSR_RI
658 mtspr SPRN_SRR1,r10
659 rfid
660 b .
661
646unrecov_slb: 662unrecov_slb:
647 EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB) 663 EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB)
648 DISABLE_INTS 664 DISABLE_INTS
@@ -1387,12 +1403,14 @@ __secondary_start:
1387#ifdef CONFIG_PPC_ISERIES 1403#ifdef CONFIG_PPC_ISERIES
1388BEGIN_FW_FTR_SECTION 1404BEGIN_FW_FTR_SECTION
1389 ori r4,r4,MSR_EE 1405 ori r4,r4,MSR_EE
1406 li r8,1
1407 stb r8,PACAHARDIRQEN(r13)
1390END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES) 1408END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
1391#endif 1409#endif
1392BEGIN_FW_FTR_SECTION 1410BEGIN_FW_FTR_SECTION
1393 stb r7,PACASOFTIRQEN(r13)
1394 stb r7,PACAHARDIRQEN(r13) 1411 stb r7,PACAHARDIRQEN(r13)
1395END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES) 1412END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
1413 stb r7,PACASOFTIRQEN(r13)
1396 1414
1397 mtspr SPRN_SRR0,r3 1415 mtspr SPRN_SRR0,r3
1398 mtspr SPRN_SRR1,r4 1416 mtspr SPRN_SRR1,r4
@@ -1503,10 +1521,6 @@ _INIT_GLOBAL(start_here_common)
1503 li r0,0 1521 li r0,0
1504 stdu r0,-STACK_FRAME_OVERHEAD(r1) 1522 stdu r0,-STACK_FRAME_OVERHEAD(r1)
1505 1523
1506 /* ptr to current */
1507 LOAD_REG_IMMEDIATE(r4, init_task)
1508 std r4,PACACURRENT(r13)
1509
1510 /* Load the TOC */ 1524 /* Load the TOC */
1511 ld r2,PACATOC(r13) 1525 ld r2,PACATOC(r13)
1512 std r1,PACAKSAVE(r13) 1526 std r1,PACAKSAVE(r13)
@@ -1520,15 +1534,14 @@ _INIT_GLOBAL(start_here_common)
1520#ifdef CONFIG_PPC_ISERIES 1534#ifdef CONFIG_PPC_ISERIES
1521BEGIN_FW_FTR_SECTION 1535BEGIN_FW_FTR_SECTION
1522 mfmsr r5 1536 mfmsr r5
1523 ori r5,r5,MSR_EE /* Hard Enabled */ 1537 ori r5,r5,MSR_EE /* Hard Enabled on iSeries*/
1524 mtmsrd r5 1538 mtmsrd r5
1539 li r5,1
1525END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES) 1540END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
1526#endif 1541#endif
1527BEGIN_FW_FTR_SECTION 1542 stb r5,PACAHARDIRQEN(r13) /* Hard Disabled on others */
1528 stb r5,PACAHARDIRQEN(r13)
1529END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
1530 1543
1531 bl .start_kernel 1544 bl .start_kernel
1532 1545
1533 /* Not reached */ 1546 /* Not reached */
1534 BUG_OPCODE 1547 BUG_OPCODE
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index d9cc2c288d9..9f40b3e7710 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -68,7 +68,9 @@ _ENTRY(_start);
68 mr r29,r5 68 mr r29,r5
69 mr r28,r6 69 mr r28,r6
70 mr r27,r7 70 mr r27,r7
71 li r25,0 /* phys kernel start (low) */
71 li r24,0 /* CPU number */ 72 li r24,0 /* CPU number */
73 li r23,0 /* phys kernel start (high) */
72 74
73/* We try to not make any assumptions about how the boot loader 75/* We try to not make any assumptions about how the boot loader
74 * setup or used the TLBs. We invalidate all mappings from the 76 * setup or used the TLBs. We invalidate all mappings from the
@@ -167,7 +169,28 @@ skpinv: addi r6,r6,1 /* Increment */
167 mtspr SPRN_MAS0,r7 169 mtspr SPRN_MAS0,r7
168 tlbre 170 tlbre
169 171
170 /* Just modify the entry ID, EPN and RPN for the temp mapping */ 172 /* grab and fixup the RPN */
173 mfspr r6,SPRN_MAS1 /* extract MAS1[SIZE] */
174 rlwinm r6,r6,25,27,30
175 li r8,-1
176 addi r6,r6,10
177 slw r6,r8,r6 /* convert to mask */
178
179 bl 1f /* Find our address */
1801: mflr r7
181
182 mfspr r8,SPRN_MAS3
183#ifdef CONFIG_PHYS_64BIT
184 mfspr r23,SPRN_MAS7
185#endif
186 and r8,r6,r8
187 subfic r9,r6,-4096
188 and r9,r9,r7
189
190 or r25,r8,r9
191 ori r8,r25,(MAS3_SX|MAS3_SW|MAS3_SR)
192
193 /* Just modify the entry ID and EPN for the temp mapping */
171 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ 194 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
172 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */ 195 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
173 mtspr SPRN_MAS0,r7 196 mtspr SPRN_MAS0,r7
@@ -177,12 +200,10 @@ skpinv: addi r6,r6,1 /* Increment */
177 ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l 200 ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
178 mtspr SPRN_MAS1,r6 201 mtspr SPRN_MAS1,r6
179 mfspr r6,SPRN_MAS2 202 mfspr r6,SPRN_MAS2
180 lis r7,PHYSICAL_START@h 203 li r7,0 /* temp EPN = 0 */
181 rlwimi r7,r6,0,20,31 204 rlwimi r7,r6,0,20,31
182 mtspr SPRN_MAS2,r7 205 mtspr SPRN_MAS2,r7
183 mfspr r6,SPRN_MAS3 206 mtspr SPRN_MAS3,r8
184 rlwimi r7,r6,0,20,31
185 mtspr SPRN_MAS3,r7
186 tlbwe 207 tlbwe
187 208
188 xori r6,r4,1 209 xori r6,r4,1
@@ -232,8 +253,7 @@ skpinv: addi r6,r6,1 /* Increment */
232 ori r6,r6,PAGE_OFFSET@l 253 ori r6,r6,PAGE_OFFSET@l
233 rlwimi r6,r7,0,20,31 254 rlwimi r6,r7,0,20,31
234 mtspr SPRN_MAS2,r6 255 mtspr SPRN_MAS2,r6
235 li r7,(MAS3_SX|MAS3_SW|MAS3_SR) 256 mtspr SPRN_MAS3,r8
236 mtspr SPRN_MAS3,r7
237 tlbwe 257 tlbwe
238 258
239/* 7. Jump to KERNELBASE mapping */ 259/* 7. Jump to KERNELBASE mapping */
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index 2f50bb5d00f..9971159c804 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -183,7 +183,7 @@ static int ibmebus_create_devices(const struct of_device_id *matches)
183 ret = ibmebus_create_device(child); 183 ret = ibmebus_create_device(child);
184 if (ret) { 184 if (ret) {
185 printk(KERN_ERR "%s: failed to create device (%i)", 185 printk(KERN_ERR "%s: failed to create device (%i)",
186 __FUNCTION__, ret); 186 __func__, ret);
187 of_node_put(child); 187 of_node_put(child);
188 break; 188 break;
189 } 189 }
@@ -269,7 +269,7 @@ static ssize_t ibmebus_store_probe(struct bus_type *bus,
269 if (bus_find_device(&ibmebus_bus_type, NULL, path, 269 if (bus_find_device(&ibmebus_bus_type, NULL, path,
270 ibmebus_match_path)) { 270 ibmebus_match_path)) {
271 printk(KERN_WARNING "%s: %s has already been probed\n", 271 printk(KERN_WARNING "%s: %s has already been probed\n",
272 __FUNCTION__, path); 272 __func__, path);
273 rc = -EEXIST; 273 rc = -EEXIST;
274 goto out; 274 goto out;
275 } 275 }
@@ -279,7 +279,7 @@ static ssize_t ibmebus_store_probe(struct bus_type *bus,
279 of_node_put(dn); 279 of_node_put(dn);
280 } else { 280 } else {
281 printk(KERN_WARNING "%s: no such device node: %s\n", 281 printk(KERN_WARNING "%s: no such device node: %s\n",
282 __FUNCTION__, path); 282 __func__, path);
283 rc = -ENODEV; 283 rc = -ENODEV;
284 } 284 }
285 285
@@ -308,7 +308,7 @@ static ssize_t ibmebus_store_remove(struct bus_type *bus,
308 return count; 308 return count;
309 } else { 309 } else {
310 printk(KERN_WARNING "%s: %s not on the bus\n", 310 printk(KERN_WARNING "%s: %s not on the bus\n",
311 __FUNCTION__, path); 311 __func__, path);
312 312
313 kfree(path); 313 kfree(path);
314 return -ENODEV; 314 return -ENODEV;
@@ -337,14 +337,14 @@ static int __init ibmebus_bus_init(void)
337 err = of_bus_type_init(&ibmebus_bus_type, "ibmebus"); 337 err = of_bus_type_init(&ibmebus_bus_type, "ibmebus");
338 if (err) { 338 if (err) {
339 printk(KERN_ERR "%s: failed to register IBM eBus.\n", 339 printk(KERN_ERR "%s: failed to register IBM eBus.\n",
340 __FUNCTION__); 340 __func__);
341 return err; 341 return err;
342 } 342 }
343 343
344 err = device_register(&ibmebus_bus_device); 344 err = device_register(&ibmebus_bus_device);
345 if (err) { 345 if (err) {
346 printk(KERN_WARNING "%s: device_register returned %i\n", 346 printk(KERN_WARNING "%s: device_register returned %i\n",
347 __FUNCTION__, err); 347 __func__, err);
348 bus_unregister(&ibmebus_bus_type); 348 bus_unregister(&ibmebus_bus_type);
349 349
350 return err; 350 return err;
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index 8f1f4e539c4..0c663669bc3 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -520,7 +520,7 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
520 unsigned int order; 520 unsigned int order;
521 521
522 if (!tbl || !tbl->it_map) { 522 if (!tbl || !tbl->it_map) {
523 printk(KERN_ERR "%s: expected TCE map for %s\n", __FUNCTION__, 523 printk(KERN_ERR "%s: expected TCE map for %s\n", __func__,
524 node_name); 524 node_name);
525 return; 525 return;
526 } 526 }
@@ -530,7 +530,7 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
530 for (i = 0; i < (tbl->it_size/64); i++) { 530 for (i = 0; i < (tbl->it_size/64); i++) {
531 if (tbl->it_map[i] != 0) { 531 if (tbl->it_map[i] != 0) {
532 printk(KERN_WARNING "%s: Unexpected TCEs for %s\n", 532 printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
533 __FUNCTION__, node_name); 533 __func__, node_name);
534 break; 534 break;
535 } 535 }
536 } 536 }
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index b0e5deb4274..4617b65d464 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -143,7 +143,6 @@ void local_irq_restore(unsigned long en)
143 */ 143 */
144 if (local_paca->lppaca_ptr->int_dword.any_int) 144 if (local_paca->lppaca_ptr->int_dword.any_int)
145 iseries_handle_interrupts(); 145 iseries_handle_interrupts();
146 return;
147 } 146 }
148 147
149 /* 148 /*
@@ -311,8 +310,21 @@ void do_IRQ(struct pt_regs *regs)
311 handler = &__do_IRQ; 310 handler = &__do_IRQ;
312 irqtp->task = curtp->task; 311 irqtp->task = curtp->task;
313 irqtp->flags = 0; 312 irqtp->flags = 0;
313
314 /* Copy the softirq bits in preempt_count so that the
315 * softirq checks work in the hardirq context.
316 */
317 irqtp->preempt_count =
318 (irqtp->preempt_count & ~SOFTIRQ_MASK) |
319 (curtp->preempt_count & SOFTIRQ_MASK);
320
314 call_handle_irq(irq, desc, irqtp, handler); 321 call_handle_irq(irq, desc, irqtp, handler);
315 irqtp->task = NULL; 322 irqtp->task = NULL;
323
324
325 /* Set any flag that may have been set on the
326 * alternate stack
327 */
316 if (irqtp->flags) 328 if (irqtp->flags)
317 set_bits(irqtp->flags, &curtp->flags); 329 set_bits(irqtp->flags, &curtp->flags);
318 } else 330 } else
@@ -358,7 +370,7 @@ void irq_ctx_init(void)
358 memset((void *)softirq_ctx[i], 0, THREAD_SIZE); 370 memset((void *)softirq_ctx[i], 0, THREAD_SIZE);
359 tp = softirq_ctx[i]; 371 tp = softirq_ctx[i];
360 tp->cpu = i; 372 tp->cpu = i;
361 tp->preempt_count = SOFTIRQ_OFFSET; 373 tp->preempt_count = 0;
362 374
363 memset((void *)hardirq_ctx[i], 0, THREAD_SIZE); 375 memset((void *)hardirq_ctx[i], 0, THREAD_SIZE);
364 tp = hardirq_ctx[i]; 376 tp = hardirq_ctx[i];
diff --git a/arch/powerpc/kernel/isa-bridge.c b/arch/powerpc/kernel/isa-bridge.c
index ee172aa42aa..289af348978 100644
--- a/arch/powerpc/kernel/isa-bridge.c
+++ b/arch/powerpc/kernel/isa-bridge.c
@@ -80,13 +80,13 @@ static void __devinit pci_process_ISA_OF_ranges(struct device_node *isa_node,
80 * (size depending on dev->n_addr_cells) 80 * (size depending on dev->n_addr_cells)
81 * cell 5: the size of the range 81 * cell 5: the size of the range
82 */ 82 */
83 if ((range->isa_addr.a_hi && ISA_SPACE_MASK) != ISA_SPACE_IO) { 83 if ((range->isa_addr.a_hi & ISA_SPACE_MASK) != ISA_SPACE_IO) {
84 range++; 84 range++;
85 rlen -= sizeof(struct isa_range); 85 rlen -= sizeof(struct isa_range);
86 if (rlen < sizeof(struct isa_range)) 86 if (rlen < sizeof(struct isa_range))
87 goto inval_range; 87 goto inval_range;
88 } 88 }
89 if ((range->isa_addr.a_hi && ISA_SPACE_MASK) != ISA_SPACE_IO) 89 if ((range->isa_addr.a_hi & ISA_SPACE_MASK) != ISA_SPACE_IO)
90 goto inval_range; 90 goto inval_range;
91 91
92 isa_addr = range->isa_addr.a_lo; 92 isa_addr = range->isa_addr.a_lo;
@@ -99,7 +99,7 @@ static void __devinit pci_process_ISA_OF_ranges(struct device_node *isa_node,
99 */ 99 */
100 if ((pci_addr != 0) || (isa_addr != 0)) { 100 if ((pci_addr != 0) || (isa_addr != 0)) {
101 printk(KERN_ERR "unexpected isa to pci mapping: %s\n", 101 printk(KERN_ERR "unexpected isa to pci mapping: %s\n",
102 __FUNCTION__); 102 __func__);
103 return; 103 return;
104 } 104 }
105 105
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c
index dcb89a88df4..1ffacc698ff 100644
--- a/arch/powerpc/kernel/lparcfg.c
+++ b/arch/powerpc/kernel/lparcfg.c
@@ -226,7 +226,7 @@ static void parse_system_parameter_string(struct seq_file *m)
226 unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); 226 unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
227 if (!local_buffer) { 227 if (!local_buffer) {
228 printk(KERN_ERR "%s %s kmalloc failure at line %d \n", 228 printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
229 __FILE__, __FUNCTION__, __LINE__); 229 __FILE__, __func__, __LINE__);
230 return; 230 return;
231 } 231 }
232 232
@@ -243,14 +243,14 @@ static void parse_system_parameter_string(struct seq_file *m)
243 if (call_status != 0) { 243 if (call_status != 0) {
244 printk(KERN_INFO 244 printk(KERN_INFO
245 "%s %s Error calling get-system-parameter (0x%x)\n", 245 "%s %s Error calling get-system-parameter (0x%x)\n",
246 __FILE__, __FUNCTION__, call_status); 246 __FILE__, __func__, call_status);
247 } else { 247 } else {
248 int splpar_strlen; 248 int splpar_strlen;
249 int idx, w_idx; 249 int idx, w_idx;
250 char *workbuffer = kzalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); 250 char *workbuffer = kzalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
251 if (!workbuffer) { 251 if (!workbuffer) {
252 printk(KERN_ERR "%s %s kmalloc failure at line %d \n", 252 printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
253 __FILE__, __FUNCTION__, __LINE__); 253 __FILE__, __func__, __LINE__);
254 kfree(local_buffer); 254 kfree(local_buffer);
255 return; 255 return;
256 } 256 }
@@ -484,10 +484,10 @@ static ssize_t lparcfg_write(struct file *file, const char __user * buf,
484 current_weight = (resource >> 5 * 8) & 0xFF; 484 current_weight = (resource >> 5 * 8) & 0xFF;
485 485
486 pr_debug("%s: current_entitled = %lu, current_weight = %u\n", 486 pr_debug("%s: current_entitled = %lu, current_weight = %u\n",
487 __FUNCTION__, current_entitled, current_weight); 487 __func__, current_entitled, current_weight);
488 488
489 pr_debug("%s: new_entitled = %lu, new_weight = %u\n", 489 pr_debug("%s: new_entitled = %lu, new_weight = %u\n",
490 __FUNCTION__, *new_entitled_ptr, *new_weight_ptr); 490 __func__, *new_entitled_ptr, *new_weight_ptr);
491 491
492 retval = plpar_hcall_norets(H_SET_PPP, *new_entitled_ptr, 492 retval = plpar_hcall_norets(H_SET_PPP, *new_entitled_ptr,
493 *new_weight_ptr); 493 *new_weight_ptr);
@@ -502,7 +502,7 @@ static ssize_t lparcfg_write(struct file *file, const char __user * buf,
502 retval = -EINVAL; 502 retval = -EINVAL;
503 } else { 503 } else {
504 printk(KERN_WARNING "%s: received unknown hv return code %ld", 504 printk(KERN_WARNING "%s: received unknown hv return code %ld",
505 __FUNCTION__, retval); 505 __func__, retval);
506 retval = -EIO; 506 retval = -EIO;
507 } 507 }
508 508
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c
index c0c8e8c3ced..2d202f274e7 100644
--- a/arch/powerpc/kernel/machine_kexec.c
+++ b/arch/powerpc/kernel/machine_kexec.c
@@ -12,8 +12,9 @@
12#include <linux/kexec.h> 12#include <linux/kexec.h>
13#include <linux/reboot.h> 13#include <linux/reboot.h>
14#include <linux/threads.h> 14#include <linux/threads.h>
15#include <linux/lmb.h>
15#include <asm/machdep.h> 16#include <asm/machdep.h>
16#include <asm/lmb.h> 17#include <asm/prom.h>
17 18
18void machine_crash_shutdown(struct pt_regs *regs) 19void machine_crash_shutdown(struct pt_regs *regs)
19{ 20{
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 55f1a25085c..ac163bd46cf 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -15,7 +15,6 @@
15#include <asm/ptrace.h> 15#include <asm/ptrace.h>
16#include <asm/page.h> 16#include <asm/page.h>
17#include <asm/lppaca.h> 17#include <asm/lppaca.h>
18#include <asm/iseries/it_lp_reg_save.h>
19#include <asm/paca.h> 18#include <asm/paca.h>
20#include <asm/mmu.h> 19#include <asm/mmu.h>
21 20
@@ -25,13 +24,13 @@
25extern unsigned long __toc_start; 24extern unsigned long __toc_start;
26 25
27/* 26/*
28 * iSeries structure which the hypervisor knows about - this structure 27 * The structure which the hypervisor knows about - this structure
29 * should not cross a page boundary. The vpa_init/register_vpa call 28 * should not cross a page boundary. The vpa_init/register_vpa call
30 * is now known to fail if the lppaca structure crosses a page 29 * is now known to fail if the lppaca structure crosses a page
31 * boundary. The lppaca is also used on POWER5 pSeries boxes. The 30 * boundary. The lppaca is also used on legacy iSeries and POWER5
32 * lppaca is 640 bytes long, and cannot readily change since the 31 * pSeries boxes. The lppaca is 640 bytes long, and cannot readily
33 * hypervisor knows its layout, so a 1kB alignment will suffice to 32 * change since the hypervisor knows its layout, so a 1kB alignment
34 * ensure that it doesn't cross a page boundary. 33 * will suffice to ensure that it doesn't cross a page boundary.
35 */ 34 */
36struct lppaca lppaca[] = { 35struct lppaca lppaca[] = {
37 [0 ... (NR_CPUS-1)] = { 36 [0 ... (NR_CPUS-1)] = {
@@ -66,32 +65,17 @@ struct slb_shadow slb_shadow[] __cacheline_aligned = {
66 * processors. The processor VPD array needs one entry per physical 65 * processors. The processor VPD array needs one entry per physical
67 * processor (not thread). 66 * processor (not thread).
68 */ 67 */
69#define PACA_INIT_COMMON(number) \ 68#define PACA_INIT(number) \
69{ \
70 .lppaca_ptr = &lppaca[number], \ 70 .lppaca_ptr = &lppaca[number], \
71 .lock_token = 0x8000, \ 71 .lock_token = 0x8000, \
72 .paca_index = (number), /* Paca Index */ \ 72 .paca_index = (number), /* Paca Index */ \
73 .kernel_toc = (unsigned long)(&__toc_start) + 0x8000UL, \ 73 .kernel_toc = (unsigned long)(&__toc_start) + 0x8000UL, \
74 .hw_cpu_id = 0xffff, \ 74 .hw_cpu_id = 0xffff, \
75 .slb_shadow_ptr = &slb_shadow[number], 75 .slb_shadow_ptr = &slb_shadow[number], \
76 76 .__current = &init_task, \
77#ifdef CONFIG_PPC_ISERIES
78#define PACA_INIT_ISERIES(number) \
79 .reg_save_ptr = &iseries_reg_save[number],
80
81#define PACA_INIT(number) \
82{ \
83 PACA_INIT_COMMON(number) \
84 PACA_INIT_ISERIES(number) \
85} 77}
86 78
87#else
88#define PACA_INIT(number) \
89{ \
90 PACA_INIT_COMMON(number) \
91}
92
93#endif
94
95struct paca_struct paca[] = { 79struct paca_struct paca[] = {
96 PACA_INIT(0), 80 PACA_INIT(0),
97#if NR_CPUS > 1 81#if NR_CPUS > 1
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 9c98424277a..5a4c76eada4 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -58,7 +58,6 @@ extern void program_check_exception(struct pt_regs *regs);
58extern void single_step_exception(struct pt_regs *regs); 58extern void single_step_exception(struct pt_regs *regs);
59extern int sys_sigreturn(struct pt_regs *regs); 59extern int sys_sigreturn(struct pt_regs *regs);
60 60
61EXPORT_SYMBOL(empty_zero_page);
62EXPORT_SYMBOL(clear_pages); 61EXPORT_SYMBOL(clear_pages);
63EXPORT_SYMBOL(copy_page); 62EXPORT_SYMBOL(copy_page);
64EXPORT_SYMBOL(ISA_DMA_THRESHOLD); 63EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
@@ -79,6 +78,7 @@ EXPORT_SYMBOL(strncpy);
79EXPORT_SYMBOL(strcat); 78EXPORT_SYMBOL(strcat);
80EXPORT_SYMBOL(strlen); 79EXPORT_SYMBOL(strlen);
81EXPORT_SYMBOL(strcmp); 80EXPORT_SYMBOL(strcmp);
81EXPORT_SYMBOL(strncmp);
82 82
83EXPORT_SYMBOL(csum_partial); 83EXPORT_SYMBOL(csum_partial);
84EXPORT_SYMBOL(csum_partial_copy_generic); 84EXPORT_SYMBOL(csum_partial_copy_generic);
@@ -192,3 +192,4 @@ EXPORT_SYMBOL(intercept_table);
192EXPORT_SYMBOL(__mtdcr); 192EXPORT_SYMBOL(__mtdcr);
193EXPORT_SYMBOL(__mfdcr); 193EXPORT_SYMBOL(__mfdcr);
194#endif 194#endif
195EXPORT_SYMBOL(empty_zero_page);
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 59311ec0d42..a27910207c7 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;
@@ -868,11 +868,6 @@ int sys_execve(unsigned long a0, unsigned long a1, unsigned long a2,
868 flush_spe_to_thread(current); 868 flush_spe_to_thread(current);
869 error = do_execve(filename, (char __user * __user *) a1, 869 error = do_execve(filename, (char __user * __user *) a1,
870 (char __user * __user *) a2, regs); 870 (char __user * __user *) a2, regs);
871 if (error == 0) {
872 task_lock(current);
873 current->ptrace &= ~PT_DTRACE;
874 task_unlock(current);
875 }
876 putname(filename); 871 putname(filename);
877out: 872out:
878 return error; 873 return error;
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index eac97f48b9b..8a9359ae471 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -31,10 +31,10 @@
31#include <linux/kexec.h> 31#include <linux/kexec.h>
32#include <linux/debugfs.h> 32#include <linux/debugfs.h>
33#include <linux/irq.h> 33#include <linux/irq.h>
34#include <linux/lmb.h>
34 35
35#include <asm/prom.h> 36#include <asm/prom.h>
36#include <asm/rtas.h> 37#include <asm/rtas.h>
37#include <asm/lmb.h>
38#include <asm/page.h> 38#include <asm/page.h>
39#include <asm/processor.h> 39#include <asm/processor.h>
40#include <asm/irq.h> 40#include <asm/irq.h>
@@ -51,6 +51,7 @@
51#include <asm/machdep.h> 51#include <asm/machdep.h>
52#include <asm/pSeries_reconfig.h> 52#include <asm/pSeries_reconfig.h>
53#include <asm/pci-bridge.h> 53#include <asm/pci-bridge.h>
54#include <asm/phyp_dump.h>
54#include <asm/kexec.h> 55#include <asm/kexec.h>
55 56
56#ifdef DEBUG 57#ifdef DEBUG
@@ -436,7 +437,7 @@ early_param("mem", early_parse_mem);
436 * The device tree may be allocated beyond our memory limit, or inside the 437 * The device tree may be allocated beyond our memory limit, or inside the
437 * crash kernel region for kdump. If so, move it out of the way. 438 * crash kernel region for kdump. If so, move it out of the way.
438 */ 439 */
439static void move_device_tree(void) 440static void __init move_device_tree(void)
440{ 441{
441 unsigned long start, size; 442 unsigned long start, size;
442 void *p; 443 void *p;
@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(void)
1040#endif 1041#endif
1041} 1042}
1042 1043
1044#ifdef CONFIG_PHYP_DUMP
1045/**
1046 * phyp_dump_calculate_reserve_size() - reserve variable boot area 5% or arg
1047 *
1048 * Function to find the largest size we need to reserve
1049 * during early boot process.
1050 *
1051 * It either looks for boot param and returns that OR
1052 * returns larger of 256 or 5% rounded down to multiples of 256MB.
1053 *
1054 */
1055static inline unsigned long phyp_dump_calculate_reserve_size(void)
1056{
1057 unsigned long tmp;
1058
1059 if (phyp_dump_info->reserve_bootvar)
1060 return phyp_dump_info->reserve_bootvar;
1061
1062 /* divide by 20 to get 5% of value */
1063 tmp = lmb_end_of_DRAM();
1064 do_div(tmp, 20);
1065
1066 /* round it down in multiples of 256 */
1067 tmp = tmp & ~0x0FFFFFFFUL;
1068
1069 return (tmp > PHYP_DUMP_RMR_END ? tmp : PHYP_DUMP_RMR_END);
1070}
1071
1072/**
1073 * phyp_dump_reserve_mem() - reserve all not-yet-dumped mmemory
1074 *
1075 * This routine may reserve memory regions in the kernel only
1076 * if the system is supported and a dump was taken in last
1077 * boot instance or if the hardware is supported and the
1078 * scratch area needs to be setup. In other instances it returns
1079 * without reserving anything. The memory in case of dump being
1080 * active is freed when the dump is collected (by userland tools).
1081 */
1082static void __init phyp_dump_reserve_mem(void)
1083{
1084 unsigned long base, size;
1085 unsigned long variable_reserve_size;
1086
1087 if (!phyp_dump_info->phyp_dump_configured) {
1088 printk(KERN_ERR "Phyp-dump not supported on this hardware\n");
1089 return;
1090 }
1091
1092 if (!phyp_dump_info->phyp_dump_at_boot) {
1093 printk(KERN_INFO "Phyp-dump disabled at boot time\n");
1094 return;
1095 }
1096
1097 variable_reserve_size = phyp_dump_calculate_reserve_size();
1098
1099 if (phyp_dump_info->phyp_dump_is_active) {
1100 /* Reserve *everything* above RMR.Area freed by userland tools*/
1101 base = variable_reserve_size;
1102 size = lmb_end_of_DRAM() - base;
1103
1104 /* XXX crashed_ram_end is wrong, since it may be beyond
1105 * the memory_limit, it will need to be adjusted. */
1106 lmb_reserve(base, size);
1107
1108 phyp_dump_info->init_reserve_start = base;
1109 phyp_dump_info->init_reserve_size = size;
1110 } else {
1111 size = phyp_dump_info->cpu_state_size +
1112 phyp_dump_info->hpte_region_size +
1113 variable_reserve_size;
1114 base = lmb_end_of_DRAM() - size;
1115 lmb_reserve(base, size);
1116 phyp_dump_info->init_reserve_start = base;
1117 phyp_dump_info->init_reserve_size = size;
1118 }
1119}
1120#else
1121static inline void __init phyp_dump_reserve_mem(void) {}
1122#endif /* CONFIG_PHYP_DUMP && CONFIG_PPC_RTAS */
1123
1124
1043void __init early_init_devtree(void *params) 1125void __init early_init_devtree(void *params)
1044{ 1126{
1045 DBG(" -> early_init_devtree(%p)\n", params); 1127 DBG(" -> early_init_devtree(%p)\n", params);
@@ -1052,6 +1134,11 @@ void __init early_init_devtree(void *params)
1052 of_scan_flat_dt(early_init_dt_scan_rtas, NULL); 1134 of_scan_flat_dt(early_init_dt_scan_rtas, NULL);
1053#endif 1135#endif
1054 1136
1137#ifdef CONFIG_PHYP_DUMP
1138 /* scan tree to see if dump occured during last boot */
1139 of_scan_flat_dt(early_init_dt_scan_phyp_dump, NULL);
1140#endif
1141
1055 /* Retrieve various informations from the /chosen node of the 1142 /* Retrieve various informations from the /chosen node of the
1056 * device-tree, including the platform type, initrd location and 1143 * device-tree, including the platform type, initrd location and
1057 * size, TCE reserve, and more ... 1144 * size, TCE reserve, and more ...
@@ -1072,6 +1159,7 @@ void __init early_init_devtree(void *params)
1072 reserve_kdump_trampoline(); 1159 reserve_kdump_trampoline();
1073 reserve_crashkernel(); 1160 reserve_crashkernel();
1074 early_reserve_mem(); 1161 early_reserve_mem();
1162 phyp_dump_reserve_mem();
1075 1163
1076 lmb_enforce_memory_limit(memory_limit); 1164 lmb_enforce_memory_limit(memory_limit);
1077 lmb_analyze(); 1165 lmb_analyze();
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 5ab4c8466cc..6d6df1e6032 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -2240,6 +2240,14 @@ static void __init fixup_device_tree_efika(void)
2240 if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0)) 2240 if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0))
2241 prom_setprop(node, "/", "device_type", "efika", sizeof("efika")); 2241 prom_setprop(node, "/", "device_type", "efika", sizeof("efika"));
2242 2242
2243 /* CODEGEN,description is exposed in /proc/cpuinfo so
2244 fix that too */
2245 rv = prom_getprop(node, "CODEGEN,description", prop, sizeof(prop));
2246 if (rv != PROM_ERROR && (strstr(prop, "CHRP")))
2247 prom_setprop(node, "/", "CODEGEN,description",
2248 "Efika 5200B PowerPC System",
2249 sizeof("Efika 5200B PowerPC System"));
2250
2243 /* Fixup bestcomm interrupts property */ 2251 /* Fixup bestcomm interrupts property */
2244 node = call_prom("finddevice", 1, 1, ADDR("/builtin/bestcomm")); 2252 node = call_prom("finddevice", 1, 1, ADDR("/builtin/bestcomm"));
2245 if (PHANDLE_VALID(node)) { 2253 if (PHANDLE_VALID(node)) {
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index 52e95c2158c..eb3beea4536 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -22,6 +22,7 @@
22#include <linux/smp.h> 22#include <linux/smp.h>
23#include <linux/completion.h> 23#include <linux/completion.h>
24#include <linux/cpumask.h> 24#include <linux/cpumask.h>
25#include <linux/lmb.h>
25 26
26#include <asm/prom.h> 27#include <asm/prom.h>
27#include <asm/rtas.h> 28#include <asm/rtas.h>
@@ -34,7 +35,6 @@
34#include <asm/system.h> 35#include <asm/system.h>
35#include <asm/delay.h> 36#include <asm/delay.h>
36#include <asm/uaccess.h> 37#include <asm/uaccess.h>
37#include <asm/lmb.h>
38#include <asm/udbg.h> 38#include <asm/udbg.h>
39#include <asm/syscalls.h> 39#include <asm/syscalls.h>
40#include <asm/smp.h> 40#include <asm/smp.h>
@@ -507,7 +507,7 @@ int rtas_error_rc(int rtas_rc)
507 break; 507 break;
508 default: 508 default:
509 printk(KERN_ERR "%s: unexpected RTAS error %d\n", 509 printk(KERN_ERR "%s: unexpected RTAS error %d\n",
510 __FUNCTION__, rtas_rc); 510 __func__, rtas_rc);
511 rc = -ERANGE; 511 rc = -ERANGE;
512 break; 512 break;
513 } 513 }
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index f2276593f41..627f126d184 100644
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
@@ -356,7 +356,7 @@ static int rtas_excl_open(struct inode *inode, struct file *file)
356 356
357 /* Enforce exclusive open with use count of PDE */ 357 /* Enforce exclusive open with use count of PDE */
358 spin_lock(&flash_file_open_lock); 358 spin_lock(&flash_file_open_lock);
359 if (atomic_read(&dp->count) > 1) { 359 if (atomic_read(&dp->count) > 2) {
360 spin_unlock(&flash_file_open_lock); 360 spin_unlock(&flash_file_open_lock);
361 return -EBUSY; 361 return -EBUSY;
362 } 362 }
@@ -807,7 +807,7 @@ int __init rtas_flash_init(void)
807 rtas_block_ctor); 807 rtas_block_ctor);
808 if (!flash_block_cache) { 808 if (!flash_block_cache) {
809 printk(KERN_ERR "%s: failed to create block cache\n", 809 printk(KERN_ERR "%s: failed to create block cache\n",
810 __FUNCTION__); 810 __func__);
811 rc = -ENOMEM; 811 rc = -ENOMEM;
812 goto cleanup; 812 goto cleanup;
813 } 813 }
diff --git a/arch/powerpc/kernel/rtas_pci.c b/arch/powerpc/kernel/rtas_pci.c
index 433a0a0949f..3ab88a9dc70 100644
--- a/arch/powerpc/kernel/rtas_pci.c
+++ b/arch/powerpc/kernel/rtas_pci.c
@@ -56,21 +56,6 @@ static inline int config_access_valid(struct pci_dn *dn, int where)
56 return 0; 56 return 0;
57} 57}
58 58
59static int of_device_available(struct device_node * dn)
60{
61 const char *status;
62
63 status = of_get_property(dn, "status", NULL);
64
65 if (!status)
66 return 1;
67
68 if (!strcmp(status, "okay"))
69 return 1;
70
71 return 0;
72}
73
74int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val) 59int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
75{ 60{
76 int returnval = -1; 61 int returnval = -1;
@@ -117,7 +102,7 @@ static int rtas_pci_read_config(struct pci_bus *bus,
117 for (dn = busdn->child; dn; dn = dn->sibling) { 102 for (dn = busdn->child; dn; dn = dn->sibling) {
118 struct pci_dn *pdn = PCI_DN(dn); 103 struct pci_dn *pdn = PCI_DN(dn);
119 if (pdn && pdn->devfn == devfn 104 if (pdn && pdn->devfn == devfn
120 && of_device_available(dn)) 105 && of_device_is_available(dn))
121 return rtas_read_config(pdn, where, size, val); 106 return rtas_read_config(pdn, where, size, val);
122 } 107 }
123 108
@@ -164,7 +149,7 @@ static int rtas_pci_write_config(struct pci_bus *bus,
164 for (dn = busdn->child; dn; dn = dn->sibling) { 149 for (dn = busdn->child; dn; dn = dn->sibling) {
165 struct pci_dn *pdn = PCI_DN(dn); 150 struct pci_dn *pdn = PCI_DN(dn);
166 if (pdn && pdn->devfn == devfn 151 if (pdn && pdn->devfn == devfn
167 && of_device_available(dn)) 152 && of_device_is_available(dn))
168 return rtas_write_config(pdn, where, size, val); 153 return rtas_write_config(pdn, where, size, val);
169 } 154 }
170 return PCIBIOS_DEVICE_NOT_FOUND; 155 return PCIBIOS_DEVICE_NOT_FOUND;
@@ -326,7 +311,7 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
326 311
327 res = b->resource[0]; 312 res = b->resource[0];
328 if (!res->flags) { 313 if (!res->flags) {
329 printk(KERN_ERR "%s: no IO resource for PHB %s\n", __FUNCTION__, 314 printk(KERN_ERR "%s: no IO resource for PHB %s\n", __func__,
330 b->name); 315 b->name);
331 return 1; 316 return 1;
332 } 317 }
@@ -334,13 +319,13 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
334 rc = pcibios_unmap_io_space(b); 319 rc = pcibios_unmap_io_space(b);
335 if (rc) { 320 if (rc) {
336 printk(KERN_ERR "%s: failed to unmap IO on bus %s\n", 321 printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
337 __FUNCTION__, b->name); 322 __func__, b->name);
338 return 1; 323 return 1;
339 } 324 }
340 325
341 if (release_resource(res)) { 326 if (release_resource(res)) {
342 printk(KERN_ERR "%s: failed to release IO on bus %s\n", 327 printk(KERN_ERR "%s: failed to release IO on bus %s\n",
343 __FUNCTION__, b->name); 328 __func__, b->name);
344 return 1; 329 return 1;
345 } 330 }
346 331
@@ -348,13 +333,13 @@ int pcibios_remove_root_bus(struct pci_controller *phb)
348 res = b->resource[i]; 333 res = b->resource[i];
349 if (!res->flags && i == 0) { 334 if (!res->flags && i == 0) {
350 printk(KERN_ERR "%s: no MEM resource for PHB %s\n", 335 printk(KERN_ERR "%s: no MEM resource for PHB %s\n",
351 __FUNCTION__, b->name); 336 __func__, b->name);
352 return 1; 337 return 1;
353 } 338 }
354 if (res->flags && release_resource(res)) { 339 if (res->flags && release_resource(res)) {
355 printk(KERN_ERR 340 printk(KERN_ERR
356 "%s: failed to release IO %d on bus %s\n", 341 "%s: failed to release IO %d on bus %s\n",
357 __FUNCTION__, i, b->name); 342 __func__, i, b->name);
358 return 1; 343 return 1;
359 } 344 }
360 } 345 }
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 6adb5a1e98b..db540eab09f 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -34,6 +34,7 @@
34#include <linux/serial_8250.h> 34#include <linux/serial_8250.h>
35#include <linux/debugfs.h> 35#include <linux/debugfs.h>
36#include <linux/percpu.h> 36#include <linux/percpu.h>
37#include <linux/lmb.h>
37#include <asm/io.h> 38#include <asm/io.h>
38#include <asm/prom.h> 39#include <asm/prom.h>
39#include <asm/processor.h> 40#include <asm/processor.h>
@@ -56,7 +57,6 @@
56#include <asm/cache.h> 57#include <asm/cache.h>
57#include <asm/page.h> 58#include <asm/page.h>
58#include <asm/mmu.h> 59#include <asm/mmu.h>
59#include <asm/lmb.h>
60#include <asm/xmon.h> 60#include <asm/xmon.h>
61#include <asm/cputhreads.h> 61#include <asm/cputhreads.h>
62 62
@@ -167,6 +167,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
167 unsigned short min; 167 unsigned short min;
168 168
169 if (cpu_id == NR_CPUS) { 169 if (cpu_id == NR_CPUS) {
170 struct device_node *root;
171 const char *model = NULL;
170#if defined(CONFIG_SMP) && defined(CONFIG_PPC32) 172#if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
171 unsigned long bogosum = 0; 173 unsigned long bogosum = 0;
172 int i; 174 int i;
@@ -178,6 +180,13 @@ static int show_cpuinfo(struct seq_file *m, void *v)
178 seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq); 180 seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
179 if (ppc_md.name) 181 if (ppc_md.name)
180 seq_printf(m, "platform\t: %s\n", ppc_md.name); 182 seq_printf(m, "platform\t: %s\n", ppc_md.name);
183 root = of_find_node_by_path("/");
184 if (root)
185 model = of_get_property(root, "model", NULL);
186 if (model)
187 seq_printf(m, "model\t\t: %s\n", model);
188 of_node_put(root);
189
181 if (ppc_md.show_cpuinfo != NULL) 190 if (ppc_md.show_cpuinfo != NULL)
182 ppc_md.show_cpuinfo(m); 191 ppc_md.show_cpuinfo(m);
183 192
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index cd870a823d1..d813c394f0f 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -172,6 +172,18 @@ int __init ppc_setup_l2cr(char *str)
172} 172}
173__setup("l2cr=", ppc_setup_l2cr); 173__setup("l2cr=", ppc_setup_l2cr);
174 174
175/* Checks "l3cr=xxxx" command-line option */
176int __init ppc_setup_l3cr(char *str)
177{
178 if (cpu_has_feature(CPU_FTR_L3CR)) {
179 unsigned long val = simple_strtoul(str, NULL, 0);
180 printk(KERN_INFO "l3cr set to %lx\n", val);
181 _set_L3CR(val); /* and enable it */
182 }
183 return 1;
184}
185__setup("l3cr=", ppc_setup_l3cr);
186
175#ifdef CONFIG_GENERIC_NVRAM 187#ifdef CONFIG_GENERIC_NVRAM
176 188
177/* Generic nvram hooks used by drivers/char/gen_nvram.c */ 189/* Generic nvram hooks used by drivers/char/gen_nvram.c */
@@ -277,7 +289,7 @@ void __init setup_arch(char **cmdline_p)
277 if (ppc_md.panic) 289 if (ppc_md.panic)
278 setup_panic(); 290 setup_panic();
279 291
280 init_mm.start_code = PAGE_OFFSET; 292 init_mm.start_code = (unsigned long)_stext;
281 init_mm.end_code = (unsigned long) _etext; 293 init_mm.end_code = (unsigned long) _etext;
282 init_mm.end_data = (unsigned long) _edata; 294 init_mm.end_data = (unsigned long) _edata;
283 init_mm.brk = klimit; 295 init_mm.brk = klimit;
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 3b1529c103e..0205d408d2e 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -33,6 +33,7 @@
33#include <linux/serial_8250.h> 33#include <linux/serial_8250.h>
34#include <linux/bootmem.h> 34#include <linux/bootmem.h>
35#include <linux/pci.h> 35#include <linux/pci.h>
36#include <linux/lmb.h>
36#include <asm/io.h> 37#include <asm/io.h>
37#include <asm/kdump.h> 38#include <asm/kdump.h>
38#include <asm/prom.h> 39#include <asm/prom.h>
@@ -55,7 +56,6 @@
55#include <asm/cache.h> 56#include <asm/cache.h>
56#include <asm/page.h> 57#include <asm/page.h>
57#include <asm/mmu.h> 58#include <asm/mmu.h>
58#include <asm/lmb.h>
59#include <asm/firmware.h> 59#include <asm/firmware.h>
60#include <asm/xmon.h> 60#include <asm/xmon.h>
61#include <asm/udbg.h> 61#include <asm/udbg.h>
@@ -510,7 +510,7 @@ void __init setup_arch(char **cmdline_p)
510 if (ppc_md.panic) 510 if (ppc_md.panic)
511 setup_panic(); 511 setup_panic();
512 512
513 init_mm.start_code = PAGE_OFFSET; 513 init_mm.start_code = (unsigned long)_stext;
514 init_mm.end_code = (unsigned long) _etext; 514 init_mm.end_code = (unsigned long) _etext;
515 init_mm.end_data = (unsigned long) _edata; 515 init_mm.end_data = (unsigned long) _edata;
516 init_mm.brk = klimit; 516 init_mm.brk = klimit;
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 4a4f5c6b560..9c3371e6958 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -368,11 +368,6 @@ long compat_sys_execve(unsigned long a0, unsigned long a1, unsigned long a2,
368 368
369 error = compat_do_execve(filename, compat_ptr(a1), compat_ptr(a2), regs); 369 error = compat_do_execve(filename, compat_ptr(a1), compat_ptr(a2), regs);
370 370
371 if (error == 0) {
372 task_lock(current);
373 current->ptrace &= ~PT_DTRACE;
374 task_unlock(current);
375 }
376 putname(filename); 371 putname(filename);
377 372
378out: 373out:
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index d3437c4c4a6..c21a626af67 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -21,13 +21,14 @@
21#include <linux/elf.h> 21#include <linux/elf.h>
22#include <linux/security.h> 22#include <linux/security.h>
23#include <linux/bootmem.h> 23#include <linux/bootmem.h>
24#include <linux/lmb.h>
24 25
25#include <asm/pgtable.h> 26#include <asm/pgtable.h>
26#include <asm/system.h> 27#include <asm/system.h>
27#include <asm/processor.h> 28#include <asm/processor.h>
28#include <asm/mmu.h> 29#include <asm/mmu.h>
29#include <asm/mmu_context.h> 30#include <asm/mmu_context.h>
30#include <asm/lmb.h> 31#include <asm/prom.h>
31#include <asm/machdep.h> 32#include <asm/machdep.h>
32#include <asm/cputable.h> 33#include <asm/cputable.h>
33#include <asm/sections.h> 34#include <asm/sections.h>
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index f98867252ee..b77f8af7ddd 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -139,7 +139,7 @@ static int vio_bus_remove(struct device *dev)
139 */ 139 */
140int vio_register_driver(struct vio_driver *viodrv) 140int vio_register_driver(struct vio_driver *viodrv)
141{ 141{
142 printk(KERN_DEBUG "%s: driver %s registering\n", __FUNCTION__, 142 printk(KERN_DEBUG "%s: driver %s registering\n", __func__,
143 viodrv->driver.name); 143 viodrv->driver.name);
144 144
145 /* fill in 'struct driver' fields */ 145 /* fill in 'struct driver' fields */
@@ -184,7 +184,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
184 /* we need the 'device_type' property, in order to match with drivers */ 184 /* we need the 'device_type' property, in order to match with drivers */
185 if (of_node->type == NULL) { 185 if (of_node->type == NULL) {
186 printk(KERN_WARNING "%s: node %s missing 'device_type'\n", 186 printk(KERN_WARNING "%s: node %s missing 'device_type'\n",
187 __FUNCTION__, 187 __func__,
188 of_node->name ? of_node->name : "<unknown>"); 188 of_node->name ? of_node->name : "<unknown>");
189 return NULL; 189 return NULL;
190 } 190 }
@@ -192,7 +192,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
192 unit_address = of_get_property(of_node, "reg", NULL); 192 unit_address = of_get_property(of_node, "reg", NULL);
193 if (unit_address == NULL) { 193 if (unit_address == NULL) {
194 printk(KERN_WARNING "%s: node %s missing 'reg'\n", 194 printk(KERN_WARNING "%s: node %s missing 'reg'\n",
195 __FUNCTION__, 195 __func__,
196 of_node->name ? of_node->name : "<unknown>"); 196 of_node->name ? of_node->name : "<unknown>");
197 return NULL; 197 return NULL;
198 } 198 }
@@ -227,7 +227,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
227 /* register with generic device framework */ 227 /* register with generic device framework */
228 if (device_register(&viodev->dev)) { 228 if (device_register(&viodev->dev)) {
229 printk(KERN_ERR "%s: failed to register device %s\n", 229 printk(KERN_ERR "%s: failed to register device %s\n",
230 __FUNCTION__, viodev->dev.bus_id); 230 __func__, viodev->dev.bus_id);
231 /* XXX free TCE table */ 231 /* XXX free TCE table */
232 kfree(viodev); 232 kfree(viodev);
233 return NULL; 233 return NULL;
@@ -258,7 +258,7 @@ static int __init vio_bus_init(void)
258 err = device_register(&vio_bus_device.dev); 258 err = device_register(&vio_bus_device.dev);
259 if (err) { 259 if (err) {
260 printk(KERN_WARNING "%s: device_register returned %i\n", 260 printk(KERN_WARNING "%s: device_register returned %i\n",
261 __FUNCTION__, err); 261 __func__, err);
262 return err; 262 return err;
263 } 263 }
264 264
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 0afb9e31d2a..0c3000bf8d7 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -1,11 +1,9 @@
1#ifdef CONFIG_PPC64 1#ifdef CONFIG_PPC64
2#include <asm/page.h>
3#define PROVIDE32(x) PROVIDE(__unused__##x) 2#define PROVIDE32(x) PROVIDE(__unused__##x)
4#else 3#else
5#define PAGE_SIZE 4096
6#define KERNELBASE CONFIG_KERNEL_START
7#define PROVIDE32(x) PROVIDE(x) 4#define PROVIDE32(x) PROVIDE(x)
8#endif 5#endif
6#include <asm/page.h>
9#include <asm-generic/vmlinux.lds.h> 7#include <asm-generic/vmlinux.lds.h>
10#include <asm/cache.h> 8#include <asm/cache.h>
11 9
@@ -33,7 +31,7 @@ SECTIONS
33 */ 31 */
34 32
35 /* Text and gots */ 33 /* Text and gots */
36 .text : { 34 .text : AT(ADDR(.text) - LOAD_OFFSET) {
37 ALIGN_FUNCTION(); 35 ALIGN_FUNCTION();
38 *(.text.head) 36 *(.text.head)
39 _text = .; 37 _text = .;
@@ -58,7 +56,7 @@ SECTIONS
58 RODATA 56 RODATA
59 57
60 /* Exception & bug tables */ 58 /* Exception & bug tables */
61 __ex_table : { 59 __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
62 __start___ex_table = .; 60 __start___ex_table = .;
63 *(__ex_table) 61 *(__ex_table)
64 __stop___ex_table = .; 62 __stop___ex_table = .;
@@ -74,7 +72,7 @@ SECTIONS
74 . = ALIGN(PAGE_SIZE); 72 . = ALIGN(PAGE_SIZE);
75 __init_begin = .; 73 __init_begin = .;
76 74
77 .init.text : { 75 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
78 _sinittext = .; 76 _sinittext = .;
79 INIT_TEXT 77 INIT_TEXT
80 _einittext = .; 78 _einittext = .;
@@ -83,11 +81,11 @@ SECTIONS
83 /* .exit.text is discarded at runtime, not link time, 81 /* .exit.text is discarded at runtime, not link time,
84 * to deal with references from __bug_table 82 * to deal with references from __bug_table
85 */ 83 */
86 .exit.text : { 84 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) {
87 EXIT_TEXT 85 EXIT_TEXT
88 } 86 }
89 87
90 .init.data : { 88 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
91 INIT_DATA 89 INIT_DATA
92 __vtop_table_begin = .; 90 __vtop_table_begin = .;
93 *(.vtop_fixup); 91 *(.vtop_fixup);
@@ -103,19 +101,19 @@ SECTIONS
103 } 101 }
104 102
105 . = ALIGN(16); 103 . = ALIGN(16);
106 .init.setup : { 104 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
107 __setup_start = .; 105 __setup_start = .;
108 *(.init.setup) 106 *(.init.setup)
109 __setup_end = .; 107 __setup_end = .;
110 } 108 }
111 109
112 .initcall.init : { 110 .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) {
113 __initcall_start = .; 111 __initcall_start = .;
114 INITCALLS 112 INITCALLS
115 __initcall_end = .; 113 __initcall_end = .;
116 } 114 }
117 115
118 .con_initcall.init : { 116 .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
119 __con_initcall_start = .; 117 __con_initcall_start = .;
120 *(.con_initcall.init) 118 *(.con_initcall.init)
121 __con_initcall_end = .; 119 __con_initcall_end = .;
@@ -124,14 +122,14 @@ SECTIONS
124 SECURITY_INIT 122 SECURITY_INIT
125 123
126 . = ALIGN(8); 124 . = ALIGN(8);
127 __ftr_fixup : { 125 __ftr_fixup : AT(ADDR(__ftr_fixup) - LOAD_OFFSET) {
128 __start___ftr_fixup = .; 126 __start___ftr_fixup = .;
129 *(__ftr_fixup) 127 *(__ftr_fixup)
130 __stop___ftr_fixup = .; 128 __stop___ftr_fixup = .;
131 } 129 }
132#ifdef CONFIG_PPC64 130#ifdef CONFIG_PPC64
133 . = ALIGN(8); 131 . = ALIGN(8);
134 __fw_ftr_fixup : { 132 __fw_ftr_fixup : AT(ADDR(__fw_ftr_fixup) - LOAD_OFFSET) {
135 __start___fw_ftr_fixup = .; 133 __start___fw_ftr_fixup = .;
136 *(__fw_ftr_fixup) 134 *(__fw_ftr_fixup)
137 __stop___fw_ftr_fixup = .; 135 __stop___fw_ftr_fixup = .;
@@ -139,14 +137,14 @@ SECTIONS
139#endif 137#endif
140#ifdef CONFIG_BLK_DEV_INITRD 138#ifdef CONFIG_BLK_DEV_INITRD
141 . = ALIGN(PAGE_SIZE); 139 . = ALIGN(PAGE_SIZE);
142 .init.ramfs : { 140 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
143 __initramfs_start = .; 141 __initramfs_start = .;
144 *(.init.ramfs) 142 *(.init.ramfs)
145 __initramfs_end = .; 143 __initramfs_end = .;
146 } 144 }
147#endif 145#endif
148 . = ALIGN(PAGE_SIZE); 146 . = ALIGN(PAGE_SIZE);
149 .data.percpu : { 147 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) {
150 __per_cpu_start = .; 148 __per_cpu_start = .;
151 *(.data.percpu) 149 *(.data.percpu)
152 *(.data.percpu.shared_aligned) 150 *(.data.percpu.shared_aligned)
@@ -154,7 +152,7 @@ SECTIONS
154 } 152 }
155 153
156 . = ALIGN(8); 154 . = ALIGN(8);
157 .machine.desc : { 155 .machine.desc : AT(ADDR(.machine.desc) - LOAD_OFFSET) {
158 __machine_desc_start = . ; 156 __machine_desc_start = . ;
159 *(.machine.desc) 157 *(.machine.desc)
160 __machine_desc_end = . ; 158 __machine_desc_end = . ;
@@ -172,25 +170,24 @@ SECTIONS
172 _sdata = .; 170 _sdata = .;
173 171
174#ifdef CONFIG_PPC32 172#ifdef CONFIG_PPC32
175 .data : 173 .data : AT(ADDR(.data) - LOAD_OFFSET) {
176 {
177 DATA_DATA 174 DATA_DATA
178 *(.sdata) 175 *(.sdata)
179 *(.got.plt) *(.got) 176 *(.got.plt) *(.got)
180 } 177 }
181#else 178#else
182 .data : { 179 .data : AT(ADDR(.data) - LOAD_OFFSET) {
183 DATA_DATA 180 DATA_DATA
184 *(.data.rel*) 181 *(.data.rel*)
185 *(.toc1) 182 *(.toc1)
186 *(.branch_lt) 183 *(.branch_lt)
187 } 184 }
188 185
189 .opd : { 186 .opd : AT(ADDR(.opd) - LOAD_OFFSET) {
190 *(.opd) 187 *(.opd)
191 } 188 }
192 189
193 .got : { 190 .got : AT(ADDR(.got) - LOAD_OFFSET) {
194 __toc_start = .; 191 __toc_start = .;
195 *(.got) 192 *(.got)
196 *(.toc) 193 *(.toc)
@@ -207,26 +204,26 @@ SECTIONS
207#else 204#else
208 . = ALIGN(16384); 205 . = ALIGN(16384);
209#endif 206#endif
210 .data.init_task : { 207 .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
211 *(.data.init_task) 208 *(.data.init_task)
212 } 209 }
213 210
214 . = ALIGN(PAGE_SIZE); 211 . = ALIGN(PAGE_SIZE);
215 .data.page_aligned : { 212 .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
216 *(.data.page_aligned) 213 *(.data.page_aligned)
217 } 214 }
218 215
219 .data.cacheline_aligned : { 216 .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
220 *(.data.cacheline_aligned) 217 *(.data.cacheline_aligned)
221 } 218 }
222 219
223 . = ALIGN(L1_CACHE_BYTES); 220 . = ALIGN(L1_CACHE_BYTES);
224 .data.read_mostly : { 221 .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) {
225 *(.data.read_mostly) 222 *(.data.read_mostly)
226 } 223 }
227 224
228 . = ALIGN(PAGE_SIZE); 225 . = ALIGN(PAGE_SIZE);
229 __data_nosave : { 226 .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
230 __nosave_begin = .; 227 __nosave_begin = .;
231 *(.data.nosave) 228 *(.data.nosave)
232 . = ALIGN(PAGE_SIZE); 229 . = ALIGN(PAGE_SIZE);
@@ -237,7 +234,7 @@ SECTIONS
237 * And finally the bss 234 * And finally the bss
238 */ 235 */
239 236
240 .bss : { 237 .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
241 __bss_start = .; 238 __bss_start = .;
242 *(.sbss) *(.scommon) 239 *(.sbss) *(.scommon)
243 *(.dynbss) 240 *(.dynbss)
diff --git a/arch/powerpc/lib/string.S b/arch/powerpc/lib/string.S
index c4c622d8e6a..49eb1f1a2bb 100644
--- a/arch/powerpc/lib/string.S
+++ b/arch/powerpc/lib/string.S
@@ -75,6 +75,20 @@ _GLOBAL(strcmp)
75 beq 1b 75 beq 1b
76 blr 76 blr
77 77
78_GLOBAL(strncmp)
79 PPC_LCMPI r5,0
80 beqlr
81 mtctr r5
82 addi r5,r3,-1
83 addi r4,r4,-1
841: lbzu r3,1(r5)
85 cmpwi 1,r3,0
86 lbzu r0,1(r4)
87 subf. r3,r0,r3
88 beqlr 1
89 bdnzt eq,1b
90 blr
91
78_GLOBAL(strlen) 92_GLOBAL(strlen)
79 addi r4,r3,-1 93 addi r4,r3,-1
801: lbzu r0,1(r4) 941: lbzu r0,1(r4)
diff --git a/arch/powerpc/math-emu/fabs.c b/arch/powerpc/math-emu/fabs.c
index 41f0617f3d3..549baba5948 100644
--- a/arch/powerpc/math-emu/fabs.c
+++ b/arch/powerpc/math-emu/fabs.c
@@ -9,7 +9,7 @@ fabs(u32 *frD, u32 *frB)
9 frD[1] = frB[1]; 9 frD[1] = frB[1];
10 10
11#ifdef DEBUG 11#ifdef DEBUG
12 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 12 printk("%s: D %p, B %p: ", __func__, frD, frB);
13 dump_double(frD); 13 dump_double(frD);
14 printk("\n"); 14 printk("\n");
15#endif 15#endif
diff --git a/arch/powerpc/math-emu/fadd.c b/arch/powerpc/math-emu/fadd.c
index fc8836488b6..7befbbf2c33 100644
--- a/arch/powerpc/math-emu/fadd.c
+++ b/arch/powerpc/math-emu/fadd.c
@@ -14,7 +14,7 @@ fadd(void *frD, void *frA, void *frB)
14 int ret = 0; 14 int ret = 0;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 17 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(A, frA); 20 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fadds.c b/arch/powerpc/math-emu/fadds.c
index 93025b6c8f3..2b346b38b48 100644
--- a/arch/powerpc/math-emu/fadds.c
+++ b/arch/powerpc/math-emu/fadds.c
@@ -15,7 +15,7 @@ fadds(void *frD, void *frA, void *frB)
15 int ret = 0; 15 int ret = 0;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 18 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frA); 21 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fcmpo.c b/arch/powerpc/math-emu/fcmpo.c
index 4efac394b4c..36d689044c6 100644
--- a/arch/powerpc/math-emu/fcmpo.c
+++ b/arch/powerpc/math-emu/fcmpo.c
@@ -15,7 +15,7 @@ fcmpo(u32 *ccr, int crfD, void *frA, void *frB)
15 int ret = 0; 15 int ret = 0;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: %p (%08x) %d %p %p\n", __FUNCTION__, ccr, *ccr, crfD, frA, frB); 18 printk("%s: %p (%08x) %d %p %p\n", __func__, ccr, *ccr, crfD, frA, frB);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frA); 21 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fcmpu.c b/arch/powerpc/math-emu/fcmpu.c
index b7e33176e61..53d93894f2a 100644
--- a/arch/powerpc/math-emu/fcmpu.c
+++ b/arch/powerpc/math-emu/fcmpu.c
@@ -14,7 +14,7 @@ fcmpu(u32 *ccr, int crfD, void *frA, void *frB)
14 long cmp; 14 long cmp;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p (%08x) %d %p %p\n", __FUNCTION__, ccr, *ccr, crfD, frA, frB); 17 printk("%s: %p (%08x) %d %p %p\n", __func__, ccr, *ccr, crfD, frA, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(A, frA); 20 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fctiw.c b/arch/powerpc/math-emu/fctiw.c
index 3b3c98b840c..fcd7a95e021 100644
--- a/arch/powerpc/math-emu/fctiw.c
+++ b/arch/powerpc/math-emu/fctiw.c
@@ -16,7 +16,7 @@ fctiw(u32 *frD, void *frB)
16 frD[1] = r; 16 frD[1] = r;
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 19 printk("%s: D %p, B %p: ", __func__, frD, frB);
20 dump_double(frD); 20 dump_double(frD);
21 printk("\n"); 21 printk("\n");
22#endif 22#endif
diff --git a/arch/powerpc/math-emu/fctiwz.c b/arch/powerpc/math-emu/fctiwz.c
index 7717eb6fcfb..1514d59e146 100644
--- a/arch/powerpc/math-emu/fctiwz.c
+++ b/arch/powerpc/math-emu/fctiwz.c
@@ -23,7 +23,7 @@ fctiwz(u32 *frD, void *frB)
23 __FPU_FPSCR = fpscr; 23 __FPU_FPSCR = fpscr;
24 24
25#ifdef DEBUG 25#ifdef DEBUG
26 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 26 printk("%s: D %p, B %p: ", __func__, frD, frB);
27 dump_double(frD); 27 dump_double(frD);
28 printk("\n"); 28 printk("\n");
29#endif 29#endif
diff --git a/arch/powerpc/math-emu/fdiv.c b/arch/powerpc/math-emu/fdiv.c
index f2fba825b2d..18a20fe396b 100644
--- a/arch/powerpc/math-emu/fdiv.c
+++ b/arch/powerpc/math-emu/fdiv.c
@@ -14,7 +14,7 @@ fdiv(void *frD, void *frA, void *frB)
14 int ret = 0; 14 int ret = 0;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 17 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(A, frA); 20 __FP_UNPACK_D(A, frA);
@@ -28,13 +28,13 @@ fdiv(void *frD, void *frA, void *frB)
28 if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) { 28 if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
29 ret |= EFLAG_VXZDZ; 29 ret |= EFLAG_VXZDZ;
30#ifdef DEBUG 30#ifdef DEBUG
31 printk("%s: FPSCR_VXZDZ raised\n", __FUNCTION__); 31 printk("%s: FPSCR_VXZDZ raised\n", __func__);
32#endif 32#endif
33 } 33 }
34 if (A_c == FP_CLS_INF && B_c == FP_CLS_INF) { 34 if (A_c == FP_CLS_INF && B_c == FP_CLS_INF) {
35 ret |= EFLAG_VXIDI; 35 ret |= EFLAG_VXIDI;
36#ifdef DEBUG 36#ifdef DEBUG
37 printk("%s: FPSCR_VXIDI raised\n", __FUNCTION__); 37 printk("%s: FPSCR_VXIDI raised\n", __func__);
38#endif 38#endif
39 } 39 }
40 40
diff --git a/arch/powerpc/math-emu/fdivs.c b/arch/powerpc/math-emu/fdivs.c
index b971196e317..24feed689c3 100644
--- a/arch/powerpc/math-emu/fdivs.c
+++ b/arch/powerpc/math-emu/fdivs.c
@@ -15,7 +15,7 @@ fdivs(void *frD, void *frA, void *frB)
15 int ret = 0; 15 int ret = 0;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 18 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frA); 21 __FP_UNPACK_D(A, frA);
@@ -29,13 +29,13 @@ fdivs(void *frD, void *frA, void *frB)
29 if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) { 29 if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
30 ret |= EFLAG_VXZDZ; 30 ret |= EFLAG_VXZDZ;
31#ifdef DEBUG 31#ifdef DEBUG
32 printk("%s: FPSCR_VXZDZ raised\n", __FUNCTION__); 32 printk("%s: FPSCR_VXZDZ raised\n", __func__);
33#endif 33#endif
34 } 34 }
35 if (A_c == FP_CLS_INF && B_c == FP_CLS_INF) { 35 if (A_c == FP_CLS_INF && B_c == FP_CLS_INF) {
36 ret |= EFLAG_VXIDI; 36 ret |= EFLAG_VXIDI;
37#ifdef DEBUG 37#ifdef DEBUG
38 printk("%s: FPSCR_VXIDI raised\n", __FUNCTION__); 38 printk("%s: FPSCR_VXIDI raised\n", __func__);
39#endif 39#endif
40 } 40 }
41 41
diff --git a/arch/powerpc/math-emu/fmadd.c b/arch/powerpc/math-emu/fmadd.c
index 0a1dbce793e..dedb465fdc6 100644
--- a/arch/powerpc/math-emu/fmadd.c
+++ b/arch/powerpc/math-emu/fmadd.c
@@ -16,7 +16,7 @@ fmadd(void *frD, void *frA, void *frB, void *frC)
16 int ret = 0; 16 int ret = 0;
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 19 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
20#endif 20#endif
21 21
22 __FP_UNPACK_D(A, frA); 22 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fmadds.c b/arch/powerpc/math-emu/fmadds.c
index 0f70bba9445..6bbb56d5502 100644
--- a/arch/powerpc/math-emu/fmadds.c
+++ b/arch/powerpc/math-emu/fmadds.c
@@ -17,7 +17,7 @@ fmadds(void *frD, void *frA, void *frB, void *frC)
17 int ret = 0; 17 int ret = 0;
18 18
19#ifdef DEBUG 19#ifdef DEBUG
20 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 20 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
21#endif 21#endif
22 22
23 __FP_UNPACK_D(A, frA); 23 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fmr.c b/arch/powerpc/math-emu/fmr.c
index 28df700c0c7..bd55384b819 100644
--- a/arch/powerpc/math-emu/fmr.c
+++ b/arch/powerpc/math-emu/fmr.c
@@ -9,7 +9,7 @@ fmr(u32 *frD, u32 *frB)
9 frD[1] = frB[1]; 9 frD[1] = frB[1];
10 10
11#ifdef DEBUG 11#ifdef DEBUG
12 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 12 printk("%s: D %p, B %p: ", __func__, frD, frB);
13 dump_double(frD); 13 dump_double(frD);
14 printk("\n"); 14 printk("\n");
15#endif 15#endif
diff --git a/arch/powerpc/math-emu/fmsub.c b/arch/powerpc/math-emu/fmsub.c
index 203fd48a6fe..f311e2c7e67 100644
--- a/arch/powerpc/math-emu/fmsub.c
+++ b/arch/powerpc/math-emu/fmsub.c
@@ -16,7 +16,7 @@ fmsub(void *frD, void *frA, void *frB, void *frC)
16 int ret = 0; 16 int ret = 0;
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 19 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
20#endif 20#endif
21 21
22 __FP_UNPACK_D(A, frA); 22 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fmsubs.c b/arch/powerpc/math-emu/fmsubs.c
index 8ce68624c18..81a716d3ee2 100644
--- a/arch/powerpc/math-emu/fmsubs.c
+++ b/arch/powerpc/math-emu/fmsubs.c
@@ -17,7 +17,7 @@ fmsubs(void *frD, void *frA, void *frB, void *frC)
17 int ret = 0; 17 int ret = 0;
18 18
19#ifdef DEBUG 19#ifdef DEBUG
20 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 20 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
21#endif 21#endif
22 22
23 __FP_UNPACK_D(A, frA); 23 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fmul.c b/arch/powerpc/math-emu/fmul.c
index 66c7e79aae2..2f3d32784a0 100644
--- a/arch/powerpc/math-emu/fmul.c
+++ b/arch/powerpc/math-emu/fmul.c
@@ -14,7 +14,7 @@ fmul(void *frD, void *frA, void *frB)
14 int ret = 0; 14 int ret = 0;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 17 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(A, frA); 20 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fmuls.c b/arch/powerpc/math-emu/fmuls.c
index 26bc4278271..962b5883f78 100644
--- a/arch/powerpc/math-emu/fmuls.c
+++ b/arch/powerpc/math-emu/fmuls.c
@@ -15,7 +15,7 @@ fmuls(void *frD, void *frA, void *frB)
15 int ret = 0; 15 int ret = 0;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 18 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frA); 21 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fnabs.c b/arch/powerpc/math-emu/fnabs.c
index c6b913d179e..a7d34f3d949 100644
--- a/arch/powerpc/math-emu/fnabs.c
+++ b/arch/powerpc/math-emu/fnabs.c
@@ -9,7 +9,7 @@ fnabs(u32 *frD, u32 *frB)
9 frD[1] = frB[1]; 9 frD[1] = frB[1];
10 10
11#ifdef DEBUG 11#ifdef DEBUG
12 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 12 printk("%s: D %p, B %p: ", __func__, frD, frB);
13 dump_double(frD); 13 dump_double(frD);
14 printk("\n"); 14 printk("\n");
15#endif 15#endif
diff --git a/arch/powerpc/math-emu/fneg.c b/arch/powerpc/math-emu/fneg.c
index fe9a98deff6..1e988cd9c6c 100644
--- a/arch/powerpc/math-emu/fneg.c
+++ b/arch/powerpc/math-emu/fneg.c
@@ -9,7 +9,7 @@ fneg(u32 *frD, u32 *frB)
9 frD[1] = frB[1]; 9 frD[1] = frB[1];
10 10
11#ifdef DEBUG 11#ifdef DEBUG
12 printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB); 12 printk("%s: D %p, B %p: ", __func__, frD, frB);
13 dump_double(frD); 13 dump_double(frD);
14 printk("\n"); 14 printk("\n");
15#endif 15#endif
diff --git a/arch/powerpc/math-emu/fnmadd.c b/arch/powerpc/math-emu/fnmadd.c
index 7f312276d92..8cf7827c4fb 100644
--- a/arch/powerpc/math-emu/fnmadd.c
+++ b/arch/powerpc/math-emu/fnmadd.c
@@ -16,7 +16,7 @@ fnmadd(void *frD, void *frA, void *frB, void *frC)
16 int ret = 0; 16 int ret = 0;
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 19 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
20#endif 20#endif
21 21
22 __FP_UNPACK_D(A, frA); 22 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fnmadds.c b/arch/powerpc/math-emu/fnmadds.c
index 65454c9c70b..f1c4f0f0d80 100644
--- a/arch/powerpc/math-emu/fnmadds.c
+++ b/arch/powerpc/math-emu/fnmadds.c
@@ -17,7 +17,7 @@ fnmadds(void *frD, void *frA, void *frB, void *frC)
17 int ret = 0; 17 int ret = 0;
18 18
19#ifdef DEBUG 19#ifdef DEBUG
20 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 20 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
21#endif 21#endif
22 22
23 __FP_UNPACK_D(A, frA); 23 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fnmsub.c b/arch/powerpc/math-emu/fnmsub.c
index f1ca7482b5f..98944e6e260 100644
--- a/arch/powerpc/math-emu/fnmsub.c
+++ b/arch/powerpc/math-emu/fnmsub.c
@@ -16,7 +16,7 @@ fnmsub(void *frD, void *frA, void *frB, void *frC)
16 int ret = 0; 16 int ret = 0;
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 19 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
20#endif 20#endif
21 21
22 __FP_UNPACK_D(A, frA); 22 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fnmsubs.c b/arch/powerpc/math-emu/fnmsubs.c
index 5c9a09a87dc..b20f4eb63fb 100644
--- a/arch/powerpc/math-emu/fnmsubs.c
+++ b/arch/powerpc/math-emu/fnmsubs.c
@@ -17,7 +17,7 @@ fnmsubs(void *frD, void *frA, void *frB, void *frC)
17 int ret = 0; 17 int ret = 0;
18 18
19#ifdef DEBUG 19#ifdef DEBUG
20 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 20 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
21#endif 21#endif
22 22
23 __FP_UNPACK_D(A, frA); 23 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fres.c b/arch/powerpc/math-emu/fres.c
index ec11e46d20a..10ecbd08b79 100644
--- a/arch/powerpc/math-emu/fres.c
+++ b/arch/powerpc/math-emu/fres.c
@@ -6,7 +6,7 @@ int
6fres(void *frD, void *frB) 6fres(void *frD, void *frB)
7{ 7{
8#ifdef DEBUG 8#ifdef DEBUG
9 printk("%s: %p %p\n", __FUNCTION__, frD, frB); 9 printk("%s: %p %p\n", __func__, frD, frB);
10#endif 10#endif
11 return -ENOSYS; 11 return -ENOSYS;
12} 12}
diff --git a/arch/powerpc/math-emu/frsp.c b/arch/powerpc/math-emu/frsp.c
index d879b2a3d0c..724ccbc0468 100644
--- a/arch/powerpc/math-emu/frsp.c
+++ b/arch/powerpc/math-emu/frsp.c
@@ -12,7 +12,7 @@ frsp(void *frD, void *frB)
12 FP_DECL_D(B); 12 FP_DECL_D(B);
13 13
14#ifdef DEBUG 14#ifdef DEBUG
15 printk("%s: D %p, B %p\n", __FUNCTION__, frD, frB); 15 printk("%s: D %p, B %p\n", __func__, frD, frB);
16#endif 16#endif
17 17
18 __FP_UNPACK_D(B, frB); 18 __FP_UNPACK_D(B, frB);
diff --git a/arch/powerpc/math-emu/frsqrte.c b/arch/powerpc/math-emu/frsqrte.c
index a11ae182985..1d0a3a0fd0e 100644
--- a/arch/powerpc/math-emu/frsqrte.c
+++ b/arch/powerpc/math-emu/frsqrte.c
@@ -6,7 +6,7 @@ int
6frsqrte(void *frD, void *frB) 6frsqrte(void *frD, void *frB)
7{ 7{
8#ifdef DEBUG 8#ifdef DEBUG
9 printk("%s: %p %p\n", __FUNCTION__, frD, frB); 9 printk("%s: %p %p\n", __func__, frD, frB);
10#endif 10#endif
11 return 0; 11 return 0;
12} 12}
diff --git a/arch/powerpc/math-emu/fsel.c b/arch/powerpc/math-emu/fsel.c
index e36e6e72819..ecb5f28eb1f 100644
--- a/arch/powerpc/math-emu/fsel.c
+++ b/arch/powerpc/math-emu/fsel.c
@@ -11,7 +11,7 @@ fsel(u32 *frD, void *frA, u32 *frB, u32 *frC)
11 FP_DECL_D(A); 11 FP_DECL_D(A);
12 12
13#ifdef DEBUG 13#ifdef DEBUG
14 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frA, frB, frC); 14 printk("%s: %p %p %p %p\n", __func__, frD, frA, frB, frC);
15#endif 15#endif
16 16
17 __FP_UNPACK_D(A, frA); 17 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fsqrt.c b/arch/powerpc/math-emu/fsqrt.c
index 6f8319f64a8..38ec2b752e9 100644
--- a/arch/powerpc/math-emu/fsqrt.c
+++ b/arch/powerpc/math-emu/fsqrt.c
@@ -13,7 +13,7 @@ fsqrt(void *frD, void *frB)
13 int ret = 0; 13 int ret = 0;
14 14
15#ifdef DEBUG 15#ifdef DEBUG
16 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frB); 16 printk("%s: %p %p %p %p\n", __func__, frD, frB);
17#endif 17#endif
18 18
19 __FP_UNPACK_D(B, frB); 19 __FP_UNPACK_D(B, frB);
diff --git a/arch/powerpc/math-emu/fsqrts.c b/arch/powerpc/math-emu/fsqrts.c
index 3b2b1cf55c1..335263e06ee 100644
--- a/arch/powerpc/math-emu/fsqrts.c
+++ b/arch/powerpc/math-emu/fsqrts.c
@@ -14,7 +14,7 @@ fsqrts(void *frD, void *frB)
14 int ret = 0; 14 int ret = 0;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p %p %p %p\n", __FUNCTION__, frD, frB); 17 printk("%s: %p %p %p %p\n", __func__, frD, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(B, frB); 20 __FP_UNPACK_D(B, frB);
diff --git a/arch/powerpc/math-emu/fsub.c b/arch/powerpc/math-emu/fsub.c
index 956679042bb..208d20fc52a 100644
--- a/arch/powerpc/math-emu/fsub.c
+++ b/arch/powerpc/math-emu/fsub.c
@@ -14,7 +14,7 @@ fsub(void *frD, void *frA, void *frB)
14 int ret = 0; 14 int ret = 0;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 17 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
18#endif 18#endif
19 19
20 __FP_UNPACK_D(A, frA); 20 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/fsubs.c b/arch/powerpc/math-emu/fsubs.c
index 3428117dfe8..0e61b808c44 100644
--- a/arch/powerpc/math-emu/fsubs.c
+++ b/arch/powerpc/math-emu/fsubs.c
@@ -15,7 +15,7 @@ fsubs(void *frD, void *frA, void *frB)
15 int ret = 0; 15 int ret = 0;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: %p %p %p\n", __FUNCTION__, frD, frA, frB); 18 printk("%s: %p %p %p\n", __func__, frD, frA, frB);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frA); 21 __FP_UNPACK_D(A, frA);
diff --git a/arch/powerpc/math-emu/lfd.c b/arch/powerpc/math-emu/lfd.c
index 7d38101c329..6ec90b57c61 100644
--- a/arch/powerpc/math-emu/lfd.c
+++ b/arch/powerpc/math-emu/lfd.c
@@ -11,7 +11,7 @@ lfd(void *frD, void *ea)
11 if (copy_from_user(frD, ea, sizeof(double))) 11 if (copy_from_user(frD, ea, sizeof(double)))
12 return -EFAULT; 12 return -EFAULT;
13#ifdef DEBUG 13#ifdef DEBUG
14 printk("%s: D %p, ea %p: ", __FUNCTION__, frD, ea); 14 printk("%s: D %p, ea %p: ", __func__, frD, ea);
15 dump_double(frD); 15 dump_double(frD);
16 printk("\n"); 16 printk("\n");
17#endif 17#endif
diff --git a/arch/powerpc/math-emu/lfs.c b/arch/powerpc/math-emu/lfs.c
index c86dee3d765..6f18ebe3a7f 100644
--- a/arch/powerpc/math-emu/lfs.c
+++ b/arch/powerpc/math-emu/lfs.c
@@ -14,7 +14,7 @@ lfs(void *frD, void *ea)
14 float f; 14 float f;
15 15
16#ifdef DEBUG 16#ifdef DEBUG
17 printk("%s: D %p, ea %p\n", __FUNCTION__, frD, ea); 17 printk("%s: D %p, ea %p\n", __func__, frD, ea);
18#endif 18#endif
19 19
20 if (copy_from_user(&f, ea, sizeof(float))) 20 if (copy_from_user(&f, ea, sizeof(float)))
diff --git a/arch/powerpc/math-emu/mcrfs.c b/arch/powerpc/math-emu/mcrfs.c
index 106dd912914..41ba247faf8 100644
--- a/arch/powerpc/math-emu/mcrfs.c
+++ b/arch/powerpc/math-emu/mcrfs.c
@@ -10,7 +10,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
10 u32 value, clear; 10 u32 value, clear;
11 11
12#ifdef DEBUG 12#ifdef DEBUG
13 printk("%s: %p (%08x) %d %d\n", __FUNCTION__, ccr, *ccr, crfD, crfS); 13 printk("%s: %p (%08x) %d %d\n", __func__, ccr, *ccr, crfD, crfS);
14#endif 14#endif
15 15
16 clear = 15 << ((7 - crfS) << 2); 16 clear = 15 << ((7 - crfS) << 2);
@@ -24,7 +24,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
24 *ccr |= (value << ((7 - crfD) << 2)); 24 *ccr |= (value << ((7 - crfD) << 2));
25 25
26#ifdef DEBUG 26#ifdef DEBUG
27 printk("CR: %08x\n", __FUNCTION__, *ccr); 27 printk("CR: %08x\n", __func__, *ccr);
28#endif 28#endif
29 29
30 return 0; 30 return 0;
diff --git a/arch/powerpc/math-emu/mffs.c b/arch/powerpc/math-emu/mffs.c
index f477c9170e7..b0e2106e6eb 100644
--- a/arch/powerpc/math-emu/mffs.c
+++ b/arch/powerpc/math-emu/mffs.c
@@ -10,7 +10,7 @@ mffs(u32 *frD)
10 frD[1] = __FPU_FPSCR; 10 frD[1] = __FPU_FPSCR;
11 11
12#ifdef DEBUG 12#ifdef DEBUG
13 printk("%s: frD %p: %08x.%08x\n", __FUNCTION__, frD, frD[0], frD[1]); 13 printk("%s: frD %p: %08x.%08x\n", __func__, frD, frD[0], frD[1]);
14#endif 14#endif
15 15
16 return 0; 16 return 0;
diff --git a/arch/powerpc/math-emu/mtfsb0.c b/arch/powerpc/math-emu/mtfsb0.c
index 99bfd80f4af..d3062350ea2 100644
--- a/arch/powerpc/math-emu/mtfsb0.c
+++ b/arch/powerpc/math-emu/mtfsb0.c
@@ -11,7 +11,7 @@ mtfsb0(int crbD)
11 __FPU_FPSCR &= ~(1 << (31 - crbD)); 11 __FPU_FPSCR &= ~(1 << (31 - crbD));
12 12
13#ifdef DEBUG 13#ifdef DEBUG
14 printk("%s: %d %08lx\n", __FUNCTION__, crbD, __FPU_FPSCR); 14 printk("%s: %d %08lx\n", __func__, crbD, __FPU_FPSCR);
15#endif 15#endif
16 16
17 return 0; 17 return 0;
diff --git a/arch/powerpc/math-emu/mtfsb1.c b/arch/powerpc/math-emu/mtfsb1.c
index 3d9e7ed92d2..2e948704b56 100644
--- a/arch/powerpc/math-emu/mtfsb1.c
+++ b/arch/powerpc/math-emu/mtfsb1.c
@@ -11,7 +11,7 @@ mtfsb1(int crbD)
11 __FPU_FPSCR |= (1 << (31 - crbD)); 11 __FPU_FPSCR |= (1 << (31 - crbD));
12 12
13#ifdef DEBUG 13#ifdef DEBUG
14 printk("%s: %d %08lx\n", __FUNCTION__, crbD, __FPU_FPSCR); 14 printk("%s: %d %08lx\n", __func__, crbD, __FPU_FPSCR);
15#endif 15#endif
16 16
17 return 0; 17 return 0;
diff --git a/arch/powerpc/math-emu/mtfsf.c b/arch/powerpc/math-emu/mtfsf.c
index d70cf714994..48014d8e3af 100644
--- a/arch/powerpc/math-emu/mtfsf.c
+++ b/arch/powerpc/math-emu/mtfsf.c
@@ -38,7 +38,7 @@ mtfsf(unsigned int FM, u32 *frB)
38 __FPU_FPSCR |= (frB[1] & mask); 38 __FPU_FPSCR |= (frB[1] & mask);
39 39
40#ifdef DEBUG 40#ifdef DEBUG
41 printk("%s: %02x %p: %08lx\n", __FUNCTION__, FM, frB, __FPU_FPSCR); 41 printk("%s: %02x %p: %08lx\n", __func__, FM, frB, __FPU_FPSCR);
42#endif 42#endif
43 43
44 return 0; 44 return 0;
diff --git a/arch/powerpc/math-emu/mtfsfi.c b/arch/powerpc/math-emu/mtfsfi.c
index 71df854baa7..031e2009354 100644
--- a/arch/powerpc/math-emu/mtfsfi.c
+++ b/arch/powerpc/math-emu/mtfsfi.c
@@ -16,7 +16,7 @@ mtfsfi(unsigned int crfD, unsigned int IMM)
16 __FPU_FPSCR |= (IMM & 0xf) << ((7 - crfD) << 2); 16 __FPU_FPSCR |= (IMM & 0xf) << ((7 - crfD) << 2);
17 17
18#ifdef DEBUG 18#ifdef DEBUG
19 printk("%s: %d %x: %08lx\n", __FUNCTION__, crfD, IMM, __FPU_FPSCR); 19 printk("%s: %d %x: %08lx\n", __func__, crfD, IMM, __FPU_FPSCR);
20#endif 20#endif
21 21
22 return 0; 22 return 0;
diff --git a/arch/powerpc/math-emu/stfd.c b/arch/powerpc/math-emu/stfd.c
index 3f8c2558a9e..33a165c8df0 100644
--- a/arch/powerpc/math-emu/stfd.c
+++ b/arch/powerpc/math-emu/stfd.c
@@ -7,7 +7,7 @@ stfd(void *frS, void *ea)
7{ 7{
8#if 0 8#if 0
9#ifdef DEBUG 9#ifdef DEBUG
10 printk("%s: S %p, ea %p: ", __FUNCTION__, frS, ea); 10 printk("%s: S %p, ea %p: ", __func__, frS, ea);
11 dump_double(frS); 11 dump_double(frS);
12 printk("\n"); 12 printk("\n");
13#endif 13#endif
diff --git a/arch/powerpc/math-emu/stfiwx.c b/arch/powerpc/math-emu/stfiwx.c
index 95caaeec6a0..f15a35f67e2 100644
--- a/arch/powerpc/math-emu/stfiwx.c
+++ b/arch/powerpc/math-emu/stfiwx.c
@@ -6,7 +6,7 @@ int
6stfiwx(u32 *frS, void *ea) 6stfiwx(u32 *frS, void *ea)
7{ 7{
8#ifdef DEBUG 8#ifdef DEBUG
9 printk("%s: %p %p\n", __FUNCTION__, frS, ea); 9 printk("%s: %p %p\n", __func__, frS, ea);
10#endif 10#endif
11 11
12 if (copy_to_user(ea, &frS[1], sizeof(frS[1]))) 12 if (copy_to_user(ea, &frS[1], sizeof(frS[1])))
diff --git a/arch/powerpc/math-emu/stfs.c b/arch/powerpc/math-emu/stfs.c
index e87ca23c6dc..8689aa48ef6 100644
--- a/arch/powerpc/math-emu/stfs.c
+++ b/arch/powerpc/math-emu/stfs.c
@@ -15,7 +15,7 @@ stfs(void *frS, void *ea)
15 int err; 15 int err;
16 16
17#ifdef DEBUG 17#ifdef DEBUG
18 printk("%s: S %p, ea %p\n", __FUNCTION__, frS, ea); 18 printk("%s: S %p, ea %p\n", __func__, frS, ea);
19#endif 19#endif
20 20
21 __FP_UNPACK_D(A, frS); 21 __FP_UNPACK_D(A, frS);
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c
index 3899ea97fbd..cecbbc76f62 100644
--- a/arch/powerpc/mm/40x_mmu.c
+++ b/arch/powerpc/mm/40x_mmu.c
@@ -97,7 +97,7 @@ unsigned long __init mmu_mapin_ram(void)
97 phys_addr_t p; 97 phys_addr_t p;
98 98
99 v = KERNELBASE; 99 v = KERNELBASE;
100 p = PPC_MEMSTART; 100 p = 0;
101 s = total_lowmem; 101 s = total_lowmem;
102 102
103 if (__map_without_ltlbs) 103 if (__map_without_ltlbs)
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c
index 04dc08798d3..953fb919eb0 100644
--- a/arch/powerpc/mm/44x_mmu.c
+++ b/arch/powerpc/mm/44x_mmu.c
@@ -67,7 +67,7 @@ unsigned long __init mmu_mapin_ram(void)
67 67
68 /* Pin in enough TLBs to cover any lowmem not covered by the 68 /* Pin in enough TLBs to cover any lowmem not covered by the
69 * initial 256M mapping established in head_44x.S */ 69 * initial 256M mapping established in head_44x.S */
70 for (addr = PPC_PIN_SIZE; addr < total_lowmem; 70 for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr;
71 addr += PPC_PIN_SIZE) 71 addr += PPC_PIN_SIZE)
72 ppc44x_pin_tlb(addr + PAGE_OFFSET, addr); 72 ppc44x_pin_tlb(addr + PAGE_OFFSET, addr);
73 73
diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile
index 41649a5d360..1c00e0196f6 100644
--- a/arch/powerpc/mm/Makefile
+++ b/arch/powerpc/mm/Makefile
@@ -6,7 +6,7 @@ ifeq ($(CONFIG_PPC64),y)
6EXTRA_CFLAGS += -mno-minimal-toc 6EXTRA_CFLAGS += -mno-minimal-toc
7endif 7endif
8 8
9obj-y := fault.o mem.o lmb.o \ 9obj-y := fault.o mem.o \
10 init_$(CONFIG_WORD_SIZE).o \ 10 init_$(CONFIG_WORD_SIZE).o \
11 pgtable_$(CONFIG_WORD_SIZE).o \ 11 pgtable_$(CONFIG_WORD_SIZE).o \
12 mmu_context_$(CONFIG_WORD_SIZE).o 12 mmu_context_$(CONFIG_WORD_SIZE).o
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c
index c93a966b7e4..ada249bf977 100644
--- a/arch/powerpc/mm/fsl_booke_mmu.c
+++ b/arch/powerpc/mm/fsl_booke_mmu.c
@@ -49,18 +49,15 @@
49#include <asm/mmu.h> 49#include <asm/mmu.h>
50#include <asm/uaccess.h> 50#include <asm/uaccess.h>
51#include <asm/smp.h> 51#include <asm/smp.h>
52#include <asm/bootx.h>
53#include <asm/machdep.h> 52#include <asm/machdep.h>
54#include <asm/setup.h> 53#include <asm/setup.h>
55 54
55#include "mmu_decl.h"
56
56extern void loadcam_entry(unsigned int index); 57extern void loadcam_entry(unsigned int index);
57unsigned int tlbcam_index; 58unsigned int tlbcam_index;
58unsigned int num_tlbcam_entries; 59unsigned int num_tlbcam_entries;
59static unsigned long __cam0, __cam1, __cam2; 60static unsigned long __cam0, __cam1, __cam2;
60extern unsigned long total_lowmem;
61extern unsigned long __max_low_memory;
62extern unsigned long __initial_memory_limit;
63#define MAX_LOW_MEM CONFIG_LOWMEM_SIZE
64 61
65#define NUM_TLBCAMS (16) 62#define NUM_TLBCAMS (16)
66 63
@@ -165,15 +162,15 @@ void invalidate_tlbcam_entry(int index)
165void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1, 162void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
166 unsigned long cam2) 163 unsigned long cam2)
167{ 164{
168 settlbcam(0, PAGE_OFFSET, PPC_MEMSTART, cam0, _PAGE_KERNEL, 0); 165 settlbcam(0, PAGE_OFFSET, memstart_addr, cam0, _PAGE_KERNEL, 0);
169 tlbcam_index++; 166 tlbcam_index++;
170 if (cam1) { 167 if (cam1) {
171 tlbcam_index++; 168 tlbcam_index++;
172 settlbcam(1, PAGE_OFFSET+cam0, PPC_MEMSTART+cam0, cam1, _PAGE_KERNEL, 0); 169 settlbcam(1, PAGE_OFFSET+cam0, memstart_addr+cam0, cam1, _PAGE_KERNEL, 0);
173 } 170 }
174 if (cam2) { 171 if (cam2) {
175 tlbcam_index++; 172 tlbcam_index++;
176 settlbcam(2, PAGE_OFFSET+cam0+cam1, PPC_MEMSTART+cam0+cam1, cam2, _PAGE_KERNEL, 0); 173 settlbcam(2, PAGE_OFFSET+cam0+cam1, memstart_addr+cam0+cam1, cam2, _PAGE_KERNEL, 0);
177 } 174 }
178} 175}
179 176
@@ -196,35 +193,32 @@ unsigned long __init mmu_mapin_ram(void)
196void __init 193void __init
197adjust_total_lowmem(void) 194adjust_total_lowmem(void)
198{ 195{
199 unsigned long max_low_mem = MAX_LOW_MEM; 196 phys_addr_t max_lowmem_size = __max_low_memory;
200 unsigned long cam_max = 0x10000000; 197 phys_addr_t cam_max_size = 0x10000000;
201 unsigned long ram; 198 phys_addr_t ram;
202 199
203 /* adjust CAM size to max_low_mem */ 200 /* adjust CAM size to max_lowmem_size */
204 if (max_low_mem < cam_max) 201 if (max_lowmem_size < cam_max_size)
205 cam_max = max_low_mem; 202 cam_max_size = max_lowmem_size;
206 203
207 /* adjust lowmem size to max_low_mem */ 204 /* adjust lowmem size to max_lowmem_size */
208 if (max_low_mem < total_lowmem) 205 ram = min(max_lowmem_size, total_lowmem);
209 ram = max_low_mem;
210 else
211 ram = total_lowmem;
212 206
213 /* Calculate CAM values */ 207 /* Calculate CAM values */
214 __cam0 = 1UL << 2 * (__ilog2(ram) / 2); 208 __cam0 = 1UL << 2 * (__ilog2(ram) / 2);
215 if (__cam0 > cam_max) 209 if (__cam0 > cam_max_size)
216 __cam0 = cam_max; 210 __cam0 = cam_max_size;
217 ram -= __cam0; 211 ram -= __cam0;
218 if (ram) { 212 if (ram) {
219 __cam1 = 1UL << 2 * (__ilog2(ram) / 2); 213 __cam1 = 1UL << 2 * (__ilog2(ram) / 2);
220 if (__cam1 > cam_max) 214 if (__cam1 > cam_max_size)
221 __cam1 = cam_max; 215 __cam1 = cam_max_size;
222 ram -= __cam1; 216 ram -= __cam1;
223 } 217 }
224 if (ram) { 218 if (ram) {
225 __cam2 = 1UL << 2 * (__ilog2(ram) / 2); 219 __cam2 = 1UL << 2 * (__ilog2(ram) / 2);
226 if (__cam2 > cam_max) 220 if (__cam2 > cam_max_size)
227 __cam2 = cam_max; 221 __cam2 = cam_max_size;
228 ram -= __cam2; 222 ram -= __cam2;
229 } 223 }
230 224
@@ -232,6 +226,6 @@ adjust_total_lowmem(void)
232 " CAM2=%ldMb residual: %ldMb\n", 226 " CAM2=%ldMb residual: %ldMb\n",
233 __cam0 >> 20, __cam1 >> 20, __cam2 >> 20, 227 __cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
234 (total_lowmem - __cam0 - __cam1 - __cam2) >> 20); 228 (total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
235 __max_low_memory = max_low_mem = __cam0 + __cam1 + __cam2; 229 __max_low_memory = __cam0 + __cam1 + __cam2;
236 __initial_memory_limit = __max_low_memory; 230 __initial_memory_limit_addr = memstart_addr + __max_low_memory;
237} 231}
diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S
index 7f830a4888d..e10d76a860d 100644
--- a/arch/powerpc/mm/hash_low_32.S
+++ b/arch/powerpc/mm/hash_low_32.S
@@ -44,6 +44,9 @@ mmu_hash_lock:
44#ifdef CONFIG_SMP 44#ifdef CONFIG_SMP
45 .text 45 .text
46_GLOBAL(hash_page_sync) 46_GLOBAL(hash_page_sync)
47 mfmsr r10
48 rlwinm r0,r10,0,17,15 /* clear bit 16 (MSR_EE) */
49 mtmsr r0
47 lis r8,mmu_hash_lock@h 50 lis r8,mmu_hash_lock@h
48 ori r8,r8,mmu_hash_lock@l 51 ori r8,r8,mmu_hash_lock@l
49 lis r0,0x0fff 52 lis r0,0x0fff
@@ -60,8 +63,9 @@ _GLOBAL(hash_page_sync)
60 eieio 63 eieio
61 li r0,0 64 li r0,0
62 stw r0,0(r8) 65 stw r0,0(r8)
63 blr 66 mtmsr r10
64#endif 67 blr
68#endif /* CONFIG_SMP */
65 69
66/* 70/*
67 * Load a PTE into the hash table, if possible. 71 * Load a PTE into the hash table, if possible.
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index a83dfa3cf40..2b5a399f6fa 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -31,6 +31,7 @@
31#include <linux/cache.h> 31#include <linux/cache.h>
32#include <linux/init.h> 32#include <linux/init.h>
33#include <linux/signal.h> 33#include <linux/signal.h>
34#include <linux/lmb.h>
34 35
35#include <asm/processor.h> 36#include <asm/processor.h>
36#include <asm/pgtable.h> 37#include <asm/pgtable.h>
@@ -41,7 +42,7 @@
41#include <asm/system.h> 42#include <asm/system.h>
42#include <asm/uaccess.h> 43#include <asm/uaccess.h>
43#include <asm/machdep.h> 44#include <asm/machdep.h>
44#include <asm/lmb.h> 45#include <asm/prom.h>
45#include <asm/abs_addr.h> 46#include <asm/abs_addr.h>
46#include <asm/tlbflush.h> 47#include <asm/tlbflush.h>
47#include <asm/io.h> 48#include <asm/io.h>
@@ -191,6 +192,29 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
191 return ret < 0 ? ret : 0; 192 return ret < 0 ? ret : 0;
192} 193}
193 194
195#ifdef CONFIG_MEMORY_HOTPLUG
196static int htab_remove_mapping(unsigned long vstart, unsigned long vend,
197 int psize, int ssize)
198{
199 unsigned long vaddr;
200 unsigned int step, shift;
201
202 shift = mmu_psize_defs[psize].shift;
203 step = 1 << shift;
204
205 if (!ppc_md.hpte_removebolted) {
206 printk(KERN_WARNING "Platform doesn't implement "
207 "hpte_removebolted\n");
208 return -EINVAL;
209 }
210
211 for (vaddr = vstart; vaddr < vend; vaddr += step)
212 ppc_md.hpte_removebolted(vaddr, psize, ssize);
213
214 return 0;
215}
216#endif /* CONFIG_MEMORY_HOTPLUG */
217
194static int __init htab_dt_scan_seg_sizes(unsigned long node, 218static int __init htab_dt_scan_seg_sizes(unsigned long node,
195 const char *uname, int depth, 219 const char *uname, int depth,
196 void *data) 220 void *data)
@@ -434,6 +458,12 @@ void create_section_mapping(unsigned long start, unsigned long end)
434 _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX, 458 _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX,
435 mmu_linear_psize, mmu_kernel_ssize)); 459 mmu_linear_psize, mmu_kernel_ssize));
436} 460}
461
462int remove_section_mapping(unsigned long start, unsigned long end)
463{
464 return htab_remove_mapping(start, end, mmu_linear_psize,
465 mmu_kernel_ssize);
466}
437#endif /* CONFIG_MEMORY_HOTPLUG */ 467#endif /* CONFIG_MEMORY_HOTPLUG */
438 468
439static inline void make_bl(unsigned int *insn_addr, void *func) 469static inline void make_bl(unsigned int *insn_addr, void *func)
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index 977cb1ee5e7..47325f23c51 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -30,6 +30,7 @@
30#include <linux/highmem.h> 30#include <linux/highmem.h>
31#include <linux/initrd.h> 31#include <linux/initrd.h>
32#include <linux/pagemap.h> 32#include <linux/pagemap.h>
33#include <linux/lmb.h>
33 34
34#include <asm/pgalloc.h> 35#include <asm/pgalloc.h>
35#include <asm/prom.h> 36#include <asm/prom.h>
@@ -41,7 +42,6 @@
41#include <asm/machdep.h> 42#include <asm/machdep.h>
42#include <asm/btext.h> 43#include <asm/btext.h>
43#include <asm/tlb.h> 44#include <asm/tlb.h>
44#include <asm/lmb.h>
45#include <asm/sections.h> 45#include <asm/sections.h>
46 46
47#include "mmu_decl.h" 47#include "mmu_decl.h"
@@ -59,8 +59,8 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
59unsigned long total_memory; 59unsigned long total_memory;
60unsigned long total_lowmem; 60unsigned long total_lowmem;
61 61
62unsigned long ppc_memstart; 62phys_addr_t memstart_addr;
63unsigned long ppc_memoffset = PAGE_OFFSET; 63phys_addr_t lowmem_end_addr;
64 64
65int boot_mapsize; 65int boot_mapsize;
66#ifdef CONFIG_PPC_PMAC 66#ifdef CONFIG_PPC_PMAC
@@ -95,10 +95,10 @@ int __map_without_ltlbs;
95unsigned long __max_low_memory = MAX_LOW_MEM; 95unsigned long __max_low_memory = MAX_LOW_MEM;
96 96
97/* 97/*
98 * limit of what is accessible with initial MMU setup - 98 * address of the limit of what is accessible with initial MMU setup -
99 * 256MB usually, but only 16MB on 601. 99 * 256MB usually, but only 16MB on 601.
100 */ 100 */
101unsigned long __initial_memory_limit = 0x10000000; 101phys_addr_t __initial_memory_limit_addr = (phys_addr_t)0x10000000;
102 102
103/* 103/*
104 * Check for command-line options that affect what MMU_init will do. 104 * Check for command-line options that affect what MMU_init will do.
@@ -131,10 +131,10 @@ void __init MMU_init(void)
131 131
132 /* 601 can only access 16MB at the moment */ 132 /* 601 can only access 16MB at the moment */
133 if (PVR_VER(mfspr(SPRN_PVR)) == 1) 133 if (PVR_VER(mfspr(SPRN_PVR)) == 1)
134 __initial_memory_limit = 0x01000000; 134 __initial_memory_limit_addr = 0x01000000;
135 /* 8xx can only access 8MB at the moment */ 135 /* 8xx can only access 8MB at the moment */
136 if (PVR_VER(mfspr(SPRN_PVR)) == 0x50) 136 if (PVR_VER(mfspr(SPRN_PVR)) == 0x50)
137 __initial_memory_limit = 0x00800000; 137 __initial_memory_limit_addr = 0x00800000;
138 138
139 /* parse args from command line */ 139 /* parse args from command line */
140 MMU_setup(); 140 MMU_setup();
@@ -145,8 +145,8 @@ void __init MMU_init(void)
145 printk(KERN_WARNING "Only using first contiguous memory region"); 145 printk(KERN_WARNING "Only using first contiguous memory region");
146 } 146 }
147 147
148 total_memory = lmb_end_of_DRAM(); 148 total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr;
149 total_lowmem = total_memory; 149 lowmem_end_addr = memstart_addr + total_lowmem;
150 150
151#ifdef CONFIG_FSL_BOOKE 151#ifdef CONFIG_FSL_BOOKE
152 /* Freescale Book-E parts expect lowmem to be mapped by fixed TLB 152 /* Freescale Book-E parts expect lowmem to be mapped by fixed TLB
@@ -157,9 +157,10 @@ void __init MMU_init(void)
157 157
158 if (total_lowmem > __max_low_memory) { 158 if (total_lowmem > __max_low_memory) {
159 total_lowmem = __max_low_memory; 159 total_lowmem = __max_low_memory;
160 lowmem_end_addr = memstart_addr + total_lowmem;
160#ifndef CONFIG_HIGHMEM 161#ifndef CONFIG_HIGHMEM
161 total_memory = total_lowmem; 162 total_memory = total_lowmem;
162 lmb_enforce_memory_limit(total_lowmem); 163 lmb_enforce_memory_limit(lowmem_end_addr);
163 lmb_analyze(); 164 lmb_analyze();
164#endif /* CONFIG_HIGHMEM */ 165#endif /* CONFIG_HIGHMEM */
165 } 166 }
@@ -184,8 +185,6 @@ void __init MMU_init(void)
184 /* Map in I/O resources */ 185 /* Map in I/O resources */
185 if (ppc_md.progress) 186 if (ppc_md.progress)
186 ppc_md.progress("MMU:setio", 0x302); 187 ppc_md.progress("MMU:setio", 0x302);
187 if (ppc_md.setup_io_mappings)
188 ppc_md.setup_io_mappings();
189 188
190 /* Initialize the context management stuff */ 189 /* Initialize the context management stuff */
191 mmu_context_init(); 190 mmu_context_init();
@@ -208,7 +207,7 @@ void __init *early_get_page(void)
208 p = alloc_bootmem_pages(PAGE_SIZE); 207 p = alloc_bootmem_pages(PAGE_SIZE);
209 } else { 208 } else {
210 p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE, 209 p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
211 __initial_memory_limit)); 210 __initial_memory_limit_addr));
212 } 211 }
213 return p; 212 return p;
214} 213}
@@ -276,7 +275,7 @@ static int __init setup_kcore(void)
276 275
277 kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC); 276 kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
278 if (!kcore_mem) 277 if (!kcore_mem)
279 panic("%s: kmalloc failed\n", __FUNCTION__); 278 panic("%s: kmalloc failed\n", __func__);
280 279
281 /* must stay under 32 bits */ 280 /* must stay under 32 bits */
282 if ( 0xfffffffful - (unsigned long)__va(base) < size) { 281 if ( 0xfffffffful - (unsigned long)__va(base) < size) {
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index c0f5cff7703..9ea65d97868 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -38,11 +38,11 @@
38#include <linux/nodemask.h> 38#include <linux/nodemask.h>
39#include <linux/module.h> 39#include <linux/module.h>
40#include <linux/poison.h> 40#include <linux/poison.h>
41#include <linux/lmb.h>
41 42
42#include <asm/pgalloc.h> 43#include <asm/pgalloc.h>
43#include <asm/page.h> 44#include <asm/page.h>
44#include <asm/prom.h> 45#include <asm/prom.h>
45#include <asm/lmb.h>
46#include <asm/rtas.h> 46#include <asm/rtas.h>
47#include <asm/io.h> 47#include <asm/io.h>
48#include <asm/mmu_context.h> 48#include <asm/mmu_context.h>
@@ -75,6 +75,8 @@
75/* max amount of RAM to use */ 75/* max amount of RAM to use */
76unsigned long __max_memory; 76unsigned long __max_memory;
77 77
78phys_addr_t memstart_addr;
79
78void free_initmem(void) 80void free_initmem(void)
79{ 81{
80 unsigned long addr; 82 unsigned long addr;
@@ -122,7 +124,7 @@ static int __init setup_kcore(void)
122 /* GFP_ATOMIC to avoid might_sleep warnings during boot */ 124 /* GFP_ATOMIC to avoid might_sleep warnings during boot */
123 kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC); 125 kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
124 if (!kcore_mem) 126 if (!kcore_mem)
125 panic("%s: kmalloc failed\n", __FUNCTION__); 127 panic("%s: kmalloc failed\n", __func__);
126 128
127 kclist_add(kcore_mem, __va(base), size); 129 kclist_add(kcore_mem, __va(base), size);
128 } 130 }
diff --git a/arch/powerpc/mm/lmb.c b/arch/powerpc/mm/lmb.c
deleted file mode 100644
index 4ce23bcf8a5..00000000000
--- a/arch/powerpc/mm/lmb.c
+++ /dev/null
@@ -1,357 +0,0 @@
1/*
2 * Procedures for maintaining information about logical memory blocks.
3 *
4 * Peter Bergner, IBM Corp. June 2001.
5 * Copyright (C) 2001 Peter Bergner.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/bitops.h>
16#include <asm/types.h>
17#include <asm/page.h>
18#include <asm/prom.h>
19#include <asm/lmb.h>
20#ifdef CONFIG_PPC32
21#include "mmu_decl.h" /* for __max_low_memory */
22#endif
23
24#undef DEBUG
25
26#ifdef DEBUG
27#include <asm/udbg.h>
28#define DBG(fmt...) udbg_printf(fmt)
29#else
30#define DBG(fmt...)
31#endif
32
33#define LMB_ALLOC_ANYWHERE 0
34
35struct lmb lmb;
36
37void lmb_dump_all(void)
38{
39#ifdef DEBUG
40 unsigned long i;
41
42 DBG("lmb_dump_all:\n");
43 DBG(" memory.cnt = 0x%lx\n", lmb.memory.cnt);
44 DBG(" memory.size = 0x%lx\n", lmb.memory.size);
45 for (i=0; i < lmb.memory.cnt ;i++) {
46 DBG(" memory.region[0x%x].base = 0x%lx\n",
47 i, lmb.memory.region[i].base);
48 DBG(" .size = 0x%lx\n",
49 lmb.memory.region[i].size);
50 }
51
52 DBG("\n reserved.cnt = 0x%lx\n", lmb.reserved.cnt);
53 DBG(" reserved.size = 0x%lx\n", lmb.reserved.size);
54 for (i=0; i < lmb.reserved.cnt ;i++) {
55 DBG(" reserved.region[0x%x].base = 0x%lx\n",
56 i, lmb.reserved.region[i].base);
57 DBG(" .size = 0x%lx\n",
58 lmb.reserved.region[i].size);
59 }
60#endif /* DEBUG */
61}
62
63static unsigned long __init lmb_addrs_overlap(unsigned long base1,
64 unsigned long size1, unsigned long base2, unsigned long size2)
65{
66 return ((base1 < (base2+size2)) && (base2 < (base1+size1)));
67}
68
69static long __init lmb_addrs_adjacent(unsigned long base1, unsigned long size1,
70 unsigned long base2, unsigned long size2)
71{
72 if (base2 == base1 + size1)
73 return 1;
74 else if (base1 == base2 + size2)
75 return -1;
76
77 return 0;
78}
79
80static long __init lmb_regions_adjacent(struct lmb_region *rgn,
81 unsigned long r1, unsigned long r2)
82{
83 unsigned long base1 = rgn->region[r1].base;
84 unsigned long size1 = rgn->region[r1].size;
85 unsigned long base2 = rgn->region[r2].base;
86 unsigned long size2 = rgn->region[r2].size;
87
88 return lmb_addrs_adjacent(base1, size1, base2, size2);
89}
90
91static void __init lmb_remove_region(struct lmb_region *rgn, unsigned long r)
92{
93 unsigned long i;
94
95 for (i = r; i < rgn->cnt - 1; i++) {
96 rgn->region[i].base = rgn->region[i + 1].base;
97 rgn->region[i].size = rgn->region[i + 1].size;
98 }
99 rgn->cnt--;
100}
101
102/* Assumption: base addr of region 1 < base addr of region 2 */
103static void __init lmb_coalesce_regions(struct lmb_region *rgn,
104 unsigned long r1, unsigned long r2)
105{
106 rgn->region[r1].size += rgn->region[r2].size;
107 lmb_remove_region(rgn, r2);
108}
109
110/* This routine called with relocation disabled. */
111void __init lmb_init(void)
112{
113 /* Create a dummy zero size LMB which will get coalesced away later.
114 * This simplifies the lmb_add() code below...
115 */
116 lmb.memory.region[0].base = 0;
117 lmb.memory.region[0].size = 0;
118 lmb.memory.cnt = 1;
119
120 /* Ditto. */
121 lmb.reserved.region[0].base = 0;
122 lmb.reserved.region[0].size = 0;
123 lmb.reserved.cnt = 1;
124}
125
126/* This routine may be called with relocation disabled. */
127void __init lmb_analyze(void)
128{
129 int i;
130
131 lmb.memory.size = 0;
132
133 for (i = 0; i < lmb.memory.cnt; i++)
134 lmb.memory.size += lmb.memory.region[i].size;
135}
136
137/* This routine called with relocation disabled. */
138static long __init lmb_add_region(struct lmb_region *rgn, unsigned long base,
139 unsigned long size)
140{
141 unsigned long coalesced = 0;
142 long adjacent, i;
143
144 /* First try and coalesce this LMB with another. */
145 for (i=0; i < rgn->cnt; i++) {
146 unsigned long rgnbase = rgn->region[i].base;
147 unsigned long rgnsize = rgn->region[i].size;
148
149 if ((rgnbase == base) && (rgnsize == size))
150 /* Already have this region, so we're done */
151 return 0;
152
153 adjacent = lmb_addrs_adjacent(base,size,rgnbase,rgnsize);
154 if ( adjacent > 0 ) {
155 rgn->region[i].base -= size;
156 rgn->region[i].size += size;
157 coalesced++;
158 break;
159 }
160 else if ( adjacent < 0 ) {
161 rgn->region[i].size += size;
162 coalesced++;
163 break;
164 }
165 }
166
167 if ((i < rgn->cnt-1) && lmb_regions_adjacent(rgn, i, i+1) ) {
168 lmb_coalesce_regions(rgn, i, i+1);
169 coalesced++;
170 }
171
172 if (coalesced)
173 return coalesced;
174 if (rgn->cnt >= MAX_LMB_REGIONS)
175 return -1;
176
177 /* Couldn't coalesce the LMB, so add it to the sorted table. */
178 for (i = rgn->cnt-1; i >= 0; i--) {
179 if (base < rgn->region[i].base) {
180 rgn->region[i+1].base = rgn->region[i].base;
181 rgn->region[i+1].size = rgn->region[i].size;
182 } else {
183 rgn->region[i+1].base = base;
184 rgn->region[i+1].size = size;
185 break;
186 }
187 }
188 rgn->cnt++;
189
190 return 0;
191}
192
193/* This routine may be called with relocation disabled. */
194long __init lmb_add(unsigned long base, unsigned long size)
195{
196 struct lmb_region *_rgn = &(lmb.memory);
197
198 /* On pSeries LPAR systems, the first LMB is our RMO region. */
199 if (base == 0)
200 lmb.rmo_size = size;
201
202 return lmb_add_region(_rgn, base, size);
203
204}
205
206long __init lmb_reserve(unsigned long base, unsigned long size)
207{
208 struct lmb_region *_rgn = &(lmb.reserved);
209
210 BUG_ON(0 == size);
211
212 return lmb_add_region(_rgn, base, size);
213}
214
215long __init lmb_overlaps_region(struct lmb_region *rgn, unsigned long base,
216 unsigned long size)
217{
218 unsigned long i;
219
220 for (i=0; i < rgn->cnt; i++) {
221 unsigned long rgnbase = rgn->region[i].base;
222 unsigned long rgnsize = rgn->region[i].size;
223 if ( lmb_addrs_overlap(base,size,rgnbase,rgnsize) ) {
224 break;
225 }
226 }
227
228 return (i < rgn->cnt) ? i : -1;
229}
230
231unsigned long __init lmb_alloc(unsigned long size, unsigned long align)
232{
233 return lmb_alloc_base(size, align, LMB_ALLOC_ANYWHERE);
234}
235
236unsigned long __init lmb_alloc_base(unsigned long size, unsigned long align,
237 unsigned long max_addr)
238{
239 unsigned long alloc;
240
241 alloc = __lmb_alloc_base(size, align, max_addr);
242
243 if (alloc == 0)
244 panic("ERROR: Failed to allocate 0x%lx bytes below 0x%lx.\n",
245 size, max_addr);
246
247 return alloc;
248}
249
250unsigned long __init __lmb_alloc_base(unsigned long size, unsigned long align,
251 unsigned long max_addr)
252{
253 long i, j;
254 unsigned long base = 0;
255
256 BUG_ON(0 == size);
257
258#ifdef CONFIG_PPC32
259 /* On 32-bit, make sure we allocate lowmem */
260 if (max_addr == LMB_ALLOC_ANYWHERE)
261 max_addr = __max_low_memory;
262#endif
263 for (i = lmb.memory.cnt-1; i >= 0; i--) {
264 unsigned long lmbbase = lmb.memory.region[i].base;
265 unsigned long lmbsize = lmb.memory.region[i].size;
266
267 if (max_addr == LMB_ALLOC_ANYWHERE)
268 base = _ALIGN_DOWN(lmbbase + lmbsize - size, align);
269 else if (lmbbase < max_addr) {
270 base = min(lmbbase + lmbsize, max_addr);
271 base = _ALIGN_DOWN(base - size, align);
272 } else
273 continue;
274
275 while ((lmbbase <= base) &&
276 ((j = lmb_overlaps_region(&lmb.reserved, base, size)) >= 0) )
277 base = _ALIGN_DOWN(lmb.reserved.region[j].base - size,
278 align);
279
280 if ((base != 0) && (lmbbase <= base))
281 break;
282 }
283
284 if (i < 0)
285 return 0;
286
287 lmb_add_region(&lmb.reserved, base, size);
288
289 return base;
290}
291
292/* You must call lmb_analyze() before this. */
293unsigned long __init lmb_phys_mem_size(void)
294{
295 return lmb.memory.size;
296}
297
298unsigned long __init lmb_end_of_DRAM(void)
299{
300 int idx = lmb.memory.cnt - 1;
301
302 return (lmb.memory.region[idx].base + lmb.memory.region[idx].size);
303}
304
305/* You must call lmb_analyze() after this. */
306void __init lmb_enforce_memory_limit(unsigned long memory_limit)
307{
308 unsigned long i, limit;
309 struct lmb_property *p;
310
311 if (! memory_limit)
312 return;
313
314 /* Truncate the lmb regions to satisfy the memory limit. */
315 limit = memory_limit;
316 for (i = 0; i < lmb.memory.cnt; i++) {
317 if (limit > lmb.memory.region[i].size) {
318 limit -= lmb.memory.region[i].size;
319 continue;
320 }
321
322 lmb.memory.region[i].size = limit;
323 lmb.memory.cnt = i + 1;
324 break;
325 }
326
327 if (lmb.memory.region[0].size < lmb.rmo_size)
328 lmb.rmo_size = lmb.memory.region[0].size;
329
330 /* And truncate any reserves above the limit also. */
331 for (i = 0; i < lmb.reserved.cnt; i++) {
332 p = &lmb.reserved.region[i];
333
334 if (p->base > memory_limit)
335 p->size = 0;
336 else if ((p->base + p->size) > memory_limit)
337 p->size = memory_limit - p->base;
338
339 if (p->size == 0) {
340 lmb_remove_region(&lmb.reserved, i);
341 i--;
342 }
343 }
344}
345
346int __init lmb_is_reserved(unsigned long addr)
347{
348 int i;
349
350 for (i = 0; i < lmb.reserved.cnt; i++) {
351 unsigned long upper = lmb.reserved.region[i].base +
352 lmb.reserved.region[i].size - 1;
353 if ((addr >= lmb.reserved.region[i].base) && (addr <= upper))
354 return 1;
355 }
356 return 0;
357}
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index be5c506779a..16def4dcff6 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -31,6 +31,7 @@
31#include <linux/initrd.h> 31#include <linux/initrd.h>
32#include <linux/pagemap.h> 32#include <linux/pagemap.h>
33#include <linux/suspend.h> 33#include <linux/suspend.h>
34#include <linux/lmb.h>
34 35
35#include <asm/pgalloc.h> 36#include <asm/pgalloc.h>
36#include <asm/prom.h> 37#include <asm/prom.h>
@@ -42,7 +43,6 @@
42#include <asm/machdep.h> 43#include <asm/machdep.h>
43#include <asm/btext.h> 44#include <asm/btext.h>
44#include <asm/tlb.h> 45#include <asm/tlb.h>
45#include <asm/lmb.h>
46#include <asm/sections.h> 46#include <asm/sections.h>
47#include <asm/vdso.h> 47#include <asm/vdso.h>
48 48
@@ -111,7 +111,7 @@ int memory_add_physaddr_to_nid(u64 start)
111} 111}
112#endif 112#endif
113 113
114int __devinit arch_add_memory(int nid, u64 start, u64 size) 114int arch_add_memory(int nid, u64 start, u64 size)
115{ 115{
116 struct pglist_data *pgdata; 116 struct pglist_data *pgdata;
117 struct zone *zone; 117 struct zone *zone;
@@ -175,7 +175,6 @@ void show_mem(void)
175 175
176 printk("Mem-info:\n"); 176 printk("Mem-info:\n");
177 show_free_areas(); 177 show_free_areas();
178 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
179 for_each_online_pgdat(pgdat) { 178 for_each_online_pgdat(pgdat) {
180 unsigned long flags; 179 unsigned long flags;
181 pgdat_resize_lock(pgdat, &flags); 180 pgdat_resize_lock(pgdat, &flags);
@@ -217,9 +216,11 @@ void __init do_init_bootmem(void)
217 unsigned long total_pages; 216 unsigned long total_pages;
218 int boot_mapsize; 217 int boot_mapsize;
219 218
220 max_pfn = total_pages = lmb_end_of_DRAM() >> PAGE_SHIFT; 219 max_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT;
220 total_pages = (lmb_end_of_DRAM() - memstart_addr) >> PAGE_SHIFT;
221#ifdef CONFIG_HIGHMEM 221#ifdef CONFIG_HIGHMEM
222 total_pages = total_lowmem >> PAGE_SHIFT; 222 total_pages = total_lowmem >> PAGE_SHIFT;
223 max_low_pfn = lowmem_end_addr >> PAGE_SHIFT;
223#endif 224#endif
224 225
225 /* 226 /*
@@ -245,18 +246,18 @@ void __init do_init_bootmem(void)
245 * present. 246 * present.
246 */ 247 */
247#ifdef CONFIG_HIGHMEM 248#ifdef CONFIG_HIGHMEM
248 free_bootmem_with_active_regions(0, total_lowmem >> PAGE_SHIFT); 249 free_bootmem_with_active_regions(0, lowmem_end_addr >> PAGE_SHIFT);
249 250
250 /* reserve the sections we're already using */ 251 /* reserve the sections we're already using */
251 for (i = 0; i < lmb.reserved.cnt; i++) { 252 for (i = 0; i < lmb.reserved.cnt; i++) {
252 unsigned long addr = lmb.reserved.region[i].base + 253 unsigned long addr = lmb.reserved.region[i].base +
253 lmb_size_bytes(&lmb.reserved, i) - 1; 254 lmb_size_bytes(&lmb.reserved, i) - 1;
254 if (addr < total_lowmem) 255 if (addr < lowmem_end_addr)
255 reserve_bootmem(lmb.reserved.region[i].base, 256 reserve_bootmem(lmb.reserved.region[i].base,
256 lmb_size_bytes(&lmb.reserved, i), 257 lmb_size_bytes(&lmb.reserved, i),
257 BOOTMEM_DEFAULT); 258 BOOTMEM_DEFAULT);
258 else if (lmb.reserved.region[i].base < total_lowmem) { 259 else if (lmb.reserved.region[i].base < lowmem_end_addr) {
259 unsigned long adjusted_size = total_lowmem - 260 unsigned long adjusted_size = lowmem_end_addr -
260 lmb.reserved.region[i].base; 261 lmb.reserved.region[i].base;
261 reserve_bootmem(lmb.reserved.region[i].base, 262 reserve_bootmem(lmb.reserved.region[i].base,
262 adjusted_size, BOOTMEM_DEFAULT); 263 adjusted_size, BOOTMEM_DEFAULT);
@@ -326,7 +327,7 @@ void __init paging_init(void)
326 (top_of_ram - total_ram) >> 20); 327 (top_of_ram - total_ram) >> 20);
327 memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); 328 memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
328#ifdef CONFIG_HIGHMEM 329#ifdef CONFIG_HIGHMEM
329 max_zone_pfns[ZONE_DMA] = total_lowmem >> PAGE_SHIFT; 330 max_zone_pfns[ZONE_DMA] = lowmem_end_addr >> PAGE_SHIFT;
330 max_zone_pfns[ZONE_HIGHMEM] = top_of_ram >> PAGE_SHIFT; 331 max_zone_pfns[ZONE_HIGHMEM] = top_of_ram >> PAGE_SHIFT;
331#else 332#else
332 max_zone_pfns[ZONE_DMA] = top_of_ram >> PAGE_SHIFT; 333 max_zone_pfns[ZONE_DMA] = top_of_ram >> PAGE_SHIFT;
@@ -381,7 +382,7 @@ void __init mem_init(void)
381 { 382 {
382 unsigned long pfn, highmem_mapnr; 383 unsigned long pfn, highmem_mapnr;
383 384
384 highmem_mapnr = total_lowmem >> PAGE_SHIFT; 385 highmem_mapnr = lowmem_end_addr >> PAGE_SHIFT;
385 for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) { 386 for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {
386 struct page *page = pfn_to_page(pfn); 387 struct page *page = pfn_to_page(pfn);
387 if (lmb_is_reserved(pfn << PAGE_SHIFT)) 388 if (lmb_is_reserved(pfn << PAGE_SHIFT))
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h
index ebfd13dc9d1..04802252a64 100644
--- a/arch/powerpc/mm/mmu_decl.h
+++ b/arch/powerpc/mm/mmu_decl.h
@@ -48,9 +48,11 @@ extern unsigned int num_tlbcam_entries;
48 48
49extern unsigned long ioremap_bot; 49extern unsigned long ioremap_bot;
50extern unsigned long __max_low_memory; 50extern unsigned long __max_low_memory;
51extern unsigned long __initial_memory_limit; 51extern phys_addr_t __initial_memory_limit_addr;
52extern unsigned long total_memory; 52extern unsigned long total_memory;
53extern unsigned long total_lowmem; 53extern unsigned long total_lowmem;
54extern phys_addr_t memstart_addr;
55extern phys_addr_t lowmem_end_addr;
54 56
55/* ...and now those things that may be slightly different between processor 57/* ...and now those things that may be slightly different between processor
56 * architectures. -- Dan 58 * architectures. -- Dan
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index a300d254aac..1efd631211e 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -17,8 +17,9 @@
17#include <linux/nodemask.h> 17#include <linux/nodemask.h>
18#include <linux/cpu.h> 18#include <linux/cpu.h>
19#include <linux/notifier.h> 19#include <linux/notifier.h>
20#include <linux/lmb.h>
20#include <asm/sparsemem.h> 21#include <asm/sparsemem.h>
21#include <asm/lmb.h> 22#include <asm/prom.h>
22#include <asm/system.h> 23#include <asm/system.h>
23#include <asm/smp.h> 24#include <asm/smp.h>
24 25
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index ac3390f8190..64c44bcc68d 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -281,12 +281,13 @@ int map_page(unsigned long va, phys_addr_t pa, int flags)
281 */ 281 */
282void __init mapin_ram(void) 282void __init mapin_ram(void)
283{ 283{
284 unsigned long v, p, s, f; 284 unsigned long v, s, f;
285 phys_addr_t p;
285 int ktext; 286 int ktext;
286 287
287 s = mmu_mapin_ram(); 288 s = mmu_mapin_ram();
288 v = KERNELBASE + s; 289 v = KERNELBASE + s;
289 p = PPC_MEMSTART + s; 290 p = memstart_addr + s;
290 for (; s < total_lowmem; s += PAGE_SIZE) { 291 for (; s < total_lowmem; s += PAGE_SIZE) {
291 ktext = ((char *) v >= _stext && (char *) v < etext); 292 ktext = ((char *) v >= _stext && (char *) v < etext);
292 f = ktext ?_PAGE_RAM_TEXT : _PAGE_RAM; 293 f = ktext ?_PAGE_RAM_TEXT : _PAGE_RAM;
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
index 5c45d474cfc..cef9f156874 100644
--- a/arch/powerpc/mm/ppc_mmu_32.c
+++ b/arch/powerpc/mm/ppc_mmu_32.c
@@ -26,11 +26,11 @@
26#include <linux/mm.h> 26#include <linux/mm.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/highmem.h> 28#include <linux/highmem.h>
29#include <linux/lmb.h>
29 30
30#include <asm/prom.h> 31#include <asm/prom.h>
31#include <asm/mmu.h> 32#include <asm/mmu.h>
32#include <asm/machdep.h> 33#include <asm/machdep.h>
33#include <asm/lmb.h>
34 34
35#include "mmu_decl.h" 35#include "mmu_decl.h"
36 36
@@ -82,7 +82,6 @@ unsigned long __init mmu_mapin_ram(void)
82#else 82#else
83 unsigned long tot, bl, done; 83 unsigned long tot, bl, done;
84 unsigned long max_size = (256<<20); 84 unsigned long max_size = (256<<20);
85 unsigned long align;
86 85
87 if (__map_without_bats) { 86 if (__map_without_bats) {
88 printk(KERN_DEBUG "RAM mapped without BATs\n"); 87 printk(KERN_DEBUG "RAM mapped without BATs\n");
@@ -93,19 +92,13 @@ unsigned long __init mmu_mapin_ram(void)
93 92
94 /* Make sure we don't map a block larger than the 93 /* Make sure we don't map a block larger than the
95 smallest alignment of the physical address. */ 94 smallest alignment of the physical address. */
96 /* alignment of PPC_MEMSTART */
97 align = ~(PPC_MEMSTART-1) & PPC_MEMSTART;
98 /* set BAT block size to MIN(max_size, align) */
99 if (align && align < max_size)
100 max_size = align;
101
102 tot = total_lowmem; 95 tot = total_lowmem;
103 for (bl = 128<<10; bl < max_size; bl <<= 1) { 96 for (bl = 128<<10; bl < max_size; bl <<= 1) {
104 if (bl * 2 > tot) 97 if (bl * 2 > tot)
105 break; 98 break;
106 } 99 }
107 100
108 setbat(2, KERNELBASE, PPC_MEMSTART, bl, _PAGE_RAM); 101 setbat(2, KERNELBASE, 0, bl, _PAGE_RAM);
109 done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1; 102 done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
110 if ((done < tot) && !bat_addrs[3].limit) { 103 if ((done < tot) && !bat_addrs[3].limit) {
111 /* use BAT3 to cover a bit more */ 104 /* use BAT3 to cover a bit more */
@@ -113,7 +106,7 @@ unsigned long __init mmu_mapin_ram(void)
113 for (bl = 128<<10; bl < max_size; bl <<= 1) 106 for (bl = 128<<10; bl < max_size; bl <<= 1)
114 if (bl * 2 > tot) 107 if (bl * 2 > tot)
115 break; 108 break;
116 setbat(3, KERNELBASE+done, PPC_MEMSTART+done, bl, _PAGE_RAM); 109 setbat(3, KERNELBASE+done, done, bl, _PAGE_RAM);
117 done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1; 110 done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
118 } 111 }
119 112
@@ -240,7 +233,7 @@ void __init MMU_init_hw(void)
240 */ 233 */
241 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322); 234 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
242 Hash = __va(lmb_alloc_base(Hash_size, Hash_size, 235 Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
243 __initial_memory_limit)); 236 __initial_memory_limit_addr));
244 cacheable_memzero(Hash, Hash_size); 237 cacheable_memzero(Hash, Hash_size);
245 _SDR1 = __pa(Hash) | SDR1_LOW_BITS; 238 _SDR1 = __pa(Hash) | SDR1_LOW_BITS;
246 239
diff --git a/arch/powerpc/mm/stab.c b/arch/powerpc/mm/stab.c
index 50448d5de9d..efbbd13d93e 100644
--- a/arch/powerpc/mm/stab.c
+++ b/arch/powerpc/mm/stab.c
@@ -12,12 +12,14 @@
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 */ 13 */
14 14
15#include <linux/lmb.h>
16
15#include <asm/pgtable.h> 17#include <asm/pgtable.h>
16#include <asm/mmu.h> 18#include <asm/mmu.h>
17#include <asm/mmu_context.h> 19#include <asm/mmu_context.h>
18#include <asm/paca.h> 20#include <asm/paca.h>
19#include <asm/cputable.h> 21#include <asm/cputable.h>
20#include <asm/lmb.h> 22#include <asm/prom.h>
21#include <asm/abs_addr.h> 23#include <asm/abs_addr.h>
22#include <asm/firmware.h> 24#include <asm/firmware.h>
23#include <asm/iseries/hv_call.h> 25#include <asm/iseries/hv_call.h>
diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c b/arch/powerpc/oprofile/cell/spu_task_sync.c
index 257b13cb18a..2a9b4a04932 100644
--- a/arch/powerpc/oprofile/cell/spu_task_sync.c
+++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
@@ -68,7 +68,7 @@ static struct cached_info *get_cached_info(struct spu *the_spu, int spu_num)
68 if (spu_num >= num_spu_nodes) { 68 if (spu_num >= num_spu_nodes) {
69 printk(KERN_ERR "SPU_PROF: " 69 printk(KERN_ERR "SPU_PROF: "
70 "%s, line %d: Invalid index %d into spu info cache\n", 70 "%s, line %d: Invalid index %d into spu info cache\n",
71 __FUNCTION__, __LINE__, spu_num); 71 __func__, __LINE__, spu_num);
72 ret_info = NULL; 72 ret_info = NULL;
73 goto out; 73 goto out;
74 } 74 }
@@ -115,7 +115,7 @@ prepare_cached_spu_info(struct spu *spu, unsigned long objectId)
115 if (!info) { 115 if (!info) {
116 printk(KERN_ERR "SPU_PROF: " 116 printk(KERN_ERR "SPU_PROF: "
117 "%s, line %d: create vma_map failed\n", 117 "%s, line %d: create vma_map failed\n",
118 __FUNCTION__, __LINE__); 118 __func__, __LINE__);
119 retval = -ENOMEM; 119 retval = -ENOMEM;
120 goto err_alloc; 120 goto err_alloc;
121 } 121 }
@@ -123,7 +123,7 @@ prepare_cached_spu_info(struct spu *spu, unsigned long objectId)
123 if (!new_map) { 123 if (!new_map) {
124 printk(KERN_ERR "SPU_PROF: " 124 printk(KERN_ERR "SPU_PROF: "
125 "%s, line %d: create vma_map failed\n", 125 "%s, line %d: create vma_map failed\n",
126 __FUNCTION__, __LINE__); 126 __func__, __LINE__);
127 retval = -ENOMEM; 127 retval = -ENOMEM;
128 goto err_alloc; 128 goto err_alloc;
129 } 129 }
@@ -171,7 +171,7 @@ static int release_cached_info(int spu_index)
171 printk(KERN_ERR "SPU_PROF: " 171 printk(KERN_ERR "SPU_PROF: "
172 "%s, line %d: " 172 "%s, line %d: "
173 "Invalid index %d into spu info cache\n", 173 "Invalid index %d into spu info cache\n",
174 __FUNCTION__, __LINE__, spu_index); 174 __func__, __LINE__, spu_index);
175 goto out; 175 goto out;
176 } 176 }
177 end = spu_index + 1; 177 end = spu_index + 1;
@@ -273,7 +273,7 @@ fail_no_image_cookie:
273 273
274 printk(KERN_ERR "SPU_PROF: " 274 printk(KERN_ERR "SPU_PROF: "
275 "%s, line %d: Cannot find dcookie for SPU binary\n", 275 "%s, line %d: Cannot find dcookie for SPU binary\n",
276 __FUNCTION__, __LINE__); 276 __func__, __LINE__);
277 goto out; 277 goto out;
278} 278}
279 279
@@ -467,7 +467,7 @@ int spu_sync_stop(void)
467 if (ret) { 467 if (ret) {
468 printk(KERN_ERR "SPU_PROF: " 468 printk(KERN_ERR "SPU_PROF: "
469 "%s, line %d: spu_switch_event_unregister returned %d\n", 469 "%s, line %d: spu_switch_event_unregister returned %d\n",
470 __FUNCTION__, __LINE__, ret); 470 __func__, __LINE__, ret);
471 goto out; 471 goto out;
472 } 472 }
473 473
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index 76ec1d16aef..fff66662d02 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -72,7 +72,7 @@ vma_map_add(struct vma_to_fileoffset_map *map, unsigned int vma,
72 kzalloc(sizeof(struct vma_to_fileoffset_map), GFP_KERNEL); 72 kzalloc(sizeof(struct vma_to_fileoffset_map), GFP_KERNEL);
73 if (!new) { 73 if (!new) {
74 printk(KERN_ERR "SPU_PROF: %s, line %d: malloc failed\n", 74 printk(KERN_ERR "SPU_PROF: %s, line %d: malloc failed\n",
75 __FUNCTION__, __LINE__); 75 __func__, __LINE__);
76 vma_map_free(map); 76 vma_map_free(map);
77 return NULL; 77 return NULL;
78 } 78 }
@@ -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,30 +123,30 @@ 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) {
133 printk(KERN_ERR "SPU_PROF: " 135 printk(KERN_ERR "SPU_PROF: "
134 "%s, line %d: Unexpected e_ident parsing SPU ELF\n", 136 "%s, line %d: Unexpected e_ident parsing SPU ELF\n",
135 __FUNCTION__, __LINE__); 137 __func__, __LINE__);
136 goto fail; 138 goto fail;
137 } 139 }
138 if (ehdr.e_machine != EM_SPU) { 140 if (ehdr.e_machine != EM_SPU) {
139 printk(KERN_ERR "SPU_PROF: " 141 printk(KERN_ERR "SPU_PROF: "
140 "%s, line %d: Unexpected e_machine parsing SPU ELF\n", 142 "%s, line %d: Unexpected e_machine parsing SPU ELF\n",
141 __FUNCTION__, __LINE__); 143 __func__, __LINE__);
142 goto fail; 144 goto fail;
143 } 145 }
144 if (ehdr.e_type != ET_EXEC) { 146 if (ehdr.e_type != ET_EXEC) {
145 printk(KERN_ERR "SPU_PROF: " 147 printk(KERN_ERR "SPU_PROF: "
146 "%s, line %d: Unexpected e_type parsing SPU ELF\n", 148 "%s, line %d: Unexpected e_type parsing SPU ELF\n",
147 __FUNCTION__, __LINE__); 149 __func__, __LINE__);
148 goto fail; 150 goto fail;
149 } 151 }
150 phdr_start = spu_elf_start + ehdr.e_phoff; 152 phdr_start = spu_elf_start + ehdr.e_phoff;
@@ -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
@@ -235,7 +232,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
235 if (overlay_tbl_offset < 0) { 232 if (overlay_tbl_offset < 0) {
236 printk(KERN_ERR "SPU_PROF: " 233 printk(KERN_ERR "SPU_PROF: "
237 "%s, line %d: Error finding SPU overlay table\n", 234 "%s, line %d: Error finding SPU overlay table\n",
238 __FUNCTION__, __LINE__); 235 __func__, __LINE__);
239 goto fail; 236 goto fail;
240 } 237 }
241 ovly_table = spu_elf_start + overlay_tbl_offset; 238 ovly_table = spu_elf_start + overlay_tbl_offset;
@@ -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/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c
index 9eed1f68fca..5ff4de3eb3b 100644
--- a/arch/powerpc/oprofile/op_model_cell.c
+++ b/arch/powerpc/oprofile/op_model_cell.c
@@ -216,7 +216,7 @@ static void pm_rtas_reset_signals(u32 node)
216 * failure to stop OProfile. 216 * failure to stop OProfile.
217 */ 217 */
218 printk(KERN_WARNING "%s: rtas returned: %d\n", 218 printk(KERN_WARNING "%s: rtas returned: %d\n",
219 __FUNCTION__, ret); 219 __func__, ret);
220} 220}
221 221
222static int pm_rtas_activate_signals(u32 node, u32 count) 222static int pm_rtas_activate_signals(u32 node, u32 count)
@@ -255,7 +255,7 @@ static int pm_rtas_activate_signals(u32 node, u32 count)
255 255
256 if (unlikely(ret)) { 256 if (unlikely(ret)) {
257 printk(KERN_WARNING "%s: rtas returned: %d\n", 257 printk(KERN_WARNING "%s: rtas returned: %d\n",
258 __FUNCTION__, ret); 258 __func__, ret);
259 return -EIO; 259 return -EIO;
260 } 260 }
261 } 261 }
@@ -560,7 +560,7 @@ static int cell_reg_setup(struct op_counter_config *ctr,
560 if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) { 560 if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) {
561 printk(KERN_ERR 561 printk(KERN_ERR
562 "%s: rtas token ibm,cbe-spu-perftools unknown\n", 562 "%s: rtas token ibm,cbe-spu-perftools unknown\n",
563 __FUNCTION__); 563 __func__);
564 return -EIO; 564 return -EIO;
565 } 565 }
566 } 566 }
@@ -576,7 +576,7 @@ static int cell_reg_setup(struct op_counter_config *ctr,
576 if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) { 576 if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) {
577 printk(KERN_ERR 577 printk(KERN_ERR
578 "%s: rtas token ibm,cbe-perftools unknown\n", 578 "%s: rtas token ibm,cbe-perftools unknown\n",
579 __FUNCTION__); 579 __func__);
580 return -EIO; 580 return -EIO;
581 } 581 }
582 582
@@ -853,7 +853,7 @@ static int pm_rtas_activate_spu_profiling(u32 node)
853 853
854 if (unlikely(ret)) { 854 if (unlikely(ret)) {
855 printk(KERN_WARNING "%s: rtas returned: %d\n", 855 printk(KERN_WARNING "%s: rtas returned: %d\n",
856 __FUNCTION__, ret); 856 __func__, ret);
857 return -EIO; 857 return -EIO;
858 } 858 }
859 859
@@ -949,7 +949,7 @@ static int cell_global_start_spu(struct op_counter_config *ctr)
949 if (unlikely(ret != 0)) { 949 if (unlikely(ret != 0)) {
950 printk(KERN_ERR 950 printk(KERN_ERR
951 "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n", 951 "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
952 __FUNCTION__, ret); 952 __func__, ret);
953 rtas_error = -EIO; 953 rtas_error = -EIO;
954 goto out; 954 goto out;
955 } 955 }
@@ -1061,7 +1061,7 @@ static void cell_global_stop_spu(void)
1061 if (unlikely(rtn_value != 0)) { 1061 if (unlikely(rtn_value != 0)) {
1062 printk(KERN_ERR 1062 printk(KERN_ERR
1063 "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n", 1063 "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
1064 __FUNCTION__, rtn_value); 1064 __func__, rtn_value);
1065 } 1065 }
1066 1066
1067 /* Deactivate the signals */ 1067 /* Deactivate the signals */
diff --git a/arch/powerpc/platforms/40x/ep405.c b/arch/powerpc/platforms/40x/ep405.c
index 13d1345026d..ae2e7f67c18 100644
--- a/arch/powerpc/platforms/40x/ep405.c
+++ b/arch/powerpc/platforms/40x/ep405.c
@@ -29,6 +29,7 @@
29#include <asm/time.h> 29#include <asm/time.h>
30#include <asm/uic.h> 30#include <asm/uic.h>
31#include <asm/pci-bridge.h> 31#include <asm/pci-bridge.h>
32#include <asm/ppc4xx.h>
32 33
33static struct device_node *bcsr_node; 34static struct device_node *bcsr_node;
34static void __iomem *bcsr_regs; 35static void __iomem *bcsr_regs;
@@ -119,5 +120,6 @@ define_machine(ep405) {
119 .progress = udbg_progress, 120 .progress = udbg_progress,
120 .init_IRQ = uic_init_tree, 121 .init_IRQ = uic_init_tree,
121 .get_irq = uic_get_irq, 122 .get_irq = uic_get_irq,
123 .restart = ppc4xx_reset_system,
122 .calibrate_decr = generic_calibrate_decr, 124 .calibrate_decr = generic_calibrate_decr,
123}; 125};
diff --git a/arch/powerpc/platforms/40x/kilauea.c b/arch/powerpc/platforms/40x/kilauea.c
index f9206a7fede..1dd24ffc0dc 100644
--- a/arch/powerpc/platforms/40x/kilauea.c
+++ b/arch/powerpc/platforms/40x/kilauea.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Kilauea board specific routines 2 * Kilauea board specific routines
3 * 3 *
4 * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de> 4 * Copyright 2007-2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 * 5 *
6 * Based on the Walnut code by 6 * Based on the Walnut code by
7 * Josh Boyer <jwboyer@linux.vnet.ibm.com> 7 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
@@ -20,6 +20,7 @@
20#include <asm/time.h> 20#include <asm/time.h>
21#include <asm/uic.h> 21#include <asm/uic.h>
22#include <asm/pci-bridge.h> 22#include <asm/pci-bridge.h>
23#include <asm/ppc4xx.h>
23 24
24static __initdata struct of_device_id kilauea_of_bus[] = { 25static __initdata struct of_device_id kilauea_of_bus[] = {
25 { .compatible = "ibm,plb4", }, 26 { .compatible = "ibm,plb4", },
@@ -54,5 +55,6 @@ define_machine(kilauea) {
54 .progress = udbg_progress, 55 .progress = udbg_progress,
55 .init_IRQ = uic_init_tree, 56 .init_IRQ = uic_init_tree,
56 .get_irq = uic_get_irq, 57 .get_irq = uic_get_irq,
58 .restart = ppc4xx_reset_system,
57 .calibrate_decr = generic_calibrate_decr, 59 .calibrate_decr = generic_calibrate_decr,
58}; 60};
diff --git a/arch/powerpc/platforms/40x/makalu.c b/arch/powerpc/platforms/40x/makalu.c
index 4e4df72fc9c..a6a1d6017b7 100644
--- a/arch/powerpc/platforms/40x/makalu.c
+++ b/arch/powerpc/platforms/40x/makalu.c
@@ -20,6 +20,7 @@
20#include <asm/time.h> 20#include <asm/time.h>
21#include <asm/uic.h> 21#include <asm/uic.h>
22#include <asm/pci-bridge.h> 22#include <asm/pci-bridge.h>
23#include <asm/ppc4xx.h>
23 24
24static __initdata struct of_device_id makalu_of_bus[] = { 25static __initdata struct of_device_id makalu_of_bus[] = {
25 { .compatible = "ibm,plb4", }, 26 { .compatible = "ibm,plb4", },
@@ -54,5 +55,6 @@ define_machine(makalu) {
54 .progress = udbg_progress, 55 .progress = udbg_progress,
55 .init_IRQ = uic_init_tree, 56 .init_IRQ = uic_init_tree,
56 .get_irq = uic_get_irq, 57 .get_irq = uic_get_irq,
58 .restart = ppc4xx_reset_system,
57 .calibrate_decr = generic_calibrate_decr, 59 .calibrate_decr = generic_calibrate_decr,
58}; 60};
diff --git a/arch/powerpc/platforms/40x/virtex.c b/arch/powerpc/platforms/40x/virtex.c
index 0422590040d..fc7fb001276 100644
--- a/arch/powerpc/platforms/40x/virtex.c
+++ b/arch/powerpc/platforms/40x/virtex.c
@@ -14,6 +14,7 @@
14#include <asm/prom.h> 14#include <asm/prom.h>
15#include <asm/time.h> 15#include <asm/time.h>
16#include <asm/xilinx_intc.h> 16#include <asm/xilinx_intc.h>
17#include <asm/ppc4xx.h>
17 18
18static struct of_device_id xilinx_of_bus_ids[] __initdata = { 19static struct of_device_id xilinx_of_bus_ids[] __initdata = {
19 { .compatible = "xlnx,plb-v46-1.00.a", }, 20 { .compatible = "xlnx,plb-v46-1.00.a", },
@@ -48,5 +49,6 @@ define_machine(virtex) {
48 .probe = virtex_probe, 49 .probe = virtex_probe,
49 .init_IRQ = xilinx_intc_init_tree, 50 .init_IRQ = xilinx_intc_init_tree,
50 .get_irq = xilinx_intc_get_irq, 51 .get_irq = xilinx_intc_get_irq,
52 .restart = ppc4xx_reset_system,
51 .calibrate_decr = generic_calibrate_decr, 53 .calibrate_decr = generic_calibrate_decr,
52}; 54};
diff --git a/arch/powerpc/platforms/40x/walnut.c b/arch/powerpc/platforms/40x/walnut.c
index b8b257efeb7..335df91fbee 100644
--- a/arch/powerpc/platforms/40x/walnut.c
+++ b/arch/powerpc/platforms/40x/walnut.c
@@ -26,6 +26,7 @@
26#include <asm/time.h> 26#include <asm/time.h>
27#include <asm/uic.h> 27#include <asm/uic.h>
28#include <asm/pci-bridge.h> 28#include <asm/pci-bridge.h>
29#include <asm/ppc4xx.h>
29 30
30static __initdata struct of_device_id walnut_of_bus[] = { 31static __initdata struct of_device_id walnut_of_bus[] = {
31 { .compatible = "ibm,plb3", }, 32 { .compatible = "ibm,plb3", },
@@ -61,5 +62,6 @@ define_machine(walnut) {
61 .progress = udbg_progress, 62 .progress = udbg_progress,
62 .init_IRQ = uic_init_tree, 63 .init_IRQ = uic_init_tree,
63 .get_irq = uic_get_irq, 64 .get_irq = uic_get_irq,
64 .calibrate_decr = generic_calibrate_decr, 65 .restart = ppc4xx_reset_system,
66 .calibrate_decr = generic_calibrate_decr,
65}; 67};
diff --git a/arch/powerpc/platforms/44x/44x.h b/arch/powerpc/platforms/44x/44x.h
index 42eabf87fea..dbc4d2b4301 100644
--- a/arch/powerpc/platforms/44x/44x.h
+++ b/arch/powerpc/platforms/44x/44x.h
@@ -3,6 +3,5 @@
3 3
4extern u8 as1_readb(volatile u8 __iomem *addr); 4extern u8 as1_readb(volatile u8 __iomem *addr);
5extern void as1_writeb(u8 data, volatile u8 __iomem *addr); 5extern void as1_writeb(u8 data, volatile u8 __iomem *addr);
6extern void ppc44x_reset_system(char *cmd);
7 6
8#endif /* __POWERPC_PLATFORMS_44X_44X_H */ 7#endif /* __POWERPC_PLATFORMS_44X_44X_H */
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 1bfb2191010..6abe91357ee 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -67,6 +67,25 @@ config WARP
67 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer 67 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
68 Telephony Developers" link for more information. 68 Telephony Developers" link for more information.
69 69
70config CANYONLANDS
71 bool "Canyonlands"
72 depends on 44x
73 default n
74 select 460EX
75 select PCI
76 select PPC4xx_PCI_EXPRESS
77 help
78 This option enables support for the AMCC PPC460EX evaluation board.
79
80config YOSEMITE
81 bool "Yosemite"
82 depends on 44x
83 default n
84 select 440EP
85 select PCI
86 help
87 This option enables support for the AMCC PPC440EP evaluation board.
88
70#config LUAN 89#config LUAN
71# bool "Luan" 90# bool "Luan"
72# depends on 44x 91# depends on 44x
@@ -122,6 +141,14 @@ config 440SPe
122 bool 141 bool
123 select IBM_NEW_EMAC_EMAC4 142 select IBM_NEW_EMAC_EMAC4
124 143
144config 460EX
145 bool
146 select PPC_FPU
147 select IBM_NEW_EMAC_EMAC4
148 select IBM_NEW_EMAC_RGMII
149 select IBM_NEW_EMAC_ZMII
150 select IBM_NEW_EMAC_TAH
151
125# 44x errata/workaround config symbols, selected by the CPU models above 152# 44x errata/workaround config symbols, selected by the CPU models above
126config IBM440EP_ERR42 153config IBM440EP_ERR42
127 bool 154 bool
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index 0864d4f1cbc..774165f9acd 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -1,9 +1,11 @@
1obj-$(CONFIG_44x) := misc_44x.o 1obj-$(CONFIG_44x) := misc_44x.o idle.o
2obj-$(CONFIG_EBONY) += ebony.o 2obj-$(CONFIG_EBONY) += ebony.o
3obj-$(CONFIG_TAISHAN) += taishan.o 3obj-$(CONFIG_TAISHAN) += taishan.o
4obj-$(CONFIG_BAMBOO) += bamboo.o 4obj-$(CONFIG_BAMBOO) += bamboo.o
5obj-$(CONFIG_YOSEMITE) += bamboo.o
5obj-$(CONFIG_SEQUOIA) += sequoia.o 6obj-$(CONFIG_SEQUOIA) += sequoia.o
6obj-$(CONFIG_KATMAI) += katmai.o 7obj-$(CONFIG_KATMAI) += katmai.o
7obj-$(CONFIG_RAINIER) += rainier.o 8obj-$(CONFIG_RAINIER) += rainier.o
8obj-$(CONFIG_WARP) += warp.o 9obj-$(CONFIG_WARP) += warp.o
9obj-$(CONFIG_WARP) += warp-nand.o 10obj-$(CONFIG_WARP) += warp-nand.o
11obj-$(CONFIG_CANYONLANDS) += canyonlands.o
diff --git a/arch/powerpc/platforms/44x/bamboo.c b/arch/powerpc/platforms/44x/bamboo.c
index fb9a22a7e8d..cef169e9515 100644
--- a/arch/powerpc/platforms/44x/bamboo.c
+++ b/arch/powerpc/platforms/44x/bamboo.c
@@ -22,8 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25#include <asm/ppc4xx.h>
26#include "44x.h"
27 26
28static __initdata struct of_device_id bamboo_of_bus[] = { 27static __initdata struct of_device_id bamboo_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -53,11 +52,11 @@ static int __init bamboo_probe(void)
53} 52}
54 53
55define_machine(bamboo) { 54define_machine(bamboo) {
56 .name = "Bamboo", 55 .name = "Bamboo",
57 .probe = bamboo_probe, 56 .probe = bamboo_probe,
58 .progress = udbg_progress, 57 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
63}; 62};
diff --git a/arch/powerpc/platforms/44x/canyonlands.c b/arch/powerpc/platforms/44x/canyonlands.c
new file mode 100644
index 00000000000..3949289f51d
--- /dev/null
+++ b/arch/powerpc/platforms/44x/canyonlands.c
@@ -0,0 +1,63 @@
1/*
2 * Canyonlands board specific routines
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * Based on the Katmai code by
7 * Benjamin Herrenschmidt <benh@kernel.crashing.org>
8 * Copyright 2007 IBM Corp.
9 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
10 * Copyright 2007 IBM Corporation
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 */
17#include <linux/init.h>
18#include <linux/of_platform.h>
19
20#include <asm/machdep.h>
21#include <asm/prom.h>
22#include <asm/udbg.h>
23#include <asm/time.h>
24#include <asm/uic.h>
25#include <asm/pci-bridge.h>
26#include <asm/ppc4xx.h>
27
28static __initdata struct of_device_id canyonlands_of_bus[] = {
29 { .compatible = "ibm,plb4", },
30 { .compatible = "ibm,opb", },
31 { .compatible = "ibm,ebc", },
32 {},
33};
34
35static int __init canyonlands_device_probe(void)
36{
37 of_platform_bus_probe(NULL, canyonlands_of_bus, NULL);
38
39 return 0;
40}
41machine_device_initcall(canyonlands, canyonlands_device_probe);
42
43static int __init canyonlands_probe(void)
44{
45 unsigned long root = of_get_flat_dt_root();
46
47 if (!of_flat_dt_is_compatible(root, "amcc,canyonlands"))
48 return 0;
49
50 ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
51
52 return 1;
53}
54
55define_machine(canyonlands) {
56 .name = "Canyonlands",
57 .probe = canyonlands_probe,
58 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq,
61 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr,
63};
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c
index 1a8d467bff8..a0e8fe4662f 100644
--- a/arch/powerpc/platforms/44x/ebony.c
+++ b/arch/powerpc/platforms/44x/ebony.c
@@ -26,8 +26,7 @@
26#include <asm/time.h> 26#include <asm/time.h>
27#include <asm/uic.h> 27#include <asm/uic.h>
28#include <asm/pci-bridge.h> 28#include <asm/pci-bridge.h>
29 29#include <asm/ppc4xx.h>
30#include "44x.h"
31 30
32static __initdata struct of_device_id ebony_of_bus[] = { 31static __initdata struct of_device_id ebony_of_bus[] = {
33 { .compatible = "ibm,plb4", }, 32 { .compatible = "ibm,plb4", },
@@ -66,6 +65,6 @@ define_machine(ebony) {
66 .progress = udbg_progress, 65 .progress = udbg_progress,
67 .init_IRQ = uic_init_tree, 66 .init_IRQ = uic_init_tree,
68 .get_irq = uic_get_irq, 67 .get_irq = uic_get_irq,
69 .restart = ppc44x_reset_system, 68 .restart = ppc4xx_reset_system,
70 .calibrate_decr = generic_calibrate_decr, 69 .calibrate_decr = generic_calibrate_decr,
71}; 70};
diff --git a/arch/powerpc/platforms/44x/idle.c b/arch/powerpc/platforms/44x/idle.c
new file mode 100644
index 00000000000..7a81f921fef
--- /dev/null
+++ b/arch/powerpc/platforms/44x/idle.c
@@ -0,0 +1,67 @@
1/*
2 * Copyright 2008 IBM Corp.
3 *
4 * Based on arch/powerpc/platforms/pasemi/idle.c:
5 * Copyright (C) 2006-2007 PA Semi, Inc
6 *
7 * Added by: Jerone Young <jyoung5@us.ibm.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */
23
24#include <linux/of.h>
25#include <linux/kernel.h>
26#include <asm/machdep.h>
27
28static int mode_spin;
29
30static void ppc44x_idle(void)
31{
32 unsigned long msr_save;
33
34 msr_save = mfmsr();
35 /* set wait state MSR */
36 mtmsr(msr_save|MSR_WE|MSR_EE|MSR_CE|MSR_DE);
37 isync();
38 /* return to initial state */
39 mtmsr(msr_save);
40 isync();
41}
42
43int __init ppc44x_idle_init(void)
44{
45 if (!mode_spin) {
46 /* If we are not setting spin mode
47 then we set to wait mode */
48 ppc_md.power_save = &ppc44x_idle;
49 }
50
51 return 0;
52}
53
54arch_initcall(ppc44x_idle_init);
55
56static int __init idle_param(char *p)
57{
58
59 if (!strcmp("spin", p)) {
60 mode_spin = 1;
61 ppc_md.power_save = NULL;
62 }
63
64 return 0;
65}
66
67early_param("idle", idle_param);
diff --git a/arch/powerpc/platforms/44x/katmai.c b/arch/powerpc/platforms/44x/katmai.c
index 11134121f27..44f4b3a00ce 100644
--- a/arch/powerpc/platforms/44x/katmai.c
+++ b/arch/powerpc/platforms/44x/katmai.c
@@ -22,8 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25#include <asm/ppc4xx.h>
26#include "44x.h"
27 26
28static __initdata struct of_device_id katmai_of_bus[] = { 27static __initdata struct of_device_id katmai_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -58,6 +57,6 @@ define_machine(katmai) {
58 .progress = udbg_progress, 57 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
63}; 62};
diff --git a/arch/powerpc/platforms/44x/misc_44x.S b/arch/powerpc/platforms/44x/misc_44x.S
index 3bce71d5d75..dc12b8009e4 100644
--- a/arch/powerpc/platforms/44x/misc_44x.S
+++ b/arch/powerpc/platforms/44x/misc_44x.S
@@ -44,14 +44,3 @@ _GLOBAL(as1_writeb)
44 sync 44 sync
45 isync 45 isync
46 blr 46 blr
47
48/*
49 * void ppc44x_reset_system(char *cmd)
50 *
51 * At present, this routine just applies a system reset.
52 */
53_GLOBAL(ppc44x_reset_system)
54 mfspr r13,SPRN_DBCR0
55 oris r13,r13,DBCR0_RST_SYSTEM@h
56 mtspr SPRN_DBCR0,r13
57 b . /* Just in case the reset doesn't work */
diff --git a/arch/powerpc/platforms/44x/rainier.c b/arch/powerpc/platforms/44x/rainier.c
index a7fae1cf69c..4f1ff84c4b6 100644
--- a/arch/powerpc/platforms/44x/rainier.c
+++ b/arch/powerpc/platforms/44x/rainier.c
@@ -22,7 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25#include "44x.h" 25#include <asm/ppc4xx.h>
26 26
27static __initdata struct of_device_id rainier_of_bus[] = { 27static __initdata struct of_device_id rainier_of_bus[] = {
28 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -57,6 +57,6 @@ define_machine(rainier) {
57 .progress = udbg_progress, 57 .progress = udbg_progress,
58 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
59 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
60 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
61 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
62}; 62};
diff --git a/arch/powerpc/platforms/44x/sequoia.c b/arch/powerpc/platforms/44x/sequoia.c
index d279db42c89..49eb73daacd 100644
--- a/arch/powerpc/platforms/44x/sequoia.c
+++ b/arch/powerpc/platforms/44x/sequoia.c
@@ -23,7 +23,7 @@
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25
26#include "44x.h" 26#include <asm/ppc4xx.h>
27 27
28static __initdata struct of_device_id sequoia_of_bus[] = { 28static __initdata struct of_device_id sequoia_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 29 { .compatible = "ibm,plb4", },
@@ -58,6 +58,6 @@ define_machine(sequoia) {
58 .progress = udbg_progress, 58 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 59 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 60 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 61 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 62 .calibrate_decr = generic_calibrate_decr,
63}; 63};
diff --git a/arch/powerpc/platforms/44x/taishan.c b/arch/powerpc/platforms/44x/taishan.c
index 28ab7e2e02c..49c78b2098b 100644
--- a/arch/powerpc/platforms/44x/taishan.c
+++ b/arch/powerpc/platforms/44x/taishan.c
@@ -29,8 +29,7 @@
29#include <asm/time.h> 29#include <asm/time.h>
30#include <asm/uic.h> 30#include <asm/uic.h>
31#include <asm/pci-bridge.h> 31#include <asm/pci-bridge.h>
32 32#include <asm/ppc4xx.h>
33#include "44x.h"
34 33
35static __initdata struct of_device_id taishan_of_bus[] = { 34static __initdata struct of_device_id taishan_of_bus[] = {
36 { .compatible = "ibm,plb4", }, 35 { .compatible = "ibm,plb4", },
@@ -68,6 +67,6 @@ define_machine(taishan) {
68 .progress = udbg_progress, 67 .progress = udbg_progress,
69 .init_IRQ = uic_init_tree, 68 .init_IRQ = uic_init_tree,
70 .get_irq = uic_get_irq, 69 .get_irq = uic_get_irq,
71 .restart = ppc44x_reset_system, 70 .restart = ppc4xx_reset_system,
72 .calibrate_decr = generic_calibrate_decr, 71 .calibrate_decr = generic_calibrate_decr,
73}; 72};
diff --git a/arch/powerpc/platforms/44x/warp-nand.c b/arch/powerpc/platforms/44x/warp-nand.c
index 84ab78ff8c0..9150318cfc5 100644
--- a/arch/powerpc/platforms/44x/warp-nand.c
+++ b/arch/powerpc/platforms/44x/warp-nand.c
@@ -11,6 +11,7 @@
11#include <linux/mtd/partitions.h> 11#include <linux/mtd/partitions.h>
12#include <linux/mtd/nand.h> 12#include <linux/mtd/nand.h>
13#include <linux/mtd/ndfc.h> 13#include <linux/mtd/ndfc.h>
14#include <asm/machdep.h>
14 15
15#ifdef CONFIG_MTD_NAND_NDFC 16#ifdef CONFIG_MTD_NAND_NDFC
16 17
@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void)
100 101
101 return 0; 102 return 0;
102} 103}
103device_initcall(warp_setup_nand_flash); 104machine_device_initcall(warp, warp_setup_nand_flash);
104 105
105#endif 106#endif
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
index da5b7b7599d..39cf6150a72 100644
--- a/arch/powerpc/platforms/44x/warp.c
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -18,9 +18,7 @@
18#include <asm/udbg.h> 18#include <asm/udbg.h>
19#include <asm/time.h> 19#include <asm/time.h>
20#include <asm/uic.h> 20#include <asm/uic.h>
21 21#include <asm/ppc4xx.h>
22#include "44x.h"
23
24 22
25static __initdata struct of_device_id warp_of_bus[] = { 23static __initdata struct of_device_id warp_of_bus[] = {
26 { .compatible = "ibm,plb4", }, 24 { .compatible = "ibm,plb4", },
@@ -49,7 +47,7 @@ define_machine(warp) {
49 .progress = udbg_progress, 47 .progress = udbg_progress,
50 .init_IRQ = uic_init_tree, 48 .init_IRQ = uic_init_tree,
51 .get_irq = uic_get_irq, 49 .get_irq = uic_get_irq,
52 .restart = ppc44x_reset_system, 50 .restart = ppc4xx_reset_system,
53 .calibrate_decr = generic_calibrate_decr, 51 .calibrate_decr = generic_calibrate_decr,
54}; 52};
55 53
diff --git a/arch/powerpc/platforms/52xx/lite5200.c b/arch/powerpc/platforms/52xx/lite5200.c
index 956f459e175..6d584f4e3c9 100644
--- a/arch/powerpc/platforms/52xx/lite5200.c
+++ b/arch/powerpc/platforms/52xx/lite5200.c
@@ -63,7 +63,7 @@ lite5200_fix_clock_config(void)
63 of_node_put(np); 63 of_node_put(np);
64 if (!cdm) { 64 if (!cdm) {
65 printk(KERN_ERR "%s() failed; expect abnormal behaviour\n", 65 printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
66 __FUNCTION__); 66 __func__);
67 return; 67 return;
68 } 68 }
69 69
@@ -98,7 +98,7 @@ lite5200_fix_port_config(void)
98 of_node_put(np); 98 of_node_put(np);
99 if (!gpio) { 99 if (!gpio) {
100 printk(KERN_ERR "%s() failed. expect abnormal behavior\n", 100 printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
101 __FUNCTION__); 101 __func__);
102 return; 102 return;
103 } 103 }
104 104
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index 7e76ddbd582..28bc6e58a97 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -46,6 +46,13 @@ config MPC85xx_DS
46 help 46 help
47 This option enables support for the MPC85xx DS (MPC8544 DS) board 47 This option enables support for the MPC85xx DS (MPC8544 DS) board
48 48
49config KSI8560
50 bool "Emerson KSI8560"
51 select PPC_CPM_NEW_BINDING
52 select DEFAULT_UIMAGE
53 help
54 This option enables support for the Emerson KSI8560 board
55
49config STX_GP3 56config STX_GP3
50 bool "Silicon Turnkey Express GP3" 57 bool "Silicon Turnkey Express GP3"
51 help 58 help
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
index cb7af4ebd75..6cea185f62b 100644
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
@@ -10,3 +10,4 @@ obj-$(CONFIG_STX_GP3) += stx_gp3.o
10obj-$(CONFIG_TQM85xx) += tqm85xx.o 10obj-$(CONFIG_TQM85xx) += tqm85xx.o
11obj-$(CONFIG_SBC8560) += sbc8560.o 11obj-$(CONFIG_SBC8560) += sbc8560.o
12obj-$(CONFIG_SBC8548) += sbc8548.o 12obj-$(CONFIG_SBC8548) += sbc8548.o
13obj-$(CONFIG_KSI8560) += ksi8560.o
diff --git a/arch/powerpc/platforms/85xx/ksi8560.c b/arch/powerpc/platforms/85xx/ksi8560.c
new file mode 100644
index 00000000000..2145adeb220
--- /dev/null
+++ b/arch/powerpc/platforms/85xx/ksi8560.c
@@ -0,0 +1,257 @@
1/*
2 * Board setup routines for the Emerson KSI8560
3 *
4 * Author: Alexandr Smirnov <asmirnov@ru.mvista.com>
5 *
6 * Based on mpc85xx_ads.c maintained by Kumar Gala
7 *
8 * 2008 (c) MontaVista, Software, Inc. This file is licensed under
9 * the terms of the GNU General Public License version 2. This program
10 * is licensed "as is" without any warranty of any kind, whether express
11 * or implied.
12 *
13 */
14
15#include <linux/stddef.h>
16#include <linux/kernel.h>
17#include <linux/pci.h>
18#include <linux/kdev_t.h>
19#include <linux/delay.h>
20#include <linux/seq_file.h>
21#include <linux/of_platform.h>
22
23#include <asm/system.h>
24#include <asm/time.h>
25#include <asm/machdep.h>
26#include <asm/pci-bridge.h>
27#include <asm/mpic.h>
28#include <mm/mmu_decl.h>
29#include <asm/udbg.h>
30#include <asm/prom.h>
31
32#include <sysdev/fsl_soc.h>
33#include <sysdev/fsl_pci.h>
34
35#include <asm/cpm2.h>
36#include <sysdev/cpm2_pic.h>
37
38
39#define KSI8560_CPLD_HVR 0x04 /* Hardware Version Register */
40#define KSI8560_CPLD_PVR 0x08 /* PLD Version Register */
41#define KSI8560_CPLD_RCR1 0x30 /* Reset Command Register 1 */
42
43#define KSI8560_CPLD_RCR1_CPUHR 0x80 /* CPU Hard Reset */
44
45static void __iomem *cpld_base = NULL;
46
47static void machine_restart(char *cmd)
48{
49 if (cpld_base)
50 out_8(cpld_base + KSI8560_CPLD_RCR1, KSI8560_CPLD_RCR1_CPUHR);
51 else
52 printk(KERN_ERR "Can't find CPLD base, hang forever\n");
53
54 for (;;);
55}
56
57static void cpm2_cascade(unsigned int irq, struct irq_desc *desc)
58{
59 int cascade_irq;
60
61 while ((cascade_irq = cpm2_get_irq()) >= 0)
62 generic_handle_irq(cascade_irq);
63
64 desc->chip->eoi(irq);
65}
66
67static void __init ksi8560_pic_init(void)
68{
69 struct mpic *mpic;
70 struct resource r;
71 struct device_node *np;
72#ifdef CONFIG_CPM2
73 int irq;
74#endif
75
76 np = of_find_node_by_type(NULL, "open-pic");
77
78 if (np == NULL) {
79 printk(KERN_ERR "Could not find open-pic node\n");
80 return;
81 }
82
83 if (of_address_to_resource(np, 0, &r)) {
84 printk(KERN_ERR "Could not map mpic register space\n");
85 of_node_put(np);
86 return;
87 }
88
89 mpic = mpic_alloc(np, r.start,
90 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
91 0, 256, " OpenPIC ");
92 BUG_ON(mpic == NULL);
93 of_node_put(np);
94
95 mpic_init(mpic);
96
97#ifdef CONFIG_CPM2
98 /* Setup CPM2 PIC */
99 np = of_find_compatible_node(NULL, NULL, "fsl,cpm2-pic");
100 if (np == NULL) {
101 printk(KERN_ERR "PIC init: can not find fsl,cpm2-pic node\n");
102 return;
103 }
104 irq = irq_of_parse_and_map(np, 0);
105
106 cpm2_pic_init(np);
107 of_node_put(np);
108 set_irq_chained_handler(irq, cpm2_cascade);
109
110 setup_irq(0, NULL);
111#endif
112}
113
114#ifdef CONFIG_CPM2
115/*
116 * Setup I/O ports
117 */
118struct cpm_pin {
119 int port, pin, flags;
120};
121
122static struct cpm_pin __initdata ksi8560_pins[] = {
123 /* SCC1 */
124 {3, 29, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
125 {3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
126 {3, 31, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
127
128 /* SCC2 */
129 {3, 26, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
130 {3, 27, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
131 {3, 28, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
132
133 /* FCC1 */
134 {0, 14, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
135 {0, 15, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
136 {0, 16, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
137 {0, 17, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
138 {0, 18, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
139 {0, 19, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
140 {0, 20, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
141 {0, 21, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
142 {0, 26, CPM_PIN_INPUT | CPM_PIN_SECONDARY},
143 {0, 27, CPM_PIN_INPUT | CPM_PIN_SECONDARY},
144 {0, 28, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
145 {0, 29, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
146 {0, 30, CPM_PIN_INPUT | CPM_PIN_SECONDARY},
147 {0, 31, CPM_PIN_INPUT | CPM_PIN_SECONDARY},
148 {2, 23, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* CLK9 */
149 {2, 22, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* CLK10 */
150
151};
152
153static void __init init_ioports(void)
154{
155 int i;
156
157 for (i = 0; i < ARRAY_SIZE(ksi8560_pins); i++) {
158 struct cpm_pin *pin = &ksi8560_pins[i];
159 cpm2_set_pin(pin->port, pin->pin, pin->flags);
160 }
161
162 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_RX);
163 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_TX);
164 cpm2_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_RX);
165 cpm2_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_TX);
166 cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK9, CPM_CLK_RX);
167 cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK10, CPM_CLK_TX);
168}
169#endif
170
171/*
172 * Setup the architecture
173 */
174static void __init ksi8560_setup_arch(void)
175{
176 struct device_node *cpld;
177
178 cpld = of_find_compatible_node(NULL, NULL, "emerson,KSI8560-cpld");
179 if (cpld)
180 cpld_base = of_iomap(cpld, 0);
181 else
182 printk(KERN_ERR "Can't find CPLD in device tree\n");
183
184 if (ppc_md.progress)
185 ppc_md.progress("ksi8560_setup_arch()", 0);
186
187#ifdef CONFIG_CPM2
188 cpm2_reset();
189 init_ioports();
190#endif
191}
192
193static void ksi8560_show_cpuinfo(struct seq_file *m)
194{
195 uint pvid, svid, phid1;
196 uint memsize = total_memory;
197
198 pvid = mfspr(SPRN_PVR);
199 svid = mfspr(SPRN_SVR);
200
201 seq_printf(m, "Vendor\t\t: Emerson Network Power\n");
202 seq_printf(m, "Board\t\t: KSI8560\n");
203
204 if (cpld_base) {
205 seq_printf(m, "Hardware rev\t: %d\n",
206 in_8(cpld_base + KSI8560_CPLD_HVR));
207 seq_printf(m, "CPLD rev\t: %d\n",
208 in_8(cpld_base + KSI8560_CPLD_PVR));
209 } else
210 seq_printf(m, "Unknown Hardware and CPLD revs\n");
211
212 seq_printf(m, "PVR\t\t: 0x%x\n", pvid);
213 seq_printf(m, "SVR\t\t: 0x%x\n", svid);
214
215 /* Display cpu Pll setting */
216 phid1 = mfspr(SPRN_HID1);
217 seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
218
219 /* Display the amount of memory */
220 seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024));
221}
222
223static struct of_device_id __initdata of_bus_ids[] = {
224 { .type = "soc", },
225 { .name = "cpm", },
226 { .name = "localbus", },
227 {},
228};
229
230static int __init declare_of_platform_devices(void)
231{
232 of_platform_bus_probe(NULL, of_bus_ids, NULL);
233
234 return 0;
235}
236machine_device_initcall(ksi8560, declare_of_platform_devices);
237
238/*
239 * Called very early, device-tree isn't unflattened
240 */
241static int __init ksi8560_probe(void)
242{
243 unsigned long root = of_get_flat_dt_root();
244
245 return of_flat_dt_is_compatible(root, "emerson,KSI8560");
246}
247
248define_machine(ksi8560) {
249 .name = "KSI8560",
250 .probe = ksi8560_probe,
251 .setup_arch = ksi8560_setup_arch,
252 .init_IRQ = ksi8560_pic_init,
253 .show_cpuinfo = ksi8560_show_cpuinfo,
254 .get_irq = mpic_get_irq,
255 .restart = machine_restart,
256 .calibrate_decr = generic_calibrate_decr,
257};
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index bdb3d0b38cd..2865d019afc 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -36,7 +36,7 @@
36#undef DEBUG 36#undef DEBUG
37 37
38#ifdef DEBUG 38#ifdef DEBUG
39#define DBG(fmt, args...) printk(KERN_ERR "%s: " fmt, __FUNCTION__, ## args) 39#define DBG(fmt, args...) printk(KERN_ERR "%s: " fmt, __func__, ## args)
40#else 40#else
41#define DBG(fmt, args...) 41#define DBG(fmt, args...)
42#endif 42#endif
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index 184f998d1be..0d9f75c74f8 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -111,17 +111,12 @@ void __init mpc8xx_calibrate_decr(void)
111 111
112 /* Processor frequency is MHz. 112 /* Processor frequency is MHz.
113 */ 113 */
114 ppc_tb_freq = 50000000;
115 if (!get_freq("bus-frequency", &ppc_tb_freq)) {
116 printk(KERN_ERR "WARNING: Estimating decrementer frequency "
117 "(not found)\n");
118 }
119 ppc_tb_freq /= 16;
120 ppc_proc_freq = 50000000; 114 ppc_proc_freq = 50000000;
121 if (!get_freq("clock-frequency", &ppc_proc_freq)) 115 if (!get_freq("clock-frequency", &ppc_proc_freq))
122 printk(KERN_ERR "WARNING: Estimating processor frequency " 116 printk(KERN_ERR "WARNING: Estimating processor frequency "
123 "(not found)\n"); 117 "(not found)\n");
124 118
119 ppc_tb_freq = ppc_proc_freq / 16;
125 printk("Decrementer Frequency = 0x%lx\n", ppc_tb_freq); 120 printk("Decrementer Frequency = 0x%lx\n", ppc_tb_freq);
126 121
127 /* Perform some more timer/timebase initialization. This used 122 /* Perform some more timer/timebase initialization. This used
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 0c3face0ddb..5fc7fac10e9 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -41,11 +41,13 @@ config 40x
41 bool "AMCC 40x" 41 bool "AMCC 40x"
42 select PPC_DCR_NATIVE 42 select PPC_DCR_NATIVE
43 select PPC_UDBG_16550 43 select PPC_UDBG_16550
44 select 4xx_SOC
44 45
45config 44x 46config 44x
46 bool "AMCC 44x" 47 bool "AMCC 44x"
47 select PPC_DCR_NATIVE 48 select PPC_DCR_NATIVE
48 select PPC_UDBG_16550 49 select PPC_UDBG_16550
50 select 4xx_SOC
49 51
50config E200 52config E200
51 bool "Freescale e200" 53 bool "Freescale e200"
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index d75ccded7f1..45646b2b4af 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -28,13 +28,13 @@
28#include <linux/notifier.h> 28#include <linux/notifier.h>
29#include <linux/of.h> 29#include <linux/of.h>
30#include <linux/of_platform.h> 30#include <linux/of_platform.h>
31#include <linux/lmb.h>
31 32
32#include <asm/prom.h> 33#include <asm/prom.h>
33#include <asm/iommu.h> 34#include <asm/iommu.h>
34#include <asm/machdep.h> 35#include <asm/machdep.h>
35#include <asm/pci-bridge.h> 36#include <asm/pci-bridge.h>
36#include <asm/udbg.h> 37#include <asm/udbg.h>
37#include <asm/lmb.h>
38#include <asm/firmware.h> 38#include <asm/firmware.h>
39#include <asm/cell-regs.h> 39#include <asm/cell-regs.h>
40 40
@@ -316,7 +316,7 @@ static void cell_iommu_setup_stab(struct cbe_iommu *iommu,
316 segments = max(dbase + dsize, fbase + fsize) >> IO_SEGMENT_SHIFT; 316 segments = max(dbase + dsize, fbase + fsize) >> IO_SEGMENT_SHIFT;
317 317
318 pr_debug("%s: iommu[%d]: segments: %lu\n", 318 pr_debug("%s: iommu[%d]: segments: %lu\n",
319 __FUNCTION__, iommu->nid, segments); 319 __func__, iommu->nid, segments);
320 320
321 /* set up the segment table */ 321 /* set up the segment table */
322 stab_size = segments * sizeof(unsigned long); 322 stab_size = segments * sizeof(unsigned long);
@@ -343,7 +343,7 @@ static unsigned long *cell_iommu_alloc_ptab(struct cbe_iommu *iommu,
343 (1 << 12) / sizeof(unsigned long)); 343 (1 << 12) / sizeof(unsigned long));
344 344
345 ptab_size = segments * pages_per_segment * sizeof(unsigned long); 345 ptab_size = segments * pages_per_segment * sizeof(unsigned long);
346 pr_debug("%s: iommu[%d]: ptab_size: %lu, order: %d\n", __FUNCTION__, 346 pr_debug("%s: iommu[%d]: ptab_size: %lu, order: %d\n", __func__,
347 iommu->nid, ptab_size, get_order(ptab_size)); 347 iommu->nid, ptab_size, get_order(ptab_size));
348 page = alloc_pages_node(iommu->nid, GFP_KERNEL, get_order(ptab_size)); 348 page = alloc_pages_node(iommu->nid, GFP_KERNEL, get_order(ptab_size));
349 BUG_ON(!page); 349 BUG_ON(!page);
@@ -355,7 +355,7 @@ static unsigned long *cell_iommu_alloc_ptab(struct cbe_iommu *iommu,
355 n_pte_pages = (pages_per_segment * sizeof(unsigned long)) >> 12; 355 n_pte_pages = (pages_per_segment * sizeof(unsigned long)) >> 12;
356 356
357 pr_debug("%s: iommu[%d]: stab at %p, ptab at %p, n_pte_pages: %lu\n", 357 pr_debug("%s: iommu[%d]: stab at %p, ptab at %p, n_pte_pages: %lu\n",
358 __FUNCTION__, iommu->nid, iommu->stab, ptab, 358 __func__, iommu->nid, iommu->stab, ptab,
359 n_pte_pages); 359 n_pte_pages);
360 360
361 /* initialise the STEs */ 361 /* initialise the STEs */
@@ -394,7 +394,7 @@ static void cell_iommu_enable_hardware(struct cbe_iommu *iommu)
394 394
395 if (cell_iommu_find_ioc(iommu->nid, &xlate_base)) 395 if (cell_iommu_find_ioc(iommu->nid, &xlate_base))
396 panic("%s: missing IOC register mappings for node %d\n", 396 panic("%s: missing IOC register mappings for node %d\n",
397 __FUNCTION__, iommu->nid); 397 __func__, iommu->nid);
398 398
399 iommu->xlate_regs = ioremap(xlate_base, IOC_Reg_Size); 399 iommu->xlate_regs = ioremap(xlate_base, IOC_Reg_Size);
400 iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset; 400 iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset;
diff --git a/arch/powerpc/platforms/cell/pervasive.c b/arch/powerpc/platforms/cell/pervasive.c
index 0304589c0a8..8a3631ce912 100644
--- a/arch/powerpc/platforms/cell/pervasive.c
+++ b/arch/powerpc/platforms/cell/pervasive.c
@@ -65,7 +65,7 @@ static void cbe_power_save(void)
65 break; 65 break;
66 default: 66 default:
67 printk(KERN_WARNING "%s: unknown configuration\n", 67 printk(KERN_WARNING "%s: unknown configuration\n",
68 __FUNCTION__); 68 __func__);
69 break; 69 break;
70 } 70 }
71 mtspr(SPRN_TSC_CELL, thread_switch_control); 71 mtspr(SPRN_TSC_CELL, thread_switch_control);
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c
index e43024c0392..655704ad03c 100644
--- a/arch/powerpc/platforms/cell/ras.c
+++ b/arch/powerpc/platforms/cell/ras.c
@@ -132,7 +132,7 @@ static int __init cbe_ptcal_enable_on_node(int nid, int order)
132 (unsigned int)(addr >> 32), 132 (unsigned int)(addr >> 32),
133 (unsigned int)(addr & 0xffffffff))) { 133 (unsigned int)(addr & 0xffffffff))) {
134 printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n", 134 printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n",
135 __FUNCTION__, nid); 135 __func__, nid);
136 goto out_free_pages; 136 goto out_free_pages;
137 } 137 }
138 138
@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void)
162 if (!size) 162 if (!size)
163 return -ENODEV; 163 return -ENODEV;
164 164
165 pr_debug("%s: enabling PTCAL, size = 0x%x\n", __FUNCTION__, *size); 165 pr_debug("%s: enabling PTCAL, size = 0x%x\n", __func__, *size);
166 order = get_order(*size); 166 order = get_order(*size);
167 of_node_put(np); 167 of_node_put(np);
168 168
@@ -180,7 +180,7 @@ static int __init cbe_ptcal_enable(void)
180 const u32 *nid = of_get_property(np, "node-id", NULL); 180 const u32 *nid = of_get_property(np, "node-id", NULL);
181 if (!nid) { 181 if (!nid) {
182 printk(KERN_ERR "%s: node %s is missing node-id?\n", 182 printk(KERN_ERR "%s: node %s is missing node-id?\n",
183 __FUNCTION__, np->full_name); 183 __func__, np->full_name);
184 continue; 184 continue;
185 } 185 }
186 cbe_ptcal_enable_on_node(*nid, order); 186 cbe_ptcal_enable_on_node(*nid, order);
@@ -195,13 +195,13 @@ static int cbe_ptcal_disable(void)
195 struct ptcal_area *area, *tmp; 195 struct ptcal_area *area, *tmp;
196 int ret = 0; 196 int ret = 0;
197 197
198 pr_debug("%s: disabling PTCAL\n", __FUNCTION__); 198 pr_debug("%s: disabling PTCAL\n", __func__);
199 199
200 list_for_each_entry_safe(area, tmp, &ptcal_list, list) { 200 list_for_each_entry_safe(area, tmp, &ptcal_list, list) {
201 /* disable ptcal on this node */ 201 /* disable ptcal on this node */
202 if (rtas_call(ptcal_stop_tok, 1, 1, NULL, area->nid)) { 202 if (rtas_call(ptcal_stop_tok, 1, 1, NULL, area->nid)) {
203 printk(KERN_ERR "%s: error disabling PTCAL " 203 printk(KERN_ERR "%s: error disabling PTCAL "
204 "on node %d!\n", __FUNCTION__, 204 "on node %d!\n", __func__,
205 area->nid); 205 area->nid);
206 ret = -EIO; 206 ret = -EIO;
207 continue; 207 continue;
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index 712001f6b7d..6bab44b7716 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -165,7 +165,7 @@ static int __spu_trap_data_seg(struct spu *spu, unsigned long ea)
165 struct spu_slb slb; 165 struct spu_slb slb;
166 int psize; 166 int psize;
167 167
168 pr_debug("%s\n", __FUNCTION__); 168 pr_debug("%s\n", __func__);
169 169
170 slb.esid = (ea & ESID_MASK) | SLB_ESID_V; 170 slb.esid = (ea & ESID_MASK) | SLB_ESID_V;
171 171
@@ -215,7 +215,7 @@ static int __spu_trap_data_seg(struct spu *spu, unsigned long ea)
215extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX 215extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX
216static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr) 216static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr)
217{ 217{
218 pr_debug("%s, %lx, %lx\n", __FUNCTION__, dsisr, ea); 218 pr_debug("%s, %lx, %lx\n", __func__, dsisr, ea);
219 219
220 /* Handle kernel space hash faults immediately. 220 /* Handle kernel space hash faults immediately.
221 User hash faults need to be deferred to process context. */ 221 User hash faults need to be deferred to process context. */
@@ -351,7 +351,7 @@ spu_irq_class_1(int irq, void *data)
351 __spu_trap_data_seg(spu, dar); 351 __spu_trap_data_seg(spu, dar);
352 352
353 spin_unlock(&spu->register_lock); 353 spin_unlock(&spu->register_lock);
354 pr_debug("%s: %lx %lx %lx %lx\n", __FUNCTION__, mask, stat, 354 pr_debug("%s: %lx %lx %lx %lx\n", __func__, mask, stat,
355 dar, dsisr); 355 dar, dsisr);
356 356
357 if (stat & CLASS1_STORAGE_FAULT_INTR) 357 if (stat & CLASS1_STORAGE_FAULT_INTR)
@@ -726,7 +726,7 @@ static int __init init_spu_base(void)
726 726
727 if (ret < 0) { 727 if (ret < 0) {
728 printk(KERN_WARNING "%s: Error initializing spus\n", 728 printk(KERN_WARNING "%s: Error initializing spus\n",
729 __FUNCTION__); 729 __func__);
730 goto out_unregister_sysdev_class; 730 goto out_unregister_sysdev_class;
731 } 731 }
732 732
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c
index dceb8b6a938..19f6bfdbb93 100644
--- a/arch/powerpc/platforms/cell/spu_callbacks.c
+++ b/arch/powerpc/platforms/cell/spu_callbacks.c
@@ -54,7 +54,7 @@ long spu_sys_callback(struct spu_syscall_block *s)
54 long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); 54 long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
55 55
56 if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) { 56 if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
57 pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); 57 pr_debug("%s: invalid syscall #%ld", __func__, s->nr_ret);
58 return -ENOSYS; 58 return -ENOSYS;
59 } 59 }
60 60
diff --git a/arch/powerpc/platforms/cell/spu_manage.c b/arch/powerpc/platforms/cell/spu_manage.c
index d351bdebf5f..4c506c1463c 100644
--- a/arch/powerpc/platforms/cell/spu_manage.c
+++ b/arch/powerpc/platforms/cell/spu_manage.c
@@ -92,7 +92,7 @@ static int __init spu_map_interrupts_old(struct spu *spu,
92 92
93 tmp = of_get_property(np->parent->parent, "node-id", NULL); 93 tmp = of_get_property(np->parent->parent, "node-id", NULL);
94 if (!tmp) { 94 if (!tmp) {
95 printk(KERN_WARNING "%s: can't find node-id\n", __FUNCTION__); 95 printk(KERN_WARNING "%s: can't find node-id\n", __func__);
96 nid = spu->node; 96 nid = spu->node;
97 } else 97 } else
98 nid = tmp[0]; 98 nid = tmp[0];
@@ -296,7 +296,7 @@ static int __init of_enumerate_spus(int (*fn)(void *data))
296 ret = fn(node); 296 ret = fn(node);
297 if (ret) { 297 if (ret) {
298 printk(KERN_WARNING "%s: Error initializing %s\n", 298 printk(KERN_WARNING "%s: Error initializing %s\n",
299 __FUNCTION__, node->name); 299 __func__, node->name);
300 break; 300 break;
301 } 301 }
302 n++; 302 n++;
@@ -327,7 +327,7 @@ static int __init of_create_spu(struct spu *spu, void *data)
327 if (!legacy_map) { 327 if (!legacy_map) {
328 legacy_map = 1; 328 legacy_map = 1;
329 printk(KERN_WARNING "%s: Legacy device tree found, " 329 printk(KERN_WARNING "%s: Legacy device tree found, "
330 "trying to map old style\n", __FUNCTION__); 330 "trying to map old style\n", __func__);
331 } 331 }
332 ret = spu_map_device_old(spu); 332 ret = spu_map_device_old(spu);
333 if (ret) { 333 if (ret) {
@@ -342,7 +342,7 @@ static int __init of_create_spu(struct spu *spu, void *data)
342 if (!legacy_irq) { 342 if (!legacy_irq) {
343 legacy_irq = 1; 343 legacy_irq = 1;
344 printk(KERN_WARNING "%s: Legacy device tree found, " 344 printk(KERN_WARNING "%s: Legacy device tree found, "
345 "trying old style irq\n", __FUNCTION__); 345 "trying old style irq\n", __func__);
346 } 346 }
347 ret = spu_map_interrupts_old(spu, spe); 347 ret = spu_map_interrupts_old(spu, spe);
348 if (ret) { 348 if (ret) {
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c
index 189933e3a94..ba791e931bd 100644
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
@@ -1556,7 +1556,7 @@ void spufs_mfc_callback(struct spu *spu)
1556 1556
1557 wake_up_all(&ctx->mfc_wq); 1557 wake_up_all(&ctx->mfc_wq);
1558 1558
1559 pr_debug("%s %s\n", __FUNCTION__, spu->name); 1559 pr_debug("%s %s\n", __func__, spu->name);
1560 if (ctx->mfc_fasync) { 1560 if (ctx->mfc_fasync) {
1561 u32 free_elements, tagstatus; 1561 u32 free_elements, tagstatus;
1562 unsigned int mask; 1562 unsigned int mask;
@@ -1790,7 +1790,7 @@ static unsigned int spufs_mfc_poll(struct file *file,poll_table *wait)
1790 if (tagstatus & ctx->tagwait) 1790 if (tagstatus & ctx->tagwait)
1791 mask |= POLLIN | POLLRDNORM; 1791 mask |= POLLIN | POLLRDNORM;
1792 1792
1793 pr_debug("%s: free %d tagstatus %d tagwait %d\n", __FUNCTION__, 1793 pr_debug("%s: free %d tagstatus %d tagwait %d\n", __func__,
1794 free_elements, tagstatus, ctx->tagwait); 1794 free_elements, tagstatus, ctx->tagwait);
1795 1795
1796 return mask; 1796 return mask;
diff --git a/arch/powerpc/platforms/cell/spufs/run.c b/arch/powerpc/platforms/cell/spufs/run.c
index 2619f14546a..96bf7c2b86f 100644
--- a/arch/powerpc/platforms/cell/spufs/run.c
+++ b/arch/powerpc/platforms/cell/spufs/run.c
@@ -98,7 +98,7 @@ static int spu_setup_isolated(struct spu_context *ctx)
98 != MFC_CNTL_PURGE_DMA_COMPLETE) { 98 != MFC_CNTL_PURGE_DMA_COMPLETE) {
99 if (time_after(jiffies, timeout)) { 99 if (time_after(jiffies, timeout)) {
100 printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n", 100 printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n",
101 __FUNCTION__); 101 __func__);
102 ret = -EIO; 102 ret = -EIO;
103 goto out; 103 goto out;
104 } 104 }
@@ -124,7 +124,7 @@ static int spu_setup_isolated(struct spu_context *ctx)
124 status_loading) { 124 status_loading) {
125 if (time_after(jiffies, timeout)) { 125 if (time_after(jiffies, timeout)) {
126 printk(KERN_ERR "%s: timeout waiting for loader\n", 126 printk(KERN_ERR "%s: timeout waiting for loader\n",
127 __FUNCTION__); 127 __func__);
128 ret = -EIO; 128 ret = -EIO;
129 goto out_drop_priv; 129 goto out_drop_priv;
130 } 130 }
@@ -134,7 +134,7 @@ static int spu_setup_isolated(struct spu_context *ctx)
134 if (!(status & SPU_STATUS_RUNNING)) { 134 if (!(status & SPU_STATUS_RUNNING)) {
135 /* If isolated LOAD has failed: run SPU, we will get a stop-and 135 /* If isolated LOAD has failed: run SPU, we will get a stop-and
136 * signal later. */ 136 * signal later. */
137 pr_debug("%s: isolated LOAD failed\n", __FUNCTION__); 137 pr_debug("%s: isolated LOAD failed\n", __func__);
138 ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_RUNNABLE); 138 ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_RUNNABLE);
139 ret = -EACCES; 139 ret = -EACCES;
140 goto out_drop_priv; 140 goto out_drop_priv;
@@ -142,7 +142,7 @@ static int spu_setup_isolated(struct spu_context *ctx)
142 142
143 if (!(status & SPU_STATUS_ISOLATED_STATE)) { 143 if (!(status & SPU_STATUS_ISOLATED_STATE)) {
144 /* This isn't allowed by the CBEA, but check anyway */ 144 /* This isn't allowed by the CBEA, but check anyway */
145 pr_debug("%s: SPU fell out of isolated mode?\n", __FUNCTION__); 145 pr_debug("%s: SPU fell out of isolated mode?\n", __func__);
146 ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_STOP); 146 ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_STOP);
147 ret = -EINVAL; 147 ret = -EINVAL;
148 goto out_drop_priv; 148 goto out_drop_priv;
@@ -282,7 +282,7 @@ static int spu_handle_restartsys(struct spu_context *ctx, long *spu_ret,
282 break; 282 break;
283 default: 283 default:
284 printk(KERN_WARNING "%s: unexpected return code %ld\n", 284 printk(KERN_WARNING "%s: unexpected return code %ld\n",
285 __FUNCTION__, *spu_ret); 285 __func__, *spu_ret);
286 ret = 0; 286 ret = 0;
287 } 287 }
288 return ret; 288 return ret;
diff --git a/arch/powerpc/platforms/celleb/beat.c b/arch/powerpc/platforms/celleb/beat.c
index 93ebb7d8512..b64b171f245 100644
--- a/arch/powerpc/platforms/celleb/beat.c
+++ b/arch/powerpc/platforms/celleb/beat.c
@@ -48,6 +48,7 @@ void beat_power_off(void)
48} 48}
49 49
50u64 beat_halt_code = 0x1000000000000000UL; 50u64 beat_halt_code = 0x1000000000000000UL;
51EXPORT_SYMBOL(beat_halt_code);
51 52
52void beat_halt(void) 53void beat_halt(void)
53{ 54{
@@ -94,9 +95,8 @@ ssize_t beat_nvram_read(char *buf, size_t count, loff_t *index)
94 len = count; 95 len = count;
95 if (len > BEAT_NVRW_CNT) 96 if (len > BEAT_NVRW_CNT)
96 len = BEAT_NVRW_CNT; 97 len = BEAT_NVRW_CNT;
97 if (beat_eeprom_read(i, len, p)) { 98 if (beat_eeprom_read(i, len, p))
98 return -EIO; 99 return -EIO;
99 }
100 100
101 p += len; 101 p += len;
102 i += len; 102 i += len;
@@ -121,9 +121,8 @@ ssize_t beat_nvram_write(char *buf, size_t count, loff_t *index)
121 len = count; 121 len = count;
122 if (len > BEAT_NVRW_CNT) 122 if (len > BEAT_NVRW_CNT)
123 len = BEAT_NVRW_CNT; 123 len = BEAT_NVRW_CNT;
124 if (beat_eeprom_write(i, len, p)) { 124 if (beat_eeprom_write(i, len, p))
125 return -EIO; 125 return -EIO;
126 }
127 126
128 p += len; 127 p += len;
129 i += len; 128 i += len;
@@ -149,13 +148,14 @@ int64_t beat_get_term_char(u64 vterm, u64 *len, u64 *t1, u64 *t2)
149 u64 db[2]; 148 u64 db[2];
150 s64 ret; 149 s64 ret;
151 150
152 ret = beat_get_characters_from_console(vterm, len, (u8*)db); 151 ret = beat_get_characters_from_console(vterm, len, (u8 *)db);
153 if (ret == 0) { 152 if (ret == 0) {
154 *t1 = db[0]; 153 *t1 = db[0];
155 *t2 = db[1]; 154 *t2 = db[1];
156 } 155 }
157 return ret; 156 return ret;
158} 157}
158EXPORT_SYMBOL(beat_get_term_char);
159 159
160int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2) 160int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
161{ 161{
@@ -163,8 +163,9 @@ int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
163 163
164 db[0] = t1; 164 db[0] = t1;
165 db[1] = t2; 165 db[1] = t2;
166 return beat_put_characters_to_console(vterm, len, (u8*)db); 166 return beat_put_characters_to_console(vterm, len, (u8 *)db);
167} 167}
168EXPORT_SYMBOL(beat_put_term_char);
168 169
169void beat_power_save(void) 170void beat_power_save(void)
170{ 171{
@@ -261,7 +262,3 @@ static int __init beat_event_init(void)
261} 262}
262 263
263device_initcall(beat_event_init); 264device_initcall(beat_event_init);
264
265EXPORT_SYMBOL(beat_get_term_char);
266EXPORT_SYMBOL(beat_put_term_char);
267EXPORT_SYMBOL(beat_halt_code);
diff --git a/arch/powerpc/platforms/celleb/beat.h b/arch/powerpc/platforms/celleb/beat.h
index ac82ac35b99..32c8efcedc8 100644
--- a/arch/powerpc/platforms/celleb/beat.h
+++ b/arch/powerpc/platforms/celleb/beat.h
@@ -21,8 +21,8 @@
21#ifndef _CELLEB_BEAT_H 21#ifndef _CELLEB_BEAT_H
22#define _CELLEB_BEAT_H 22#define _CELLEB_BEAT_H
23 23
24int64_t beat_get_term_char(uint64_t,uint64_t*,uint64_t*,uint64_t*); 24int64_t beat_get_term_char(uint64_t, uint64_t *, uint64_t *, uint64_t *);
25int64_t beat_put_term_char(uint64_t,uint64_t,uint64_t,uint64_t); 25int64_t beat_put_term_char(uint64_t, uint64_t, uint64_t, uint64_t);
26int64_t beat_repository_encode(int, const char *, uint64_t[4]); 26int64_t beat_repository_encode(int, const char *, uint64_t[4]);
27void beat_restart(char *); 27void beat_restart(char *);
28void beat_power_off(void); 28void beat_power_off(void);
diff --git a/arch/powerpc/platforms/celleb/beat_wrapper.h b/arch/powerpc/platforms/celleb/beat_wrapper.h
index cbc1487df7d..b47dfda48d0 100644
--- a/arch/powerpc/platforms/celleb/beat_wrapper.h
+++ b/arch/powerpc/platforms/celleb/beat_wrapper.h
@@ -197,7 +197,8 @@ static inline s64 beat_put_characters_to_console(u64 termno, u64 len,
197 u64 b[2]; 197 u64 b[2];
198 198
199 memcpy(b, buffer, len); 199 memcpy(b, buffer, len);
200 return beat_hcall_norets(HV_put_characters_to_console, termno, len, b[0], b[1]); 200 return beat_hcall_norets(HV_put_characters_to_console, termno, len,
201 b[0], b[1]);
201} 202}
202 203
203static inline s64 beat_get_spe_privileged_state_1_registers( 204static inline s64 beat_get_spe_privileged_state_1_registers(
diff --git a/arch/powerpc/platforms/celleb/htab.c b/arch/powerpc/platforms/celleb/htab.c
index fbf27c74ebd..81467ff055c 100644
--- a/arch/powerpc/platforms/celleb/htab.c
+++ b/arch/powerpc/platforms/celleb/htab.c
@@ -35,9 +35,9 @@
35#include "beat_wrapper.h" 35#include "beat_wrapper.h"
36 36
37#ifdef DEBUG_LOW 37#ifdef DEBUG_LOW
38#define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0) 38#define DBG_LOW(fmt...) do { udbg_printf(fmt); } while (0)
39#else 39#else
40#define DBG_LOW(fmt...) do { } while(0) 40#define DBG_LOW(fmt...) do { } while (0)
41#endif 41#endif
42 42
43static DEFINE_SPINLOCK(beat_htab_lock); 43static DEFINE_SPINLOCK(beat_htab_lock);
@@ -116,7 +116,8 @@ static long beat_lpar_hpte_insert(unsigned long hpte_group,
116 hpte_r &= ~_PAGE_COHERENT; 116 hpte_r &= ~_PAGE_COHERENT;
117 117
118 spin_lock(&beat_htab_lock); 118 spin_lock(&beat_htab_lock);
119 if ((lpar_rc = beat_read_mask(hpte_group)) == 0) { 119 lpar_rc = beat_read_mask(hpte_group);
120 if (lpar_rc == 0) {
120 if (!(vflags & HPTE_V_BOLTED)) 121 if (!(vflags & HPTE_V_BOLTED))
121 DBG_LOW(" full\n"); 122 DBG_LOW(" full\n");
122 spin_unlock(&beat_htab_lock); 123 spin_unlock(&beat_htab_lock);
diff --git a/arch/powerpc/platforms/celleb/interrupt.c b/arch/powerpc/platforms/celleb/interrupt.c
index c7c68ca70c8..69562a86787 100644
--- a/arch/powerpc/platforms/celleb/interrupt.c
+++ b/arch/powerpc/platforms/celleb/interrupt.c
@@ -34,7 +34,7 @@ static DEFINE_SPINLOCK(beatic_irq_mask_lock);
34static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64]; 34static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64];
35static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64]; 35static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64];
36 36
37static struct irq_host *beatic_host = NULL; 37static struct irq_host *beatic_host;
38 38
39/* 39/*
40 * In this implementation, "virq" == "IRQ plug number", 40 * In this implementation, "virq" == "IRQ plug number",
@@ -49,13 +49,13 @@ static inline void beatic_update_irq_mask(unsigned int irq_plug)
49 49
50 off = (irq_plug / 256) * 4; 50 off = (irq_plug / 256) * 4;
51 masks[0] = beatic_irq_mask_enable[off + 0] 51 masks[0] = beatic_irq_mask_enable[off + 0]
52 & beatic_irq_mask_ack[off + 0]; 52 & beatic_irq_mask_ack[off + 0];
53 masks[1] = beatic_irq_mask_enable[off + 1] 53 masks[1] = beatic_irq_mask_enable[off + 1]
54 & beatic_irq_mask_ack[off + 1]; 54 & beatic_irq_mask_ack[off + 1];
55 masks[2] = beatic_irq_mask_enable[off + 2] 55 masks[2] = beatic_irq_mask_enable[off + 2]
56 & beatic_irq_mask_ack[off + 2]; 56 & beatic_irq_mask_ack[off + 2];
57 masks[3] = beatic_irq_mask_enable[off + 3] 57 masks[3] = beatic_irq_mask_enable[off + 3]
58 & beatic_irq_mask_ack[off + 3]; 58 & beatic_irq_mask_ack[off + 3];
59 if (beat_set_interrupt_mask(irq_plug&~255UL, 59 if (beat_set_interrupt_mask(irq_plug&~255UL,
60 masks[0], masks[1], masks[2], masks[3]) != 0) 60 masks[0], masks[1], masks[2], masks[3]) != 0)
61 panic("Failed to set mask IRQ!"); 61 panic("Failed to set mask IRQ!");
@@ -96,7 +96,8 @@ static void beatic_end_irq(unsigned int irq_plug)
96 s64 err; 96 s64 err;
97 unsigned long flags; 97 unsigned long flags;
98 98
99 if ((err = beat_downcount_of_interrupt(irq_plug)) != 0) { 99 err = beat_downcount_of_interrupt(irq_plug);
100 if (err != 0) {
100 if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */ 101 if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */
101 panic("Failed to downcount IRQ! Error = %16lx", err); 102 panic("Failed to downcount IRQ! Error = %16lx", err);
102 103
@@ -138,7 +139,8 @@ static int beatic_pic_host_map(struct irq_host *h, unsigned int virq,
138 struct irq_desc *desc = get_irq_desc(virq); 139 struct irq_desc *desc = get_irq_desc(virq);
139 int64_t err; 140 int64_t err;
140 141
141 if ((err = beat_construct_and_connect_irq_plug(virq, hw)) < 0) 142 err = beat_construct_and_connect_irq_plug(virq, hw);
143 if (err < 0)
142 return -EIO; 144 return -EIO;
143 145
144 desc->status |= IRQ_LEVEL; 146 desc->status |= IRQ_LEVEL;
@@ -202,22 +204,22 @@ static inline unsigned int beatic_get_irq_plug(void)
202 beat_detect_pending_interrupts(i, pending); 204 beat_detect_pending_interrupts(i, pending);
203 __asm__ ("cntlzd %0,%1":"=r"(ub): 205 __asm__ ("cntlzd %0,%1":"=r"(ub):
204 "r"(pending[0] & beatic_irq_mask_enable[i/64+0] 206 "r"(pending[0] & beatic_irq_mask_enable[i/64+0]
205 & beatic_irq_mask_ack[i/64+0])); 207 & beatic_irq_mask_ack[i/64+0]));
206 if (ub != 64) 208 if (ub != 64)
207 return i + ub + 0; 209 return i + ub + 0;
208 __asm__ ("cntlzd %0,%1":"=r"(ub): 210 __asm__ ("cntlzd %0,%1":"=r"(ub):
209 "r"(pending[1] & beatic_irq_mask_enable[i/64+1] 211 "r"(pending[1] & beatic_irq_mask_enable[i/64+1]
210 & beatic_irq_mask_ack[i/64+1])); 212 & beatic_irq_mask_ack[i/64+1]));
211 if (ub != 64) 213 if (ub != 64)
212 return i + ub + 64; 214 return i + ub + 64;
213 __asm__ ("cntlzd %0,%1":"=r"(ub): 215 __asm__ ("cntlzd %0,%1":"=r"(ub):
214 "r"(pending[2] & beatic_irq_mask_enable[i/64+2] 216 "r"(pending[2] & beatic_irq_mask_enable[i/64+2]
215 & beatic_irq_mask_ack[i/64+2])); 217 & beatic_irq_mask_ack[i/64+2]));
216 if (ub != 64) 218 if (ub != 64)
217 return i + ub + 128; 219 return i + ub + 128;
218 __asm__ ("cntlzd %0,%1":"=r"(ub): 220 __asm__ ("cntlzd %0,%1":"=r"(ub):
219 "r"(pending[3] & beatic_irq_mask_enable[i/64+3] 221 "r"(pending[3] & beatic_irq_mask_enable[i/64+3]
220 & beatic_irq_mask_ack[i/64+3])); 222 & beatic_irq_mask_ack[i/64+3]));
221 if (ub != 64) 223 if (ub != 64)
222 return i + ub + 192; 224 return i + ub + 192;
223 } 225 }
@@ -250,7 +252,7 @@ void __init beatic_init_IRQ(void)
250 252
251 /* Allocate an irq host */ 253 /* Allocate an irq host */
252 beatic_host = irq_alloc_host(NULL, IRQ_HOST_MAP_NOMAP, 0, 254 beatic_host = irq_alloc_host(NULL, IRQ_HOST_MAP_NOMAP, 0,
253 &beatic_pic_host_ops, 255 &beatic_pic_host_ops,
254 0); 256 0);
255 BUG_ON(beatic_host == NULL); 257 BUG_ON(beatic_host == NULL);
256 irq_set_default_host(beatic_host); 258 irq_set_default_host(beatic_host);
diff --git a/arch/powerpc/platforms/celleb/scc_epci.c b/arch/powerpc/platforms/celleb/scc_epci.c
index a3c7cfbcb32..a999b393f6f 100644
--- a/arch/powerpc/platforms/celleb/scc_epci.c
+++ b/arch/powerpc/platforms/celleb/scc_epci.c
@@ -161,9 +161,9 @@ static PCI_IO_ADDR celleb_epci_make_config_addr(
161 if (bus != hose->bus) 161 if (bus != hose->bus)
162 addr = celleb_epci_get_epci_cfg(hose) + 162 addr = celleb_epci_get_epci_cfg(hose) +
163 (((bus->number & 0xff) << 16) 163 (((bus->number & 0xff) << 16)
164 | ((devfn & 0xff) << 8) 164 | ((devfn & 0xff) << 8)
165 | (where & 0xff) 165 | (where & 0xff)
166 | 0x01000000); 166 | 0x01000000);
167 else 167 else
168 addr = celleb_epci_get_epci_cfg(hose) + 168 addr = celleb_epci_get_epci_cfg(hose) +
169 (((devfn & 0xff) << 8) | (where & 0xff)); 169 (((devfn & 0xff) << 8) | (where & 0xff));
@@ -174,7 +174,7 @@ static PCI_IO_ADDR celleb_epci_make_config_addr(
174} 174}
175 175
176static int celleb_epci_read_config(struct pci_bus *bus, 176static int celleb_epci_read_config(struct pci_bus *bus,
177 unsigned int devfn, int where, int size, u32 * val) 177 unsigned int devfn, int where, int size, u32 *val)
178{ 178{
179 PCI_IO_ADDR epci_base; 179 PCI_IO_ADDR epci_base;
180 PCI_IO_ADDR addr; 180 PCI_IO_ADDR addr;
diff --git a/arch/powerpc/platforms/celleb/scc_sio.c b/arch/powerpc/platforms/celleb/scc_sio.c
index 610008211ca..3a16c5b3c46 100644
--- a/arch/powerpc/platforms/celleb/scc_sio.c
+++ b/arch/powerpc/platforms/celleb/scc_sio.c
@@ -28,7 +28,7 @@
28 28
29/* sio irq0=0xb00010022 irq0=0xb00010023 irq2=0xb00010024 29/* sio irq0=0xb00010022 irq0=0xb00010023 irq2=0xb00010024
30 mmio=0xfff000-0x1000,0xff2000-0x1000 */ 30 mmio=0xfff000-0x1000,0xff2000-0x1000 */
31static int txx9_serial_bitmap __initdata = 0; 31static int txx9_serial_bitmap __initdata;
32 32
33static struct { 33static struct {
34 uint32_t offset; 34 uint32_t offset;
@@ -84,7 +84,7 @@ static int __init txx9_serial_config(char *ptr)
84 int i; 84 int i;
85 85
86 for (;;) { 86 for (;;) {
87 switch(get_option(&ptr, &i)) { 87 switch (get_option(&ptr, &i)) {
88 default: 88 default:
89 return 0; 89 return 0;
90 case 2: 90 case 2:
diff --git a/arch/powerpc/platforms/celleb/spu_priv1.c b/arch/powerpc/platforms/celleb/spu_priv1.c
index 2bf6700f747..bcc17f7fe8a 100644
--- a/arch/powerpc/platforms/celleb/spu_priv1.c
+++ b/arch/powerpc/platforms/celleb/spu_priv1.c
@@ -183,8 +183,7 @@ static u64 resource_allocation_enable_get(struct spu *spu)
183 return enable; 183 return enable;
184} 184}
185 185
186const struct spu_priv1_ops spu_priv1_beat_ops = 186const struct spu_priv1_ops spu_priv1_beat_ops = {
187{
188 .int_mask_and = int_mask_and, 187 .int_mask_and = int_mask_and,
189 .int_mask_or = int_mask_or, 188 .int_mask_or = int_mask_or,
190 .int_mask_set = int_mask_set, 189 .int_mask_set = int_mask_set,
diff --git a/arch/powerpc/platforms/celleb/udbg_beat.c b/arch/powerpc/platforms/celleb/udbg_beat.c
index d888c4674c6..6b418f6b617 100644
--- a/arch/powerpc/platforms/celleb/udbg_beat.c
+++ b/arch/powerpc/platforms/celleb/udbg_beat.c
@@ -54,7 +54,8 @@ static int udbg_getc_poll_beat(void)
54 if (inbuflen == 0) { 54 if (inbuflen == 0) {
55 /* get some more chars. */ 55 /* get some more chars. */
56 inbuflen = 0; 56 inbuflen = 0;
57 rc = beat_get_term_char(celleb_vtermno, &inbuflen, inbuf+0, inbuf+1); 57 rc = beat_get_term_char(celleb_vtermno, &inbuflen,
58 inbuf+0, inbuf+1);
58 if (rc != 0) 59 if (rc != 0)
59 inbuflen = 0; /* otherwise inbuflen is garbage */ 60 inbuflen = 0; /* otherwise inbuflen is garbage */
60 } 61 }
@@ -78,7 +79,7 @@ static int udbg_getc_beat(void)
78 if (ch == -1) { 79 if (ch == -1) {
79 /* This shouldn't be needed...but... */ 80 /* This shouldn't be needed...but... */
80 volatile unsigned long delay; 81 volatile unsigned long delay;
81 for (delay=0; delay < 2000000; delay++) 82 for (delay = 0; delay < 2000000; delay++)
82 ; 83 ;
83 } else { 84 } else {
84 return ch; 85 return ch;
diff --git a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
index d4f8bf581e3..84e2d78b9a6 100644
--- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
+++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
@@ -117,11 +117,11 @@ static void __init mpc7448_hpc2_init_IRQ(void)
117 } 117 }
118 118
119 if (mpic_paddr == 0) { 119 if (mpic_paddr == 0) {
120 printk("%s: No tsi108 PIC found !\n", __FUNCTION__); 120 printk("%s: No tsi108 PIC found !\n", __func__);
121 return; 121 return;
122 } 122 }
123 123
124 DBG("%s: tsi108 pic phys_addr = 0x%x\n", __FUNCTION__, 124 DBG("%s: tsi108 pic phys_addr = 0x%x\n", __func__,
125 (u32) mpic_paddr); 125 (u32) mpic_paddr);
126 126
127 mpic = mpic_alloc(tsi_pic, mpic_paddr, 127 mpic = mpic_alloc(tsi_pic, mpic_paddr,
@@ -140,17 +140,17 @@ static void __init mpc7448_hpc2_init_IRQ(void)
140#ifdef CONFIG_PCI 140#ifdef CONFIG_PCI
141 tsi_pci = of_find_node_by_type(NULL, "pci"); 141 tsi_pci = of_find_node_by_type(NULL, "pci");
142 if (tsi_pci == NULL) { 142 if (tsi_pci == NULL) {
143 printk("%s: No tsi108 pci node found !\n", __FUNCTION__); 143 printk("%s: No tsi108 pci node found !\n", __func__);
144 return; 144 return;
145 } 145 }
146 cascade_node = of_find_node_by_type(NULL, "pic-router"); 146 cascade_node = of_find_node_by_type(NULL, "pic-router");
147 if (cascade_node == NULL) { 147 if (cascade_node == NULL) {
148 printk("%s: No tsi108 pci cascade node found !\n", __FUNCTION__); 148 printk("%s: No tsi108 pci cascade node found !\n", __func__);
149 return; 149 return;
150 } 150 }
151 151
152 cascade_pci_irq = irq_of_parse_and_map(tsi_pci, 0); 152 cascade_pci_irq = irq_of_parse_and_map(tsi_pci, 0);
153 DBG("%s: tsi108 cascade_pci_irq = 0x%x\n", __FUNCTION__, 153 DBG("%s: tsi108 cascade_pci_irq = 0x%x\n", __func__,
154 (u32) cascade_pci_irq); 154 (u32) cascade_pci_irq);
155 tsi108_pci_int_init(cascade_node); 155 tsi108_pci_int_init(cascade_node);
156 set_irq_data(cascade_pci_irq, mpic); 156 set_irq_data(cascade_pci_irq, mpic);
diff --git a/arch/powerpc/platforms/embedded6xx/prpmc2800.c b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
index 653a5eb91c9..5a19b9a1457 100644
--- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c
+++ b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
@@ -49,13 +49,13 @@ static void __init prpmc2800_setup_arch(void)
49 * ioremap mpp and gpp registers in case they are later 49 * ioremap mpp and gpp registers in case they are later
50 * needed by prpmc2800_reset_board(). 50 * needed by prpmc2800_reset_board().
51 */ 51 */
52 np = of_find_compatible_node(NULL, NULL, "marvell,mv64x60-mpp"); 52 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-mpp");
53 reg = of_get_property(np, "reg", NULL); 53 reg = of_get_property(np, "reg", NULL);
54 paddr = of_translate_address(np, reg); 54 paddr = of_translate_address(np, reg);
55 of_node_put(np); 55 of_node_put(np);
56 mv64x60_mpp_reg_base = ioremap(paddr, reg[1]); 56 mv64x60_mpp_reg_base = ioremap(paddr, reg[1]);
57 57
58 np = of_find_compatible_node(NULL, NULL, "marvell,mv64x60-gpp"); 58 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-gpp");
59 reg = of_get_property(np, "reg", NULL); 59 reg = of_get_property(np, "reg", NULL);
60 paddr = of_translate_address(np, reg); 60 paddr = of_translate_address(np, reg);
61 of_node_put(np); 61 of_node_put(np);
diff --git a/arch/powerpc/platforms/iseries/exception.S b/arch/powerpc/platforms/iseries/exception.S
index 5381038f088..c775cd4b3d6 100644
--- a/arch/powerpc/platforms/iseries/exception.S
+++ b/arch/powerpc/platforms/iseries/exception.S
@@ -38,11 +38,19 @@
38 38
39 .globl system_reset_iSeries 39 .globl system_reset_iSeries
40system_reset_iSeries: 40system_reset_iSeries:
41 mfspr r13,SPRN_SPRG3 /* Get paca address */ 41 mfspr r13,SPRN_SPRG3 /* Get alpaca address */
42 LOAD_REG_IMMEDIATE(r23, alpaca)
43 li r0,ALPACA_SIZE
44 sub r23,r13,r23
45 divdu r23,r23,r0 /* r23 has cpu number */
46 LOAD_REG_IMMEDIATE(r13, paca)
47 mulli r0,r23,PACA_SIZE
48 add r13,r13,r0
49 mtspr SPRN_SPRG3,r13 /* Save it away for the future */
42 mfmsr r24 50 mfmsr r24
43 ori r24,r24,MSR_RI 51 ori r24,r24,MSR_RI
44 mtmsrd r24 /* RI on */ 52 mtmsrd r24 /* RI on */
45 lhz r24,PACAPACAINDEX(r13) /* Get processor # */ 53 mr r24,r23
46 cmpwi 0,r24,0 /* Are we processor 0? */ 54 cmpwi 0,r24,0 /* Are we processor 0? */
47 bne 1f 55 bne 1f
48 b .__start_initialization_iSeries /* Start up the first processor */ 56 b .__start_initialization_iSeries /* Start up the first processor */
diff --git a/arch/powerpc/platforms/iseries/ipl_parms.h b/arch/powerpc/platforms/iseries/ipl_parms.h
index 77c135ddbf1..83e4ca42fc5 100644
--- a/arch/powerpc/platforms/iseries/ipl_parms.h
+++ b/arch/powerpc/platforms/iseries/ipl_parms.h
@@ -65,6 +65,4 @@ struct ItIplParmsReal {
65 u64 xRsvd13; // Reserved x38-x3F 65 u64 xRsvd13; // Reserved x38-x3F
66}; 66};
67 67
68extern struct ItIplParmsReal xItIplParmsReal;
69
70#endif /* _ISERIES_IPL_PARMS_H */ 68#endif /* _ISERIES_IPL_PARMS_H */
diff --git a/arch/powerpc/platforms/iseries/lpardata.c b/arch/powerpc/platforms/iseries/lpardata.c
index 8162049bb04..98bd2d37038 100644
--- a/arch/powerpc/platforms/iseries/lpardata.c
+++ b/arch/powerpc/platforms/iseries/lpardata.c
@@ -14,10 +14,10 @@
14#include <asm/ptrace.h> 14#include <asm/ptrace.h>
15#include <asm/abs_addr.h> 15#include <asm/abs_addr.h>
16#include <asm/lppaca.h> 16#include <asm/lppaca.h>
17#include <asm/iseries/it_lp_reg_save.h>
18#include <asm/paca.h> 17#include <asm/paca.h>
19#include <asm/iseries/lpar_map.h> 18#include <asm/iseries/lpar_map.h>
20#include <asm/iseries/it_lp_queue.h> 19#include <asm/iseries/it_lp_queue.h>
20#include <asm/iseries/alpaca.h>
21 21
22#include "naca.h" 22#include "naca.h"
23#include "vpd_areas.h" 23#include "vpd_areas.h"
@@ -31,7 +31,7 @@
31/* The HvReleaseData is the root of the information shared between 31/* The HvReleaseData is the root of the information shared between
32 * the hypervisor and Linux. 32 * the hypervisor and Linux.
33 */ 33 */
34struct HvReleaseData hvReleaseData = { 34const struct HvReleaseData hvReleaseData = {
35 .xDesc = 0xc8a5d9c4, /* "HvRD" ebcdic */ 35 .xDesc = 0xc8a5d9c4, /* "HvRD" ebcdic */
36 .xSize = sizeof(struct HvReleaseData), 36 .xSize = sizeof(struct HvReleaseData),
37 .xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas), 37 .xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
@@ -61,6 +61,63 @@ struct naca_struct naca = {
61 .xRamDiskSize = 0, 61 .xRamDiskSize = 0,
62}; 62};
63 63
64struct ItLpRegSave {
65 u32 xDesc; // Eye catcher "LpRS" ebcdic 000-003
66 u16 xSize; // Size of this class 004-005
67 u8 xInUse; // Area is live 006-007
68 u8 xRsvd1[9]; // Reserved 007-00F
69
70 u8 xFixedRegSave[352]; // Fixed Register Save Area 010-16F
71 u32 xCTRL; // Control Register 170-173
72 u32 xDEC; // Decrementer 174-177
73 u32 xFPSCR; // FP Status and Control Reg 178-17B
74 u32 xPVR; // Processor Version Number 17C-17F
75
76 u64 xMMCR0; // Monitor Mode Control Reg 0 180-187
77 u32 xPMC1; // Perf Monitor Counter 1 188-18B
78 u32 xPMC2; // Perf Monitor Counter 2 18C-18F
79 u32 xPMC3; // Perf Monitor Counter 3 190-193
80 u32 xPMC4; // Perf Monitor Counter 4 194-197
81 u32 xPIR; // Processor ID Reg 198-19B
82
83 u32 xMMCR1; // Monitor Mode Control Reg 1 19C-19F
84 u32 xMMCRA; // Monitor Mode Control Reg A 1A0-1A3
85 u32 xPMC5; // Perf Monitor Counter 5 1A4-1A7
86 u32 xPMC6; // Perf Monitor Counter 6 1A8-1AB
87 u32 xPMC7; // Perf Monitor Counter 7 1AC-1AF
88 u32 xPMC8; // Perf Monitor Counter 8 1B0-1B3
89 u32 xTSC; // Thread Switch Control 1B4-1B7
90 u32 xTST; // Thread Switch Timeout 1B8-1BB
91 u32 xRsvd; // Reserved 1BC-1BF
92
93 u64 xACCR; // Address Compare Control Reg 1C0-1C7
94 u64 xIMR; // Instruction Match Register 1C8-1CF
95 u64 xSDR1; // Storage Description Reg 1 1D0-1D7
96 u64 xSPRG0; // Special Purpose Reg General0 1D8-1DF
97 u64 xSPRG1; // Special Purpose Reg General1 1E0-1E7
98 u64 xSPRG2; // Special Purpose Reg General2 1E8-1EF
99 u64 xSPRG3; // Special Purpose Reg General3 1F0-1F7
100 u64 xTB; // Time Base Register 1F8-1FF
101
102 u64 xFPR[32]; // Floating Point Registers 200-2FF
103
104 u64 xMSR; // Machine State Register 300-307
105 u64 xNIA; // Next Instruction Address 308-30F
106
107 u64 xDABR; // Data Address Breakpoint Reg 310-317
108 u64 xIABR; // Inst Address Breakpoint Reg 318-31F
109
110 u64 xHID0; // HW Implementation Dependent0 320-327
111
112 u64 xHID4; // HW Implementation Dependent4 328-32F
113 u64 xSCOMd; // SCON Data Reg (SPRG4) 330-337
114 u64 xSCOMc; // SCON Command Reg (SPRG5) 338-33F
115 u64 xSDAR; // Sample Data Address Register 340-347
116 u64 xSIAR; // Sample Inst Address Register 348-34F
117
118 u8 xRsvd3[176]; // Reserved 350-3FF
119};
120
64extern void system_reset_iSeries(void); 121extern void system_reset_iSeries(void);
65extern void machine_check_iSeries(void); 122extern void machine_check_iSeries(void);
66extern void data_access_iSeries(void); 123extern void data_access_iSeries(void);
@@ -129,7 +186,7 @@ struct ItLpNaca itLpNaca = {
129}; 186};
130 187
131/* May be filled in by the hypervisor so cannot end up in the BSS */ 188/* May be filled in by the hypervisor so cannot end up in the BSS */
132struct ItIplParmsReal xItIplParmsReal __attribute__((__section__(".data"))); 189static struct ItIplParmsReal xItIplParmsReal __attribute__((__section__(".data")));
133 190
134/* May be filled in by the hypervisor so cannot end up in the BSS */ 191/* May be filled in by the hypervisor so cannot end up in the BSS */
135struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data"))); 192struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data")));
@@ -152,13 +209,54 @@ u64 xMsVpd[3400] __attribute__((__section__(".data")));
152 209
153/* Space for Recovery Log Buffer */ 210/* Space for Recovery Log Buffer */
154/* May be filled in by the hypervisor so cannot end up in the BSS */ 211/* May be filled in by the hypervisor so cannot end up in the BSS */
155u64 xRecoveryLogBuffer[32] __attribute__((__section__(".data"))); 212static u64 xRecoveryLogBuffer[32] __attribute__((__section__(".data")));
156 213
157struct SpCommArea xSpCommArea = { 214static const struct SpCommArea xSpCommArea = {
158 .xDesc = 0xE2D7C3C2, 215 .xDesc = 0xE2D7C3C2,
159 .xFormat = 1, 216 .xFormat = 1,
160}; 217};
161 218
219static const struct ItLpRegSave iseries_reg_save[] = {
220 [0 ... (NR_CPUS-1)] = {
221 .xDesc = 0xd397d9e2, /* "LpRS" */
222 .xSize = sizeof(struct ItLpRegSave),
223 },
224};
225
226#define ALPACA_INIT(number) \
227{ \
228 .lppaca_ptr = &lppaca[number], \
229 .reg_save_ptr = &iseries_reg_save[number], \
230}
231
232const struct alpaca alpaca[] = {
233 ALPACA_INIT( 0),
234#if NR_CPUS > 1
235 ALPACA_INIT( 1), ALPACA_INIT( 2), ALPACA_INIT( 3),
236#if NR_CPUS > 4
237 ALPACA_INIT( 4), ALPACA_INIT( 5), ALPACA_INIT( 6), ALPACA_INIT( 7),
238#if NR_CPUS > 8
239 ALPACA_INIT( 8), ALPACA_INIT( 9), ALPACA_INIT(10), ALPACA_INIT(11),
240 ALPACA_INIT(12), ALPACA_INIT(13), ALPACA_INIT(14), ALPACA_INIT(15),
241 ALPACA_INIT(16), ALPACA_INIT(17), ALPACA_INIT(18), ALPACA_INIT(19),
242 ALPACA_INIT(20), ALPACA_INIT(21), ALPACA_INIT(22), ALPACA_INIT(23),
243 ALPACA_INIT(24), ALPACA_INIT(25), ALPACA_INIT(26), ALPACA_INIT(27),
244 ALPACA_INIT(28), ALPACA_INIT(29), ALPACA_INIT(30), ALPACA_INIT(31),
245#if NR_CPUS > 32
246 ALPACA_INIT(32), ALPACA_INIT(33), ALPACA_INIT(34), ALPACA_INIT(35),
247 ALPACA_INIT(36), ALPACA_INIT(37), ALPACA_INIT(38), ALPACA_INIT(39),
248 ALPACA_INIT(40), ALPACA_INIT(41), ALPACA_INIT(42), ALPACA_INIT(43),
249 ALPACA_INIT(44), ALPACA_INIT(45), ALPACA_INIT(46), ALPACA_INIT(47),
250 ALPACA_INIT(48), ALPACA_INIT(49), ALPACA_INIT(50), ALPACA_INIT(51),
251 ALPACA_INIT(52), ALPACA_INIT(53), ALPACA_INIT(54), ALPACA_INIT(55),
252 ALPACA_INIT(56), ALPACA_INIT(57), ALPACA_INIT(58), ALPACA_INIT(59),
253 ALPACA_INIT(60), ALPACA_INIT(61), ALPACA_INIT(62), ALPACA_INIT(63),
254#endif
255#endif
256#endif
257#endif
258};
259
162/* The LparMap data is now located at offset 0x6000 in head.S 260/* The LparMap data is now located at offset 0x6000 in head.S
163 * It was put there so that the HvReleaseData could address it 261 * It was put there so that the HvReleaseData could address it
164 * with a 32-bit offset as required by the iSeries hypervisor 262 * with a 32-bit offset as required by the iSeries hypervisor
@@ -167,7 +265,7 @@ struct SpCommArea xSpCommArea = {
167 * the Naca via the HvReleaseData area. The HvReleaseData has the 265 * the Naca via the HvReleaseData area. The HvReleaseData has the
168 * offset into the Naca of the pointer to the ItVpdAreas. 266 * offset into the Naca of the pointer to the ItVpdAreas.
169 */ 267 */
170struct ItVpdAreas itVpdAreas = { 268const struct ItVpdAreas itVpdAreas = {
171 .xSlicDesc = 0xc9a3e5c1, /* "ItVA" */ 269 .xSlicDesc = 0xc9a3e5c1, /* "ItVA" */
172 .xSlicSize = sizeof(struct ItVpdAreas), 270 .xSlicSize = sizeof(struct ItVpdAreas),
173 .xSlicVpdEntries = ItVpdMaxEntries, /* # VPD array entries */ 271 .xSlicVpdEntries = ItVpdMaxEntries, /* # VPD array entries */
@@ -185,7 +283,7 @@ struct ItVpdAreas itVpdAreas = {
185 .xSlicVpdLens = { /* VPD lengths */ 283 .xSlicVpdLens = { /* VPD lengths */
186 0,0,0, /* 0 - 2 */ 284 0,0,0, /* 0 - 2 */
187 sizeof(xItExtVpdPanel), /* 3 Extended VPD */ 285 sizeof(xItExtVpdPanel), /* 3 Extended VPD */
188 sizeof(struct paca_struct), /* 4 length of Paca */ 286 sizeof(struct alpaca), /* 4 length of (fake) Paca */
189 0, /* 5 */ 287 0, /* 5 */
190 sizeof(struct ItIplParmsReal),/* 6 length of IPL parms */ 288 sizeof(struct ItIplParmsReal),/* 6 length of IPL parms */
191 26992, /* 7 length of MS VPD */ 289 26992, /* 7 length of MS VPD */
@@ -203,7 +301,7 @@ struct ItVpdAreas itVpdAreas = {
203 .xSlicVpdAdrs = { /* VPD addresses */ 301 .xSlicVpdAdrs = { /* VPD addresses */
204 0,0,0, /* 0 - 2 */ 302 0,0,0, /* 0 - 2 */
205 &xItExtVpdPanel, /* 3 Extended VPD */ 303 &xItExtVpdPanel, /* 3 Extended VPD */
206 &paca[0], /* 4 first Paca */ 304 &alpaca[0], /* 4 first (fake) Paca */
207 0, /* 5 */ 305 0, /* 5 */
208 &xItIplParmsReal, /* 6 IPL parms */ 306 &xItIplParmsReal, /* 6 IPL parms */
209 &xMsVpd, /* 7 MS Vpd */ 307 &xMsVpd, /* 7 MS Vpd */
@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = {
219 0,0 317 0,0
220 } 318 }
221}; 319};
222
223struct ItLpRegSave iseries_reg_save[] = {
224 [0 ... (NR_CPUS-1)] = {
225 .xDesc = 0xd397d9e2, /* "LpRS" */
226 .xSize = sizeof(struct ItLpRegSave),
227 },
228};
diff --git a/arch/powerpc/platforms/iseries/naca.h b/arch/powerpc/platforms/iseries/naca.h
index ab2372eb8d2..f01708e1286 100644
--- a/arch/powerpc/platforms/iseries/naca.h
+++ b/arch/powerpc/platforms/iseries/naca.h
@@ -14,7 +14,7 @@
14 14
15struct naca_struct { 15struct naca_struct {
16 /* Kernel only data - undefined for user space */ 16 /* Kernel only data - undefined for user space */
17 void *xItVpdAreas; /* VPD Data 0x00 */ 17 const void *xItVpdAreas; /* VPD Data 0x00 */
18 void *xRamDisk; /* iSeries ramdisk 0x08 */ 18 void *xRamDisk; /* iSeries ramdisk 0x08 */
19 u64 xRamDiskSize; /* In pages 0x10 */ 19 u64 xRamDiskSize; /* In pages 0x10 */
20}; 20};
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c
index cc562e4c2f3..02a634faedb 100644
--- a/arch/powerpc/platforms/iseries/pci.c
+++ b/arch/powerpc/platforms/iseries/pci.c
@@ -23,6 +23,7 @@
23 23
24#undef DEBUG 24#undef DEBUG
25 25
26#include <linux/jiffies.h>
26#include <linux/kernel.h> 27#include <linux/kernel.h>
27#include <linux/list.h> 28#include <linux/list.h>
28#include <linux/string.h> 29#include <linux/string.h>
@@ -586,7 +587,7 @@ static inline struct device_node *xlate_iomm_address(
586 static unsigned long last_jiffies; 587 static unsigned long last_jiffies;
587 static int num_printed; 588 static int num_printed;
588 589
589 if ((jiffies - last_jiffies) > 60 * HZ) { 590 if (time_after(jiffies, last_jiffies + 60 * HZ)) {
590 last_jiffies = jiffies; 591 last_jiffies = jiffies;
591 num_printed = 0; 592 num_printed = 0;
592 } 593 }
diff --git a/arch/powerpc/platforms/iseries/release_data.h b/arch/powerpc/platforms/iseries/release_data.h
index 66189fd2e32..6ad7d843e8f 100644
--- a/arch/powerpc/platforms/iseries/release_data.h
+++ b/arch/powerpc/platforms/iseries/release_data.h
@@ -58,6 +58,6 @@ struct HvReleaseData {
58 char xRsvd3[20]; /* Reserved x2C-x3F */ 58 char xRsvd3[20]; /* Reserved x2C-x3F */
59}; 59};
60 60
61extern struct HvReleaseData hvReleaseData; 61extern const struct HvReleaseData hvReleaseData;
62 62
63#endif /* _ISERIES_RELEASE_DATA_H */ 63#endif /* _ISERIES_RELEASE_DATA_H */
diff --git a/arch/powerpc/platforms/iseries/spcomm_area.h b/arch/powerpc/platforms/iseries/spcomm_area.h
index 6e3b685115c..598b7c14573 100644
--- a/arch/powerpc/platforms/iseries/spcomm_area.h
+++ b/arch/powerpc/platforms/iseries/spcomm_area.h
@@ -31,6 +31,4 @@ struct SpCommArea {
31 u8 xRsvd2[80]; // Reserved 030-07F 31 u8 xRsvd2[80]; // Reserved 030-07F
32}; 32};
33 33
34extern struct SpCommArea xSpCommArea;
35
36#endif /* _ISERIES_SPCOMM_AREA_H */ 34#endif /* _ISERIES_SPCOMM_AREA_H */
diff --git a/arch/powerpc/platforms/iseries/vpd_areas.h b/arch/powerpc/platforms/iseries/vpd_areas.h
index 601e6dd860e..feb001f3a5f 100644
--- a/arch/powerpc/platforms/iseries/vpd_areas.h
+++ b/arch/powerpc/platforms/iseries/vpd_areas.h
@@ -80,9 +80,9 @@ struct ItVpdAreas {
80 u32 xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths 080-0A7 80 u32 xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths 080-0A7
81 u32 xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens 0A8-0CF 81 u32 xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens 0A8-0CF
82 u32 xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths 0D0-12F 82 u32 xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths 0D0-12F
83 void *xSlicVpdAdrs[ItVpdMaxEntries];// Array of VPD buffers 130-1EF 83 const void *xSlicVpdAdrs[ItVpdMaxEntries];// Array of VPD buffers 130-1EF
84}; 84};
85 85
86extern struct ItVpdAreas itVpdAreas; 86extern const struct ItVpdAreas itVpdAreas;
87 87
88#endif /* _ISERIES_VPD_AREAS_H */ 88#endif /* _ISERIES_VPD_AREAS_H */
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c
index 3ffa0ac170e..301855263b8 100644
--- a/arch/powerpc/platforms/maple/pci.c
+++ b/arch/powerpc/platforms/maple/pci.c
@@ -592,50 +592,3 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel)
592 } 592 }
593 return irq; 593 return irq;
594} 594}
595
596/* XXX: To remove once all firmwares are ok */
597static void fixup_maple_ide(struct pci_dev* dev)
598{
599 if (!machine_is(maple))
600 return;
601
602#if 0 /* Enable this to enable IDE port 0 */
603 {
604 u8 v;
605
606 pci_read_config_byte(dev, 0x40, &v);
607 v |= 2;
608 pci_write_config_byte(dev, 0x40, v);
609 }
610#endif
611#if 0 /* fix bus master base */
612 pci_write_config_dword(dev, 0x20, 0xcc01);
613 printk("old ide resource: %lx -> %lx \n",
614 dev->resource[4].start, dev->resource[4].end);
615 dev->resource[4].start = 0xcc00;
616 dev->resource[4].end = 0xcc10;
617#endif
618#if 0 /* Enable this to fixup IDE sense/polarity of irqs in IO-APICs */
619 {
620 struct pci_dev *apicdev;
621 u32 v;
622
623 apicdev = pci_get_slot (dev->bus, PCI_DEVFN(5,0));
624 if (apicdev == NULL)
625 printk("IDE Fixup IRQ: Can't find IO-APIC !\n");
626 else {
627 pci_write_config_byte(apicdev, 0xf2, 0x10 + 2*14);
628 pci_read_config_dword(apicdev, 0xf4, &v);
629 v &= ~0x00000022;
630 pci_write_config_dword(apicdev, 0xf4, v);
631 pci_write_config_byte(apicdev, 0xf2, 0x10 + 2*15);
632 pci_read_config_dword(apicdev, 0xf4, &v);
633 v &= ~0x00000022;
634 pci_write_config_dword(apicdev, 0xf4, v);
635 pci_dev_put(apicdev);
636 }
637 }
638#endif
639}
640DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8111_IDE,
641 fixup_maple_ide);
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 3ce2d73b417..364714757cf 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -43,6 +43,7 @@
43#include <linux/smp.h> 43#include <linux/smp.h>
44#include <linux/bitops.h> 44#include <linux/bitops.h>
45#include <linux/of_device.h> 45#include <linux/of_device.h>
46#include <linux/lmb.h>
46 47
47#include <asm/processor.h> 48#include <asm/processor.h>
48#include <asm/sections.h> 49#include <asm/sections.h>
@@ -57,7 +58,6 @@
57#include <asm/dma.h> 58#include <asm/dma.h>
58#include <asm/cputable.h> 59#include <asm/cputable.h>
59#include <asm/time.h> 60#include <asm/time.h>
60#include <asm/lmb.h>
61#include <asm/mpic.h> 61#include <asm/mpic.h>
62#include <asm/rtas.h> 62#include <asm/rtas.h>
63#include <asm/udbg.h> 63#include <asm/udbg.h>
@@ -319,7 +319,7 @@ static int __init maple_probe(void)
319 return 1; 319 return 1;
320} 320}
321 321
322define_machine(maple_md) { 322define_machine(maple) {
323 .name = "Maple", 323 .name = "Maple",
324 .probe = maple_probe, 324 .probe = maple_probe,
325 .setup_arch = maple_setup_arch, 325 .setup_arch = maple_setup_arch,
diff --git a/arch/powerpc/platforms/pasemi/dma_lib.c b/arch/powerpc/platforms/pasemi/dma_lib.c
index c529d8dff39..217af321b0c 100644
--- a/arch/powerpc/platforms/pasemi/dma_lib.c
+++ b/arch/powerpc/platforms/pasemi/dma_lib.c
@@ -17,6 +17,7 @@
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */ 18 */
19 19
20#include <linux/kernel.h>
20#include <linux/init.h> 21#include <linux/init.h>
21#include <linux/module.h> 22#include <linux/module.h>
22#include <linux/pci.h> 23#include <linux/pci.h>
@@ -26,6 +27,8 @@
26 27
27#define MAX_TXCH 64 28#define MAX_TXCH 64
28#define MAX_RXCH 64 29#define MAX_RXCH 64
30#define MAX_FLAGS 64
31#define MAX_FUN 8
29 32
30static struct pasdma_status *dma_status; 33static struct pasdma_status *dma_status;
31 34
@@ -43,6 +46,8 @@ static struct pci_dev *dma_pdev;
43 46
44static DECLARE_BITMAP(txch_free, MAX_TXCH); 47static DECLARE_BITMAP(txch_free, MAX_TXCH);
45static DECLARE_BITMAP(rxch_free, MAX_RXCH); 48static DECLARE_BITMAP(rxch_free, MAX_RXCH);
49static DECLARE_BITMAP(flags_free, MAX_FLAGS);
50static DECLARE_BITMAP(fun_free, MAX_FUN);
46 51
47/* pasemi_read_iob_reg - read IOB register 52/* pasemi_read_iob_reg - read IOB register
48 * @reg: Register to read (offset into PCI CFG space) 53 * @reg: Register to read (offset into PCI CFG space)
@@ -373,6 +378,106 @@ void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size,
373} 378}
374EXPORT_SYMBOL(pasemi_dma_free_buf); 379EXPORT_SYMBOL(pasemi_dma_free_buf);
375 380
381/* pasemi_dma_alloc_flag - Allocate a flag (event) for channel syncronization
382 *
383 * Allocates a flag for use with channel syncronization (event descriptors).
384 * Returns allocated flag (0-63), < 0 on error.
385 */
386int pasemi_dma_alloc_flag(void)
387{
388 int bit;
389
390retry:
391 bit = find_next_bit(flags_free, MAX_FLAGS, 0);
392 if (bit >= MAX_FLAGS)
393 return -ENOSPC;
394 if (!test_and_clear_bit(bit, flags_free))
395 goto retry;
396
397 return bit;
398}
399EXPORT_SYMBOL(pasemi_dma_alloc_flag);
400
401
402/* pasemi_dma_free_flag - Deallocates a flag (event)
403 * @flag: Flag number to deallocate
404 *
405 * Frees up a flag so it can be reused for other purposes.
406 */
407void pasemi_dma_free_flag(int flag)
408{
409 BUG_ON(test_bit(flag, flags_free));
410 BUG_ON(flag >= MAX_FLAGS);
411 set_bit(flag, flags_free);
412}
413EXPORT_SYMBOL(pasemi_dma_free_flag);
414
415
416/* pasemi_dma_set_flag - Sets a flag (event) to 1
417 * @flag: Flag number to set active
418 *
419 * Sets the flag provided to 1.
420 */
421void pasemi_dma_set_flag(int flag)
422{
423 BUG_ON(flag >= MAX_FLAGS);
424 if (flag < 32)
425 pasemi_write_dma_reg(PAS_DMA_TXF_SFLG0, 1 << flag);
426 else
427 pasemi_write_dma_reg(PAS_DMA_TXF_SFLG1, 1 << flag);
428}
429EXPORT_SYMBOL(pasemi_dma_set_flag);
430
431/* pasemi_dma_clear_flag - Sets a flag (event) to 0
432 * @flag: Flag number to set inactive
433 *
434 * Sets the flag provided to 0.
435 */
436void pasemi_dma_clear_flag(int flag)
437{
438 BUG_ON(flag >= MAX_FLAGS);
439 if (flag < 32)
440 pasemi_write_dma_reg(PAS_DMA_TXF_CFLG0, 1 << flag);
441 else
442 pasemi_write_dma_reg(PAS_DMA_TXF_CFLG1, 1 << flag);
443}
444EXPORT_SYMBOL(pasemi_dma_clear_flag);
445
446/* pasemi_dma_alloc_fun - Allocate a function engine
447 *
448 * Allocates a function engine to use for crypto/checksum offload
449 * Returns allocated engine (0-8), < 0 on error.
450 */
451int pasemi_dma_alloc_fun(void)
452{
453 int bit;
454
455retry:
456 bit = find_next_bit(fun_free, MAX_FLAGS, 0);
457 if (bit >= MAX_FLAGS)
458 return -ENOSPC;
459 if (!test_and_clear_bit(bit, fun_free))
460 goto retry;
461
462 return bit;
463}
464EXPORT_SYMBOL(pasemi_dma_alloc_fun);
465
466
467/* pasemi_dma_free_fun - Deallocates a function engine
468 * @flag: Engine number to deallocate
469 *
470 * Frees up a function engine so it can be used for other purposes.
471 */
472void pasemi_dma_free_fun(int fun)
473{
474 BUG_ON(test_bit(fun, fun_free));
475 BUG_ON(fun >= MAX_FLAGS);
476 set_bit(fun, fun_free);
477}
478EXPORT_SYMBOL(pasemi_dma_free_fun);
479
480
376static void *map_onedev(struct pci_dev *p, int index) 481static void *map_onedev(struct pci_dev *p, int index)
377{ 482{
378 struct device_node *dn; 483 struct device_node *dn;
@@ -410,6 +515,7 @@ int pasemi_dma_init(void)
410 struct resource res; 515 struct resource res;
411 struct device_node *dn; 516 struct device_node *dn;
412 int i, intf, err = 0; 517 int i, intf, err = 0;
518 unsigned long timeout;
413 u32 tmp; 519 u32 tmp;
414 520
415 if (!machine_is(pasemi)) 521 if (!machine_is(pasemi))
@@ -478,6 +584,44 @@ int pasemi_dma_init(void)
478 for (i = 0; i < MAX_RXCH; i++) 584 for (i = 0; i < MAX_RXCH; i++)
479 __set_bit(i, rxch_free); 585 __set_bit(i, rxch_free);
480 586
587 timeout = jiffies + HZ;
588 pasemi_write_dma_reg(PAS_DMA_COM_RXCMD, 0);
589 while (pasemi_read_dma_reg(PAS_DMA_COM_RXSTA) & 1) {
590 if (time_after(jiffies, timeout)) {
591 pr_warning("Warning: Could not disable RX section\n");
592 break;
593 }
594 }
595
596 timeout = jiffies + HZ;
597 pasemi_write_dma_reg(PAS_DMA_COM_TXCMD, 0);
598 while (pasemi_read_dma_reg(PAS_DMA_COM_TXSTA) & 1) {
599 if (time_after(jiffies, timeout)) {
600 pr_warning("Warning: Could not disable TX section\n");
601 break;
602 }
603 }
604
605 /* setup resource allocations for the different DMA sections */
606 tmp = pasemi_read_dma_reg(PAS_DMA_COM_CFG);
607 pasemi_write_dma_reg(PAS_DMA_COM_CFG, tmp | 0x18000000);
608
609 /* enable tx section */
610 pasemi_write_dma_reg(PAS_DMA_COM_TXCMD, PAS_DMA_COM_TXCMD_EN);
611
612 /* enable rx section */
613 pasemi_write_dma_reg(PAS_DMA_COM_RXCMD, PAS_DMA_COM_RXCMD_EN);
614
615 for (i = 0; i < MAX_FLAGS; i++)
616 __set_bit(i, flags_free);
617
618 for (i = 0; i < MAX_FUN; i++)
619 __set_bit(i, fun_free);
620
621 /* clear all status flags */
622 pasemi_write_dma_reg(PAS_DMA_TXF_CFLG0, 0xffffffff);
623 pasemi_write_dma_reg(PAS_DMA_TXF_CFLG1, 0xffffffff);
624
481 printk(KERN_INFO "PA Semi PWRficient DMA library initialized " 625 printk(KERN_INFO "PA Semi PWRficient DMA library initialized "
482 "(%d tx, %d rx channels)\n", num_txch, num_rxch); 626 "(%d tx, %d rx channels)\n", num_txch, num_rxch);
483 627
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index 5803f11c77f..86967bdd877 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2005-2007, PA Semi, Inc 2 * Copyright (C) 2005-2008, PA Semi, Inc
3 * 3 *
4 * Maintained by: Olof Johansson <olof@lixom.net> 4 * Maintained by: Olof Johansson <olof@lixom.net>
5 * 5 *
@@ -27,7 +27,6 @@
27#include <asm/abs_addr.h> 27#include <asm/abs_addr.h>
28#include <asm/firmware.h> 28#include <asm/firmware.h>
29 29
30
31#define IOBMAP_PAGE_SHIFT 12 30#define IOBMAP_PAGE_SHIFT 12
32#define IOBMAP_PAGE_SIZE (1 << IOBMAP_PAGE_SHIFT) 31#define IOBMAP_PAGE_SIZE (1 << IOBMAP_PAGE_SHIFT)
33#define IOBMAP_PAGE_MASK (IOBMAP_PAGE_SIZE - 1) 32#define IOBMAP_PAGE_MASK (IOBMAP_PAGE_SIZE - 1)
@@ -35,13 +34,13 @@
35#define IOB_BASE 0xe0000000 34#define IOB_BASE 0xe0000000
36#define IOB_SIZE 0x3000 35#define IOB_SIZE 0x3000
37/* Configuration registers */ 36/* Configuration registers */
38#define IOBCAP_REG 0x10 37#define IOBCAP_REG 0x40
39#define IOBCOM_REG 0x40 38#define IOBCOM_REG 0x100
40/* Enable IOB address translation */ 39/* Enable IOB address translation */
41#define IOBCOM_ATEN 0x00000100 40#define IOBCOM_ATEN 0x00000100
42 41
43/* Address decode configuration register */ 42/* Address decode configuration register */
44#define IOB_AD_REG 0x53 43#define IOB_AD_REG 0x14c
45/* IOBCOM_AD_REG fields */ 44/* IOBCOM_AD_REG fields */
46#define IOB_AD_VGPRT 0x00000e00 45#define IOB_AD_VGPRT 0x00000e00
47#define IOB_AD_VGAEN 0x00000100 46#define IOB_AD_VGAEN 0x00000100
@@ -56,13 +55,13 @@
56#define IOB_AD_TRNG_2G 0x00000001 55#define IOB_AD_TRNG_2G 0x00000001
57#define IOB_AD_TRNG_128G 0x00000003 56#define IOB_AD_TRNG_128G 0x00000003
58 57
59#define IOB_TABLEBASE_REG 0x55 58#define IOB_TABLEBASE_REG 0x154
60 59
61/* Base of the 64 4-byte L1 registers */ 60/* Base of the 64 4-byte L1 registers */
62#define IOB_XLT_L1_REGBASE 0xac0 61#define IOB_XLT_L1_REGBASE 0x2b00
63 62
64/* Register to invalidate TLB entries */ 63/* Register to invalidate TLB entries */
65#define IOB_AT_INVAL_TLB_REG 0xb40 64#define IOB_AT_INVAL_TLB_REG 0x2d00
66 65
67/* The top two bits of the level 1 entry contains valid and type flags */ 66/* The top two bits of the level 1 entry contains valid and type flags */
68#define IOBMAP_L1E_V 0x40000000 67#define IOBMAP_L1E_V 0x40000000
@@ -76,7 +75,7 @@
76#define IOBMAP_L2E_V 0x80000000 75#define IOBMAP_L2E_V 0x80000000
77#define IOBMAP_L2E_V_CACHED 0xc0000000 76#define IOBMAP_L2E_V_CACHED 0xc0000000
78 77
79static u32 __iomem *iob; 78static void __iomem *iob;
80static u32 iob_l1_emptyval; 79static u32 iob_l1_emptyval;
81static u32 iob_l2_emptyval; 80static u32 iob_l2_emptyval;
82static u32 *iob_l2_base; 81static u32 *iob_l2_base;
@@ -219,7 +218,7 @@ int __init iob_init(struct device_node *dn)
219 for (i = 0; i < 64; i++) { 218 for (i = 0; i < 64; i++) {
220 /* Each L1 covers 32MB, i.e. 8K entries = 32K of ram */ 219 /* Each L1 covers 32MB, i.e. 8K entries = 32K of ram */
221 regword = IOBMAP_L1E_V | (__pa(iob_l2_base + i*0x2000) >> 12); 220 regword = IOBMAP_L1E_V | (__pa(iob_l2_base + i*0x2000) >> 12);
222 out_le32(iob+IOB_XLT_L1_REGBASE+i, regword); 221 out_le32(iob+IOB_XLT_L1_REGBASE+i*4, regword);
223 } 222 }
224 223
225 /* set 2GB translation window, based at 0 */ 224 /* set 2GB translation window, based at 0 */
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 36ff1b6b7fa..59404baf911 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -53,6 +53,7 @@
53#include <linux/suspend.h> 53#include <linux/suspend.h>
54#include <linux/of_device.h> 54#include <linux/of_device.h>
55#include <linux/of_platform.h> 55#include <linux/of_platform.h>
56#include <linux/lmb.h>
56 57
57#include <asm/reg.h> 58#include <asm/reg.h>
58#include <asm/sections.h> 59#include <asm/sections.h>
@@ -74,7 +75,6 @@
74#include <asm/iommu.h> 75#include <asm/iommu.h>
75#include <asm/smu.h> 76#include <asm/smu.h>
76#include <asm/pmc.h> 77#include <asm/pmc.h>
77#include <asm/lmb.h>
78#include <asm/udbg.h> 78#include <asm/udbg.h>
79 79
80#include "pmac.h" 80#include "pmac.h"
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index 9d251d0ca8c..3866debfa3c 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -499,41 +499,14 @@ static int __init ps3_register_graphics_devices(void)
499} 499}
500 500
501/** 501/**
502 * ps3_register_repository_device - Register a device from the repositiory info. 502 * ps3_setup_dynamic_device - Setup a dynamic device from the repository
503 *
504 */ 503 */
505 504
506static int ps3_register_repository_device( 505static int ps3_setup_dynamic_device(const struct ps3_repository_device *repo)
507 const struct ps3_repository_device *repo)
508{ 506{
509 int result; 507 int result;
510 508
511 switch (repo->dev_type) { 509 switch (repo->dev_type) {
512 case PS3_DEV_TYPE_SB_GELIC:
513 result = ps3_setup_gelic_device(repo);
514 if (result) {
515 pr_debug("%s:%d ps3_setup_gelic_device failed\n",
516 __func__, __LINE__);
517 }
518 break;
519 case PS3_DEV_TYPE_SB_USB:
520
521 /* Each USB device has both an EHCI and an OHCI HC */
522
523 result = ps3_setup_ehci_device(repo);
524
525 if (result) {
526 pr_debug("%s:%d ps3_setup_ehci_device failed\n",
527 __func__, __LINE__);
528 }
529
530 result = ps3_setup_ohci_device(repo);
531
532 if (result) {
533 pr_debug("%s:%d ps3_setup_ohci_device failed\n",
534 __func__, __LINE__);
535 }
536 break;
537 case PS3_DEV_TYPE_STOR_DISK: 510 case PS3_DEV_TYPE_STOR_DISK:
538 result = ps3_setup_storage_dev(repo, PS3_MATCH_ID_STOR_DISK); 511 result = ps3_setup_storage_dev(repo, PS3_MATCH_ID_STOR_DISK);
539 512
@@ -572,6 +545,48 @@ static int ps3_register_repository_device(
572 return result; 545 return result;
573} 546}
574 547
548/**
549 * ps3_setup_static_device - Setup a static device from the repository
550 */
551
552static int __init ps3_setup_static_device(const struct ps3_repository_device *repo)
553{
554 int result;
555
556 switch (repo->dev_type) {
557 case PS3_DEV_TYPE_SB_GELIC:
558 result = ps3_setup_gelic_device(repo);
559 if (result) {
560 pr_debug("%s:%d ps3_setup_gelic_device failed\n",
561 __func__, __LINE__);
562 }
563 break;
564 case PS3_DEV_TYPE_SB_USB:
565
566 /* Each USB device has both an EHCI and an OHCI HC */
567
568 result = ps3_setup_ehci_device(repo);
569
570 if (result) {
571 pr_debug("%s:%d ps3_setup_ehci_device failed\n",
572 __func__, __LINE__);
573 }
574
575 result = ps3_setup_ohci_device(repo);
576
577 if (result) {
578 pr_debug("%s:%d ps3_setup_ohci_device failed\n",
579 __func__, __LINE__);
580 }
581 break;
582
583 default:
584 return ps3_setup_dynamic_device(repo);
585 }
586
587 return result;
588}
589
575static void ps3_find_and_add_device(u64 bus_id, u64 dev_id) 590static void ps3_find_and_add_device(u64 bus_id, u64 dev_id)
576{ 591{
577 struct ps3_repository_device repo; 592 struct ps3_repository_device repo;
@@ -601,7 +616,7 @@ found:
601 pr_debug("%s:%u: device %lu:%lu found after %u retries\n", 616 pr_debug("%s:%u: device %lu:%lu found after %u retries\n",
602 __func__, __LINE__, bus_id, dev_id, retries); 617 __func__, __LINE__, bus_id, dev_id, retries);
603 618
604 ps3_register_repository_device(&repo); 619 ps3_setup_dynamic_device(&repo);
605 return; 620 return;
606} 621}
607 622
@@ -905,8 +920,7 @@ static int __init ps3_register_devices(void)
905 920
906 ps3_register_graphics_devices(); 921 ps3_register_graphics_devices();
907 922
908 ps3_repository_find_devices(PS3_BUS_TYPE_SB, 923 ps3_repository_find_devices(PS3_BUS_TYPE_SB, ps3_setup_static_device);
909 ps3_register_repository_device);
910 924
911 ps3_register_sound_devices(); 925 ps3_register_sound_devices();
912 926
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c
index 7382f195c4f..1cf901fa903 100644
--- a/arch/powerpc/platforms/ps3/htab.c
+++ b/arch/powerpc/platforms/ps3/htab.c
@@ -19,9 +19,10 @@
19 */ 19 */
20 20
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/lmb.h>
22 23
23#include <asm/machdep.h> 24#include <asm/machdep.h>
24#include <asm/lmb.h> 25#include <asm/prom.h>
25#include <asm/udbg.h> 26#include <asm/udbg.h>
26#include <asm/lv1call.h> 27#include <asm/lv1call.h>
27#include <asm/ps3fb.h> 28#include <asm/ps3fb.h>
diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c
index 3a6db04aa94..a14e5cdc2fe 100644
--- a/arch/powerpc/platforms/ps3/interrupt.c
+++ b/arch/powerpc/platforms/ps3/interrupt.c
@@ -709,7 +709,7 @@ static unsigned int ps3_get_irq(void)
709 asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x)); 709 asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x));
710 plug &= 0x3f; 710 plug &= 0x3f;
711 711
712 if (unlikely(plug) == NO_IRQ) { 712 if (unlikely(plug == NO_IRQ)) {
713 pr_debug("%s:%d: no plug found: thread_id %lu\n", __func__, 713 pr_debug("%s:%d: no plug found: thread_id %lu\n", __func__,
714 __LINE__, pd->thread_id); 714 __LINE__, pd->thread_id);
715 dump_bmp(&per_cpu(ps3_private, 0)); 715 dump_bmp(&per_cpu(ps3_private, 0));
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c
index 68900476c84..5b3fb2b321a 100644
--- a/arch/powerpc/platforms/ps3/mm.c
+++ b/arch/powerpc/platforms/ps3/mm.c
@@ -21,9 +21,10 @@
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/memory_hotplug.h> 23#include <linux/memory_hotplug.h>
24#include <linux/lmb.h>
24 25
25#include <asm/firmware.h> 26#include <asm/firmware.h>
26#include <asm/lmb.h> 27#include <asm/prom.h>
27#include <asm/udbg.h> 28#include <asm/udbg.h>
28#include <asm/lv1call.h> 29#include <asm/lv1call.h>
29 30
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c
index b9ea09d9d2f..c73379ec914 100644
--- a/arch/powerpc/platforms/ps3/os-area.c
+++ b/arch/powerpc/platforms/ps3/os-area.c
@@ -24,8 +24,9 @@
24#include <linux/fs.h> 24#include <linux/fs.h>
25#include <linux/syscalls.h> 25#include <linux/syscalls.h>
26#include <linux/ctype.h> 26#include <linux/ctype.h>
27#include <linux/lmb.h>
27 28
28#include <asm/lmb.h> 29#include <asm/prom.h>
29 30
30#include "platform.h" 31#include "platform.h"
31 32
diff --git a/arch/powerpc/platforms/ps3/setup.c b/arch/powerpc/platforms/ps3/setup.c
index 5c2cbb08eb5..a413abbd412 100644
--- a/arch/powerpc/platforms/ps3/setup.c
+++ b/arch/powerpc/platforms/ps3/setup.c
@@ -95,6 +95,14 @@ static void ps3_power_off(void)
95 ps3_sys_manager_power_off(); /* never returns */ 95 ps3_sys_manager_power_off(); /* never returns */
96} 96}
97 97
98static void ps3_halt(void)
99{
100 DBG("%s:%d\n", __func__, __LINE__);
101
102 smp_send_stop();
103 ps3_sys_manager_halt(); /* never returns */
104}
105
98static void ps3_panic(char *str) 106static void ps3_panic(char *str)
99{ 107{
100 DBG("%s:%d %s\n", __func__, __LINE__, str); 108 DBG("%s:%d %s\n", __func__, __LINE__, str);
@@ -105,7 +113,8 @@ static void ps3_panic(char *str)
105 printk(" Please press POWER button.\n"); 113 printk(" Please press POWER button.\n");
106 printk("\n"); 114 printk("\n");
107 115
108 while(1); 116 while(1)
117 lv1_pause(1);
109} 118}
110 119
111#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \ 120#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \
@@ -117,7 +126,7 @@ static void __init prealloc(struct ps3_prealloc *p)
117 126
118 p->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS)); 127 p->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS));
119 if (!p->address) { 128 if (!p->address) {
120 printk(KERN_ERR "%s: Cannot allocate %s\n", __FUNCTION__, 129 printk(KERN_ERR "%s: Cannot allocate %s\n", __func__,
121 p->name); 130 p->name);
122 return; 131 return;
123 } 132 }
@@ -266,6 +275,7 @@ define_machine(ps3) {
266 .progress = ps3_progress, 275 .progress = ps3_progress,
267 .restart = ps3_restart, 276 .restart = ps3_restart,
268 .power_off = ps3_power_off, 277 .power_off = ps3_power_off,
278 .halt = ps3_halt,
269#if defined(CONFIG_KEXEC) 279#if defined(CONFIG_KEXEC)
270 .kexec_cpu_down = ps3_kexec_cpu_down, 280 .kexec_cpu_down = ps3_kexec_cpu_down,
271 .machine_kexec = default_machine_kexec, 281 .machine_kexec = default_machine_kexec,
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c
index 5ad41189b49..d135cef9ed6 100644
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -27,6 +27,7 @@
27#include <asm/spu.h> 27#include <asm/spu.h>
28#include <asm/spu_priv1.h> 28#include <asm/spu_priv1.h>
29#include <asm/lv1call.h> 29#include <asm/lv1call.h>
30#include <asm/ps3.h>
30 31
31#include "../cell/spufs/spufs.h" 32#include "../cell/spufs/spufs.h"
32#include "platform.h" 33#include "platform.h"
@@ -140,6 +141,12 @@ static void _dump_areas(unsigned int spe_id, unsigned long priv2,
140 pr_debug("%s:%d: shadow: %lxh\n", func, line, shadow); 141 pr_debug("%s:%d: shadow: %lxh\n", func, line, shadow);
141} 142}
142 143
144inline u64 ps3_get_spe_id(void *arg)
145{
146 return spu_pdata(arg)->spe_id;
147}
148EXPORT_SYMBOL_GPL(ps3_get_spe_id);
149
143static unsigned long get_vas_id(void) 150static unsigned long get_vas_id(void)
144{ 151{
145 unsigned long id; 152 unsigned long id;
diff --git a/arch/powerpc/platforms/pseries/Makefile b/arch/powerpc/platforms/pseries/Makefile
index 992ba6753cf..bdae04bb7a0 100644
--- a/arch/powerpc/platforms/pseries/Makefile
+++ b/arch/powerpc/platforms/pseries/Makefile
@@ -18,3 +18,4 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug-cpu.o
18obj-$(CONFIG_HVC_CONSOLE) += hvconsole.o 18obj-$(CONFIG_HVC_CONSOLE) += hvconsole.o
19obj-$(CONFIG_HVCS) += hvcserver.o 19obj-$(CONFIG_HVCS) += hvcserver.o
20obj-$(CONFIG_HCALL_STATS) += hvCall_inst.o 20obj-$(CONFIG_HCALL_STATS) += hvCall_inst.o
21obj-$(CONFIG_PHYP_DUMP) += phyp_dump.o
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c
index 9eb539ee5f9..550b2f7d2cc 100644
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
@@ -945,7 +945,6 @@ static void *early_enable_eeh(struct device_node *dn, void *data)
945 unsigned int rets[3]; 945 unsigned int rets[3];
946 struct eeh_early_enable_info *info = data; 946 struct eeh_early_enable_info *info = data;
947 int ret; 947 int ret;
948 const char *status = of_get_property(dn, "status", NULL);
949 const u32 *class_code = of_get_property(dn, "class-code", NULL); 948 const u32 *class_code = of_get_property(dn, "class-code", NULL);
950 const u32 *vendor_id = of_get_property(dn, "vendor-id", NULL); 949 const u32 *vendor_id = of_get_property(dn, "vendor-id", NULL);
951 const u32 *device_id = of_get_property(dn, "device-id", NULL); 950 const u32 *device_id = of_get_property(dn, "device-id", NULL);
@@ -959,8 +958,8 @@ static void *early_enable_eeh(struct device_node *dn, void *data)
959 pdn->eeh_freeze_count = 0; 958 pdn->eeh_freeze_count = 0;
960 pdn->eeh_false_positives = 0; 959 pdn->eeh_false_positives = 0;
961 960
962 if (status && strncmp(status, "ok", 2) != 0) 961 if (!of_device_is_available(dn))
963 return NULL; /* ignore devices with bad status */ 962 return NULL;
964 963
965 /* Ignore bad nodes. */ 964 /* Ignore bad nodes. */
966 if (!class_code || !vendor_id || !device_id) 965 if (!class_code || !vendor_id || !device_id)
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
index 9a455d46379..9235c469449 100644
--- a/arch/powerpc/platforms/pseries/lpar.c
+++ b/arch/powerpc/platforms/pseries/lpar.c
@@ -40,6 +40,7 @@
40#include <asm/smp.h> 40#include <asm/smp.h>
41 41
42#include "plpar_wrappers.h" 42#include "plpar_wrappers.h"
43#include "pseries.h"
43 44
44#ifdef DEBUG_LOW 45#ifdef DEBUG_LOW
45#define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0) 46#define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0)
@@ -203,7 +204,6 @@ void __init find_udbg_vterm(void)
203 struct device_node *stdout_node; 204 struct device_node *stdout_node;
204 const u32 *termno; 205 const u32 *termno;
205 const char *name; 206 const char *name;
206 int add_console;
207 207
208 /* find the boot console from /chosen/stdout */ 208 /* find the boot console from /chosen/stdout */
209 if (!of_chosen) 209 if (!of_chosen)
@@ -219,8 +219,6 @@ void __init find_udbg_vterm(void)
219 printk(KERN_WARNING "stdout node missing 'name' property!\n"); 219 printk(KERN_WARNING "stdout node missing 'name' property!\n");
220 goto out; 220 goto out;
221 } 221 }
222 /* The user has requested a console so this is already set up. */
223 add_console = !strstr(cmd_line, "console=");
224 222
225 /* Check if it's a virtual terminal */ 223 /* Check if it's a virtual terminal */
226 if (strncmp(name, "vty", 3) != 0) 224 if (strncmp(name, "vty", 3) != 0)
@@ -234,15 +232,13 @@ void __init find_udbg_vterm(void)
234 udbg_putc = udbg_putcLP; 232 udbg_putc = udbg_putcLP;
235 udbg_getc = udbg_getcLP; 233 udbg_getc = udbg_getcLP;
236 udbg_getc_poll = udbg_getc_pollLP; 234 udbg_getc_poll = udbg_getc_pollLP;
237 if (add_console) 235 add_preferred_console("hvc", termno[0] & 0xff, NULL);
238 add_preferred_console("hvc", termno[0] & 0xff, NULL);
239 } else if (of_device_is_compatible(stdout_node, "hvterm-protocol")) { 236 } else if (of_device_is_compatible(stdout_node, "hvterm-protocol")) {
240 vtermno = termno[0]; 237 vtermno = termno[0];
241 udbg_putc = udbg_hvsi_putc; 238 udbg_putc = udbg_hvsi_putc;
242 udbg_getc = udbg_hvsi_getc; 239 udbg_getc = udbg_hvsi_getc;
243 udbg_getc_poll = udbg_hvsi_getc_poll; 240 udbg_getc_poll = udbg_hvsi_getc_poll;
244 if (add_console) 241 add_preferred_console("hvsi", termno[0] & 0xff, NULL);
245 add_preferred_console("hvsi", termno[0] & 0xff, NULL);
246 } 242 }
247out: 243out:
248 of_node_put(stdout_node); 244 of_node_put(stdout_node);
@@ -520,6 +516,20 @@ static void pSeries_lpar_hpte_invalidate(unsigned long slot, unsigned long va,
520 BUG_ON(lpar_rc != H_SUCCESS); 516 BUG_ON(lpar_rc != H_SUCCESS);
521} 517}
522 518
519static void pSeries_lpar_hpte_removebolted(unsigned long ea,
520 int psize, int ssize)
521{
522 unsigned long slot, vsid, va;
523
524 vsid = get_kernel_vsid(ea, ssize);
525 va = hpt_va(ea, vsid, ssize);
526
527 slot = pSeries_lpar_hpte_find(va, psize, ssize);
528 BUG_ON(slot == -1);
529
530 pSeries_lpar_hpte_invalidate(slot, va, psize, ssize, 0);
531}
532
523/* Flag bits for H_BULK_REMOVE */ 533/* Flag bits for H_BULK_REMOVE */
524#define HBR_REQUEST 0x4000000000000000UL 534#define HBR_REQUEST 0x4000000000000000UL
525#define HBR_RESPONSE 0x8000000000000000UL 535#define HBR_RESPONSE 0x8000000000000000UL
@@ -597,6 +607,7 @@ void __init hpte_init_lpar(void)
597 ppc_md.hpte_updateboltedpp = pSeries_lpar_hpte_updateboltedpp; 607 ppc_md.hpte_updateboltedpp = pSeries_lpar_hpte_updateboltedpp;
598 ppc_md.hpte_insert = pSeries_lpar_hpte_insert; 608 ppc_md.hpte_insert = pSeries_lpar_hpte_insert;
599 ppc_md.hpte_remove = pSeries_lpar_hpte_remove; 609 ppc_md.hpte_remove = pSeries_lpar_hpte_remove;
610 ppc_md.hpte_removebolted = pSeries_lpar_hpte_removebolted;
600 ppc_md.flush_hash_range = pSeries_lpar_flush_hash_range; 611 ppc_md.flush_hash_range = pSeries_lpar_flush_hash_range;
601 ppc_md.hpte_clear_all = pSeries_lpar_hptab_clear; 612 ppc_md.hpte_clear_all = pSeries_lpar_hptab_clear;
602} 613}
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c
index 5a5a19e40bb..0d7229cde0e 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
@@ -123,7 +123,7 @@ pcibios_pci_config_bridge(struct pci_dev *dev)
123 /* Add to children of PCI bridge dev->bus */ 123 /* Add to children of PCI bridge dev->bus */
124 child_bus = pci_add_new_bus(dev->bus, dev, sec_busno); 124 child_bus = pci_add_new_bus(dev->bus, dev, sec_busno);
125 if (!child_bus) { 125 if (!child_bus) {
126 printk (KERN_ERR "%s: could not add second bus\n", __FUNCTION__); 126 printk (KERN_ERR "%s: could not add second bus\n", __func__);
127 return -EIO; 127 return -EIO;
128 } 128 }
129 sprintf(child_bus->name, "PCI Bus #%02x", child_bus->number); 129 sprintf(child_bus->name, "PCI Bus #%02x", child_bus->number);
diff --git a/arch/powerpc/platforms/pseries/phyp_dump.c b/arch/powerpc/platforms/pseries/phyp_dump.c
new file mode 100644
index 00000000000..edbc012c2eb
--- /dev/null
+++ b/arch/powerpc/platforms/pseries/phyp_dump.c
@@ -0,0 +1,507 @@
1/*
2 * Hypervisor-assisted dump
3 *
4 * Linas Vepstas, Manish Ahuja 2008
5 * Copyright 2008 IBM Corp.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 *
12 */
13
14#include <linux/init.h>
15#include <linux/kobject.h>
16#include <linux/mm.h>
17#include <linux/of.h>
18#include <linux/pfn.h>
19#include <linux/swap.h>
20#include <linux/sysfs.h>
21
22#include <asm/page.h>
23#include <asm/phyp_dump.h>
24#include <asm/machdep.h>
25#include <asm/prom.h>
26#include <asm/rtas.h>
27
28/* Variables, used to communicate data between early boot and late boot */
29static struct phyp_dump phyp_dump_vars;
30struct phyp_dump *phyp_dump_info = &phyp_dump_vars;
31
32static int ibm_configure_kernel_dump;
33/* ------------------------------------------------- */
34/* RTAS interfaces to declare the dump regions */
35
36struct dump_section {
37 u32 dump_flags;
38 u16 source_type;
39 u16 error_flags;
40 u64 source_address;
41 u64 source_length;
42 u64 length_copied;
43 u64 destination_address;
44};
45
46struct phyp_dump_header {
47 u32 version;
48 u16 num_of_sections;
49 u16 status;
50
51 u32 first_offset_section;
52 u32 dump_disk_section;
53 u64 block_num_dd;
54 u64 num_of_blocks_dd;
55 u32 offset_dd;
56 u32 maxtime_to_auto;
57 /* No dump disk path string used */
58
59 struct dump_section cpu_data;
60 struct dump_section hpte_data;
61 struct dump_section kernel_data;
62};
63
64/* The dump header *must be* in low memory, so .bss it */
65static struct phyp_dump_header phdr;
66
67#define NUM_DUMP_SECTIONS 3
68#define DUMP_HEADER_VERSION 0x1
69#define DUMP_REQUEST_FLAG 0x1
70#define DUMP_SOURCE_CPU 0x0001
71#define DUMP_SOURCE_HPTE 0x0002
72#define DUMP_SOURCE_RMO 0x0011
73#define DUMP_ERROR_FLAG 0x2000
74#define DUMP_TRIGGERED 0x4000
75#define DUMP_PERFORMED 0x8000
76
77
78/**
79 * init_dump_header() - initialize the header declaring a dump
80 * Returns: length of dump save area.
81 *
82 * When the hypervisor saves crashed state, it needs to put
83 * it somewhere. The dump header tells the hypervisor where
84 * the data can be saved.
85 */
86static unsigned long init_dump_header(struct phyp_dump_header *ph)
87{
88 unsigned long addr_offset = 0;
89
90 /* Set up the dump header */
91 ph->version = DUMP_HEADER_VERSION;
92 ph->num_of_sections = NUM_DUMP_SECTIONS;
93 ph->status = 0;
94
95 ph->first_offset_section =
96 (u32)offsetof(struct phyp_dump_header, cpu_data);
97 ph->dump_disk_section = 0;
98 ph->block_num_dd = 0;
99 ph->num_of_blocks_dd = 0;
100 ph->offset_dd = 0;
101
102 ph->maxtime_to_auto = 0; /* disabled */
103
104 /* The first two sections are mandatory */
105 ph->cpu_data.dump_flags = DUMP_REQUEST_FLAG;
106 ph->cpu_data.source_type = DUMP_SOURCE_CPU;
107 ph->cpu_data.source_address = 0;
108 ph->cpu_data.source_length = phyp_dump_info->cpu_state_size;
109 ph->cpu_data.destination_address = addr_offset;
110 addr_offset += phyp_dump_info->cpu_state_size;
111
112 ph->hpte_data.dump_flags = DUMP_REQUEST_FLAG;
113 ph->hpte_data.source_type = DUMP_SOURCE_HPTE;
114 ph->hpte_data.source_address = 0;
115 ph->hpte_data.source_length = phyp_dump_info->hpte_region_size;
116 ph->hpte_data.destination_address = addr_offset;
117 addr_offset += phyp_dump_info->hpte_region_size;
118
119 /* This section describes the low kernel region */
120 ph->kernel_data.dump_flags = DUMP_REQUEST_FLAG;
121 ph->kernel_data.source_type = DUMP_SOURCE_RMO;
122 ph->kernel_data.source_address = PHYP_DUMP_RMR_START;
123 ph->kernel_data.source_length = PHYP_DUMP_RMR_END;
124 ph->kernel_data.destination_address = addr_offset;
125 addr_offset += ph->kernel_data.source_length;
126
127 return addr_offset;
128}
129
130static void print_dump_header(const struct phyp_dump_header *ph)
131{
132#ifdef DEBUG
133 printk(KERN_INFO "dump header:\n");
134 /* setup some ph->sections required */
135 printk(KERN_INFO "version = %d\n", ph->version);
136 printk(KERN_INFO "Sections = %d\n", ph->num_of_sections);
137 printk(KERN_INFO "Status = 0x%x\n", ph->status);
138
139 /* No ph->disk, so all should be set to 0 */
140 printk(KERN_INFO "Offset to first section 0x%x\n",
141 ph->first_offset_section);
142 printk(KERN_INFO "dump disk sections should be zero\n");
143 printk(KERN_INFO "dump disk section = %d\n", ph->dump_disk_section);
144 printk(KERN_INFO "block num = %ld\n", ph->block_num_dd);
145 printk(KERN_INFO "number of blocks = %ld\n", ph->num_of_blocks_dd);
146 printk(KERN_INFO "dump disk offset = %d\n", ph->offset_dd);
147 printk(KERN_INFO "Max auto time= %d\n", ph->maxtime_to_auto);
148
149 /*set cpu state and hpte states as well scratch pad area */
150 printk(KERN_INFO " CPU AREA \n");
151 printk(KERN_INFO "cpu dump_flags =%d\n", ph->cpu_data.dump_flags);
152 printk(KERN_INFO "cpu source_type =%d\n", ph->cpu_data.source_type);
153 printk(KERN_INFO "cpu error_flags =%d\n", ph->cpu_data.error_flags);
154 printk(KERN_INFO "cpu source_address =%lx\n",
155 ph->cpu_data.source_address);
156 printk(KERN_INFO "cpu source_length =%lx\n",
157 ph->cpu_data.source_length);
158 printk(KERN_INFO "cpu length_copied =%lx\n",
159 ph->cpu_data.length_copied);
160
161 printk(KERN_INFO " HPTE AREA \n");
162 printk(KERN_INFO "HPTE dump_flags =%d\n", ph->hpte_data.dump_flags);
163 printk(KERN_INFO "HPTE source_type =%d\n", ph->hpte_data.source_type);
164 printk(KERN_INFO "HPTE error_flags =%d\n", ph->hpte_data.error_flags);
165 printk(KERN_INFO "HPTE source_address =%lx\n",
166 ph->hpte_data.source_address);
167 printk(KERN_INFO "HPTE source_length =%lx\n",
168 ph->hpte_data.source_length);
169 printk(KERN_INFO "HPTE length_copied =%lx\n",
170 ph->hpte_data.length_copied);
171
172 printk(KERN_INFO " SRSD AREA \n");
173 printk(KERN_INFO "SRSD dump_flags =%d\n", ph->kernel_data.dump_flags);
174 printk(KERN_INFO "SRSD source_type =%d\n", ph->kernel_data.source_type);
175 printk(KERN_INFO "SRSD error_flags =%d\n", ph->kernel_data.error_flags);
176 printk(KERN_INFO "SRSD source_address =%lx\n",
177 ph->kernel_data.source_address);
178 printk(KERN_INFO "SRSD source_length =%lx\n",
179 ph->kernel_data.source_length);
180 printk(KERN_INFO "SRSD length_copied =%lx\n",
181 ph->kernel_data.length_copied);
182#endif
183}
184
185static ssize_t show_phyp_dump_active(struct kobject *kobj,
186 struct kobj_attribute *attr, char *buf)
187{
188
189 /* create filesystem entry so kdump is phyp-dump aware */
190 return sprintf(buf, "%lx\n", phyp_dump_info->phyp_dump_at_boot);
191}
192
193static struct kobj_attribute pdl = __ATTR(phyp_dump_active, 0600,
194 show_phyp_dump_active,
195 NULL);
196
197static void register_dump_area(struct phyp_dump_header *ph, unsigned long addr)
198{
199 int rc;
200
201 /* Add addr value if not initialized before */
202 if (ph->cpu_data.destination_address == 0) {
203 ph->cpu_data.destination_address += addr;
204 ph->hpte_data.destination_address += addr;
205 ph->kernel_data.destination_address += addr;
206 }
207
208 /* ToDo Invalidate kdump and free memory range. */
209
210 do {
211 rc = rtas_call(ibm_configure_kernel_dump, 3, 1, NULL,
212 1, ph, sizeof(struct phyp_dump_header));
213 } while (rtas_busy_delay(rc));
214
215 if (rc) {
216 printk(KERN_ERR "phyp-dump: unexpected error (%d) on "
217 "register\n", rc);
218 print_dump_header(ph);
219 return;
220 }
221
222 rc = sysfs_create_file(kernel_kobj, &pdl.attr);
223 if (rc)
224 printk(KERN_ERR "phyp-dump: unable to create sysfs"
225 " file (%d)\n", rc);
226}
227
228static
229void invalidate_last_dump(struct phyp_dump_header *ph, unsigned long addr)
230{
231 int rc;
232
233 /* Add addr value if not initialized before */
234 if (ph->cpu_data.destination_address == 0) {
235 ph->cpu_data.destination_address += addr;
236 ph->hpte_data.destination_address += addr;
237 ph->kernel_data.destination_address += addr;
238 }
239
240 do {
241 rc = rtas_call(ibm_configure_kernel_dump, 3, 1, NULL,
242 2, ph, sizeof(struct phyp_dump_header));
243 } while (rtas_busy_delay(rc));
244
245 if (rc) {
246 printk(KERN_ERR "phyp-dump: unexpected error (%d) "
247 "on invalidate\n", rc);
248 print_dump_header(ph);
249 }
250}
251
252/* ------------------------------------------------- */
253/**
254 * release_memory_range -- release memory previously lmb_reserved
255 * @start_pfn: starting physical frame number
256 * @nr_pages: number of pages to free.
257 *
258 * This routine will release memory that had been previously
259 * lmb_reserved in early boot. The released memory becomes
260 * available for genreal use.
261 */
262static void release_memory_range(unsigned long start_pfn,
263 unsigned long nr_pages)
264{
265 struct page *rpage;
266 unsigned long end_pfn;
267 long i;
268
269 end_pfn = start_pfn + nr_pages;
270
271 for (i = start_pfn; i <= end_pfn; i++) {
272 rpage = pfn_to_page(i);
273 if (PageReserved(rpage)) {
274 ClearPageReserved(rpage);
275 init_page_count(rpage);
276 __free_page(rpage);
277 totalram_pages++;
278 }
279 }
280}
281
282/**
283 * track_freed_range -- Counts the range being freed.
284 * Once the counter goes to zero, it re-registers dump for
285 * future use.
286 */
287static void
288track_freed_range(unsigned long addr, unsigned long length)
289{
290 static unsigned long scratch_area_size, reserved_area_size;
291
292 if (addr < phyp_dump_info->init_reserve_start)
293 return;
294
295 if ((addr >= phyp_dump_info->init_reserve_start) &&
296 (addr <= phyp_dump_info->init_reserve_start +
297 phyp_dump_info->init_reserve_size))
298 reserved_area_size += length;
299
300 if ((addr >= phyp_dump_info->reserved_scratch_addr) &&
301 (addr <= phyp_dump_info->reserved_scratch_addr +
302 phyp_dump_info->reserved_scratch_size))
303 scratch_area_size += length;
304
305 if ((reserved_area_size == phyp_dump_info->init_reserve_size) &&
306 (scratch_area_size == phyp_dump_info->reserved_scratch_size)) {
307
308 invalidate_last_dump(&phdr,
309 phyp_dump_info->reserved_scratch_addr);
310 register_dump_area(&phdr,
311 phyp_dump_info->reserved_scratch_addr);
312 }
313}
314
315/* ------------------------------------------------- */
316/**
317 * sysfs_release_region -- sysfs interface to release memory range.
318 *
319 * Usage:
320 * "echo <start addr> <length> > /sys/kernel/release_region"
321 *
322 * Example:
323 * "echo 0x40000000 0x10000000 > /sys/kernel/release_region"
324 *
325 * will release 256MB starting at 1GB.
326 */
327static ssize_t store_release_region(struct kobject *kobj,
328 struct kobj_attribute *attr,
329 const char *buf, size_t count)
330{
331 unsigned long start_addr, length, end_addr;
332 unsigned long start_pfn, nr_pages;
333 ssize_t ret;
334
335 ret = sscanf(buf, "%lx %lx", &start_addr, &length);
336 if (ret != 2)
337 return -EINVAL;
338
339 track_freed_range(start_addr, length);
340
341 /* Range-check - don't free any reserved memory that
342 * wasn't reserved for phyp-dump */
343 if (start_addr < phyp_dump_info->init_reserve_start)
344 start_addr = phyp_dump_info->init_reserve_start;
345
346 end_addr = phyp_dump_info->init_reserve_start +
347 phyp_dump_info->init_reserve_size;
348 if (start_addr+length > end_addr)
349 length = end_addr - start_addr;
350
351 /* Release the region of memory assed in by user */
352 start_pfn = PFN_DOWN(start_addr);
353 nr_pages = PFN_DOWN(length);
354 release_memory_range(start_pfn, nr_pages);
355
356 return count;
357}
358
359static ssize_t show_release_region(struct kobject *kobj,
360 struct kobj_attribute *attr, char *buf)
361{
362 u64 second_addr_range;
363
364 /* total reserved size - start of scratch area */
365 second_addr_range = phyp_dump_info->init_reserve_size -
366 phyp_dump_info->reserved_scratch_size;
367 return sprintf(buf, "CPU:0x%lx-0x%lx: HPTE:0x%lx-0x%lx:"
368 " DUMP:0x%lx-0x%lx, 0x%lx-0x%lx:\n",
369 phdr.cpu_data.destination_address,
370 phdr.cpu_data.length_copied,
371 phdr.hpte_data.destination_address,
372 phdr.hpte_data.length_copied,
373 phdr.kernel_data.destination_address,
374 phdr.kernel_data.length_copied,
375 phyp_dump_info->init_reserve_start,
376 second_addr_range);
377}
378
379static struct kobj_attribute rr = __ATTR(release_region, 0600,
380 show_release_region,
381 store_release_region);
382
383static int __init phyp_dump_setup(void)
384{
385 struct device_node *rtas;
386 const struct phyp_dump_header *dump_header = NULL;
387 unsigned long dump_area_start;
388 unsigned long dump_area_length;
389 int header_len = 0;
390 int rc;
391
392 /* If no memory was reserved in early boot, there is nothing to do */
393 if (phyp_dump_info->init_reserve_size == 0)
394 return 0;
395
396 /* Return if phyp dump not supported */
397 if (!phyp_dump_info->phyp_dump_configured)
398 return -ENOSYS;
399
400 /* Is there dump data waiting for us? If there isn't,
401 * then register a new dump area, and release all of
402 * the rest of the reserved ram.
403 *
404 * The /rtas/ibm,kernel-dump rtas node is present only
405 * if there is dump data waiting for us.
406 */
407 rtas = of_find_node_by_path("/rtas");
408 if (rtas) {
409 dump_header = of_get_property(rtas, "ibm,kernel-dump",
410 &header_len);
411 of_node_put(rtas);
412 }
413
414 print_dump_header(dump_header);
415 dump_area_length = init_dump_header(&phdr);
416 /* align down */
417 dump_area_start = phyp_dump_info->init_reserve_start & PAGE_MASK;
418
419 if (dump_header == NULL) {
420 register_dump_area(&phdr, dump_area_start);
421 return 0;
422 }
423
424 /* re-register the dump area, if old dump was invalid */
425 if ((dump_header) && (dump_header->status & DUMP_ERROR_FLAG)) {
426 invalidate_last_dump(&phdr, dump_area_start);
427 register_dump_area(&phdr, dump_area_start);
428 return 0;
429 }
430
431 if (dump_header) {
432 phyp_dump_info->reserved_scratch_addr =
433 dump_header->cpu_data.destination_address;
434 phyp_dump_info->reserved_scratch_size =
435 dump_header->cpu_data.source_length +
436 dump_header->hpte_data.source_length +
437 dump_header->kernel_data.source_length;
438 }
439
440 /* Should we create a dump_subsys, analogous to s390/ipl.c ? */
441 rc = sysfs_create_file(kernel_kobj, &rr.attr);
442 if (rc)
443 printk(KERN_ERR "phyp-dump: unable to create sysfs file (%d)\n",
444 rc);
445
446 /* ToDo: re-register the dump area, for next time. */
447 return 0;
448}
449machine_subsys_initcall(pseries, phyp_dump_setup);
450
451int __init early_init_dt_scan_phyp_dump(unsigned long node,
452 const char *uname, int depth, void *data)
453{
454 const unsigned int *sizes;
455
456 phyp_dump_info->phyp_dump_configured = 0;
457 phyp_dump_info->phyp_dump_is_active = 0;
458
459 if (depth != 1 || strcmp(uname, "rtas") != 0)
460 return 0;
461
462 if (of_get_flat_dt_prop(node, "ibm,configure-kernel-dump", NULL))
463 phyp_dump_info->phyp_dump_configured++;
464
465 if (of_get_flat_dt_prop(node, "ibm,dump-kernel", NULL))
466 phyp_dump_info->phyp_dump_is_active++;
467
468 sizes = of_get_flat_dt_prop(node, "ibm,configure-kernel-dump-sizes",
469 NULL);
470 if (!sizes)
471 return 0;
472
473 if (sizes[0] == 1)
474 phyp_dump_info->cpu_state_size = *((unsigned long *)&sizes[1]);
475
476 if (sizes[3] == 2)
477 phyp_dump_info->hpte_region_size =
478 *((unsigned long *)&sizes[4]);
479 return 1;
480}
481
482/* Look for phyp_dump= cmdline option */
483static int __init early_phyp_dump_enabled(char *p)
484{
485 phyp_dump_info->phyp_dump_at_boot = 1;
486
487 if (!p)
488 return 0;
489
490 if (strncmp(p, "1", 1) == 0)
491 phyp_dump_info->phyp_dump_at_boot = 1;
492 else if (strncmp(p, "0", 1) == 0)
493 phyp_dump_info->phyp_dump_at_boot = 0;
494
495 return 0;
496}
497early_param("phyp_dump", early_phyp_dump_enabled);
498
499/* Look for phyp_dump_reserve_size= cmdline option */
500static int __init early_phyp_dump_reserve_size(char *p)
501{
502 if (p)
503 phyp_dump_info->reserve_bootvar = memparse(p, &p);
504
505 return 0;
506}
507early_param("phyp_dump_reserve_size", early_phyp_dump_reserve_size);
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 61136d01955..9e17c0d2a0c 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -38,4 +38,6 @@ extern void pSeries_final_fixup(void);
38/* Poweron flag used for enabling auto ups restart */ 38/* Poweron flag used for enabling auto ups restart */
39extern unsigned long rtas_poweron_auto; 39extern unsigned long rtas_poweron_auto;
40 40
41extern void find_udbg_vterm(void);
42
41#endif /* _PSERIES_PSERIES_H */ 43#endif /* _PSERIES_PSERIES_H */
diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c
index 2800fced8c7..ac75c10de27 100644
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
@@ -222,14 +222,14 @@ static char * parse_next_property(char *buf, char *end, char **name, int *length
222 tmp = strchr(buf, ' '); 222 tmp = strchr(buf, ' ');
223 if (!tmp) { 223 if (!tmp) {
224 printk(KERN_ERR "property parse failed in %s at line %d\n", 224 printk(KERN_ERR "property parse failed in %s at line %d\n",
225 __FUNCTION__, __LINE__); 225 __func__, __LINE__);
226 return NULL; 226 return NULL;
227 } 227 }
228 *tmp = '\0'; 228 *tmp = '\0';
229 229
230 if (++tmp >= end) { 230 if (++tmp >= end) {
231 printk(KERN_ERR "property parse failed in %s at line %d\n", 231 printk(KERN_ERR "property parse failed in %s at line %d\n",
232 __FUNCTION__, __LINE__); 232 __func__, __LINE__);
233 return NULL; 233 return NULL;
234 } 234 }
235 235
@@ -238,12 +238,12 @@ static char * parse_next_property(char *buf, char *end, char **name, int *length
238 *length = simple_strtoul(tmp, &tmp, 10); 238 *length = simple_strtoul(tmp, &tmp, 10);
239 if (*length == -1) { 239 if (*length == -1) {
240 printk(KERN_ERR "property parse failed in %s at line %d\n", 240 printk(KERN_ERR "property parse failed in %s at line %d\n",
241 __FUNCTION__, __LINE__); 241 __func__, __LINE__);
242 return NULL; 242 return NULL;
243 } 243 }
244 if (*tmp != ' ' || ++tmp >= end) { 244 if (*tmp != ' ' || ++tmp >= end) {
245 printk(KERN_ERR "property parse failed in %s at line %d\n", 245 printk(KERN_ERR "property parse failed in %s at line %d\n",
246 __FUNCTION__, __LINE__); 246 __func__, __LINE__);
247 return NULL; 247 return NULL;
248 } 248 }
249 249
@@ -252,12 +252,12 @@ static char * parse_next_property(char *buf, char *end, char **name, int *length
252 tmp += *length; 252 tmp += *length;
253 if (tmp > end) { 253 if (tmp > end) {
254 printk(KERN_ERR "property parse failed in %s at line %d\n", 254 printk(KERN_ERR "property parse failed in %s at line %d\n",
255 __FUNCTION__, __LINE__); 255 __func__, __LINE__);
256 return NULL; 256 return NULL;
257 } 257 }
258 else if (tmp < end && *tmp != ' ' && *tmp != '\0') { 258 else if (tmp < end && *tmp != ' ' && *tmp != '\0') {
259 printk(KERN_ERR "property parse failed in %s at line %d\n", 259 printk(KERN_ERR "property parse failed in %s at line %d\n",
260 __FUNCTION__, __LINE__); 260 __func__, __LINE__);
261 return NULL; 261 return NULL;
262 } 262 }
263 tmp++; 263 tmp++;
diff --git a/arch/powerpc/platforms/pseries/scanlog.c b/arch/powerpc/platforms/pseries/scanlog.c
index 8e1ef168e2d..e5b0ea87016 100644
--- a/arch/powerpc/platforms/pseries/scanlog.c
+++ b/arch/powerpc/platforms/pseries/scanlog.c
@@ -195,31 +195,30 @@ const struct file_operations scanlog_fops = {
195static int __init scanlog_init(void) 195static int __init scanlog_init(void)
196{ 196{
197 struct proc_dir_entry *ent; 197 struct proc_dir_entry *ent;
198 void *data;
199 int err = -ENOMEM;
198 200
199 ibm_scan_log_dump = rtas_token("ibm,scan-log-dump"); 201 ibm_scan_log_dump = rtas_token("ibm,scan-log-dump");
200 if (ibm_scan_log_dump == RTAS_UNKNOWN_SERVICE) { 202 if (ibm_scan_log_dump == RTAS_UNKNOWN_SERVICE)
201 printk(KERN_ERR "scan-log-dump not implemented on this system\n"); 203 return -ENODEV;
202 return -EIO;
203 }
204 204
205 ent = create_proc_entry("ppc64/rtas/scan-log-dump", S_IRUSR, NULL); 205 /* Ideally we could allocate a buffer < 4G */
206 if (ent) { 206 data = kzalloc(RTAS_DATA_BUF_SIZE, GFP_KERNEL);
207 ent->proc_fops = &scanlog_fops; 207 if (!data)
208 /* Ideally we could allocate a buffer < 4G */ 208 goto err;
209 ent->data = kmalloc(RTAS_DATA_BUF_SIZE, GFP_KERNEL); 209
210 if (!ent->data) { 210 ent = proc_create("ppc64/rtas/scan-log-dump", S_IRUSR, NULL,
211 printk(KERN_ERR "Failed to allocate a buffer\n"); 211 &scanlog_fops);
212 remove_proc_entry("scan-log-dump", ent->parent); 212 if (!ent)
213 return -ENOMEM; 213 goto err;
214 } 214
215 ((unsigned int *)ent->data)[0] = 0; 215 ent->data = data;
216 } else {
217 printk(KERN_ERR "Failed to create ppc64/scan-log-dump proc entry\n");
218 return -EIO;
219 }
220 proc_ppc64_scan_log_dump = ent; 216 proc_ppc64_scan_log_dump = ent;
221 217
222 return 0; 218 return 0;
219err:
220 kfree(data);
221 return err;
223} 222}
224 223
225static void __exit scanlog_cleanup(void) 224static void __exit scanlog_cleanup(void)
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index fdb9b1c8f97..fccca89ee04 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -76,9 +76,6 @@
76#define DBG(fmt...) 76#define DBG(fmt...)
77#endif 77#endif
78 78
79/* move those away to a .h */
80extern void find_udbg_vterm(void);
81
82int fwnmi_active; /* TRUE if an FWNMI handler is present */ 79int fwnmi_active; /* TRUE if an FWNMI handler is present */
83 80
84static void pseries_shared_idle_sleep(void); 81static void pseries_shared_idle_sleep(void);
@@ -393,6 +390,7 @@ static void pseries_dedicated_idle_sleep(void)
393{ 390{
394 unsigned int cpu = smp_processor_id(); 391 unsigned int cpu = smp_processor_id();
395 unsigned long start_snooze; 392 unsigned long start_snooze;
393 unsigned long in_purr, out_purr;
396 394
397 /* 395 /*
398 * Indicate to the HV that we are idle. Now would be 396 * Indicate to the HV that we are idle. Now would be
@@ -400,6 +398,7 @@ static void pseries_dedicated_idle_sleep(void)
400 */ 398 */
401 get_lppaca()->idle = 1; 399 get_lppaca()->idle = 1;
402 get_lppaca()->donate_dedicated_cpu = 1; 400 get_lppaca()->donate_dedicated_cpu = 1;
401 in_purr = mfspr(SPRN_PURR);
403 402
404 /* 403 /*
405 * We come in with interrupts disabled, and need_resched() 404 * We come in with interrupts disabled, and need_resched()
@@ -432,6 +431,8 @@ static void pseries_dedicated_idle_sleep(void)
432 431
433out: 432out:
434 HMT_medium(); 433 HMT_medium();
434 out_purr = mfspr(SPRN_PURR);
435 get_lppaca()->wait_state_cycles += out_purr - in_purr;
435 get_lppaca()->donate_dedicated_cpu = 0; 436 get_lppaca()->donate_dedicated_cpu = 0;
436 get_lppaca()->idle = 0; 437 get_lppaca()->idle = 0;
437} 438}
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/Makefile b/arch/powerpc/sysdev/Makefile
index 15f3e8527d7..851a0be7194 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -27,6 +27,7 @@ obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o
27obj-$(CONFIG_PPC_I8259) += i8259.o 27obj-$(CONFIG_PPC_I8259) += i8259.o
28obj-$(CONFIG_IPIC) += ipic.o 28obj-$(CONFIG_IPIC) += ipic.o
29obj-$(CONFIG_4xx) += uic.o 29obj-$(CONFIG_4xx) += uic.o
30obj-$(CONFIG_4xx_SOC) += ppc4xx_soc.o
30obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o 31obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o
31obj-$(CONFIG_OF_RTC) += of_rtc.o 32obj-$(CONFIG_OF_RTC) += of_rtc.o
32ifeq ($(CONFIG_PCI),y) 33ifeq ($(CONFIG_PCI),y)
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c
index df8bd2b6479..3eceeb5f3ee 100644
--- a/arch/powerpc/sysdev/cpm1.c
+++ b/arch/powerpc/sysdev/cpm1.c
@@ -257,7 +257,7 @@ int cpm_command(u32 command, u8 opcode)
257 if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0) 257 if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
258 goto out; 258 goto out;
259 259
260 printk(KERN_ERR "%s(): Not able to issue CPM command\n", __FUNCTION__); 260 printk(KERN_ERR "%s(): Not able to issue CPM command\n", __func__);
261 ret = -EIO; 261 ret = -EIO;
262out: 262out:
263 spin_unlock_irqrestore(&cmd_lock, flags); 263 spin_unlock_irqrestore(&cmd_lock, flags);
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
index 7be71123212..fa70ee31349 100644
--- a/arch/powerpc/sysdev/cpm2.c
+++ b/arch/powerpc/sysdev/cpm2.c
@@ -99,7 +99,7 @@ int cpm_command(u32 command, u8 opcode)
99 if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0) 99 if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
100 goto out; 100 goto out;
101 101
102 printk(KERN_ERR "%s(): Not able to issue CPM command\n", __FUNCTION__); 102 printk(KERN_ERR "%s(): Not able to issue CPM command\n", __func__);
103 ret = -EIO; 103 ret = -EIO;
104out: 104out:
105 spin_unlock_irqrestore(&cmd_lock, flags); 105 spin_unlock_irqrestore(&cmd_lock, flags);
@@ -240,6 +240,7 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
240 case CPM_CLK_SCC1: 240 case CPM_CLK_SCC1:
241 reg = &im_cpmux->cmx_scr; 241 reg = &im_cpmux->cmx_scr;
242 shift = 24; 242 shift = 24;
243 break;
243 case CPM_CLK_SCC2: 244 case CPM_CLK_SCC2:
244 reg = &im_cpmux->cmx_scr; 245 reg = &im_cpmux->cmx_scr;
245 shift = 16; 246 shift = 16;
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index e0e24b01e3a..005c2ecf976 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -37,6 +37,7 @@
37#include <linux/dma-mapping.h> 37#include <linux/dma-mapping.h>
38#include <linux/vmalloc.h> 38#include <linux/vmalloc.h>
39#include <linux/suspend.h> 39#include <linux/suspend.h>
40#include <linux/lmb.h>
40#include <asm/io.h> 41#include <asm/io.h>
41#include <asm/prom.h> 42#include <asm/prom.h>
42#include <asm/iommu.h> 43#include <asm/iommu.h>
@@ -44,7 +45,6 @@
44#include <asm/machdep.h> 45#include <asm/machdep.h>
45#include <asm/abs_addr.h> 46#include <asm/abs_addr.h>
46#include <asm/cacheflush.h> 47#include <asm/cacheflush.h>
47#include <asm/lmb.h>
48#include <asm/ppc-pci.h> 48#include <asm/ppc-pci.h>
49 49
50#include "dart.h" 50#include "dart.h"
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 6ffdda244bb..8619f2a3f1f 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -175,13 +175,16 @@ static inline void _mpic_write(enum mpic_reg_type type,
175 switch(type) { 175 switch(type) {
176#ifdef CONFIG_PPC_DCR 176#ifdef CONFIG_PPC_DCR
177 case mpic_access_dcr: 177 case mpic_access_dcr:
178 return dcr_write(rb->dhost, reg, value); 178 dcr_write(rb->dhost, reg, value);
179 break;
179#endif 180#endif
180 case mpic_access_mmio_be: 181 case mpic_access_mmio_be:
181 return out_be32(rb->base + (reg >> 2), value); 182 out_be32(rb->base + (reg >> 2), value);
183 break;
182 case mpic_access_mmio_le: 184 case mpic_access_mmio_le:
183 default: 185 default:
184 return out_le32(rb->base + (reg >> 2), value); 186 out_le32(rb->base + (reg >> 2), value);
187 break;
185 } 188 }
186} 189}
187 190
@@ -1000,7 +1003,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1000 const char *name) 1003 const char *name)
1001{ 1004{
1002 struct mpic *mpic; 1005 struct mpic *mpic;
1003 u32 reg; 1006 u32 greg_feature;
1004 const char *vers; 1007 const char *vers;
1005 int i; 1008 int i;
1006 int intvec_top; 1009 int intvec_top;
@@ -1064,7 +1067,8 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1064 1067
1065 /* Look for protected sources */ 1068 /* Look for protected sources */
1066 if (node) { 1069 if (node) {
1067 unsigned int psize, bits, mapsize; 1070 int psize;
1071 unsigned int bits, mapsize;
1068 const u32 *psrc = 1072 const u32 *psrc =
1069 of_get_property(node, "protected-sources", &psize); 1073 of_get_property(node, "protected-sources", &psize);
1070 if (psrc) { 1074 if (psrc) {
@@ -1107,8 +1111,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1107 * in, try to obtain one 1111 * in, try to obtain one
1108 */ 1112 */
1109 if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) { 1113 if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
1110 const u32 *reg; 1114 const u32 *reg = of_get_property(node, "reg", NULL);
1111 reg = of_get_property(node, "reg", NULL);
1112 BUG_ON(reg == NULL); 1115 BUG_ON(reg == NULL);
1113 paddr = of_translate_address(node, reg); 1116 paddr = of_translate_address(node, reg);
1114 BUG_ON(paddr == OF_BAD_ADDR); 1117 BUG_ON(paddr == OF_BAD_ADDR);
@@ -1137,12 +1140,13 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1137 * MPICs, num sources as well. On ISU MPICs, sources are counted 1140 * MPICs, num sources as well. On ISU MPICs, sources are counted
1138 * as ISUs are added 1141 * as ISUs are added
1139 */ 1142 */
1140 reg = mpic_read(mpic->gregs, MPIC_INFO(GREG_FEATURE_0)); 1143 greg_feature = mpic_read(mpic->gregs, MPIC_INFO(GREG_FEATURE_0));
1141 mpic->num_cpus = ((reg & MPIC_GREG_FEATURE_LAST_CPU_MASK) 1144 mpic->num_cpus = ((greg_feature & MPIC_GREG_FEATURE_LAST_CPU_MASK)
1142 >> MPIC_GREG_FEATURE_LAST_CPU_SHIFT) + 1; 1145 >> MPIC_GREG_FEATURE_LAST_CPU_SHIFT) + 1;
1143 if (isu_size == 0) 1146 if (isu_size == 0)
1144 mpic->num_sources = ((reg & MPIC_GREG_FEATURE_LAST_SRC_MASK) 1147 mpic->num_sources =
1145 >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1; 1148 ((greg_feature & MPIC_GREG_FEATURE_LAST_SRC_MASK)
1149 >> MPIC_GREG_FEATURE_LAST_SRC_SHIFT) + 1;
1146 1150
1147 /* Map the per-CPU registers */ 1151 /* Map the per-CPU registers */
1148 for (i = 0; i < mpic->num_cpus; i++) { 1152 for (i = 0; i < mpic->num_cpus; i++) {
@@ -1161,7 +1165,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1161 mpic->isu_mask = (1 << mpic->isu_shift) - 1; 1165 mpic->isu_mask = (1 << mpic->isu_shift) - 1;
1162 1166
1163 /* Display version */ 1167 /* Display version */
1164 switch (reg & MPIC_GREG_FEATURE_VERSION_MASK) { 1168 switch (greg_feature & MPIC_GREG_FEATURE_VERSION_MASK) {
1165 case 1: 1169 case 1:
1166 vers = "1.0"; 1170 vers = "1.0";
1167 break; 1171 break;
@@ -1321,7 +1325,7 @@ void __init mpic_set_serial_int(struct mpic *mpic, int enable)
1321 1325
1322void mpic_irq_set_priority(unsigned int irq, unsigned int pri) 1326void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
1323{ 1327{
1324 int is_ipi; 1328 unsigned int is_ipi;
1325 struct mpic *mpic = mpic_find(irq, &is_ipi); 1329 struct mpic *mpic = mpic_find(irq, &is_ipi);
1326 unsigned int src = mpic_irq_to_hw(irq); 1330 unsigned int src = mpic_irq_to_hw(irq);
1327 unsigned long flags; 1331 unsigned long flags;
@@ -1344,7 +1348,7 @@ void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
1344 1348
1345unsigned int mpic_irq_get_priority(unsigned int irq) 1349unsigned int mpic_irq_get_priority(unsigned int irq)
1346{ 1350{
1347 int is_ipi; 1351 unsigned int is_ipi;
1348 struct mpic *mpic = mpic_find(irq, &is_ipi); 1352 struct mpic *mpic = mpic_find(irq, &is_ipi);
1349 unsigned int src = mpic_irq_to_hw(irq); 1353 unsigned int src = mpic_irq_to_hw(irq);
1350 unsigned long flags; 1354 unsigned long flags;
@@ -1406,11 +1410,6 @@ void mpic_cpu_set_priority(int prio)
1406 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio); 1410 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio);
1407} 1411}
1408 1412
1409/*
1410 * XXX: someone who knows mpic should check this.
1411 * do we need to eoi the ipi including for kexec cpu here (see xics comments)?
1412 * or can we reset the mpic in the new kernel?
1413 */
1414void mpic_teardown_this_cpu(int secondary) 1413void mpic_teardown_this_cpu(int secondary)
1415{ 1414{
1416 struct mpic *mpic = mpic_primary; 1415 struct mpic *mpic = mpic_primary;
@@ -1430,6 +1429,10 @@ void mpic_teardown_this_cpu(int secondary)
1430 1429
1431 /* Set current processor priority to max */ 1430 /* Set current processor priority to max */
1432 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0xf); 1431 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0xf);
1432 /* We need to EOI the IPI since not all platforms reset the MPIC
1433 * on boot and new interrupts wouldn't get delivered otherwise.
1434 */
1435 mpic_eoi(mpic);
1433 1436
1434 spin_unlock_irqrestore(&mpic_lock, flags); 1437 spin_unlock_irqrestore(&mpic_lock, flags);
1435} 1438}
diff --git a/arch/powerpc/sysdev/mv64x60_dev.c b/arch/powerpc/sysdev/mv64x60_dev.c
index efda0028909..047b31027fa 100644
--- a/arch/powerpc/sysdev/mv64x60_dev.c
+++ b/arch/powerpc/sysdev/mv64x60_dev.c
@@ -127,7 +127,7 @@ static int __init mv64x60_mpsc_device_setup(struct device_node *np, int id)
127 if (err) 127 if (err)
128 return err; 128 return err;
129 129
130 prop = of_get_property(np, "block-index", NULL); 130 prop = of_get_property(np, "cell-index", NULL);
131 if (!prop) 131 if (!prop)
132 return -ENODEV; 132 return -ENODEV;
133 port_number = *(int *)prop; 133 port_number = *(int *)prop;
@@ -136,6 +136,7 @@ static int __init mv64x60_mpsc_device_setup(struct device_node *np, int id)
136 136
137 pdata.cache_mgmt = 1; /* All current revs need this set */ 137 pdata.cache_mgmt = 1; /* All current revs need this set */
138 138
139 pdata.max_idle = 40; /* default */
139 prop = of_get_property(np, "max_idle", NULL); 140 prop = of_get_property(np, "max_idle", NULL);
140 if (prop) 141 if (prop)
141 pdata.max_idle = *prop; 142 pdata.max_idle = *prop;
@@ -205,30 +206,24 @@ error:
205/* 206/*
206 * Create mv64x60_eth platform devices 207 * Create mv64x60_eth platform devices
207 */ 208 */
208static int __init eth_register_shared_pdev(struct device_node *np) 209static struct platform_device * __init mv64x60_eth_register_shared_pdev(
210 struct device_node *np, int id)
209{ 211{
210 struct platform_device *pdev; 212 struct platform_device *pdev;
211 struct resource r[1]; 213 struct resource r[1];
212 int err; 214 int err;
213 215
214 np = of_get_parent(np);
215 if (!np)
216 return -ENODEV;
217
218 err = of_address_to_resource(np, 0, &r[0]); 216 err = of_address_to_resource(np, 0, &r[0]);
219 of_node_put(np);
220 if (err) 217 if (err)
221 return err; 218 return ERR_PTR(err);
222 219
223 pdev = platform_device_register_simple(MV643XX_ETH_SHARED_NAME, 0, 220 pdev = platform_device_register_simple(MV643XX_ETH_SHARED_NAME, id,
224 r, 1); 221 r, 1);
225 if (IS_ERR(pdev)) 222 return pdev;
226 return PTR_ERR(pdev);
227
228 return 0;
229} 223}
230 224
231static int __init mv64x60_eth_device_setup(struct device_node *np, int id) 225static int __init mv64x60_eth_device_setup(struct device_node *np, int id,
226 struct platform_device *shared_pdev)
232{ 227{
233 struct resource r[1]; 228 struct resource r[1];
234 struct mv643xx_eth_platform_data pdata; 229 struct mv643xx_eth_platform_data pdata;
@@ -239,16 +234,12 @@ static int __init mv64x60_eth_device_setup(struct device_node *np, int id)
239 const phandle *ph; 234 const phandle *ph;
240 int err; 235 int err;
241 236
242 /* only register the shared platform device the first time through */
243 if (id == 0 && (err = eth_register_shared_pdev(np)))
244 return err;
245
246 memset(r, 0, sizeof(r)); 237 memset(r, 0, sizeof(r));
247 of_irq_to_resource(np, 0, &r[0]); 238 of_irq_to_resource(np, 0, &r[0]);
248 239
249 memset(&pdata, 0, sizeof(pdata)); 240 memset(&pdata, 0, sizeof(pdata));
250 241
251 prop = of_get_property(np, "block-index", NULL); 242 prop = of_get_property(np, "reg", NULL);
252 if (!prop) 243 if (!prop)
253 return -ENODEV; 244 return -ENODEV;
254 pdata.port_number = *prop; 245 pdata.port_number = *prop;
@@ -301,7 +292,7 @@ static int __init mv64x60_eth_device_setup(struct device_node *np, int id)
301 292
302 of_node_put(phy); 293 of_node_put(phy);
303 294
304 pdev = platform_device_alloc(MV643XX_ETH_NAME, pdata.port_number); 295 pdev = platform_device_alloc(MV643XX_ETH_NAME, id);
305 if (!pdev) 296 if (!pdev)
306 return -ENOMEM; 297 return -ENOMEM;
307 298
@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_setup(struct device_node *np, int id)
345 336
346 memset(&pdata, 0, sizeof(pdata)); 337 memset(&pdata, 0, sizeof(pdata));
347 338
339 pdata.freq_m = 8; /* default */
348 prop = of_get_property(np, "freq_m", NULL); 340 prop = of_get_property(np, "freq_m", NULL);
349 if (!prop) 341 if (!prop)
350 return -ENODEV; 342 return -ENODEV;
351 pdata.freq_m = *prop; 343 pdata.freq_m = *prop;
352 344
345 pdata.freq_m = 3; /* default */
353 prop = of_get_property(np, "freq_n", NULL); 346 prop = of_get_property(np, "freq_n", NULL);
354 if (!prop) 347 if (!prop)
355 return -ENODEV; 348 return -ENODEV;
356 pdata.freq_n = *prop; 349 pdata.freq_n = *prop;
357 350
358 prop = of_get_property(np, "timeout", NULL); 351 pdata.timeout = 1000; /* default: 1 second */
359 if (prop)
360 pdata.timeout = *prop;
361 else
362 pdata.timeout = 1000; /* 1 second */
363 352
364 pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id); 353 pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
365 if (!pdev) 354 if (!pdev)
@@ -401,10 +390,7 @@ static int __init mv64x60_wdt_device_setup(struct device_node *np, int id)
401 390
402 memset(&pdata, 0, sizeof(pdata)); 391 memset(&pdata, 0, sizeof(pdata));
403 392
404 prop = of_get_property(np, "timeout", NULL); 393 pdata.timeout = 10; /* Default: 10 seconds */
405 if (!prop)
406 return -ENODEV;
407 pdata.timeout = *prop;
408 394
409 np = of_get_parent(np); 395 np = of_get_parent(np);
410 if (!np) 396 if (!np)
@@ -441,27 +427,43 @@ error:
441 427
442static int __init mv64x60_device_setup(void) 428static int __init mv64x60_device_setup(void)
443{ 429{
444 struct device_node *np = NULL; 430 struct device_node *np, *np2;
445 int id; 431 struct platform_device *pdev;
432 int id, id2;
446 int err; 433 int err;
447 434
448 id = 0; 435 id = 0;
449 for_each_compatible_node(np, "serial", "marvell,mpsc") 436 for_each_compatible_node(np, "serial", "marvell,mv64360-mpsc")
450 if ((err = mv64x60_mpsc_device_setup(np, id++))) 437 if ((err = mv64x60_mpsc_device_setup(np, id++)))
451 goto error; 438 goto error;
452 439
453 id = 0; 440 id = 0;
454 for_each_compatible_node(np, "network", "marvell,mv64x60-eth") 441 id2 = 0;
455 if ((err = mv64x60_eth_device_setup(np, id++))) 442 for_each_compatible_node(np, NULL, "marvell,mv64360-eth-group") {
443 pdev = mv64x60_eth_register_shared_pdev(np, id++);
444 if (IS_ERR(pdev)) {
445 err = PTR_ERR(pdev);
456 goto error; 446 goto error;
447 }
448 for_each_child_of_node(np, np2) {
449 if (!of_device_is_compatible(np2,
450 "marvell,mv64360-eth"))
451 continue;
452 err = mv64x60_eth_device_setup(np2, id2++, pdev);
453 if (err) {
454 of_node_put(np2);
455 goto error;
456 }
457 }
458 }
457 459
458 id = 0; 460 id = 0;
459 for_each_compatible_node(np, "i2c", "marvell,mv64x60-i2c") 461 for_each_compatible_node(np, "i2c", "marvell,mv64360-i2c")
460 if ((err = mv64x60_i2c_device_setup(np, id++))) 462 if ((err = mv64x60_i2c_device_setup(np, id++)))
461 goto error; 463 goto error;
462 464
463 /* support up to one watchdog timer */ 465 /* support up to one watchdog timer */
464 np = of_find_compatible_node(np, NULL, "marvell,mv64x60-wdt"); 466 np = of_find_compatible_node(np, NULL, "marvell,mv64360-wdt");
465 if (np) { 467 if (np) {
466 if ((err = mv64x60_wdt_device_setup(np, id))) 468 if ((err = mv64x60_wdt_device_setup(np, id)))
467 goto error; 469 goto error;
@@ -489,10 +491,10 @@ static int __init mv64x60_add_mpsc_console(void)
489 if (!np) 491 if (!np)
490 goto not_mpsc; 492 goto not_mpsc;
491 493
492 if (!of_device_is_compatible(np, "marvell,mpsc")) 494 if (!of_device_is_compatible(np, "marvell,mv64360-mpsc"))
493 goto not_mpsc; 495 goto not_mpsc;
494 496
495 prop = of_get_property(np, "block-index", NULL); 497 prop = of_get_property(np, "cell-index", NULL);
496 if (!prop) 498 if (!prop)
497 goto not_mpsc; 499 goto not_mpsc;
498 500
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
index d21ab8fa499..1456015a22d 100644
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
@@ -86,14 +86,14 @@ static int __init mv64x60_sysfs_init(void)
86 struct platform_device *pdev; 86 struct platform_device *pdev;
87 const unsigned int *prop; 87 const unsigned int *prop;
88 88
89 np = of_find_compatible_node(NULL, NULL, "marvell,mv64x60"); 89 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360");
90 if (!np) 90 if (!np)
91 return 0; 91 return 0;
92 92
93 prop = of_get_property(np, "hs_reg_valid", NULL); 93 prop = of_get_property(np, "hs_reg_valid", NULL);
94 of_node_put(np); 94 of_node_put(np);
95 95
96 pdev = platform_device_register_simple("marvell,mv64x60", 0, NULL, 0); 96 pdev = platform_device_register_simple("marvell,mv64360", 0, NULL, 0);
97 if (IS_ERR(pdev)) 97 if (IS_ERR(pdev))
98 return PTR_ERR(pdev); 98 return PTR_ERR(pdev);
99 99
@@ -166,6 +166,6 @@ void __init mv64x60_pci_init(void)
166{ 166{
167 struct device_node *np; 167 struct device_node *np;
168 168
169 for_each_compatible_node(np, "pci", "marvell,mv64x60-pci") 169 for_each_compatible_node(np, "pci", "marvell,mv64360-pci")
170 mv64x60_add_bridge(np); 170 mv64x60_add_bridge(np);
171} 171}
diff --git a/arch/powerpc/sysdev/mv64x60_pic.c b/arch/powerpc/sysdev/mv64x60_pic.c
index 19e6ef26379..2aa4ed066db 100644
--- a/arch/powerpc/sysdev/mv64x60_pic.c
+++ b/arch/powerpc/sysdev/mv64x60_pic.c
@@ -238,13 +238,13 @@ void __init mv64x60_init_irq(void)
238 const unsigned int *reg; 238 const unsigned int *reg;
239 unsigned long flags; 239 unsigned long flags;
240 240
241 np = of_find_compatible_node(NULL, NULL, "marvell,mv64x60-gpp"); 241 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-gpp");
242 reg = of_get_property(np, "reg", &size); 242 reg = of_get_property(np, "reg", &size);
243 paddr = of_translate_address(np, reg); 243 paddr = of_translate_address(np, reg);
244 mv64x60_gpp_reg_base = ioremap(paddr, reg[1]); 244 mv64x60_gpp_reg_base = ioremap(paddr, reg[1]);
245 of_node_put(np); 245 of_node_put(np);
246 246
247 np = of_find_compatible_node(NULL, NULL, "marvell,mv64x60-pic"); 247 np = of_find_compatible_node(NULL, NULL, "marvell,mv64360-pic");
248 reg = of_get_property(np, "reg", &size); 248 reg = of_get_property(np, "reg", &size);
249 paddr = of_translate_address(np, reg); 249 paddr = of_translate_address(np, reg);
250 mv64x60_irq_reg_base = ioremap(paddr, reg[1]); 250 mv64x60_irq_reg_base = ioremap(paddr, reg[1]);
diff --git a/arch/powerpc/sysdev/mv64x60_udbg.c b/arch/powerpc/sysdev/mv64x60_udbg.c
index 35c77c7d061..ccdb3b0418f 100644
--- a/arch/powerpc/sysdev/mv64x60_udbg.c
+++ b/arch/powerpc/sysdev/mv64x60_udbg.c
@@ -85,7 +85,7 @@ static void mv64x60_udbg_init(void)
85 if (!stdout) 85 if (!stdout)
86 return; 86 return;
87 87
88 for_each_compatible_node(np, "serial", "marvell,mpsc") { 88 for_each_compatible_node(np, "serial", "marvell,mv64360-mpsc") {
89 if (np == stdout) 89 if (np == stdout)
90 break; 90 break;
91 } 91 }
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c
index 5abfcd15748..1814adbd223 100644
--- a/arch/powerpc/sysdev/ppc4xx_pci.c
+++ b/arch/powerpc/sysdev/ppc4xx_pci.c
@@ -527,6 +527,7 @@ static void __init ppc4xx_probe_pcix_bridge(struct device_node *np)
527 * 527 *
528 * ibm,plb-pciex-440spe 528 * ibm,plb-pciex-440spe
529 * ibm,plb-pciex-405ex 529 * ibm,plb-pciex-405ex
530 * ibm,plb-pciex-460ex
530 * 531 *
531 * Anything else will be rejected for now as they are all subtly 532 * Anything else will be rejected for now as they are all subtly
532 * different unfortunately. 533 * different unfortunately.
@@ -645,7 +646,7 @@ static int __init ppc440spe_pciex_core_init(struct device_node *np)
645 int time_out = 20; 646 int time_out = 20;
646 647
647 /* Set PLL clock receiver to LVPECL */ 648 /* Set PLL clock receiver to LVPECL */
648 mtdcri(SDR0, PESDR0_PLLLCT1, mfdcri(SDR0, PESDR0_PLLLCT1) | 1 << 28); 649 dcri_clrset(SDR0, PESDR0_PLLLCT1, 0, 1 << 28);
649 650
650 /* Shouldn't we do all the calibration stuff etc... here ? */ 651 /* Shouldn't we do all the calibration stuff etc... here ? */
651 if (ppc440spe_pciex_check_reset(np)) 652 if (ppc440spe_pciex_check_reset(np))
@@ -659,8 +660,7 @@ static int __init ppc440spe_pciex_core_init(struct device_node *np)
659 } 660 }
660 661
661 /* De-assert reset of PCIe PLL, wait for lock */ 662 /* De-assert reset of PCIe PLL, wait for lock */
662 mtdcri(SDR0, PESDR0_PLLLCT1, 663 dcri_clrset(SDR0, PESDR0_PLLLCT1, 1 << 24, 0);
663 mfdcri(SDR0, PESDR0_PLLLCT1) & ~(1 << 24));
664 udelay(3); 664 udelay(3);
665 665
666 while (time_out) { 666 while (time_out) {
@@ -712,9 +712,8 @@ static int ppc440spe_pciex_init_port_hw(struct ppc4xx_pciex_port *port)
712 mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1, 712 mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1,
713 0x35000000); 713 0x35000000);
714 } 714 }
715 val = mfdcri(SDR0, port->sdr_base + PESDRn_RCSSET); 715 dcri_clrset(SDR0, port->sdr_base + PESDRn_RCSSET,
716 mtdcri(SDR0, port->sdr_base + PESDRn_RCSSET, 716 (1 << 24) | (1 << 16), 1 << 12);
717 (val & ~(1 << 24 | 1 << 16)) | 1 << 12);
718 717
719 return 0; 718 return 0;
720} 719}
@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440speB_pcie_hwops __initdata =
775 .setup_utl = ppc440speB_pciex_init_utl, 774 .setup_utl = ppc440speB_pciex_init_utl,
776}; 775};
777 776
777static int __init ppc460ex_pciex_core_init(struct device_node *np)
778{
779 /* Nothing to do, return 2 ports */
780 return 2;
781}
782
783static int ppc460ex_pciex_init_port_hw(struct ppc4xx_pciex_port *port)
784{
785 u32 val;
786 u32 utlset1;
787
788 if (port->endpoint)
789 val = PTYPE_LEGACY_ENDPOINT << 20;
790 else
791 val = PTYPE_ROOT_PORT << 20;
792
793 if (port->index == 0) {
794 val |= LNKW_X1 << 12;
795 utlset1 = 0x20000000;
796 } else {
797 val |= LNKW_X4 << 12;
798 utlset1 = 0x20101101;
799 }
800
801 mtdcri(SDR0, port->sdr_base + PESDRn_DLPSET, val);
802 mtdcri(SDR0, port->sdr_base + PESDRn_UTLSET1, utlset1);
803 mtdcri(SDR0, port->sdr_base + PESDRn_UTLSET2, 0x01210000);
804
805 switch (port->index) {
806 case 0:
807 mtdcri(SDR0, PESDR0_460EX_L0CDRCTL, 0x00003230);
808 mtdcri(SDR0, PESDR0_460EX_L0DRV, 0x00000136);
809 mtdcri(SDR0, PESDR0_460EX_L0CLK, 0x00000006);
810
811 mtdcri(SDR0, PESDR0_460EX_PHY_CTL_RST,0x10000000);
812 break;
813
814 case 1:
815 mtdcri(SDR0, PESDR1_460EX_L0CDRCTL, 0x00003230);
816 mtdcri(SDR0, PESDR1_460EX_L1CDRCTL, 0x00003230);
817 mtdcri(SDR0, PESDR1_460EX_L2CDRCTL, 0x00003230);
818 mtdcri(SDR0, PESDR1_460EX_L3CDRCTL, 0x00003230);
819 mtdcri(SDR0, PESDR1_460EX_L0DRV, 0x00000136);
820 mtdcri(SDR0, PESDR1_460EX_L1DRV, 0x00000136);
821 mtdcri(SDR0, PESDR1_460EX_L2DRV, 0x00000136);
822 mtdcri(SDR0, PESDR1_460EX_L3DRV, 0x00000136);
823 mtdcri(SDR0, PESDR1_460EX_L0CLK, 0x00000006);
824 mtdcri(SDR0, PESDR1_460EX_L1CLK, 0x00000006);
825 mtdcri(SDR0, PESDR1_460EX_L2CLK, 0x00000006);
826 mtdcri(SDR0, PESDR1_460EX_L3CLK, 0x00000006);
827
828 mtdcri(SDR0, PESDR1_460EX_PHY_CTL_RST,0x10000000);
829 break;
830 }
831
832 mtdcri(SDR0, port->sdr_base + PESDRn_RCSSET,
833 mfdcri(SDR0, port->sdr_base + PESDRn_RCSSET) |
834 (PESDRx_RCSSET_RSTGU | PESDRx_RCSSET_RSTPYN));
835
836 /* Poll for PHY reset */
837 /* XXX FIXME add timeout */
838 switch (port->index) {
839 case 0:
840 while (!(mfdcri(SDR0, PESDR0_460EX_RSTSTA) & 0x1))
841 udelay(10);
842 break;
843 case 1:
844 while (!(mfdcri(SDR0, PESDR1_460EX_RSTSTA) & 0x1))
845 udelay(10);
846 break;
847 }
848
849 mtdcri(SDR0, port->sdr_base + PESDRn_RCSSET,
850 (mfdcri(SDR0, port->sdr_base + PESDRn_RCSSET) &
851 ~(PESDRx_RCSSET_RSTGU | PESDRx_RCSSET_RSTDL)) |
852 PESDRx_RCSSET_RSTPYN);
853
854 port->has_ibpre = 1;
855
856 return 0;
857}
858
859static int ppc460ex_pciex_init_utl(struct ppc4xx_pciex_port *port)
860{
861 dcr_write(port->dcrs, DCRO_PEGPL_SPECIAL, 0x0);
862
863 /*
864 * Set buffer allocations and then assert VRB and TXE.
865 */
866 out_be32(port->utl_base + PEUTL_PBCTL, 0x0800000c);
867 out_be32(port->utl_base + PEUTL_OUTTR, 0x08000000);
868 out_be32(port->utl_base + PEUTL_INTR, 0x02000000);
869 out_be32(port->utl_base + PEUTL_OPDBSZ, 0x04000000);
870 out_be32(port->utl_base + PEUTL_PBBSZ, 0x00000000);
871 out_be32(port->utl_base + PEUTL_IPHBSZ, 0x02000000);
872 out_be32(port->utl_base + PEUTL_IPDBSZ, 0x04000000);
873 out_be32(port->utl_base + PEUTL_RCIRQEN,0x00f00000);
874 out_be32(port->utl_base + PEUTL_PCTL, 0x80800066);
875
876 return 0;
877}
878
879static struct ppc4xx_pciex_hwops ppc460ex_pcie_hwops __initdata =
880{
881 .core_init = ppc460ex_pciex_core_init,
882 .port_init_hw = ppc460ex_pciex_init_port_hw,
883 .setup_utl = ppc460ex_pciex_init_utl,
884};
885
778#endif /* CONFIG_44x */ 886#endif /* CONFIG_44x */
779 887
780#ifdef CONFIG_40x 888#ifdef CONFIG_40x
@@ -830,17 +938,9 @@ static int ppc405ex_pciex_init_port_hw(struct ppc4xx_pciex_port *port)
830 * PCIe boards don't show this problem. 938 * PCIe boards don't show this problem.
831 * This has to be re-tested and fixed in a later release! 939 * This has to be re-tested and fixed in a later release!
832 */ 940 */
833#if 0 /* XXX FIXME: Not resetting the PHY will leave all resources
834 * configured as done previously by U-Boot. Then Linux will currently
835 * not reassign them. So the PHY reset is now done always. This will
836 * lead to problems with the Atheros PCIe board again.
837 */
838 val = mfdcri(SDR0, port->sdr_base + PESDRn_LOOP); 941 val = mfdcri(SDR0, port->sdr_base + PESDRn_LOOP);
839 if (!(val & 0x00001000)) 942 if (!(val & 0x00001000))
840 ppc405ex_pcie_phy_reset(port); 943 ppc405ex_pcie_phy_reset(port);
841#else
842 ppc405ex_pcie_phy_reset(port);
843#endif
844 944
845 dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000); /* guarded on */ 945 dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000); /* guarded on */
846 946
@@ -896,6 +996,8 @@ static int __init ppc4xx_pciex_check_core_init(struct device_node *np)
896 else 996 else
897 ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops; 997 ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops;
898 } 998 }
999 if (of_device_is_compatible(np, "ibm,plb-pciex-460ex"))
1000 ppc4xx_pciex_hwops = &ppc460ex_pcie_hwops;
899#endif /* CONFIG_44x */ 1001#endif /* CONFIG_44x */
900#ifdef CONFIG_40x 1002#ifdef CONFIG_40x
901 if (of_device_is_compatible(np, "ibm,plb-pciex-405ex")) 1003 if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
@@ -1042,8 +1144,7 @@ static int __init ppc4xx_pciex_port_init(struct ppc4xx_pciex_port *port)
1042 port->link = 0; 1144 port->link = 0;
1043 } 1145 }
1044 1146
1045 mtdcri(SDR0, port->sdr_base + PESDRn_RCSSET, 1147 dcri_clrset(SDR0, port->sdr_base + PESDRn_RCSSET, 0, 1 << 20);
1046 mfdcri(SDR0, port->sdr_base + PESDRn_RCSSET) | 1 << 20);
1047 msleep(100); 1148 msleep(100);
1048 1149
1049 return 0; 1150 return 0;
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.h b/arch/powerpc/sysdev/ppc4xx_pci.h
index 1c07908dc6e..d04e40b306f 100644
--- a/arch/powerpc/sysdev/ppc4xx_pci.h
+++ b/arch/powerpc/sysdev/ppc4xx_pci.h
@@ -271,6 +271,59 @@
271#define PESDR1_405EX_PHYSTA 0x044C 271#define PESDR1_405EX_PHYSTA 0x044C
272 272
273/* 273/*
274 * 460EX additional DCRs
275 */
276#define PESDR0_460EX_L0BIST 0x0308
277#define PESDR0_460EX_L0BISTSTS 0x0309
278#define PESDR0_460EX_L0CDRCTL 0x030A
279#define PESDR0_460EX_L0DRV 0x030B
280#define PESDR0_460EX_L0REC 0x030C
281#define PESDR0_460EX_L0LPB 0x030D
282#define PESDR0_460EX_L0CLK 0x030E
283#define PESDR0_460EX_PHY_CTL_RST 0x030F
284#define PESDR0_460EX_RSTSTA 0x0310
285#define PESDR0_460EX_OBS 0x0311
286#define PESDR0_460EX_L0ERRC 0x0320
287
288#define PESDR1_460EX_L0BIST 0x0348
289#define PESDR1_460EX_L1BIST 0x0349
290#define PESDR1_460EX_L2BIST 0x034A
291#define PESDR1_460EX_L3BIST 0x034B
292#define PESDR1_460EX_L0BISTSTS 0x034C
293#define PESDR1_460EX_L1BISTSTS 0x034D
294#define PESDR1_460EX_L2BISTSTS 0x034E
295#define PESDR1_460EX_L3BISTSTS 0x034F
296#define PESDR1_460EX_L0CDRCTL 0x0350
297#define PESDR1_460EX_L1CDRCTL 0x0351
298#define PESDR1_460EX_L2CDRCTL 0x0352
299#define PESDR1_460EX_L3CDRCTL 0x0353
300#define PESDR1_460EX_L0DRV 0x0354
301#define PESDR1_460EX_L1DRV 0x0355
302#define PESDR1_460EX_L2DRV 0x0356
303#define PESDR1_460EX_L3DRV 0x0357
304#define PESDR1_460EX_L0REC 0x0358
305#define PESDR1_460EX_L1REC 0x0359
306#define PESDR1_460EX_L2REC 0x035A
307#define PESDR1_460EX_L3REC 0x035B
308#define PESDR1_460EX_L0LPB 0x035C
309#define PESDR1_460EX_L1LPB 0x035D
310#define PESDR1_460EX_L2LPB 0x035E
311#define PESDR1_460EX_L3LPB 0x035F
312#define PESDR1_460EX_L0CLK 0x0360
313#define PESDR1_460EX_L1CLK 0x0361
314#define PESDR1_460EX_L2CLK 0x0362
315#define PESDR1_460EX_L3CLK 0x0363
316#define PESDR1_460EX_PHY_CTL_RST 0x0364
317#define PESDR1_460EX_RSTSTA 0x0365
318#define PESDR1_460EX_OBS 0x0366
319#define PESDR1_460EX_L0ERRC 0x0368
320#define PESDR1_460EX_L1ERRC 0x0369
321#define PESDR1_460EX_L2ERRC 0x036A
322#define PESDR1_460EX_L3ERRC 0x036B
323#define PESDR0_460EX_IHS1 0x036C
324#define PESDR0_460EX_IHS2 0x036D
325
326/*
274 * Of the above, some are common offsets from the base 327 * Of the above, some are common offsets from the base
275 */ 328 */
276#define PESDRn_UTLSET1 0x00 329#define PESDRn_UTLSET1 0x00
@@ -353,6 +406,12 @@
353#define PECFG_POM2LAL 0x390 406#define PECFG_POM2LAL 0x390
354#define PECFG_POM2LAH 0x394 407#define PECFG_POM2LAH 0x394
355 408
409/* SDR Bit Mappings */
410#define PESDRx_RCSSET_HLDPLB 0x10000000
411#define PESDRx_RCSSET_RSTGU 0x01000000
412#define PESDRx_RCSSET_RDY 0x00100000
413#define PESDRx_RCSSET_RSTDL 0x00010000
414#define PESDRx_RCSSET_RSTPYN 0x00001000
356 415
357enum 416enum
358{ 417{
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c
new file mode 100644
index 00000000000..5b32adc9a9b
--- /dev/null
+++ b/arch/powerpc/sysdev/ppc4xx_soc.c
@@ -0,0 +1,200 @@
1/*
2 * IBM/AMCC PPC4xx SoC setup code
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * L2 cache routines cloned from arch/ppc/syslib/ibm440gx_common.c which is:
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * Copyright (c) 2003 - 2006 Zultys Technologies
9 *
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
14 */
15
16#include <linux/stddef.h>
17#include <linux/kernel.h>
18#include <linux/init.h>
19#include <linux/errno.h>
20#include <linux/interrupt.h>
21#include <linux/irq.h>
22#include <linux/of_platform.h>
23
24#include <asm/dcr.h>
25#include <asm/dcr-regs.h>
26#include <asm/reg.h>
27
28static u32 dcrbase_l2c;
29
30/*
31 * L2-cache
32 */
33
34/* Issue L2C diagnostic command */
35static inline u32 l2c_diag(u32 addr)
36{
37 mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, addr);
38 mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_DIAG);
39 while (!(mfdcr(dcrbase_l2c + DCRN_L2C0_SR) & L2C_SR_CC))
40 ;
41
42 return mfdcr(dcrbase_l2c + DCRN_L2C0_DATA);
43}
44
45static irqreturn_t l2c_error_handler(int irq, void *dev)
46{
47 u32 sr = mfdcr(dcrbase_l2c + DCRN_L2C0_SR);
48
49 if (sr & L2C_SR_CPE) {
50 /* Read cache trapped address */
51 u32 addr = l2c_diag(0x42000000);
52 printk(KERN_EMERG "L2C: Cache Parity Error, addr[16:26] = 0x%08x\n",
53 addr);
54 }
55 if (sr & L2C_SR_TPE) {
56 /* Read tag trapped address */
57 u32 addr = l2c_diag(0x82000000) >> 16;
58 printk(KERN_EMERG "L2C: Tag Parity Error, addr[16:26] = 0x%08x\n",
59 addr);
60 }
61
62 /* Clear parity errors */
63 if (sr & (L2C_SR_CPE | L2C_SR_TPE)){
64 mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, 0);
65 mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_CCP | L2C_CMD_CTE);
66 } else {
67 printk(KERN_EMERG "L2C: LRU error\n");
68 }
69
70 return IRQ_HANDLED;
71}
72
73static int __init ppc4xx_l2c_probe(void)
74{
75 struct device_node *np;
76 u32 r;
77 unsigned long flags;
78 int irq;
79 const u32 *dcrreg;
80 u32 dcrbase_isram;
81 int len;
82 const u32 *prop;
83 u32 l2_size;
84
85 np = of_find_compatible_node(NULL, NULL, "ibm,l2-cache");
86 if (!np)
87 return 0;
88
89 /* Get l2 cache size */
90 prop = of_get_property(np, "cache-size", NULL);
91 if (prop == NULL) {
92 printk(KERN_ERR "%s: Can't get cache-size!\n", np->full_name);
93 of_node_put(np);
94 return -ENODEV;
95 }
96 l2_size = prop[0];
97
98 /* Map DCRs */
99 dcrreg = of_get_property(np, "dcr-reg", &len);
100 if (!dcrreg || (len != 4 * sizeof(u32))) {
101 printk(KERN_ERR "%s: Can't get DCR register base !",
102 np->full_name);
103 of_node_put(np);
104 return -ENODEV;
105 }
106 dcrbase_isram = dcrreg[0];
107 dcrbase_l2c = dcrreg[2];
108
109 /* Get and map irq number from device tree */
110 irq = irq_of_parse_and_map(np, 0);
111 if (irq == NO_IRQ) {
112 printk(KERN_ERR "irq_of_parse_and_map failed\n");
113 of_node_put(np);
114 return -ENODEV;
115 }
116
117 /* Install error handler */
118 if (request_irq(irq, l2c_error_handler, IRQF_DISABLED, "L2C", 0) < 0) {
119 printk(KERN_ERR "Cannot install L2C error handler"
120 ", cache is not enabled\n");
121 of_node_put(np);
122 return -ENODEV;
123 }
124
125 local_irq_save(flags);
126 asm volatile ("sync" ::: "memory");
127
128 /* Disable SRAM */
129 mtdcr(dcrbase_isram + DCRN_SRAM0_DPC,
130 mfdcr(dcrbase_isram + DCRN_SRAM0_DPC) & ~SRAM_DPC_ENABLE);
131 mtdcr(dcrbase_isram + DCRN_SRAM0_SB0CR,
132 mfdcr(dcrbase_isram + DCRN_SRAM0_SB0CR) & ~SRAM_SBCR_BU_MASK);
133 mtdcr(dcrbase_isram + DCRN_SRAM0_SB1CR,
134 mfdcr(dcrbase_isram + DCRN_SRAM0_SB1CR) & ~SRAM_SBCR_BU_MASK);
135 mtdcr(dcrbase_isram + DCRN_SRAM0_SB2CR,
136 mfdcr(dcrbase_isram + DCRN_SRAM0_SB2CR) & ~SRAM_SBCR_BU_MASK);
137 mtdcr(dcrbase_isram + DCRN_SRAM0_SB3CR,
138 mfdcr(dcrbase_isram + DCRN_SRAM0_SB3CR) & ~SRAM_SBCR_BU_MASK);
139
140 /* Enable L2_MODE without ICU/DCU */
141 r = mfdcr(dcrbase_l2c + DCRN_L2C0_CFG) &
142 ~(L2C_CFG_ICU | L2C_CFG_DCU | L2C_CFG_SS_MASK);
143 r |= L2C_CFG_L2M | L2C_CFG_SS_256;
144 mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r);
145
146 mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, 0);
147
148 /* Hardware Clear Command */
149 mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_HCC);
150 while (!(mfdcr(dcrbase_l2c + DCRN_L2C0_SR) & L2C_SR_CC))
151 ;
152
153 /* Clear Cache Parity and Tag Errors */
154 mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_CCP | L2C_CMD_CTE);
155
156 /* Enable 64G snoop region starting at 0 */
157 r = mfdcr(dcrbase_l2c + DCRN_L2C0_SNP0) &
158 ~(L2C_SNP_BA_MASK | L2C_SNP_SSR_MASK);
159 r |= L2C_SNP_SSR_32G | L2C_SNP_ESR;
160 mtdcr(dcrbase_l2c + DCRN_L2C0_SNP0, r);
161
162 r = mfdcr(dcrbase_l2c + DCRN_L2C0_SNP1) &
163 ~(L2C_SNP_BA_MASK | L2C_SNP_SSR_MASK);
164 r |= 0x80000000 | L2C_SNP_SSR_32G | L2C_SNP_ESR;
165 mtdcr(dcrbase_l2c + DCRN_L2C0_SNP1, r);
166
167 asm volatile ("sync" ::: "memory");
168
169 /* Enable ICU/DCU ports */
170 r = mfdcr(dcrbase_l2c + DCRN_L2C0_CFG);
171 r &= ~(L2C_CFG_DCW_MASK | L2C_CFG_PMUX_MASK | L2C_CFG_PMIM
172 | L2C_CFG_TPEI | L2C_CFG_CPEI | L2C_CFG_NAM | L2C_CFG_NBRM);
173 r |= L2C_CFG_ICU | L2C_CFG_DCU | L2C_CFG_TPC | L2C_CFG_CPC | L2C_CFG_FRAN
174 | L2C_CFG_CPIM | L2C_CFG_TPIM | L2C_CFG_LIM | L2C_CFG_SMCM;
175
176 /* Check for 460EX/GT special handling */
177 if (of_device_is_compatible(np, "ibm,l2-cache-460ex"))
178 r |= L2C_CFG_RDBW;
179
180 mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r);
181
182 asm volatile ("sync; isync" ::: "memory");
183 local_irq_restore(flags);
184
185 printk(KERN_INFO "%dk L2-cache enabled\n", l2_size >> 10);
186
187 of_node_put(np);
188 return 0;
189}
190arch_initcall(ppc4xx_l2c_probe);
191
192/*
193 * At present, this routine just applies a system reset.
194 */
195void ppc4xx_reset_system(char *cmd)
196{
197 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_RST_SYSTEM);
198 while (1)
199 ; /* Just in case the reset doesn't work */
200}
diff --git a/arch/powerpc/sysdev/qe_lib/qe_io.c b/arch/powerpc/sysdev/qe_lib/qe_io.c
index e53ea4d374a..736c1fcc950 100644
--- a/arch/powerpc/sysdev/qe_lib/qe_io.c
+++ b/arch/powerpc/sysdev/qe_lib/qe_io.c
@@ -200,7 +200,7 @@ static void dump_par_io(void)
200{ 200{
201 unsigned int i; 201 unsigned int i;
202 202
203 printk(KERN_INFO "%s: par_io=%p\n", __FUNCTION__, par_io); 203 printk(KERN_INFO "%s: par_io=%p\n", __func__, par_io);
204 for (i = 0; i < num_par_io_ports; i++) { 204 for (i = 0; i < num_par_io_ports; i++) {
205 printk(KERN_INFO " cpodr[%u]=%08x\n", i, 205 printk(KERN_INFO " cpodr[%u]=%08x\n", i,
206 in_be32(&par_io[i].cpodr)); 206 in_be32(&par_io[i].cpodr));
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_fast.c b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
index 3223acbc39e..bcf88e6ce96 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
@@ -148,57 +148,57 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
148 148
149 /* check if the UCC port number is in range. */ 149 /* check if the UCC port number is in range. */
150 if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) { 150 if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) {
151 printk(KERN_ERR "%s: illegal UCC number\n", __FUNCTION__); 151 printk(KERN_ERR "%s: illegal UCC number\n", __func__);
152 return -EINVAL; 152 return -EINVAL;
153 } 153 }
154 154
155 /* Check that 'max_rx_buf_length' is properly aligned (4). */ 155 /* Check that 'max_rx_buf_length' is properly aligned (4). */
156 if (uf_info->max_rx_buf_length & (UCC_FAST_MRBLR_ALIGNMENT - 1)) { 156 if (uf_info->max_rx_buf_length & (UCC_FAST_MRBLR_ALIGNMENT - 1)) {
157 printk(KERN_ERR "%s: max_rx_buf_length not aligned\n", 157 printk(KERN_ERR "%s: max_rx_buf_length not aligned\n",
158 __FUNCTION__); 158 __func__);
159 return -EINVAL; 159 return -EINVAL;
160 } 160 }
161 161
162 /* Validate Virtual Fifo register values */ 162 /* Validate Virtual Fifo register values */
163 if (uf_info->urfs < UCC_FAST_URFS_MIN_VAL) { 163 if (uf_info->urfs < UCC_FAST_URFS_MIN_VAL) {
164 printk(KERN_ERR "%s: urfs is too small\n", __FUNCTION__); 164 printk(KERN_ERR "%s: urfs is too small\n", __func__);
165 return -EINVAL; 165 return -EINVAL;
166 } 166 }
167 167
168 if (uf_info->urfs & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 168 if (uf_info->urfs & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
169 printk(KERN_ERR "%s: urfs is not aligned\n", __FUNCTION__); 169 printk(KERN_ERR "%s: urfs is not aligned\n", __func__);
170 return -EINVAL; 170 return -EINVAL;
171 } 171 }
172 172
173 if (uf_info->urfet & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 173 if (uf_info->urfet & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
174 printk(KERN_ERR "%s: urfet is not aligned.\n", __FUNCTION__); 174 printk(KERN_ERR "%s: urfet is not aligned.\n", __func__);
175 return -EINVAL; 175 return -EINVAL;
176 } 176 }
177 177
178 if (uf_info->urfset & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 178 if (uf_info->urfset & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
179 printk(KERN_ERR "%s: urfset is not aligned\n", __FUNCTION__); 179 printk(KERN_ERR "%s: urfset is not aligned\n", __func__);
180 return -EINVAL; 180 return -EINVAL;
181 } 181 }
182 182
183 if (uf_info->utfs & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 183 if (uf_info->utfs & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
184 printk(KERN_ERR "%s: utfs is not aligned\n", __FUNCTION__); 184 printk(KERN_ERR "%s: utfs is not aligned\n", __func__);
185 return -EINVAL; 185 return -EINVAL;
186 } 186 }
187 187
188 if (uf_info->utfet & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 188 if (uf_info->utfet & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
189 printk(KERN_ERR "%s: utfet is not aligned\n", __FUNCTION__); 189 printk(KERN_ERR "%s: utfet is not aligned\n", __func__);
190 return -EINVAL; 190 return -EINVAL;
191 } 191 }
192 192
193 if (uf_info->utftt & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) { 193 if (uf_info->utftt & (UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT - 1)) {
194 printk(KERN_ERR "%s: utftt is not aligned\n", __FUNCTION__); 194 printk(KERN_ERR "%s: utftt is not aligned\n", __func__);
195 return -EINVAL; 195 return -EINVAL;
196 } 196 }
197 197
198 uccf = kzalloc(sizeof(struct ucc_fast_private), GFP_KERNEL); 198 uccf = kzalloc(sizeof(struct ucc_fast_private), GFP_KERNEL);
199 if (!uccf) { 199 if (!uccf) {
200 printk(KERN_ERR "%s: Cannot allocate private data\n", 200 printk(KERN_ERR "%s: Cannot allocate private data\n",
201 __FUNCTION__); 201 __func__);
202 return -ENOMEM; 202 return -ENOMEM;
203 } 203 }
204 204
@@ -207,7 +207,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
207 /* Set the PHY base address */ 207 /* Set the PHY base address */
208 uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast)); 208 uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
209 if (uccf->uf_regs == NULL) { 209 if (uccf->uf_regs == NULL) {
210 printk(KERN_ERR "%s: Cannot map UCC registers\n", __FUNCTION__); 210 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__);
211 return -ENOMEM; 211 return -ENOMEM;
212 } 212 }
213 213
@@ -230,7 +230,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
230 /* Set UCC to fast type */ 230 /* Set UCC to fast type */
231 ret = ucc_set_type(uf_info->ucc_num, UCC_SPEED_TYPE_FAST); 231 ret = ucc_set_type(uf_info->ucc_num, UCC_SPEED_TYPE_FAST);
232 if (ret) { 232 if (ret) {
233 printk(KERN_ERR "%s: cannot set UCC type\n", __FUNCTION__); 233 printk(KERN_ERR "%s: cannot set UCC type\n", __func__);
234 ucc_fast_free(uccf); 234 ucc_fast_free(uccf);
235 return ret; 235 return ret;
236 } 236 }
@@ -270,7 +270,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
270 qe_muram_alloc(uf_info->utfs, UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); 270 qe_muram_alloc(uf_info->utfs, UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
271 if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) { 271 if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) {
272 printk(KERN_ERR "%s: cannot allocate MURAM for TX FIFO\n", 272 printk(KERN_ERR "%s: cannot allocate MURAM for TX FIFO\n",
273 __FUNCTION__); 273 __func__);
274 uccf->ucc_fast_tx_virtual_fifo_base_offset = 0; 274 uccf->ucc_fast_tx_virtual_fifo_base_offset = 0;
275 ucc_fast_free(uccf); 275 ucc_fast_free(uccf);
276 return -ENOMEM; 276 return -ENOMEM;
@@ -283,7 +283,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
283 UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT); 283 UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
284 if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) { 284 if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) {
285 printk(KERN_ERR "%s: cannot allocate MURAM for RX FIFO\n", 285 printk(KERN_ERR "%s: cannot allocate MURAM for RX FIFO\n",
286 __FUNCTION__); 286 __func__);
287 uccf->ucc_fast_rx_virtual_fifo_base_offset = 0; 287 uccf->ucc_fast_rx_virtual_fifo_base_offset = 0;
288 ucc_fast_free(uccf); 288 ucc_fast_free(uccf);
289 return -ENOMEM; 289 return -ENOMEM;
@@ -314,7 +314,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
314 ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->rx_clock, 314 ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->rx_clock,
315 COMM_DIR_RX)) { 315 COMM_DIR_RX)) {
316 printk(KERN_ERR "%s: illegal value for RX clock\n", 316 printk(KERN_ERR "%s: illegal value for RX clock\n",
317 __FUNCTION__); 317 __func__);
318 ucc_fast_free(uccf); 318 ucc_fast_free(uccf);
319 return -EINVAL; 319 return -EINVAL;
320 } 320 }
@@ -323,7 +323,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
323 ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->tx_clock, 323 ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->tx_clock,
324 COMM_DIR_TX)) { 324 COMM_DIR_TX)) {
325 printk(KERN_ERR "%s: illegal value for TX clock\n", 325 printk(KERN_ERR "%s: illegal value for TX clock\n",
326 __FUNCTION__); 326 __func__);
327 ucc_fast_free(uccf); 327 ucc_fast_free(uccf);
328 return -EINVAL; 328 return -EINVAL;
329 } 329 }
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_slow.c b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
index b2870b208dd..a578bc77b9d 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
@@ -142,7 +142,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
142 142
143 /* check if the UCC port number is in range. */ 143 /* check if the UCC port number is in range. */
144 if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) { 144 if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) {
145 printk(KERN_ERR "%s: illegal UCC number\n", __FUNCTION__); 145 printk(KERN_ERR "%s: illegal UCC number\n", __func__);
146 return -EINVAL; 146 return -EINVAL;
147 } 147 }
148 148
@@ -161,7 +161,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
161 uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL); 161 uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
162 if (!uccs) { 162 if (!uccs) {
163 printk(KERN_ERR "%s: Cannot allocate private data\n", 163 printk(KERN_ERR "%s: Cannot allocate private data\n",
164 __FUNCTION__); 164 __func__);
165 return -ENOMEM; 165 return -ENOMEM;
166 } 166 }
167 167
@@ -170,7 +170,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
170 /* Set the PHY base address */ 170 /* Set the PHY base address */
171 uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow)); 171 uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
172 if (uccs->us_regs == NULL) { 172 if (uccs->us_regs == NULL) {
173 printk(KERN_ERR "%s: Cannot map UCC registers\n", __FUNCTION__); 173 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__);
174 return -ENOMEM; 174 return -ENOMEM;
175 } 175 }
176 176
@@ -189,7 +189,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
189 uccs->us_pram_offset = 189 uccs->us_pram_offset =
190 qe_muram_alloc(UCC_SLOW_PRAM_SIZE, ALIGNMENT_OF_UCC_SLOW_PRAM); 190 qe_muram_alloc(UCC_SLOW_PRAM_SIZE, ALIGNMENT_OF_UCC_SLOW_PRAM);
191 if (IS_ERR_VALUE(uccs->us_pram_offset)) { 191 if (IS_ERR_VALUE(uccs->us_pram_offset)) {
192 printk(KERN_ERR "%s: cannot allocate MURAM for PRAM", __FUNCTION__); 192 printk(KERN_ERR "%s: cannot allocate MURAM for PRAM", __func__);
193 ucc_slow_free(uccs); 193 ucc_slow_free(uccs);
194 return -ENOMEM; 194 return -ENOMEM;
195 } 195 }
@@ -202,7 +202,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
202 /* Set UCC to slow type */ 202 /* Set UCC to slow type */
203 ret = ucc_set_type(us_info->ucc_num, UCC_SPEED_TYPE_SLOW); 203 ret = ucc_set_type(us_info->ucc_num, UCC_SPEED_TYPE_SLOW);
204 if (ret) { 204 if (ret) {
205 printk(KERN_ERR "%s: cannot set UCC type", __FUNCTION__); 205 printk(KERN_ERR "%s: cannot set UCC type", __func__);
206 ucc_slow_free(uccs); 206 ucc_slow_free(uccs);
207 return ret; 207 return ret;
208 } 208 }
@@ -216,7 +216,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
216 qe_muram_alloc(us_info->rx_bd_ring_len * sizeof(struct qe_bd), 216 qe_muram_alloc(us_info->rx_bd_ring_len * sizeof(struct qe_bd),
217 QE_ALIGNMENT_OF_BD); 217 QE_ALIGNMENT_OF_BD);
218 if (IS_ERR_VALUE(uccs->rx_base_offset)) { 218 if (IS_ERR_VALUE(uccs->rx_base_offset)) {
219 printk(KERN_ERR "%s: cannot allocate %u RX BDs\n", __FUNCTION__, 219 printk(KERN_ERR "%s: cannot allocate %u RX BDs\n", __func__,
220 us_info->rx_bd_ring_len); 220 us_info->rx_bd_ring_len);
221 uccs->rx_base_offset = 0; 221 uccs->rx_base_offset = 0;
222 ucc_slow_free(uccs); 222 ucc_slow_free(uccs);
@@ -227,7 +227,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
227 qe_muram_alloc(us_info->tx_bd_ring_len * sizeof(struct qe_bd), 227 qe_muram_alloc(us_info->tx_bd_ring_len * sizeof(struct qe_bd),
228 QE_ALIGNMENT_OF_BD); 228 QE_ALIGNMENT_OF_BD);
229 if (IS_ERR_VALUE(uccs->tx_base_offset)) { 229 if (IS_ERR_VALUE(uccs->tx_base_offset)) {
230 printk(KERN_ERR "%s: cannot allocate TX BDs", __FUNCTION__); 230 printk(KERN_ERR "%s: cannot allocate TX BDs", __func__);
231 uccs->tx_base_offset = 0; 231 uccs->tx_base_offset = 0;
232 ucc_slow_free(uccs); 232 ucc_slow_free(uccs);
233 return -ENOMEM; 233 return -ENOMEM;
@@ -317,7 +317,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
317 if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->rx_clock, 317 if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->rx_clock,
318 COMM_DIR_RX)) { 318 COMM_DIR_RX)) {
319 printk(KERN_ERR "%s: illegal value for RX clock\n", 319 printk(KERN_ERR "%s: illegal value for RX clock\n",
320 __FUNCTION__); 320 __func__);
321 ucc_slow_free(uccs); 321 ucc_slow_free(uccs);
322 return -EINVAL; 322 return -EINVAL;
323 } 323 }
@@ -325,7 +325,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
325 if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->tx_clock, 325 if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->tx_clock,
326 COMM_DIR_TX)) { 326 COMM_DIR_TX)) {
327 printk(KERN_ERR "%s: illegal value for TX clock\n", 327 printk(KERN_ERR "%s: illegal value for TX clock\n",
328 __FUNCTION__); 328 __func__);
329 ucc_slow_free(uccs); 329 ucc_slow_free(uccs);
330 return -EINVAL; 330 return -EINVAL;
331 } 331 }
diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c b/arch/powerpc/sysdev/rtc_cmos_setup.c
index 0c9ac7ee08f..c09ddc0dbeb 100644
--- a/arch/powerpc/sysdev/rtc_cmos_setup.c
+++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
@@ -56,3 +56,5 @@ static int __init add_rtc(void)
56 return 0; 56 return 0;
57} 57}
58fs_initcall(add_rtc); 58fs_initcall(add_rtc);
59
60MODULE_LICENSE("GPL");
diff --git a/arch/powerpc/sysdev/tsi108_dev.c b/arch/powerpc/sysdev/tsi108_dev.c
index be2808a292f..d4d15aaf18f 100644
--- a/arch/powerpc/sysdev/tsi108_dev.c
+++ b/arch/powerpc/sysdev/tsi108_dev.c
@@ -84,7 +84,7 @@ static int __init tsi108_eth_of_init(void)
84 84
85 ret = of_address_to_resource(np, 0, &r[0]); 85 ret = of_address_to_resource(np, 0, &r[0]);
86 DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n", 86 DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
87 __FUNCTION__,r[0].name, r[0].start, r[0].end); 87 __func__,r[0].name, r[0].start, r[0].end);
88 if (ret) 88 if (ret)
89 goto err; 89 goto err;
90 90
@@ -93,7 +93,7 @@ static int __init tsi108_eth_of_init(void)
93 r[1].end = irq_of_parse_and_map(np, 0); 93 r[1].end = irq_of_parse_and_map(np, 0);
94 r[1].flags = IORESOURCE_IRQ; 94 r[1].flags = IORESOURCE_IRQ;
95 DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n", 95 DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
96 __FUNCTION__,r[1].name, r[1].start, r[1].end); 96 __func__,r[1].name, r[1].start, r[1].end);
97 97
98 tsi_eth_dev = 98 tsi_eth_dev =
99 platform_device_register_simple("tsi-ethernet", i++, &r[0], 99 platform_device_register_simple("tsi-ethernet", i++, &r[0],
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c
index 31d3d33d91f..ac1a72dc21e 100644
--- a/arch/powerpc/sysdev/tsi108_pci.c
+++ b/arch/powerpc/sysdev/tsi108_pci.c
@@ -207,7 +207,7 @@ int __init tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary)
207 /* PCI Config mapping */ 207 /* PCI Config mapping */
208 tsi108_pci_cfg_base = (u32)ioremap(cfg_phys, TSI108_PCI_CFG_SIZE); 208 tsi108_pci_cfg_base = (u32)ioremap(cfg_phys, TSI108_PCI_CFG_SIZE);
209 tsi108_pci_cfg_phys = cfg_phys; 209 tsi108_pci_cfg_phys = cfg_phys;
210 DBG("TSI_PCI: %s tsi108_pci_cfg_base=0x%x\n", __FUNCTION__, 210 DBG("TSI_PCI: %s tsi108_pci_cfg_base=0x%x\n", __func__,
211 tsi108_pci_cfg_base); 211 tsi108_pci_cfg_base);
212 212
213 /* Fetch host bridge registers address */ 213 /* Fetch host bridge registers address */
@@ -395,7 +395,7 @@ static int pci_irq_host_xlate(struct irq_host *h, struct device_node *ct,
395static int pci_irq_host_map(struct irq_host *h, unsigned int virq, 395static int pci_irq_host_map(struct irq_host *h, unsigned int virq,
396 irq_hw_number_t hw) 396 irq_hw_number_t hw)
397{ unsigned int irq; 397{ unsigned int irq;
398 DBG("%s(%d, 0x%lx)\n", __FUNCTION__, virq, hw); 398 DBG("%s(%d, 0x%lx)\n", __func__, virq, hw);
399 if ((virq >= 1) && (virq <= 4)){ 399 if ((virq >= 1) && (virq <= 4)){
400 irq = virq + IRQ_PCI_INTAD_BASE - 1; 400 irq = virq + IRQ_PCI_INTAD_BASE - 1;
401 get_irq_desc(irq)->status |= IRQ_LEVEL; 401 get_irq_desc(irq)->status |= IRQ_LEVEL;
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index a34172ddc46..00fd7647f80 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -45,7 +45,6 @@
45#ifdef CONFIG_PPC64 45#ifdef CONFIG_PPC64
46#include <asm/hvcall.h> 46#include <asm/hvcall.h>
47#include <asm/paca.h> 47#include <asm/paca.h>
48#include <asm/iseries/it_lp_reg_save.h>
49#endif 48#endif
50 49
51#include "nonstdio.h" 50#include "nonstdio.h"
@@ -1598,7 +1597,6 @@ void super_regs(void)
1598 if (firmware_has_feature(FW_FEATURE_ISERIES)) { 1597 if (firmware_has_feature(FW_FEATURE_ISERIES)) {
1599 struct paca_struct *ptrPaca; 1598 struct paca_struct *ptrPaca;
1600 struct lppaca *ptrLpPaca; 1599 struct lppaca *ptrLpPaca;
1601 struct ItLpRegSave *ptrLpRegSave;
1602 1600
1603 /* Dump out relevant Paca data areas. */ 1601 /* Dump out relevant Paca data areas. */
1604 printf("Paca: \n"); 1602 printf("Paca: \n");
@@ -1611,15 +1609,6 @@ void super_regs(void)
1611 printf(" Saved Gpr3=%.16lx Saved Gpr4=%.16lx \n", 1609 printf(" Saved Gpr3=%.16lx Saved Gpr4=%.16lx \n",
1612 ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4); 1610 ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4);
1613 printf(" Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5); 1611 printf(" Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5);
1614
1615 printf(" Local Processor Register Save Area (LpRegSave): \n");
1616 ptrLpRegSave = ptrPaca->reg_save_ptr;
1617 printf(" Saved Sprg0=%.16lx Saved Sprg1=%.16lx \n",
1618 ptrLpRegSave->xSPRG0, ptrLpRegSave->xSPRG0);
1619 printf(" Saved Sprg2=%.16lx Saved Sprg3=%.16lx \n",
1620 ptrLpRegSave->xSPRG2, ptrLpRegSave->xSPRG3);
1621 printf(" Saved Msr =%.16lx Saved Nia =%.16lx \n",
1622 ptrLpRegSave->xMSR, ptrLpRegSave->xNIA);
1623 } 1612 }
1624#endif 1613#endif
1625 1614
diff --git a/arch/ppc/8xx_io/commproc.c b/arch/ppc/8xx_io/commproc.c
index 9d656de0f0f..752443df5ec 100644
--- a/arch/ppc/8xx_io/commproc.c
+++ b/arch/ppc/8xx_io/commproc.c
@@ -43,7 +43,7 @@
43({ \ 43({ \
44 u32 offset = offsetof(immap_t, member); \ 44 u32 offset = offsetof(immap_t, member); \
45 void *addr = ioremap (IMAP_ADDR + offset, \ 45 void *addr = ioremap (IMAP_ADDR + offset, \
46 sizeof( ((immap_t*)0)->member)); \ 46 FIELD_SIZEOF(immap_t, member)); \
47 addr; \ 47 addr; \
48}) 48})
49 49
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index 11b0aa6ca97..1d4b49ad0d7 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -520,7 +520,7 @@ fec_enet_interrupt(int irq, void * dev_id)
520#ifdef CONFIG_USE_MDIO 520#ifdef CONFIG_USE_MDIO
521 fec_enet_mii(dev); 521 fec_enet_mii(dev);
522#else 522#else
523printk("%s[%d] %s: unexpected FEC_ENET_MII event\n", __FILE__,__LINE__,__FUNCTION__); 523printk("%s[%d] %s: unexpected FEC_ENET_MII event\n", __FILE__, __LINE__, __func__);
524#endif /* CONFIG_USE_MDIO */ 524#endif /* CONFIG_USE_MDIO */
525 } 525 }
526 526
@@ -1441,7 +1441,7 @@ irqreturn_t mii_link_interrupt(int irq, void * dev_id)
1441 fecp->fec_ecntrl = ecntrl; /* restore old settings */ 1441 fecp->fec_ecntrl = ecntrl; /* restore old settings */
1442 } 1442 }
1443#else 1443#else
1444printk("%s[%d] %s: unexpected Link interrupt\n", __FILE__,__LINE__,__FUNCTION__); 1444printk("%s[%d] %s: unexpected Link interrupt\n", __FILE__, __LINE__, __func__);
1445#endif /* CONFIG_USE_MDIO */ 1445#endif /* CONFIG_USE_MDIO */
1446 1446
1447#ifndef CONFIG_RPXCLASSIC 1447#ifndef CONFIG_RPXCLASSIC
diff --git a/arch/ppc/kernel/head.S b/arch/ppc/kernel/head.S
index 1b0ec7202dd..e7e642b9513 100644
--- a/arch/ppc/kernel/head.S
+++ b/arch/ppc/kernel/head.S
@@ -701,23 +701,6 @@ load_up_altivec:
701 b fast_exception_return 701 b fast_exception_return
702 702
703/* 703/*
704 * AltiVec unavailable trap from kernel - print a message, but let
705 * the task use AltiVec in the kernel until it returns to user mode.
706 */
707KernelAltiVec:
708 lwz r3,_MSR(r1)
709 oris r3,r3,MSR_VEC@h
710 stw r3,_MSR(r1) /* enable use of AltiVec after return */
711 lis r3,87f@h
712 ori r3,r3,87f@l
713 mr r4,r2 /* current */
714 lwz r5,_NIP(r1)
715 bl printk
716 b ret_from_except
71787: .string "AltiVec used in kernel (task=%p, pc=%x) \n"
718 .align 4,0
719
720/*
721 * giveup_altivec(tsk) 704 * giveup_altivec(tsk)
722 * Disable AltiVec for the task given as the argument, 705 * Disable AltiVec for the task given as the argument,
723 * and save the AltiVec registers in its thread_struct. 706 * and save the AltiVec registers in its thread_struct.
diff --git a/arch/ppc/mm/init.c b/arch/ppc/mm/init.c
index 7444df3889c..1a63711081b 100644
--- a/arch/ppc/mm/init.c
+++ b/arch/ppc/mm/init.c
@@ -109,7 +109,6 @@ void show_mem(void)
109 109
110 printk("Mem-info:\n"); 110 printk("Mem-info:\n");
111 show_free_areas(); 111 show_free_areas();
112 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
113 i = max_mapnr; 112 i = max_mapnr;
114 while (i-- > 0) { 113 while (i-- > 0) {
115 total++; 114 total++;
diff --git a/arch/ppc/platforms/radstone_ppc7d.c b/arch/ppc/platforms/radstone_ppc7d.c
index 44d4398a36f..fc928a26609 100644
--- a/arch/ppc/platforms/radstone_ppc7d.c
+++ b/arch/ppc/platforms/radstone_ppc7d.c
@@ -512,7 +512,7 @@ static void __init ppc7d_init_irq(void)
512{ 512{
513 int irq; 513 int irq;
514 514
515 pr_debug("%s\n", __FUNCTION__); 515 pr_debug("%s\n", __func__);
516 i8259_init(0, 0); 516 i8259_init(0, 0);
517 mv64360_init_irq(); 517 mv64360_init_irq();
518 518
@@ -569,7 +569,7 @@ static int __init ppc7d_map_irq(struct pci_dev *dev, unsigned char idsel,
569 }; 569 };
570 const long min_idsel = 10, max_idsel = 14, irqs_per_slot = 4; 570 const long min_idsel = 10, max_idsel = 14, irqs_per_slot = 4;
571 571
572 pr_debug("%s: %04x/%04x/%x: idsel=%hx pin=%hu\n", __FUNCTION__, 572 pr_debug("%s: %04x/%04x/%x: idsel=%hx pin=%hu\n", __func__,
573 dev->vendor, dev->device, PCI_FUNC(dev->devfn), idsel, pin); 573 dev->vendor, dev->device, PCI_FUNC(dev->devfn), idsel, pin);
574 574
575 return PCI_IRQ_TABLE_LOOKUP; 575 return PCI_IRQ_TABLE_LOOKUP;
@@ -1300,7 +1300,7 @@ static void ppc7d_init2(void)
1300 u32 data; 1300 u32 data;
1301 u8 data8; 1301 u8 data8;
1302 1302
1303 pr_debug("%s: enter\n", __FUNCTION__); 1303 pr_debug("%s: enter\n", __func__);
1304 1304
1305 /* Wait for debugger? */ 1305 /* Wait for debugger? */
1306 if (ppc7d_wait_debugger) { 1306 if (ppc7d_wait_debugger) {
@@ -1333,7 +1333,7 @@ static void ppc7d_init2(void)
1333 ppc_md.set_rtc_time = ppc7d_set_rtc_time; 1333 ppc_md.set_rtc_time = ppc7d_set_rtc_time;
1334 ppc_md.get_rtc_time = ppc7d_get_rtc_time; 1334 ppc_md.get_rtc_time = ppc7d_get_rtc_time;
1335 1335
1336 pr_debug("%s: exit\n", __FUNCTION__); 1336 pr_debug("%s: exit\n", __func__);
1337} 1337}
1338 1338
1339/* Called from machine_init(), early, before any of the __init functions 1339/* Called from machine_init(), early, before any of the __init functions
diff --git a/arch/ppc/syslib/mpc52xx_setup.c b/arch/ppc/syslib/mpc52xx_setup.c
index 9f504fc7693..ab0cf4ced9e 100644
--- a/arch/ppc/syslib/mpc52xx_setup.c
+++ b/arch/ppc/syslib/mpc52xx_setup.c
@@ -279,7 +279,7 @@ int mpc52xx_match_psc_function(int psc_idx, const char *func)
279 279
280int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv) 280int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv)
281{ 281{
282 static spinlock_t lock = SPIN_LOCK_UNLOCKED; 282 static DEFINE_SPINLOCK(lock);
283 struct mpc52xx_cdm __iomem *cdm; 283 struct mpc52xx_cdm __iomem *cdm;
284 unsigned long flags; 284 unsigned long flags;
285 u16 mclken_div; 285 u16 mclken_div;
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 12720489e45..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
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index 3dda24daa0a..89b408620dc 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -44,7 +44,7 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
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/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/sparc/kernel/ptrace.c b/arch/sparc/kernel/ptrace.c
index 5b54f11f4e5..7f44ae69b29 100644
--- a/arch/sparc/kernel/ptrace.c
+++ b/arch/sparc/kernel/ptrace.c
@@ -325,7 +325,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
325 const struct user_regset_view *view; 325 const struct user_regset_view *view;
326 int ret; 326 int ret;
327 327
328 view = task_user_regset_view(child); 328 view = task_user_regset_view(current);
329 329
330 switch(request) { 330 switch(request) {
331 case PTRACE_GETREGS: { 331 case PTRACE_GETREGS: {
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 463d1be32c9..2667a9dee11 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -16,6 +16,7 @@ config SPARC64
16 bool 16 bool
17 default y 17 default y
18 select HAVE_IDE 18 select HAVE_IDE
19 select HAVE_LMB
19 help 20 help
20 SPARC is a family of RISC microprocessors designed and marketed by 21 SPARC is a family of RISC microprocessors designed and marketed by
21 Sun Microsystems, incorporated. This port covers the newer 64-bit 22 Sun Microsystems, incorporated. This port covers the newer 64-bit
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..e9fc0aa2da3 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,87 @@ 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();
115}
116
117static int get_from_target(struct task_struct *target, unsigned long uaddr,
118 void *kbuf, int len)
119{
120 if (target == current) {
121 if (copy_from_user(kbuf, (void __user *) uaddr, len))
122 return -EFAULT;
123 } else {
124 int len2 = access_process_vm(target, uaddr, kbuf, len, 0);
125 if (len2 != len)
126 return -EFAULT;
127 }
128 return 0;
129}
130
131static int set_to_target(struct task_struct *target, unsigned long uaddr,
132 void *kbuf, int len)
133{
134 if (target == current) {
135 if (copy_to_user((void __user *) uaddr, kbuf, len))
136 return -EFAULT;
137 } else {
138 int len2 = access_process_vm(target, uaddr, kbuf, len, 1);
139 if (len2 != len)
140 return -EFAULT;
141 }
142 return 0;
143}
144
145static int regwindow64_get(struct task_struct *target,
146 const struct pt_regs *regs,
147 struct reg_window *wbuf)
148{
149 unsigned long rw_addr = regs->u_regs[UREG_I6];
150
151 if (test_tsk_thread_flag(current, TIF_32BIT)) {
152 struct reg_window32 win32;
153 int i;
154
155 if (get_from_target(target, rw_addr, &win32, sizeof(win32)))
156 return -EFAULT;
157 for (i = 0; i < 8; i++)
158 wbuf->locals[i] = win32.locals[i];
159 for (i = 0; i < 8; i++)
160 wbuf->ins[i] = win32.ins[i];
161 } else {
162 rw_addr += STACK_BIAS;
163 if (get_from_target(target, rw_addr, wbuf, sizeof(*wbuf)))
164 return -EFAULT;
165 }
166
167 return 0;
168}
169
170static int regwindow64_set(struct task_struct *target,
171 const struct pt_regs *regs,
172 struct reg_window *wbuf)
173{
174 unsigned long rw_addr = regs->u_regs[UREG_I6];
175
176 if (test_tsk_thread_flag(current, TIF_32BIT)) {
177 struct reg_window32 win32;
178 int i;
179
180 for (i = 0; i < 8; i++)
181 win32.locals[i] = wbuf->locals[i];
182 for (i = 0; i < 8; i++)
183 win32.ins[i] = wbuf->ins[i];
184
185 if (set_to_target(target, rw_addr, &win32, sizeof(win32)))
186 return -EFAULT;
187 } else {
188 rw_addr += STACK_BIAS;
189 if (set_to_target(target, rw_addr, wbuf, sizeof(*wbuf)))
190 return -EFAULT;
191 }
192
193 return 0;
108} 194}
109 195
110enum sparc_regset { 196enum sparc_regset {
@@ -126,16 +212,13 @@ static int genregs64_get(struct task_struct *target,
126 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 212 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
127 regs->u_regs, 213 regs->u_regs,
128 0, 16 * sizeof(u64)); 214 0, 16 * sizeof(u64));
129 if (!ret) { 215 if (!ret && count && pos < (32 * sizeof(u64))) {
130 unsigned long __user *reg_window = (unsigned long __user *) 216 struct reg_window window;
131 (regs->u_regs[UREG_I6] + STACK_BIAS);
132 unsigned long window[16];
133 217
134 if (copy_from_user(window, reg_window, sizeof(window))) 218 if (regwindow64_get(target, regs, &window))
135 return -EFAULT; 219 return -EFAULT;
136
137 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 220 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
138 window, 221 &window,
139 16 * sizeof(u64), 222 16 * sizeof(u64),
140 32 * sizeof(u64)); 223 32 * sizeof(u64));
141 } 224 }
@@ -157,10 +240,11 @@ static int genregs64_get(struct task_struct *target,
157 36 * sizeof(u64)); 240 36 * sizeof(u64));
158 } 241 }
159 242
160 if (!ret) 243 if (!ret) {
161 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf, 244 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
162 36 * sizeof(u64), -1); 245 36 * sizeof(u64), -1);
163 246
247 }
164 return ret; 248 return ret;
165} 249}
166 250
@@ -178,20 +262,19 @@ static int genregs64_set(struct task_struct *target,
178 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, 262 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
179 regs->u_regs, 263 regs->u_regs,
180 0, 16 * sizeof(u64)); 264 0, 16 * sizeof(u64));
181 if (!ret && count > 0) { 265 if (!ret && count && pos < (32 * sizeof(u64))) {
182 unsigned long __user *reg_window = (unsigned long __user *) 266 struct reg_window window;
183 (regs->u_regs[UREG_I6] + STACK_BIAS);
184 unsigned long window[16];
185 267
186 if (copy_from_user(window, reg_window, sizeof(window))) 268 if (regwindow64_get(target, regs, &window))
187 return -EFAULT; 269 return -EFAULT;
188 270
189 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, 271 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
190 window, 272 &window,
191 16 * sizeof(u64), 273 16 * sizeof(u64),
192 32 * sizeof(u64)); 274 32 * sizeof(u64));
275
193 if (!ret && 276 if (!ret &&
194 copy_to_user(reg_window, window, sizeof(window))) 277 regwindow64_set(target, regs, &window))
195 return -EFAULT; 278 return -EFAULT;
196 } 279 }
197 280
@@ -382,6 +465,7 @@ static const struct user_regset_view user_sparc64_view = {
382 .regsets = sparc64_regsets, .n = ARRAY_SIZE(sparc64_regsets) 465 .regsets = sparc64_regsets, .n = ARRAY_SIZE(sparc64_regsets)
383}; 466};
384 467
468#ifdef CONFIG_COMPAT
385static int genregs32_get(struct task_struct *target, 469static int genregs32_get(struct task_struct *target,
386 const struct user_regset *regset, 470 const struct user_regset *regset,
387 unsigned int pos, unsigned int count, 471 unsigned int pos, unsigned int count,
@@ -404,9 +488,22 @@ static int genregs32_get(struct task_struct *target,
404 *k++ = regs->u_regs[pos++]; 488 *k++ = regs->u_regs[pos++];
405 489
406 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 490 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
407 for (; count > 0 && pos < 32; count--) { 491 if (target == current) {
408 if (get_user(*k++, &reg_window[pos++])) 492 for (; count > 0 && pos < 32; count--) {
409 return -EFAULT; 493 if (get_user(*k++, &reg_window[pos++]))
494 return -EFAULT;
495 }
496 } else {
497 for (; count > 0 && pos < 32; count--) {
498 if (access_process_vm(target,
499 (unsigned long)
500 &reg_window[pos],
501 k, sizeof(*k), 0)
502 != sizeof(*k))
503 return -EFAULT;
504 k++;
505 pos++;
506 }
410 } 507 }
411 } else { 508 } else {
412 for (; count > 0 && pos < 16; count--) { 509 for (; count > 0 && pos < 16; count--) {
@@ -415,10 +512,28 @@ static int genregs32_get(struct task_struct *target,
415 } 512 }
416 513
417 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 514 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
418 for (; count > 0 && pos < 32; count--) { 515 if (target == current) {
419 if (get_user(reg, &reg_window[pos++]) || 516 for (; count > 0 && pos < 32; count--) {
420 put_user(reg, u++)) 517 if (get_user(reg, &reg_window[pos++]) ||
421 return -EFAULT; 518 put_user(reg, u++))
519 return -EFAULT;
520 }
521 } else {
522 for (; count > 0 && pos < 32; count--) {
523 if (access_process_vm(target,
524 (unsigned long)
525 &reg_window[pos],
526 &reg, sizeof(reg), 0)
527 != sizeof(reg))
528 return -EFAULT;
529 if (access_process_vm(target,
530 (unsigned long) u,
531 &reg, sizeof(reg), 1)
532 != sizeof(reg))
533 return -EFAULT;
534 pos++;
535 u++;
536 }
422 } 537 }
423 } 538 }
424 while (count > 0) { 539 while (count > 0) {
@@ -480,9 +595,23 @@ static int genregs32_set(struct task_struct *target,
480 regs->u_regs[pos++] = *k++; 595 regs->u_regs[pos++] = *k++;
481 596
482 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 597 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
483 for (; count > 0 && pos < 32; count--) { 598 if (target == current) {
484 if (put_user(*k++, &reg_window[pos++])) 599 for (; count > 0 && pos < 32; count--) {
485 return -EFAULT; 600 if (put_user(*k++, &reg_window[pos++]))
601 return -EFAULT;
602 }
603 } else {
604 for (; count > 0 && pos < 32; count--) {
605 if (access_process_vm(target,
606 (unsigned long)
607 &reg_window[pos],
608 (void *) k,
609 sizeof(*k), 1)
610 != sizeof(*k))
611 return -EFAULT;
612 k++;
613 pos++;
614 }
486 } 615 }
487 } else { 616 } else {
488 for (; count > 0 && pos < 16; count--) { 617 for (; count > 0 && pos < 16; count--) {
@@ -492,10 +621,29 @@ static int genregs32_set(struct task_struct *target,
492 } 621 }
493 622
494 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 623 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
495 for (; count > 0 && pos < 32; count--) { 624 if (target == current) {
496 if (get_user(reg, u++) || 625 for (; count > 0 && pos < 32; count--) {
497 put_user(reg, &reg_window[pos++])) 626 if (get_user(reg, u++) ||
498 return -EFAULT; 627 put_user(reg, &reg_window[pos++]))
628 return -EFAULT;
629 }
630 } else {
631 for (; count > 0 && pos < 32; count--) {
632 if (access_process_vm(target,
633 (unsigned long)
634 u,
635 &reg, sizeof(reg), 0)
636 != sizeof(reg))
637 return -EFAULT;
638 if (access_process_vm(target,
639 (unsigned long)
640 &reg_window[pos],
641 &reg, sizeof(reg), 1)
642 != sizeof(reg))
643 return -EFAULT;
644 pos++;
645 u++;
646 }
499 } 647 }
500 } 648 }
501 while (count > 0) { 649 while (count > 0) {
@@ -676,14 +824,18 @@ static const struct user_regset_view user_sparc32_view = {
676 .name = "sparc", .e_machine = EM_SPARC, 824 .name = "sparc", .e_machine = EM_SPARC,
677 .regsets = sparc32_regsets, .n = ARRAY_SIZE(sparc32_regsets) 825 .regsets = sparc32_regsets, .n = ARRAY_SIZE(sparc32_regsets)
678}; 826};
827#endif /* CONFIG_COMPAT */
679 828
680const struct user_regset_view *task_user_regset_view(struct task_struct *task) 829const struct user_regset_view *task_user_regset_view(struct task_struct *task)
681{ 830{
831#ifdef CONFIG_COMPAT
682 if (test_tsk_thread_flag(task, TIF_32BIT)) 832 if (test_tsk_thread_flag(task, TIF_32BIT))
683 return &user_sparc32_view; 833 return &user_sparc32_view;
834#endif
684 return &user_sparc64_view; 835 return &user_sparc64_view;
685} 836}
686 837
838#ifdef CONFIG_COMPAT
687struct compat_fps { 839struct compat_fps {
688 unsigned int regs[32]; 840 unsigned int regs[32];
689 unsigned int fsr; 841 unsigned int fsr;
@@ -699,7 +851,7 @@ struct compat_fps {
699long compat_arch_ptrace(struct task_struct *child, compat_long_t request, 851long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
700 compat_ulong_t caddr, compat_ulong_t cdata) 852 compat_ulong_t caddr, compat_ulong_t cdata)
701{ 853{
702 const struct user_regset_view *view = task_user_regset_view(child); 854 const struct user_regset_view *view = task_user_regset_view(current);
703 compat_ulong_t caddr2 = task_pt_regs(current)->u_regs[UREG_I4]; 855 compat_ulong_t caddr2 = task_pt_regs(current)->u_regs[UREG_I4];
704 struct pt_regs32 __user *pregs; 856 struct pt_regs32 __user *pregs;
705 struct compat_fps __user *fps; 857 struct compat_fps __user *fps;
@@ -798,6 +950,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
798 950
799 return ret; 951 return ret;
800} 952}
953#endif /* CONFIG_COMPAT */
801 954
802struct fps { 955struct fps {
803 unsigned int regs[64]; 956 unsigned int regs[64];
@@ -806,12 +959,15 @@ struct fps {
806 959
807long arch_ptrace(struct task_struct *child, long request, long addr, long data) 960long arch_ptrace(struct task_struct *child, long request, long addr, long data)
808{ 961{
809 const struct user_regset_view *view = task_user_regset_view(child); 962 const struct user_regset_view *view = task_user_regset_view(current);
810 struct pt_regs __user *pregs = (struct pt_regs __user *) addr;
811 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4]; 963 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4];
812 struct fps __user *fps = (struct fps __user *) addr; 964 struct pt_regs __user *pregs;
965 struct fps __user *fps;
813 int ret; 966 int ret;
814 967
968 pregs = (struct pt_regs __user *) (unsigned long) addr;
969 fps = (struct fps __user *) (unsigned long) addr;
970
815 switch (request) { 971 switch (request) {
816 case PTRACE_PEEKUSR: 972 case PTRACE_PEEKUSR:
817 ret = (addr != 0) ? -EIO : 0; 973 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..9d51956e8e2 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. */
@@ -354,7 +357,7 @@ static int invalid_frame_pointer(void __user *fp, int fplen)
354static inline int 357static inline int
355save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) 358save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu)
356{ 359{
357 unsigned long *fpregs = (unsigned long *)(regs+1); 360 unsigned long *fpregs = current_thread_info()->fpregs;
358 unsigned long fprs; 361 unsigned long fprs;
359 int err = 0; 362 int err = 0;
360 363
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/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index 1e8f41a9951..1d43bdfc20c 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -256,11 +256,7 @@ static struct net_device_stats *uml_net_get_stats(struct net_device *dev)
256 256
257static void uml_net_set_multicast_list(struct net_device *dev) 257static void uml_net_set_multicast_list(struct net_device *dev)
258{ 258{
259 if (dev->flags & IFF_PROMISC) 259 return;
260 return;
261 else if (dev->mc_count)
262 dev->flags |= IFF_ALLMULTI;
263 else dev->flags &= ~IFF_ALLMULTI;
264} 260}
265 261
266static void uml_net_tx_timeout(struct net_device *dev) 262static void uml_net_tx_timeout(struct net_device *dev)
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 45d79ea890a..5fed98ca0e1 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -65,7 +65,8 @@ __setup("noreplace-paravirt", setup_noreplace_paravirt);
65 get them easily into strings. */ 65 get them easily into strings. */
66asm("\t.section .rodata, \"a\"\nintelnops: " 66asm("\t.section .rodata, \"a\"\nintelnops: "
67 GENERIC_NOP1 GENERIC_NOP2 GENERIC_NOP3 GENERIC_NOP4 GENERIC_NOP5 GENERIC_NOP6 67 GENERIC_NOP1 GENERIC_NOP2 GENERIC_NOP3 GENERIC_NOP4 GENERIC_NOP5 GENERIC_NOP6
68 GENERIC_NOP7 GENERIC_NOP8); 68 GENERIC_NOP7 GENERIC_NOP8
69 "\t.previous");
69extern const unsigned char intelnops[]; 70extern const unsigned char intelnops[];
70static const unsigned char *const intel_nops[ASM_NOP_MAX+1] = { 71static const unsigned char *const intel_nops[ASM_NOP_MAX+1] = {
71 NULL, 72 NULL,
@@ -83,7 +84,8 @@ static const unsigned char *const intel_nops[ASM_NOP_MAX+1] = {
83#ifdef K8_NOP1 84#ifdef K8_NOP1
84asm("\t.section .rodata, \"a\"\nk8nops: " 85asm("\t.section .rodata, \"a\"\nk8nops: "
85 K8_NOP1 K8_NOP2 K8_NOP3 K8_NOP4 K8_NOP5 K8_NOP6 86 K8_NOP1 K8_NOP2 K8_NOP3 K8_NOP4 K8_NOP5 K8_NOP6
86 K8_NOP7 K8_NOP8); 87 K8_NOP7 K8_NOP8
88 "\t.previous");
87extern const unsigned char k8nops[]; 89extern const unsigned char k8nops[];
88static const unsigned char *const k8_nops[ASM_NOP_MAX+1] = { 90static const unsigned char *const k8_nops[ASM_NOP_MAX+1] = {
89 NULL, 91 NULL,
@@ -101,7 +103,8 @@ static const unsigned char *const k8_nops[ASM_NOP_MAX+1] = {
101#ifdef K7_NOP1 103#ifdef K7_NOP1
102asm("\t.section .rodata, \"a\"\nk7nops: " 104asm("\t.section .rodata, \"a\"\nk7nops: "
103 K7_NOP1 K7_NOP2 K7_NOP3 K7_NOP4 K7_NOP5 K7_NOP6 105 K7_NOP1 K7_NOP2 K7_NOP3 K7_NOP4 K7_NOP5 K7_NOP6
104 K7_NOP7 K7_NOP8); 106 K7_NOP7 K7_NOP8
107 "\t.previous");
105extern const unsigned char k7nops[]; 108extern const unsigned char k7nops[];
106static const unsigned char *const k7_nops[ASM_NOP_MAX+1] = { 109static const unsigned char *const k7_nops[ASM_NOP_MAX+1] = {
107 NULL, 110 NULL,
@@ -119,7 +122,8 @@ static const unsigned char *const k7_nops[ASM_NOP_MAX+1] = {
119#ifdef P6_NOP1 122#ifdef P6_NOP1
120asm("\t.section .rodata, \"a\"\np6nops: " 123asm("\t.section .rodata, \"a\"\np6nops: "
121 P6_NOP1 P6_NOP2 P6_NOP3 P6_NOP4 P6_NOP5 P6_NOP6 124 P6_NOP1 P6_NOP2 P6_NOP3 P6_NOP4 P6_NOP5 P6_NOP6
122 P6_NOP7 P6_NOP8); 125 P6_NOP7 P6_NOP8
126 "\t.previous");
123extern const unsigned char p6nops[]; 127extern const unsigned char p6nops[];
124static const unsigned char *const p6_nops[ASM_NOP_MAX+1] = { 128static const unsigned char *const p6_nops[ASM_NOP_MAX+1] = {
125 NULL, 129 NULL,
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 027e5c003b1..170d2f5523b 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -143,14 +143,6 @@ static void __init check_config(void)
143#endif 143#endif
144 144
145/* 145/*
146 * If we configured ourselves for a TSC, we'd better have one!
147 */
148#ifdef CONFIG_X86_TSC
149 if (!cpu_has_tsc)
150 panic("Kernel compiled for Pentium+, requires TSC feature!");
151#endif
152
153/*
154 * If we were told we had a good local APIC, check for buggy Pentia, 146 * If we were told we had a good local APIC, check for buggy Pentia,
155 * i.e. all B steppings and the C2 stepping of P54C when using their 147 * i.e. all B steppings and the C2 stepping of P54C when using their
156 * integrated APIC (see 11AP erratum in "Pentium Processor 148 * integrated APIC (see 11AP erratum in "Pentium Processor
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/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c
index 9b838324b81..b943e10ad81 100644
--- a/arch/x86/kernel/cpu/perfctr-watchdog.c
+++ b/arch/x86/kernel/cpu/perfctr-watchdog.c
@@ -652,9 +652,6 @@ static void probe_nmi_watchdog(void)
652 wd_ops = &p6_wd_ops; 652 wd_ops = &p6_wd_ops;
653 break; 653 break;
654 case 15: 654 case 15:
655 if (boot_cpu_data.x86_model > 0x4)
656 return;
657
658 wd_ops = &p4_wd_ops; 655 wd_ops = &p4_wd_ops;
659 break; 656 break;
660 default: 657 default:
@@ -670,8 +667,10 @@ int lapic_watchdog_init(unsigned nmi_hz)
670{ 667{
671 if (!wd_ops) { 668 if (!wd_ops) {
672 probe_nmi_watchdog(); 669 probe_nmi_watchdog();
673 if (!wd_ops) 670 if (!wd_ops) {
671 printk(KERN_INFO "NMI watchdog: CPU not supported\n");
674 return -1; 672 return -1;
673 }
675 674
676 if (!wd_ops->reserve()) { 675 if (!wd_ops->reserve()) {
677 printk(KERN_ERR 676 printk(KERN_ERR
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 235fd6c7750..36652ea1a26 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -133,13 +133,16 @@ static void hpet_reserve_platform_timers(unsigned long id)
133#ifdef CONFIG_HPET_EMULATE_RTC 133#ifdef CONFIG_HPET_EMULATE_RTC
134 hpet_reserve_timer(&hd, 1); 134 hpet_reserve_timer(&hd, 1);
135#endif 135#endif
136
136 hd.hd_irq[0] = HPET_LEGACY_8254; 137 hd.hd_irq[0] = HPET_LEGACY_8254;
137 hd.hd_irq[1] = HPET_LEGACY_RTC; 138 hd.hd_irq[1] = HPET_LEGACY_RTC;
138 139
139 for (i = 2; i < nrtimers; timer++, i++) 140 for (i = 2; i < nrtimers; timer++, i++)
140 hd.hd_irq[i] = (timer->hpet_config & Tn_INT_ROUTE_CNF_MASK) >> 141 hd.hd_irq[i] = (timer->hpet_config & Tn_INT_ROUTE_CNF_MASK) >>
141 Tn_INT_ROUTE_CNF_SHIFT; 142 Tn_INT_ROUTE_CNF_SHIFT;
143
142 hpet_alloc(&hd); 144 hpet_alloc(&hd);
145
143} 146}
144#else 147#else
145static void hpet_reserve_platform_timers(unsigned long id) { } 148static void hpet_reserve_platform_timers(unsigned long id) { }
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-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index faf3229f8fb..700e4647dd3 100644
--- a/arch/x86/kernel/pci-gart_64.c
+++ b/arch/x86/kernel/pci-gart_64.c
@@ -615,8 +615,8 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
615 615
616 nommu: 616 nommu:
617 /* Should not happen anymore */ 617 /* Should not happen anymore */
618 printk(KERN_ERR "PCI-DMA: More than 4GB of RAM and no IOMMU\n" 618 printk(KERN_WARNING "PCI-DMA: More than 4GB of RAM and no IOMMU\n"
619 KERN_ERR "PCI-DMA: 32bit PCI IO may malfunction.\n"); 619 KERN_WARNING "falling back to iommu=soft.\n");
620 return -1; 620 return -1;
621} 621}
622 622
@@ -692,9 +692,9 @@ void __init gart_iommu_init(void)
692 !gart_iommu_aperture || 692 !gart_iommu_aperture ||
693 (no_agp && init_k8_gatt(&info) < 0)) { 693 (no_agp && init_k8_gatt(&info) < 0)) {
694 if (end_pfn > MAX_DMA32_PFN) { 694 if (end_pfn > MAX_DMA32_PFN) {
695 printk(KERN_ERR "WARNING more than 4GB of memory " 695 printk(KERN_WARNING "More than 4GB of memory "
696 "but GART IOMMU not available.\n" 696 "but GART IOMMU not available.\n"
697 KERN_ERR "WARNING 32bit PCI may malfunction.\n"); 697 KERN_WARNING "falling back to iommu=soft.\n");
698 } 698 }
699 return; 699 return;
700 } 700 }
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index be3c7a299f0..43930e73f65 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -82,7 +82,6 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
82 */ 82 */
83void (*pm_idle)(void); 83void (*pm_idle)(void);
84EXPORT_SYMBOL(pm_idle); 84EXPORT_SYMBOL(pm_idle);
85static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
86 85
87void disable_hlt(void) 86void disable_hlt(void)
88{ 87{
@@ -190,9 +189,6 @@ void cpu_idle(void)
190 while (!need_resched()) { 189 while (!need_resched()) {
191 void (*idle)(void); 190 void (*idle)(void);
192 191
193 if (__get_cpu_var(cpu_idle_state))
194 __get_cpu_var(cpu_idle_state) = 0;
195
196 check_pgt_cache(); 192 check_pgt_cache();
197 rmb(); 193 rmb();
198 idle = pm_idle; 194 idle = pm_idle;
@@ -220,40 +216,19 @@ static void do_nothing(void *unused)
220{ 216{
221} 217}
222 218
219/*
220 * cpu_idle_wait - Used to ensure that all the CPUs discard old value of
221 * pm_idle and update to new pm_idle value. Required while changing pm_idle
222 * handler on SMP systems.
223 *
224 * Caller must have changed pm_idle to the new value before the call. Old
225 * pm_idle value will not be used by any CPU after the return of this function.
226 */
223void cpu_idle_wait(void) 227void cpu_idle_wait(void)
224{ 228{
225 unsigned int cpu, this_cpu = get_cpu(); 229 smp_mb();
226 cpumask_t map, tmp = current->cpus_allowed; 230 /* kick all the CPUs so that they exit out of pm_idle */
227 231 smp_call_function(do_nothing, NULL, 0, 1);
228 set_cpus_allowed(current, cpumask_of_cpu(this_cpu));
229 put_cpu();
230
231 cpus_clear(map);
232 for_each_online_cpu(cpu) {
233 per_cpu(cpu_idle_state, cpu) = 1;
234 cpu_set(cpu, map);
235 }
236
237 __get_cpu_var(cpu_idle_state) = 0;
238
239 wmb();
240 do {
241 ssleep(1);
242 for_each_online_cpu(cpu) {
243 if (cpu_isset(cpu, map) && !per_cpu(cpu_idle_state, cpu))
244 cpu_clear(cpu, map);
245 }
246 cpus_and(map, map, cpu_online_map);
247 /*
248 * We waited 1 sec, if a CPU still did not call idle
249 * it may be because it is in idle and not waking up
250 * because it has nothing to do.
251 * Give all the remaining CPUS a kick.
252 */
253 smp_call_function_mask(map, do_nothing, NULL, 0);
254 } while (!cpus_empty(map));
255
256 set_cpus_allowed(current, tmp);
257} 232}
258EXPORT_SYMBOL_GPL(cpu_idle_wait); 233EXPORT_SYMBOL_GPL(cpu_idle_wait);
259 234
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 3baf9b9f4c8..46c4c546b49 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -63,7 +63,6 @@ EXPORT_SYMBOL(boot_option_idle_override);
63 */ 63 */
64void (*pm_idle)(void); 64void (*pm_idle)(void);
65EXPORT_SYMBOL(pm_idle); 65EXPORT_SYMBOL(pm_idle);
66static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
67 66
68static ATOMIC_NOTIFIER_HEAD(idle_notifier); 67static ATOMIC_NOTIFIER_HEAD(idle_notifier);
69 68
@@ -173,9 +172,6 @@ void cpu_idle(void)
173 while (!need_resched()) { 172 while (!need_resched()) {
174 void (*idle)(void); 173 void (*idle)(void);
175 174
176 if (__get_cpu_var(cpu_idle_state))
177 __get_cpu_var(cpu_idle_state) = 0;
178
179 rmb(); 175 rmb();
180 idle = pm_idle; 176 idle = pm_idle;
181 if (!idle) 177 if (!idle)
@@ -207,40 +203,19 @@ static void do_nothing(void *unused)
207{ 203{
208} 204}
209 205
206/*
207 * cpu_idle_wait - Used to ensure that all the CPUs discard old value of
208 * pm_idle and update to new pm_idle value. Required while changing pm_idle
209 * handler on SMP systems.
210 *
211 * Caller must have changed pm_idle to the new value before the call. Old
212 * pm_idle value will not be used by any CPU after the return of this function.
213 */
210void cpu_idle_wait(void) 214void cpu_idle_wait(void)
211{ 215{
212 unsigned int cpu, this_cpu = get_cpu(); 216 smp_mb();
213 cpumask_t map, tmp = current->cpus_allowed; 217 /* kick all the CPUs so that they exit out of pm_idle */
214 218 smp_call_function(do_nothing, NULL, 0, 1);
215 set_cpus_allowed(current, cpumask_of_cpu(this_cpu));
216 put_cpu();
217
218 cpus_clear(map);
219 for_each_online_cpu(cpu) {
220 per_cpu(cpu_idle_state, cpu) = 1;
221 cpu_set(cpu, map);
222 }
223
224 __get_cpu_var(cpu_idle_state) = 0;
225
226 wmb();
227 do {
228 ssleep(1);
229 for_each_online_cpu(cpu) {
230 if (cpu_isset(cpu, map) && !per_cpu(cpu_idle_state, cpu))
231 cpu_clear(cpu, map);
232 }
233 cpus_and(map, map, cpu_online_map);
234 /*
235 * We waited 1 sec, if a CPU still did not call idle
236 * it may be because it is in idle and not waking up
237 * because it has nothing to do.
238 * Give all the remaining CPUS a kick.
239 */
240 smp_call_function_mask(map, do_nothing, 0, 0);
241 } while (!cpus_empty(map));
242
243 set_cpus_allowed(current, tmp);
244} 219}
245EXPORT_SYMBOL_GPL(cpu_idle_wait); 220EXPORT_SYMBOL_GPL(cpu_idle_wait);
246 221
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/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/kernel/step.c b/arch/x86/kernel/step.c
index 9d406cdc847..071ff479823 100644
--- a/arch/x86/kernel/step.c
+++ b/arch/x86/kernel/step.c
@@ -140,6 +140,9 @@ static int enable_single_step(struct task_struct *child)
140 */ 140 */
141static void write_debugctlmsr(struct task_struct *child, unsigned long val) 141static void write_debugctlmsr(struct task_struct *child, unsigned long val)
142{ 142{
143 if (child->thread.debugctlmsr == val)
144 return;
145
143 child->thread.debugctlmsr = val; 146 child->thread.debugctlmsr = val;
144 147
145 if (child != current) 148 if (child != current)
@@ -165,11 +168,11 @@ static void enable_step(struct task_struct *child, bool block)
165 write_debugctlmsr(child, 168 write_debugctlmsr(child,
166 child->thread.debugctlmsr | DEBUGCTLMSR_BTF); 169 child->thread.debugctlmsr | DEBUGCTLMSR_BTF);
167 } else { 170 } else {
168 write_debugctlmsr(child, 171 write_debugctlmsr(child,
169 child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF); 172 child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF);
170 173
171 if (!child->thread.debugctlmsr) 174 if (!child->thread.debugctlmsr)
172 clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR); 175 clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR);
173 } 176 }
174} 177}
175 178
diff --git a/arch/x86/kernel/tls.c b/arch/x86/kernel/tls.c
index 022bcaa3b42..ab6bf375a30 100644
--- a/arch/x86/kernel/tls.c
+++ b/arch/x86/kernel/tls.c
@@ -92,7 +92,7 @@ int do_set_thread_area(struct task_struct *p, int idx,
92asmlinkage int sys_set_thread_area(struct user_desc __user *u_info) 92asmlinkage int sys_set_thread_area(struct user_desc __user *u_info)
93{ 93{
94 int ret = do_set_thread_area(current, -1, u_info, 1); 94 int ret = do_set_thread_area(current, -1, u_info, 1);
95 prevent_tail_call(ret); 95 asmlinkage_protect(1, ret, u_info);
96 return ret; 96 return ret;
97} 97}
98 98
@@ -142,7 +142,7 @@ int do_get_thread_area(struct task_struct *p, int idx,
142asmlinkage int sys_get_thread_area(struct user_desc __user *u_info) 142asmlinkage int sys_get_thread_area(struct user_desc __user *u_info)
143{ 143{
144 int ret = do_get_thread_area(current, -1, u_info); 144 int ret = do_get_thread_area(current, -1, u_info);
145 prevent_tail_call(ret); 145 asmlinkage_protect(1, ret, u_info);
146 return ret; 146 return ret;
147} 147}
148 148
diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c
index f14cfd9d1f9..c2241e04ea5 100644
--- a/arch/x86/kernel/tsc_32.c
+++ b/arch/x86/kernel/tsc_32.c
@@ -256,9 +256,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, void *data)
256 ref_freq, freq->new); 256 ref_freq, freq->new);
257 if (!(freq->flags & CPUFREQ_CONST_LOOPS)) { 257 if (!(freq->flags & CPUFREQ_CONST_LOOPS)) {
258 tsc_khz = cpu_khz; 258 tsc_khz = cpu_khz;
259 preempt_disable(); 259 set_cyc2ns_scale(cpu_khz, freq->cpu);
260 set_cyc2ns_scale(cpu_khz, smp_processor_id());
261 preempt_enable();
262 /* 260 /*
263 * TSC based sched_clock turns 261 * TSC based sched_clock turns
264 * to junk w/ cpufreq 262 * to junk w/ cpufreq
diff --git a/arch/x86/kernel/tsc_64.c b/arch/x86/kernel/tsc_64.c
index 947554ddabb..d3bebaaad84 100644
--- a/arch/x86/kernel/tsc_64.c
+++ b/arch/x86/kernel/tsc_64.c
@@ -148,9 +148,7 @@ static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
148 mark_tsc_unstable("cpufreq changes"); 148 mark_tsc_unstable("cpufreq changes");
149 } 149 }
150 150
151 preempt_disable(); 151 set_cyc2ns_scale(tsc_khz_ref, freq->cpu);
152 set_cyc2ns_scale(tsc_khz_ref, smp_processor_id());
153 preempt_enable();
154 152
155 return 0; 153 return 0;
156} 154}
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/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/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..27ee26aedf9 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)
@@ -666,10 +667,10 @@ static void xen_release_pt_init(u32 pfn)
666 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn))); 667 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
667} 668}
668 669
669static void pin_pagetable_pfn(unsigned level, unsigned long pfn) 670static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
670{ 671{
671 struct mmuext_op op; 672 struct mmuext_op op;
672 op.cmd = level; 673 op.cmd = cmd;
673 op.arg1.mfn = pfn_to_mfn(pfn); 674 op.arg1.mfn = pfn_to_mfn(pfn);
674 if (HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF)) 675 if (HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF))
675 BUG(); 676 BUG();
@@ -686,7 +687,8 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
686 687
687 if (!PageHighMem(page)) { 688 if (!PageHighMem(page)) {
688 make_lowmem_page_readonly(__va(PFN_PHYS(pfn))); 689 make_lowmem_page_readonly(__va(PFN_PHYS(pfn)));
689 pin_pagetable_pfn(level, pfn); 690 if (level == PT_PTE)
691 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn);
690 } else 692 } else
691 /* make sure there are no stray mappings of 693 /* make sure there are no stray mappings of
692 this page */ 694 this page */
@@ -696,27 +698,39 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
696 698
697static void xen_alloc_pt(struct mm_struct *mm, u32 pfn) 699static void xen_alloc_pt(struct mm_struct *mm, u32 pfn)
698{ 700{
699 xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L1_TABLE); 701 xen_alloc_ptpage(mm, pfn, PT_PTE);
700} 702}
701 703
702static void xen_alloc_pd(struct mm_struct *mm, u32 pfn) 704static void xen_alloc_pd(struct mm_struct *mm, u32 pfn)
703{ 705{
704 xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L2_TABLE); 706 xen_alloc_ptpage(mm, pfn, PT_PMD);
705} 707}
706 708
707/* This should never happen until we're OK to use struct page */ 709/* This should never happen until we're OK to use struct page */
708static void xen_release_pt(u32 pfn) 710static void xen_release_ptpage(u32 pfn, unsigned level)
709{ 711{
710 struct page *page = pfn_to_page(pfn); 712 struct page *page = pfn_to_page(pfn);
711 713
712 if (PagePinned(page)) { 714 if (PagePinned(page)) {
713 if (!PageHighMem(page)) { 715 if (!PageHighMem(page)) {
714 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn); 716 if (level == PT_PTE)
717 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
715 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn))); 718 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
716 } 719 }
720 ClearPagePinned(page);
717 } 721 }
718} 722}
719 723
724static void xen_release_pt(u32 pfn)
725{
726 xen_release_ptpage(pfn, PT_PTE);
727}
728
729static void xen_release_pd(u32 pfn)
730{
731 xen_release_ptpage(pfn, PT_PMD);
732}
733
720#ifdef CONFIG_HIGHPTE 734#ifdef CONFIG_HIGHPTE
721static void *xen_kmap_atomic_pte(struct page *page, enum km_type type) 735static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
722{ 736{
@@ -805,33 +819,43 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
805 PFN_DOWN(__pa(xen_start_info->pt_base))); 819 PFN_DOWN(__pa(xen_start_info->pt_base)));
806} 820}
807 821
808static __init void xen_pagetable_setup_done(pgd_t *base) 822static __init void setup_shared_info(void)
809{ 823{
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)) { 824 if (!xen_feature(XENFEAT_auto_translated_physmap)) {
825 unsigned long addr = fix_to_virt(FIX_PARAVIRT_BOOTMAP);
826
819 /* 827 /*
820 * Create a mapping for the shared info page. 828 * Create a mapping for the shared info page.
821 * Should be set_fixmap(), but shared_info is a machine 829 * Should be set_fixmap(), but shared_info is a machine
822 * address with no corresponding pseudo-phys address. 830 * address with no corresponding pseudo-phys address.
823 */ 831 */
824 set_pte_mfn(fix_to_virt(FIX_PARAVIRT_BOOTMAP), 832 set_pte_mfn(addr,
825 PFN_DOWN(xen_start_info->shared_info), 833 PFN_DOWN(xen_start_info->shared_info),
826 PAGE_KERNEL); 834 PAGE_KERNEL);
827 835
828 HYPERVISOR_shared_info = 836 HYPERVISOR_shared_info = (struct shared_info *)addr;
829 (struct shared_info *)fix_to_virt(FIX_PARAVIRT_BOOTMAP);
830
831 } else 837 } else
832 HYPERVISOR_shared_info = 838 HYPERVISOR_shared_info =
833 (struct shared_info *)__va(xen_start_info->shared_info); 839 (struct shared_info *)__va(xen_start_info->shared_info);
834 840
841#ifndef CONFIG_SMP
842 /* In UP this is as good a place as any to set up shared info */
843 xen_setup_vcpu_info_placement();
844#endif
845}
846
847static __init void xen_pagetable_setup_done(pgd_t *base)
848{
849 /* This will work as long as patching hasn't happened yet
850 (which it hasn't) */
851 pv_mmu_ops.alloc_pt = xen_alloc_pt;
852 pv_mmu_ops.alloc_pd = xen_alloc_pd;
853 pv_mmu_ops.release_pt = xen_release_pt;
854 pv_mmu_ops.release_pd = xen_release_pd;
855 pv_mmu_ops.set_pte = xen_set_pte;
856
857 setup_shared_info();
858
835 /* Actually pin the pagetable down, but we can't set PG_pinned 859 /* Actually pin the pagetable down, but we can't set PG_pinned
836 yet because the page structures don't exist yet. */ 860 yet because the page structures don't exist yet. */
837 { 861 {
@@ -1182,15 +1206,9 @@ asmlinkage void __init xen_start_kernel(void)
1182 x86_write_percpu(xen_cr3, __pa(pgd)); 1206 x86_write_percpu(xen_cr3, __pa(pgd));
1183 x86_write_percpu(xen_current_cr3, __pa(pgd)); 1207 x86_write_percpu(xen_current_cr3, __pa(pgd));
1184 1208
1185#ifdef CONFIG_SMP
1186 /* Don't do the full vcpu_info placement stuff until we have a 1209 /* Don't do the full vcpu_info placement stuff until we have a
1187 possible map. */ 1210 possible map and a non-dummy shared_info. */
1188 per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; 1211 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 1212
1195 pv_info.kernel_rpl = 1; 1213 pv_info.kernel_rpl = 1;
1196 if (xen_feature(XENFEAT_supervisor_mode_kernel)) 1214 if (xen_feature(XENFEAT_supervisor_mode_kernel))
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 0144395448a..2a054ef2a3d 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -310,13 +310,6 @@ pgd_t xen_make_pgd(unsigned long pgd)
310} 310}
311#endif /* CONFIG_X86_PAE */ 311#endif /* CONFIG_X86_PAE */
312 312
313enum pt_level {
314 PT_PGD,
315 PT_PUD,
316 PT_PMD,
317 PT_PTE
318};
319
320/* 313/*
321 (Yet another) pagetable walker. This one is intended for pinning a 314 (Yet another) pagetable walker. This one is intended for pinning a
322 pagetable. This means that it walks a pagetable and calls the 315 pagetable. This means that it walks a pagetable and calls the
diff --git a/arch/x86/xen/mmu.h b/arch/x86/xen/mmu.h
index c9ff27f3ac3..b5e189b1519 100644
--- a/arch/x86/xen/mmu.h
+++ b/arch/x86/xen/mmu.h
@@ -3,6 +3,13 @@
3#include <linux/linkage.h> 3#include <linux/linkage.h>
4#include <asm/page.h> 4#include <asm/page.h>
5 5
6enum pt_level {
7 PT_PGD,
8 PT_PUD,
9 PT_PMD,
10 PT_PTE
11};
12
6/* 13/*
7 * Page-directory addresses above 4GB do not fit into architectural %cr3. 14 * Page-directory addresses above 4GB do not fit into architectural %cr3.
8 * When accessing %cr3, or equivalent field in vcpu_guest_context, guests 15 * When accessing %cr3, or equivalent field in vcpu_guest_context, guests
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..f4e1006c253 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);
1162 1169
1163 return called; 1170 if (ioc_gone && !elv_ioc_count_read(ioc_count))
1171 complete(ioc_gone);
1172}
1173
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)
@@ -1207,6 +1214,8 @@ static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
1207static void __cfq_exit_single_io_context(struct cfq_data *cfqd, 1214static void __cfq_exit_single_io_context(struct cfq_data *cfqd,
1208 struct cfq_io_context *cic) 1215 struct cfq_io_context *cic)
1209{ 1216{
1217 struct io_context *ioc = cic->ioc;
1218
1210 list_del_init(&cic->queue_list); 1219 list_del_init(&cic->queue_list);
1211 1220
1212 /* 1221 /*
@@ -1216,6 +1225,9 @@ static void __cfq_exit_single_io_context(struct cfq_data *cfqd,
1216 cic->dead_key = (unsigned long) cic->key; 1225 cic->dead_key = (unsigned long) cic->key;
1217 cic->key = NULL; 1226 cic->key = NULL;
1218 1227
1228 if (ioc->ioc_data == cic)
1229 rcu_assign_pointer(ioc->ioc_data, NULL);
1230
1219 if (cic->cfqq[ASYNC]) { 1231 if (cic->cfqq[ASYNC]) {
1220 cfq_exit_cfqq(cfqd, cic->cfqq[ASYNC]); 1232 cfq_exit_cfqq(cfqd, cic->cfqq[ASYNC]);
1221 cic->cfqq[ASYNC] = NULL; 1233 cic->cfqq[ASYNC] = NULL;
@@ -1248,7 +1260,6 @@ static void cfq_exit_single_io_context(struct io_context *ioc,
1248 */ 1260 */
1249static void cfq_exit_io_context(struct io_context *ioc) 1261static void cfq_exit_io_context(struct io_context *ioc)
1250{ 1262{
1251 rcu_assign_pointer(ioc->ioc_data, NULL);
1252 call_for_each_cic(ioc, cfq_exit_single_io_context); 1263 call_for_each_cic(ioc, cfq_exit_single_io_context);
1253} 1264}
1254 1265
@@ -1458,15 +1469,6 @@ cfq_get_queue(struct cfq_data *cfqd, int is_sync, struct io_context *ioc,
1458 return cfqq; 1469 return cfqq;
1459} 1470}
1460 1471
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/* 1472/*
1471 * We drop cfq io contexts lazily, so we may find a dead one. 1473 * We drop cfq io contexts lazily, so we may find a dead one.
1472 */ 1474 */
@@ -1480,8 +1482,7 @@ cfq_drop_dead_cic(struct cfq_data *cfqd, struct io_context *ioc,
1480 1482
1481 spin_lock_irqsave(&ioc->lock, flags); 1483 spin_lock_irqsave(&ioc->lock, flags);
1482 1484
1483 if (ioc->ioc_data == cic) 1485 BUG_ON(ioc->ioc_data == cic);
1484 rcu_assign_pointer(ioc->ioc_data, NULL);
1485 1486
1486 radix_tree_delete(&ioc->radix_root, (unsigned long) cfqd); 1487 radix_tree_delete(&ioc->radix_root, (unsigned long) cfqd);
1487 hlist_del_rcu(&cic->cic_list); 1488 hlist_del_rcu(&cic->cic_list);
@@ -2138,7 +2139,7 @@ static int __init cfq_slab_setup(void)
2138 if (!cfq_pool) 2139 if (!cfq_pool)
2139 goto fail; 2140 goto fail;
2140 2141
2141 cfq_ioc_pool = KMEM_CACHE(cfq_io_context, SLAB_DESTROY_BY_RCU); 2142 cfq_ioc_pool = KMEM_CACHE(cfq_io_context, 0);
2142 if (!cfq_ioc_pool) 2143 if (!cfq_ioc_pool)
2143 goto fail; 2144 goto fail;
2144 2145
@@ -2286,7 +2287,6 @@ static void __exit cfq_exit(void)
2286 smp_wmb(); 2287 smp_wmb();
2287 if (elv_ioc_count_read(ioc_count)) 2288 if (elv_ioc_count_read(ioc_count))
2288 wait_for_completion(ioc_gone); 2289 wait_for_completion(ioc_gone);
2289 synchronize_rcu();
2290 cfq_slab_kill(); 2290 cfq_slab_kill();
2291} 2291}
2292 2292
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/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_core.c b/drivers/acpi/processor_core.c
index 36a68fa114e..a825b431b64 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -822,7 +822,7 @@ static int acpi_processor_remove(struct acpi_device *device, int type)
822 } 822 }
823 823
824 processors[pr->id] = NULL; 824 processors[pr->id] = NULL;
825 825 processor_device_array[pr->id] = NULL;
826 kfree(pr); 826 kfree(pr);
827 827
828 return 0; 828 return 0;
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index e8e2d886923..788da9781f8 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
1487 return 0; 1487 return 0;
1488 } 1488 }
1489 1489
1490 acpi_unlazy_tlb(smp_processor_id());
1491 /* 1490 /*
1492 * Must be done before busmaster disable as we might need to 1491 * Must be done before busmaster disable as we might need to
1493 * access HPET ! 1492 * access HPET !
@@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
1577 return 0; 1576 return 0;
1578 } 1577 }
1579 1578
1579 acpi_unlazy_tlb(smp_processor_id());
1580
1580 /* Tell the scheduler that we are going deep-idle: */ 1581 /* Tell the scheduler that we are going deep-idle: */
1581 sched_clock_idle_sleep_event(); 1582 sched_clock_idle_sleep_event();
1582 /* 1583 /*
@@ -1692,7 +1693,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr)
1692 switch (cx->type) { 1693 switch (cx->type) {
1693 case ACPI_STATE_C1: 1694 case ACPI_STATE_C1:
1694 state->flags |= CPUIDLE_FLAG_SHALLOW; 1695 state->flags |= CPUIDLE_FLAG_SHALLOW;
1695 state->flags |= CPUIDLE_FLAG_TIME_VALID; 1696 if (cx->entry_method == ACPI_CSTATE_FFH)
1697 state->flags |= CPUIDLE_FLAG_TIME_VALID;
1698
1696 state->enter = acpi_idle_enter_c1; 1699 state->enter = acpi_idle_enter_c1;
1697 dev->safe_state = state; 1700 dev->safe_state = state;
1698 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/thermal.c b/drivers/acpi/thermal.c
index c4e00ac8ea8..1bcecc7dd2c 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -1125,7 +1125,7 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
1125 tz->trips.active[i].flags.valid; i++, trips++); 1125 tz->trips.active[i].flags.valid; i++, trips++);
1126 tz->thermal_zone = thermal_zone_device_register("ACPI thermal zone", 1126 tz->thermal_zone = thermal_zone_device_register("ACPI thermal zone",
1127 trips, tz, &acpi_thermal_zone_ops); 1127 trips, tz, &acpi_thermal_zone_ops);
1128 if (!tz->thermal_zone) 1128 if (IS_ERR(tz->thermal_zone))
1129 return -ENODEV; 1129 return -ENODEV;
1130 1130
1131 result = sysfs_create_link(&tz->device->dev.kobj, 1131 result = sysfs_create_link(&tz->device->dev.kobj,
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 12fb44f1676..980a7418878 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -713,7 +713,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
713 713
714 kfree(obj); 714 kfree(obj);
715 715
716 if (device->cap._BCL && device->cap._BCM && max_level > 0) { 716 if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){
717 int result; 717 int result;
718 static int count = 0; 718 static int count = 0;
719 char *name; 719 char *name;
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..be95fdb6972 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -326,6 +326,44 @@ static void ata_force_horkage(struct ata_device *dev)
326} 326}
327 327
328/** 328/**
329 * atapi_cmd_type - Determine ATAPI command type from SCSI opcode
330 * @opcode: SCSI opcode
331 *
332 * Determine ATAPI command type from @opcode.
333 *
334 * LOCKING:
335 * None.
336 *
337 * RETURNS:
338 * ATAPI_{READ|WRITE|READ_CD|PASS_THRU|MISC}
339 */
340int atapi_cmd_type(u8 opcode)
341{
342 switch (opcode) {
343 case GPCMD_READ_10:
344 case GPCMD_READ_12:
345 return ATAPI_READ;
346
347 case GPCMD_WRITE_10:
348 case GPCMD_WRITE_12:
349 case GPCMD_WRITE_AND_VERIFY_10:
350 return ATAPI_WRITE;
351
352 case GPCMD_READ_CD:
353 case GPCMD_READ_CD_MSF:
354 return ATAPI_READ_CD;
355
356 case ATA_16:
357 case ATA_12:
358 if (atapi_passthru16)
359 return ATAPI_PASS_THRU;
360 /* fall thru */
361 default:
362 return ATAPI_MISC;
363 }
364}
365
366/**
329 * ata_tf_to_fis - Convert ATA taskfile to SATA FIS structure 367 * ata_tf_to_fis - Convert ATA taskfile to SATA FIS structure
330 * @tf: Taskfile to convert 368 * @tf: Taskfile to convert
331 * @pmp: Port multiplier port 369 * @pmp: Port multiplier port
@@ -972,7 +1010,7 @@ static void ata_dev_disable_pm(struct ata_device *dev)
972void ata_lpm_schedule(struct ata_port *ap, enum link_pm policy) 1010void ata_lpm_schedule(struct ata_port *ap, enum link_pm policy)
973{ 1011{
974 ap->pm_policy = policy; 1012 ap->pm_policy = policy;
975 ap->link.eh_info.action |= ATA_EHI_LPM; 1013 ap->link.eh_info.action |= ATA_EH_LPM;
976 ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY; 1014 ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY;
977 ata_port_schedule_eh(ap); 1015 ata_port_schedule_eh(ap);
978} 1016}
@@ -1416,12 +1454,12 @@ static int ata_hpa_resize(struct ata_device *dev)
1416 /* read native max address */ 1454 /* read native max address */
1417 rc = ata_read_native_max_address(dev, &native_sectors); 1455 rc = ata_read_native_max_address(dev, &native_sectors);
1418 if (rc) { 1456 if (rc) {
1419 /* If HPA isn't going to be unlocked, skip HPA 1457 /* If device aborted the command or HPA isn't going to
1420 * resizing from the next try. 1458 * be unlocked, skip HPA resizing.
1421 */ 1459 */
1422 if (!ata_ignore_hpa) { 1460 if (rc == -EACCES || !ata_ignore_hpa) {
1423 ata_dev_printk(dev, KERN_WARNING, "HPA support seems " 1461 ata_dev_printk(dev, KERN_WARNING, "HPA support seems "
1424 "broken, will skip HPA handling\n"); 1462 "broken, skipping HPA handling\n");
1425 dev->horkage |= ATA_HORKAGE_BROKEN_HPA; 1463 dev->horkage |= ATA_HORKAGE_BROKEN_HPA;
1426 1464
1427 /* we can continue if device aborted the command */ 1465 /* we can continue if device aborted the command */
@@ -2092,24 +2130,34 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
2092 id, sizeof(id[0]) * ATA_ID_WORDS, 0); 2130 id, sizeof(id[0]) * ATA_ID_WORDS, 0);
2093 if (err_mask) { 2131 if (err_mask) {
2094 if (err_mask & AC_ERR_NODEV_HINT) { 2132 if (err_mask & AC_ERR_NODEV_HINT) {
2095 DPRINTK("ata%u.%d: NODEV after polling detection\n", 2133 ata_dev_printk(dev, KERN_DEBUG,
2096 ap->print_id, dev->devno); 2134 "NODEV after polling detection\n");
2097 return -ENOENT; 2135 return -ENOENT;
2098 } 2136 }
2099 2137
2100 /* Device or controller might have reported the wrong 2138 if ((err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) {
2101 * device class. Give a shot at the other IDENTIFY if 2139 /* Device or controller might have reported
2102 * the current one is aborted by the device. 2140 * the wrong device class. Give a shot at the
2103 */ 2141 * other IDENTIFY if the current one is
2104 if (may_fallback && 2142 * aborted by the device.
2105 (err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) { 2143 */
2106 may_fallback = 0; 2144 if (may_fallback) {
2145 may_fallback = 0;
2107 2146
2108 if (class == ATA_DEV_ATA) 2147 if (class == ATA_DEV_ATA)
2109 class = ATA_DEV_ATAPI; 2148 class = ATA_DEV_ATAPI;
2110 else 2149 else
2111 class = ATA_DEV_ATA; 2150 class = ATA_DEV_ATA;
2112 goto retry; 2151 goto retry;
2152 }
2153
2154 /* Control reaches here iff the device aborted
2155 * both flavors of IDENTIFYs which happens
2156 * sometimes with phantom devices.
2157 */
2158 ata_dev_printk(dev, KERN_DEBUG,
2159 "both IDENTIFYs aborted, assuming NODEV\n");
2160 return -ENOENT;
2113 } 2161 }
2114 2162
2115 rc = -EIO; 2163 rc = -EIO;
@@ -2650,7 +2698,7 @@ int ata_bus_probe(struct ata_port *ap)
2650 specific sequence bass-ackwards so that PDIAG- is released by 2698 specific sequence bass-ackwards so that PDIAG- is released by
2651 the slave device */ 2699 the slave device */
2652 2700
2653 ata_link_for_each_dev(dev, &ap->link) { 2701 ata_link_for_each_dev_reverse(dev, &ap->link) {
2654 if (tries[dev->devno]) 2702 if (tries[dev->devno])
2655 dev->class = classes[dev->devno]; 2703 dev->class = classes[dev->devno];
2656 2704
@@ -7764,6 +7812,7 @@ EXPORT_SYMBOL_GPL(ata_tf_read);
7764EXPORT_SYMBOL_GPL(ata_noop_dev_select); 7812EXPORT_SYMBOL_GPL(ata_noop_dev_select);
7765EXPORT_SYMBOL_GPL(ata_std_dev_select); 7813EXPORT_SYMBOL_GPL(ata_std_dev_select);
7766EXPORT_SYMBOL_GPL(sata_print_link_status); 7814EXPORT_SYMBOL_GPL(sata_print_link_status);
7815EXPORT_SYMBOL_GPL(atapi_cmd_type);
7767EXPORT_SYMBOL_GPL(ata_tf_to_fis); 7816EXPORT_SYMBOL_GPL(ata_tf_to_fis);
7768EXPORT_SYMBOL_GPL(ata_tf_from_fis); 7817EXPORT_SYMBOL_GPL(ata_tf_from_fis);
7769EXPORT_SYMBOL_GPL(ata_pack_xfermask); 7818EXPORT_SYMBOL_GPL(ata_pack_xfermask);
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_ali.c b/drivers/ata/pata_ali.c
index 8786455c901..ce830fe3a36 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -36,6 +36,10 @@
36#define DRV_NAME "pata_ali" 36#define DRV_NAME "pata_ali"
37#define DRV_VERSION "0.7.5" 37#define DRV_VERSION "0.7.5"
38 38
39int ali_atapi_dma = 0;
40module_param_named(atapi_dma, ali_atapi_dma, int, 0644);
41MODULE_PARM_DESC(atapi_dma, "Enable ATAPI DMA (0=disable, 1=enable)");
42
39/* 43/*
40 * Cable special cases 44 * Cable special cases
41 */ 45 */
@@ -270,6 +274,27 @@ static void ali_set_dmamode(struct ata_port *ap, struct ata_device *adev)
270} 274}
271 275
272/** 276/**
277 * ali_warn_atapi_dma - Warn about ATAPI DMA disablement
278 * @adev: Device
279 *
280 * Whine about ATAPI DMA disablement if @adev is an ATAPI device.
281 * Can be used as ->dev_config.
282 */
283
284static void ali_warn_atapi_dma(struct ata_device *adev)
285{
286 struct ata_eh_context *ehc = &adev->link->eh_context;
287 int print_info = ehc->i.flags & ATA_EHI_PRINTINFO;
288
289 if (print_info && adev->class == ATA_DEV_ATAPI && !ali_atapi_dma) {
290 ata_dev_printk(adev, KERN_WARNING,
291 "WARNING: ATAPI DMA disabled for reliablity issues. It can be enabled\n");
292 ata_dev_printk(adev, KERN_WARNING,
293 "WARNING: via pata_ali.atapi_dma modparam or corresponding sysfs node.\n");
294 }
295}
296
297/**
273 * ali_lock_sectors - Keep older devices to 255 sector mode 298 * ali_lock_sectors - Keep older devices to 255 sector mode
274 * @adev: Device 299 * @adev: Device
275 * 300 *
@@ -283,6 +308,7 @@ static void ali_set_dmamode(struct ata_port *ap, struct ata_device *adev)
283static void ali_lock_sectors(struct ata_device *adev) 308static void ali_lock_sectors(struct ata_device *adev)
284{ 309{
285 adev->max_sectors = 255; 310 adev->max_sectors = 255;
311 ali_warn_atapi_dma(adev);
286} 312}
287 313
288/** 314/**
@@ -294,6 +320,18 @@ static void ali_lock_sectors(struct ata_device *adev)
294 320
295static int ali_check_atapi_dma(struct ata_queued_cmd *qc) 321static int ali_check_atapi_dma(struct ata_queued_cmd *qc)
296{ 322{
323 if (!ali_atapi_dma) {
324 /* FIXME: pata_ali can't do ATAPI DMA reliably but the
325 * IDE alim15x3 driver can. I tried lots of things
326 * but couldn't find what the actual difference was.
327 * If you got an idea, please write it to
328 * linux-ide@vger.kernel.org and cc htejun@gmail.com.
329 *
330 * Disable ATAPI DMA for now.
331 */
332 return -EOPNOTSUPP;
333 }
334
297 /* If its not a media command, its not worth it */ 335 /* If its not a media command, its not worth it */
298 if (atapi_cmd_type(qc->cdb[0]) == ATAPI_MISC) 336 if (atapi_cmd_type(qc->cdb[0]) == ATAPI_MISC)
299 return -EOPNOTSUPP; 337 return -EOPNOTSUPP;
@@ -359,6 +397,7 @@ static struct ata_port_operations ali_20_port_ops = {
359 397
360 .tf_load = ata_tf_load, 398 .tf_load = ata_tf_load,
361 .tf_read = ata_tf_read, 399 .tf_read = ata_tf_read,
400 .check_atapi_dma = ali_check_atapi_dma,
362 .check_status = ata_check_status, 401 .check_status = ata_check_status,
363 .exec_command = ata_exec_command, 402 .exec_command = ata_exec_command,
364 .dev_select = ata_std_dev_select, 403 .dev_select = ata_std_dev_select,
@@ -438,6 +477,7 @@ static struct ata_port_operations ali_c5_port_ops = {
438 .check_status = ata_check_status, 477 .check_status = ata_check_status,
439 .exec_command = ata_exec_command, 478 .exec_command = ata_exec_command,
440 .dev_select = ata_std_dev_select, 479 .dev_select = ata_std_dev_select,
480 .dev_config = ali_warn_atapi_dma,
441 481
442 .freeze = ata_bmdma_freeze, 482 .freeze = ata_bmdma_freeze,
443 .thaw = ata_bmdma_thaw, 483 .thaw = ata_bmdma_thaw,
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..7c5b2dd9a1a 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_MERGE
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_fsl.c b/drivers/ata/sata_fsl.c
index 07791a7a48a..9d1e3cad4aa 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1256,7 +1256,6 @@ static int sata_fsl_probe(struct of_device *ofdev,
1256 void __iomem *ssr_base = NULL; 1256 void __iomem *ssr_base = NULL;
1257 void __iomem *csr_base = NULL; 1257 void __iomem *csr_base = NULL;
1258 struct sata_fsl_host_priv *host_priv = NULL; 1258 struct sata_fsl_host_priv *host_priv = NULL;
1259 struct resource *r;
1260 int irq; 1259 int irq;
1261 struct ata_host *host; 1260 struct ata_host *host;
1262 1261
@@ -1266,8 +1265,6 @@ static int sata_fsl_probe(struct of_device *ofdev,
1266 dev_printk(KERN_INFO, &ofdev->dev, 1265 dev_printk(KERN_INFO, &ofdev->dev,
1267 "Sata FSL Platform/CSB Driver init\n"); 1266 "Sata FSL Platform/CSB Driver init\n");
1268 1267
1269 r = kmalloc(sizeof(struct resource), GFP_KERNEL);
1270
1271 hcr_base = of_iomap(ofdev->node, 0); 1268 hcr_base = of_iomap(ofdev->node, 0);
1272 if (!hcr_base) 1269 if (!hcr_base)
1273 goto error_exit_with_cleanup; 1270 goto error_exit_with_cleanup;
@@ -1348,10 +1345,7 @@ static int sata_fsl_remove(struct of_device *ofdev)
1348 1345
1349static struct of_device_id fsl_sata_match[] = { 1346static struct of_device_id fsl_sata_match[] = {
1350 { 1347 {
1351 .compatible = "fsl,mpc8315-sata", 1348 .compatible = "fsl,pq-sata",
1352 },
1353 {
1354 .compatible = "fsl,mpc8379-sata",
1355 }, 1349 },
1356 {}, 1350 {},
1357}; 1351};
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/atm/firestream.c b/drivers/atm/firestream.c
index 47c57a4294b..98099f526d8 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -978,6 +978,7 @@ static int fs_open(struct atm_vcc *atm_vcc)
978 /* Docs are vague about this atm_hdr field. By the way, the FS 978 /* Docs are vague about this atm_hdr field. By the way, the FS
979 * chip makes odd errors if lower bits are set.... -- REW */ 979 * chip makes odd errors if lower bits are set.... -- REW */
980 tc->atm_hdr = (vpi << 20) | (vci << 4); 980 tc->atm_hdr = (vpi << 20) | (vci << 4);
981 tmc0 = 0;
981 { 982 {
982 int pcr = atm_pcr_goal (txtp); 983 int pcr = atm_pcr_goal (txtp);
983 984
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index 2e3395b7e8c..ffc4a5a4194 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -3000,8 +3000,7 @@ he_proc_read(struct atm_dev *dev, loff_t *pos, char *page)
3000 3000
3001/* eeprom routines -- see 4.7 */ 3001/* eeprom routines -- see 4.7 */
3002 3002
3003u8 3003static u8 read_prom_byte(struct he_dev *he_dev, int addr)
3004read_prom_byte(struct he_dev *he_dev, int addr)
3005{ 3004{
3006 u32 val = 0, tmp_read = 0; 3005 u32 val = 0, tmp_read = 0;
3007 int i, j = 0; 3006 int i, j = 0;
diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
index b967919fb7e..28d77b5195d 100644
--- a/drivers/atm/idt77252.c
+++ b/drivers/atm/idt77252.c
@@ -2016,8 +2016,7 @@ idt77252_send_skb(struct atm_vcc *vcc, struct sk_buff *skb, int oam)
2016 return 0; 2016 return 0;
2017} 2017}
2018 2018
2019int 2019static int idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
2020idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
2021{ 2020{
2022 return idt77252_send_skb(vcc, skb, 0); 2021 return idt77252_send_skb(vcc, skb, 0);
2023} 2022}
@@ -3072,8 +3071,7 @@ idt77252_dev_open(struct idt77252_dev *card)
3072 return 0; 3071 return 0;
3073} 3072}
3074 3073
3075void 3074static void idt77252_dev_close(struct atm_dev *dev)
3076idt77252_dev_close(struct atm_dev *dev)
3077{ 3075{
3078 struct idt77252_dev *card = dev->dev_data; 3076 struct idt77252_dev *card = dev->dev_data;
3079 u32 conf; 3077 u32 conf;
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index ef52452640e..670c093ed25 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c
@@ -958,6 +958,7 @@ static void ia_suni_pm7345_init (IADEV *iadev)
958 958
959/***************************** IA_LIB END *****************************/ 959/***************************** IA_LIB END *****************************/
960 960
961#ifdef CONFIG_ATM_IA_DEBUG
961static int tcnter = 0; 962static int tcnter = 0;
962static void xdump( u_char* cp, int length, char* prefix ) 963static void xdump( u_char* cp, int length, char* prefix )
963{ 964{
@@ -992,6 +993,7 @@ static void xdump( u_char* cp, int length, char* prefix )
992 } 993 }
993 994
994} /* close xdump(... */ 995} /* close xdump(... */
996#endif /* CONFIG_ATM_IA_DEBUG */
995 997
996 998
997static struct atm_dev *ia_boards = NULL; 999static struct atm_dev *ia_boards = NULL;
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/cciss.c b/drivers/block/cciss.c
index 55bd35c0f08..9c9627e8e33 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -50,6 +50,7 @@
50#include <scsi/sg.h> 50#include <scsi/sg.h>
51#include <scsi/scsi_ioctl.h> 51#include <scsi/scsi_ioctl.h>
52#include <linux/cdrom.h> 52#include <linux/cdrom.h>
53#include <linux/scatterlist.h>
53 54
54#define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin)) 55#define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin))
55#define DRIVER_NAME "HP CISS Driver (v 3.6.14)" 56#define DRIVER_NAME "HP CISS Driver (v 3.6.14)"
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/ub.c b/drivers/block/ub.c
index c452e2d355e..27bfe72aab5 100644
--- a/drivers/block/ub.c
+++ b/drivers/block/ub.c
@@ -8,6 +8,7 @@
8 * and is not licensed separately. See file COPYING for details. 8 * and is not licensed separately. See file COPYING for details.
9 * 9 *
10 * TODO (sorted by decreasing priority) 10 * TODO (sorted by decreasing priority)
11 * -- Return sense now that rq allows it (we always auto-sense anyway).
11 * -- set readonly flag for CDs, set removable flag for CF readers 12 * -- set readonly flag for CDs, set removable flag for CF readers
12 * -- do inquiry and verify we got a disk and not a tape (for LUN mismatch) 13 * -- do inquiry and verify we got a disk and not a tape (for LUN mismatch)
13 * -- verify the 13 conditions and do bulk resets 14 * -- verify the 13 conditions and do bulk resets
@@ -359,7 +360,8 @@ static void ub_cmd_build_block(struct ub_dev *sc, struct ub_lun *lun,
359static void ub_cmd_build_packet(struct ub_dev *sc, struct ub_lun *lun, 360static void ub_cmd_build_packet(struct ub_dev *sc, struct ub_lun *lun,
360 struct ub_scsi_cmd *cmd, struct ub_request *urq); 361 struct ub_scsi_cmd *cmd, struct ub_request *urq);
361static void ub_rw_cmd_done(struct ub_dev *sc, struct ub_scsi_cmd *cmd); 362static void ub_rw_cmd_done(struct ub_dev *sc, struct ub_scsi_cmd *cmd);
362static void ub_end_rq(struct request *rq, unsigned int status); 363static void ub_end_rq(struct request *rq, unsigned int status,
364 unsigned int cmd_len);
363static int ub_rw_cmd_retry(struct ub_dev *sc, struct ub_lun *lun, 365static int ub_rw_cmd_retry(struct ub_dev *sc, struct ub_lun *lun,
364 struct ub_request *urq, struct ub_scsi_cmd *cmd); 366 struct ub_request *urq, struct ub_scsi_cmd *cmd);
365static int ub_submit_scsi(struct ub_dev *sc, struct ub_scsi_cmd *cmd); 367static int ub_submit_scsi(struct ub_dev *sc, struct ub_scsi_cmd *cmd);
@@ -642,13 +644,13 @@ static int ub_request_fn_1(struct ub_lun *lun, struct request *rq)
642 644
643 if (atomic_read(&sc->poison)) { 645 if (atomic_read(&sc->poison)) {
644 blkdev_dequeue_request(rq); 646 blkdev_dequeue_request(rq);
645 ub_end_rq(rq, DID_NO_CONNECT << 16); 647 ub_end_rq(rq, DID_NO_CONNECT << 16, blk_rq_bytes(rq));
646 return 0; 648 return 0;
647 } 649 }
648 650
649 if (lun->changed && !blk_pc_request(rq)) { 651 if (lun->changed && !blk_pc_request(rq)) {
650 blkdev_dequeue_request(rq); 652 blkdev_dequeue_request(rq);
651 ub_end_rq(rq, SAM_STAT_CHECK_CONDITION); 653 ub_end_rq(rq, SAM_STAT_CHECK_CONDITION, blk_rq_bytes(rq));
652 return 0; 654 return 0;
653 } 655 }
654 656
@@ -701,7 +703,7 @@ static int ub_request_fn_1(struct ub_lun *lun, struct request *rq)
701 703
702drop: 704drop:
703 ub_put_cmd(lun, cmd); 705 ub_put_cmd(lun, cmd);
704 ub_end_rq(rq, DID_ERROR << 16); 706 ub_end_rq(rq, DID_ERROR << 16, blk_rq_bytes(rq));
705 return 0; 707 return 0;
706} 708}
707 709
@@ -770,6 +772,7 @@ static void ub_rw_cmd_done(struct ub_dev *sc, struct ub_scsi_cmd *cmd)
770 struct ub_request *urq = cmd->back; 772 struct ub_request *urq = cmd->back;
771 struct request *rq; 773 struct request *rq;
772 unsigned int scsi_status; 774 unsigned int scsi_status;
775 unsigned int cmd_len;
773 776
774 rq = urq->rq; 777 rq = urq->rq;
775 778
@@ -779,8 +782,18 @@ static void ub_rw_cmd_done(struct ub_dev *sc, struct ub_scsi_cmd *cmd)
779 rq->data_len = 0; 782 rq->data_len = 0;
780 else 783 else
781 rq->data_len -= cmd->act_len; 784 rq->data_len -= cmd->act_len;
785 scsi_status = 0;
786 } else {
787 if (cmd->act_len != cmd->len) {
788 if ((cmd->key == MEDIUM_ERROR ||
789 cmd->key == UNIT_ATTENTION) &&
790 ub_rw_cmd_retry(sc, lun, urq, cmd) == 0)
791 return;
792 scsi_status = SAM_STAT_CHECK_CONDITION;
793 } else {
794 scsi_status = 0;
795 }
782 } 796 }
783 scsi_status = 0;
784 } else { 797 } else {
785 if (blk_pc_request(rq)) { 798 if (blk_pc_request(rq)) {
786 /* UB_SENSE_SIZE is smaller than SCSI_SENSE_BUFFERSIZE */ 799 /* UB_SENSE_SIZE is smaller than SCSI_SENSE_BUFFERSIZE */
@@ -801,14 +814,17 @@ static void ub_rw_cmd_done(struct ub_dev *sc, struct ub_scsi_cmd *cmd)
801 814
802 urq->rq = NULL; 815 urq->rq = NULL;
803 816
817 cmd_len = cmd->len;
804 ub_put_cmd(lun, cmd); 818 ub_put_cmd(lun, cmd);
805 ub_end_rq(rq, scsi_status); 819 ub_end_rq(rq, scsi_status, cmd_len);
806 blk_start_queue(lun->disk->queue); 820 blk_start_queue(lun->disk->queue);
807} 821}
808 822
809static void ub_end_rq(struct request *rq, unsigned int scsi_status) 823static void ub_end_rq(struct request *rq, unsigned int scsi_status,
824 unsigned int cmd_len)
810{ 825{
811 int error; 826 int error;
827 long rqlen;
812 828
813 if (scsi_status == 0) { 829 if (scsi_status == 0) {
814 error = 0; 830 error = 0;
@@ -816,8 +832,12 @@ static void ub_end_rq(struct request *rq, unsigned int scsi_status)
816 error = -EIO; 832 error = -EIO;
817 rq->errors = scsi_status; 833 rq->errors = scsi_status;
818 } 834 }
819 if (__blk_end_request(rq, error, blk_rq_bytes(rq))) 835 rqlen = blk_rq_bytes(rq); /* Oddly enough, this is the residue. */
820 BUG(); 836 if (__blk_end_request(rq, error, cmd_len)) {
837 printk(KERN_WARNING DRV_NAME
838 ": __blk_end_request blew, %s-cmd total %u rqlen %ld\n",
839 blk_pc_request(rq)? "pc": "fs", cmd_len, rqlen);
840 }
821} 841}
822 842
823static int ub_rw_cmd_retry(struct ub_dev *sc, struct ub_lun *lun, 843static int ub_rw_cmd_retry(struct ub_dev *sc, struct ub_lun *lun,
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
index 41ca721d252..ebfe038d859 100644
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -69,7 +69,7 @@ MODULE_LICENSE("GPL");
69enum { 69enum {
70 PARTITION_SHIFT = 3, 70 PARTITION_SHIFT = 3,
71 MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS, 71 MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,
72 MAX_DISK_NAME = sizeof(((struct gendisk *)0)->disk_name) 72 MAX_DISK_NAME = FIELD_SIZEOF(struct gendisk, disk_name)
73}; 73};
74 74
75static DEFINE_SPINLOCK(viodasd_spinlock); 75static DEFINE_SPINLOCK(viodasd_spinlock);
diff --git a/drivers/char/drm/ati_pcigart.c b/drivers/char/drm/ati_pcigart.c
index e5a0e97cfdd..141f4dfa0a1 100644
--- a/drivers/char/drm/ati_pcigart.c
+++ b/drivers/char/drm/ati_pcigart.c
@@ -122,8 +122,9 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
122 } else { 122 } else {
123 address = gart_info->addr; 123 address = gart_info->addr;
124 bus_address = gart_info->bus_addr; 124 bus_address = gart_info->bus_addr;
125 DRM_DEBUG("PCI: Gart Table: VRAM %08X mapped at %08lX\n", 125 DRM_DEBUG("PCI: Gart Table: VRAM %08LX mapped at %08lX\n",
126 bus_address, (unsigned long)address); 126 (unsigned long long)bus_address,
127 (unsigned long)address);
127 } 128 }
128 129
129 pci_gart = (u32 *) address; 130 pci_gart = (u32 *) address;
@@ -167,6 +168,12 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
167 } 168 }
168 } 169 }
169 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
170 ret = 1; 177 ret = 1;
171 178
172#if defined(__i386__) || defined(__x86_64__) 179#if defined(__i386__) || defined(__x86_64__)
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/i915_drv.h b/drivers/char/drm/i915_drv.h
index c10d128e34d..675d88bda06 100644
--- a/drivers/char/drm/i915_drv.h
+++ b/drivers/char/drm/i915_drv.h
@@ -1092,8 +1092,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
1092#define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a) 1092#define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a)
1093#define IS_I915GM(dev) ((dev)->pci_device == 0x2592) 1093#define IS_I915GM(dev) ((dev)->pci_device == 0x2592)
1094#define IS_I945G(dev) ((dev)->pci_device == 0x2772) 1094#define IS_I945G(dev) ((dev)->pci_device == 0x2772)
1095#define IS_I945GM(dev) ((dev)->pci_device == 0x27A2) 1095#define IS_I945GM(dev) ((dev)->pci_device == 0x27A2 ||\
1096 1096 (dev)->pci_device == 0x27AE)
1097#define IS_I965G(dev) ((dev)->pci_device == 0x2972 || \ 1097#define IS_I965G(dev) ((dev)->pci_device == 0x2972 || \
1098 (dev)->pci_device == 0x2982 || \ 1098 (dev)->pci_device == 0x2982 || \
1099 (dev)->pci_device == 0x2992 || \ 1099 (dev)->pci_device == 0x2992 || \
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_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/hpet.c b/drivers/char/hpet.c
index 465ad35ed38..1399971be68 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -731,14 +731,14 @@ static unsigned long hpet_calibrate(struct hpets *hpetp)
731 731
732int hpet_alloc(struct hpet_data *hdp) 732int hpet_alloc(struct hpet_data *hdp)
733{ 733{
734 u64 cap, mcfg, hpet_config; 734 u64 cap, mcfg;
735 struct hpet_dev *devp; 735 struct hpet_dev *devp;
736 u32 i, ntimer, irq; 736 u32 i, ntimer;
737 struct hpets *hpetp; 737 struct hpets *hpetp;
738 size_t siz; 738 size_t siz;
739 struct hpet __iomem *hpet; 739 struct hpet __iomem *hpet;
740 static struct hpets *last = NULL; 740 static struct hpets *last = NULL;
741 unsigned long period, irq_bitmap; 741 unsigned long period;
742 unsigned long long temp; 742 unsigned long long temp;
743 743
744 /* 744 /*
@@ -765,47 +765,11 @@ int hpet_alloc(struct hpet_data *hdp)
765 hpetp->hp_hpet_phys = hdp->hd_phys_address; 765 hpetp->hp_hpet_phys = hdp->hd_phys_address;
766 766
767 hpetp->hp_ntimer = hdp->hd_nirqs; 767 hpetp->hp_ntimer = hdp->hd_nirqs;
768 hpet = hpetp->hp_hpet;
769
770 /* Assign IRQs statically for legacy devices */
771 hpetp->hp_dev[0].hd_hdwirq = hdp->hd_irq[0];
772 hpetp->hp_dev[1].hd_hdwirq = hdp->hd_irq[1];
773
774 /* Assign IRQs dynamically for the others */
775 for (i = 2, devp = &hpetp->hp_dev[2]; i < hdp->hd_nirqs; i++, devp++) {
776 struct hpet_timer __iomem *timer;
777 768
778 timer = &hpet->hpet_timers[devp - hpetp->hp_dev]; 769 for (i = 0; i < hdp->hd_nirqs; i++)
770 hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
779 771
780 /* Check if there's already an IRQ assigned to the timer */ 772 hpet = hpetp->hp_hpet;
781 if (hdp->hd_irq[i]) {
782 hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
783 continue;
784 }
785
786 hpet_config = readq(&timer->hpet_config);
787 irq_bitmap = (hpet_config & Tn_INT_ROUTE_CAP_MASK)
788 >> Tn_INT_ROUTE_CAP_SHIFT;
789 if (!irq_bitmap)
790 irq = 0; /* No valid IRQ Assignable */
791 else {
792 irq = find_first_bit(&irq_bitmap, 32);
793 do {
794 hpet_config |= irq << Tn_INT_ROUTE_CNF_SHIFT;
795 writeq(hpet_config, &timer->hpet_config);
796
797 /*
798 * Verify whether we have written a valid
799 * IRQ number by reading it back again
800 */
801 hpet_config = readq(&timer->hpet_config);
802 if (irq == (hpet_config & Tn_INT_ROUTE_CNF_MASK)
803 >> Tn_INT_ROUTE_CNF_SHIFT)
804 break; /* Success */
805 } while ((irq = (find_next_bit(&irq_bitmap, 32, irq))));
806 }
807 hpetp->hp_dev[i].hd_hdwirq = irq;
808 }
809 773
810 cap = readq(&hpet->hpet_cap); 774 cap = readq(&hpet->hpet_cap);
811 775
@@ -836,8 +800,7 @@ int hpet_alloc(struct hpet_data *hdp)
836 hpetp->hp_which, hdp->hd_phys_address, 800 hpetp->hp_which, hdp->hd_phys_address,
837 hpetp->hp_ntimer > 1 ? "s" : ""); 801 hpetp->hp_ntimer > 1 ? "s" : "");
838 for (i = 0; i < hpetp->hp_ntimer; i++) 802 for (i = 0; i < hpetp->hp_ntimer; i++)
839 printk("%s %d", i > 0 ? "," : "", 803 printk("%s %d", i > 0 ? "," : "", hdp->hd_irq[i]);
840 hpetp->hp_dev[i].hd_hdwirq);
841 printk("\n"); 804 printk("\n");
842 805
843 printk(KERN_INFO "hpet%u: %u %d-bit timers, %Lu Hz\n", 806 printk(KERN_INFO "hpet%u: %u %d-bit timers, %Lu Hz\n",
diff --git a/drivers/char/hvc_beat.c b/drivers/char/hvc_beat.c
index e74bb949c28..91cdb35a920 100644
--- a/drivers/char/hvc_beat.c
+++ b/drivers/char/hvc_beat.c
@@ -78,8 +78,8 @@ static int hvc_beat_put_chars(uint32_t vtermno, const char *buf, int cnt)
78 for (rest = cnt; rest > 0; rest -= nlen) { 78 for (rest = cnt; rest > 0; rest -= nlen) {
79 nlen = (rest > 16) ? 16 : rest; 79 nlen = (rest > 16) ? 16 : rest;
80 memcpy(kb, buf, nlen); 80 memcpy(kb, buf, nlen);
81 beat_put_term_char(vtermno, rest, kb[0], kb[1]); 81 beat_put_term_char(vtermno, nlen, kb[0], kb[1]);
82 rest -= nlen; 82 buf += nlen;
83 } 83 }
84 return cnt; 84 return cnt;
85} 85}
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/xilinx_hwicap/buffer_icap.c b/drivers/char/xilinx_hwicap/buffer_icap.c
index f577daedb63..aa7f7962a9a 100644
--- a/drivers/char/xilinx_hwicap/buffer_icap.c
+++ b/drivers/char/xilinx_hwicap/buffer_icap.c
@@ -74,7 +74,7 @@
74 74
75/** 75/**
76 * buffer_icap_get_status - Get the contents of the status register. 76 * buffer_icap_get_status - Get the contents of the status register.
77 * @base_address: is the base address of the device 77 * @drvdata: a pointer to the drvdata.
78 * 78 *
79 * The status register contains the ICAP status and the done bit. 79 * The status register contains the ICAP status and the done bit.
80 * 80 *
@@ -88,9 +88,9 @@
88 * D1 - Always 1 88 * D1 - Always 1
89 * D0 - Done bit 89 * D0 - Done bit
90 **/ 90 **/
91static inline u32 buffer_icap_get_status(void __iomem *base_address) 91u32 buffer_icap_get_status(struct hwicap_drvdata *drvdata)
92{ 92{
93 return in_be32(base_address + XHI_STATUS_REG_OFFSET); 93 return in_be32(drvdata->base_address + XHI_STATUS_REG_OFFSET);
94} 94}
95 95
96/** 96/**
@@ -117,20 +117,8 @@ static inline u32 buffer_icap_get_bram(void __iomem *base_address,
117 **/ 117 **/
118static inline bool buffer_icap_busy(void __iomem *base_address) 118static inline bool buffer_icap_busy(void __iomem *base_address)
119{ 119{
120 return (buffer_icap_get_status(base_address) & 1) == XHI_NOT_FINISHED; 120 u32 status = in_be32(base_address + XHI_STATUS_REG_OFFSET);
121} 121 return (status & 1) == XHI_NOT_FINISHED;
122
123/**
124 * buffer_icap_busy - Return true if the icap device is not busy
125 * @base_address: is the base address of the device
126 *
127 * The queries the low order bit of the status register, which
128 * indicates whether the current configuration or readback operation
129 * has completed.
130 **/
131static inline bool buffer_icap_done(void __iomem *base_address)
132{
133 return (buffer_icap_get_status(base_address) & 1) == XHI_FINISHED;
134} 122}
135 123
136/** 124/**
diff --git a/drivers/char/xilinx_hwicap/buffer_icap.h b/drivers/char/xilinx_hwicap/buffer_icap.h
index 03184959fa0..c5b1840906b 100644
--- a/drivers/char/xilinx_hwicap/buffer_icap.h
+++ b/drivers/char/xilinx_hwicap/buffer_icap.h
@@ -44,8 +44,6 @@
44#include <asm/io.h> 44#include <asm/io.h>
45#include "xilinx_hwicap.h" 45#include "xilinx_hwicap.h"
46 46
47void buffer_icap_reset(struct hwicap_drvdata *drvdata);
48
49/* Loads a partial bitstream from system memory. */ 47/* Loads a partial bitstream from system memory. */
50int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data, 48int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
51 u32 Size); 49 u32 Size);
@@ -54,4 +52,7 @@ int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
54int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data, 52int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
55 u32 Size); 53 u32 Size);
56 54
55u32 buffer_icap_get_status(struct hwicap_drvdata *drvdata);
56void buffer_icap_reset(struct hwicap_drvdata *drvdata);
57
57#endif 58#endif
diff --git a/drivers/char/xilinx_hwicap/fifo_icap.c b/drivers/char/xilinx_hwicap/fifo_icap.c
index 6f45dbd4712..776b5052847 100644
--- a/drivers/char/xilinx_hwicap/fifo_icap.c
+++ b/drivers/char/xilinx_hwicap/fifo_icap.c
@@ -78,13 +78,6 @@
78#define XHI_CR_READ_MASK 0x00000002 /* Read from ICAP to FIFO */ 78#define XHI_CR_READ_MASK 0x00000002 /* Read from ICAP to FIFO */
79#define XHI_CR_WRITE_MASK 0x00000001 /* Write from FIFO to ICAP */ 79#define XHI_CR_WRITE_MASK 0x00000001 /* Write from FIFO to ICAP */
80 80
81/* Status Register (SR) */
82#define XHI_SR_CFGERR_N_MASK 0x00000100 /* Config Error Mask */
83#define XHI_SR_DALIGN_MASK 0x00000080 /* Data Alignment Mask */
84#define XHI_SR_RIP_MASK 0x00000040 /* Read back Mask */
85#define XHI_SR_IN_ABORT_N_MASK 0x00000020 /* Select Map Abort Mask */
86#define XHI_SR_DONE_MASK 0x00000001 /* Done bit Mask */
87
88 81
89#define XHI_WFO_MAX_VACANCY 1024 /* Max Write FIFO Vacancy, in words */ 82#define XHI_WFO_MAX_VACANCY 1024 /* Max Write FIFO Vacancy, in words */
90#define XHI_RFO_MAX_OCCUPANCY 256 /* Max Read FIFO Occupancy, in words */ 83#define XHI_RFO_MAX_OCCUPANCY 256 /* Max Read FIFO Occupancy, in words */
@@ -152,13 +145,35 @@ static inline void fifo_icap_start_readback(struct hwicap_drvdata *drvdata)
152} 145}
153 146
154/** 147/**
148 * fifo_icap_get_status - Get the contents of the status register.
149 * @drvdata: a pointer to the drvdata.
150 *
151 * The status register contains the ICAP status and the done bit.
152 *
153 * D8 - cfgerr
154 * D7 - dalign
155 * D6 - rip
156 * D5 - in_abort_l
157 * D4 - Always 1
158 * D3 - Always 1
159 * D2 - Always 1
160 * D1 - Always 1
161 * D0 - Done bit
162 **/
163u32 fifo_icap_get_status(struct hwicap_drvdata *drvdata)
164{
165 u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
166 dev_dbg(drvdata->dev, "Getting status = %x\n", status);
167 return status;
168}
169
170/**
155 * fifo_icap_busy - Return true if the ICAP is still processing a transaction. 171 * fifo_icap_busy - Return true if the ICAP is still processing a transaction.
156 * @drvdata: a pointer to the drvdata. 172 * @drvdata: a pointer to the drvdata.
157 **/ 173 **/
158static inline u32 fifo_icap_busy(struct hwicap_drvdata *drvdata) 174static inline u32 fifo_icap_busy(struct hwicap_drvdata *drvdata)
159{ 175{
160 u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET); 176 u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
161 dev_dbg(drvdata->dev, "Getting status = %x\n", status);
162 return (status & XHI_SR_DONE_MASK) ? 0 : 1; 177 return (status & XHI_SR_DONE_MASK) ? 0 : 1;
163} 178}
164 179
diff --git a/drivers/char/xilinx_hwicap/fifo_icap.h b/drivers/char/xilinx_hwicap/fifo_icap.h
index 4d3068dd040..ffabd3ba2bd 100644
--- a/drivers/char/xilinx_hwicap/fifo_icap.h
+++ b/drivers/char/xilinx_hwicap/fifo_icap.h
@@ -56,6 +56,7 @@ int fifo_icap_set_configuration(
56 u32 *FrameBuffer, 56 u32 *FrameBuffer,
57 u32 NumWords); 57 u32 NumWords);
58 58
59u32 fifo_icap_get_status(struct hwicap_drvdata *drvdata);
59void fifo_icap_reset(struct hwicap_drvdata *drvdata); 60void fifo_icap_reset(struct hwicap_drvdata *drvdata);
60void fifo_icap_flush_fifo(struct hwicap_drvdata *drvdata); 61void fifo_icap_flush_fifo(struct hwicap_drvdata *drvdata);
61 62
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
index 2284fa2a5a5..016f90567a5 100644
--- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c
+++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
@@ -36,7 +36,7 @@
36 *****************************************************************************/ 36 *****************************************************************************/
37 37
38/* 38/*
39 * This is the code behind /dev/xilinx_icap -- it allows a user-space 39 * This is the code behind /dev/icap* -- it allows a user-space
40 * application to use the Xilinx ICAP subsystem. 40 * application to use the Xilinx ICAP subsystem.
41 * 41 *
42 * The following operations are possible: 42 * The following operations are possible:
@@ -67,7 +67,7 @@
67 * user-space application code that uses this device. The simplest 67 * user-space application code that uses this device. The simplest
68 * way to use this interface is simply: 68 * way to use this interface is simply:
69 * 69 *
70 * cp foo.bit /dev/xilinx_icap 70 * cp foo.bit /dev/icap0
71 * 71 *
72 * Note that unless foo.bit is an appropriately constructed partial 72 * Note that unless foo.bit is an appropriately constructed partial
73 * bitstream, this has a high likelyhood of overwriting the design 73 * bitstream, this has a high likelyhood of overwriting the design
@@ -105,18 +105,14 @@
105#include "buffer_icap.h" 105#include "buffer_icap.h"
106#include "fifo_icap.h" 106#include "fifo_icap.h"
107 107
108#define DRIVER_NAME "xilinx_icap" 108#define DRIVER_NAME "icap"
109 109
110#define HWICAP_REGS (0x10000) 110#define HWICAP_REGS (0x10000)
111 111
112/* dynamically allocate device number */ 112#define XHWICAP_MAJOR 259
113static int xhwicap_major; 113#define XHWICAP_MINOR 0
114static int xhwicap_minor;
115#define HWICAP_DEVICES 1 114#define HWICAP_DEVICES 1
116 115
117module_param(xhwicap_major, int, S_IRUGO);
118module_param(xhwicap_minor, int, S_IRUGO);
119
120/* An array, which is set to true when the device is registered. */ 116/* An array, which is set to true when the device is registered. */
121static bool probed_devices[HWICAP_DEVICES]; 117static bool probed_devices[HWICAP_DEVICES];
122static struct mutex icap_sem; 118static struct mutex icap_sem;
@@ -250,8 +246,26 @@ static int hwicap_get_configuration_register(struct hwicap_drvdata *drvdata,
250 * Create the data to be written to the ICAP. 246 * Create the data to be written to the ICAP.
251 */ 247 */
252 buffer[index++] = XHI_DUMMY_PACKET; 248 buffer[index++] = XHI_DUMMY_PACKET;
249 buffer[index++] = XHI_NOOP_PACKET;
253 buffer[index++] = XHI_SYNC_PACKET; 250 buffer[index++] = XHI_SYNC_PACKET;
254 buffer[index++] = XHI_NOOP_PACKET; 251 buffer[index++] = XHI_NOOP_PACKET;
252 buffer[index++] = XHI_NOOP_PACKET;
253
254 /*
255 * Write the data to the FIFO and initiate the transfer of data present
256 * in the FIFO to the ICAP device.
257 */
258 status = drvdata->config->set_configuration(drvdata,
259 &buffer[0], index);
260 if (status)
261 return status;
262
263 /* If the syncword was not found, then we need to start over. */
264 status = drvdata->config->get_status(drvdata);
265 if ((status & XHI_SR_DALIGN_MASK) != XHI_SR_DALIGN_MASK)
266 return -EIO;
267
268 index = 0;
255 buffer[index++] = hwicap_type_1_read(reg) | 1; 269 buffer[index++] = hwicap_type_1_read(reg) | 1;
256 buffer[index++] = XHI_NOOP_PACKET; 270 buffer[index++] = XHI_NOOP_PACKET;
257 buffer[index++] = XHI_NOOP_PACKET; 271 buffer[index++] = XHI_NOOP_PACKET;
@@ -587,7 +601,7 @@ static int __devinit hwicap_setup(struct device *dev, int id,
587 probed_devices[id] = 1; 601 probed_devices[id] = 1;
588 mutex_unlock(&icap_sem); 602 mutex_unlock(&icap_sem);
589 603
590 devt = MKDEV(xhwicap_major, xhwicap_minor + id); 604 devt = MKDEV(XHWICAP_MAJOR, XHWICAP_MINOR + id);
591 605
592 drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL); 606 drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL);
593 if (!drvdata) { 607 if (!drvdata) {
@@ -664,12 +678,14 @@ static int __devinit hwicap_setup(struct device *dev, int id,
664static struct hwicap_driver_config buffer_icap_config = { 678static struct hwicap_driver_config buffer_icap_config = {
665 .get_configuration = buffer_icap_get_configuration, 679 .get_configuration = buffer_icap_get_configuration,
666 .set_configuration = buffer_icap_set_configuration, 680 .set_configuration = buffer_icap_set_configuration,
681 .get_status = buffer_icap_get_status,
667 .reset = buffer_icap_reset, 682 .reset = buffer_icap_reset,
668}; 683};
669 684
670static struct hwicap_driver_config fifo_icap_config = { 685static struct hwicap_driver_config fifo_icap_config = {
671 .get_configuration = fifo_icap_get_configuration, 686 .get_configuration = fifo_icap_get_configuration,
672 .set_configuration = fifo_icap_set_configuration, 687 .set_configuration = fifo_icap_set_configuration,
688 .get_status = fifo_icap_get_status,
673 .reset = fifo_icap_reset, 689 .reset = fifo_icap_reset,
674}; 690};
675 691
@@ -690,7 +706,7 @@ static int __devexit hwicap_remove(struct device *dev)
690 dev_set_drvdata(dev, NULL); 706 dev_set_drvdata(dev, NULL);
691 707
692 mutex_lock(&icap_sem); 708 mutex_lock(&icap_sem);
693 probed_devices[MINOR(dev->devt)-xhwicap_minor] = 0; 709 probed_devices[MINOR(dev->devt)-XHWICAP_MINOR] = 0;
694 mutex_unlock(&icap_sem); 710 mutex_unlock(&icap_sem);
695 return 0; /* success */ 711 return 0; /* success */
696} 712}
@@ -830,23 +846,12 @@ static int __init hwicap_module_init(void)
830 icap_class = class_create(THIS_MODULE, "xilinx_config"); 846 icap_class = class_create(THIS_MODULE, "xilinx_config");
831 mutex_init(&icap_sem); 847 mutex_init(&icap_sem);
832 848
833 if (xhwicap_major) { 849 devt = MKDEV(XHWICAP_MAJOR, XHWICAP_MINOR);
834 devt = MKDEV(xhwicap_major, xhwicap_minor); 850 retval = register_chrdev_region(devt,
835 retval = register_chrdev_region( 851 HWICAP_DEVICES,
836 devt, 852 DRIVER_NAME);
837 HWICAP_DEVICES, 853 if (retval < 0)
838 DRIVER_NAME); 854 return retval;
839 if (retval < 0)
840 return retval;
841 } else {
842 retval = alloc_chrdev_region(&devt,
843 xhwicap_minor,
844 HWICAP_DEVICES,
845 DRIVER_NAME);
846 if (retval < 0)
847 return retval;
848 xhwicap_major = MAJOR(devt);
849 }
850 855
851 retval = platform_driver_register(&hwicap_platform_driver); 856 retval = platform_driver_register(&hwicap_platform_driver);
852 857
@@ -871,7 +876,7 @@ static int __init hwicap_module_init(void)
871 876
872static void __exit hwicap_module_cleanup(void) 877static void __exit hwicap_module_cleanup(void)
873{ 878{
874 dev_t devt = MKDEV(xhwicap_major, xhwicap_minor); 879 dev_t devt = MKDEV(XHWICAP_MAJOR, XHWICAP_MINOR);
875 880
876 class_destroy(icap_class); 881 class_destroy(icap_class);
877 882
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.h b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
index 405fee7e189..1f9c8b082db 100644
--- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
+++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
@@ -65,10 +65,27 @@ struct hwicap_drvdata {
65}; 65};
66 66
67struct hwicap_driver_config { 67struct hwicap_driver_config {
68 /* Read configuration data given by size into the data buffer.
69 Return 0 if successful. */
68 int (*get_configuration)(struct hwicap_drvdata *drvdata, u32 *data, 70 int (*get_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
69 u32 size); 71 u32 size);
72 /* Write configuration data given by size from the data buffer.
73 Return 0 if successful. */
70 int (*set_configuration)(struct hwicap_drvdata *drvdata, u32 *data, 74 int (*set_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
71 u32 size); 75 u32 size);
76 /* Get the status register, bit pattern given by:
77 * D8 - 0 = configuration error
78 * D7 - 1 = alignment found
79 * D6 - 1 = readback in progress
80 * D5 - 0 = abort in progress
81 * D4 - Always 1
82 * D3 - Always 1
83 * D2 - Always 1
84 * D1 - Always 1
85 * D0 - 1 = operation completed
86 */
87 u32 (*get_status)(struct hwicap_drvdata *drvdata);
88 /* Reset the hw */
72 void (*reset)(struct hwicap_drvdata *drvdata); 89 void (*reset)(struct hwicap_drvdata *drvdata);
73}; 90};
74 91
@@ -163,6 +180,13 @@ struct config_registers {
163/* Constant to use for CRC check when CRC has been disabled */ 180/* Constant to use for CRC check when CRC has been disabled */
164#define XHI_DISABLED_AUTO_CRC 0x0000DEFCUL 181#define XHI_DISABLED_AUTO_CRC 0x0000DEFCUL
165 182
183/* Meanings of the bits returned by get_status */
184#define XHI_SR_CFGERR_N_MASK 0x00000100 /* Config Error Mask */
185#define XHI_SR_DALIGN_MASK 0x00000080 /* Data Alignment Mask */
186#define XHI_SR_RIP_MASK 0x00000040 /* Read back Mask */
187#define XHI_SR_IN_ABORT_N_MASK 0x00000020 /* Select Map Abort Mask */
188#define XHI_SR_DONE_MASK 0x00000001 /* Done bit Mask */
189
166/** 190/**
167 * hwicap_type_1_read - Generates a Type 1 read packet header. 191 * hwicap_type_1_read - Generates a Type 1 read packet header.
168 * @reg: is the address of the register to be read back. 192 * @reg: is the address of the register to be read back.
diff --git a/drivers/connector/cn_queue.c b/drivers/connector/cn_queue.c
index 5732ca3259f..b6fe7e7a2c2 100644
--- a/drivers/connector/cn_queue.c
+++ b/drivers/connector/cn_queue.c
@@ -146,7 +146,7 @@ struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *nls)
146 146
147 dev->nls = nls; 147 dev->nls = nls;
148 148
149 dev->cn_queue = create_workqueue(dev->name); 149 dev->cn_queue = create_singlethread_workqueue(dev->name);
150 if (!dev->cn_queue) { 150 if (!dev->cn_queue) {
151 kfree(dev); 151 kfree(dev);
152 return NULL; 152 return NULL;
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 72692309398..df163687c91 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -1021,11 +1021,11 @@ const u32 mpc8349_dma_ip_feature = FSL_DMA_IP_83XX | FSL_DMA_LITTLE_ENDIAN;
1021 1021
1022static struct of_device_id of_fsl_dma_chan_ids[] = { 1022static struct of_device_id of_fsl_dma_chan_ids[] = {
1023 { 1023 {
1024 .compatible = "fsl,mpc8540-dma-channel", 1024 .compatible = "fsl,eloplus-dma-channel",
1025 .data = (void *)&mpc8540_dma_ip_feature, 1025 .data = (void *)&mpc8540_dma_ip_feature,
1026 }, 1026 },
1027 { 1027 {
1028 .compatible = "fsl,mpc8349-dma-channel", 1028 .compatible = "fsl,elo-dma-channel",
1029 .data = (void *)&mpc8349_dma_ip_feature, 1029 .data = (void *)&mpc8349_dma_ip_feature,
1030 }, 1030 },
1031 {} 1031 {}
@@ -1107,8 +1107,8 @@ err:
1107} 1107}
1108 1108
1109static struct of_device_id of_fsl_dma_ids[] = { 1109static struct of_device_id of_fsl_dma_ids[] = {
1110 { .compatible = "fsl,mpc8540-dma", }, 1110 { .compatible = "fsl,eloplus-dma", },
1111 { .compatible = "fsl,mpc8349-dma", }, 1111 { .compatible = "fsl,elo-dma", },
1112 {} 1112 {}
1113}; 1113};
1114 1114
diff --git a/drivers/dma/fsldma.h b/drivers/dma/fsldma.h
index fddd6aee2a6..6faf07ba0d0 100644
--- a/drivers/dma/fsldma.h
+++ b/drivers/dma/fsldma.h
@@ -75,12 +75,15 @@
75#define FSL_DMA_DGSR_EOSI 0x02 75#define FSL_DMA_DGSR_EOSI 0x02
76#define FSL_DMA_DGSR_EOLSI 0x01 76#define FSL_DMA_DGSR_EOLSI 0x01
77 77
78typedef u64 __bitwise v64;
79typedef u32 __bitwise v32;
80
78struct fsl_dma_ld_hw { 81struct fsl_dma_ld_hw {
79 u64 __bitwise src_addr; 82 v64 src_addr;
80 u64 __bitwise dst_addr; 83 v64 dst_addr;
81 u64 __bitwise next_ln_addr; 84 v64 next_ln_addr;
82 u32 __bitwise count; 85 v32 count;
83 u32 __bitwise reserve; 86 v32 reserve;
84} __attribute__((aligned(32))); 87} __attribute__((aligned(32)));
85 88
86struct fsl_desc_sw { 89struct fsl_desc_sw {
@@ -92,13 +95,13 @@ struct fsl_desc_sw {
92} __attribute__((aligned(32))); 95} __attribute__((aligned(32)));
93 96
94struct fsl_dma_chan_regs { 97struct fsl_dma_chan_regs {
95 u32 __bitwise mr; /* 0x00 - Mode Register */ 98 u32 mr; /* 0x00 - Mode Register */
96 u32 __bitwise sr; /* 0x04 - Status Register */ 99 u32 sr; /* 0x04 - Status Register */
97 u64 __bitwise cdar; /* 0x08 - Current descriptor address register */ 100 u64 cdar; /* 0x08 - Current descriptor address register */
98 u64 __bitwise sar; /* 0x10 - Source Address Register */ 101 u64 sar; /* 0x10 - Source Address Register */
99 u64 __bitwise dar; /* 0x18 - Destination Address Register */ 102 u64 dar; /* 0x18 - Destination Address Register */
100 u32 __bitwise bcr; /* 0x20 - Byte Count Register */ 103 u32 bcr; /* 0x20 - Byte Count Register */
101 u64 __bitwise ndar; /* 0x24 - Next Descriptor Address Register */ 104 u64 ndar; /* 0x24 - Next Descriptor Address Register */
102}; 105};
103 106
104struct fsl_dma_chan; 107struct fsl_dma_chan;
@@ -151,25 +154,27 @@ struct fsl_dma_chan {
151#ifndef __powerpc64__ 154#ifndef __powerpc64__
152static u64 in_be64(const u64 __iomem *addr) 155static u64 in_be64(const u64 __iomem *addr)
153{ 156{
154 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));
155} 159}
156 160
157static void out_be64(u64 __iomem *addr, u64 val) 161static void out_be64(u64 __iomem *addr, u64 val)
158{ 162{
159 out_be32((u32 *)addr, val >> 32); 163 out_be32((u32 __iomem *)addr, val >> 32);
160 out_be32((u32 *)addr + 1, (u32)val); 164 out_be32((u32 __iomem *)addr + 1, (u32)val);
161} 165}
162 166
163/* 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 */
164static u64 in_le64(const u64 __iomem *addr) 168static u64 in_le64(const u64 __iomem *addr)
165{ 169{
166 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));
167} 172}
168 173
169static void out_le64(u64 __iomem *addr, u64 val) 174static void out_le64(u64 __iomem *addr, u64 val)
170{ 175{
171 out_le32((u32 *)addr + 1, val >> 32); 176 out_le32((u32 __iomem *)addr + 1, val >> 32);
172 out_le32((u32 *)addr, (u32)val); 177 out_le32((u32 __iomem *)addr, (u32)val);
173} 178}
174#endif 179#endif
175 180
@@ -182,9 +187,11 @@ static void out_le64(u64 __iomem *addr, u64 val)
182 187
183#define DMA_TO_CPU(fsl_chan, d, width) \ 188#define DMA_TO_CPU(fsl_chan, d, width) \
184 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \ 189 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
185 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))
186#define CPU_TO_DMA(fsl_chan, c, width) \ 192#define CPU_TO_DMA(fsl_chan, c, width) \
187 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \ 193 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
188 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))
189 196
190#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/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index 4072449ad1c..c5e3ed7e903 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -266,7 +266,7 @@ static void __init dmi_save_ipmi_device(const struct dmi_header *dm)
266 dev->name = "IPMI controller"; 266 dev->name = "IPMI controller";
267 dev->device_data = data; 267 dev->device_data = data;
268 268
269 list_add(&dev->list, &dmi_devices); 269 list_add_tail(&dev->list, &dmi_devices);
270} 270}
271 271
272static void __init dmi_save_extended_devices(const struct dmi_header *dm) 272static void __init dmi_save_extended_devices(const struct dmi_header *dm)
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-davinci.c b/drivers/i2c/busses/i2c-davinci.c
index cce5a614758..fde26345a37 100644
--- a/drivers/i2c/busses/i2c-davinci.c
+++ b/drivers/i2c/busses/i2c-davinci.c
@@ -382,9 +382,8 @@ static irqreturn_t i2c_davinci_isr(int this_irq, void *dev_id)
382 break; 382 break;
383 383
384 case DAVINCI_I2C_IVR_ARDY: 384 case DAVINCI_I2C_IVR_ARDY:
385 w = davinci_i2c_read_reg(dev, DAVINCI_I2C_STR_REG); 385 davinci_i2c_write_reg(dev,
386 MOD_REG_BIT(w, DAVINCI_I2C_STR_ARDY, 1); 386 DAVINCI_I2C_STR_REG, DAVINCI_I2C_STR_ARDY);
387 davinci_i2c_write_reg(dev, DAVINCI_I2C_STR_REG, w);
388 complete(&dev->cmd_complete); 387 complete(&dev->cmd_complete);
389 break; 388 break;
390 389
@@ -397,12 +396,9 @@ static irqreturn_t i2c_davinci_isr(int this_irq, void *dev_id)
397 if (dev->buf_len) 396 if (dev->buf_len)
398 continue; 397 continue;
399 398
400 w = davinci_i2c_read_reg(dev,
401 DAVINCI_I2C_STR_REG);
402 MOD_REG_BIT(w, DAVINCI_I2C_IMR_RRDY, 0);
403 davinci_i2c_write_reg(dev, 399 davinci_i2c_write_reg(dev,
404 DAVINCI_I2C_STR_REG, 400 DAVINCI_I2C_STR_REG,
405 w); 401 DAVINCI_I2C_IMR_RRDY);
406 } else 402 } else
407 dev_err(dev->dev, "RDR IRQ while no " 403 dev_err(dev->dev, "RDR IRQ while no "
408 "data requested\n"); 404 "data requested\n");
@@ -428,9 +424,8 @@ static irqreturn_t i2c_davinci_isr(int this_irq, void *dev_id)
428 break; 424 break;
429 425
430 case DAVINCI_I2C_IVR_SCD: 426 case DAVINCI_I2C_IVR_SCD:
431 w = davinci_i2c_read_reg(dev, DAVINCI_I2C_STR_REG); 427 davinci_i2c_write_reg(dev,
432 MOD_REG_BIT(w, DAVINCI_I2C_STR_SCD, 1); 428 DAVINCI_I2C_STR_REG, DAVINCI_I2C_STR_SCD);
433 davinci_i2c_write_reg(dev, DAVINCI_I2C_STR_REG, w);
434 complete(&dev->cmd_complete); 429 complete(&dev->cmd_complete);
435 break; 430 break;
436 431
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
index 7c7eb0cfece..22bb247d0e6 100644
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
@@ -55,7 +55,7 @@ MODULE_PARM_DESC(iic_force_poll, "Force polling mode");
55 55
56static int iic_force_fast; 56static int iic_force_fast;
57module_param(iic_force_fast, bool, 0); 57module_param(iic_force_fast, bool, 0);
58MODULE_PARM_DESC(iic_fast_poll, "Force fast mode (400 kHz)"); 58MODULE_PARM_DESC(iic_force_fast, "Force fast mode (400 kHz)");
59 59
60#define DBG_LEVEL 0 60#define DBG_LEVEL 0
61 61
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/busses/i2c-tiny-usb.c b/drivers/i2c/busses/i2c-tiny-usb.c
index cb9abe7565a..b1c050ff311 100644
--- a/drivers/i2c/busses/i2c-tiny-usb.c
+++ b/drivers/i2c/busses/i2c-tiny-usb.c
@@ -131,11 +131,15 @@ static const struct i2c_algorithm usb_algorithm = {
131 131
132/* ----- begin of usb layer ---------------------------------------------- */ 132/* ----- begin of usb layer ---------------------------------------------- */
133 133
134/* The usb i2c interface uses a vid/pid pair donated by */ 134/*
135/* Future Technology Devices International Ltd. */ 135 * Initially the usb i2c interface uses a vid/pid pair donated by
136 * Future Technology Devices International Ltd., later a pair was
137 * bought from EZPrototypes
138 */
136static struct usb_device_id i2c_tiny_usb_table [] = { 139static struct usb_device_id i2c_tiny_usb_table [] = {
137 { USB_DEVICE(0x0403, 0xc631) }, 140 { USB_DEVICE(0x0403, 0xc631) }, /* FTDI */
138 { } /* Terminating entry */ 141 { USB_DEVICE(0x1c40, 0x0534) }, /* EZPrototypes */
142 { } /* Terminating entry */
139}; 143};
140 144
141MODULE_DEVICE_TABLE(usb, i2c_tiny_usb_table); 145MODULE_DEVICE_TABLE(usb, i2c_tiny_usb_table);
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-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/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/pci/siimage.c b/drivers/ide/pci/siimage.c
index cc4be9621bc..8d624afe852 100644
--- a/drivers/ide/pci/siimage.c
+++ b/drivers/ide/pci/siimage.c
@@ -492,7 +492,7 @@ static void proc_reports_siimage (struct pci_dev *dev, u8 clocking, const char *
492 492
493static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name) 493static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name)
494{ 494{
495 unsigned long bar5 = pci_resource_start(dev, 5); 495 resource_size_t bar5 = pci_resource_start(dev, 5);
496 unsigned long barsize = pci_resource_len(dev, 5); 496 unsigned long barsize = pci_resource_len(dev, 5);
497 u8 tmpbyte = 0; 497 u8 tmpbyte = 0;
498 void __iomem *ioaddr; 498 void __iomem *ioaddr;
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/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/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/appletouch.c b/drivers/input/mouse/appletouch.c
index b4423a471f0..8dd3942f302 100644
--- a/drivers/input/mouse/appletouch.c
+++ b/drivers/input/mouse/appletouch.c
@@ -62,6 +62,10 @@
62#define GEYSER4_ISO_PRODUCT_ID 0x021B 62#define GEYSER4_ISO_PRODUCT_ID 0x021B
63#define GEYSER4_JIS_PRODUCT_ID 0x021C 63#define GEYSER4_JIS_PRODUCT_ID 0x021C
64 64
65#define GEYSER4_HF_ANSI_PRODUCT_ID 0x0229
66#define GEYSER4_HF_ISO_PRODUCT_ID 0x022A
67#define GEYSER4_HF_JIS_PRODUCT_ID 0x022B
68
65#define ATP_DEVICE(prod) \ 69#define ATP_DEVICE(prod) \
66 .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \ 70 .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
67 USB_DEVICE_ID_MATCH_INT_CLASS | \ 71 USB_DEVICE_ID_MATCH_INT_CLASS | \
@@ -93,6 +97,10 @@ static struct usb_device_id atp_table [] = {
93 { ATP_DEVICE(GEYSER4_ISO_PRODUCT_ID) }, 97 { ATP_DEVICE(GEYSER4_ISO_PRODUCT_ID) },
94 { ATP_DEVICE(GEYSER4_JIS_PRODUCT_ID) }, 98 { ATP_DEVICE(GEYSER4_JIS_PRODUCT_ID) },
95 99
100 { ATP_DEVICE(GEYSER4_HF_ANSI_PRODUCT_ID) },
101 { ATP_DEVICE(GEYSER4_HF_ISO_PRODUCT_ID) },
102 { ATP_DEVICE(GEYSER4_HF_JIS_PRODUCT_ID) },
103
96 /* Terminating entry */ 104 /* Terminating entry */
97 { } 105 { }
98}; 106};
@@ -217,7 +225,10 @@ static inline int atp_is_geyser_3(struct atp *dev)
217 (productId == GEYSER3_JIS_PRODUCT_ID) || 225 (productId == GEYSER3_JIS_PRODUCT_ID) ||
218 (productId == GEYSER4_ANSI_PRODUCT_ID) || 226 (productId == GEYSER4_ANSI_PRODUCT_ID) ||
219 (productId == GEYSER4_ISO_PRODUCT_ID) || 227 (productId == GEYSER4_ISO_PRODUCT_ID) ||
220 (productId == GEYSER4_JIS_PRODUCT_ID); 228 (productId == GEYSER4_JIS_PRODUCT_ID) ||
229 (productId == GEYSER4_HF_ANSI_PRODUCT_ID) ||
230 (productId == GEYSER4_HF_ISO_PRODUCT_ID) ||
231 (productId == GEYSER4_HF_JIS_PRODUCT_ID);
221} 232}
222 233
223/* 234/*
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/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/raid5.c b/drivers/md/raid5.c
index c574cf5efb5..b162b839a66 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2348,25 +2348,15 @@ static void handle_issuing_new_write_requests6(raid5_conf_t *conf,
2348static void handle_parity_checks5(raid5_conf_t *conf, struct stripe_head *sh, 2348static void handle_parity_checks5(raid5_conf_t *conf, struct stripe_head *sh,
2349 struct stripe_head_state *s, int disks) 2349 struct stripe_head_state *s, int disks)
2350{ 2350{
2351 int canceled_check = 0;
2352
2351 set_bit(STRIPE_HANDLE, &sh->state); 2353 set_bit(STRIPE_HANDLE, &sh->state);
2352 /* Take one of the following actions:
2353 * 1/ start a check parity operation if (uptodate == disks)
2354 * 2/ finish a check parity operation and act on the result
2355 * 3/ skip to the writeback section if we previously
2356 * initiated a recovery operation
2357 */
2358 if (s->failed == 0 &&
2359 !test_bit(STRIPE_OP_MOD_REPAIR_PD, &sh->ops.pending)) {
2360 if (!test_and_set_bit(STRIPE_OP_CHECK, &sh->ops.pending)) {
2361 BUG_ON(s->uptodate != disks);
2362 clear_bit(R5_UPTODATE, &sh->dev[sh->pd_idx].flags);
2363 sh->ops.count++;
2364 s->uptodate--;
2365 } else if (
2366 test_and_clear_bit(STRIPE_OP_CHECK, &sh->ops.complete)) {
2367 clear_bit(STRIPE_OP_CHECK, &sh->ops.ack);
2368 clear_bit(STRIPE_OP_CHECK, &sh->ops.pending);
2369 2354
2355 /* complete a check operation */
2356 if (test_and_clear_bit(STRIPE_OP_CHECK, &sh->ops.complete)) {
2357 clear_bit(STRIPE_OP_CHECK, &sh->ops.ack);
2358 clear_bit(STRIPE_OP_CHECK, &sh->ops.pending);
2359 if (s->failed == 0) {
2370 if (sh->ops.zero_sum_result == 0) 2360 if (sh->ops.zero_sum_result == 0)
2371 /* parity is correct (on disc, 2361 /* parity is correct (on disc,
2372 * not in buffer any more) 2362 * not in buffer any more)
@@ -2391,7 +2381,8 @@ static void handle_parity_checks5(raid5_conf_t *conf, struct stripe_head *sh,
2391 s->uptodate++; 2381 s->uptodate++;
2392 } 2382 }
2393 } 2383 }
2394 } 2384 } else
2385 canceled_check = 1; /* STRIPE_INSYNC is not set */
2395 } 2386 }
2396 2387
2397 /* check if we can clear a parity disk reconstruct */ 2388 /* check if we can clear a parity disk reconstruct */
@@ -2404,12 +2395,28 @@ static void handle_parity_checks5(raid5_conf_t *conf, struct stripe_head *sh,
2404 clear_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending); 2395 clear_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending);
2405 } 2396 }
2406 2397
2398 /* start a new check operation if there are no failures, the stripe is
2399 * not insync, and a repair is not in flight
2400 */
2401 if (s->failed == 0 &&
2402 !test_bit(STRIPE_INSYNC, &sh->state) &&
2403 !test_bit(STRIPE_OP_MOD_REPAIR_PD, &sh->ops.pending)) {
2404 if (!test_and_set_bit(STRIPE_OP_CHECK, &sh->ops.pending)) {
2405 BUG_ON(s->uptodate != disks);
2406 clear_bit(R5_UPTODATE, &sh->dev[sh->pd_idx].flags);
2407 sh->ops.count++;
2408 s->uptodate--;
2409 }
2410 }
2411
2407 /* Wait for check parity and compute block operations to complete 2412 /* Wait for check parity and compute block operations to complete
2408 * before write-back 2413 * before write-back. If a failure occurred while the check operation
2414 * was in flight we need to cycle this stripe through handle_stripe
2415 * since the parity block may not be uptodate
2409 */ 2416 */
2410 if (!test_bit(STRIPE_INSYNC, &sh->state) && 2417 if (!canceled_check && !test_bit(STRIPE_INSYNC, &sh->state) &&
2411 !test_bit(STRIPE_OP_CHECK, &sh->ops.pending) && 2418 !test_bit(STRIPE_OP_CHECK, &sh->ops.pending) &&
2412 !test_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending)) { 2419 !test_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending)) {
2413 struct r5dev *dev; 2420 struct r5dev *dev;
2414 /* either failed parity check, or recovery is happening */ 2421 /* either failed parity check, or recovery is happening */
2415 if (s->failed == 0) 2422 if (s->failed == 0)
diff --git a/drivers/media/Makefile b/drivers/media/Makefile
index 8cf91353b56..7b8bb6949f5 100644
--- a/drivers/media/Makefile
+++ b/drivers/media/Makefile
@@ -6,3 +6,6 @@ obj-y := common/
6obj-y += video/ 6obj-y += video/
7obj-$(CONFIG_VIDEO_DEV) += radio/ 7obj-$(CONFIG_VIDEO_DEV) += radio/
8obj-$(CONFIG_DVB_CORE) += dvb/ 8obj-$(CONFIG_DVB_CORE) += dvb/
9ifeq ($(CONFIG_DVB_CORE),)
10 obj-$(CONFIG_VIDEO_TUNER) += dvb/frontends/
11endif
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/frontends/s5h1409.c b/drivers/media/dvb/frontends/s5h1409.c
index 819433485d3..1a4d8319773 100644
--- a/drivers/media/dvb/frontends/s5h1409.c
+++ b/drivers/media/dvb/frontends/s5h1409.c
@@ -445,7 +445,7 @@ static int s5h1409_set_gpio(struct dvb_frontend* fe, int enable)
445 s5h1409_readreg(state, 0xe3) | 0x1100); 445 s5h1409_readreg(state, 0xe3) | 0x1100);
446 else 446 else
447 return s5h1409_writereg(state, 0xe3, 447 return s5h1409_writereg(state, 0xe3,
448 s5h1409_readreg(state, 0xe3) & 0xeeff); 448 s5h1409_readreg(state, 0xe3) & 0xfeff);
449} 449}
450 450
451static int s5h1409_sleep(struct dvb_frontend* fe, int enable) 451static int s5h1409_sleep(struct dvb_frontend* fe, int enable)
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/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/bt832.c b/drivers/media/video/bt8xx/bt832.c
index a5187613788..f92f06dec0d 100644
--- a/drivers/media/video/bt8xx/bt832.c
+++ b/drivers/media/video/bt8xx/bt832.c
@@ -97,6 +97,11 @@ int bt832_init(struct i2c_client *i2c_client_s)
97 int rc; 97 int rc;
98 98
99 buf=kmalloc(65,GFP_KERNEL); 99 buf=kmalloc(65,GFP_KERNEL);
100 if (!buf) {
101 v4l_err(&t->client,
102 "Unable to allocate memory. Detaching.\n");
103 return 0;
104 }
100 bt832_hexdump(i2c_client_s,buf); 105 bt832_hexdump(i2c_client_s,buf);
101 106
102 if(buf[0x40] != 0x31) { 107 if(buf[0x40] != 0x31) {
@@ -211,7 +216,12 @@ bt832_command(struct i2c_client *client, unsigned int cmd, void *arg)
211 switch (cmd) { 216 switch (cmd) {
212 case BT832_HEXDUMP: { 217 case BT832_HEXDUMP: {
213 unsigned char *buf; 218 unsigned char *buf;
214 buf=kmalloc(65,GFP_KERNEL); 219 buf = kmalloc(65, GFP_KERNEL);
220 if (!buf) {
221 v4l_err(&t->client,
222 "Unable to allocate memory\n");
223 break;
224 }
215 bt832_hexdump(&t->client,buf); 225 bt832_hexdump(&t->client,buf);
216 kfree(buf); 226 kfree(buf);
217 } 227 }
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index a080c149cc6..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;
@@ -3415,6 +3416,7 @@ static int radio_open(struct inode *inode, struct file *file)
3415{ 3416{
3416 int minor = iminor(inode); 3417 int minor = iminor(inode);
3417 struct bttv *btv = NULL; 3418 struct bttv *btv = NULL;
3419 struct bttv_fh *fh;
3418 unsigned int i; 3420 unsigned int i;
3419 3421
3420 dprintk("bttv: open minor=%d\n",minor); 3422 dprintk("bttv: open minor=%d\n",minor);
@@ -3429,12 +3431,19 @@ static int radio_open(struct inode *inode, struct file *file)
3429 return -ENODEV; 3431 return -ENODEV;
3430 3432
3431 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
3432 mutex_lock(&btv->lock); 3443 mutex_lock(&btv->lock);
3433 3444
3434 btv->radio_user++; 3445 btv->radio_user++;
3435 3446
3436 file->private_data = btv;
3437
3438 bttv_call_i2c_clients(btv,AUDC_SET_RADIO,NULL); 3447 bttv_call_i2c_clients(btv,AUDC_SET_RADIO,NULL);
3439 audio_input(btv,TVAUDIO_INPUT_RADIO); 3448 audio_input(btv,TVAUDIO_INPUT_RADIO);
3440 3449
@@ -3444,7 +3453,8 @@ static int radio_open(struct inode *inode, struct file *file)
3444 3453
3445static int radio_release(struct inode *inode, struct file *file) 3454static int radio_release(struct inode *inode, struct file *file)
3446{ 3455{
3447 struct bttv *btv = file->private_data; 3456 struct bttv_fh *fh = file->private_data;
3457 struct bttv *btv = fh->btv;
3448 struct rds_command cmd; 3458 struct rds_command cmd;
3449 3459
3450 btv->radio_user--; 3460 btv->radio_user--;
@@ -3508,8 +3518,12 @@ static int radio_enum_input(struct file *file, void *priv,
3508static int radio_g_audio(struct file *file, void *priv, 3518static int radio_g_audio(struct file *file, void *priv,
3509 struct v4l2_audio *a) 3519 struct v4l2_audio *a)
3510{ 3520{
3521 if (a->index != 0)
3522 return -EINVAL;
3523
3511 memset(a, 0, sizeof(*a)); 3524 memset(a, 0, sizeof(*a));
3512 strcpy(a->name, "Radio"); 3525 strcpy(a->name, "Radio");
3526
3513 return 0; 3527 return 0;
3514} 3528}
3515 3529
@@ -3569,7 +3583,8 @@ static int radio_g_input(struct file *filp, void *priv, unsigned int *i)
3569static ssize_t radio_read(struct file *file, char __user *data, 3583static ssize_t radio_read(struct file *file, char __user *data,
3570 size_t count, loff_t *ppos) 3584 size_t count, loff_t *ppos)
3571{ 3585{
3572 struct bttv *btv = file->private_data; 3586 struct bttv_fh *fh = file->private_data;
3587 struct bttv *btv = fh->btv;
3573 struct rds_command cmd; 3588 struct rds_command cmd;
3574 cmd.block_count = count/3; 3589 cmd.block_count = count/3;
3575 cmd.buffer = data; 3590 cmd.buffer = data;
@@ -3583,7 +3598,8 @@ static ssize_t radio_read(struct file *file, char __user *data,
3583 3598
3584static unsigned int radio_poll(struct file *file, poll_table *wait) 3599static unsigned int radio_poll(struct file *file, poll_table *wait)
3585{ 3600{
3586 struct bttv *btv = file->private_data; 3601 struct bttv_fh *fh = file->private_data;
3602 struct bttv *btv = fh->btv;
3587 struct rds_command cmd; 3603 struct rds_command cmd;
3588 cmd.instance = file; 3604 cmd.instance = file;
3589 cmd.event_list = wait; 3605 cmd.event_list = wait;
@@ -3599,6 +3615,7 @@ static const struct file_operations radio_fops =
3599 .open = radio_open, 3615 .open = radio_open,
3600 .read = radio_read, 3616 .read = radio_read,
3601 .release = radio_release, 3617 .release = radio_release,
3618 .compat_ioctl = v4l_compat_ioctl32,
3602 .ioctl = video_ioctl2, 3619 .ioctl = video_ioctl2,
3603 .llseek = no_llseek, 3620 .llseek = no_llseek,
3604 .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/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/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-devattr.c b/drivers/media/video/pvrusb2/pvrusb2-devattr.c
index 4df6d6d936f..fe9991c10cf 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-devattr.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.c
@@ -155,6 +155,41 @@ static const struct pvr2_device_desc pvr2_device_onair_usb2 = {
155 155
156 156
157/*------------------------------------------------------------------------*/ 157/*------------------------------------------------------------------------*/
158/* Hauppauge PVR-USB2 Model 73xxx */
159
160static const char *pvr2_client_73xxx[] = {
161 "cx25840",
162 "tuner",
163};
164
165static const char *pvr2_fw1_names_73xxx[] = {
166 "v4l-pvrusb2-73xxx-01.fw",
167};
168
169static const struct pvr2_device_desc pvr2_device_73xxx = {
170 .description = "WinTV PVR USB2 Model Category 73xxxx",
171 .shortname = "73xxx",
172 .client_modules.lst = pvr2_client_73xxx,
173 .client_modules.cnt = ARRAY_SIZE(pvr2_client_73xxx),
174 .fx2_firmware.lst = pvr2_fw1_names_73xxx,
175 .fx2_firmware.cnt = ARRAY_SIZE(pvr2_fw1_names_73xxx),
176 .flag_has_cx25840 = !0,
177 .flag_has_hauppauge_rom = !0,
178#if 0
179 .flag_has_analogtuner = !0,
180 .flag_has_composite = !0,
181 .flag_has_svideo = !0,
182 .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
183 .digital_control_scheme = PVR2_DIGITAL_SCHEME_HAUPPAUGE,
184 .led_scheme = PVR2_LED_SCHEME_HAUPPAUGE,
185#else
186 .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
187#endif
188};
189
190
191
192/*------------------------------------------------------------------------*/
158/* Hauppauge PVR-USB2 Model 75xxx */ 193/* Hauppauge PVR-USB2 Model 75xxx */
159 194
160static const char *pvr2_client_75xxx[] = { 195static const char *pvr2_client_75xxx[] = {
@@ -198,8 +233,12 @@ struct usb_device_id pvr2_device_table[] = {
198 { USB_DEVICE(0x11ba, 0x1001), 233 { USB_DEVICE(0x11ba, 0x1001),
199 .driver_info = (kernel_ulong_t)&pvr2_device_onair_usb2}, 234 .driver_info = (kernel_ulong_t)&pvr2_device_onair_usb2},
200#endif 235#endif
236 { USB_DEVICE(0x2040, 0x7300),
237 .driver_info = (kernel_ulong_t)&pvr2_device_73xxx},
201 { USB_DEVICE(0x2040, 0x7500), 238 { USB_DEVICE(0x2040, 0x7500),
202 .driver_info = (kernel_ulong_t)&pvr2_device_75xxx}, 239 .driver_info = (kernel_ulong_t)&pvr2_device_75xxx},
240 { USB_DEVICE(0x2040, 0x7501),
241 .driver_info = (kernel_ulong_t)&pvr2_device_75xxx},
203 { } 242 { }
204}; 243};
205 244
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/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 d28318cb2b8..b6e24e714a2 100644
--- a/drivers/media/video/tvp5150.c
+++ b/drivers/media/video/tvp5150.c
@@ -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/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/host/tifm_ms.c b/drivers/memstick/host/tifm_ms.c
index eb150dfb637..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);
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/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 47794d23a42..0080452531d 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -718,7 +718,7 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
718 /* Someone else might have been playing with it. */ 718 /* Someone else might have been playing with it. */
719 return -EAGAIN; 719 return -EAGAIN;
720 } 720 }
721 721 /* Fall through */
722 case FL_READY: 722 case FL_READY:
723 case FL_CFI_QUERY: 723 case FL_CFI_QUERY:
724 case FL_JEDEC_QUERY: 724 case FL_JEDEC_QUERY:
@@ -778,14 +778,14 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
778 chip->state = FL_READY; 778 chip->state = FL_READY;
779 return 0; 779 return 0;
780 780
781 case FL_SHUTDOWN:
782 /* The machine is rebooting now,so no one can get chip anymore */
783 return -EIO;
781 case FL_POINT: 784 case FL_POINT:
782 /* Only if there's no operation suspended... */ 785 /* Only if there's no operation suspended... */
783 if (mode == FL_READY && chip->oldstate == FL_READY) 786 if (mode == FL_READY && chip->oldstate == FL_READY)
784 return 0; 787 return 0;
785 788 /* Fall through */
786 case FL_SHUTDOWN:
787 /* The machine is rebooting now,so no one can get chip anymore */
788 return -EIO;
789 default: 789 default:
790 sleep: 790 sleep:
791 set_current_state(TASK_UNINTERRUPTIBLE); 791 set_current_state(TASK_UNINTERRUPTIBLE);
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index d072e87ce4e..458d477614d 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -1763,6 +1763,7 @@ static void cfi_amdstd_sync (struct mtd_info *mtd)
1763 1763
1764 default: 1764 default:
1765 /* Not an idle state */ 1765 /* Not an idle state */
1766 set_current_state(TASK_UNINTERRUPTIBLE);
1766 add_wait_queue(&chip->wq, &wait); 1767 add_wait_queue(&chip->wq, &wait);
1767 1768
1768 spin_unlock(chip->mutex); 1769 spin_unlock(chip->mutex);
diff --git a/drivers/mtd/chips/cfi_cmdset_0020.c b/drivers/mtd/chips/cfi_cmdset_0020.c
index b344ff858b2..492e2ab2742 100644
--- a/drivers/mtd/chips/cfi_cmdset_0020.c
+++ b/drivers/mtd/chips/cfi_cmdset_0020.c
@@ -1015,6 +1015,7 @@ static void cfi_staa_sync (struct mtd_info *mtd)
1015 1015
1016 default: 1016 default:
1017 /* Not an idle state */ 1017 /* Not an idle state */
1018 set_current_state(TASK_UNINTERRUPTIBLE);
1018 add_wait_queue(&chip->wq, &wait); 1019 add_wait_queue(&chip->wq, &wait);
1019 1020
1020 spin_unlock_bh(chip->mutex); 1021 spin_unlock_bh(chip->mutex);
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/Kconfig b/drivers/net/Kconfig
index fe7b5ec0970..3a0b20afec7 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2635,7 +2635,7 @@ config NIU
2635 2635
2636config PASEMI_MAC 2636config PASEMI_MAC
2637 tristate "PA Semi 1/10Gbit MAC" 2637 tristate "PA Semi 1/10Gbit MAC"
2638 depends on PPC64 && PCI 2638 depends on PPC_PASEMI && PCI
2639 select PHYLIB 2639 select PHYLIB
2640 select INET_LRO 2640 select INET_LRO
2641 help 2641 help
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 3b1ea321dc0..4b442739e7b 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -218,7 +218,8 @@ obj-$(CONFIG_SMC911X) += smc911x.o
218obj-$(CONFIG_BFIN_MAC) += bfin_mac.o 218obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
219obj-$(CONFIG_DM9000) += dm9000.o 219obj-$(CONFIG_DM9000) += dm9000.o
220obj-$(CONFIG_FEC_8XX) += fec_8xx/ 220obj-$(CONFIG_FEC_8XX) += fec_8xx/
221obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o 221obj-$(CONFIG_PASEMI_MAC) += pasemi_mac_driver.o
222pasemi_mac_driver-objs := pasemi_mac.o pasemi_mac_ethtool.o
222obj-$(CONFIG_MLX4_CORE) += mlx4/ 223obj-$(CONFIG_MLX4_CORE) += mlx4/
223obj-$(CONFIG_ENC28J60) += enc28j60.o 224obj-$(CONFIG_ENC28J60) += enc28j60.o
224 225
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index ea2a2b548e3..25f1337cd02 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -2082,6 +2082,11 @@ static int __devinit b44_get_invariants(struct b44 *bp)
2082 addr = sdev->bus->sprom.et0mac; 2082 addr = sdev->bus->sprom.et0mac;
2083 bp->phy_addr = sdev->bus->sprom.et0phyaddr; 2083 bp->phy_addr = sdev->bus->sprom.et0phyaddr;
2084 } 2084 }
2085 /* Some ROMs have buggy PHY addresses with the high
2086 * bits set (sign extension?). Truncate them to a
2087 * valid PHY address. */
2088 bp->phy_addr &= 0x1F;
2089
2085 memcpy(bp->dev->dev_addr, addr, 6); 2090 memcpy(bp->dev->dev_addr, addr, 6);
2086 2091
2087 if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){ 2092 if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index c993a32b3f5..26b2dd5016c 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -575,7 +575,6 @@ adjust_head:
575static int bf537mac_hard_start_xmit(struct sk_buff *skb, 575static int bf537mac_hard_start_xmit(struct sk_buff *skb,
576 struct net_device *dev) 576 struct net_device *dev)
577{ 577{
578 struct bf537mac_local *lp = netdev_priv(dev);
579 unsigned int data; 578 unsigned int data;
580 579
581 current_tx_ptr->skb = skb; 580 current_tx_ptr->skb = skb;
@@ -634,7 +633,6 @@ out:
634static void bf537mac_rx(struct net_device *dev) 633static void bf537mac_rx(struct net_device *dev)
635{ 634{
636 struct sk_buff *skb, *new_skb; 635 struct sk_buff *skb, *new_skb;
637 struct bf537mac_local *lp = netdev_priv(dev);
638 unsigned short len; 636 unsigned short len;
639 637
640 /* allocate a new skb for next time receive */ 638 /* allocate a new skb for next time receive */
diff --git a/drivers/net/bnx2x.c b/drivers/net/bnx2x.c
index 8af142ccf37..7bdb5af3595 100644
--- a/drivers/net/bnx2x.c
+++ b/drivers/net/bnx2x.c
@@ -63,8 +63,8 @@
63#include "bnx2x.h" 63#include "bnx2x.h"
64#include "bnx2x_init.h" 64#include "bnx2x_init.h"
65 65
66#define DRV_MODULE_VERSION "1.40.22" 66#define DRV_MODULE_VERSION "1.42.4"
67#define DRV_MODULE_RELDATE "2007/11/27" 67#define DRV_MODULE_RELDATE "2008/4/9"
68#define BNX2X_BC_VER 0x040200 68#define BNX2X_BC_VER 0x040200
69 69
70/* Time in jiffies before concluding the transmitter is hung. */ 70/* Time in jiffies before concluding the transmitter is hung. */
@@ -6153,7 +6153,7 @@ static int bnx2x_function_init(struct bnx2x *bp, int mode)
6153 func, mode); 6153 func, mode);
6154 REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, 6154 REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET,
6155 0xffffffff); 6155 0xffffffff);
6156 REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, 6156 REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_SET,
6157 0xfffc); 6157 0xfffc);
6158 bnx2x_init_block(bp, MISC_COMMON_START, MISC_COMMON_END); 6158 bnx2x_init_block(bp, MISC_COMMON_START, MISC_COMMON_END);
6159 6159
@@ -8008,38 +8008,6 @@ static int bnx2x_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
8008 cmd->duplex, cmd->port, cmd->phy_address, cmd->transceiver, 8008 cmd->duplex, cmd->port, cmd->phy_address, cmd->transceiver,
8009 cmd->autoneg, cmd->maxtxpkt, cmd->maxrxpkt); 8009 cmd->autoneg, cmd->maxtxpkt, cmd->maxrxpkt);
8010 8010
8011 switch (cmd->port) {
8012 case PORT_TP:
8013 if (!(bp->supported & SUPPORTED_TP)) {
8014 DP(NETIF_MSG_LINK, "TP not supported\n");
8015 return -EINVAL;
8016 }
8017
8018 if (bp->phy_flags & PHY_XGXS_FLAG) {
8019 bnx2x_link_reset(bp);
8020 bnx2x_link_settings_supported(bp, SWITCH_CFG_1G);
8021 bnx2x_phy_deassert(bp);
8022 }
8023 break;
8024
8025 case PORT_FIBRE:
8026 if (!(bp->supported & SUPPORTED_FIBRE)) {
8027 DP(NETIF_MSG_LINK, "FIBRE not supported\n");
8028 return -EINVAL;
8029 }
8030
8031 if (!(bp->phy_flags & PHY_XGXS_FLAG)) {
8032 bnx2x_link_reset(bp);
8033 bnx2x_link_settings_supported(bp, SWITCH_CFG_10G);
8034 bnx2x_phy_deassert(bp);
8035 }
8036 break;
8037
8038 default:
8039 DP(NETIF_MSG_LINK, "Unknown port type\n");
8040 return -EINVAL;
8041 }
8042
8043 if (cmd->autoneg == AUTONEG_ENABLE) { 8011 if (cmd->autoneg == AUTONEG_ENABLE) {
8044 if (!(bp->supported & SUPPORTED_Autoneg)) { 8012 if (!(bp->supported & SUPPORTED_Autoneg)) {
8045 DP(NETIF_MSG_LINK, "Aotoneg not supported\n"); 8013 DP(NETIF_MSG_LINK, "Aotoneg not supported\n");
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index cb3c6faa788..d16e0e1d2b3 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -310,7 +310,7 @@ static inline int __check_agg_selection_timer(struct port *port)
310 */ 310 */
311static inline void __get_rx_machine_lock(struct port *port) 311static inline void __get_rx_machine_lock(struct port *port)
312{ 312{
313 spin_lock(&(SLAVE_AD_INFO(port->slave).rx_machine_lock)); 313 spin_lock_bh(&(SLAVE_AD_INFO(port->slave).rx_machine_lock));
314} 314}
315 315
316/** 316/**
@@ -320,7 +320,7 @@ static inline void __get_rx_machine_lock(struct port *port)
320 */ 320 */
321static inline void __release_rx_machine_lock(struct port *port) 321static inline void __release_rx_machine_lock(struct port *port)
322{ 322{
323 spin_unlock(&(SLAVE_AD_INFO(port->slave).rx_machine_lock)); 323 spin_unlock_bh(&(SLAVE_AD_INFO(port->slave).rx_machine_lock));
324} 324}
325 325
326/** 326/**
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index b57bc9467db..3f58c3d0b71 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -678,12 +678,8 @@ static struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bon
678 } 678 }
679 679
680 if (!list_empty(&bond->vlan_list)) { 680 if (!list_empty(&bond->vlan_list)) {
681 unsigned short vlan_id; 681 if (!vlan_get_tag(skb, &client_info->vlan_id))
682 int res = vlan_get_tag(skb, &vlan_id);
683 if (!res) {
684 client_info->tag = 1; 682 client_info->tag = 1;
685 client_info->vlan_id = vlan_id;
686 }
687 } 683 }
688 684
689 if (!client_info->assigned) { 685 if (!client_info->assigned) {
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 0942d82f7cb..0f0675319e9 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -383,7 +383,7 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr)
383 */ 383 */
384int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev) 384int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev)
385{ 385{
386 unsigned short vlan_id; 386 unsigned short uninitialized_var(vlan_id);
387 387
388 if (!list_empty(&bond->vlan_list) && 388 if (!list_empty(&bond->vlan_list) &&
389 !(slave_dev->features & NETIF_F_HW_VLAN_TX) && 389 !(slave_dev->features & NETIF_F_HW_VLAN_TX) &&
@@ -4528,8 +4528,7 @@ static void bond_free_all(void)
4528 netif_tx_unlock_bh(bond_dev); 4528 netif_tx_unlock_bh(bond_dev);
4529 /* Release the bonded slaves */ 4529 /* Release the bonded slaves */
4530 bond_release_all(bond_dev); 4530 bond_release_all(bond_dev);
4531 bond_deinit(bond_dev); 4531 bond_destroy(bond);
4532 unregister_netdevice(bond_dev);
4533 } 4532 }
4534 4533
4535#ifdef CONFIG_PROC_FS 4534#ifdef CONFIG_PROC_FS
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 90a1f31e8e6..979c2d05ff9 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -341,6 +341,7 @@ static ssize_t bonding_store_slaves(struct device *d,
341 341
342 if (command[0] == '-') { 342 if (command[0] == '-') {
343 dev = NULL; 343 dev = NULL;
344 original_mtu = 0;
344 bond_for_each_slave(bond, slave, i) 345 bond_for_each_slave(bond, slave, i)
345 if (strnicmp(slave->dev->name, ifname, IFNAMSIZ) == 0) { 346 if (strnicmp(slave->dev->name, ifname, IFNAMSIZ) == 0) {
346 dev = slave->dev; 347 dev = slave->dev;
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 67ccad69d44..a3c74e20aa5 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -22,8 +22,8 @@
22#include "bond_3ad.h" 22#include "bond_3ad.h"
23#include "bond_alb.h" 23#include "bond_alb.h"
24 24
25#define DRV_VERSION "3.2.4" 25#define DRV_VERSION "3.2.5"
26#define DRV_RELDATE "January 28, 2008" 26#define DRV_RELDATE "March 21, 2008"
27#define DRV_NAME "bonding" 27#define DRV_NAME "bonding"
28#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" 28#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
29 29
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index db586870c5f..98a6bbd11d4 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -557,9 +557,9 @@ static void t3_free_qset(struct adapter *adapter, struct sge_qset *q)
557 557
558 for (i = 0; i < SGE_RXQ_PER_SET; ++i) 558 for (i = 0; i < SGE_RXQ_PER_SET; ++i)
559 if (q->fl[i].desc) { 559 if (q->fl[i].desc) {
560 spin_lock(&adapter->sge.reg_lock); 560 spin_lock_irq(&adapter->sge.reg_lock);
561 t3_sge_disable_fl(adapter, q->fl[i].cntxt_id); 561 t3_sge_disable_fl(adapter, q->fl[i].cntxt_id);
562 spin_unlock(&adapter->sge.reg_lock); 562 spin_unlock_irq(&adapter->sge.reg_lock);
563 free_rx_bufs(pdev, &q->fl[i]); 563 free_rx_bufs(pdev, &q->fl[i]);
564 kfree(q->fl[i].sdesc); 564 kfree(q->fl[i].sdesc);
565 dma_free_coherent(&pdev->dev, 565 dma_free_coherent(&pdev->dev,
@@ -570,9 +570,9 @@ static void t3_free_qset(struct adapter *adapter, struct sge_qset *q)
570 570
571 for (i = 0; i < SGE_TXQ_PER_SET; ++i) 571 for (i = 0; i < SGE_TXQ_PER_SET; ++i)
572 if (q->txq[i].desc) { 572 if (q->txq[i].desc) {
573 spin_lock(&adapter->sge.reg_lock); 573 spin_lock_irq(&adapter->sge.reg_lock);
574 t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0); 574 t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0);
575 spin_unlock(&adapter->sge.reg_lock); 575 spin_unlock_irq(&adapter->sge.reg_lock);
576 if (q->txq[i].sdesc) { 576 if (q->txq[i].sdesc) {
577 free_tx_desc(adapter, &q->txq[i], 577 free_tx_desc(adapter, &q->txq[i],
578 q->txq[i].in_use); 578 q->txq[i].in_use);
@@ -586,9 +586,9 @@ static void t3_free_qset(struct adapter *adapter, struct sge_qset *q)
586 } 586 }
587 587
588 if (q->rspq.desc) { 588 if (q->rspq.desc) {
589 spin_lock(&adapter->sge.reg_lock); 589 spin_lock_irq(&adapter->sge.reg_lock);
590 t3_sge_disable_rspcntxt(adapter, q->rspq.cntxt_id); 590 t3_sge_disable_rspcntxt(adapter, q->rspq.cntxt_id);
591 spin_unlock(&adapter->sge.reg_lock); 591 spin_unlock_irq(&adapter->sge.reg_lock);
592 dma_free_coherent(&pdev->dev, 592 dma_free_coherent(&pdev->dev,
593 q->rspq.size * sizeof(struct rsp_desc), 593 q->rspq.size * sizeof(struct rsp_desc),
594 q->rspq.desc, q->rspq.phys_addr); 594 q->rspq.desc, q->rspq.phys_addr);
@@ -2667,7 +2667,7 @@ int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
2667 (16 * 1024) - SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) : 2667 (16 * 1024) - SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) :
2668 MAX_FRAME_SIZE + 2 + sizeof(struct cpl_rx_pkt); 2668 MAX_FRAME_SIZE + 2 + sizeof(struct cpl_rx_pkt);
2669 2669
2670 spin_lock(&adapter->sge.reg_lock); 2670 spin_lock_irq(&adapter->sge.reg_lock);
2671 2671
2672 /* FL threshold comparison uses < */ 2672 /* FL threshold comparison uses < */
2673 ret = t3_sge_init_rspcntxt(adapter, q->rspq.cntxt_id, irq_vec_idx, 2673 ret = t3_sge_init_rspcntxt(adapter, q->rspq.cntxt_id, irq_vec_idx,
@@ -2711,7 +2711,7 @@ int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
2711 goto err_unlock; 2711 goto err_unlock;
2712 } 2712 }
2713 2713
2714 spin_unlock(&adapter->sge.reg_lock); 2714 spin_unlock_irq(&adapter->sge.reg_lock);
2715 2715
2716 q->adap = adapter; 2716 q->adap = adapter;
2717 q->netdev = dev; 2717 q->netdev = dev;
@@ -2728,7 +2728,7 @@ int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
2728 return 0; 2728 return 0;
2729 2729
2730 err_unlock: 2730 err_unlock:
2731 spin_unlock(&adapter->sge.reg_lock); 2731 spin_unlock_irq(&adapter->sge.reg_lock);
2732 err: 2732 err:
2733 t3_free_qset(adapter, q); 2733 t3_free_qset(adapter, q);
2734 return ret; 2734 return ret;
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 1fe305ca2cf..d63cc93f055 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -798,8 +798,6 @@ dm9000_init_dm9000(struct net_device *dev)
798 /* Set address filter table */ 798 /* Set address filter table */
799 dm9000_hash_table(dev); 799 dm9000_hash_table(dev);
800 800
801 /* Activate DM9000 */
802 iow(db, DM9000_RCR, RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN);
803 /* Enable TX/RX interrupt mask */ 801 /* Enable TX/RX interrupt mask */
804 iow(db, DM9000_IMR, IMR_PAR | IMR_PTM | IMR_PRM); 802 iow(db, DM9000_IMR, IMR_PAR | IMR_PTM | IMR_PRM);
805 803
@@ -970,7 +968,7 @@ dm9000_interrupt(int irq, void *dev_id)
970struct dm9000_rxhdr { 968struct dm9000_rxhdr {
971 u8 RxPktReady; 969 u8 RxPktReady;
972 u8 RxStatus; 970 u8 RxStatus;
973 u16 RxLen; 971 __le16 RxLen;
974} __attribute__((__packed__)); 972} __attribute__((__packed__));
975 973
976/* 974/*
@@ -1197,6 +1195,7 @@ dm9000_hash_table(struct net_device *dev)
1197 int i, oft; 1195 int i, oft;
1198 u32 hash_val; 1196 u32 hash_val;
1199 u16 hash_table[4]; 1197 u16 hash_table[4];
1198 u8 rcr = RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN;
1200 unsigned long flags; 1199 unsigned long flags;
1201 1200
1202 dm9000_dbg(db, 1, "entering %s\n", __func__); 1201 dm9000_dbg(db, 1, "entering %s\n", __func__);
@@ -1213,6 +1212,12 @@ dm9000_hash_table(struct net_device *dev)
1213 /* broadcast address */ 1212 /* broadcast address */
1214 hash_table[3] = 0x8000; 1213 hash_table[3] = 0x8000;
1215 1214
1215 if (dev->flags & IFF_PROMISC)
1216 rcr |= RCR_PRMSC;
1217
1218 if (dev->flags & IFF_ALLMULTI)
1219 rcr |= RCR_ALL;
1220
1216 /* the multicast address in Hash Table : 64 bits */ 1221 /* the multicast address in Hash Table : 64 bits */
1217 for (i = 0; i < mc_cnt; i++, mcptr = mcptr->next) { 1222 for (i = 0; i < mc_cnt; i++, mcptr = mcptr->next) {
1218 hash_val = ether_crc_le(6, mcptr->dmi_addr) & 0x3f; 1223 hash_val = ether_crc_le(6, mcptr->dmi_addr) & 0x3f;
@@ -1225,6 +1230,7 @@ dm9000_hash_table(struct net_device *dev)
1225 iow(db, oft++, hash_table[i] >> 8); 1230 iow(db, oft++, hash_table[i] >> 8);
1226 } 1231 }
1227 1232
1233 iow(db, DM9000_RCR, rcr);
1228 spin_unlock_irqrestore(&db->lock, flags); 1234 spin_unlock_irqrestore(&db->lock, flags);
1229} 1235}
1230 1236
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index cdf3090a188..2d139ec7977 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -960,7 +960,7 @@ static void e100_get_defaults(struct nic *nic)
960 960
961 /* Template for a freshly allocated RFD */ 961 /* Template for a freshly allocated RFD */
962 nic->blank_rfd.command = 0; 962 nic->blank_rfd.command = 0;
963 nic->blank_rfd.rbd = 0xFFFFFFFF; 963 nic->blank_rfd.rbd = cpu_to_le32(0xFFFFFFFF);
964 nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN); 964 nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN);
965 965
966 /* MII setup */ 966 /* MII setup */
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index 7c4ead35cfa..93b7fb24696 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
40#include <asm/io.h> 40#include <asm/io.h>
41 41
42#define DRV_NAME "ehea" 42#define DRV_NAME "ehea"
43#define DRV_VERSION "EHEA_0087" 43#define DRV_VERSION "EHEA_0089"
44 44
45/* eHEA capability flags */ 45/* eHEA capability flags */
46#define DLPAR_PORT_ADD_REM 1 46#define DLPAR_PORT_ADD_REM 1
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 21af674b764..07c742dd3f0 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -3108,7 +3108,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
3108 dev->vlan_rx_add_vid = ehea_vlan_rx_add_vid; 3108 dev->vlan_rx_add_vid = ehea_vlan_rx_add_vid;
3109 dev->vlan_rx_kill_vid = ehea_vlan_rx_kill_vid; 3109 dev->vlan_rx_kill_vid = ehea_vlan_rx_kill_vid;
3110 dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO 3110 dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
3111 | NETIF_F_HIGHDMA | NETIF_F_HW_CSUM | NETIF_F_HW_VLAN_TX 3111 | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX
3112 | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER 3112 | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER
3113 | NETIF_F_LLTX; 3113 | NETIF_F_LLTX;
3114 dev->tx_timeout = &ehea_tx_watchdog; 3114 dev->tx_timeout = &ehea_tx_watchdog;
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
index 58b71e60204..fe59c27c09e 100644
--- a/drivers/net/fec_mpc52xx.c
+++ b/drivers/net/fec_mpc52xx.c
@@ -1057,6 +1057,7 @@ static int mpc52xx_fec_of_resume(struct of_device *op)
1057#endif 1057#endif
1058 1058
1059static struct of_device_id mpc52xx_fec_match[] = { 1059static struct of_device_id mpc52xx_fec_match[] = {
1060 { .type = "network", .compatible = "fsl,mpc5200b-fec", },
1060 { .type = "network", .compatible = "fsl,mpc5200-fec", }, 1061 { .type = "network", .compatible = "fsl,mpc5200-fec", },
1061 { .type = "network", .compatible = "mpc5200-fec", }, 1062 { .type = "network", .compatible = "mpc5200-fec", },
1062 { } 1063 { }
diff --git a/drivers/net/fec_mpc52xx_phy.c b/drivers/net/fec_mpc52xx_phy.c
index 6a3ac4ea97e..1d0cd1dd955 100644
--- a/drivers/net/fec_mpc52xx_phy.c
+++ b/drivers/net/fec_mpc52xx_phy.c
@@ -179,6 +179,7 @@ static int mpc52xx_fec_mdio_remove(struct of_device *of)
179 179
180static struct of_device_id mpc52xx_fec_mdio_match[] = { 180static struct of_device_id mpc52xx_fec_mdio_match[] = {
181 { .compatible = "fsl,mpc5200b-mdio", }, 181 { .compatible = "fsl,mpc5200b-mdio", },
182 { .compatible = "fsl,mpc5200-mdio", },
182 { .compatible = "mpc5200b-fec-phy", }, 183 { .compatible = "mpc5200b-fec-phy", },
183 {} 184 {}
184}; 185};
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 6f7e3fde9e7..419f533006a 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -1854,6 +1854,7 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
1854 struct ring_desc* start_tx; 1854 struct ring_desc* start_tx;
1855 struct ring_desc* prev_tx; 1855 struct ring_desc* prev_tx;
1856 struct nv_skb_map* prev_tx_ctx; 1856 struct nv_skb_map* prev_tx_ctx;
1857 unsigned long flags;
1857 1858
1858 /* add fragments to entries count */ 1859 /* add fragments to entries count */
1859 for (i = 0; i < fragments; i++) { 1860 for (i = 0; i < fragments; i++) {
@@ -1863,10 +1864,10 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
1863 1864
1864 empty_slots = nv_get_empty_tx_slots(np); 1865 empty_slots = nv_get_empty_tx_slots(np);
1865 if (unlikely(empty_slots <= entries)) { 1866 if (unlikely(empty_slots <= entries)) {
1866 spin_lock_irq(&np->lock); 1867 spin_lock_irqsave(&np->lock, flags);
1867 netif_stop_queue(dev); 1868 netif_stop_queue(dev);
1868 np->tx_stop = 1; 1869 np->tx_stop = 1;
1869 spin_unlock_irq(&np->lock); 1870 spin_unlock_irqrestore(&np->lock, flags);
1870 return NETDEV_TX_BUSY; 1871 return NETDEV_TX_BUSY;
1871 } 1872 }
1872 1873
@@ -1929,13 +1930,13 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
1929 tx_flags_extra = skb->ip_summed == CHECKSUM_PARTIAL ? 1930 tx_flags_extra = skb->ip_summed == CHECKSUM_PARTIAL ?
1930 NV_TX2_CHECKSUM_L3 | NV_TX2_CHECKSUM_L4 : 0; 1931 NV_TX2_CHECKSUM_L3 | NV_TX2_CHECKSUM_L4 : 0;
1931 1932
1932 spin_lock_irq(&np->lock); 1933 spin_lock_irqsave(&np->lock, flags);
1933 1934
1934 /* set tx flags */ 1935 /* set tx flags */
1935 start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra); 1936 start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
1936 np->put_tx.orig = put_tx; 1937 np->put_tx.orig = put_tx;
1937 1938
1938 spin_unlock_irq(&np->lock); 1939 spin_unlock_irqrestore(&np->lock, flags);
1939 1940
1940 dprintk(KERN_DEBUG "%s: nv_start_xmit: entries %d queued for transmission. tx_flags_extra: %x\n", 1941 dprintk(KERN_DEBUG "%s: nv_start_xmit: entries %d queued for transmission. tx_flags_extra: %x\n",
1941 dev->name, entries, tx_flags_extra); 1942 dev->name, entries, tx_flags_extra);
@@ -1971,6 +1972,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
1971 struct ring_desc_ex* prev_tx; 1972 struct ring_desc_ex* prev_tx;
1972 struct nv_skb_map* prev_tx_ctx; 1973 struct nv_skb_map* prev_tx_ctx;
1973 struct nv_skb_map* start_tx_ctx; 1974 struct nv_skb_map* start_tx_ctx;
1975 unsigned long flags;
1974 1976
1975 /* add fragments to entries count */ 1977 /* add fragments to entries count */
1976 for (i = 0; i < fragments; i++) { 1978 for (i = 0; i < fragments; i++) {
@@ -1980,10 +1982,10 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
1980 1982
1981 empty_slots = nv_get_empty_tx_slots(np); 1983 empty_slots = nv_get_empty_tx_slots(np);
1982 if (unlikely(empty_slots <= entries)) { 1984 if (unlikely(empty_slots <= entries)) {
1983 spin_lock_irq(&np->lock); 1985 spin_lock_irqsave(&np->lock, flags);
1984 netif_stop_queue(dev); 1986 netif_stop_queue(dev);
1985 np->tx_stop = 1; 1987 np->tx_stop = 1;
1986 spin_unlock_irq(&np->lock); 1988 spin_unlock_irqrestore(&np->lock, flags);
1987 return NETDEV_TX_BUSY; 1989 return NETDEV_TX_BUSY;
1988 } 1990 }
1989 1991
@@ -2059,7 +2061,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
2059 start_tx->txvlan = 0; 2061 start_tx->txvlan = 0;
2060 } 2062 }
2061 2063
2062 spin_lock_irq(&np->lock); 2064 spin_lock_irqsave(&np->lock, flags);
2063 2065
2064 if (np->tx_limit) { 2066 if (np->tx_limit) {
2065 /* Limit the number of outstanding tx. Setup all fragments, but 2067 /* Limit the number of outstanding tx. Setup all fragments, but
@@ -2085,7 +2087,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
2085 start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra); 2087 start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
2086 np->put_tx.ex = put_tx; 2088 np->put_tx.ex = put_tx;
2087 2089
2088 spin_unlock_irq(&np->lock); 2090 spin_unlock_irqrestore(&np->lock, flags);
2089 2091
2090 dprintk(KERN_DEBUG "%s: nv_start_xmit_optimized: entries %d queued for transmission. tx_flags_extra: %x\n", 2092 dprintk(KERN_DEBUG "%s: nv_start_xmit_optimized: entries %d queued for transmission. tx_flags_extra: %x\n",
2091 dev->name, entries, tx_flags_extra); 2093 dev->name, entries, tx_flags_extra);
@@ -2110,9 +2112,8 @@ static inline void nv_tx_flip_ownership(struct net_device *dev)
2110 2112
2111 np->tx_pkts_in_progress--; 2113 np->tx_pkts_in_progress--;
2112 if (np->tx_change_owner) { 2114 if (np->tx_change_owner) {
2113 __le32 flaglen = le32_to_cpu(np->tx_change_owner->first_tx_desc->flaglen); 2115 np->tx_change_owner->first_tx_desc->flaglen |=
2114 flaglen |= NV_TX2_VALID; 2116 cpu_to_le32(NV_TX2_VALID);
2115 np->tx_change_owner->first_tx_desc->flaglen = cpu_to_le32(flaglen);
2116 np->tx_pkts_in_progress++; 2117 np->tx_pkts_in_progress++;
2117 2118
2118 np->tx_change_owner = np->tx_change_owner->next_tx_ctx; 2119 np->tx_change_owner = np->tx_change_owner->next_tx_ctx;
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 0789802d59e..378a2396349 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -1242,8 +1242,8 @@ static int emac_close(struct net_device *ndev)
1242static inline u16 emac_tx_csum(struct emac_instance *dev, 1242static inline u16 emac_tx_csum(struct emac_instance *dev,
1243 struct sk_buff *skb) 1243 struct sk_buff *skb)
1244{ 1244{
1245 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH && 1245 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH) &&
1246 skb->ip_summed == CHECKSUM_PARTIAL)) { 1246 (skb->ip_summed == CHECKSUM_PARTIAL)) {
1247 ++dev->stats.tx_packets_csum; 1247 ++dev->stats.tx_packets_csum;
1248 return EMAC_TX_CTRL_TAH_CSUM; 1248 return EMAC_TX_CTRL_TAH_CSUM;
1249 } 1249 }
diff --git a/drivers/net/igb/e1000_82575.h b/drivers/net/igb/e1000_82575.h
index 6604d96bd56..76ea846663d 100644
--- a/drivers/net/igb/e1000_82575.h
+++ b/drivers/net/igb/e1000_82575.h
@@ -61,28 +61,28 @@
61/* Receive Descriptor - Advanced */ 61/* Receive Descriptor - Advanced */
62union e1000_adv_rx_desc { 62union e1000_adv_rx_desc {
63 struct { 63 struct {
64 u64 pkt_addr; /* Packet buffer address */ 64 __le64 pkt_addr; /* Packet buffer address */
65 u64 hdr_addr; /* Header buffer address */ 65 __le64 hdr_addr; /* Header buffer address */
66 } read; 66 } read;
67 struct { 67 struct {
68 struct { 68 struct {
69 struct { 69 struct {
70 u16 pkt_info; /* RSS type, Packet type */ 70 __le16 pkt_info; /* RSS type, Packet type */
71 u16 hdr_info; /* Split Header, 71 __le16 hdr_info; /* Split Header,
72 * header buffer length */ 72 * header buffer length */
73 } lo_dword; 73 } lo_dword;
74 union { 74 union {
75 u32 rss; /* RSS Hash */ 75 __le32 rss; /* RSS Hash */
76 struct { 76 struct {
77 u16 ip_id; /* IP id */ 77 __le16 ip_id; /* IP id */
78 u16 csum; /* Packet Checksum */ 78 __le16 csum; /* Packet Checksum */
79 } csum_ip; 79 } csum_ip;
80 } hi_dword; 80 } hi_dword;
81 } lower; 81 } lower;
82 struct { 82 struct {
83 u32 status_error; /* ext status/error */ 83 __le32 status_error; /* ext status/error */
84 u16 length; /* Packet length */ 84 __le16 length; /* Packet length */
85 u16 vlan; /* VLAN tag */ 85 __le16 vlan; /* VLAN tag */
86 } upper; 86 } upper;
87 } wb; /* writeback */ 87 } wb; /* writeback */
88}; 88};
@@ -97,14 +97,14 @@ union e1000_adv_rx_desc {
97/* Transmit Descriptor - Advanced */ 97/* Transmit Descriptor - Advanced */
98union e1000_adv_tx_desc { 98union e1000_adv_tx_desc {
99 struct { 99 struct {
100 u64 buffer_addr; /* Address of descriptor's data buf */ 100 __le64 buffer_addr; /* Address of descriptor's data buf */
101 u32 cmd_type_len; 101 __le32 cmd_type_len;
102 u32 olinfo_status; 102 __le32 olinfo_status;
103 } read; 103 } read;
104 struct { 104 struct {
105 u64 rsvd; /* Reserved */ 105 __le64 rsvd; /* Reserved */
106 u32 nxtseq_seed; 106 __le32 nxtseq_seed;
107 u32 status; 107 __le32 status;
108 } wb; 108 } wb;
109}; 109};
110 110
@@ -119,10 +119,10 @@ union e1000_adv_tx_desc {
119 119
120/* Context descriptors */ 120/* Context descriptors */
121struct e1000_adv_tx_context_desc { 121struct e1000_adv_tx_context_desc {
122 u32 vlan_macip_lens; 122 __le32 vlan_macip_lens;
123 u32 seqnum_seed; 123 __le32 seqnum_seed;
124 u32 type_tucmd_mlhl; 124 __le32 type_tucmd_mlhl;
125 u32 mss_l4len_idx; 125 __le32 mss_l4len_idx;
126}; 126};
127 127
128#define E1000_ADVTXD_MACLEN_SHIFT 9 /* Adv ctxt desc mac len shift */ 128#define E1000_ADVTXD_MACLEN_SHIFT 9 /* Adv ctxt desc mac len shift */
diff --git a/drivers/net/igb/e1000_hw.h b/drivers/net/igb/e1000_hw.h
index 161fb68764a..7b2c70a3b8c 100644
--- a/drivers/net/igb/e1000_hw.h
+++ b/drivers/net/igb/e1000_hw.h
@@ -143,35 +143,35 @@ enum e1000_fc_type {
143 143
144/* Receive Descriptor */ 144/* Receive Descriptor */
145struct e1000_rx_desc { 145struct e1000_rx_desc {
146 u64 buffer_addr; /* Address of the descriptor's data buffer */ 146 __le64 buffer_addr; /* Address of the descriptor's data buffer */
147 u16 length; /* Length of data DMAed into data buffer */ 147 __le16 length; /* Length of data DMAed into data buffer */
148 u16 csum; /* Packet checksum */ 148 __le16 csum; /* Packet checksum */
149 u8 status; /* Descriptor status */ 149 u8 status; /* Descriptor status */
150 u8 errors; /* Descriptor Errors */ 150 u8 errors; /* Descriptor Errors */
151 u16 special; 151 __le16 special;
152}; 152};
153 153
154/* Receive Descriptor - Extended */ 154/* Receive Descriptor - Extended */
155union e1000_rx_desc_extended { 155union e1000_rx_desc_extended {
156 struct { 156 struct {
157 u64 buffer_addr; 157 __le64 buffer_addr;
158 u64 reserved; 158 __le64 reserved;
159 } read; 159 } read;
160 struct { 160 struct {
161 struct { 161 struct {
162 u32 mrq; /* Multiple Rx Queues */ 162 __le32 mrq; /* Multiple Rx Queues */
163 union { 163 union {
164 u32 rss; /* RSS Hash */ 164 __le32 rss; /* RSS Hash */
165 struct { 165 struct {
166 u16 ip_id; /* IP id */ 166 __le16 ip_id; /* IP id */
167 u16 csum; /* Packet Checksum */ 167 __le16 csum; /* Packet Checksum */
168 } csum_ip; 168 } csum_ip;
169 } hi_dword; 169 } hi_dword;
170 } lower; 170 } lower;
171 struct { 171 struct {
172 u32 status_error; /* ext status/error */ 172 __le32 status_error; /* ext status/error */
173 u16 length; 173 __le16 length;
174 u16 vlan; /* VLAN tag */ 174 __le16 vlan; /* VLAN tag */
175 } upper; 175 } upper;
176 } wb; /* writeback */ 176 } wb; /* writeback */
177}; 177};
@@ -181,49 +181,49 @@ union e1000_rx_desc_extended {
181union e1000_rx_desc_packet_split { 181union e1000_rx_desc_packet_split {
182 struct { 182 struct {
183 /* one buffer for protocol header(s), three data buffers */ 183 /* one buffer for protocol header(s), three data buffers */
184 u64 buffer_addr[MAX_PS_BUFFERS]; 184 __le64 buffer_addr[MAX_PS_BUFFERS];
185 } read; 185 } read;
186 struct { 186 struct {
187 struct { 187 struct {
188 u32 mrq; /* Multiple Rx Queues */ 188 __le32 mrq; /* Multiple Rx Queues */
189 union { 189 union {
190 u32 rss; /* RSS Hash */ 190 __le32 rss; /* RSS Hash */
191 struct { 191 struct {
192 u16 ip_id; /* IP id */ 192 __le16 ip_id; /* IP id */
193 u16 csum; /* Packet Checksum */ 193 __le16 csum; /* Packet Checksum */
194 } csum_ip; 194 } csum_ip;
195 } hi_dword; 195 } hi_dword;
196 } lower; 196 } lower;
197 struct { 197 struct {
198 u32 status_error; /* ext status/error */ 198 __le32 status_error; /* ext status/error */
199 u16 length0; /* length of buffer 0 */ 199 __le16 length0; /* length of buffer 0 */
200 u16 vlan; /* VLAN tag */ 200 __le16 vlan; /* VLAN tag */
201 } middle; 201 } middle;
202 struct { 202 struct {
203 u16 header_status; 203 __le16 header_status;
204 u16 length[3]; /* length of buffers 1-3 */ 204 __le16 length[3]; /* length of buffers 1-3 */
205 } upper; 205 } upper;
206 u64 reserved; 206 __le64 reserved;
207 } wb; /* writeback */ 207 } wb; /* writeback */
208}; 208};
209 209
210/* Transmit Descriptor */ 210/* Transmit Descriptor */
211struct e1000_tx_desc { 211struct e1000_tx_desc {
212 u64 buffer_addr; /* Address of the descriptor's data buffer */ 212 __le64 buffer_addr; /* Address of the descriptor's data buffer */
213 union { 213 union {
214 u32 data; 214 __le32 data;
215 struct { 215 struct {
216 u16 length; /* Data buffer length */ 216 __le16 length; /* Data buffer length */
217 u8 cso; /* Checksum offset */ 217 u8 cso; /* Checksum offset */
218 u8 cmd; /* Descriptor control */ 218 u8 cmd; /* Descriptor control */
219 } flags; 219 } flags;
220 } lower; 220 } lower;
221 union { 221 union {
222 u32 data; 222 __le32 data;
223 struct { 223 struct {
224 u8 status; /* Descriptor status */ 224 u8 status; /* Descriptor status */
225 u8 css; /* Checksum start */ 225 u8 css; /* Checksum start */
226 u16 special; 226 __le16 special;
227 } fields; 227 } fields;
228 } upper; 228 } upper;
229}; 229};
@@ -231,49 +231,49 @@ struct e1000_tx_desc {
231/* Offload Context Descriptor */ 231/* Offload Context Descriptor */
232struct e1000_context_desc { 232struct e1000_context_desc {
233 union { 233 union {
234 u32 ip_config; 234 __le32 ip_config;
235 struct { 235 struct {
236 u8 ipcss; /* IP checksum start */ 236 u8 ipcss; /* IP checksum start */
237 u8 ipcso; /* IP checksum offset */ 237 u8 ipcso; /* IP checksum offset */
238 u16 ipcse; /* IP checksum end */ 238 __le16 ipcse; /* IP checksum end */
239 } ip_fields; 239 } ip_fields;
240 } lower_setup; 240 } lower_setup;
241 union { 241 union {
242 u32 tcp_config; 242 __le32 tcp_config;
243 struct { 243 struct {
244 u8 tucss; /* TCP checksum start */ 244 u8 tucss; /* TCP checksum start */
245 u8 tucso; /* TCP checksum offset */ 245 u8 tucso; /* TCP checksum offset */
246 u16 tucse; /* TCP checksum end */ 246 __le16 tucse; /* TCP checksum end */
247 } tcp_fields; 247 } tcp_fields;
248 } upper_setup; 248 } upper_setup;
249 u32 cmd_and_length; 249 __le32 cmd_and_length;
250 union { 250 union {
251 u32 data; 251 __le32 data;
252 struct { 252 struct {
253 u8 status; /* Descriptor status */ 253 u8 status; /* Descriptor status */
254 u8 hdr_len; /* Header length */ 254 u8 hdr_len; /* Header length */
255 u16 mss; /* Maximum segment size */ 255 __le16 mss; /* Maximum segment size */
256 } fields; 256 } fields;
257 } tcp_seg_setup; 257 } tcp_seg_setup;
258}; 258};
259 259
260/* Offload data descriptor */ 260/* Offload data descriptor */
261struct e1000_data_desc { 261struct e1000_data_desc {
262 u64 buffer_addr; /* Address of the descriptor's buffer address */ 262 __le64 buffer_addr; /* Address of the descriptor's buffer address */
263 union { 263 union {
264 u32 data; 264 __le32 data;
265 struct { 265 struct {
266 u16 length; /* Data buffer length */ 266 __le16 length; /* Data buffer length */
267 u8 typ_len_ext; 267 u8 typ_len_ext;
268 u8 cmd; 268 u8 cmd;
269 } flags; 269 } flags;
270 } lower; 270 } lower;
271 union { 271 union {
272 u32 data; 272 __le32 data;
273 struct { 273 struct {
274 u8 status; /* Descriptor status */ 274 u8 status; /* Descriptor status */
275 u8 popts; /* Packet Options */ 275 u8 popts; /* Packet Options */
276 u16 special; 276 __le16 special;
277 } fields; 277 } fields;
278 } upper; 278 } upper;
279}; 279};
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 928ce8287e6..aaee02e9e3f 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -3254,6 +3254,13 @@ quit_polling:
3254 3254
3255 return 1; 3255 return 1;
3256} 3256}
3257
3258static inline u32 get_head(struct igb_ring *tx_ring)
3259{
3260 void *end = (struct e1000_tx_desc *)tx_ring->desc + tx_ring->count;
3261 return le32_to_cpu(*(volatile __le32 *)end);
3262}
3263
3257/** 3264/**
3258 * igb_clean_tx_irq - Reclaim resources after transmit completes 3265 * igb_clean_tx_irq - Reclaim resources after transmit completes
3259 * @adapter: board private structure 3266 * @adapter: board private structure
@@ -3275,9 +3282,7 @@ static bool igb_clean_tx_irq(struct igb_adapter *adapter,
3275 unsigned int total_bytes = 0, total_packets = 0; 3282 unsigned int total_bytes = 0, total_packets = 0;
3276 3283
3277 rmb(); 3284 rmb();
3278 head = *(volatile u32 *)((struct e1000_tx_desc *)tx_ring->desc 3285 head = get_head(tx_ring);
3279 + tx_ring->count);
3280 head = le32_to_cpu(head);
3281 i = tx_ring->next_to_clean; 3286 i = tx_ring->next_to_clean;
3282 while (1) { 3287 while (1) {
3283 while (i != head) { 3288 while (i != head) {
@@ -3312,9 +3317,7 @@ static bool igb_clean_tx_irq(struct igb_adapter *adapter,
3312 } 3317 }
3313 oldhead = head; 3318 oldhead = head;
3314 rmb(); 3319 rmb();
3315 head = *(volatile u32 *)((struct e1000_tx_desc *)tx_ring->desc 3320 head = get_head(tx_ring);
3316 + tx_ring->count);
3317 head = le32_to_cpu(head);
3318 if (head == oldhead) 3321 if (head == oldhead)
3319 goto done_cleaning; 3322 goto done_cleaning;
3320 } /* while (1) */ 3323 } /* while (1) */
@@ -3388,7 +3391,7 @@ done_cleaning:
3388 * @vlan: descriptor vlan field as written by hardware (no le/be conversion) 3391 * @vlan: descriptor vlan field as written by hardware (no le/be conversion)
3389 * @skb: pointer to sk_buff to be indicated to stack 3392 * @skb: pointer to sk_buff to be indicated to stack
3390 **/ 3393 **/
3391static void igb_receive_skb(struct igb_adapter *adapter, u8 status, u16 vlan, 3394static void igb_receive_skb(struct igb_adapter *adapter, u8 status, __le16 vlan,
3392 struct sk_buff *skb) 3395 struct sk_buff *skb)
3393{ 3396{
3394 if (adapter->vlgrp && (status & E1000_RXD_STAT_VP)) 3397 if (adapter->vlgrp && (status & E1000_RXD_STAT_VP))
@@ -3452,8 +3455,8 @@ static bool igb_clean_rx_irq_adv(struct igb_adapter *adapter,
3452 * that case, it fills the header buffer and spills the rest 3455 * that case, it fills the header buffer and spills the rest
3453 * into the page. 3456 * into the page.
3454 */ 3457 */
3455 hlen = le16_to_cpu((rx_desc->wb.lower.lo_dword.hdr_info & 3458 hlen = (le16_to_cpu(rx_desc->wb.lower.lo_dword.hdr_info) &
3456 E1000_RXDADV_HDRBUFLEN_MASK) >> E1000_RXDADV_HDRBUFLEN_SHIFT); 3459 E1000_RXDADV_HDRBUFLEN_MASK) >> E1000_RXDADV_HDRBUFLEN_SHIFT;
3457 if (hlen > adapter->rx_ps_hdr_size) 3460 if (hlen > adapter->rx_ps_hdr_size)
3458 hlen = adapter->rx_ps_hdr_size; 3461 hlen = adapter->rx_ps_hdr_size;
3459 3462
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index 58d3bb622da..b8d0639c1cd 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -308,7 +308,8 @@ static void veth_complete_allocation(void *parm, int number)
308 308
309static int veth_allocate_events(HvLpIndex rlp, int number) 309static int veth_allocate_events(HvLpIndex rlp, int number)
310{ 310{
311 struct veth_allocation vc = { COMPLETION_INITIALIZER(vc.c), 0 }; 311 struct veth_allocation vc =
312 { COMPLETION_INITIALIZER_ONSTACK(vc.c), 0 };
312 313
313 mf_allocate_lp_events(rlp, HvLpEvent_Type_VirtualLan, 314 mf_allocate_lp_events(rlp, HvLpEvent_Type_VirtualLan,
314 sizeof(struct veth_lpevent), number, 315 sizeof(struct veth_lpevent), number,
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index 269e6f805f4..6738b4d097f 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -2088,14 +2088,12 @@ ixgb_alloc_rx_buffers(struct ixgb_adapter *adapter)
2088 struct ixgb_buffer *buffer_info; 2088 struct ixgb_buffer *buffer_info;
2089 struct sk_buff *skb; 2089 struct sk_buff *skb;
2090 unsigned int i; 2090 unsigned int i;
2091 int num_group_tail_writes;
2092 long cleancount; 2091 long cleancount;
2093 2092
2094 i = rx_ring->next_to_use; 2093 i = rx_ring->next_to_use;
2095 buffer_info = &rx_ring->buffer_info[i]; 2094 buffer_info = &rx_ring->buffer_info[i];
2096 cleancount = IXGB_DESC_UNUSED(rx_ring); 2095 cleancount = IXGB_DESC_UNUSED(rx_ring);
2097 2096
2098 num_group_tail_writes = IXGB_RX_BUFFER_WRITE;
2099 2097
2100 /* leave three descriptors unused */ 2098 /* leave three descriptors unused */
2101 while(--cleancount > 2) { 2099 while(--cleancount > 2) {
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 2bc5eaae141..7f20a03623a 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -85,7 +85,7 @@
85 (sizeof(struct netxen_cmd_buffer) * adapter->max_tx_desc_count) 85 (sizeof(struct netxen_cmd_buffer) * adapter->max_tx_desc_count)
86#define RCV_BUFFSIZE \ 86#define RCV_BUFFSIZE \
87 (sizeof(struct netxen_rx_buffer) * rcv_desc->max_rx_desc_count) 87 (sizeof(struct netxen_rx_buffer) * rcv_desc->max_rx_desc_count)
88#define find_diff_among(a,b,range) ((a)<=(b)?((b)-(a)):((b)+(range)-(a))) 88#define find_diff_among(a,b,range) ((a)<(b)?((b)-(a)):((b)+(range)-(a)))
89 89
90#define NETXEN_NETDEV_STATUS 0x1 90#define NETXEN_NETDEV_STATUS 0x1
91#define NETXEN_RCV_PRODUCER_OFFSET 0 91#define NETXEN_RCV_PRODUCER_OFFSET 0
@@ -204,7 +204,7 @@ enum {
204 ? RCV_DESC_LRO : \ 204 ? RCV_DESC_LRO : \
205 (RCV_DESC_NORMAL))) 205 (RCV_DESC_NORMAL)))
206 206
207#define MAX_CMD_DESCRIPTORS 1024 207#define MAX_CMD_DESCRIPTORS 4096
208#define MAX_RCV_DESCRIPTORS 16384 208#define MAX_RCV_DESCRIPTORS 16384
209#define MAX_CMD_DESCRIPTORS_HOST (MAX_CMD_DESCRIPTORS / 4) 209#define MAX_CMD_DESCRIPTORS_HOST (MAX_CMD_DESCRIPTORS / 4)
210#define MAX_RCV_DESCRIPTORS_1G (MAX_RCV_DESCRIPTORS / 4) 210#define MAX_RCV_DESCRIPTORS_1G (MAX_RCV_DESCRIPTORS / 4)
@@ -818,15 +818,8 @@ struct netxen_adapter_stats {
818 u64 badskblen; 818 u64 badskblen;
819 u64 nocmddescriptor; 819 u64 nocmddescriptor;
820 u64 polled; 820 u64 polled;
821 u64 uphappy; 821 u64 rxdropped;
822 u64 updropped;
823 u64 uplcong;
824 u64 uphcong;
825 u64 upmcong;
826 u64 updunno;
827 u64 skbfreed;
828 u64 txdropped; 822 u64 txdropped;
829 u64 txnullskb;
830 u64 csummed; 823 u64 csummed;
831 u64 no_rcv; 824 u64 no_rcv;
832 u64 rxbytes; 825 u64 rxbytes;
@@ -842,7 +835,6 @@ struct netxen_rcv_desc_ctx {
842 u32 flags; 835 u32 flags;
843 u32 producer; 836 u32 producer;
844 u32 rcv_pending; /* Num of bufs posted in phantom */ 837 u32 rcv_pending; /* Num of bufs posted in phantom */
845 u32 rcv_free; /* Num of bufs in free list */
846 dma_addr_t phys_addr; 838 dma_addr_t phys_addr;
847 struct pci_dev *phys_pdev; 839 struct pci_dev *phys_pdev;
848 struct rcv_desc *desc_head; /* address of rx ring in Phantom */ 840 struct rcv_desc *desc_head; /* address of rx ring in Phantom */
@@ -889,8 +881,6 @@ struct netxen_adapter {
889 int mtu; 881 int mtu;
890 int portnum; 882 int portnum;
891 883
892 spinlock_t tx_lock;
893 spinlock_t lock;
894 struct work_struct watchdog_task; 884 struct work_struct watchdog_task;
895 struct timer_list watchdog_timer; 885 struct timer_list watchdog_timer;
896 struct work_struct tx_timeout_task; 886 struct work_struct tx_timeout_task;
@@ -899,16 +889,12 @@ struct netxen_adapter {
899 889
900 u32 cmd_producer; 890 u32 cmd_producer;
901 __le32 *cmd_consumer; 891 __le32 *cmd_consumer;
902
903 u32 last_cmd_consumer; 892 u32 last_cmd_consumer;
893
904 u32 max_tx_desc_count; 894 u32 max_tx_desc_count;
905 u32 max_rx_desc_count; 895 u32 max_rx_desc_count;
906 u32 max_jumbo_rx_desc_count; 896 u32 max_jumbo_rx_desc_count;
907 u32 max_lro_rx_desc_count; 897 u32 max_lro_rx_desc_count;
908 /* Num of instances active on cmd buffer ring */
909 u32 proc_cmd_buf_counter;
910
911 u32 num_threads, total_threads; /*Use to keep track of xmit threads */
912 898
913 u32 flags; 899 u32 flags;
914 u32 irq; 900 u32 irq;
@@ -942,6 +928,7 @@ struct netxen_adapter {
942 struct pci_dev *ctx_desc_pdev; 928 struct pci_dev *ctx_desc_pdev;
943 dma_addr_t ctx_desc_phys_addr; 929 dma_addr_t ctx_desc_phys_addr;
944 int intr_scheme; 930 int intr_scheme;
931 int msi_mode;
945 int (*enable_phy_interrupts) (struct netxen_adapter *); 932 int (*enable_phy_interrupts) (struct netxen_adapter *);
946 int (*disable_phy_interrupts) (struct netxen_adapter *); 933 int (*disable_phy_interrupts) (struct netxen_adapter *);
947 void (*handle_phy_intr) (struct netxen_adapter *); 934 void (*handle_phy_intr) (struct netxen_adapter *);
@@ -1075,12 +1062,10 @@ void netxen_tso_check(struct netxen_adapter *adapter,
1075 struct cmd_desc_type0 *desc, struct sk_buff *skb); 1062 struct cmd_desc_type0 *desc, struct sk_buff *skb);
1076int netxen_nic_hw_resources(struct netxen_adapter *adapter); 1063int netxen_nic_hw_resources(struct netxen_adapter *adapter);
1077void netxen_nic_clear_stats(struct netxen_adapter *adapter); 1064void netxen_nic_clear_stats(struct netxen_adapter *adapter);
1078int netxen_nic_rx_has_work(struct netxen_adapter *adapter);
1079int netxen_nic_tx_has_work(struct netxen_adapter *adapter);
1080void netxen_watchdog_task(struct work_struct *work); 1065void netxen_watchdog_task(struct work_struct *work);
1081void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, 1066void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx,
1082 u32 ringid); 1067 u32 ringid);
1083int netxen_process_cmd_ring(unsigned long data); 1068int netxen_process_cmd_ring(struct netxen_adapter *adapter);
1084u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); 1069u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max);
1085void netxen_nic_set_multi(struct net_device *netdev); 1070void netxen_nic_set_multi(struct net_device *netdev);
1086int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); 1071int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
index 7a876f4b8db..6e98d830eef 100644
--- a/drivers/net/netxen/netxen_nic_ethtool.c
+++ b/drivers/net/netxen/netxen_nic_ethtool.c
@@ -64,15 +64,7 @@ static const struct netxen_nic_stats netxen_nic_gstrings_stats[] = {
64 {"bad_skb_len", NETXEN_NIC_STAT(stats.badskblen)}, 64 {"bad_skb_len", NETXEN_NIC_STAT(stats.badskblen)},
65 {"no_cmd_desc", NETXEN_NIC_STAT(stats.nocmddescriptor)}, 65 {"no_cmd_desc", NETXEN_NIC_STAT(stats.nocmddescriptor)},
66 {"polled", NETXEN_NIC_STAT(stats.polled)}, 66 {"polled", NETXEN_NIC_STAT(stats.polled)},
67 {"uphappy", NETXEN_NIC_STAT(stats.uphappy)},
68 {"updropped", NETXEN_NIC_STAT(stats.updropped)},
69 {"uplcong", NETXEN_NIC_STAT(stats.uplcong)},
70 {"uphcong", NETXEN_NIC_STAT(stats.uphcong)},
71 {"upmcong", NETXEN_NIC_STAT(stats.upmcong)},
72 {"updunno", NETXEN_NIC_STAT(stats.updunno)},
73 {"skb_freed", NETXEN_NIC_STAT(stats.skbfreed)},
74 {"tx_dropped", NETXEN_NIC_STAT(stats.txdropped)}, 67 {"tx_dropped", NETXEN_NIC_STAT(stats.txdropped)},
75 {"tx_null_skb", NETXEN_NIC_STAT(stats.txnullskb)},
76 {"csummed", NETXEN_NIC_STAT(stats.csummed)}, 68 {"csummed", NETXEN_NIC_STAT(stats.csummed)},
77 {"no_rcv", NETXEN_NIC_STAT(stats.no_rcv)}, 69 {"no_rcv", NETXEN_NIC_STAT(stats.no_rcv)},
78 {"rx_bytes", NETXEN_NIC_STAT(stats.rxbytes)}, 70 {"rx_bytes", NETXEN_NIC_STAT(stats.rxbytes)},
diff --git a/drivers/net/netxen/netxen_nic_hdr.h b/drivers/net/netxen/netxen_nic_hdr.h
index d72f8f8fcb5..160f605e58d 100644
--- a/drivers/net/netxen/netxen_nic_hdr.h
+++ b/drivers/net/netxen/netxen_nic_hdr.h
@@ -456,6 +456,12 @@ enum {
456#define ISR_INT_MASK_SLOW (NETXEN_PCIX_PS_REG(PCIX_INT_MASK)) 456#define ISR_INT_MASK_SLOW (NETXEN_PCIX_PS_REG(PCIX_INT_MASK))
457#define ISR_INT_TARGET_STATUS (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS)) 457#define ISR_INT_TARGET_STATUS (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS))
458#define ISR_INT_TARGET_MASK (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK)) 458#define ISR_INT_TARGET_MASK (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK))
459#define ISR_INT_TARGET_STATUS_F1 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F1))
460#define ISR_INT_TARGET_MASK_F1 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F1))
461#define ISR_INT_TARGET_STATUS_F2 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F2))
462#define ISR_INT_TARGET_MASK_F2 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F2))
463#define ISR_INT_TARGET_STATUS_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F3))
464#define ISR_INT_TARGET_MASK_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F3))
459 465
460#define NETXEN_PCI_MAPSIZE 128 466#define NETXEN_PCI_MAPSIZE 128
461#define NETXEN_PCI_DDR_NET (0x00000000UL) 467#define NETXEN_PCI_DDR_NET (0x00000000UL)
@@ -662,6 +668,12 @@ enum {
662 668
663#define PCIX_TARGET_STATUS (0x10118) 669#define PCIX_TARGET_STATUS (0x10118)
664#define PCIX_TARGET_MASK (0x10128) 670#define PCIX_TARGET_MASK (0x10128)
671#define PCIX_TARGET_STATUS_F1 (0x10160)
672#define PCIX_TARGET_MASK_F1 (0x10170)
673#define PCIX_TARGET_STATUS_F2 (0x10164)
674#define PCIX_TARGET_MASK_F2 (0x10174)
675#define PCIX_TARGET_STATUS_F3 (0x10168)
676#define PCIX_TARGET_MASK_F3 (0x10178)
665 677
666#define PCIX_MSI_F0 (0x13000) 678#define PCIX_MSI_F0 (0x13000)
667#define PCIX_MSI_F1 (0x13004) 679#define PCIX_MSI_F1 (0x13004)
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
index 01355701bf8..05748ca6f21 100644
--- a/drivers/net/netxen/netxen_nic_hw.c
+++ b/drivers/net/netxen/netxen_nic_hw.c
@@ -398,6 +398,8 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter)
398 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_CAPABILITIES_FW)); 398 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_CAPABILITIES_FW));
399 printk(KERN_NOTICE "%s: FW capabilities:0x%x\n", netxen_nic_driver_name, 399 printk(KERN_NOTICE "%s: FW capabilities:0x%x\n", netxen_nic_driver_name,
400 adapter->intr_scheme); 400 adapter->intr_scheme);
401 adapter->msi_mode = readl(
402 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_MSI_MODE_FW));
401 DPRINTK(INFO, "Receive Peg ready too. starting stuff\n"); 403 DPRINTK(INFO, "Receive Peg ready too. starting stuff\n");
402 404
403 addr = netxen_alloc(adapter->ahw.pdev, 405 addr = netxen_alloc(adapter->ahw.pdev,
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c
index 9e38bcb3fba..45fa33e0cb9 100644
--- a/drivers/net/netxen/netxen_nic_init.c
+++ b/drivers/net/netxen/netxen_nic_init.c
@@ -145,6 +145,8 @@ int netxen_init_firmware(struct netxen_adapter *adapter)
145 /* Window 1 call */ 145 /* Window 1 call */
146 writel(INTR_SCHEME_PERPORT, 146 writel(INTR_SCHEME_PERPORT,
147 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_CAPABILITIES_HOST)); 147 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_CAPABILITIES_HOST));
148 writel(MSI_MODE_MULTIFUNC,
149 NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_MSI_MODE_HOST));
148 writel(MPORT_MULTI_FUNCTION_MODE, 150 writel(MPORT_MULTI_FUNCTION_MODE,
149 NETXEN_CRB_NORMALIZE(adapter, CRB_MPORT_MODE)); 151 NETXEN_CRB_NORMALIZE(adapter, CRB_MPORT_MODE));
150 writel(PHAN_INITIALIZE_ACK, 152 writel(PHAN_INITIALIZE_ACK,
@@ -183,7 +185,6 @@ void netxen_initialize_adapter_sw(struct netxen_adapter *adapter)
183 for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) { 185 for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) {
184 struct netxen_rx_buffer *rx_buf; 186 struct netxen_rx_buffer *rx_buf;
185 rcv_desc = &adapter->recv_ctx[ctxid].rcv_desc[ring]; 187 rcv_desc = &adapter->recv_ctx[ctxid].rcv_desc[ring];
186 rcv_desc->rcv_free = rcv_desc->max_rx_desc_count;
187 rcv_desc->begin_alloc = 0; 188 rcv_desc->begin_alloc = 0;
188 rx_buf = rcv_desc->rx_buf_arr; 189 rx_buf = rcv_desc->rx_buf_arr;
189 num_rx_bufs = rcv_desc->max_rx_desc_count; 190 num_rx_bufs = rcv_desc->max_rx_desc_count;
@@ -974,28 +975,6 @@ int netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val)
974 return 0; 975 return 0;
975} 976}
976 977
977int netxen_nic_rx_has_work(struct netxen_adapter *adapter)
978{
979 int ctx;
980
981 for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) {
982 struct netxen_recv_context *recv_ctx =
983 &(adapter->recv_ctx[ctx]);
984 u32 consumer;
985 struct status_desc *desc_head;
986 struct status_desc *desc;
987
988 consumer = recv_ctx->status_rx_consumer;
989 desc_head = recv_ctx->rcv_status_desc_head;
990 desc = &desc_head[consumer];
991
992 if (netxen_get_sts_owner(desc) & STATUS_OWNER_HOST)
993 return 1;
994 }
995
996 return 0;
997}
998
999static int netxen_nic_check_temp(struct netxen_adapter *adapter) 978static int netxen_nic_check_temp(struct netxen_adapter *adapter)
1000{ 979{
1001 struct net_device *netdev = adapter->netdev; 980 struct net_device *netdev = adapter->netdev;
@@ -1038,7 +1017,6 @@ static int netxen_nic_check_temp(struct netxen_adapter *adapter)
1038 1017
1039void netxen_watchdog_task(struct work_struct *work) 1018void netxen_watchdog_task(struct work_struct *work)
1040{ 1019{
1041 struct net_device *netdev;
1042 struct netxen_adapter *adapter = 1020 struct netxen_adapter *adapter =
1043 container_of(work, struct netxen_adapter, watchdog_task); 1021 container_of(work, struct netxen_adapter, watchdog_task);
1044 1022
@@ -1048,20 +1026,6 @@ void netxen_watchdog_task(struct work_struct *work)
1048 if (adapter->handle_phy_intr) 1026 if (adapter->handle_phy_intr)
1049 adapter->handle_phy_intr(adapter); 1027 adapter->handle_phy_intr(adapter);
1050 1028
1051 netdev = adapter->netdev;
1052 if ((netif_running(netdev)) && !netif_carrier_ok(netdev) &&
1053 netxen_nic_link_ok(adapter) ) {
1054 printk(KERN_INFO "%s %s (port %d), Link is up\n",
1055 netxen_nic_driver_name, netdev->name, adapter->portnum);
1056 netif_carrier_on(netdev);
1057 netif_wake_queue(netdev);
1058 } else if(!(netif_running(netdev)) && netif_carrier_ok(netdev)) {
1059 printk(KERN_ERR "%s %s Link is Down\n",
1060 netxen_nic_driver_name, netdev->name);
1061 netif_carrier_off(netdev);
1062 netif_stop_queue(netdev);
1063 }
1064
1065 mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ); 1029 mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ);
1066} 1030}
1067 1031
@@ -1125,7 +1089,7 @@ static void netxen_process_rcv(struct netxen_adapter *adapter, int ctxid,
1125 skb = (struct sk_buff *)buffer->skb; 1089 skb = (struct sk_buff *)buffer->skb;
1126 1090
1127 if (likely(adapter->rx_csum && 1091 if (likely(adapter->rx_csum &&
1128 netxen_get_sts_status(sts_data) == STATUS_CKSUM_OK)) { 1092 netxen_get_sts_status(sts_data) == STATUS_CKSUM_OK)) {
1129 adapter->stats.csummed++; 1093 adapter->stats.csummed++;
1130 skb->ip_summed = CHECKSUM_UNNECESSARY; 1094 skb->ip_summed = CHECKSUM_UNNECESSARY;
1131 } else 1095 } else
@@ -1142,40 +1106,8 @@ static void netxen_process_rcv(struct netxen_adapter *adapter, int ctxid,
1142 skb->protocol = eth_type_trans(skb, netdev); 1106 skb->protocol = eth_type_trans(skb, netdev);
1143 1107
1144 ret = netif_receive_skb(skb); 1108 ret = netif_receive_skb(skb);
1145
1146 /*
1147 * RH: Do we need these stats on a regular basis. Can we get it from
1148 * Linux stats.
1149 */
1150 switch (ret) {
1151 case NET_RX_SUCCESS:
1152 adapter->stats.uphappy++;
1153 break;
1154
1155 case NET_RX_CN_LOW:
1156 adapter->stats.uplcong++;
1157 break;
1158
1159 case NET_RX_CN_MOD:
1160 adapter->stats.upmcong++;
1161 break;
1162
1163 case NET_RX_CN_HIGH:
1164 adapter->stats.uphcong++;
1165 break;
1166
1167 case NET_RX_DROP:
1168 adapter->stats.updropped++;
1169 break;
1170
1171 default:
1172 adapter->stats.updunno++;
1173 break;
1174 }
1175
1176 netdev->last_rx = jiffies; 1109 netdev->last_rx = jiffies;
1177 1110
1178 rcv_desc->rcv_free++;
1179 rcv_desc->rcv_pending--; 1111 rcv_desc->rcv_pending--;
1180 1112
1181 /* 1113 /*
@@ -1200,13 +1132,6 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max)
1200 u32 producer = 0; 1132 u32 producer = 0;
1201 int count = 0, ring; 1133 int count = 0, ring;
1202 1134
1203 DPRINTK(INFO, "procesing receive\n");
1204 /*
1205 * we assume in this case that there is only one port and that is
1206 * port #1...changes need to be done in firmware to indicate port
1207 * number as part of the descriptor. This way we will be able to get
1208 * the netdev which is associated with that device.
1209 */
1210 while (count < max) { 1135 while (count < max) {
1211 desc = &desc_head[consumer]; 1136 desc = &desc_head[consumer];
1212 if (!(netxen_get_sts_owner(desc) & STATUS_OWNER_HOST)) { 1137 if (!(netxen_get_sts_owner(desc) & STATUS_OWNER_HOST)) {
@@ -1219,11 +1144,8 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max)
1219 consumer = (consumer + 1) & (adapter->max_rx_desc_count - 1); 1144 consumer = (consumer + 1) & (adapter->max_rx_desc_count - 1);
1220 count++; 1145 count++;
1221 } 1146 }
1222 if (count) { 1147 for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++)
1223 for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) { 1148 netxen_post_rx_buffers_nodb(adapter, ctxid, ring);
1224 netxen_post_rx_buffers_nodb(adapter, ctxid, ring);
1225 }
1226 }
1227 1149
1228 /* update the consumer index in phantom */ 1150 /* update the consumer index in phantom */
1229 if (count) { 1151 if (count) {
@@ -1233,108 +1155,60 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max)
1233 /* Window = 1 */ 1155 /* Window = 1 */
1234 writel(consumer, 1156 writel(consumer,
1235 NETXEN_CRB_NORMALIZE(adapter, 1157 NETXEN_CRB_NORMALIZE(adapter,
1236 recv_crb_registers[adapter->portnum]. 1158 recv_crb_registers[adapter->portnum].
1237 crb_rcv_status_consumer)); 1159 crb_rcv_status_consumer));
1238 wmb();
1239 } 1160 }
1240 1161
1241 return count; 1162 return count;
1242} 1163}
1243 1164
1244/* Process Command status ring */ 1165/* Process Command status ring */
1245int netxen_process_cmd_ring(unsigned long data) 1166int netxen_process_cmd_ring(struct netxen_adapter *adapter)
1246{ 1167{
1247 u32 last_consumer; 1168 u32 last_consumer, consumer;
1248 u32 consumer; 1169 int count = 0, i;
1249 struct netxen_adapter *adapter = (struct netxen_adapter *)data;
1250 int count1 = 0;
1251 int count2 = 0;
1252 struct netxen_cmd_buffer *buffer; 1170 struct netxen_cmd_buffer *buffer;
1253 struct pci_dev *pdev; 1171 struct pci_dev *pdev = adapter->pdev;
1172 struct net_device *netdev = adapter->netdev;
1254 struct netxen_skb_frag *frag; 1173 struct netxen_skb_frag *frag;
1255 u32 i; 1174 int done = 0;
1256 int done;
1257 1175
1258 spin_lock(&adapter->tx_lock);
1259 last_consumer = adapter->last_cmd_consumer; 1176 last_consumer = adapter->last_cmd_consumer;
1260 DPRINTK(INFO, "procesing xmit complete\n");
1261 /* we assume in this case that there is only one port and that is
1262 * port #1...changes need to be done in firmware to indicate port
1263 * number as part of the descriptor. This way we will be able to get
1264 * the netdev which is associated with that device.
1265 */
1266
1267 consumer = le32_to_cpu(*(adapter->cmd_consumer)); 1177 consumer = le32_to_cpu(*(adapter->cmd_consumer));
1268 if (last_consumer == consumer) { /* Ring is empty */
1269 DPRINTK(INFO, "last_consumer %d == consumer %d\n",
1270 last_consumer, consumer);
1271 spin_unlock(&adapter->tx_lock);
1272 return 1;
1273 }
1274
1275 adapter->proc_cmd_buf_counter++;
1276 /*
1277 * Not needed - does not seem to be used anywhere.
1278 * adapter->cmd_consumer = consumer;
1279 */
1280 spin_unlock(&adapter->tx_lock);
1281 1178
1282 while ((last_consumer != consumer) && (count1 < MAX_STATUS_HANDLE)) { 1179 while (last_consumer != consumer) {
1283 buffer = &adapter->cmd_buf_arr[last_consumer]; 1180 buffer = &adapter->cmd_buf_arr[last_consumer];
1284 pdev = adapter->pdev;
1285 if (buffer->skb) { 1181 if (buffer->skb) {
1286 frag = &buffer->frag_array[0]; 1182 frag = &buffer->frag_array[0];
1287 pci_unmap_single(pdev, frag->dma, frag->length, 1183 pci_unmap_single(pdev, frag->dma, frag->length,
1288 PCI_DMA_TODEVICE); 1184 PCI_DMA_TODEVICE);
1289 frag->dma = 0ULL; 1185 frag->dma = 0ULL;
1290 for (i = 1; i < buffer->frag_count; i++) { 1186 for (i = 1; i < buffer->frag_count; i++) {
1291 DPRINTK(INFO, "getting fragment no %d\n", i);
1292 frag++; /* Get the next frag */ 1187 frag++; /* Get the next frag */
1293 pci_unmap_page(pdev, frag->dma, frag->length, 1188 pci_unmap_page(pdev, frag->dma, frag->length,
1294 PCI_DMA_TODEVICE); 1189 PCI_DMA_TODEVICE);
1295 frag->dma = 0ULL; 1190 frag->dma = 0ULL;
1296 } 1191 }
1297 1192
1298 adapter->stats.skbfreed++; 1193 adapter->stats.xmitfinished++;
1299 dev_kfree_skb_any(buffer->skb); 1194 dev_kfree_skb_any(buffer->skb);
1300 buffer->skb = NULL; 1195 buffer->skb = NULL;
1301 } else if (adapter->proc_cmd_buf_counter == 1) {
1302 adapter->stats.txnullskb++;
1303 }
1304 if (unlikely(netif_queue_stopped(adapter->netdev)
1305 && netif_carrier_ok(adapter->netdev))
1306 && ((jiffies - adapter->netdev->trans_start) >
1307 adapter->netdev->watchdog_timeo)) {
1308 SCHEDULE_WORK(&adapter->tx_timeout_task);
1309 } 1196 }
1310 1197
1311 last_consumer = get_next_index(last_consumer, 1198 last_consumer = get_next_index(last_consumer,
1312 adapter->max_tx_desc_count); 1199 adapter->max_tx_desc_count);
1313 count1++; 1200 if (++count >= MAX_STATUS_HANDLE)
1201 break;
1314 } 1202 }
1315 1203
1316 count2 = 0; 1204 if (count) {
1317 spin_lock(&adapter->tx_lock);
1318 if ((--adapter->proc_cmd_buf_counter) == 0) {
1319 adapter->last_cmd_consumer = last_consumer; 1205 adapter->last_cmd_consumer = last_consumer;
1320 while ((adapter->last_cmd_consumer != consumer) 1206 smp_mb();
1321 && (count2 < MAX_STATUS_HANDLE)) { 1207 if (netif_queue_stopped(netdev) && netif_running(netdev)) {
1322 buffer = 1208 netif_tx_lock(netdev);
1323 &adapter->cmd_buf_arr[adapter->last_cmd_consumer]; 1209 netif_wake_queue(netdev);
1324 count2++; 1210 smp_mb();
1325 if (buffer->skb) 1211 netif_tx_unlock(netdev);
1326 break;
1327 else
1328 adapter->last_cmd_consumer =
1329 get_next_index(adapter->last_cmd_consumer,
1330 adapter->max_tx_desc_count);
1331 }
1332 }
1333 if (count1 || count2) {
1334 if (netif_queue_stopped(adapter->netdev)
1335 && (adapter->flags & NETXEN_NETDEV_STATUS)) {
1336 netif_wake_queue(adapter->netdev);
1337 adapter->flags &= ~NETXEN_NETDEV_STATUS;
1338 } 1212 }
1339 } 1213 }
1340 /* 1214 /*
@@ -1350,16 +1224,9 @@ int netxen_process_cmd_ring(unsigned long data)
1350 * There is still a possible race condition and the host could miss an 1224 * There is still a possible race condition and the host could miss an
1351 * interrupt. The card has to take care of this. 1225 * interrupt. The card has to take care of this.
1352 */ 1226 */
1353 if (adapter->last_cmd_consumer == consumer && 1227 consumer = le32_to_cpu(*(adapter->cmd_consumer));
1354 (((adapter->cmd_producer + 1) % 1228 done = (last_consumer == consumer);
1355 adapter->max_tx_desc_count) == adapter->last_cmd_consumer)) {
1356 consumer = le32_to_cpu(*(adapter->cmd_consumer));
1357 }
1358 done = (adapter->last_cmd_consumer == consumer);
1359 1229
1360 spin_unlock(&adapter->tx_lock);
1361 DPRINTK(INFO, "last consumer is %d in %s\n", last_consumer,
1362 __FUNCTION__);
1363 return (done); 1230 return (done);
1364} 1231}
1365 1232
@@ -1433,8 +1300,6 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid)
1433 rcv_desc->begin_alloc = index; 1300 rcv_desc->begin_alloc = index;
1434 rcv_desc->rcv_pending += count; 1301 rcv_desc->rcv_pending += count;
1435 rcv_desc->producer = producer; 1302 rcv_desc->producer = producer;
1436 if (rcv_desc->rcv_free >= 32) {
1437 rcv_desc->rcv_free = 0;
1438 /* Window = 1 */ 1303 /* Window = 1 */
1439 writel((producer - 1) & 1304 writel((producer - 1) &
1440 (rcv_desc->max_rx_desc_count - 1), 1305 (rcv_desc->max_rx_desc_count - 1),
@@ -1458,8 +1323,6 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid)
1458 writel(msg, 1323 writel(msg,
1459 DB_NORMALIZE(adapter, 1324 DB_NORMALIZE(adapter,
1460 NETXEN_RCV_PRODUCER_OFFSET)); 1325 NETXEN_RCV_PRODUCER_OFFSET));
1461 wmb();
1462 }
1463 } 1326 }
1464} 1327}
1465 1328
@@ -1523,8 +1386,6 @@ static void netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
1523 rcv_desc->begin_alloc = index; 1386 rcv_desc->begin_alloc = index;
1524 rcv_desc->rcv_pending += count; 1387 rcv_desc->rcv_pending += count;
1525 rcv_desc->producer = producer; 1388 rcv_desc->producer = producer;
1526 if (rcv_desc->rcv_free >= 32) {
1527 rcv_desc->rcv_free = 0;
1528 /* Window = 1 */ 1389 /* Window = 1 */
1529 writel((producer - 1) & 1390 writel((producer - 1) &
1530 (rcv_desc->max_rx_desc_count - 1), 1391 (rcv_desc->max_rx_desc_count - 1),
@@ -1534,21 +1395,9 @@ static void netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
1534 rcv_desc_crb[ringid]. 1395 rcv_desc_crb[ringid].
1535 crb_rcv_producer_offset)); 1396 crb_rcv_producer_offset));
1536 wmb(); 1397 wmb();
1537 }
1538 } 1398 }
1539} 1399}
1540 1400
1541int netxen_nic_tx_has_work(struct netxen_adapter *adapter)
1542{
1543 if (find_diff_among(adapter->last_cmd_consumer,
1544 adapter->cmd_producer,
1545 adapter->max_tx_desc_count) > 0)
1546 return 1;
1547
1548 return 0;
1549}
1550
1551
1552void netxen_nic_clear_stats(struct netxen_adapter *adapter) 1401void netxen_nic_clear_stats(struct netxen_adapter *adapter)
1553{ 1402{
1554 memset(&adapter->stats, 0, sizeof(adapter->stats)); 1403 memset(&adapter->stats, 0, sizeof(adapter->stats));
diff --git a/drivers/net/netxen/netxen_nic_isr.c b/drivers/net/netxen/netxen_nic_isr.c
index 48a404aa66c..c81313b717b 100644
--- a/drivers/net/netxen/netxen_nic_isr.c
+++ b/drivers/net/netxen/netxen_nic_isr.c
@@ -59,7 +59,7 @@ struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev)
59 /* packet transmit problems */ 59 /* packet transmit problems */
60 stats->tx_errors = adapter->stats.nocmddescriptor; 60 stats->tx_errors = adapter->stats.nocmddescriptor;
61 /* no space in linux buffers */ 61 /* no space in linux buffers */
62 stats->rx_dropped = adapter->stats.updropped; 62 stats->rx_dropped = adapter->stats.rxdropped;
63 /* no space available in linux */ 63 /* no space available in linux */
64 stats->tx_dropped = adapter->stats.txdropped; 64 stats->tx_dropped = adapter->stats.txdropped;
65 65
@@ -193,14 +193,14 @@ int netxen_nic_link_ok(struct netxen_adapter *adapter)
193void netxen_nic_xgbe_handle_phy_intr(struct netxen_adapter *adapter) 193void netxen_nic_xgbe_handle_phy_intr(struct netxen_adapter *adapter)
194{ 194{
195 struct net_device *netdev = adapter->netdev; 195 struct net_device *netdev = adapter->netdev;
196 u32 val, val1; 196 u32 val;
197 197
198 /* WINDOW = 1 */ 198 /* WINDOW = 1 */
199 val = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_XG_STATE)); 199 val = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_XG_STATE));
200 val >>= (physical_port[adapter->portnum] * 8); 200 val >>= (physical_port[adapter->portnum] * 8);
201 val1 = val & 0xff; 201 val &= 0xff;
202 202
203 if (adapter->ahw.xg_linkup == 1 && val1 != XG_LINK_UP) { 203 if (adapter->ahw.xg_linkup == 1 && val != XG_LINK_UP) {
204 printk(KERN_INFO "%s: %s NIC Link is down\n", 204 printk(KERN_INFO "%s: %s NIC Link is down\n",
205 netxen_nic_driver_name, netdev->name); 205 netxen_nic_driver_name, netdev->name);
206 adapter->ahw.xg_linkup = 0; 206 adapter->ahw.xg_linkup = 0;
@@ -208,16 +208,7 @@ void netxen_nic_xgbe_handle_phy_intr(struct netxen_adapter *adapter)
208 netif_carrier_off(netdev); 208 netif_carrier_off(netdev);
209 netif_stop_queue(netdev); 209 netif_stop_queue(netdev);
210 } 210 }
211 /* read twice to clear sticky bits */ 211 } else if (adapter->ahw.xg_linkup == 0 && val == XG_LINK_UP) {
212 /* WINDOW = 0 */
213 netxen_nic_read_w0(adapter, NETXEN_NIU_XG_STATUS, &val1);
214 netxen_nic_read_w0(adapter, NETXEN_NIU_XG_STATUS, &val1);
215
216 if ((val & 0xffb) != 0xffb) {
217 printk(KERN_INFO "%s ISR: Sync/Align BAD: 0x%08x\n",
218 netxen_nic_driver_name, val1);
219 }
220 } else if (adapter->ahw.xg_linkup == 0 && val1 == XG_LINK_UP) {
221 printk(KERN_INFO "%s: %s NIC Link is up\n", 212 printk(KERN_INFO "%s: %s NIC Link is up\n",
222 netxen_nic_driver_name, netdev->name); 213 netxen_nic_driver_name, netdev->name);
223 adapter->ahw.xg_linkup = 1; 214 adapter->ahw.xg_linkup = 1;
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 9737eae5ef1..a8fb439a4d0 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -63,12 +63,12 @@ static int netxen_nic_xmit_frame(struct sk_buff *, struct net_device *);
63static void netxen_tx_timeout(struct net_device *netdev); 63static void netxen_tx_timeout(struct net_device *netdev);
64static void netxen_tx_timeout_task(struct work_struct *work); 64static void netxen_tx_timeout_task(struct work_struct *work);
65static void netxen_watchdog(unsigned long); 65static void netxen_watchdog(unsigned long);
66static int netxen_handle_int(struct netxen_adapter *, struct net_device *);
67static int netxen_nic_poll(struct napi_struct *napi, int budget); 66static int netxen_nic_poll(struct napi_struct *napi, int budget);
68#ifdef CONFIG_NET_POLL_CONTROLLER 67#ifdef CONFIG_NET_POLL_CONTROLLER
69static void netxen_nic_poll_controller(struct net_device *netdev); 68static void netxen_nic_poll_controller(struct net_device *netdev);
70#endif 69#endif
71static irqreturn_t netxen_intr(int irq, void *data); 70static irqreturn_t netxen_intr(int irq, void *data);
71static irqreturn_t netxen_msi_intr(int irq, void *data);
72 72
73int physical_port[] = {0, 1, 2, 3}; 73int physical_port[] = {0, 1, 2, 3};
74 74
@@ -149,33 +149,30 @@ static void netxen_nic_update_cmd_consumer(struct netxen_adapter *adapter,
149 149
150#define ADAPTER_LIST_SIZE 12 150#define ADAPTER_LIST_SIZE 12
151 151
152static uint32_t msi_tgt_status[4] = {
153 ISR_INT_TARGET_STATUS, ISR_INT_TARGET_STATUS_F1,
154 ISR_INT_TARGET_STATUS_F2, ISR_INT_TARGET_STATUS_F3
155};
156
157static uint32_t sw_int_mask[4] = {
158 CRB_SW_INT_MASK_0, CRB_SW_INT_MASK_1,
159 CRB_SW_INT_MASK_2, CRB_SW_INT_MASK_3
160};
161
152static void netxen_nic_disable_int(struct netxen_adapter *adapter) 162static void netxen_nic_disable_int(struct netxen_adapter *adapter)
153{ 163{
154 uint32_t mask = 0x7ff; 164 u32 mask = 0x7ff;
155 int retries = 32; 165 int retries = 32;
166 int port = adapter->portnum;
167 int pci_fn = adapter->ahw.pci_func;
156 168
157 DPRINTK(1, INFO, "Entered ISR Disable \n"); 169 if (adapter->msi_mode != MSI_MODE_MULTIFUNC)
158 170 writel(0x0, NETXEN_CRB_NORMALIZE(adapter, sw_int_mask[port]));
159 switch (adapter->portnum) {
160 case 0:
161 writel(0x0, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_0));
162 break;
163 case 1:
164 writel(0x0, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_1));
165 break;
166 case 2:
167 writel(0x0, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_2));
168 break;
169 case 3:
170 writel(0x0, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_3));
171 break;
172 }
173 171
174 if (adapter->intr_scheme != -1 && 172 if (adapter->intr_scheme != -1 &&
175 adapter->intr_scheme != INTR_SCHEME_PERPORT) 173 adapter->intr_scheme != INTR_SCHEME_PERPORT)
176 writel(mask,PCI_OFFSET_SECOND_RANGE(adapter, ISR_INT_MASK)); 174 writel(mask,PCI_OFFSET_SECOND_RANGE(adapter, ISR_INT_MASK));
177 175
178 /* Window = 0 or 1 */
179 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { 176 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) {
180 do { 177 do {
181 writel(0xffffffff, 178 writel(0xffffffff,
@@ -190,14 +187,18 @@ static void netxen_nic_disable_int(struct netxen_adapter *adapter)
190 printk(KERN_NOTICE "%s: Failed to disable interrupt completely\n", 187 printk(KERN_NOTICE "%s: Failed to disable interrupt completely\n",
191 netxen_nic_driver_name); 188 netxen_nic_driver_name);
192 } 189 }
190 } else {
191 if (adapter->msi_mode == MSI_MODE_MULTIFUNC) {
192 writel(0xffffffff, PCI_OFFSET_SECOND_RANGE(adapter,
193 msi_tgt_status[pci_fn]));
194 }
193 } 195 }
194
195 DPRINTK(1, INFO, "Done with Disable Int\n");
196} 196}
197 197
198static void netxen_nic_enable_int(struct netxen_adapter *adapter) 198static void netxen_nic_enable_int(struct netxen_adapter *adapter)
199{ 199{
200 u32 mask; 200 u32 mask;
201 int port = adapter->portnum;
201 202
202 DPRINTK(1, INFO, "Entered ISR Enable \n"); 203 DPRINTK(1, INFO, "Entered ISR Enable \n");
203 204
@@ -218,20 +219,7 @@ static void netxen_nic_enable_int(struct netxen_adapter *adapter)
218 writel(mask, PCI_OFFSET_SECOND_RANGE(adapter, ISR_INT_MASK)); 219 writel(mask, PCI_OFFSET_SECOND_RANGE(adapter, ISR_INT_MASK));
219 } 220 }
220 221
221 switch (adapter->portnum) { 222 writel(0x1, NETXEN_CRB_NORMALIZE(adapter, sw_int_mask[port]));
222 case 0:
223 writel(0x1, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_0));
224 break;
225 case 1:
226 writel(0x1, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_1));
227 break;
228 case 2:
229 writel(0x1, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_2));
230 break;
231 case 3:
232 writel(0x1, NETXEN_CRB_NORMALIZE(adapter, CRB_SW_INT_MASK_3));
233 break;
234 }
235 223
236 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { 224 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) {
237 mask = 0xbff; 225 mask = 0xbff;
@@ -328,7 +316,6 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
328 316
329 adapter->ahw.pdev = pdev; 317 adapter->ahw.pdev = pdev;
330 adapter->ahw.pci_func = pci_func_id; 318 adapter->ahw.pci_func = pci_func_id;
331 spin_lock_init(&adapter->tx_lock);
332 319
333 /* remap phys address */ 320 /* remap phys address */
334 mem_base = pci_resource_start(pdev, 0); /* 0 is for BAR 0 */ 321 mem_base = pci_resource_start(pdev, 0); /* 0 is for BAR 0 */
@@ -401,6 +388,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
401 388
402 /* this will be read from FW later */ 389 /* this will be read from FW later */
403 adapter->intr_scheme = -1; 390 adapter->intr_scheme = -1;
391 adapter->msi_mode = -1;
404 392
405 /* This will be reset for mezz cards */ 393 /* This will be reset for mezz cards */
406 adapter->portnum = pci_func_id; 394 adapter->portnum = pci_func_id;
@@ -415,7 +403,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
415 netdev->set_mac_address = netxen_nic_set_mac; 403 netdev->set_mac_address = netxen_nic_set_mac;
416 netdev->change_mtu = netxen_nic_change_mtu; 404 netdev->change_mtu = netxen_nic_change_mtu;
417 netdev->tx_timeout = netxen_tx_timeout; 405 netdev->tx_timeout = netxen_tx_timeout;
418 netdev->watchdog_timeo = HZ; 406 netdev->watchdog_timeo = 2*HZ;
419 407
420 netxen_nic_change_mtu(netdev, netdev->mtu); 408 netxen_nic_change_mtu(netdev, netdev->mtu);
421 409
@@ -543,7 +531,6 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
543 adapter->watchdog_timer.data = (unsigned long)adapter; 531 adapter->watchdog_timer.data = (unsigned long)adapter;
544 INIT_WORK(&adapter->watchdog_task, netxen_watchdog_task); 532 INIT_WORK(&adapter->watchdog_task, netxen_watchdog_task);
545 adapter->ahw.pdev = pdev; 533 adapter->ahw.pdev = pdev;
546 adapter->proc_cmd_buf_counter = 0;
547 adapter->ahw.revision_id = pdev->revision; 534 adapter->ahw.revision_id = pdev->revision;
548 535
549 /* make sure Window == 1 */ 536 /* make sure Window == 1 */
@@ -833,6 +820,8 @@ static int netxen_nic_open(struct net_device *netdev)
833 struct netxen_adapter *adapter = (struct netxen_adapter *)netdev->priv; 820 struct netxen_adapter *adapter = (struct netxen_adapter *)netdev->priv;
834 int err = 0; 821 int err = 0;
835 int ctx, ring; 822 int ctx, ring;
823 irq_handler_t handler;
824 unsigned long flags = IRQF_SAMPLE_RANDOM;
836 825
837 if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC) { 826 if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC) {
838 err = netxen_init_firmware(adapter); 827 err = netxen_init_firmware(adapter);
@@ -856,9 +845,14 @@ static int netxen_nic_open(struct net_device *netdev)
856 netxen_post_rx_buffers(adapter, ctx, ring); 845 netxen_post_rx_buffers(adapter, ctx, ring);
857 } 846 }
858 adapter->irq = adapter->ahw.pdev->irq; 847 adapter->irq = adapter->ahw.pdev->irq;
859 err = request_irq(adapter->ahw.pdev->irq, netxen_intr, 848 if (adapter->flags & NETXEN_NIC_MSI_ENABLED)
860 IRQF_SHARED|IRQF_SAMPLE_RANDOM, netdev->name, 849 handler = netxen_msi_intr;
861 adapter); 850 else {
851 flags |= IRQF_SHARED;
852 handler = netxen_intr;
853 }
854 err = request_irq(adapter->irq, handler,
855 flags, netdev->name, adapter);
862 if (err) { 856 if (err) {
863 printk(KERN_ERR "request_irq failed with: %d\n", err); 857 printk(KERN_ERR "request_irq failed with: %d\n", err);
864 netxen_free_hw_resources(adapter); 858 netxen_free_hw_resources(adapter);
@@ -867,21 +861,12 @@ static int netxen_nic_open(struct net_device *netdev)
867 861
868 adapter->is_up = NETXEN_ADAPTER_UP_MAGIC; 862 adapter->is_up = NETXEN_ADAPTER_UP_MAGIC;
869 } 863 }
870 if (!adapter->driver_mismatch)
871 mod_timer(&adapter->watchdog_timer, jiffies);
872
873 napi_enable(&adapter->napi);
874
875 netxen_nic_enable_int(adapter);
876
877 /* Done here again so that even if phantom sw overwrote it, 864 /* Done here again so that even if phantom sw overwrote it,
878 * we set it */ 865 * we set it */
879 if (adapter->init_port 866 if (adapter->init_port
880 && adapter->init_port(adapter, adapter->portnum) != 0) { 867 && adapter->init_port(adapter, adapter->portnum) != 0) {
881 del_timer_sync(&adapter->watchdog_timer);
882 printk(KERN_ERR "%s: Failed to initialize port %d\n", 868 printk(KERN_ERR "%s: Failed to initialize port %d\n",
883 netxen_nic_driver_name, adapter->portnum); 869 netxen_nic_driver_name, adapter->portnum);
884 napi_disable(&adapter->napi);
885 return -EIO; 870 return -EIO;
886 } 871 }
887 if (adapter->macaddr_set) 872 if (adapter->macaddr_set)
@@ -894,6 +879,12 @@ static int netxen_nic_open(struct net_device *netdev)
894 adapter->set_mtu(adapter, netdev->mtu); 879 adapter->set_mtu(adapter, netdev->mtu);
895 880
896 if (!adapter->driver_mismatch) 881 if (!adapter->driver_mismatch)
882 mod_timer(&adapter->watchdog_timer, jiffies);
883
884 napi_enable(&adapter->napi);
885 netxen_nic_enable_int(adapter);
886
887 if (!adapter->driver_mismatch)
897 netif_start_queue(netdev); 888 netif_start_queue(netdev);
898 889
899 return 0; 890 return 0;
@@ -958,41 +949,17 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
958 struct netxen_skb_frag *buffrag; 949 struct netxen_skb_frag *buffrag;
959 unsigned int i; 950 unsigned int i;
960 951
961 u32 producer = 0; 952 u32 producer, consumer;
962 u32 saved_producer = 0; 953 u32 saved_producer = 0;
963 struct cmd_desc_type0 *hwdesc; 954 struct cmd_desc_type0 *hwdesc;
964 int k; 955 int k;
965 struct netxen_cmd_buffer *pbuf = NULL; 956 struct netxen_cmd_buffer *pbuf = NULL;
966 static int dropped_packet = 0;
967 int frag_count; 957 int frag_count;
968 u32 local_producer = 0;
969 u32 max_tx_desc_count = 0;
970 u32 last_cmd_consumer = 0;
971 int no_of_desc; 958 int no_of_desc;
959 u32 num_txd = adapter->max_tx_desc_count;
972 960
973 adapter->stats.xmitcalled++;
974 frag_count = skb_shinfo(skb)->nr_frags + 1; 961 frag_count = skb_shinfo(skb)->nr_frags + 1;
975 962
976 if (unlikely(skb->len <= 0)) {
977 dev_kfree_skb_any(skb);
978 adapter->stats.badskblen++;
979 return NETDEV_TX_OK;
980 }
981
982 if (frag_count > MAX_BUFFERS_PER_CMD) {
983 printk("%s: %s netxen_nic_xmit_frame: frag_count (%d) "
984 "too large, can handle only %d frags\n",
985 netxen_nic_driver_name, netdev->name,
986 frag_count, MAX_BUFFERS_PER_CMD);
987 adapter->stats.txdropped++;
988 if ((++dropped_packet & 0xff) == 0xff)
989 printk("%s: %s droppped packets = %d\n",
990 netxen_nic_driver_name, netdev->name,
991 dropped_packet);
992
993 return NETDEV_TX_OK;
994 }
995
996 /* There 4 fragments per descriptor */ 963 /* There 4 fragments per descriptor */
997 no_of_desc = (frag_count + 3) >> 2; 964 no_of_desc = (frag_count + 3) >> 2;
998 if (netdev->features & NETIF_F_TSO) { 965 if (netdev->features & NETIF_F_TSO) {
@@ -1007,27 +974,16 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1007 } 974 }
1008 } 975 }
1009 976
1010 spin_lock_bh(&adapter->tx_lock); 977 producer = adapter->cmd_producer;
1011 if (adapter->total_threads >= MAX_XMIT_PRODUCERS) { 978 smp_mb();
1012 goto out_requeue; 979 consumer = adapter->last_cmd_consumer;
1013 } 980 if ((no_of_desc+2) > find_diff_among(producer, consumer, num_txd)) {
1014 local_producer = adapter->cmd_producer; 981 netif_stop_queue(netdev);
1015 k = adapter->cmd_producer; 982 smp_mb();
1016 max_tx_desc_count = adapter->max_tx_desc_count; 983 return NETDEV_TX_BUSY;
1017 last_cmd_consumer = adapter->last_cmd_consumer;
1018 if ((k + no_of_desc) >=
1019 ((last_cmd_consumer <= k) ? last_cmd_consumer + max_tx_desc_count :
1020 last_cmd_consumer)) {
1021 goto out_requeue;
1022 } 984 }
1023 k = get_index_range(k, max_tx_desc_count, no_of_desc);
1024 adapter->cmd_producer = k;
1025 adapter->total_threads++;
1026 adapter->num_threads++;
1027 985
1028 spin_unlock_bh(&adapter->tx_lock);
1029 /* Copy the descriptors into the hardware */ 986 /* Copy the descriptors into the hardware */
1030 producer = local_producer;
1031 saved_producer = producer; 987 saved_producer = producer;
1032 hwdesc = &hw->cmd_desc_head[producer]; 988 hwdesc = &hw->cmd_desc_head[producer];
1033 memset(hwdesc, 0, sizeof(struct cmd_desc_type0)); 989 memset(hwdesc, 0, sizeof(struct cmd_desc_type0));
@@ -1067,8 +1023,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1067 /* move to next desc. if there is a need */ 1023 /* move to next desc. if there is a need */
1068 if ((i & 0x3) == 0) { 1024 if ((i & 0x3) == 0) {
1069 k = 0; 1025 k = 0;
1070 producer = get_next_index(producer, 1026 producer = get_next_index(producer, num_txd);
1071 adapter->max_tx_desc_count);
1072 hwdesc = &hw->cmd_desc_head[producer]; 1027 hwdesc = &hw->cmd_desc_head[producer];
1073 memset(hwdesc, 0, sizeof(struct cmd_desc_type0)); 1028 memset(hwdesc, 0, sizeof(struct cmd_desc_type0));
1074 pbuf = &adapter->cmd_buf_arr[producer]; 1029 pbuf = &adapter->cmd_buf_arr[producer];
@@ -1086,7 +1041,6 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1086 buffrag->dma = temp_dma; 1041 buffrag->dma = temp_dma;
1087 buffrag->length = temp_len; 1042 buffrag->length = temp_len;
1088 1043
1089 DPRINTK(INFO, "for loop. i=%d k=%d\n", i, k);
1090 switch (k) { 1044 switch (k) {
1091 case 0: 1045 case 0:
1092 hwdesc->buffer1_length = cpu_to_le16(temp_len); 1046 hwdesc->buffer1_length = cpu_to_le16(temp_len);
@@ -1107,7 +1061,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1107 } 1061 }
1108 frag++; 1062 frag++;
1109 } 1063 }
1110 producer = get_next_index(producer, adapter->max_tx_desc_count); 1064 producer = get_next_index(producer, num_txd);
1111 1065
1112 /* might change opcode to TX_TCP_LSO */ 1066 /* might change opcode to TX_TCP_LSO */
1113 netxen_tso_check(adapter, &hw->cmd_desc_head[saved_producer], skb); 1067 netxen_tso_check(adapter, &hw->cmd_desc_head[saved_producer], skb);
@@ -1134,7 +1088,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1134 /* copy the first 64 bytes */ 1088 /* copy the first 64 bytes */
1135 memcpy(((void *)hwdesc) + 2, 1089 memcpy(((void *)hwdesc) + 2,
1136 (void *)(skb->data), first_hdr_len); 1090 (void *)(skb->data), first_hdr_len);
1137 producer = get_next_index(producer, max_tx_desc_count); 1091 producer = get_next_index(producer, num_txd);
1138 1092
1139 if (more_hdr) { 1093 if (more_hdr) {
1140 hwdesc = &hw->cmd_desc_head[producer]; 1094 hwdesc = &hw->cmd_desc_head[producer];
@@ -1147,35 +1101,19 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1147 hwdesc, 1101 hwdesc,
1148 (hdr_len - 1102 (hdr_len -
1149 first_hdr_len)); 1103 first_hdr_len));
1150 producer = get_next_index(producer, max_tx_desc_count); 1104 producer = get_next_index(producer, num_txd);
1151 } 1105 }
1152 } 1106 }
1153 1107
1154 spin_lock_bh(&adapter->tx_lock); 1108 adapter->cmd_producer = producer;
1155 adapter->stats.txbytes += skb->len; 1109 adapter->stats.txbytes += skb->len;
1156 1110
1157 /* Code to update the adapter considering how many producer threads 1111 netxen_nic_update_cmd_producer(adapter, adapter->cmd_producer);
1158 are currently working */
1159 if ((--adapter->num_threads) == 0) {
1160 /* This is the last thread */
1161 u32 crb_producer = adapter->cmd_producer;
1162 netxen_nic_update_cmd_producer(adapter, crb_producer);
1163 wmb();
1164 adapter->total_threads = 0;
1165 }
1166 1112
1167 adapter->stats.xmitfinished++; 1113 adapter->stats.xmitcalled++;
1168 netdev->trans_start = jiffies; 1114 netdev->trans_start = jiffies;
1169 1115
1170 spin_unlock_bh(&adapter->tx_lock);
1171 return NETDEV_TX_OK; 1116 return NETDEV_TX_OK;
1172
1173out_requeue:
1174 netif_stop_queue(netdev);
1175 adapter->flags |= NETXEN_NETDEV_STATUS;
1176
1177 spin_unlock_bh(&adapter->tx_lock);
1178 return NETDEV_TX_BUSY;
1179} 1117}
1180 1118
1181static void netxen_watchdog(unsigned long v) 1119static void netxen_watchdog(unsigned long v)
@@ -1200,87 +1138,60 @@ static void netxen_tx_timeout_task(struct work_struct *work)
1200 printk(KERN_ERR "%s %s: transmit timeout, resetting.\n", 1138 printk(KERN_ERR "%s %s: transmit timeout, resetting.\n",
1201 netxen_nic_driver_name, adapter->netdev->name); 1139 netxen_nic_driver_name, adapter->netdev->name);
1202 1140
1203 netxen_nic_close(adapter->netdev); 1141 netxen_nic_disable_int(adapter);
1204 netxen_nic_open(adapter->netdev); 1142 napi_disable(&adapter->napi);
1143
1205 adapter->netdev->trans_start = jiffies; 1144 adapter->netdev->trans_start = jiffies;
1145
1146 napi_enable(&adapter->napi);
1147 netxen_nic_enable_int(adapter);
1206 netif_wake_queue(adapter->netdev); 1148 netif_wake_queue(adapter->netdev);
1207} 1149}
1208 1150
1209static int 1151static inline void
1210netxen_handle_int(struct netxen_adapter *adapter, struct net_device *netdev) 1152netxen_handle_int(struct netxen_adapter *adapter)
1211{ 1153{
1212 u32 ret = 0;
1213
1214 DPRINTK(INFO, "Entered handle ISR\n");
1215 adapter->stats.ints++;
1216
1217 netxen_nic_disable_int(adapter); 1154 netxen_nic_disable_int(adapter);
1218 1155 napi_schedule(&adapter->napi);
1219 if (netxen_nic_rx_has_work(adapter) || netxen_nic_tx_has_work(adapter)) {
1220 if (netif_rx_schedule_prep(netdev, &adapter->napi)) {
1221 /*
1222 * Interrupts are already disabled.
1223 */
1224 __netif_rx_schedule(netdev, &adapter->napi);
1225 } else {
1226 static unsigned int intcount = 0;
1227 if ((++intcount & 0xfff) == 0xfff)
1228 DPRINTK(KERN_ERR
1229 "%s: %s interrupt %d while in poll\n",
1230 netxen_nic_driver_name, netdev->name,
1231 intcount);
1232 }
1233 ret = 1;
1234 }
1235
1236 if (ret == 0) {
1237 netxen_nic_enable_int(adapter);
1238 }
1239
1240 return ret;
1241} 1156}
1242 1157
1243/*
1244 * netxen_intr - Interrupt Handler
1245 * @irq: interrupt number
1246 * data points to adapter stucture (which may be handling more than 1 port
1247 */
1248irqreturn_t netxen_intr(int irq, void *data) 1158irqreturn_t netxen_intr(int irq, void *data)
1249{ 1159{
1250 struct netxen_adapter *adapter = data; 1160 struct netxen_adapter *adapter = data;
1251 struct net_device *netdev = adapter->netdev;
1252 u32 our_int = 0; 1161 u32 our_int = 0;
1253 1162
1254 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { 1163 our_int = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR));
1255 our_int = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR)); 1164 /* not our interrupt */
1256 /* not our interrupt */ 1165 if ((our_int & (0x80 << adapter->portnum)) == 0)
1257 if ((our_int & (0x80 << adapter->portnum)) == 0) 1166 return IRQ_NONE;
1258 return IRQ_NONE;
1259 }
1260 1167
1261 if (adapter->intr_scheme == INTR_SCHEME_PERPORT) { 1168 if (adapter->intr_scheme == INTR_SCHEME_PERPORT) {
1262 /* claim interrupt */ 1169 /* claim interrupt */
1263 if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { 1170 writel(our_int & ~((u32)(0x80 << adapter->portnum)),
1264 writel(our_int & ~((u32)(0x80 << adapter->portnum)),
1265 NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR)); 1171 NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR));
1266 }
1267 } 1172 }
1268 1173
1269 if (netif_running(netdev)) 1174 netxen_handle_int(adapter);
1270 netxen_handle_int(adapter, netdev);
1271 1175
1272 return IRQ_HANDLED; 1176 return IRQ_HANDLED;
1273} 1177}
1274 1178
1179irqreturn_t netxen_msi_intr(int irq, void *data)
1180{
1181 struct netxen_adapter *adapter = data;
1182
1183 netxen_handle_int(adapter);
1184 return IRQ_HANDLED;
1185}
1186
1275static int netxen_nic_poll(struct napi_struct *napi, int budget) 1187static int netxen_nic_poll(struct napi_struct *napi, int budget)
1276{ 1188{
1277 struct netxen_adapter *adapter = container_of(napi, struct netxen_adapter, napi); 1189 struct netxen_adapter *adapter = container_of(napi, struct netxen_adapter, napi);
1278 struct net_device *netdev = adapter->netdev; 1190 int tx_complete;
1279 int done = 1;
1280 int ctx; 1191 int ctx;
1281 int work_done; 1192 int work_done;
1282 1193
1283 DPRINTK(INFO, "polling for %d descriptors\n", *budget); 1194 tx_complete = netxen_process_cmd_ring(adapter);
1284 1195
1285 work_done = 0; 1196 work_done = 0;
1286 for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { 1197 for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) {
@@ -1300,16 +1211,8 @@ static int netxen_nic_poll(struct napi_struct *napi, int budget)
1300 budget / MAX_RCV_CTX); 1211 budget / MAX_RCV_CTX);
1301 } 1212 }
1302 1213
1303 if (work_done >= budget) 1214 if ((work_done < budget) && tx_complete) {
1304 done = 0; 1215 netif_rx_complete(adapter->netdev, &adapter->napi);
1305
1306 if (netxen_process_cmd_ring((unsigned long)adapter) == 0)
1307 done = 0;
1308
1309 DPRINTK(INFO, "new work_done: %d work_to_do: %d\n",
1310 work_done, work_to_do);
1311 if (done) {
1312 netif_rx_complete(netdev, napi);
1313 netxen_nic_enable_int(adapter); 1216 netxen_nic_enable_int(adapter);
1314 } 1217 }
1315 1218
diff --git a/drivers/net/netxen/netxen_nic_phan_reg.h b/drivers/net/netxen/netxen_nic_phan_reg.h
index ffa3b7215ce..a566b50f36f 100644
--- a/drivers/net/netxen/netxen_nic_phan_reg.h
+++ b/drivers/net/netxen/netxen_nic_phan_reg.h
@@ -126,8 +126,11 @@
126 */ 126 */
127#define CRB_NIC_CAPABILITIES_HOST NETXEN_NIC_REG(0x1a8) 127#define CRB_NIC_CAPABILITIES_HOST NETXEN_NIC_REG(0x1a8)
128#define CRB_NIC_CAPABILITIES_FW NETXEN_NIC_REG(0x1dc) 128#define CRB_NIC_CAPABILITIES_FW NETXEN_NIC_REG(0x1dc)
129#define CRB_NIC_MSI_MODE_HOST NETXEN_NIC_REG(0x270)
130#define CRB_NIC_MSI_MODE_FW NETXEN_NIC_REG(0x274)
129 131
130#define INTR_SCHEME_PERPORT 0x1 132#define INTR_SCHEME_PERPORT 0x1
133#define MSI_MODE_MULTIFUNC 0x1
131 134
132/* used for ethtool tests */ 135/* used for ethtool tests */
133#define CRB_SCRATCHPAD_TEST NETXEN_NIC_REG(0x280) 136#define CRB_SCRATCHPAD_TEST NETXEN_NIC_REG(0x280)
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c
index 2e39e0285d8..965f2e4b345 100644
--- a/drivers/net/pasemi_mac.c
+++ b/drivers/net/pasemi_mac.c
@@ -55,15 +55,10 @@
55 * - Multiqueue RX/TX 55 * - Multiqueue RX/TX
56 */ 56 */
57 57
58
59/* Must be a power of two */
60#define RX_RING_SIZE 2048
61#define TX_RING_SIZE 4096
62
63#define LRO_MAX_AGGR 64 58#define LRO_MAX_AGGR 64
64 59
65#define PE_MIN_MTU 64 60#define PE_MIN_MTU 64
66#define PE_MAX_MTU 1500 61#define PE_MAX_MTU 9000
67#define PE_DEF_MTU ETH_DATA_LEN 62#define PE_DEF_MTU ETH_DATA_LEN
68 63
69#define DEFAULT_MSG_ENABLE \ 64#define DEFAULT_MSG_ENABLE \
@@ -76,16 +71,6 @@
76 NETIF_MSG_RX_ERR | \ 71 NETIF_MSG_RX_ERR | \
77 NETIF_MSG_TX_ERR) 72 NETIF_MSG_TX_ERR)
78 73
79#define TX_DESC(tx, num) ((tx)->chan.ring_virt[(num) & (TX_RING_SIZE-1)])
80#define TX_DESC_INFO(tx, num) ((tx)->ring_info[(num) & (TX_RING_SIZE-1)])
81#define RX_DESC(rx, num) ((rx)->chan.ring_virt[(num) & (RX_RING_SIZE-1)])
82#define RX_DESC_INFO(rx, num) ((rx)->ring_info[(num) & (RX_RING_SIZE-1)])
83#define RX_BUFF(rx, num) ((rx)->buffers[(num) & (RX_RING_SIZE-1)])
84
85#define RING_USED(ring) (((ring)->next_to_fill - (ring)->next_to_clean) \
86 & ((ring)->size - 1))
87#define RING_AVAIL(ring) ((ring->size) - RING_USED(ring))
88
89MODULE_LICENSE("GPL"); 74MODULE_LICENSE("GPL");
90MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>"); 75MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>");
91MODULE_DESCRIPTION("PA Semi PWRficient Ethernet driver"); 76MODULE_DESCRIPTION("PA Semi PWRficient Ethernet driver");
@@ -94,6 +79,8 @@ static int debug = -1; /* -1 == use DEFAULT_MSG_ENABLE as value */
94module_param(debug, int, 0); 79module_param(debug, int, 0);
95MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value"); 80MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value");
96 81
82extern const struct ethtool_ops pasemi_mac_ethtool_ops;
83
97static int translation_enabled(void) 84static int translation_enabled(void)
98{ 85{
99#if defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE) 86#if defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE)
@@ -322,6 +309,104 @@ static int pasemi_mac_unmap_tx_skb(struct pasemi_mac *mac,
322 return (nfrags + 3) & ~1; 309 return (nfrags + 3) & ~1;
323} 310}
324 311
312static struct pasemi_mac_csring *pasemi_mac_setup_csring(struct pasemi_mac *mac)
313{
314 struct pasemi_mac_csring *ring;
315 u32 val;
316 unsigned int cfg;
317 int chno;
318
319 ring = pasemi_dma_alloc_chan(TXCHAN, sizeof(struct pasemi_mac_csring),
320 offsetof(struct pasemi_mac_csring, chan));
321
322 if (!ring) {
323 dev_err(&mac->pdev->dev, "Can't allocate checksum channel\n");
324 goto out_chan;
325 }
326
327 chno = ring->chan.chno;
328
329 ring->size = CS_RING_SIZE;
330 ring->next_to_fill = 0;
331
332 /* Allocate descriptors */
333 if (pasemi_dma_alloc_ring(&ring->chan, CS_RING_SIZE))
334 goto out_ring_desc;
335
336 write_dma_reg(PAS_DMA_TXCHAN_BASEL(chno),
337 PAS_DMA_TXCHAN_BASEL_BRBL(ring->chan.ring_dma));
338 val = PAS_DMA_TXCHAN_BASEU_BRBH(ring->chan.ring_dma >> 32);
339 val |= PAS_DMA_TXCHAN_BASEU_SIZ(CS_RING_SIZE >> 3);
340
341 write_dma_reg(PAS_DMA_TXCHAN_BASEU(chno), val);
342
343 ring->events[0] = pasemi_dma_alloc_flag();
344 ring->events[1] = pasemi_dma_alloc_flag();
345 if (ring->events[0] < 0 || ring->events[1] < 0)
346 goto out_flags;
347
348 pasemi_dma_clear_flag(ring->events[0]);
349 pasemi_dma_clear_flag(ring->events[1]);
350
351 ring->fun = pasemi_dma_alloc_fun();
352 if (ring->fun < 0)
353 goto out_fun;
354
355 cfg = PAS_DMA_TXCHAN_CFG_TY_FUNC | PAS_DMA_TXCHAN_CFG_UP |
356 PAS_DMA_TXCHAN_CFG_TATTR(ring->fun) |
357 PAS_DMA_TXCHAN_CFG_LPSQ | PAS_DMA_TXCHAN_CFG_LPDQ;
358
359 if (translation_enabled())
360 cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR;
361
362 write_dma_reg(PAS_DMA_TXCHAN_CFG(chno), cfg);
363
364 /* enable channel */
365 pasemi_dma_start_chan(&ring->chan, PAS_DMA_TXCHAN_TCMDSTA_SZ |
366 PAS_DMA_TXCHAN_TCMDSTA_DB |
367 PAS_DMA_TXCHAN_TCMDSTA_DE |
368 PAS_DMA_TXCHAN_TCMDSTA_DA);
369
370 return ring;
371
372out_fun:
373out_flags:
374 if (ring->events[0] >= 0)
375 pasemi_dma_free_flag(ring->events[0]);
376 if (ring->events[1] >= 0)
377 pasemi_dma_free_flag(ring->events[1]);
378 pasemi_dma_free_ring(&ring->chan);
379out_ring_desc:
380 pasemi_dma_free_chan(&ring->chan);
381out_chan:
382
383 return NULL;
384}
385
386static void pasemi_mac_setup_csrings(struct pasemi_mac *mac)
387{
388 int i;
389 mac->cs[0] = pasemi_mac_setup_csring(mac);
390 if (mac->type == MAC_TYPE_XAUI)
391 mac->cs[1] = pasemi_mac_setup_csring(mac);
392 else
393 mac->cs[1] = 0;
394
395 for (i = 0; i < MAX_CS; i++)
396 if (mac->cs[i])
397 mac->num_cs++;
398}
399
400static void pasemi_mac_free_csring(struct pasemi_mac_csring *csring)
401{
402 pasemi_dma_stop_chan(&csring->chan);
403 pasemi_dma_free_flag(csring->events[0]);
404 pasemi_dma_free_flag(csring->events[1]);
405 pasemi_dma_free_ring(&csring->chan);
406 pasemi_dma_free_chan(&csring->chan);
407 pasemi_dma_free_fun(csring->fun);
408}
409
325static int pasemi_mac_setup_rx_resources(const struct net_device *dev) 410static int pasemi_mac_setup_rx_resources(const struct net_device *dev)
326{ 411{
327 struct pasemi_mac_rxring *ring; 412 struct pasemi_mac_rxring *ring;
@@ -445,7 +530,7 @@ pasemi_mac_setup_tx_resources(const struct net_device *dev)
445 cfg = PAS_DMA_TXCHAN_CFG_TY_IFACE | 530 cfg = PAS_DMA_TXCHAN_CFG_TY_IFACE |
446 PAS_DMA_TXCHAN_CFG_TATTR(mac->dma_if) | 531 PAS_DMA_TXCHAN_CFG_TATTR(mac->dma_if) |
447 PAS_DMA_TXCHAN_CFG_UP | 532 PAS_DMA_TXCHAN_CFG_UP |
448 PAS_DMA_TXCHAN_CFG_WT(2); 533 PAS_DMA_TXCHAN_CFG_WT(4);
449 534
450 if (translation_enabled()) 535 if (translation_enabled())
451 cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR; 536 cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR;
@@ -810,13 +895,21 @@ restart:
810 u64 mactx = TX_DESC(txring, i); 895 u64 mactx = TX_DESC(txring, i);
811 struct sk_buff *skb; 896 struct sk_buff *skb;
812 897
813 skb = TX_DESC_INFO(txring, i+1).skb;
814 nr_frags = TX_DESC_INFO(txring, i).dma;
815
816 if ((mactx & XCT_MACTX_E) || 898 if ((mactx & XCT_MACTX_E) ||
817 (*chan->status & PAS_STATUS_ERROR)) 899 (*chan->status & PAS_STATUS_ERROR))
818 pasemi_mac_tx_error(mac, mactx); 900 pasemi_mac_tx_error(mac, mactx);
819 901
902 /* Skip over control descriptors */
903 if (!(mactx & XCT_MACTX_LLEN_M)) {
904 TX_DESC(txring, i) = 0;
905 TX_DESC(txring, i+1) = 0;
906 buf_count = 2;
907 continue;
908 }
909
910 skb = TX_DESC_INFO(txring, i+1).skb;
911 nr_frags = TX_DESC_INFO(txring, i).dma;
912
820 if (unlikely(mactx & XCT_MACTX_O)) 913 if (unlikely(mactx & XCT_MACTX_O))
821 /* Not yet transmitted */ 914 /* Not yet transmitted */
822 break; 915 break;
@@ -1041,13 +1134,7 @@ static int pasemi_mac_open(struct net_device *dev)
1041{ 1134{
1042 struct pasemi_mac *mac = netdev_priv(dev); 1135 struct pasemi_mac *mac = netdev_priv(dev);
1043 unsigned int flags; 1136 unsigned int flags;
1044 int ret; 1137 int i, ret;
1045
1046 /* enable rx section */
1047 write_dma_reg(PAS_DMA_COM_RXCMD, PAS_DMA_COM_RXCMD_EN);
1048
1049 /* enable tx section */
1050 write_dma_reg(PAS_DMA_COM_TXCMD, PAS_DMA_COM_TXCMD_EN);
1051 1138
1052 flags = PAS_MAC_CFG_TXP_FCE | PAS_MAC_CFG_TXP_FPC(3) | 1139 flags = PAS_MAC_CFG_TXP_FCE | PAS_MAC_CFG_TXP_FPC(3) |
1053 PAS_MAC_CFG_TXP_SL(3) | PAS_MAC_CFG_TXP_COB(0xf) | 1140 PAS_MAC_CFG_TXP_SL(3) | PAS_MAC_CFG_TXP_COB(0xf) |
@@ -1064,6 +1151,19 @@ static int pasemi_mac_open(struct net_device *dev)
1064 if (!mac->tx) 1151 if (!mac->tx)
1065 goto out_tx_ring; 1152 goto out_tx_ring;
1066 1153
1154 /* We might already have allocated rings in case mtu was changed
1155 * before interface was brought up.
1156 */
1157 if (dev->mtu > 1500 && !mac->num_cs) {
1158 pasemi_mac_setup_csrings(mac);
1159 if (!mac->num_cs)
1160 goto out_tx_ring;
1161 }
1162
1163 /* Zero out rmon counters */
1164 for (i = 0; i < 32; i++)
1165 write_mac_reg(mac, PAS_MAC_RMON(i), 0);
1166
1067 /* 0x3ff with 33MHz clock is about 31us */ 1167 /* 0x3ff with 33MHz clock is about 31us */
1068 write_iob_reg(PAS_IOB_DMA_COM_TIMEOUTCFG, 1168 write_iob_reg(PAS_IOB_DMA_COM_TIMEOUTCFG,
1069 PAS_IOB_DMA_COM_TIMEOUTCFG_TCNT(0x3ff)); 1169 PAS_IOB_DMA_COM_TIMEOUTCFG_TCNT(0x3ff));
@@ -1247,7 +1347,7 @@ static int pasemi_mac_close(struct net_device *dev)
1247{ 1347{
1248 struct pasemi_mac *mac = netdev_priv(dev); 1348 struct pasemi_mac *mac = netdev_priv(dev);
1249 unsigned int sta; 1349 unsigned int sta;
1250 int rxch, txch; 1350 int rxch, txch, i;
1251 1351
1252 rxch = rx_ring(mac)->chan.chno; 1352 rxch = rx_ring(mac)->chan.chno;
1253 txch = tx_ring(mac)->chan.chno; 1353 txch = tx_ring(mac)->chan.chno;
@@ -1292,6 +1392,13 @@ static int pasemi_mac_close(struct net_device *dev)
1292 free_irq(mac->tx->chan.irq, mac->tx); 1392 free_irq(mac->tx->chan.irq, mac->tx);
1293 free_irq(mac->rx->chan.irq, mac->rx); 1393 free_irq(mac->rx->chan.irq, mac->rx);
1294 1394
1395 for (i = 0; i < mac->num_cs; i++) {
1396 pasemi_mac_free_csring(mac->cs[i]);
1397 mac->cs[i] = NULL;
1398 }
1399
1400 mac->num_cs = 0;
1401
1295 /* Free resources */ 1402 /* Free resources */
1296 pasemi_mac_free_rx_resources(mac); 1403 pasemi_mac_free_rx_resources(mac);
1297 pasemi_mac_free_tx_resources(mac); 1404 pasemi_mac_free_tx_resources(mac);
@@ -1299,35 +1406,113 @@ static int pasemi_mac_close(struct net_device *dev)
1299 return 0; 1406 return 0;
1300} 1407}
1301 1408
1409static void pasemi_mac_queue_csdesc(const struct sk_buff *skb,
1410 const dma_addr_t *map,
1411 const unsigned int *map_size,
1412 struct pasemi_mac_txring *txring,
1413 struct pasemi_mac_csring *csring)
1414{
1415 u64 fund;
1416 dma_addr_t cs_dest;
1417 const int nh_off = skb_network_offset(skb);
1418 const int nh_len = skb_network_header_len(skb);
1419 const int nfrags = skb_shinfo(skb)->nr_frags;
1420 int cs_size, i, fill, hdr, cpyhdr, evt;
1421 dma_addr_t csdma;
1422
1423 fund = XCT_FUN_ST | XCT_FUN_RR_8BRES |
1424 XCT_FUN_O | XCT_FUN_FUN(csring->fun) |
1425 XCT_FUN_CRM_SIG | XCT_FUN_LLEN(skb->len - nh_off) |
1426 XCT_FUN_SHL(nh_len >> 2) | XCT_FUN_SE;
1427
1428 switch (ip_hdr(skb)->protocol) {
1429 case IPPROTO_TCP:
1430 fund |= XCT_FUN_SIG_TCP4;
1431 /* TCP checksum is 16 bytes into the header */
1432 cs_dest = map[0] + skb_transport_offset(skb) + 16;
1433 break;
1434 case IPPROTO_UDP:
1435 fund |= XCT_FUN_SIG_UDP4;
1436 /* UDP checksum is 6 bytes into the header */
1437 cs_dest = map[0] + skb_transport_offset(skb) + 6;
1438 break;
1439 default:
1440 BUG();
1441 }
1442
1443 /* Do the checksum offloaded */
1444 fill = csring->next_to_fill;
1445 hdr = fill;
1446
1447 CS_DESC(csring, fill++) = fund;
1448 /* Room for 8BRES. Checksum result is really 2 bytes into it */
1449 csdma = csring->chan.ring_dma + (fill & (CS_RING_SIZE-1)) * 8 + 2;
1450 CS_DESC(csring, fill++) = 0;
1451
1452 CS_DESC(csring, fill) = XCT_PTR_LEN(map_size[0]-nh_off) | XCT_PTR_ADDR(map[0]+nh_off);
1453 for (i = 1; i <= nfrags; i++)
1454 CS_DESC(csring, fill+i) = XCT_PTR_LEN(map_size[i]) | XCT_PTR_ADDR(map[i]);
1455
1456 fill += i;
1457 if (fill & 1)
1458 fill++;
1459
1460 /* Copy the result into the TCP packet */
1461 cpyhdr = fill;
1462 CS_DESC(csring, fill++) = XCT_FUN_O | XCT_FUN_FUN(csring->fun) |
1463 XCT_FUN_LLEN(2) | XCT_FUN_SE;
1464 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(cs_dest) | XCT_PTR_T;
1465 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(csdma);
1466 fill++;
1467
1468 evt = !csring->last_event;
1469 csring->last_event = evt;
1470
1471 /* Event handshaking with MAC TX */
1472 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O |
1473 CTRL_CMD_ETYPE_SET | CTRL_CMD_REG(csring->events[evt]);
1474 CS_DESC(csring, fill++) = 0;
1475 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O |
1476 CTRL_CMD_ETYPE_WCLR | CTRL_CMD_REG(csring->events[!evt]);
1477 CS_DESC(csring, fill++) = 0;
1478 csring->next_to_fill = fill & (CS_RING_SIZE-1);
1479
1480 cs_size = fill - hdr;
1481 write_dma_reg(PAS_DMA_TXCHAN_INCR(csring->chan.chno), (cs_size) >> 1);
1482
1483 /* TX-side event handshaking */
1484 fill = txring->next_to_fill;
1485 TX_DESC(txring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O |
1486 CTRL_CMD_ETYPE_WSET | CTRL_CMD_REG(csring->events[evt]);
1487 TX_DESC(txring, fill++) = 0;
1488 TX_DESC(txring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O |
1489 CTRL_CMD_ETYPE_CLR | CTRL_CMD_REG(csring->events[!evt]);
1490 TX_DESC(txring, fill++) = 0;
1491 txring->next_to_fill = fill;
1492
1493 write_dma_reg(PAS_DMA_TXCHAN_INCR(txring->chan.chno), 2);
1494
1495 return;
1496}
1497
1302static int pasemi_mac_start_tx(struct sk_buff *skb, struct net_device *dev) 1498static int pasemi_mac_start_tx(struct sk_buff *skb, struct net_device *dev)
1303{ 1499{
1304 struct pasemi_mac *mac = netdev_priv(dev); 1500 struct pasemi_mac * const mac = netdev_priv(dev);
1305 struct pasemi_mac_txring *txring; 1501 struct pasemi_mac_txring * const txring = tx_ring(mac);
1306 u64 dflags, mactx; 1502 struct pasemi_mac_csring *csring;
1503 u64 dflags = 0;
1504 u64 mactx;
1307 dma_addr_t map[MAX_SKB_FRAGS+1]; 1505 dma_addr_t map[MAX_SKB_FRAGS+1];
1308 unsigned int map_size[MAX_SKB_FRAGS+1]; 1506 unsigned int map_size[MAX_SKB_FRAGS+1];
1309 unsigned long flags; 1507 unsigned long flags;
1310 int i, nfrags; 1508 int i, nfrags;
1311 int fill; 1509 int fill;
1510 const int nh_off = skb_network_offset(skb);
1511 const int nh_len = skb_network_header_len(skb);
1312 1512
1313 dflags = XCT_MACTX_O | XCT_MACTX_ST | XCT_MACTX_CRC_PAD; 1513 prefetch(&txring->ring_info);
1314
1315 if (skb->ip_summed == CHECKSUM_PARTIAL) {
1316 const unsigned char *nh = skb_network_header(skb);
1317 1514
1318 switch (ip_hdr(skb)->protocol) { 1515 dflags = XCT_MACTX_O | XCT_MACTX_ST | XCT_MACTX_CRC_PAD;
1319 case IPPROTO_TCP:
1320 dflags |= XCT_MACTX_CSUM_TCP;
1321 dflags |= XCT_MACTX_IPH(skb_network_header_len(skb) >> 2);
1322 dflags |= XCT_MACTX_IPO(nh - skb->data);
1323 break;
1324 case IPPROTO_UDP:
1325 dflags |= XCT_MACTX_CSUM_UDP;
1326 dflags |= XCT_MACTX_IPH(skb_network_header_len(skb) >> 2);
1327 dflags |= XCT_MACTX_IPO(nh - skb->data);
1328 break;
1329 }
1330 }
1331 1516
1332 nfrags = skb_shinfo(skb)->nr_frags; 1517 nfrags = skb_shinfo(skb)->nr_frags;
1333 1518
@@ -1350,24 +1535,46 @@ static int pasemi_mac_start_tx(struct sk_buff *skb, struct net_device *dev)
1350 } 1535 }
1351 } 1536 }
1352 1537
1353 mactx = dflags | XCT_MACTX_LLEN(skb->len); 1538 if (skb->ip_summed == CHECKSUM_PARTIAL && skb->len <= 1540) {
1539 switch (ip_hdr(skb)->protocol) {
1540 case IPPROTO_TCP:
1541 dflags |= XCT_MACTX_CSUM_TCP;
1542 dflags |= XCT_MACTX_IPH(nh_len >> 2);
1543 dflags |= XCT_MACTX_IPO(nh_off);
1544 break;
1545 case IPPROTO_UDP:
1546 dflags |= XCT_MACTX_CSUM_UDP;
1547 dflags |= XCT_MACTX_IPH(nh_len >> 2);
1548 dflags |= XCT_MACTX_IPO(nh_off);
1549 break;
1550 default:
1551 WARN_ON(1);
1552 }
1553 }
1354 1554
1355 txring = tx_ring(mac); 1555 mactx = dflags | XCT_MACTX_LLEN(skb->len);
1356 1556
1357 spin_lock_irqsave(&txring->lock, flags); 1557 spin_lock_irqsave(&txring->lock, flags);
1358 1558
1359 fill = txring->next_to_fill;
1360
1361 /* Avoid stepping on the same cache line that the DMA controller 1559 /* Avoid stepping on the same cache line that the DMA controller
1362 * is currently about to send, so leave at least 8 words available. 1560 * is currently about to send, so leave at least 8 words available.
1363 * Total free space needed is mactx + fragments + 8 1561 * Total free space needed is mactx + fragments + 8
1364 */ 1562 */
1365 if (RING_AVAIL(txring) < nfrags + 10) { 1563 if (RING_AVAIL(txring) < nfrags + 14) {
1366 /* no room -- stop the queue and wait for tx intr */ 1564 /* no room -- stop the queue and wait for tx intr */
1367 netif_stop_queue(dev); 1565 netif_stop_queue(dev);
1368 goto out_err; 1566 goto out_err;
1369 } 1567 }
1370 1568
1569 /* Queue up checksum + event descriptors, if needed */
1570 if (mac->num_cs && skb->ip_summed == CHECKSUM_PARTIAL && skb->len > 1540) {
1571 csring = mac->cs[mac->last_cs];
1572 mac->last_cs = (mac->last_cs + 1) % mac->num_cs;
1573
1574 pasemi_mac_queue_csdesc(skb, map, map_size, txring, csring);
1575 }
1576
1577 fill = txring->next_to_fill;
1371 TX_DESC(txring, fill) = mactx; 1578 TX_DESC(txring, fill) = mactx;
1372 TX_DESC_INFO(txring, fill).dma = nfrags; 1579 TX_DESC_INFO(txring, fill).dma = nfrags;
1373 fill++; 1580 fill++;
@@ -1441,12 +1648,33 @@ static int pasemi_mac_poll(struct napi_struct *napi, int budget)
1441 return pkts; 1648 return pkts;
1442} 1649}
1443 1650
1651#ifdef CONFIG_NET_POLL_CONTROLLER
1652/*
1653 * Polling 'interrupt' - used by things like netconsole to send skbs
1654 * without having to re-enable interrupts. It's not called while
1655 * the interrupt routine is executing.
1656 */
1657static void pasemi_mac_netpoll(struct net_device *dev)
1658{
1659 const struct pasemi_mac *mac = netdev_priv(dev);
1660
1661 disable_irq(mac->tx->chan.irq);
1662 pasemi_mac_tx_intr(mac->tx->chan.irq, mac->tx);
1663 enable_irq(mac->tx->chan.irq);
1664
1665 disable_irq(mac->rx->chan.irq);
1666 pasemi_mac_rx_intr(mac->rx->chan.irq, mac->rx);
1667 enable_irq(mac->rx->chan.irq);
1668}
1669#endif
1670
1444static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu) 1671static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu)
1445{ 1672{
1446 struct pasemi_mac *mac = netdev_priv(dev); 1673 struct pasemi_mac *mac = netdev_priv(dev);
1447 unsigned int reg; 1674 unsigned int reg;
1448 unsigned int rcmdsta; 1675 unsigned int rcmdsta = 0;
1449 int running; 1676 int running;
1677 int ret = 0;
1450 1678
1451 if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU) 1679 if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU)
1452 return -EINVAL; 1680 return -EINVAL;
@@ -1468,6 +1696,16 @@ static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu)
1468 pasemi_mac_pause_rxint(mac); 1696 pasemi_mac_pause_rxint(mac);
1469 pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE); 1697 pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
1470 pasemi_mac_free_rx_buffers(mac); 1698 pasemi_mac_free_rx_buffers(mac);
1699
1700 }
1701
1702 /* Setup checksum channels if large MTU and none already allocated */
1703 if (new_mtu > 1500 && !mac->num_cs) {
1704 pasemi_mac_setup_csrings(mac);
1705 if (!mac->num_cs) {
1706 ret = -ENOMEM;
1707 goto out;
1708 }
1471 } 1709 }
1472 1710
1473 /* Change maxf, i.e. what size frames are accepted. 1711 /* Change maxf, i.e. what size frames are accepted.
@@ -1482,6 +1720,7 @@ static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu)
1482 /* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */ 1720 /* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
1483 mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128; 1721 mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
1484 1722
1723out:
1485 if (running) { 1724 if (running) {
1486 write_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if), 1725 write_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if),
1487 rcmdsta | PAS_DMA_RXINT_RCMDSTA_EN); 1726 rcmdsta | PAS_DMA_RXINT_RCMDSTA_EN);
@@ -1494,7 +1733,7 @@ static int pasemi_mac_change_mtu(struct net_device *dev, int new_mtu)
1494 pasemi_mac_intf_enable(mac); 1733 pasemi_mac_intf_enable(mac);
1495 } 1734 }
1496 1735
1497 return 0; 1736 return ret;
1498} 1737}
1499 1738
1500static int __devinit 1739static int __devinit
@@ -1528,7 +1767,7 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1528 netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64); 1767 netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64);
1529 1768
1530 dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG | 1769 dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG |
1531 NETIF_F_HIGHDMA; 1770 NETIF_F_HIGHDMA | NETIF_F_GSO;
1532 1771
1533 mac->lro_mgr.max_aggr = LRO_MAX_AGGR; 1772 mac->lro_mgr.max_aggr = LRO_MAX_AGGR;
1534 mac->lro_mgr.max_desc = MAX_LRO_DESCRIPTORS; 1773 mac->lro_mgr.max_desc = MAX_LRO_DESCRIPTORS;
@@ -1588,8 +1827,12 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1588 dev->mtu = PE_DEF_MTU; 1827 dev->mtu = PE_DEF_MTU;
1589 /* 1500 MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */ 1828 /* 1500 MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
1590 mac->bufsz = dev->mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128; 1829 mac->bufsz = dev->mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
1830#ifdef CONFIG_NET_POLL_CONTROLLER
1831 dev->poll_controller = pasemi_mac_netpoll;
1832#endif
1591 1833
1592 dev->change_mtu = pasemi_mac_change_mtu; 1834 dev->change_mtu = pasemi_mac_change_mtu;
1835 dev->ethtool_ops = &pasemi_mac_ethtool_ops;
1593 1836
1594 if (err) 1837 if (err)
1595 goto out; 1838 goto out;
diff --git a/drivers/net/pasemi_mac.h b/drivers/net/pasemi_mac.h
index 99e7b9329a6..1a115ec60b5 100644
--- a/drivers/net/pasemi_mac.h
+++ b/drivers/net/pasemi_mac.h
@@ -26,7 +26,14 @@
26#include <linux/spinlock.h> 26#include <linux/spinlock.h>
27#include <linux/phy.h> 27#include <linux/phy.h>
28 28
29/* Must be a power of two */
30#define RX_RING_SIZE 2048
31#define TX_RING_SIZE 4096
32#define CS_RING_SIZE (TX_RING_SIZE*2)
33
34
29#define MAX_LRO_DESCRIPTORS 8 35#define MAX_LRO_DESCRIPTORS 8
36#define MAX_CS 2
30 37
31struct pasemi_mac_txring { 38struct pasemi_mac_txring {
32 struct pasemi_dmachan chan; /* Must be first */ 39 struct pasemi_dmachan chan; /* Must be first */
@@ -51,6 +58,15 @@ struct pasemi_mac_rxring {
51 struct pasemi_mac *mac; /* Needed in intr handler */ 58 struct pasemi_mac *mac; /* Needed in intr handler */
52}; 59};
53 60
61struct pasemi_mac_csring {
62 struct pasemi_dmachan chan;
63 unsigned int size;
64 unsigned int next_to_fill;
65 int events[2];
66 int last_event;
67 int fun;
68};
69
54struct pasemi_mac { 70struct pasemi_mac {
55 struct net_device *netdev; 71 struct net_device *netdev;
56 struct pci_dev *pdev; 72 struct pci_dev *pdev;
@@ -60,10 +76,12 @@ struct pasemi_mac {
60 struct napi_struct napi; 76 struct napi_struct napi;
61 77
62 int bufsz; /* RX ring buffer size */ 78 int bufsz; /* RX ring buffer size */
79 int last_cs;
80 int num_cs;
81 u32 dma_if;
63 u8 type; 82 u8 type;
64#define MAC_TYPE_GMAC 1 83#define MAC_TYPE_GMAC 1
65#define MAC_TYPE_XAUI 2 84#define MAC_TYPE_XAUI 2
66 u32 dma_if;
67 85
68 u8 mac_addr[6]; 86 u8 mac_addr[6];
69 87
@@ -74,6 +92,7 @@ struct pasemi_mac {
74 92
75 struct pasemi_mac_txring *tx; 93 struct pasemi_mac_txring *tx;
76 struct pasemi_mac_rxring *rx; 94 struct pasemi_mac_rxring *rx;
95 struct pasemi_mac_csring *cs[MAX_CS];
77 char tx_irq_name[10]; /* "eth%d tx" */ 96 char tx_irq_name[10]; /* "eth%d tx" */
78 char rx_irq_name[10]; /* "eth%d rx" */ 97 char rx_irq_name[10]; /* "eth%d rx" */
79 int link; 98 int link;
@@ -90,6 +109,16 @@ struct pasemi_mac_buffer {
90 dma_addr_t dma; 109 dma_addr_t dma;
91}; 110};
92 111
112#define TX_DESC(tx, num) ((tx)->chan.ring_virt[(num) & (TX_RING_SIZE-1)])
113#define TX_DESC_INFO(tx, num) ((tx)->ring_info[(num) & (TX_RING_SIZE-1)])
114#define RX_DESC(rx, num) ((rx)->chan.ring_virt[(num) & (RX_RING_SIZE-1)])
115#define RX_DESC_INFO(rx, num) ((rx)->ring_info[(num) & (RX_RING_SIZE-1)])
116#define RX_BUFF(rx, num) ((rx)->buffers[(num) & (RX_RING_SIZE-1)])
117#define CS_DESC(cs, num) ((cs)->chan.ring_virt[(num) & (CS_RING_SIZE-1)])
118
119#define RING_USED(ring) (((ring)->next_to_fill - (ring)->next_to_clean) \
120 & ((ring)->size - 1))
121#define RING_AVAIL(ring) ((ring->size) - RING_USED(ring))
93 122
94/* PCI register offsets and formats */ 123/* PCI register offsets and formats */
95 124
@@ -101,6 +130,7 @@ enum {
101 PAS_MAC_CFG_ADR0 = 0x8c, 130 PAS_MAC_CFG_ADR0 = 0x8c,
102 PAS_MAC_CFG_ADR1 = 0x90, 131 PAS_MAC_CFG_ADR1 = 0x90,
103 PAS_MAC_CFG_TXP = 0x98, 132 PAS_MAC_CFG_TXP = 0x98,
133 PAS_MAC_CFG_RMON = 0x100,
104 PAS_MAC_IPC_CHNL = 0x208, 134 PAS_MAC_IPC_CHNL = 0x208,
105}; 135};
106 136
@@ -172,6 +202,8 @@ enum {
172#define PAS_MAC_CFG_TXP_TIFG(x) (((x) << PAS_MAC_CFG_TXP_TIFG_S) & \ 202#define PAS_MAC_CFG_TXP_TIFG(x) (((x) << PAS_MAC_CFG_TXP_TIFG_S) & \
173 PAS_MAC_CFG_TXP_TIFG_M) 203 PAS_MAC_CFG_TXP_TIFG_M)
174 204
205#define PAS_MAC_RMON(r) (0x100+(r)*4)
206
175#define PAS_MAC_IPC_CHNL_DCHNO_M 0x003f0000 207#define PAS_MAC_IPC_CHNL_DCHNO_M 0x003f0000
176#define PAS_MAC_IPC_CHNL_DCHNO_S 16 208#define PAS_MAC_IPC_CHNL_DCHNO_S 16
177#define PAS_MAC_IPC_CHNL_DCHNO(x) (((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \ 209#define PAS_MAC_IPC_CHNL_DCHNO(x) (((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \
@@ -181,4 +213,5 @@ enum {
181#define PAS_MAC_IPC_CHNL_BCH(x) (((x) << PAS_MAC_IPC_CHNL_BCH_S) & \ 213#define PAS_MAC_IPC_CHNL_BCH(x) (((x) << PAS_MAC_IPC_CHNL_BCH_S) & \
182 PAS_MAC_IPC_CHNL_BCH_M) 214 PAS_MAC_IPC_CHNL_BCH_M)
183 215
216
184#endif /* PASEMI_MAC_H */ 217#endif /* PASEMI_MAC_H */
diff --git a/drivers/net/pasemi_mac_ethtool.c b/drivers/net/pasemi_mac_ethtool.c
new file mode 100644
index 00000000000..5e8df3afea6
--- /dev/null
+++ b/drivers/net/pasemi_mac_ethtool.c
@@ -0,0 +1,159 @@
1/*
2 * Copyright (C) 2006-2008 PA Semi, Inc
3 *
4 * Ethtool hooks for the PA Semi PWRficient onchip 1G/10G Ethernet MACs
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19
20
21#include <linux/netdevice.h>
22#include <linux/ethtool.h>
23#include <linux/pci.h>
24#include <linux/inet_lro.h>
25
26#include <asm/pasemi_dma.h>
27#include "pasemi_mac.h"
28
29static struct {
30 const char str[ETH_GSTRING_LEN];
31} ethtool_stats_keys[] = {
32 { "rx-drops" },
33 { "rx-bytes" },
34 { "rx-packets" },
35 { "rx-broadcast-packets" },
36 { "rx-multicast-packets" },
37 { "rx-crc-errors" },
38 { "rx-undersize-errors" },
39 { "rx-oversize-errors" },
40 { "rx-short-fragment-errors" },
41 { "rx-jabber-errors" },
42 { "rx-64-byte-packets" },
43 { "rx-65-127-byte-packets" },
44 { "rx-128-255-byte-packets" },
45 { "rx-256-511-byte-packets" },
46 { "rx-512-1023-byte-packets" },
47 { "rx-1024-1518-byte-packets" },
48 { "rx-pause-frames" },
49 { "tx-bytes" },
50 { "tx-packets" },
51 { "tx-broadcast-packets" },
52 { "tx-multicast-packets" },
53 { "tx-collisions" },
54 { "tx-late-collisions" },
55 { "tx-excessive-collisions" },
56 { "tx-crc-errors" },
57 { "tx-undersize-errors" },
58 { "tx-oversize-errors" },
59 { "tx-64-byte-packets" },
60 { "tx-65-127-byte-packets" },
61 { "tx-128-255-byte-packets" },
62 { "tx-256-511-byte-packets" },
63 { "tx-512-1023-byte-packets" },
64 { "tx-1024-1518-byte-packets" },
65};
66
67static int
68pasemi_mac_ethtool_get_settings(struct net_device *netdev,
69 struct ethtool_cmd *cmd)
70{
71 struct pasemi_mac *mac = netdev_priv(netdev);
72 struct phy_device *phydev = mac->phydev;
73
74 return phy_ethtool_gset(phydev, cmd);
75}
76
77static void
78pasemi_mac_ethtool_get_drvinfo(struct net_device *netdev,
79 struct ethtool_drvinfo *drvinfo)
80{
81 struct pasemi_mac *mac;
82 mac = netdev_priv(netdev);
83
84 /* clear and fill out info */
85 memset(drvinfo, 0, sizeof(struct ethtool_drvinfo));
86 strncpy(drvinfo->driver, "pasemi_mac", 12);
87 strcpy(drvinfo->version, "N/A");
88 strcpy(drvinfo->fw_version, "N/A");
89 strncpy(drvinfo->bus_info, pci_name(mac->pdev), 32);
90}
91
92static u32
93pasemi_mac_ethtool_get_msglevel(struct net_device *netdev)
94{
95 struct pasemi_mac *mac = netdev_priv(netdev);
96 return mac->msg_enable;
97}
98
99static void
100pasemi_mac_ethtool_set_msglevel(struct net_device *netdev,
101 u32 level)
102{
103 struct pasemi_mac *mac = netdev_priv(netdev);
104 mac->msg_enable = level;
105}
106
107
108static void
109pasemi_mac_ethtool_get_ringparam(struct net_device *netdev,
110 struct ethtool_ringparam *ering)
111{
112 struct pasemi_mac *mac = netdev->priv;
113
114 ering->tx_max_pending = TX_RING_SIZE/2;
115 ering->tx_pending = RING_USED(mac->tx)/2;
116 ering->rx_max_pending = RX_RING_SIZE/4;
117 ering->rx_pending = RING_USED(mac->rx)/4;
118}
119
120static int pasemi_mac_get_sset_count(struct net_device *netdev, int sset)
121{
122 switch (sset) {
123 case ETH_SS_STATS:
124 return ARRAY_SIZE(ethtool_stats_keys);
125 default:
126 return -EOPNOTSUPP;
127 }
128}
129
130static void pasemi_mac_get_ethtool_stats(struct net_device *netdev,
131 struct ethtool_stats *stats, u64 *data)
132{
133 struct pasemi_mac *mac = netdev->priv;
134 int i;
135
136 data[0] = pasemi_read_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if))
137 >> PAS_DMA_RXINT_RCMDSTA_DROPS_S;
138 for (i = 0; i < 32; i++)
139 data[1+i] = pasemi_read_mac_reg(mac->dma_if, PAS_MAC_RMON(i));
140}
141
142static void pasemi_mac_get_strings(struct net_device *netdev, u32 stringset,
143 u8 *data)
144{
145 memcpy(data, ethtool_stats_keys, sizeof(ethtool_stats_keys));
146}
147
148const struct ethtool_ops pasemi_mac_ethtool_ops = {
149 .get_settings = pasemi_mac_ethtool_get_settings,
150 .get_drvinfo = pasemi_mac_ethtool_get_drvinfo,
151 .get_msglevel = pasemi_mac_ethtool_get_msglevel,
152 .set_msglevel = pasemi_mac_ethtool_set_msglevel,
153 .get_link = ethtool_op_get_link,
154 .get_ringparam = pasemi_mac_ethtool_get_ringparam,
155 .get_strings = pasemi_mac_get_strings,
156 .get_sset_count = pasemi_mac_get_sset_count,
157 .get_ethtool_stats = pasemi_mac_get_ethtool_stats,
158};
159
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index f0574073a2a..32a8503a7ac 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -58,9 +58,25 @@
58#define MII_M1111_RX_DELAY 0x80 58#define MII_M1111_RX_DELAY 0x80
59#define MII_M1111_TX_DELAY 0x2 59#define MII_M1111_TX_DELAY 0x2
60#define MII_M1111_PHY_EXT_SR 0x1b 60#define MII_M1111_PHY_EXT_SR 0x1b
61#define MII_M1111_HWCFG_MODE_MASK 0xf 61
62#define MII_M1111_HWCFG_MODE_RGMII 0xb 62#define MII_M1111_HWCFG_MODE_MASK 0xf
63#define MII_M1111_HWCFG_MODE_COPPER_RGMII 0xb
64#define MII_M1111_HWCFG_MODE_FIBER_RGMII 0x3
63#define MII_M1111_HWCFG_MODE_SGMII_NO_CLK 0x4 65#define MII_M1111_HWCFG_MODE_SGMII_NO_CLK 0x4
66#define MII_M1111_HWCFG_FIBER_COPPER_AUTO 0x8000
67#define MII_M1111_HWCFG_FIBER_COPPER_RES 0x2000
68
69#define MII_M1111_COPPER 0
70#define MII_M1111_FIBER 1
71
72#define MII_M1011_PHY_STATUS 0x11
73#define MII_M1011_PHY_STATUS_1000 0x8000
74#define MII_M1011_PHY_STATUS_100 0x4000
75#define MII_M1011_PHY_STATUS_SPD_MASK 0xc000
76#define MII_M1011_PHY_STATUS_FULLDUPLEX 0x2000
77#define MII_M1011_PHY_STATUS_RESOLVED 0x0800
78#define MII_M1011_PHY_STATUS_LINK 0x0400
79
64 80
65MODULE_DESCRIPTION("Marvell PHY driver"); 81MODULE_DESCRIPTION("Marvell PHY driver");
66MODULE_AUTHOR("Andy Fleming"); 82MODULE_AUTHOR("Andy Fleming");
@@ -141,12 +157,22 @@ static int marvell_config_aneg(struct phy_device *phydev)
141static int m88e1111_config_init(struct phy_device *phydev) 157static int m88e1111_config_init(struct phy_device *phydev)
142{ 158{
143 int err; 159 int err;
160 int temp;
161 int mode;
162
163 /* Enable Fiber/Copper auto selection */
164 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
165 temp |= MII_M1111_HWCFG_FIBER_COPPER_AUTO;
166 phy_write(phydev, MII_M1111_PHY_EXT_SR, temp);
167
168 temp = phy_read(phydev, MII_BMCR);
169 temp |= BMCR_RESET;
170 phy_write(phydev, MII_BMCR, temp);
144 171
145 if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) || 172 if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) ||
146 (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) || 173 (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
147 (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) || 174 (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
148 (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) { 175 (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) {
149 int temp;
150 176
151 temp = phy_read(phydev, MII_M1111_PHY_EXT_CR); 177 temp = phy_read(phydev, MII_M1111_PHY_EXT_CR);
152 if (temp < 0) 178 if (temp < 0)
@@ -171,7 +197,13 @@ static int m88e1111_config_init(struct phy_device *phydev)
171 return temp; 197 return temp;
172 198
173 temp &= ~(MII_M1111_HWCFG_MODE_MASK); 199 temp &= ~(MII_M1111_HWCFG_MODE_MASK);
174 temp |= MII_M1111_HWCFG_MODE_RGMII; 200
201 mode = phy_read(phydev, MII_M1111_PHY_EXT_CR);
202
203 if (mode & MII_M1111_HWCFG_FIBER_COPPER_RES)
204 temp |= MII_M1111_HWCFG_MODE_FIBER_RGMII;
205 else
206 temp |= MII_M1111_HWCFG_MODE_COPPER_RGMII;
175 207
176 err = phy_write(phydev, MII_M1111_PHY_EXT_SR, temp); 208 err = phy_write(phydev, MII_M1111_PHY_EXT_SR, temp);
177 if (err < 0) 209 if (err < 0)
@@ -179,8 +211,6 @@ static int m88e1111_config_init(struct phy_device *phydev)
179 } 211 }
180 212
181 if (phydev->interface == PHY_INTERFACE_MODE_SGMII) { 213 if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
182 int temp;
183
184 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); 214 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
185 if (temp < 0) 215 if (temp < 0)
186 return temp; 216 return temp;
@@ -262,6 +292,93 @@ static int m88e1145_config_init(struct phy_device *phydev)
262 return 0; 292 return 0;
263} 293}
264 294
295/* marvell_read_status
296 *
297 * Generic status code does not detect Fiber correctly!
298 * Description:
299 * Check the link, then figure out the current state
300 * by comparing what we advertise with what the link partner
301 * advertises. Start by checking the gigabit possibilities,
302 * then move on to 10/100.
303 */
304static int marvell_read_status(struct phy_device *phydev)
305{
306 int adv;
307 int err;
308 int lpa;
309 int status = 0;
310
311 /* Update the link, but return if there
312 * was an error */
313 err = genphy_update_link(phydev);
314 if (err)
315 return err;
316
317 if (AUTONEG_ENABLE == phydev->autoneg) {
318 status = phy_read(phydev, MII_M1011_PHY_STATUS);
319 if (status < 0)
320 return status;
321
322 lpa = phy_read(phydev, MII_LPA);
323 if (lpa < 0)
324 return lpa;
325
326 adv = phy_read(phydev, MII_ADVERTISE);
327 if (adv < 0)
328 return adv;
329
330 lpa &= adv;
331
332 if (status & MII_M1011_PHY_STATUS_FULLDUPLEX)
333 phydev->duplex = DUPLEX_FULL;
334 else
335 phydev->duplex = DUPLEX_HALF;
336
337 status = status & MII_M1011_PHY_STATUS_SPD_MASK;
338 phydev->pause = phydev->asym_pause = 0;
339
340 switch (status) {
341 case MII_M1011_PHY_STATUS_1000:
342 phydev->speed = SPEED_1000;
343 break;
344
345 case MII_M1011_PHY_STATUS_100:
346 phydev->speed = SPEED_100;
347 break;
348
349 default:
350 phydev->speed = SPEED_10;
351 break;
352 }
353
354 if (phydev->duplex == DUPLEX_FULL) {
355 phydev->pause = lpa & LPA_PAUSE_CAP ? 1 : 0;
356 phydev->asym_pause = lpa & LPA_PAUSE_ASYM ? 1 : 0;
357 }
358 } else {
359 int bmcr = phy_read(phydev, MII_BMCR);
360
361 if (bmcr < 0)
362 return bmcr;
363
364 if (bmcr & BMCR_FULLDPLX)
365 phydev->duplex = DUPLEX_FULL;
366 else
367 phydev->duplex = DUPLEX_HALF;
368
369 if (bmcr & BMCR_SPEED1000)
370 phydev->speed = SPEED_1000;
371 else if (bmcr & BMCR_SPEED100)
372 phydev->speed = SPEED_100;
373 else
374 phydev->speed = SPEED_10;
375
376 phydev->pause = phydev->asym_pause = 0;
377 }
378
379 return 0;
380}
381
265static struct phy_driver marvell_drivers[] = { 382static struct phy_driver marvell_drivers[] = {
266 { 383 {
267 .phy_id = 0x01410c60, 384 .phy_id = 0x01410c60,
@@ -296,7 +413,7 @@ static struct phy_driver marvell_drivers[] = {
296 .flags = PHY_HAS_INTERRUPT, 413 .flags = PHY_HAS_INTERRUPT,
297 .config_init = &m88e1111_config_init, 414 .config_init = &m88e1111_config_init,
298 .config_aneg = &marvell_config_aneg, 415 .config_aneg = &marvell_config_aneg,
299 .read_status = &genphy_read_status, 416 .read_status = &marvell_read_status,
300 .ack_interrupt = &marvell_ack_interrupt, 417 .ack_interrupt = &marvell_ack_interrupt,
301 .config_intr = &marvell_config_intr, 418 .config_intr = &marvell_config_intr,
302 .driver = { .owner = THIS_MODULE }, 419 .driver = { .owner = THIS_MODULE },
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/ps3_gelic_net.c b/drivers/net/ps3_gelic_net.c
index 7eb6e7e848f..e365efb3c62 100644
--- a/drivers/net/ps3_gelic_net.c
+++ b/drivers/net/ps3_gelic_net.c
@@ -1266,6 +1266,85 @@ int gelic_net_set_rx_csum(struct net_device *netdev, u32 data)
1266 return 0; 1266 return 0;
1267} 1267}
1268 1268
1269static void gelic_net_get_wol(struct net_device *netdev,
1270 struct ethtool_wolinfo *wol)
1271{
1272 if (0 <= ps3_compare_firmware_version(2, 2, 0))
1273 wol->supported = WAKE_MAGIC;
1274 else
1275 wol->supported = 0;
1276
1277 wol->wolopts = ps3_sys_manager_get_wol() ? wol->supported : 0;
1278 memset(&wol->sopass, 0, sizeof(wol->sopass));
1279}
1280static int gelic_net_set_wol(struct net_device *netdev,
1281 struct ethtool_wolinfo *wol)
1282{
1283 int status;
1284 struct gelic_card *card;
1285 u64 v1, v2;
1286
1287 if (ps3_compare_firmware_version(2, 2, 0) < 0 ||
1288 !capable(CAP_NET_ADMIN))
1289 return -EPERM;
1290
1291 if (wol->wolopts & ~WAKE_MAGIC)
1292 return -EINVAL;
1293
1294 card = netdev_card(netdev);
1295 if (wol->wolopts & WAKE_MAGIC) {
1296 status = lv1_net_control(bus_id(card), dev_id(card),
1297 GELIC_LV1_SET_WOL,
1298 GELIC_LV1_WOL_MAGIC_PACKET,
1299 0, GELIC_LV1_WOL_MP_ENABLE,
1300 &v1, &v2);
1301 if (status) {
1302 pr_info("%s: enabling WOL failed %d\n", __func__,
1303 status);
1304 status = -EIO;
1305 goto done;
1306 }
1307 status = lv1_net_control(bus_id(card), dev_id(card),
1308 GELIC_LV1_SET_WOL,
1309 GELIC_LV1_WOL_ADD_MATCH_ADDR,
1310 0, GELIC_LV1_WOL_MATCH_ALL,
1311 &v1, &v2);
1312 if (!status)
1313 ps3_sys_manager_set_wol(1);
1314 else {
1315 pr_info("%s: enabling WOL filter failed %d\n",
1316 __func__, status);
1317 status = -EIO;
1318 }
1319 } else {
1320 status = lv1_net_control(bus_id(card), dev_id(card),
1321 GELIC_LV1_SET_WOL,
1322 GELIC_LV1_WOL_MAGIC_PACKET,
1323 0, GELIC_LV1_WOL_MP_DISABLE,
1324 &v1, &v2);
1325 if (status) {
1326 pr_info("%s: disabling WOL failed %d\n", __func__,
1327 status);
1328 status = -EIO;
1329 goto done;
1330 }
1331 status = lv1_net_control(bus_id(card), dev_id(card),
1332 GELIC_LV1_SET_WOL,
1333 GELIC_LV1_WOL_DELETE_MATCH_ADDR,
1334 0, GELIC_LV1_WOL_MATCH_ALL,
1335 &v1, &v2);
1336 if (!status)
1337 ps3_sys_manager_set_wol(0);
1338 else {
1339 pr_info("%s: removing WOL filter failed %d\n",
1340 __func__, status);
1341 status = -EIO;
1342 }
1343 }
1344done:
1345 return status;
1346}
1347
1269static struct ethtool_ops gelic_ether_ethtool_ops = { 1348static struct ethtool_ops gelic_ether_ethtool_ops = {
1270 .get_drvinfo = gelic_net_get_drvinfo, 1349 .get_drvinfo = gelic_net_get_drvinfo,
1271 .get_settings = gelic_ether_get_settings, 1350 .get_settings = gelic_ether_get_settings,
@@ -1274,6 +1353,8 @@ static struct ethtool_ops gelic_ether_ethtool_ops = {
1274 .set_tx_csum = ethtool_op_set_tx_csum, 1353 .set_tx_csum = ethtool_op_set_tx_csum,
1275 .get_rx_csum = gelic_net_get_rx_csum, 1354 .get_rx_csum = gelic_net_get_rx_csum,
1276 .set_rx_csum = gelic_net_set_rx_csum, 1355 .set_rx_csum = gelic_net_set_rx_csum,
1356 .get_wol = gelic_net_get_wol,
1357 .set_wol = gelic_net_set_wol,
1277}; 1358};
1278 1359
1279/** 1360/**
diff --git a/drivers/net/ps3_gelic_net.h b/drivers/net/ps3_gelic_net.h
index 1d39d06797e..520f143c2c0 100644
--- a/drivers/net/ps3_gelic_net.h
+++ b/drivers/net/ps3_gelic_net.h
@@ -182,12 +182,32 @@ enum gelic_lv1_net_control_code {
182 GELIC_LV1_GET_ETH_PORT_STATUS = 2, 182 GELIC_LV1_GET_ETH_PORT_STATUS = 2,
183 GELIC_LV1_SET_NEGOTIATION_MODE = 3, 183 GELIC_LV1_SET_NEGOTIATION_MODE = 3,
184 GELIC_LV1_GET_VLAN_ID = 4, 184 GELIC_LV1_GET_VLAN_ID = 4,
185 GELIC_LV1_SET_WOL = 5,
185 GELIC_LV1_GET_CHANNEL = 6, 186 GELIC_LV1_GET_CHANNEL = 6,
186 GELIC_LV1_POST_WLAN_CMD = 9, 187 GELIC_LV1_POST_WLAN_CMD = 9,
187 GELIC_LV1_GET_WLAN_CMD_RESULT = 10, 188 GELIC_LV1_GET_WLAN_CMD_RESULT = 10,
188 GELIC_LV1_GET_WLAN_EVENT = 11 189 GELIC_LV1_GET_WLAN_EVENT = 11
189}; 190};
190 191
192/* for GELIC_LV1_SET_WOL */
193enum gelic_lv1_wol_command {
194 GELIC_LV1_WOL_MAGIC_PACKET = 1,
195 GELIC_LV1_WOL_ADD_MATCH_ADDR = 6,
196 GELIC_LV1_WOL_DELETE_MATCH_ADDR = 7,
197};
198
199/* for GELIC_LV1_WOL_MAGIC_PACKET */
200enum gelic_lv1_wol_mp_arg {
201 GELIC_LV1_WOL_MP_DISABLE = 0,
202 GELIC_LV1_WOL_MP_ENABLE = 1,
203};
204
205/* for GELIC_LV1_WOL_{ADD,DELETE}_MATCH_ADDR */
206enum gelic_lv1_wol_match_arg {
207 GELIC_LV1_WOL_MATCH_INDIVIDUAL = 0,
208 GELIC_LV1_WOL_MATCH_ALL = 1,
209};
210
191/* status returened from GET_ETH_PORT_STATUS */ 211/* status returened from GET_ETH_PORT_STATUS */
192enum gelic_lv1_ether_port_status { 212enum gelic_lv1_ether_port_status {
193 GELIC_LV1_ETHER_LINK_UP = 0x0000000000000001L, 213 GELIC_LV1_ETHER_LINK_UP = 0x0000000000000001L,
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index c72787adeba..c082cf0b1ac 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -84,7 +84,7 @@
84#include "s2io.h" 84#include "s2io.h"
85#include "s2io-regs.h" 85#include "s2io-regs.h"
86 86
87#define DRV_VERSION "2.0.26.15-2" 87#define DRV_VERSION "2.0.26.20"
88 88
89/* S2io Driver name & version. */ 89/* S2io Driver name & version. */
90static char s2io_driver_name[] = "Neterion"; 90static char s2io_driver_name[] = "Neterion";
@@ -4172,6 +4172,9 @@ static int s2io_xmit(struct sk_buff *skb, struct net_device *dev)
4172 dev->trans_start = jiffies; 4172 dev->trans_start = jiffies;
4173 spin_unlock_irqrestore(&fifo->tx_lock, flags); 4173 spin_unlock_irqrestore(&fifo->tx_lock, flags);
4174 4174
4175 if (sp->config.intr_type == MSI_X)
4176 tx_intr_handler(fifo);
4177
4175 return 0; 4178 return 0;
4176pci_map_failed: 4179pci_map_failed:
4177 stats->pci_map_fail_cnt++; 4180 stats->pci_map_fail_cnt++;
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 186eb8ebfda..2e26dced13a 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3199,12 +3199,14 @@ static int skge_poll(struct napi_struct *napi, int to_do)
3199 skge_write8(hw, Q_ADDR(rxqaddr[skge->port], Q_CSR), CSR_START); 3199 skge_write8(hw, Q_ADDR(rxqaddr[skge->port], Q_CSR), CSR_START);
3200 3200
3201 if (work_done < to_do) { 3201 if (work_done < to_do) {
3202 spin_lock_irq(&hw->hw_lock); 3202 unsigned long flags;
3203
3204 spin_lock_irqsave(&hw->hw_lock, flags);
3203 __netif_rx_complete(dev, napi); 3205 __netif_rx_complete(dev, napi);
3204 hw->intr_mask |= napimask[skge->port]; 3206 hw->intr_mask |= napimask[skge->port];
3205 skge_write32(hw, B0_IMSK, hw->intr_mask); 3207 skge_write32(hw, B0_IMSK, hw->intr_mask);
3206 skge_read32(hw, B0_IMSK); 3208 skge_read32(hw, B0_IMSK);
3207 spin_unlock_irq(&hw->hw_lock); 3209 spin_unlock_irqrestore(&hw->hw_lock, flags);
3208 } 3210 }
3209 3211
3210 return work_done; 3212 return work_done;
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/starfire.c b/drivers/net/starfire.c
index c49214feae9..7b7b1717b0d 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -1472,13 +1472,12 @@ static int __netdev_rx(struct net_device *dev, int *quota)
1472#ifndef final_version /* Remove after testing. */ 1472#ifndef final_version /* Remove after testing. */
1473 /* You will want this info for the initial debug. */ 1473 /* You will want this info for the initial debug. */
1474 if (debug > 5) { 1474 if (debug > 5) {
1475 DECLARE_MAC_BUF(mac); 1475 printk(KERN_DEBUG " Rx data " MAC_FMT " " MAC_FMT
1476 DECLARE_MAC_BUF(mac2);
1477
1478 printk(KERN_DEBUG " Rx data %s %s"
1479 " %2.2x%2.2x.\n", 1476 " %2.2x%2.2x.\n",
1480 print_mac(mac, &skb->data[0]), 1477 skb->data[0], skb->data[1], skb->data[2],
1481 print_mac(mac2, &skb->data[6]), 1478 skb->data[3], skb->data[4], skb->data[5],
1479 skb->data[6], skb->data[7], skb->data[8],
1480 skb->data[9], skb->data[10], skb->data[11],
1482 skb->data[12], skb->data[13]); 1481 skb->data[12], skb->data[13]);
1483 } 1482 }
1484#endif 1483#endif
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 97212799c51..4291458955e 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -912,7 +912,7 @@ static int gem_poll(struct napi_struct *napi, int budget)
912 * rx ring - must call napi_disable(), which 912 * rx ring - must call napi_disable(), which
913 * schedule_timeout()'s if polling is already disabled. 913 * schedule_timeout()'s if polling is already disabled.
914 */ 914 */
915 work_done += gem_rx(gp, budget); 915 work_done += gem_rx(gp, budget - work_done);
916 916
917 if (work_done >= budget) 917 if (work_done >= budget)
918 return work_done; 918 return work_done;
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index f9ef8bd8b11..d4655b2d1f3 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -64,8 +64,8 @@
64 64
65#define DRV_MODULE_NAME "tg3" 65#define DRV_MODULE_NAME "tg3"
66#define PFX DRV_MODULE_NAME ": " 66#define PFX DRV_MODULE_NAME ": "
67#define DRV_MODULE_VERSION "3.88" 67#define DRV_MODULE_VERSION "3.89"
68#define DRV_MODULE_RELDATE "March 20, 2008" 68#define DRV_MODULE_RELDATE "April 03, 2008"
69 69
70#define TG3_DEF_MAC_MODE 0 70#define TG3_DEF_MAC_MODE 0
71#define TG3_DEF_RX_MODE 0 71#define TG3_DEF_RX_MODE 0
@@ -804,6 +804,12 @@ static int tg3_writephy(struct tg3 *tp, int reg, u32 val)
804 return ret; 804 return ret;
805} 805}
806 806
807static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
808{
809 tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
810 tg3_writephy(tp, MII_TG3_DSP_RW_PORT, val);
811}
812
807static void tg3_phy_toggle_automdix(struct tg3 *tp, int enable) 813static void tg3_phy_toggle_automdix(struct tg3 *tp, int enable)
808{ 814{
809 u32 phy; 815 u32 phy;
@@ -886,6 +892,49 @@ static int tg3_bmcr_reset(struct tg3 *tp)
886 return 0; 892 return 0;
887} 893}
888 894
895static void tg3_phy_apply_otp(struct tg3 *tp)
896{
897 u32 otp, phy;
898
899 if (!tp->phy_otp)
900 return;
901
902 otp = tp->phy_otp;
903
904 /* Enable SM_DSP clock and tx 6dB coding. */
905 phy = MII_TG3_AUXCTL_SHDWSEL_AUXCTL |
906 MII_TG3_AUXCTL_ACTL_SMDSP_ENA |
907 MII_TG3_AUXCTL_ACTL_TX_6DB;
908 tg3_writephy(tp, MII_TG3_AUX_CTRL, phy);
909
910 phy = ((otp & TG3_OTP_AGCTGT_MASK) >> TG3_OTP_AGCTGT_SHIFT);
911 phy |= MII_TG3_DSP_TAP1_AGCTGT_DFLT;
912 tg3_phydsp_write(tp, MII_TG3_DSP_TAP1, phy);
913
914 phy = ((otp & TG3_OTP_HPFFLTR_MASK) >> TG3_OTP_HPFFLTR_SHIFT) |
915 ((otp & TG3_OTP_HPFOVER_MASK) >> TG3_OTP_HPFOVER_SHIFT);
916 tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH0, phy);
917
918 phy = ((otp & TG3_OTP_LPFDIS_MASK) >> TG3_OTP_LPFDIS_SHIFT);
919 phy |= MII_TG3_DSP_AADJ1CH3_ADCCKADJ;
920 tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH3, phy);
921
922 phy = ((otp & TG3_OTP_VDAC_MASK) >> TG3_OTP_VDAC_SHIFT);
923 tg3_phydsp_write(tp, MII_TG3_DSP_EXP75, phy);
924
925 phy = ((otp & TG3_OTP_10BTAMP_MASK) >> TG3_OTP_10BTAMP_SHIFT);
926 tg3_phydsp_write(tp, MII_TG3_DSP_EXP96, phy);
927
928 phy = ((otp & TG3_OTP_ROFF_MASK) >> TG3_OTP_ROFF_SHIFT) |
929 ((otp & TG3_OTP_RCOFF_MASK) >> TG3_OTP_RCOFF_SHIFT);
930 tg3_phydsp_write(tp, MII_TG3_DSP_EXP97, phy);
931
932 /* Turn off SM_DSP clock. */
933 phy = MII_TG3_AUXCTL_SHDWSEL_AUXCTL |
934 MII_TG3_AUXCTL_ACTL_TX_6DB;
935 tg3_writephy(tp, MII_TG3_AUX_CTRL, phy);
936}
937
889static int tg3_wait_macro_done(struct tg3 *tp) 938static int tg3_wait_macro_done(struct tg3 *tp)
890{ 939{
891 int limit = 100; 940 int limit = 100;
@@ -1073,6 +1122,7 @@ static void tg3_link_report(struct tg3 *);
1073 */ 1122 */
1074static int tg3_phy_reset(struct tg3 *tp) 1123static int tg3_phy_reset(struct tg3 *tp)
1075{ 1124{
1125 u32 cpmuctrl;
1076 u32 phy_status; 1126 u32 phy_status;
1077 int err; 1127 int err;
1078 1128
@@ -1102,10 +1152,28 @@ static int tg3_phy_reset(struct tg3 *tp)
1102 goto out; 1152 goto out;
1103 } 1153 }
1104 1154
1155 cpmuctrl = 0;
1156 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 &&
1157 GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5784_AX) {
1158 cpmuctrl = tr32(TG3_CPMU_CTRL);
1159 if (cpmuctrl & CPMU_CTRL_GPHY_10MB_RXONLY)
1160 tw32(TG3_CPMU_CTRL,
1161 cpmuctrl & ~CPMU_CTRL_GPHY_10MB_RXONLY);
1162 }
1163
1105 err = tg3_bmcr_reset(tp); 1164 err = tg3_bmcr_reset(tp);
1106 if (err) 1165 if (err)
1107 return err; 1166 return err;
1108 1167
1168 if (cpmuctrl & CPMU_CTRL_GPHY_10MB_RXONLY) {
1169 u32 phy;
1170
1171 phy = MII_TG3_DSP_EXP8_AEDW | MII_TG3_DSP_EXP8_REJ2MHz;
1172 tg3_phydsp_write(tp, MII_TG3_DSP_EXP8, phy);
1173
1174 tw32(TG3_CPMU_CTRL, cpmuctrl);
1175 }
1176
1109 if (tp->tg3_flags3 & TG3_FLG3_5761_5784_AX_FIXES) { 1177 if (tp->tg3_flags3 & TG3_FLG3_5761_5784_AX_FIXES) {
1110 u32 val; 1178 u32 val;
1111 1179
@@ -1124,6 +1192,8 @@ static int tg3_phy_reset(struct tg3 *tp)
1124 MII_TG3_MISC_SHDW_APD_WKTM_84MS); 1192 MII_TG3_MISC_SHDW_APD_WKTM_84MS);
1125 } 1193 }
1126 1194
1195 tg3_phy_apply_otp(tp);
1196
1127out: 1197out:
1128 if (tp->tg3_flags2 & TG3_FLG2_PHY_ADC_BUG) { 1198 if (tp->tg3_flags2 & TG3_FLG2_PHY_ADC_BUG) {
1129 tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c00); 1199 tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c00);
@@ -9464,7 +9534,8 @@ static int tg3_test_loopback(struct tg3 *tp)
9464 if (err) 9534 if (err)
9465 return TG3_LOOPBACK_FAILED; 9535 return TG3_LOOPBACK_FAILED;
9466 9536
9467 if (tp->tg3_flags3 & TG3_FLG3_5761_5784_AX_FIXES) { 9537 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 ||
9538 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5761) {
9468 int i; 9539 int i;
9469 u32 status; 9540 u32 status;
9470 9541
@@ -9481,17 +9552,23 @@ static int tg3_test_loopback(struct tg3 *tp)
9481 if (status != CPMU_MUTEX_GNT_DRIVER) 9552 if (status != CPMU_MUTEX_GNT_DRIVER)
9482 return TG3_LOOPBACK_FAILED; 9553 return TG3_LOOPBACK_FAILED;
9483 9554
9484 /* Turn off power management based on link speed. */ 9555 /* Turn off link-based power management. */
9485 cpmuctrl = tr32(TG3_CPMU_CTRL); 9556 cpmuctrl = tr32(TG3_CPMU_CTRL);
9486 tw32(TG3_CPMU_CTRL, 9557 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 ||
9487 cpmuctrl & ~(CPMU_CTRL_LINK_SPEED_MODE | 9558 GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5761_AX)
9488 CPMU_CTRL_LINK_AWARE_MODE)); 9559 tw32(TG3_CPMU_CTRL,
9560 cpmuctrl & ~(CPMU_CTRL_LINK_SPEED_MODE |
9561 CPMU_CTRL_LINK_AWARE_MODE));
9562 else
9563 tw32(TG3_CPMU_CTRL,
9564 cpmuctrl & ~CPMU_CTRL_LINK_AWARE_MODE);
9489 } 9565 }
9490 9566
9491 if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK)) 9567 if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK))
9492 err |= TG3_MAC_LOOPBACK_FAILED; 9568 err |= TG3_MAC_LOOPBACK_FAILED;
9493 9569
9494 if (tp->tg3_flags3 & TG3_FLG3_5761_5784_AX_FIXES) { 9570 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 ||
9571 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5761) {
9495 tw32(TG3_CPMU_CTRL, cpmuctrl); 9572 tw32(TG3_CPMU_CTRL, cpmuctrl);
9496 9573
9497 /* Release the mutex */ 9574 /* Release the mutex */
@@ -10724,9 +10801,8 @@ static void __devinit tg3_get_eeprom_hw_cfg(struct tg3 *tp)
10724 tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL) 10801 tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL)
10725 tp->led_ctrl = LED_CTRL_MODE_PHY_2; 10802 tp->led_ctrl = LED_CTRL_MODE_PHY_2;
10726 10803
10727 if (tp->pci_chip_rev_id == CHIPREV_ID_5784_A0 || 10804 if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX)
10728 tp->pci_chip_rev_id == CHIPREV_ID_5784_A1) 10805 tp->led_ctrl = LED_CTRL_MODE_PHY_1;
10729 tp->led_ctrl = LED_CTRL_MODE_MAC;
10730 10806
10731 if (nic_cfg & NIC_SRAM_DATA_CFG_EEPROM_WP) { 10807 if (nic_cfg & NIC_SRAM_DATA_CFG_EEPROM_WP) {
10732 tp->tg3_flags |= TG3_FLAG_EEPROM_WRITE_PROT; 10808 tp->tg3_flags |= TG3_FLAG_EEPROM_WRITE_PROT;
@@ -10773,6 +10849,55 @@ static void __devinit tg3_get_eeprom_hw_cfg(struct tg3 *tp)
10773 } 10849 }
10774} 10850}
10775 10851
10852static int __devinit tg3_issue_otp_command(struct tg3 *tp, u32 cmd)
10853{
10854 int i;
10855 u32 val;
10856
10857 tw32(OTP_CTRL, cmd | OTP_CTRL_OTP_CMD_START);
10858 tw32(OTP_CTRL, cmd);
10859
10860 /* Wait for up to 1 ms for command to execute. */
10861 for (i = 0; i < 100; i++) {
10862 val = tr32(OTP_STATUS);
10863 if (val & OTP_STATUS_CMD_DONE)
10864 break;
10865 udelay(10);
10866 }
10867
10868 return (val & OTP_STATUS_CMD_DONE) ? 0 : -EBUSY;
10869}
10870
10871/* Read the gphy configuration from the OTP region of the chip. The gphy
10872 * configuration is a 32-bit value that straddles the alignment boundary.
10873 * We do two 32-bit reads and then shift and merge the results.
10874 */
10875static u32 __devinit tg3_read_otp_phycfg(struct tg3 *tp)
10876{
10877 u32 bhalf_otp, thalf_otp;
10878
10879 tw32(OTP_MODE, OTP_MODE_OTP_THRU_GRC);
10880
10881 if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_INIT))
10882 return 0;
10883
10884 tw32(OTP_ADDRESS, OTP_ADDRESS_MAGIC1);
10885
10886 if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_READ))
10887 return 0;
10888
10889 thalf_otp = tr32(OTP_READ_DATA);
10890
10891 tw32(OTP_ADDRESS, OTP_ADDRESS_MAGIC2);
10892
10893 if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_READ))
10894 return 0;
10895
10896 bhalf_otp = tr32(OTP_READ_DATA);
10897
10898 return ((thalf_otp & 0x0000ffff) << 16) | (bhalf_otp >> 16);
10899}
10900
10776static int __devinit tg3_phy_probe(struct tg3 *tp) 10901static int __devinit tg3_phy_probe(struct tg3 *tp)
10777{ 10902{
10778 u32 hw_phy_id_1, hw_phy_id_2; 10903 u32 hw_phy_id_1, hw_phy_id_2;
@@ -11586,6 +11711,13 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
11586 tp->tg3_flags2 |= TG3_FLG2_PHY_BER_BUG; 11711 tp->tg3_flags2 |= TG3_FLG2_PHY_BER_BUG;
11587 } 11712 }
11588 11713
11714 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 &&
11715 GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5784_AX) {
11716 tp->phy_otp = tg3_read_otp_phycfg(tp);
11717 if (tp->phy_otp == 0)
11718 tp->phy_otp = TG3_OTP_DEFAULT;
11719 }
11720
11589 tp->coalesce_mode = 0; 11721 tp->coalesce_mode = 0;
11590 if (GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_AX && 11722 if (GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_AX &&
11591 GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX) 11723 GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX)
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 3938eb35ce8..c1075a73d66 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -138,6 +138,8 @@
138#define CHIPREV_5704_BX 0x21 138#define CHIPREV_5704_BX 0x21
139#define CHIPREV_5750_AX 0x40 139#define CHIPREV_5750_AX 0x40
140#define CHIPREV_5750_BX 0x41 140#define CHIPREV_5750_BX 0x41
141#define CHIPREV_5784_AX 0x57840
142#define CHIPREV_5761_AX 0x57610
141#define GET_METAL_REV(CHIP_REV_ID) ((CHIP_REV_ID) & 0xff) 143#define GET_METAL_REV(CHIP_REV_ID) ((CHIP_REV_ID) & 0xff)
142#define METAL_REV_A0 0x00 144#define METAL_REV_A0 0x00
143#define METAL_REV_A1 0x01 145#define METAL_REV_A1 0x01
@@ -866,6 +868,7 @@
866#define CPMU_CTRL_LINK_IDLE_MODE 0x00000200 868#define CPMU_CTRL_LINK_IDLE_MODE 0x00000200
867#define CPMU_CTRL_LINK_AWARE_MODE 0x00000400 869#define CPMU_CTRL_LINK_AWARE_MODE 0x00000400
868#define CPMU_CTRL_LINK_SPEED_MODE 0x00004000 870#define CPMU_CTRL_LINK_SPEED_MODE 0x00004000
871#define CPMU_CTRL_GPHY_10MB_RXONLY 0x00010000
869#define TG3_CPMU_LSPD_10MB_CLK 0x00003604 872#define TG3_CPMU_LSPD_10MB_CLK 0x00003604
870#define CPMU_LSPD_10MB_MACCLK_MASK 0x001f0000 873#define CPMU_LSPD_10MB_MACCLK_MASK 0x001f0000
871#define CPMU_LSPD_10MB_MACCLK_6_25 0x00130000 874#define CPMU_LSPD_10MB_MACCLK_6_25 0x00130000
@@ -1559,7 +1562,24 @@
1559/* 0x702c unused */ 1562/* 0x702c unused */
1560 1563
1561#define NVRAM_ADDR_LOCKOUT 0x00007030 1564#define NVRAM_ADDR_LOCKOUT 0x00007030
1562/* 0x7034 --> 0x7c00 unused */ 1565/* 0x7034 --> 0x7500 unused */
1566
1567#define OTP_MODE 0x00007500
1568#define OTP_MODE_OTP_THRU_GRC 0x00000001
1569#define OTP_CTRL 0x00007504
1570#define OTP_CTRL_OTP_PROG_ENABLE 0x00200000
1571#define OTP_CTRL_OTP_CMD_READ 0x00000000
1572#define OTP_CTRL_OTP_CMD_INIT 0x00000008
1573#define OTP_CTRL_OTP_CMD_START 0x00000001
1574#define OTP_STATUS 0x00007508
1575#define OTP_STATUS_CMD_DONE 0x00000001
1576#define OTP_ADDRESS 0x0000750c
1577#define OTP_ADDRESS_MAGIC1 0x000000a0
1578#define OTP_ADDRESS_MAGIC2 0x00000080
1579/* 0x7510 unused */
1580
1581#define OTP_READ_DATA 0x00007514
1582/* 0x7518 --> 0x7c04 unused */
1563 1583
1564#define PCIE_TRANSACTION_CFG 0x00007c04 1584#define PCIE_TRANSACTION_CFG 0x00007c04
1565#define PCIE_TRANS_CFG_1SHOT_MSI 0x20000000 1585#define PCIE_TRANS_CFG_1SHOT_MSI 0x20000000
@@ -1568,6 +1588,28 @@
1568#define PCIE_PWR_MGMT_THRESH 0x00007d28 1588#define PCIE_PWR_MGMT_THRESH 0x00007d28
1569#define PCIE_PWR_MGMT_L1_THRESH_MSK 0x0000ff00 1589#define PCIE_PWR_MGMT_L1_THRESH_MSK 0x0000ff00
1570 1590
1591
1592/* OTP bit definitions */
1593#define TG3_OTP_AGCTGT_MASK 0x000000e0
1594#define TG3_OTP_AGCTGT_SHIFT 1
1595#define TG3_OTP_HPFFLTR_MASK 0x00000300
1596#define TG3_OTP_HPFFLTR_SHIFT 1
1597#define TG3_OTP_HPFOVER_MASK 0x00000400
1598#define TG3_OTP_HPFOVER_SHIFT 1
1599#define TG3_OTP_LPFDIS_MASK 0x00000800
1600#define TG3_OTP_LPFDIS_SHIFT 11
1601#define TG3_OTP_VDAC_MASK 0xff000000
1602#define TG3_OTP_VDAC_SHIFT 24
1603#define TG3_OTP_10BTAMP_MASK 0x0000f000
1604#define TG3_OTP_10BTAMP_SHIFT 8
1605#define TG3_OTP_ROFF_MASK 0x00e00000
1606#define TG3_OTP_ROFF_SHIFT 11
1607#define TG3_OTP_RCOFF_MASK 0x001c0000
1608#define TG3_OTP_RCOFF_SHIFT 16
1609
1610#define TG3_OTP_DEFAULT 0x286c1640
1611
1612
1571#define TG3_EEPROM_MAGIC 0x669955aa 1613#define TG3_EEPROM_MAGIC 0x669955aa
1572#define TG3_EEPROM_MAGIC_FW 0xa5000000 1614#define TG3_EEPROM_MAGIC_FW 0xa5000000
1573#define TG3_EEPROM_MAGIC_FW_MSK 0xff000000 1615#define TG3_EEPROM_MAGIC_FW_MSK 0xff000000
@@ -1705,15 +1747,31 @@
1705 1747
1706#define MII_TG3_DSP_RW_PORT 0x15 /* DSP coefficient read/write port */ 1748#define MII_TG3_DSP_RW_PORT 0x15 /* DSP coefficient read/write port */
1707 1749
1708#define MII_TG3_DSP_ADDRESS 0x17 /* DSP address register */
1709#define MII_TG3_EPHY_PTEST 0x17 /* 5906 PHY register */ 1750#define MII_TG3_EPHY_PTEST 0x17 /* 5906 PHY register */
1751#define MII_TG3_DSP_ADDRESS 0x17 /* DSP address register */
1752
1753#define MII_TG3_DSP_TAP1 0x0001
1754#define MII_TG3_DSP_TAP1_AGCTGT_DFLT 0x0007
1755#define MII_TG3_DSP_AADJ1CH0 0x001f
1756#define MII_TG3_DSP_AADJ1CH3 0x601f
1757#define MII_TG3_DSP_AADJ1CH3_ADCCKADJ 0x0002
1758#define MII_TG3_DSP_EXP8 0x0708
1759#define MII_TG3_DSP_EXP8_REJ2MHz 0x0001
1760#define MII_TG3_DSP_EXP8_AEDW 0x0200
1761#define MII_TG3_DSP_EXP75 0x0f75
1762#define MII_TG3_DSP_EXP96 0x0f96
1763#define MII_TG3_DSP_EXP97 0x0f97
1710 1764
1711#define MII_TG3_AUX_CTRL 0x18 /* auxilliary control register */ 1765#define MII_TG3_AUX_CTRL 0x18 /* auxilliary control register */
1712 1766
1713#define MII_TG3_AUXCTL_MISC_WREN 0x8000 1767#define MII_TG3_AUXCTL_MISC_WREN 0x8000
1714#define MII_TG3_AUXCTL_MISC_FORCE_AMDIX 0x0200 1768#define MII_TG3_AUXCTL_MISC_FORCE_AMDIX 0x0200
1715#define MII_TG3_AUXCTL_MISC_RDSEL_MISC 0x7000 1769#define MII_TG3_AUXCTL_MISC_RDSEL_MISC 0x7000
1716#define MII_TG3_AUXCTL_SHDWSEL_MISC 0x0007 1770#define MII_TG3_AUXCTL_SHDWSEL_MISC 0x0007
1771
1772#define MII_TG3_AUXCTL_ACTL_SMDSP_ENA 0x0800
1773#define MII_TG3_AUXCTL_ACTL_TX_6DB 0x0400
1774#define MII_TG3_AUXCTL_SHDWSEL_AUXCTL 0x0000
1717 1775
1718#define MII_TG3_AUX_STAT 0x19 /* auxilliary status register */ 1776#define MII_TG3_AUX_STAT 0x19 /* auxilliary status register */
1719#define MII_TG3_AUX_STAT_LPASS 0x0004 1777#define MII_TG3_AUX_STAT_LPASS 0x0004
@@ -1743,6 +1801,20 @@
1743#define MII_TG3_INT_DUPLEXCHG 0x0008 1801#define MII_TG3_INT_DUPLEXCHG 0x0008
1744#define MII_TG3_INT_ANEG_PAGE_RX 0x0400 1802#define MII_TG3_INT_ANEG_PAGE_RX 0x0400
1745 1803
1804#define MII_TG3_MISC_SHDW 0x1c
1805#define MII_TG3_MISC_SHDW_WREN 0x8000
1806#define MII_TG3_MISC_SHDW_SCR5_SEL 0x1400
1807#define MII_TG3_MISC_SHDW_APD_SEL 0x2800
1808
1809#define MII_TG3_MISC_SHDW_SCR5_C125OE 0x0001
1810#define MII_TG3_MISC_SHDW_SCR5_DLLAPD 0x0002
1811#define MII_TG3_MISC_SHDW_SCR5_SDTL 0x0004
1812#define MII_TG3_MISC_SHDW_SCR5_DLPTLM 0x0008
1813#define MII_TG3_MISC_SHDW_SCR5_LPED 0x0010
1814
1815#define MII_TG3_MISC_SHDW_APD_WKTM_84MS 0x0001
1816#define MII_TG3_MISC_SHDW_APD_ENABLE 0x0020
1817
1746#define MII_TG3_EPHY_TEST 0x1f /* 5906 PHY register */ 1818#define MII_TG3_EPHY_TEST 0x1f /* 5906 PHY register */
1747#define MII_TG3_EPHY_SHADOW_EN 0x80 1819#define MII_TG3_EPHY_SHADOW_EN 0x80
1748 1820
@@ -2473,6 +2545,7 @@ struct tg3 {
2473#define PHY_REV_BCM5411_X0 0x1 /* Found on Netgear GA302T */ 2545#define PHY_REV_BCM5411_X0 0x1 /* Found on Netgear GA302T */
2474 2546
2475 u32 led_ctrl; 2547 u32 led_ctrl;
2548 u32 phy_otp;
2476 u16 pci_cmd; 2549 u16 pci_cmd;
2477 2550
2478 char board_part_number[24]; 2551 char board_part_number[24];
diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index 433c994ea9d..0ab51a0f35f 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -117,7 +117,7 @@
117 * Official releases will only have an a.b.c version number format. 117 * Official releases will only have an a.b.c version number format.
118 */ 118 */
119 119
120static char version[] __devinitdata = 120static char version[] =
121"Olympic.c v1.0.5 6/04/02 - Peter De Schrijver & Mike Phillips" ; 121"Olympic.c v1.0.5 6/04/02 - Peter De Schrijver & Mike Phillips" ;
122 122
123static char *open_maj_error[] = {"No error", "Lobe Media Test", "Physical Insertion", 123static char *open_maj_error[] = {"No error", "Lobe Media Test", "Physical Insertion",
@@ -290,7 +290,7 @@ op_disable_dev:
290 return i; 290 return i;
291} 291}
292 292
293static int __devinit olympic_init(struct net_device *dev) 293static int olympic_init(struct net_device *dev)
294{ 294{
295 struct olympic_private *olympic_priv; 295 struct olympic_private *olympic_priv;
296 u8 __iomem *olympic_mmio, *init_srb,*adapter_addr; 296 u8 __iomem *olympic_mmio, *init_srb,*adapter_addr;
@@ -434,7 +434,7 @@ static int __devinit olympic_init(struct net_device *dev)
434 434
435} 435}
436 436
437static int __devinit olympic_open(struct net_device *dev) 437static int olympic_open(struct net_device *dev)
438{ 438{
439 struct olympic_private *olympic_priv=netdev_priv(dev); 439 struct olympic_private *olympic_priv=netdev_priv(dev);
440 u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*init_srb; 440 u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*init_srb;
@@ -1438,13 +1438,18 @@ static void olympic_arb_cmd(struct net_device *dev)
1438 1438
1439 if (olympic_priv->olympic_network_monitor) { 1439 if (olympic_priv->olympic_network_monitor) {
1440 struct trh_hdr *mac_hdr; 1440 struct trh_hdr *mac_hdr;
1441 DECLARE_MAC_BUF(mac);
1442 printk(KERN_WARNING "%s: Received MAC Frame, details: \n",dev->name); 1441 printk(KERN_WARNING "%s: Received MAC Frame, details: \n",dev->name);
1443 mac_hdr = tr_hdr(mac_frame); 1442 mac_hdr = tr_hdr(mac_frame);
1444 printk(KERN_WARNING "%s: MAC Frame Dest. Addr: %s\n", 1443 printk(KERN_WARNING "%s: MAC Frame Dest. Addr: "
1445 dev->name, print_mac(mac, mac_hdr->daddr)); 1444 MAC_FMT " \n", dev->name,
1446 printk(KERN_WARNING "%s: MAC Frame Srce. Addr: %s\n", 1445 mac_hdr->daddr[0], mac_hdr->daddr[1],
1447 dev->name, print_mac(mac, mac_hdr->saddr)); 1446 mac_hdr->daddr[2], mac_hdr->daddr[3],
1447 mac_hdr->daddr[4], mac_hdr->daddr[5]);
1448 printk(KERN_WARNING "%s: MAC Frame Srce. Addr: "
1449 MAC_FMT " \n", dev->name,
1450 mac_hdr->saddr[0], mac_hdr->saddr[1],
1451 mac_hdr->saddr[2], mac_hdr->saddr[3],
1452 mac_hdr->saddr[4], mac_hdr->saddr[5]);
1448 } 1453 }
1449 netif_rx(mac_frame); 1454 netif_rx(mac_frame);
1450 dev->last_rx = jiffies; 1455 dev->last_rx = jiffies;
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index 8909050b8ea..5f1c5072b96 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -3413,7 +3413,7 @@ static int smctr_make_tx_status_code(struct net_device *dev,
3413 tsv->svi = TRANSMIT_STATUS_CODE; 3413 tsv->svi = TRANSMIT_STATUS_CODE;
3414 tsv->svl = S_TRANSMIT_STATUS_CODE; 3414 tsv->svl = S_TRANSMIT_STATUS_CODE;
3415 3415
3416 tsv->svv[0] = ((tx_fstatus & 0x0100 >> 6) || IBM_PASS_SOURCE_ADDR); 3416 tsv->svv[0] = ((tx_fstatus & 0x0100 >> 6) | IBM_PASS_SOURCE_ADDR);
3417 3417
3418 /* Stripped frame status of Transmitted Frame */ 3418 /* Stripped frame status of Transmitted Frame */
3419 tsv->svv[1] = tx_fstatus & 0xff; 3419 tsv->svv[1] = tx_fstatus & 0xff;
diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c
index 206918bad53..da2206f6021 100644
--- a/drivers/net/tulip/eeprom.c
+++ b/drivers/net/tulip/eeprom.c
@@ -343,6 +343,12 @@ int __devinit tulip_read_eeprom(struct net_device *dev, int location, int addr_l
343 void __iomem *ee_addr = tp->base_addr + CSR9; 343 void __iomem *ee_addr = tp->base_addr + CSR9;
344 int read_cmd = location | (EE_READ_CMD << addr_len); 344 int read_cmd = location | (EE_READ_CMD << addr_len);
345 345
346 /* If location is past the end of what we can address, don't
347 * read some other location (ie truncate). Just return zero.
348 */
349 if (location > (1 << addr_len) - 1)
350 return 0;
351
346 iowrite32(EE_ENB & ~EE_CS, ee_addr); 352 iowrite32(EE_ENB & ~EE_CS, ee_addr);
347 iowrite32(EE_ENB, ee_addr); 353 iowrite32(EE_ENB, ee_addr);
348 354
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
index ed600bf56e7..82f404b76d8 100644
--- a/drivers/net/tulip/tulip_core.c
+++ b/drivers/net/tulip/tulip_core.c
@@ -1437,6 +1437,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
1437 EEPROM. 1437 EEPROM.
1438 */ 1438 */
1439 ee_data = tp->eeprom; 1439 ee_data = tp->eeprom;
1440 memset(ee_data, 0, sizeof(tp->eeprom));
1440 sum = 0; 1441 sum = 0;
1441 if (chip_idx == LC82C168) { 1442 if (chip_idx == LC82C168) {
1442 for (i = 0; i < 3; i++) { 1443 for (i = 0; i < 3; i++) {
@@ -1458,8 +1459,12 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
1458 /* A serial EEPROM interface, we read now and sort it out later. */ 1459 /* A serial EEPROM interface, we read now and sort it out later. */
1459 int sa_offset = 0; 1460 int sa_offset = 0;
1460 int ee_addr_size = tulip_read_eeprom(dev, 0xff, 8) & 0x40000 ? 8 : 6; 1461 int ee_addr_size = tulip_read_eeprom(dev, 0xff, 8) & 0x40000 ? 8 : 6;
1462 int ee_max_addr = ((1 << ee_addr_size) - 1) * sizeof(u16);
1461 1463
1462 for (i = 0; i < sizeof(tp->eeprom); i+=2) { 1464 if (ee_max_addr > sizeof(tp->eeprom))
1465 ee_max_addr = sizeof(tp->eeprom);
1466
1467 for (i = 0; i < ee_max_addr ; i += sizeof(u16)) {
1463 u16 data = tulip_read_eeprom(dev, i/2, ee_addr_size); 1468 u16 data = tulip_read_eeprom(dev, i/2, ee_addr_size);
1464 ee_data[i] = data & 0xff; 1469 ee_data[i] = data & 0xff;
1465 ee_data[i + 1] = data >> 8; 1470 ee_data[i + 1] = data >> 8;
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index a12c9c41b21..0604f3faf04 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -129,7 +129,7 @@ config USB_USBNET
129 129
130config USB_NET_AX8817X 130config USB_NET_AX8817X
131 tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters" 131 tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
132 depends on USB_USBNET && NET_ETHERNET 132 depends on USB_USBNET
133 select CRC32 133 select CRC32
134 default y 134 default y
135 help 135 help
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 4b131a6c6b7..01660f68943 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -341,7 +341,7 @@ static void dm9601_set_multicast(struct net_device *net)
341 /* We use the 20 byte dev->data for our 8 byte filter buffer 341 /* We use the 20 byte dev->data for our 8 byte filter buffer
342 * to avoid allocating memory that is tricky to free later */ 342 * to avoid allocating memory that is tricky to free later */
343 u8 *hashes = (u8 *) & dev->data; 343 u8 *hashes = (u8 *) & dev->data;
344 u8 rx_ctl = 0x01; 344 u8 rx_ctl = 0x31;
345 345
346 memset(hashes, 0x00, DM_MCAST_SIZE); 346 memset(hashes, 0x00, DM_MCAST_SIZE);
347 hashes[DM_MCAST_SIZE - 1] |= 0x80; /* broadcast address */ 347 hashes[DM_MCAST_SIZE - 1] |= 0x80; /* broadcast address */
@@ -354,7 +354,7 @@ static void dm9601_set_multicast(struct net_device *net)
354 struct dev_mc_list *mc_list = net->mc_list; 354 struct dev_mc_list *mc_list = net->mc_list;
355 int i; 355 int i;
356 356
357 for (i = 0; i < net->mc_count; i++) { 357 for (i = 0; i < net->mc_count; i++, mc_list = mc_list->next) {
358 u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26; 358 u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26;
359 hashes[crc >> 3] |= 1 << (crc & 0x7); 359 hashes[crc >> 3] |= 1 << (crc & 0x7);
360 } 360 }
@@ -562,6 +562,10 @@ static const struct usb_device_id products[] = {
562 USB_DEVICE(0x0a46, 0x8515), /* ADMtek ADM8515 USB NIC */ 562 USB_DEVICE(0x0a46, 0x8515), /* ADMtek ADM8515 USB NIC */
563 .driver_info = (unsigned long)&dm9601_info, 563 .driver_info = (unsigned long)&dm9601_info,
564 }, 564 },
565 {
566 USB_DEVICE(0x0a47, 0x9601), /* Hirose USB-100 */
567 .driver_info = (unsigned long)&dm9601_info,
568 },
565 {}, // END 569 {}, // END
566}; 570};
567 571
diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index d1ed68a11e7..b588c890ea7 100644
--- a/drivers/net/usb/pegasus.c
+++ b/drivers/net/usb/pegasus.c
@@ -1128,12 +1128,8 @@ pegasus_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
1128{ 1128{
1129 pegasus_t *pegasus; 1129 pegasus_t *pegasus;
1130 1130
1131 if (in_atomic())
1132 return 0;
1133
1134 pegasus = netdev_priv(dev); 1131 pegasus = netdev_priv(dev);
1135 mii_ethtool_gset(&pegasus->mii, ecmd); 1132 mii_ethtool_gset(&pegasus->mii, ecmd);
1136
1137 return 0; 1133 return 0;
1138} 1134}
1139 1135
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
index 727547a2899..369c731114b 100644
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
@@ -283,7 +283,7 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)
283 struct rndis_set_c *set_c; 283 struct rndis_set_c *set_c;
284 struct rndis_halt *halt; 284 struct rndis_halt *halt;
285 } u; 285 } u;
286 u32 tmp, *phym; 286 u32 tmp, phym_unspec, *phym;
287 int reply_len; 287 int reply_len;
288 unsigned char *bp; 288 unsigned char *bp;
289 289
@@ -363,12 +363,15 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)
363 goto halt_fail_and_release; 363 goto halt_fail_and_release;
364 364
365 /* Check physical medium */ 365 /* Check physical medium */
366 phym = NULL;
366 reply_len = sizeof *phym; 367 reply_len = sizeof *phym;
367 retval = rndis_query(dev, intf, u.buf, OID_GEN_PHYSICAL_MEDIUM, 368 retval = rndis_query(dev, intf, u.buf, OID_GEN_PHYSICAL_MEDIUM,
368 0, (void **) &phym, &reply_len); 369 0, (void **) &phym, &reply_len);
369 if (retval != 0) 370 if (retval != 0 || !phym) {
370 /* OID is optional so don't fail here. */ 371 /* OID is optional so don't fail here. */
371 *phym = RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED; 372 phym_unspec = RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED;
373 phym = &phym_unspec;
374 }
372 if ((flags & FLAG_RNDIS_PHYM_WIRELESS) && 375 if ((flags & FLAG_RNDIS_PHYM_WIRELESS) &&
373 *phym != RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN) { 376 *phym != RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN) {
374 if (netif_msg_probe(dev)) 377 if (netif_msg_probe(dev))
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/net/virtio_net.c b/drivers/net/virtio_net.c
index b58472cf76f..555b70c8b86 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -234,11 +234,12 @@ static int start_xmit(struct sk_buff *skb, struct net_device *dev)
234 struct scatterlist sg[1+MAX_SKB_FRAGS]; 234 struct scatterlist sg[1+MAX_SKB_FRAGS];
235 struct virtio_net_hdr *hdr; 235 struct virtio_net_hdr *hdr;
236 const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest; 236 const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest;
237 DECLARE_MAC_BUF(mac);
238 237
239 sg_init_table(sg, 1+MAX_SKB_FRAGS); 238 sg_init_table(sg, 1+MAX_SKB_FRAGS);
240 239
241 pr_debug("%s: xmit %p %s\n", dev->name, skb, print_mac(mac, dest)); 240 pr_debug("%s: xmit %p " MAC_FMT "\n", dev->name, skb,
241 dest[0], dest[1], dest[2],
242 dest[3], dest[4], dest[5]);
242 243
243 /* Encode metadata header at front. */ 244 /* Encode metadata header at front. */
244 hdr = skb_vnet_hdr(skb); 245 hdr = skb_vnet_hdr(skb);
@@ -284,7 +285,6 @@ again:
284 /* Activate callback for using skbs: if this returns false it 285 /* Activate callback for using skbs: if this returns false it
285 * means some were used in the meantime. */ 286 * means some were used in the meantime. */
286 if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { 287 if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) {
287 printk("Unlikely: restart svq race\n");
288 vi->svq->vq_ops->disable_cb(vi->svq); 288 vi->svq->vq_ops->disable_cb(vi->svq);
289 netif_start_queue(dev); 289 netif_start_queue(dev);
290 goto again; 290 goto again;
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
index fb37b809523..824df3b5ea4 100644
--- a/drivers/net/wan/lapbether.c
+++ b/drivers/net/wan/lapbether.c
@@ -58,7 +58,7 @@ struct lapbethdev {
58 struct net_device_stats stats; /* some statistics */ 58 struct net_device_stats stats; /* some statistics */
59}; 59};
60 60
61static struct list_head lapbeth_devices = LIST_HEAD_INIT(lapbeth_devices); 61static LIST_HEAD(lapbeth_devices);
62 62
63/* ------------------------------------------------------------------------ */ 63/* ------------------------------------------------------------------------ */
64 64
diff --git a/drivers/net/wireless/arlan-proc.c b/drivers/net/wireless/arlan-proc.c
index c6e70dbc5de..2ab1d59870f 100644
--- a/drivers/net/wireless/arlan-proc.c
+++ b/drivers/net/wireless/arlan-proc.c
@@ -1202,13 +1202,6 @@ static ctl_table arlan_table[MAX_ARLANS + 1] =
1202 { .ctl_name = 0 } 1202 { .ctl_name = 0 }
1203}; 1203};
1204#endif 1204#endif
1205#else
1206
1207static ctl_table arlan_table[MAX_ARLANS + 1] =
1208{
1209 { .ctl_name = 0 }
1210};
1211#endif
1212 1205
1213 1206
1214// static int mmtu = 1234; 1207// static int mmtu = 1234;
@@ -1233,7 +1226,6 @@ static ctl_table arlan_root_table[] =
1233//}; 1226//};
1234 1227
1235 1228
1236#ifdef CONFIG_PROC_FS
1237static struct ctl_table_header *arlan_device_sysctl_header; 1229static struct ctl_table_header *arlan_device_sysctl_header;
1238 1230
1239int __init init_arlan_proc(void) 1231int __init init_arlan_proc(void)
diff --git a/drivers/net/wireless/b43/debugfs.c b/drivers/net/wireless/b43/debugfs.c
index e38ed0fe72e..7fca2ebc747 100644
--- a/drivers/net/wireless/b43/debugfs.c
+++ b/drivers/net/wireless/b43/debugfs.c
@@ -618,6 +618,7 @@ void b43_debugfs_remove_device(struct b43_wldev *dev)
618 kfree(e); 618 kfree(e);
619} 619}
620 620
621/* Called with IRQs disabled. */
621void b43_debugfs_log_txstat(struct b43_wldev *dev, 622void b43_debugfs_log_txstat(struct b43_wldev *dev,
622 const struct b43_txstatus *status) 623 const struct b43_txstatus *status)
623{ 624{
@@ -629,8 +630,7 @@ void b43_debugfs_log_txstat(struct b43_wldev *dev,
629 if (!e) 630 if (!e)
630 return; 631 return;
631 log = &e->txstatlog; 632 log = &e->txstatlog;
632 B43_WARN_ON(!irqs_disabled()); 633 spin_lock(&log->lock); /* IRQs are already disabled. */
633 spin_lock(&log->lock);
634 i = log->end + 1; 634 i = log->end + 1;
635 if (i == B43_NR_LOGGED_TXSTATUS) 635 if (i == B43_NR_LOGGED_TXSTATUS)
636 i = 0; 636 i = 0;
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
index 3dfb28a34be..948eb1fe916 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -560,7 +560,7 @@ static int b43_dmacontroller_tx_reset(struct b43_wldev *dev, u16 mmio_base,
560/* Check if a DMA mapping address is invalid. */ 560/* Check if a DMA mapping address is invalid. */
561static bool b43_dma_mapping_error(struct b43_dmaring *ring, 561static bool b43_dma_mapping_error(struct b43_dmaring *ring,
562 dma_addr_t addr, 562 dma_addr_t addr,
563 size_t buffersize) 563 size_t buffersize, bool dma_to_device)
564{ 564{
565 if (unlikely(dma_mapping_error(addr))) 565 if (unlikely(dma_mapping_error(addr)))
566 return 1; 566 return 1;
@@ -568,11 +568,11 @@ static bool b43_dma_mapping_error(struct b43_dmaring *ring,
568 switch (ring->type) { 568 switch (ring->type) {
569 case B43_DMA_30BIT: 569 case B43_DMA_30BIT:
570 if ((u64)addr + buffersize > (1ULL << 30)) 570 if ((u64)addr + buffersize > (1ULL << 30))
571 return 1; 571 goto address_error;
572 break; 572 break;
573 case B43_DMA_32BIT: 573 case B43_DMA_32BIT:
574 if ((u64)addr + buffersize > (1ULL << 32)) 574 if ((u64)addr + buffersize > (1ULL << 32))
575 return 1; 575 goto address_error;
576 break; 576 break;
577 case B43_DMA_64BIT: 577 case B43_DMA_64BIT:
578 /* Currently we can't have addresses beyond 578 /* Currently we can't have addresses beyond
@@ -582,6 +582,12 @@ static bool b43_dma_mapping_error(struct b43_dmaring *ring,
582 582
583 /* The address is OK. */ 583 /* The address is OK. */
584 return 0; 584 return 0;
585
586address_error:
587 /* We can't support this address. Unmap it again. */
588 unmap_descbuffer(ring, addr, buffersize, dma_to_device);
589
590 return 1;
585} 591}
586 592
587static int setup_rx_descbuffer(struct b43_dmaring *ring, 593static int setup_rx_descbuffer(struct b43_dmaring *ring,
@@ -599,7 +605,7 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring,
599 if (unlikely(!skb)) 605 if (unlikely(!skb))
600 return -ENOMEM; 606 return -ENOMEM;
601 dmaaddr = map_descbuffer(ring, skb->data, ring->rx_buffersize, 0); 607 dmaaddr = map_descbuffer(ring, skb->data, ring->rx_buffersize, 0);
602 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize)) { 608 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
603 /* ugh. try to realloc in zone_dma */ 609 /* ugh. try to realloc in zone_dma */
604 gfp_flags |= GFP_DMA; 610 gfp_flags |= GFP_DMA;
605 611
@@ -612,7 +618,8 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring,
612 ring->rx_buffersize, 0); 618 ring->rx_buffersize, 0);
613 } 619 }
614 620
615 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize)) { 621 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
622 b43err(ring->dev->wl, "RX DMA buffer allocation failed\n");
616 dev_kfree_skb_any(skb); 623 dev_kfree_skb_any(skb);
617 return -EIO; 624 return -EIO;
618 } 625 }
@@ -852,7 +859,8 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
852 b43_txhdr_size(dev), 859 b43_txhdr_size(dev),
853 DMA_TO_DEVICE); 860 DMA_TO_DEVICE);
854 861
855 if (b43_dma_mapping_error(ring, dma_test, b43_txhdr_size(dev))) { 862 if (b43_dma_mapping_error(ring, dma_test,
863 b43_txhdr_size(dev), 1)) {
856 /* ugh realloc */ 864 /* ugh realloc */
857 kfree(ring->txhdr_cache); 865 kfree(ring->txhdr_cache);
858 ring->txhdr_cache = kcalloc(nr_slots, 866 ring->txhdr_cache = kcalloc(nr_slots,
@@ -867,8 +875,12 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
867 DMA_TO_DEVICE); 875 DMA_TO_DEVICE);
868 876
869 if (b43_dma_mapping_error(ring, dma_test, 877 if (b43_dma_mapping_error(ring, dma_test,
870 b43_txhdr_size(dev))) 878 b43_txhdr_size(dev), 1)) {
879
880 b43err(dev->wl,
881 "TXHDR DMA allocation failed\n");
871 goto err_kfree_txhdr_cache; 882 goto err_kfree_txhdr_cache;
883 }
872 } 884 }
873 885
874 dma_unmap_single(dev->dev->dev, 886 dma_unmap_single(dev->dev->dev,
@@ -1189,7 +1201,7 @@ static int dma_tx_fragment(struct b43_dmaring *ring,
1189 1201
1190 meta_hdr->dmaaddr = map_descbuffer(ring, (unsigned char *)header, 1202 meta_hdr->dmaaddr = map_descbuffer(ring, (unsigned char *)header,
1191 hdrsize, 1); 1203 hdrsize, 1);
1192 if (b43_dma_mapping_error(ring, meta_hdr->dmaaddr, hdrsize)) { 1204 if (b43_dma_mapping_error(ring, meta_hdr->dmaaddr, hdrsize, 1)) {
1193 ring->current_slot = old_top_slot; 1205 ring->current_slot = old_top_slot;
1194 ring->used_slots = old_used_slots; 1206 ring->used_slots = old_used_slots;
1195 return -EIO; 1207 return -EIO;
@@ -1208,7 +1220,7 @@ static int dma_tx_fragment(struct b43_dmaring *ring,
1208 1220
1209 meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1); 1221 meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1);
1210 /* create a bounce buffer in zone_dma on mapping failure. */ 1222 /* create a bounce buffer in zone_dma on mapping failure. */
1211 if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len)) { 1223 if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) {
1212 bounce_skb = __dev_alloc_skb(skb->len, GFP_ATOMIC | GFP_DMA); 1224 bounce_skb = __dev_alloc_skb(skb->len, GFP_ATOMIC | GFP_DMA);
1213 if (!bounce_skb) { 1225 if (!bounce_skb) {
1214 ring->current_slot = old_top_slot; 1226 ring->current_slot = old_top_slot;
@@ -1222,7 +1234,7 @@ static int dma_tx_fragment(struct b43_dmaring *ring,
1222 skb = bounce_skb; 1234 skb = bounce_skb;
1223 meta->skb = skb; 1235 meta->skb = skb;
1224 meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1); 1236 meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1);
1225 if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len)) { 1237 if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) {
1226 ring->current_slot = old_top_slot; 1238 ring->current_slot = old_top_slot;
1227 ring->used_slots = old_used_slots; 1239 ring->used_slots = old_used_slots;
1228 err = -EIO; 1240 err = -EIO;
@@ -1337,6 +1349,7 @@ out_unlock:
1337 return err; 1349 return err;
1338} 1350}
1339 1351
1352/* Called with IRQs disabled. */
1340void b43_dma_handle_txstatus(struct b43_wldev *dev, 1353void b43_dma_handle_txstatus(struct b43_wldev *dev,
1341 const struct b43_txstatus *status) 1354 const struct b43_txstatus *status)
1342{ 1355{
@@ -1349,8 +1362,8 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev,
1349 ring = parse_cookie(dev, status->cookie, &slot); 1362 ring = parse_cookie(dev, status->cookie, &slot);
1350 if (unlikely(!ring)) 1363 if (unlikely(!ring))
1351 return; 1364 return;
1352 B43_WARN_ON(!irqs_disabled()); 1365
1353 spin_lock(&ring->lock); 1366 spin_lock(&ring->lock); /* IRQs are already disabled. */
1354 1367
1355 B43_WARN_ON(!ring->tx); 1368 B43_WARN_ON(!ring->tx);
1356 ops = ring->ops; 1369 ops = ring->ops;
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 51dfce16178..c73a75b24cd 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2049,7 +2049,6 @@ void b43_mac_enable(struct b43_wldev *dev)
2049{ 2049{
2050 dev->mac_suspended--; 2050 dev->mac_suspended--;
2051 B43_WARN_ON(dev->mac_suspended < 0); 2051 B43_WARN_ON(dev->mac_suspended < 0);
2052 B43_WARN_ON(irqs_disabled());
2053 if (dev->mac_suspended == 0) { 2052 if (dev->mac_suspended == 0) {
2054 b43_write32(dev, B43_MMIO_MACCTL, 2053 b43_write32(dev, B43_MMIO_MACCTL,
2055 b43_read32(dev, B43_MMIO_MACCTL) 2054 b43_read32(dev, B43_MMIO_MACCTL)
@@ -2075,7 +2074,6 @@ void b43_mac_suspend(struct b43_wldev *dev)
2075 u32 tmp; 2074 u32 tmp;
2076 2075
2077 might_sleep(); 2076 might_sleep();
2078 B43_WARN_ON(irqs_disabled());
2079 B43_WARN_ON(dev->mac_suspended < 0); 2077 B43_WARN_ON(dev->mac_suspended < 0);
2080 2078
2081 if (dev->mac_suspended == 0) { 2079 if (dev->mac_suspended == 0) {
diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c
index b79a6bd5396..371e4a11951 100644
--- a/drivers/net/wireless/b43/pcmcia.c
+++ b/drivers/net/wireless/b43/pcmcia.c
@@ -91,6 +91,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
91 91
92 dev->conf.ConfigBase = parse.config.base; 92 dev->conf.ConfigBase = parse.config.base;
93 dev->conf.Present = parse.config.rmask[0]; 93 dev->conf.Present = parse.config.rmask[0];
94 dev->conf.Attributes = CONF_ENABLE_IRQ;
95 dev->conf.IntType = INT_MEMORY_AND_IO;
94 96
95 dev->io.BasePort2 = 0; 97 dev->io.BasePort2 = 0;
96 dev->io.NumPorts2 = 0; 98 dev->io.NumPorts2 = 0;
@@ -112,8 +114,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
112 if (res != CS_SUCCESS) 114 if (res != CS_SUCCESS)
113 goto err_disable; 115 goto err_disable;
114 116
115 dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FIRST_SHARED; 117 dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
116 dev->irq.IRQInfo1 = IRQ_LEVEL_ID | IRQ_SHARE_ID; 118 dev->irq.IRQInfo1 = IRQ_LEVEL_ID;
117 dev->irq.Handler = NULL; /* The handler is registered later. */ 119 dev->irq.Handler = NULL; /* The handler is registered later. */
118 dev->irq.Instance = NULL; 120 dev->irq.Instance = NULL;
119 res = pcmcia_request_irq(dev, &dev->irq); 121 res = pcmcia_request_irq(dev, &dev->irq);
diff --git a/drivers/net/wireless/hostap/hostap_80211_rx.c b/drivers/net/wireless/hostap/hostap_80211_rx.c
index 49978bdb432..4fd73809602 100644
--- a/drivers/net/wireless/hostap/hostap_80211_rx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_rx.c
@@ -635,7 +635,6 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
635{ 635{
636 struct ieee80211_hdr_4addr *hdr; 636 struct ieee80211_hdr_4addr *hdr;
637 int res, hdrlen; 637 int res, hdrlen;
638 DECLARE_MAC_BUF(mac);
639 638
640 if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL) 639 if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL)
641 return 0; 640 return 0;
@@ -647,8 +646,10 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
647 strcmp(crypt->ops->name, "TKIP") == 0) { 646 strcmp(crypt->ops->name, "TKIP") == 0) {
648 if (net_ratelimit()) { 647 if (net_ratelimit()) {
649 printk(KERN_DEBUG "%s: TKIP countermeasures: dropped " 648 printk(KERN_DEBUG "%s: TKIP countermeasures: dropped "
650 "received packet from %s\n", 649 "received packet from " MAC_FMT "\n",
651 local->dev->name, print_mac(mac, hdr->addr2)); 650 local->dev->name,
651 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
652 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
652 } 653 }
653 return -1; 654 return -1;
654 } 655 }
@@ -657,9 +658,12 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
657 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv); 658 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv);
658 atomic_dec(&crypt->refcnt); 659 atomic_dec(&crypt->refcnt);
659 if (res < 0) { 660 if (res < 0) {
660 printk(KERN_DEBUG "%s: decryption failed (SA=%s" 661 printk(KERN_DEBUG "%s: decryption failed (SA=" MAC_FMT
661 ") res=%d\n", 662 ") res=%d\n",
662 local->dev->name, print_mac(mac, hdr->addr2), res); 663 local->dev->name,
664 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
665 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
666 res);
663 local->comm_tallies.rx_discards_wep_undecryptable++; 667 local->comm_tallies.rx_discards_wep_undecryptable++;
664 return -1; 668 return -1;
665 } 669 }
@@ -721,7 +725,6 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
721 struct ieee80211_crypt_data *crypt = NULL; 725 struct ieee80211_crypt_data *crypt = NULL;
722 void *sta = NULL; 726 void *sta = NULL;
723 int keyidx = 0; 727 int keyidx = 0;
724 DECLARE_MAC_BUF(mac);
725 728
726 iface = netdev_priv(dev); 729 iface = netdev_priv(dev);
727 local = iface->local; 730 local = iface->local;
@@ -798,8 +801,10 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
798 * frames silently instead of filling system log with 801 * frames silently instead of filling system log with
799 * these reports. */ 802 * these reports. */
800 printk(KERN_DEBUG "%s: WEP decryption failed (not set)" 803 printk(KERN_DEBUG "%s: WEP decryption failed (not set)"
801 " (SA=%s)\n", 804 " (SA=" MAC_FMT ")\n",
802 local->dev->name, print_mac(mac, hdr->addr2)); 805 local->dev->name,
806 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
807 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
803#endif 808#endif
804 local->comm_tallies.rx_discards_wep_undecryptable++; 809 local->comm_tallies.rx_discards_wep_undecryptable++;
805 goto rx_dropped; 810 goto rx_dropped;
@@ -813,8 +818,9 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
813 (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0) 818 (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0)
814 { 819 {
815 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth " 820 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
816 "from %s\n", dev->name, 821 "from " MAC_FMT "\n", dev->name,
817 print_mac(mac, hdr->addr2)); 822 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
823 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
818 /* TODO: could inform hostapd about this so that it 824 /* TODO: could inform hostapd about this so that it
819 * could send auth failure report */ 825 * could send auth failure report */
820 goto rx_dropped; 826 goto rx_dropped;
@@ -982,8 +988,10 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
982 "unencrypted EAPOL frame\n", local->dev->name); 988 "unencrypted EAPOL frame\n", local->dev->name);
983 } else { 989 } else {
984 printk(KERN_DEBUG "%s: encryption configured, but RX " 990 printk(KERN_DEBUG "%s: encryption configured, but RX "
985 "frame not encrypted (SA=%s)\n", 991 "frame not encrypted (SA=" MAC_FMT ")\n",
986 local->dev->name, print_mac(mac, hdr->addr2)); 992 local->dev->name,
993 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
994 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
987 goto rx_dropped; 995 goto rx_dropped;
988 } 996 }
989 } 997 }
@@ -992,9 +1000,10 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
992 !hostap_is_eapol_frame(local, skb)) { 1000 !hostap_is_eapol_frame(local, skb)) {
993 if (net_ratelimit()) { 1001 if (net_ratelimit()) {
994 printk(KERN_DEBUG "%s: dropped unencrypted RX data " 1002 printk(KERN_DEBUG "%s: dropped unencrypted RX data "
995 "frame from %s" 1003 "frame from " MAC_FMT " (drop_unencrypted=1)\n",
996 " (drop_unencrypted=1)\n", 1004 dev->name,
997 dev->name, print_mac(mac, hdr->addr2)); 1005 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1006 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
998 } 1007 }
999 goto rx_dropped; 1008 goto rx_dropped;
1000 } 1009 }
diff --git a/drivers/net/wireless/hostap/hostap_80211_tx.c b/drivers/net/wireless/hostap/hostap_80211_tx.c
index e7afc3ec3e6..921c984416f 100644
--- a/drivers/net/wireless/hostap/hostap_80211_tx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_tx.c
@@ -314,7 +314,6 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
314 struct ieee80211_hdr_4addr *hdr; 314 struct ieee80211_hdr_4addr *hdr;
315 u16 fc; 315 u16 fc;
316 int prefix_len, postfix_len, hdr_len, res; 316 int prefix_len, postfix_len, hdr_len, res;
317 DECLARE_MAC_BUF(mac);
318 317
319 iface = netdev_priv(skb->dev); 318 iface = netdev_priv(skb->dev);
320 local = iface->local; 319 local = iface->local;
@@ -329,8 +328,10 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
329 hdr = (struct ieee80211_hdr_4addr *) skb->data; 328 hdr = (struct ieee80211_hdr_4addr *) skb->data;
330 if (net_ratelimit()) { 329 if (net_ratelimit()) {
331 printk(KERN_DEBUG "%s: TKIP countermeasures: dropped " 330 printk(KERN_DEBUG "%s: TKIP countermeasures: dropped "
332 "TX packet to %s\n", 331 "TX packet to " MAC_FMT "\n",
333 local->dev->name, print_mac(mac, hdr->addr1)); 332 local->dev->name,
333 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
334 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
334 } 335 }
335 kfree_skb(skb); 336 kfree_skb(skb);
336 return NULL; 337 return NULL;
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c
index ad040a3bb8a..0acd9589c48 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -632,7 +632,6 @@ static void hostap_ap_tx_cb_auth(struct sk_buff *skb, int ok, void *data)
632 __le16 *pos; 632 __le16 *pos;
633 struct sta_info *sta = NULL; 633 struct sta_info *sta = NULL;
634 char *txt = NULL; 634 char *txt = NULL;
635 DECLARE_MAC_BUF(mac);
636 635
637 if (ap->local->hostapd) { 636 if (ap->local->hostapd) {
638 dev_kfree_skb(skb); 637 dev_kfree_skb(skb);
@@ -684,10 +683,12 @@ static void hostap_ap_tx_cb_auth(struct sk_buff *skb, int ok, void *data)
684 if (sta) 683 if (sta)
685 atomic_dec(&sta->users); 684 atomic_dec(&sta->users);
686 if (txt) { 685 if (txt) {
687 PDEBUG(DEBUG_AP, "%s: %s auth_cb - alg=%d " 686 PDEBUG(DEBUG_AP, "%s: " MAC_FMT " auth_cb - alg=%d "
688 "trans#=%d status=%d - %s\n", 687 "trans#=%d status=%d - %s\n",
689 dev->name, print_mac(mac, hdr->addr1), auth_alg, 688 dev->name,
690 auth_transaction, status, txt); 689 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
690 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5],
691 auth_alg, auth_transaction, status, txt);
691 } 692 }
692 dev_kfree_skb(skb); 693 dev_kfree_skb(skb);
693} 694}
@@ -703,7 +704,6 @@ static void hostap_ap_tx_cb_assoc(struct sk_buff *skb, int ok, void *data)
703 __le16 *pos; 704 __le16 *pos;
704 struct sta_info *sta = NULL; 705 struct sta_info *sta = NULL;
705 char *txt = NULL; 706 char *txt = NULL;
706 DECLARE_MAC_BUF(mac);
707 707
708 if (ap->local->hostapd) { 708 if (ap->local->hostapd) {
709 dev_kfree_skb(skb); 709 dev_kfree_skb(skb);
@@ -754,8 +754,11 @@ static void hostap_ap_tx_cb_assoc(struct sk_buff *skb, int ok, void *data)
754 if (sta) 754 if (sta)
755 atomic_dec(&sta->users); 755 atomic_dec(&sta->users);
756 if (txt) { 756 if (txt) {
757 PDEBUG(DEBUG_AP, "%s: %s assoc_cb - %s\n", 757 PDEBUG(DEBUG_AP, "%s: " MAC_FMT " assoc_cb - %s\n",
758 dev->name, print_mac(mac, hdr->addr1), txt); 758 dev->name,
759 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
760 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5],
761 txt);
759 } 762 }
760 dev_kfree_skb(skb); 763 dev_kfree_skb(skb);
761} 764}
@@ -767,7 +770,6 @@ static void hostap_ap_tx_cb_poll(struct sk_buff *skb, int ok, void *data)
767 struct ap_data *ap = data; 770 struct ap_data *ap = data;
768 struct ieee80211_hdr_4addr *hdr; 771 struct ieee80211_hdr_4addr *hdr;
769 struct sta_info *sta; 772 struct sta_info *sta;
770 DECLARE_MAC_BUF(mac);
771 773
772 if (skb->len < 24) 774 if (skb->len < 24)
773 goto fail; 775 goto fail;
@@ -779,9 +781,11 @@ static void hostap_ap_tx_cb_poll(struct sk_buff *skb, int ok, void *data)
779 sta->flags &= ~WLAN_STA_PENDING_POLL; 781 sta->flags &= ~WLAN_STA_PENDING_POLL;
780 spin_unlock(&ap->sta_table_lock); 782 spin_unlock(&ap->sta_table_lock);
781 } else { 783 } else {
782 PDEBUG(DEBUG_AP, "%s: STA %s" 784 PDEBUG(DEBUG_AP, "%s: STA " MAC_FMT
783 " did not ACK activity poll frame\n", 785 " did not ACK activity poll frame\n",
784 ap->local->dev->name, print_mac(mac, hdr->addr1)); 786 ap->local->dev->name,
787 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
788 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
785 } 789 }
786 790
787 fail: 791 fail:
@@ -1306,7 +1310,6 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
1306 struct sta_info *sta = NULL; 1310 struct sta_info *sta = NULL;
1307 struct ieee80211_crypt_data *crypt; 1311 struct ieee80211_crypt_data *crypt;
1308 char *txt = ""; 1312 char *txt = "";
1309 DECLARE_MAC_BUF(mac);
1310 1313
1311 len = skb->len - IEEE80211_MGMT_HDR_LEN; 1314 len = skb->len - IEEE80211_MGMT_HDR_LEN;
1312 1315
@@ -1315,8 +1318,9 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
1315 1318
1316 if (len < 6) { 1319 if (len < 6) {
1317 PDEBUG(DEBUG_AP, "%s: handle_authen - too short payload " 1320 PDEBUG(DEBUG_AP, "%s: handle_authen - too short payload "
1318 "(len=%d) from %s\n", dev->name, len, 1321 "(len=%d) from " MAC_FMT "\n", dev->name, len,
1319 print_mac(mac, hdr->addr2)); 1322 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1323 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
1320 return; 1324 return;
1321 } 1325 }
1322 1326
@@ -1381,8 +1385,10 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
1381 if (time_after(jiffies, sta->u.ap.last_beacon + 1385 if (time_after(jiffies, sta->u.ap.last_beacon +
1382 (10 * sta->listen_interval * HZ) / 1024)) { 1386 (10 * sta->listen_interval * HZ) / 1024)) {
1383 PDEBUG(DEBUG_AP, "%s: no beacons received for a while," 1387 PDEBUG(DEBUG_AP, "%s: no beacons received for a while,"
1384 " assuming AP %s is now STA\n", 1388 " assuming AP " MAC_FMT " is now STA\n",
1385 dev->name, print_mac(mac, sta->addr)); 1389 dev->name,
1390 sta->addr[0], sta->addr[1], sta->addr[2],
1391 sta->addr[3], sta->addr[4], sta->addr[5]);
1386 sta->ap = 0; 1392 sta->ap = 0;
1387 sta->flags = 0; 1393 sta->flags = 0;
1388 sta->u.sta.challenge = NULL; 1394 sta->u.sta.challenge = NULL;
@@ -1497,10 +1503,13 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
1497 } 1503 }
1498 1504
1499 if (resp) { 1505 if (resp) {
1500 PDEBUG(DEBUG_AP, "%s: %s auth (alg=%d " 1506 PDEBUG(DEBUG_AP, "%s: " MAC_FMT " auth (alg=%d "
1501 "trans#=%d stat=%d len=%d fc=%04x) ==> %d (%s)\n", 1507 "trans#=%d stat=%d len=%d fc=%04x) ==> %d (%s)\n",
1502 dev->name, print_mac(mac, hdr->addr2), auth_alg, 1508 dev->name,
1503 auth_transaction, status_code, len, fc, resp, txt); 1509 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1510 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1511 auth_alg, auth_transaction, status_code, len,
1512 fc, resp, txt);
1504 } 1513 }
1505} 1514}
1506 1515
@@ -1519,14 +1528,15 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
1519 int send_deauth = 0; 1528 int send_deauth = 0;
1520 char *txt = ""; 1529 char *txt = "";
1521 u8 prev_ap[ETH_ALEN]; 1530 u8 prev_ap[ETH_ALEN];
1522 DECLARE_MAC_BUF(mac);
1523 1531
1524 left = len = skb->len - IEEE80211_MGMT_HDR_LEN; 1532 left = len = skb->len - IEEE80211_MGMT_HDR_LEN;
1525 1533
1526 if (len < (reassoc ? 10 : 4)) { 1534 if (len < (reassoc ? 10 : 4)) {
1527 PDEBUG(DEBUG_AP, "%s: handle_assoc - too short payload " 1535 PDEBUG(DEBUG_AP, "%s: handle_assoc - too short payload "
1528 "(len=%d, reassoc=%d) from %s\n", 1536 "(len=%d, reassoc=%d) from " MAC_FMT "\n",
1529 dev->name, len, reassoc, print_mac(mac, hdr->addr2)); 1537 dev->name, len, reassoc,
1538 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1539 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5]);
1530 return; 1540 return;
1531 } 1541 }
1532 1542
@@ -1603,9 +1613,12 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
1603 } 1613 }
1604 1614
1605 if (left > 0) { 1615 if (left > 0) {
1606 PDEBUG(DEBUG_AP, "%s: assoc from %s" 1616 PDEBUG(DEBUG_AP, "%s: assoc from " MAC_FMT
1607 " with extra data (%d bytes) [", 1617 " with extra data (%d bytes) [",
1608 dev->name, print_mac(mac, hdr->addr2), left); 1618 dev->name,
1619 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1620 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1621 left);
1609 while (left > 0) { 1622 while (left > 0) {
1610 PDEBUG2(DEBUG_AP, "<%02x>", *u); 1623 PDEBUG2(DEBUG_AP, "<%02x>", *u);
1611 u++; left--; 1624 u++; left--;
@@ -1704,10 +1717,15 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
1704 } 1717 }
1705 1718
1706#if 0 1719#if 0
1707 PDEBUG(DEBUG_AP, "%s: %s %sassoc (len=%d " 1720 PDEBUG(DEBUG_AP, "%s: " MAC_FMT" %sassoc (len=%d "
1708 "prev_ap=%s) => %d(%d) (%s)\n", 1721 "prev_ap=" MAC_FMT") => %d(%d) (%s)\n",
1709 dev->name, print_mac(mac, hdr->addr2), reassoc ? "re" : "", len, 1722 dev->name,
1710 print_mac(mac, prev_ap), resp, send_deauth, txt); 1723 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1724 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1725 reassoc ? "re" : "", len,
1726 prev_ap[0], prev_ap[1], prev_ap[2],
1727 prev_ap[3], prev_ap[4], prev_ap[5],
1728 resp, send_deauth, txt);
1711#endif 1729#endif
1712} 1730}
1713 1731
@@ -1735,9 +1753,11 @@ static void handle_deauth(local_info_t *local, struct sk_buff *skb,
1735 pos = (__le16 *) body; 1753 pos = (__le16 *) body;
1736 reason_code = le16_to_cpu(*pos); 1754 reason_code = le16_to_cpu(*pos);
1737 1755
1738 PDEBUG(DEBUG_AP, "%s: deauthentication: %s len=%d, " 1756 PDEBUG(DEBUG_AP, "%s: deauthentication: " MAC_FMT " len=%d, "
1739 "reason_code=%d\n", dev->name, print_mac(mac, hdr->addr2), len, 1757 "reason_code=%d\n", dev->name,
1740 reason_code); 1758 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1759 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1760 len, reason_code);
1741 1761
1742 spin_lock_bh(&local->ap->sta_table_lock); 1762 spin_lock_bh(&local->ap->sta_table_lock);
1743 sta = ap_get_sta(local->ap, hdr->addr2); 1763 sta = ap_get_sta(local->ap, hdr->addr2);
@@ -1748,9 +1768,11 @@ static void handle_deauth(local_info_t *local, struct sk_buff *skb,
1748 } 1768 }
1749 spin_unlock_bh(&local->ap->sta_table_lock); 1769 spin_unlock_bh(&local->ap->sta_table_lock);
1750 if (sta == NULL) { 1770 if (sta == NULL) {
1751 printk("%s: deauthentication from %s, " 1771 printk("%s: deauthentication from " MAC_FMT ", "
1752 "reason_code=%d, but STA not authenticated\n", dev->name, 1772 "reason_code=%d, but STA not authenticated\n", dev->name,
1753 print_mac(mac, hdr->addr2), reason_code); 1773 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1774 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1775 reason_code);
1754 } 1776 }
1755} 1777}
1756 1778
@@ -1766,7 +1788,6 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
1766 u16 reason_code; 1788 u16 reason_code;
1767 __le16 *pos; 1789 __le16 *pos;
1768 struct sta_info *sta = NULL; 1790 struct sta_info *sta = NULL;
1769 DECLARE_MAC_BUF(mac);
1770 1791
1771 len = skb->len - IEEE80211_MGMT_HDR_LEN; 1792 len = skb->len - IEEE80211_MGMT_HDR_LEN;
1772 1793
@@ -1778,9 +1799,11 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
1778 pos = (__le16 *) body; 1799 pos = (__le16 *) body;
1779 reason_code = le16_to_cpu(*pos); 1800 reason_code = le16_to_cpu(*pos);
1780 1801
1781 PDEBUG(DEBUG_AP, "%s: disassociation: %s len=%d, " 1802 PDEBUG(DEBUG_AP, "%s: disassociation: " MAC_FMT " len=%d, "
1782 "reason_code=%d\n", dev->name, print_mac(mac, hdr->addr2), len, 1803 "reason_code=%d\n", dev->name,
1783 reason_code); 1804 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1805 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1806 len, reason_code);
1784 1807
1785 spin_lock_bh(&local->ap->sta_table_lock); 1808 spin_lock_bh(&local->ap->sta_table_lock);
1786 sta = ap_get_sta(local->ap, hdr->addr2); 1809 sta = ap_get_sta(local->ap, hdr->addr2);
@@ -1791,9 +1814,12 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
1791 } 1814 }
1792 spin_unlock_bh(&local->ap->sta_table_lock); 1815 spin_unlock_bh(&local->ap->sta_table_lock);
1793 if (sta == NULL) { 1816 if (sta == NULL) {
1794 printk("%s: disassociation from %s, " 1817 printk("%s: disassociation from " MAC_FMT ", "
1795 "reason_code=%d, but STA not authenticated\n", 1818 "reason_code=%d, but STA not authenticated\n",
1796 dev->name, print_mac(mac, hdr->addr2), reason_code); 1819 dev->name,
1820 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1821 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1822 reason_code);
1797 } 1823 }
1798} 1824}
1799 1825
@@ -1882,16 +1908,20 @@ static void handle_pspoll(local_info_t *local,
1882 struct sta_info *sta; 1908 struct sta_info *sta;
1883 u16 aid; 1909 u16 aid;
1884 struct sk_buff *skb; 1910 struct sk_buff *skb;
1885 DECLARE_MAC_BUF(mac);
1886 1911
1887 PDEBUG(DEBUG_PS2, "handle_pspoll: BSSID=%s" 1912 PDEBUG(DEBUG_PS2, "handle_pspoll: BSSID=" MAC_FMT
1888 ", TA=%s PWRMGT=%d\n", 1913 ", TA=" MAC_FMT " PWRMGT=%d\n",
1889 print_mac(mac, hdr->addr1), print_mac(mac, hdr->addr2), 1914 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
1915 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5],
1916 hdr->addr2[0], hdr->addr2[1], hdr->addr2[2],
1917 hdr->addr2[3], hdr->addr2[4], hdr->addr2[5],
1890 !!(le16_to_cpu(hdr->frame_ctl) & IEEE80211_FCTL_PM)); 1918 !!(le16_to_cpu(hdr->frame_ctl) & IEEE80211_FCTL_PM));
1891 1919
1892 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) { 1920 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
1893 PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=%s" 1921 PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=" MAC_FMT
1894 " not own MAC\n", print_mac(mac, hdr->addr1)); 1922 " not own MAC\n",
1923 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
1924 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
1895 return; 1925 return;
1896 } 1926 }
1897 1927
@@ -1969,7 +1999,6 @@ static void handle_wds_oper_queue(struct work_struct *work)
1969 wds_oper_queue); 1999 wds_oper_queue);
1970 local_info_t *local = ap->local; 2000 local_info_t *local = ap->local;
1971 struct wds_oper_data *entry, *prev; 2001 struct wds_oper_data *entry, *prev;
1972 DECLARE_MAC_BUF(mac);
1973 2002
1974 spin_lock_bh(&local->lock); 2003 spin_lock_bh(&local->lock);
1975 entry = local->ap->wds_oper_entries; 2004 entry = local->ap->wds_oper_entries;
@@ -1978,10 +2007,11 @@ static void handle_wds_oper_queue(struct work_struct *work)
1978 2007
1979 while (entry) { 2008 while (entry) {
1980 PDEBUG(DEBUG_AP, "%s: %s automatic WDS connection " 2009 PDEBUG(DEBUG_AP, "%s: %s automatic WDS connection "
1981 "to AP %s\n", 2010 "to AP " MAC_FMT "\n",
1982 local->dev->name, 2011 local->dev->name,
1983 entry->type == WDS_ADD ? "adding" : "removing", 2012 entry->type == WDS_ADD ? "adding" : "removing",
1984 print_mac(mac, entry->addr)); 2013 entry->addr[0], entry->addr[1], entry->addr[2],
2014 entry->addr[3], entry->addr[4], entry->addr[5]);
1985 if (entry->type == WDS_ADD) 2015 if (entry->type == WDS_ADD)
1986 prism2_wds_add(local, entry->addr, 0); 2016 prism2_wds_add(local, entry->addr, 0);
1987 else if (entry->type == WDS_DEL) 2017 else if (entry->type == WDS_DEL)
@@ -2158,7 +2188,6 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
2158#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */ 2188#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
2159 u16 fc, type, stype; 2189 u16 fc, type, stype;
2160 struct ieee80211_hdr_4addr *hdr; 2190 struct ieee80211_hdr_4addr *hdr;
2161 DECLARE_MAC_BUF(mac);
2162 2191
2163 /* FIX: should give skb->len to handler functions and check that the 2192 /* FIX: should give skb->len to handler functions and check that the
2164 * buffer is long enough */ 2193 * buffer is long enough */
@@ -2187,8 +2216,9 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
2187 2216
2188 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) { 2217 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
2189 PDEBUG(DEBUG_AP, "handle_ap_item - addr1(BSSID)=" 2218 PDEBUG(DEBUG_AP, "handle_ap_item - addr1(BSSID)="
2190 "%s not own MAC\n", 2219 MAC_FMT " not own MAC\n",
2191 print_mac(mac, hdr->addr1)); 2220 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
2221 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
2192 goto done; 2222 goto done;
2193 } 2223 }
2194 2224
@@ -2224,14 +2254,18 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
2224 } 2254 }
2225 2255
2226 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) { 2256 if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
2227 PDEBUG(DEBUG_AP, "handle_ap_item - addr1(DA)=%s" 2257 PDEBUG(DEBUG_AP, "handle_ap_item - addr1(DA)=" MAC_FMT
2228 " not own MAC\n", print_mac(mac, hdr->addr1)); 2258 " not own MAC\n",
2259 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
2260 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
2229 goto done; 2261 goto done;
2230 } 2262 }
2231 2263
2232 if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN)) { 2264 if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN)) {
2233 PDEBUG(DEBUG_AP, "handle_ap_item - addr3(BSSID)=%s" 2265 PDEBUG(DEBUG_AP, "handle_ap_item - addr3(BSSID)=" MAC_FMT
2234 " not own MAC\n", print_mac(mac, hdr->addr3)); 2266 " not own MAC\n",
2267 hdr->addr3[0], hdr->addr3[1], hdr->addr3[2],
2268 hdr->addr3[3], hdr->addr3[4], hdr->addr3[5]);
2235 goto done; 2269 goto done;
2236 } 2270 }
2237 2271
@@ -2312,7 +2346,6 @@ static void schedule_packet_send(local_info_t *local, struct sta_info *sta)
2312 struct sk_buff *skb; 2346 struct sk_buff *skb;
2313 struct ieee80211_hdr_4addr *hdr; 2347 struct ieee80211_hdr_4addr *hdr;
2314 struct hostap_80211_rx_status rx_stats; 2348 struct hostap_80211_rx_status rx_stats;
2315 DECLARE_MAC_BUF(mac);
2316 2349
2317 if (skb_queue_empty(&sta->tx_buf)) 2350 if (skb_queue_empty(&sta->tx_buf))
2318 return; 2351 return;
@@ -2334,7 +2367,9 @@ static void schedule_packet_send(local_info_t *local, struct sta_info *sta)
2334 hdr->duration_id = cpu_to_le16(sta->aid | BIT(15) | BIT(14)); 2367 hdr->duration_id = cpu_to_le16(sta->aid | BIT(15) | BIT(14));
2335 2368
2336 PDEBUG(DEBUG_PS2, "%s: Scheduling buffered packet delivery for STA " 2369 PDEBUG(DEBUG_PS2, "%s: Scheduling buffered packet delivery for STA "
2337 "%s\n", local->dev->name, print_mac(mac, sta->addr)); 2370 MAC_FMT "\n", local->dev->name,
2371 sta->addr[0], sta->addr[1], sta->addr[2],
2372 sta->addr[3], sta->addr[4], sta->addr[5]);
2338 2373
2339 skb->dev = local->dev; 2374 skb->dev = local->dev;
2340 2375
@@ -2661,7 +2696,6 @@ static int ap_update_sta_tx_rate(struct sta_info *sta, struct net_device *dev)
2661 int ret = sta->tx_rate; 2696 int ret = sta->tx_rate;
2662 struct hostap_interface *iface; 2697 struct hostap_interface *iface;
2663 local_info_t *local; 2698 local_info_t *local;
2664 DECLARE_MAC_BUF(mac);
2665 2699
2666 iface = netdev_priv(dev); 2700 iface = netdev_priv(dev);
2667 local = iface->local; 2701 local = iface->local;
@@ -2689,9 +2723,12 @@ static int ap_update_sta_tx_rate(struct sta_info *sta, struct net_device *dev)
2689 case 3: sta->tx_rate = 110; break; 2723 case 3: sta->tx_rate = 110; break;
2690 default: sta->tx_rate = 0; break; 2724 default: sta->tx_rate = 0; break;
2691 } 2725 }
2692 PDEBUG(DEBUG_AP, "%s: STA %s" 2726 PDEBUG(DEBUG_AP, "%s: STA " MAC_FMT
2693 " TX rate raised to %d\n", 2727 " TX rate raised to %d\n",
2694 dev->name, print_mac(mac, sta->addr), sta->tx_rate); 2728 dev->name,
2729 sta->addr[0], sta->addr[1], sta->addr[2],
2730 sta->addr[3], sta->addr[4], sta->addr[5],
2731 sta->tx_rate);
2695 } 2732 }
2696 sta->tx_since_last_failure = 0; 2733 sta->tx_since_last_failure = 0;
2697 } 2734 }
@@ -2709,7 +2746,6 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
2709 int set_tim, ret; 2746 int set_tim, ret;
2710 struct ieee80211_hdr_4addr *hdr; 2747 struct ieee80211_hdr_4addr *hdr;
2711 struct hostap_skb_tx_data *meta; 2748 struct hostap_skb_tx_data *meta;
2712 DECLARE_MAC_BUF(mac);
2713 2749
2714 meta = (struct hostap_skb_tx_data *) skb->cb; 2750 meta = (struct hostap_skb_tx_data *) skb->cb;
2715 ret = AP_TX_CONTINUE; 2751 ret = AP_TX_CONTINUE;
@@ -2745,8 +2781,9 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
2745 * print out any errors here. */ 2781 * print out any errors here. */
2746 if (net_ratelimit()) { 2782 if (net_ratelimit()) {
2747 printk(KERN_DEBUG "AP: drop packet to non-associated " 2783 printk(KERN_DEBUG "AP: drop packet to non-associated "
2748 "STA %s\n", 2784 "STA " MAC_FMT "\n",
2749 print_mac(mac, hdr->addr1)); 2785 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
2786 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5]);
2750 } 2787 }
2751#endif 2788#endif
2752 local->ap->tx_drop_nonassoc++; 2789 local->ap->tx_drop_nonassoc++;
@@ -2784,9 +2821,11 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
2784 } 2821 }
2785 2822
2786 if (skb_queue_len(&sta->tx_buf) >= STA_MAX_TX_BUFFER) { 2823 if (skb_queue_len(&sta->tx_buf) >= STA_MAX_TX_BUFFER) {
2787 PDEBUG(DEBUG_PS, "%s: No more space in STA (%s" 2824 PDEBUG(DEBUG_PS, "%s: No more space in STA (" MAC_FMT
2788 ")'s PS mode buffer\n", 2825 ")'s PS mode buffer\n",
2789 local->dev->name, print_mac(mac, sta->addr)); 2826 local->dev->name,
2827 sta->addr[0], sta->addr[1], sta->addr[2],
2828 sta->addr[3], sta->addr[4], sta->addr[5]);
2790 /* Make sure that TIM is set for the station (it might not be 2829 /* Make sure that TIM is set for the station (it might not be
2791 * after AP wlan hw reset). */ 2830 * after AP wlan hw reset). */
2792 /* FIX: should fix hw reset to restore bits based on STA 2831 /* FIX: should fix hw reset to restore bits based on STA
@@ -2850,7 +2889,6 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
2850 struct sta_info *sta; 2889 struct sta_info *sta;
2851 struct ieee80211_hdr_4addr *hdr; 2890 struct ieee80211_hdr_4addr *hdr;
2852 struct hostap_skb_tx_data *meta; 2891 struct hostap_skb_tx_data *meta;
2853 DECLARE_MAC_BUF(mac);
2854 2892
2855 hdr = (struct ieee80211_hdr_4addr *) skb->data; 2893 hdr = (struct ieee80211_hdr_4addr *) skb->data;
2856 meta = (struct hostap_skb_tx_data *) skb->cb; 2894 meta = (struct hostap_skb_tx_data *) skb->cb;
@@ -2859,9 +2897,12 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
2859 sta = ap_get_sta(local->ap, hdr->addr1); 2897 sta = ap_get_sta(local->ap, hdr->addr1);
2860 if (!sta) { 2898 if (!sta) {
2861 spin_unlock(&local->ap->sta_table_lock); 2899 spin_unlock(&local->ap->sta_table_lock);
2862 PDEBUG(DEBUG_AP, "%s: Could not find STA %s" 2900 PDEBUG(DEBUG_AP, "%s: Could not find STA " MAC_FMT
2863 " for this TX error (@%lu)\n", 2901 " for this TX error (@%lu)\n",
2864 local->dev->name, print_mac(mac, hdr->addr1), jiffies); 2902 local->dev->name,
2903 hdr->addr1[0], hdr->addr1[1], hdr->addr1[2],
2904 hdr->addr1[3], hdr->addr1[4], hdr->addr1[5],
2905 jiffies);
2865 return; 2906 return;
2866 } 2907 }
2867 2908
@@ -2888,9 +2929,11 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
2888 case 3: sta->tx_rate = 110; break; 2929 case 3: sta->tx_rate = 110; break;
2889 default: sta->tx_rate = 0; break; 2930 default: sta->tx_rate = 0; break;
2890 } 2931 }
2891 PDEBUG(DEBUG_AP, "%s: STA %s" 2932 PDEBUG(DEBUG_AP, "%s: STA " MAC_FMT
2892 " TX rate lowered to %d\n", 2933 " TX rate lowered to %d\n",
2893 local->dev->name, print_mac(mac, sta->addr), 2934 local->dev->name,
2935 sta->addr[0], sta->addr[1], sta->addr[2],
2936 sta->addr[3], sta->addr[4], sta->addr[5],
2894 sta->tx_rate); 2937 sta->tx_rate);
2895 } 2938 }
2896 sta->tx_consecutive_exc = 0; 2939 sta->tx_consecutive_exc = 0;
@@ -2956,7 +2999,6 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
2956 struct sta_info *sta; 2999 struct sta_info *sta;
2957 u16 fc, type, stype; 3000 u16 fc, type, stype;
2958 struct ieee80211_hdr_4addr *hdr; 3001 struct ieee80211_hdr_4addr *hdr;
2959 DECLARE_MAC_BUF(mac);
2960 3002
2961 if (local->ap == NULL) 3003 if (local->ap == NULL)
2962 return AP_RX_CONTINUE; 3004 return AP_RX_CONTINUE;
@@ -2988,9 +3030,12 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
2988 } else { 3030 } else {
2989 printk(KERN_DEBUG "%s: dropped received packet" 3031 printk(KERN_DEBUG "%s: dropped received packet"
2990 " from non-associated STA " 3032 " from non-associated STA "
2991 "%s" 3033 MAC_FMT
2992 " (type=0x%02x, subtype=0x%02x)\n", 3034 " (type=0x%02x, subtype=0x%02x)\n",
2993 dev->name, print_mac(mac, hdr->addr2), 3035 dev->name,
3036 hdr->addr2[0], hdr->addr2[1],
3037 hdr->addr2[2], hdr->addr2[3],
3038 hdr->addr2[4], hdr->addr2[5],
2994 type >> 2, stype >> 4); 3039 type >> 2, stype >> 4);
2995 hostap_rx(dev, skb, rx_stats); 3040 hostap_rx(dev, skb, rx_stats);
2996#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */ 3041#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
@@ -3025,8 +3070,11 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
3025 * being associated. */ 3070 * being associated. */
3026 printk(KERN_DEBUG "%s: rejected received nullfunc " 3071 printk(KERN_DEBUG "%s: rejected received nullfunc "
3027 "frame without ToDS from not associated STA " 3072 "frame without ToDS from not associated STA "
3028 "%s\n", 3073 MAC_FMT "\n",
3029 dev->name, print_mac(mac, hdr->addr2)); 3074 dev->name,
3075 hdr->addr2[0], hdr->addr2[1],
3076 hdr->addr2[2], hdr->addr2[3],
3077 hdr->addr2[4], hdr->addr2[5]);
3030 hostap_rx(dev, skb, rx_stats); 3078 hostap_rx(dev, skb, rx_stats);
3031#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */ 3079#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
3032 } 3080 }
@@ -3043,9 +3091,12 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
3043 * If BSSID is own, report the dropping of this frame. */ 3091 * If BSSID is own, report the dropping of this frame. */
3044 if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) { 3092 if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {
3045 printk(KERN_DEBUG "%s: dropped received packet from " 3093 printk(KERN_DEBUG "%s: dropped received packet from "
3046 "%s with no ToDS flag " 3094 MAC_FMT " with no ToDS flag "
3047 "(type=0x%02x, subtype=0x%02x)\n", dev->name, 3095 "(type=0x%02x, subtype=0x%02x)\n", dev->name,
3048 print_mac(mac, hdr->addr2), type >> 2, stype >> 4); 3096 hdr->addr2[0], hdr->addr2[1],
3097 hdr->addr2[2], hdr->addr2[3],
3098 hdr->addr2[4], hdr->addr2[5],
3099 type >> 2, stype >> 4);
3049 hostap_dump_rx_80211(dev->name, skb, rx_stats); 3100 hostap_dump_rx_80211(dev->name, skb, rx_stats);
3050 } 3101 }
3051 ret = AP_RX_DROP; 3102 ret = AP_RX_DROP;
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index a56d9fc6354..98d6ff69d37 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -10192,7 +10192,6 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
10192 u8 id, hdr_len, unicast; 10192 u8 id, hdr_len, unicast;
10193 u16 remaining_bytes; 10193 u16 remaining_bytes;
10194 int fc; 10194 int fc;
10195 DECLARE_MAC_BUF(mac);
10196 10195
10197 hdr_len = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); 10196 hdr_len = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl));
10198 switch (priv->ieee->iw_mode) { 10197 switch (priv->ieee->iw_mode) {
@@ -10203,8 +10202,10 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
10203 id = ipw_add_station(priv, hdr->addr1); 10202 id = ipw_add_station(priv, hdr->addr1);
10204 if (id == IPW_INVALID_STATION) { 10203 if (id == IPW_INVALID_STATION) {
10205 IPW_WARNING("Attempt to send data to " 10204 IPW_WARNING("Attempt to send data to "
10206 "invalid cell: %s\n", 10205 "invalid cell: " MAC_FMT "\n",
10207 print_mac(mac, hdr->addr1)); 10206 hdr->addr1[0], hdr->addr1[1],
10207 hdr->addr1[2], hdr->addr1[3],
10208 hdr->addr1[4], hdr->addr1[5]);
10208 goto drop; 10209 goto drop;
10209 } 10210 }
10210 } 10211 }
@@ -11576,6 +11577,7 @@ static int ipw_prom_alloc(struct ipw_priv *priv)
11576 priv->prom_priv->priv = priv; 11577 priv->prom_priv->priv = priv;
11577 11578
11578 strcpy(priv->prom_net_dev->name, "rtap%d"); 11579 strcpy(priv->prom_net_dev->name, "rtap%d");
11580 memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
11579 11581
11580 priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP; 11582 priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
11581 priv->prom_net_dev->open = ipw_prom_open; 11583 priv->prom_net_dev->open = ipw_prom_open;
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig
index d1af938b9aa..b54ff712e70 100644
--- a/drivers/net/wireless/iwlwifi/Kconfig
+++ b/drivers/net/wireless/iwlwifi/Kconfig
@@ -20,7 +20,7 @@ config IWL4965
20 runs. 20 runs.
21 21
22 If you want to compile the driver as a module ( = code which can be 22 If you want to compile the driver as a module ( = code which can be
23 inserted in and remvoed from the running kernel whenever you want), 23 inserted in and removed from the running kernel whenever you want),
24 say M here and read <file:Documentation/kbuild/modules.txt>. The 24 say M here and read <file:Documentation/kbuild/modules.txt>. The
25 module will be called iwl4965.ko. 25 module will be called iwl4965.ko.
26 26
@@ -35,7 +35,6 @@ config IWL4965_HT
35 bool "Enable 802.11n HT features in iwl4965 driver" 35 bool "Enable 802.11n HT features in iwl4965 driver"
36 depends on EXPERIMENTAL 36 depends on EXPERIMENTAL
37 depends on IWL4965 && IWL4965_QOS 37 depends on IWL4965 && IWL4965_QOS
38 depends on n
39 ---help--- 38 ---help---
40 This option enables IEEE 802.11n High Throughput features 39 This option enables IEEE 802.11n High Throughput features
41 for the iwl4965 driver. 40 for the iwl4965 driver.
@@ -101,7 +100,7 @@ config IWL3945
101 runs. 100 runs.
102 101
103 If you want to compile the driver as a module ( = code which can be 102 If you want to compile the driver as a module ( = code which can be
104 inserted in and remvoed from the running kernel whenever you want), 103 inserted in and removed from the running kernel whenever you want),
105 say M here and read <file:Documentation/kbuild/modules.txt>. The 104 say M here and read <file:Documentation/kbuild/modules.txt>. The
106 module will be called iwl3945.ko. 105 module will be called iwl3945.ko.
107 106
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index d727de8b96f..65767570be6 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -4589,7 +4589,7 @@ static u8 iwl4965_is_fat_tx_allowed(struct iwl4965_priv *priv,
4589 4589
4590 if (sta_ht_inf) { 4590 if (sta_ht_inf) {
4591 if ((!sta_ht_inf->ht_supported) || 4591 if ((!sta_ht_inf->ht_supported) ||
4592 (!sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH)) 4592 (!(sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH)))
4593 return 0; 4593 return 0;
4594 } 4594 }
4595 4595
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 40b71bc2c4a..cbaeaf18649 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -6206,11 +6206,11 @@ static void iwl3945_alive_start(struct iwl3945_priv *priv)
6206 6206
6207 /* At this point, the NIC is initialized and operational */ 6207 /* At this point, the NIC is initialized and operational */
6208 priv->notif_missed_beacons = 0; 6208 priv->notif_missed_beacons = 0;
6209 set_bit(STATUS_READY, &priv->status);
6210 6209
6211 iwl3945_reg_txpower_periodic(priv); 6210 iwl3945_reg_txpower_periodic(priv);
6212 6211
6213 IWL_DEBUG_INFO("ALIVE processing complete.\n"); 6212 IWL_DEBUG_INFO("ALIVE processing complete.\n");
6213 set_bit(STATUS_READY, &priv->status);
6214 wake_up_interruptible(&priv->wait_command_queue); 6214 wake_up_interruptible(&priv->wait_command_queue);
6215 6215
6216 if (priv->error_recovering) 6216 if (priv->error_recovering)
@@ -8706,7 +8706,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
8706 return err; 8706 return err;
8707} 8707}
8708 8708
8709static void iwl3945_pci_remove(struct pci_dev *pdev) 8709static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
8710{ 8710{
8711 struct iwl3945_priv *priv = pci_get_drvdata(pdev); 8711 struct iwl3945_priv *priv = pci_get_drvdata(pdev);
8712 struct list_head *p, *q; 8712 struct list_head *p, *q;
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index a23d4798653..60ec29eab85 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -6628,11 +6628,11 @@ static void iwl4965_alive_start(struct iwl4965_priv *priv)
6628 6628
6629 /* At this point, the NIC is initialized and operational */ 6629 /* At this point, the NIC is initialized and operational */
6630 priv->notif_missed_beacons = 0; 6630 priv->notif_missed_beacons = 0;
6631 set_bit(STATUS_READY, &priv->status);
6632 6631
6633 iwl4965_rf_kill_ct_config(priv); 6632 iwl4965_rf_kill_ct_config(priv);
6634 6633
6635 IWL_DEBUG_INFO("ALIVE processing complete.\n"); 6634 IWL_DEBUG_INFO("ALIVE processing complete.\n");
6635 set_bit(STATUS_READY, &priv->status);
6636 wake_up_interruptible(&priv->wait_command_queue); 6636 wake_up_interruptible(&priv->wait_command_queue);
6637 6637
6638 if (priv->error_recovering) 6638 if (priv->error_recovering)
@@ -9282,7 +9282,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
9282 return err; 9282 return err;
9283} 9283}
9284 9284
9285static void iwl4965_pci_remove(struct pci_dev *pdev) 9285static void __devexit iwl4965_pci_remove(struct pci_dev *pdev)
9286{ 9286{
9287 struct iwl4965_priv *priv = pci_get_drvdata(pdev); 9287 struct iwl4965_priv *priv = pci_get_drvdata(pdev);
9288 struct list_head *p, *q; 9288 struct list_head *p, *q;
diff --git a/drivers/net/wireless/libertas/assoc.c b/drivers/net/wireless/libertas/assoc.c
index 87e145ffe8f..6a24ed6067e 100644
--- a/drivers/net/wireless/libertas/assoc.c
+++ b/drivers/net/wireless/libertas/assoc.c
@@ -541,7 +541,7 @@ void lbs_association_worker(struct work_struct *work)
541 } 541 }
542 542
543 if (find_any_ssid) { 543 if (find_any_ssid) {
544 u8 new_mode; 544 u8 new_mode = assoc_req->mode;
545 545
546 ret = lbs_find_best_network_ssid(priv, assoc_req->ssid, 546 ret = lbs_find_best_network_ssid(priv, assoc_req->ssid,
547 &assoc_req->ssid_len, assoc_req->mode, &new_mode); 547 &assoc_req->ssid_len, assoc_req->mode, &new_mode);
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 5a9cadb9750..038c66a98f1 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -677,9 +677,7 @@ sbi_get_int_status_exit:
677 677
678 /* Card has a command result for us */ 678 /* Card has a command result for us */
679 if (*ireg & IF_CS_C_S_CMD_UPLD_RDY) { 679 if (*ireg & IF_CS_C_S_CMD_UPLD_RDY) {
680 spin_lock(&priv->driver_lock);
681 ret = if_cs_receive_cmdres(priv, priv->upld_buf, &priv->upld_len); 680 ret = if_cs_receive_cmdres(priv, priv->upld_buf, &priv->upld_len);
682 spin_unlock(&priv->driver_lock);
683 if (ret < 0) 681 if (ret < 0)
684 lbs_pr_err("could not receive cmd from card\n"); 682 lbs_pr_err("could not receive cmd from card\n");
685 } 683 }
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index bd305f7f3ef..e873a39fcce 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -1393,11 +1393,20 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state)
1393 1393
1394exit: 1394exit:
1395 /* 1395 /*
1396 * Set device mode to sleep for power management. 1396 * Set device mode to sleep for power management,
1397 * on some hardware this call seems to consistently fail.
1398 * From the specifications it is hard to tell why it fails,
1399 * and if this is a "bad thing".
1400 * Overall it is safe to just ignore the failure and
1401 * continue suspending. The only downside is that the
1402 * device will not be in optimal power save mode, but with
1403 * the radio and the other components already disabled the
1404 * device is as good as disabled.
1397 */ 1405 */
1398 retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP); 1406 retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP);
1399 if (retval) 1407 if (retval)
1400 return retval; 1408 WARNING(rt2x00dev, "Device failed to enter sleep state, "
1409 "continue suspending.\n");
1401 1410
1402 return 0; 1411 return 0;
1403} 1412}
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 93ea212fedd..ad2e7d53b3d 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2399,10 +2399,8 @@ static int rt61pci_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb,
2399 * beacon frame. 2399 * beacon frame.
2400 */ 2400 */
2401 if (skb_headroom(skb) < TXD_DESC_SIZE) { 2401 if (skb_headroom(skb) < TXD_DESC_SIZE) {
2402 if (pskb_expand_head(skb, TXD_DESC_SIZE, 0, GFP_ATOMIC)) { 2402 if (pskb_expand_head(skb, TXD_DESC_SIZE, 0, GFP_ATOMIC))
2403 dev_kfree_skb(skb);
2404 return -ENOMEM; 2403 return -ENOMEM;
2405 }
2406 } 2404 }
2407 2405
2408 /* 2406 /*
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
index 8103d41a154..3909cf42f47 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.c
+++ b/drivers/net/wireless/rt2x00/rt73usb.c
@@ -2095,6 +2095,8 @@ static struct usb_device_id rt73usb_device_table[] = {
2095 { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) }, 2095 { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) },
2096 /* Conceptronic */ 2096 /* Conceptronic */
2097 { USB_DEVICE(0x14b2, 0x3c22), USB_DEVICE_DATA(&rt73usb_ops) }, 2097 { USB_DEVICE(0x14b2, 0x3c22), USB_DEVICE_DATA(&rt73usb_ops) },
2098 /* Corega */
2099 { USB_DEVICE(0x07aa, 0x002e), USB_DEVICE_DATA(&rt73usb_ops) },
2098 /* D-Link */ 2100 /* D-Link */
2099 { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, 2101 { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) },
2100 { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, 2102 { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
diff --git a/drivers/net/wireless/wavelan_cs.h b/drivers/net/wireless/wavelan_cs.h
index fabc63ee153..2e4bfe4147c 100644
--- a/drivers/net/wireless/wavelan_cs.h
+++ b/drivers/net/wireless/wavelan_cs.h
@@ -309,7 +309,7 @@ struct mmw_t
309#define MMW_EXT_ANT_INTERNAL 0x00 /* Internal antenna */ 309#define MMW_EXT_ANT_INTERNAL 0x00 /* Internal antenna */
310#define MMW_EXT_ANT_EXTERNAL 0x03 /* External antenna */ 310#define MMW_EXT_ANT_EXTERNAL 0x03 /* External antenna */
311#define MMW_EXT_ANT_IQ_TEST 0x1C /* IQ test pattern (set to 0) */ 311#define MMW_EXT_ANT_IQ_TEST 0x1C /* IQ test pattern (set to 0) */
312}; 312} __attribute__((packed));
313 313
314/* Size for structure checking (if padding is correct) */ 314/* Size for structure checking (if padding is correct) */
315#define MMW_SIZE 37 315#define MMW_SIZE 37
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index c03072b12f4..7c305317f37 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -1,3 +1,15 @@
1config OF_DEVICE 1config OF_DEVICE
2 def_bool y 2 def_bool y
3 depends on OF && (SPARC || PPC_OF) 3 depends on OF && (SPARC || PPC_OF)
4
5config OF_GPIO
6 def_bool y
7 depends on OF && PPC_OF && HAVE_GPIO_LIB
8 help
9 OpenFirmware GPIO accessors
10
11config OF_I2C
12 def_bool y
13 depends on OF && I2C
14 help
15 OpenFirmware I2C accessors
diff --git a/drivers/of/Makefile b/drivers/of/Makefile
index ab9be5d5255..a07b95362c5 100644
--- a/drivers/of/Makefile
+++ b/drivers/of/Makefile
@@ -1,2 +1,4 @@
1obj-y = base.o 1obj-y = base.o
2obj-$(CONFIG_OF_DEVICE) += device.o platform.o 2obj-$(CONFIG_OF_DEVICE) += device.o platform.o
3obj-$(CONFIG_OF_GPIO) += gpio.o
4obj-$(CONFIG_OF_I2C) += i2c.o
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 80c9deca5f3..9bd7c4a3125 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -117,6 +117,32 @@ int of_device_is_compatible(const struct device_node *device,
117EXPORT_SYMBOL(of_device_is_compatible); 117EXPORT_SYMBOL(of_device_is_compatible);
118 118
119/** 119/**
120 * of_device_is_available - check if a device is available for use
121 *
122 * @device: Node to check for availability
123 *
124 * Returns 1 if the status property is absent or set to "okay" or "ok",
125 * 0 otherwise
126 */
127int of_device_is_available(const struct device_node *device)
128{
129 const char *status;
130 int statlen;
131
132 status = of_get_property(device, "status", &statlen);
133 if (status == NULL)
134 return 1;
135
136 if (statlen > 0) {
137 if (!strcmp(status, "okay") || !strcmp(status, "ok"))
138 return 1;
139 }
140
141 return 0;
142}
143EXPORT_SYMBOL(of_device_is_available);
144
145/**
120 * of_get_parent - Get a node's parent if any 146 * of_get_parent - Get a node's parent if any
121 * @node: Node to get parent 147 * @node: Node to get parent
122 * 148 *
diff --git a/drivers/of/gpio.c b/drivers/of/gpio.c
new file mode 100644
index 00000000000..000681e98f2
--- /dev/null
+++ b/drivers/of/gpio.c
@@ -0,0 +1,242 @@
1/*
2 * OF helpers for the GPIO API
3 *
4 * Copyright (c) 2007-2008 MontaVista Software, Inc.
5 *
6 * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13
14#include <linux/kernel.h>
15#include <linux/errno.h>
16#include <linux/io.h>
17#include <linux/of.h>
18#include <linux/of_gpio.h>
19#include <asm/prom.h>
20
21/**
22 * of_get_gpio - Get a GPIO number from the device tree to use with GPIO API
23 * @np: device node to get GPIO from
24 * @index: index of the GPIO
25 *
26 * Returns GPIO number to use with Linux generic GPIO API, or one of the errno
27 * value on the error condition.
28 */
29int of_get_gpio(struct device_node *np, int index)
30{
31 int ret = -EINVAL;
32 struct device_node *gc;
33 struct of_gpio_chip *of_gc = NULL;
34 int size;
35 const u32 *gpios;
36 u32 nr_cells;
37 int i;
38 const void *gpio_spec;
39 const u32 *gpio_cells;
40 int gpio_index = 0;
41
42 gpios = of_get_property(np, "gpios", &size);
43 if (!gpios) {
44 ret = -ENOENT;
45 goto err0;
46 }
47 nr_cells = size / sizeof(u32);
48
49 for (i = 0; i < nr_cells; gpio_index++) {
50 const phandle *gpio_phandle;
51
52 gpio_phandle = gpios + i;
53 gpio_spec = gpio_phandle + 1;
54
55 /* one cell hole in the gpios = <>; */
56 if (!*gpio_phandle) {
57 if (gpio_index == index)
58 return -ENOENT;
59 i++;
60 continue;
61 }
62
63 gc = of_find_node_by_phandle(*gpio_phandle);
64 if (!gc) {
65 pr_debug("%s: could not find phandle for gpios\n",
66 np->full_name);
67 goto err0;
68 }
69
70 of_gc = gc->data;
71 if (!of_gc) {
72 pr_debug("%s: gpio controller %s isn't registered\n",
73 np->full_name, gc->full_name);
74 goto err1;
75 }
76
77 gpio_cells = of_get_property(gc, "#gpio-cells", &size);
78 if (!gpio_cells || size != sizeof(*gpio_cells) ||
79 *gpio_cells != of_gc->gpio_cells) {
80 pr_debug("%s: wrong #gpio-cells for %s\n",
81 np->full_name, gc->full_name);
82 goto err1;
83 }
84
85 /* Next phandle is at phandle cells + #gpio-cells */
86 i += sizeof(*gpio_phandle) / sizeof(u32) + *gpio_cells;
87 if (i >= nr_cells + 1) {
88 pr_debug("%s: insufficient gpio-spec length\n",
89 np->full_name);
90 goto err1;
91 }
92
93 if (gpio_index == index)
94 break;
95
96 of_gc = NULL;
97 of_node_put(gc);
98 }
99
100 if (!of_gc) {
101 ret = -ENOENT;
102 goto err0;
103 }
104
105 ret = of_gc->xlate(of_gc, np, gpio_spec);
106 if (ret < 0)
107 goto err1;
108
109 ret += of_gc->gc.base;
110err1:
111 of_node_put(gc);
112err0:
113 pr_debug("%s exited with status %d\n", __func__, ret);
114 return ret;
115}
116EXPORT_SYMBOL(of_get_gpio);
117
118/**
119 * of_gpio_simple_xlate - translate gpio_spec to the GPIO number
120 * @of_gc: pointer to the of_gpio_chip structure
121 * @np: device node of the GPIO chip
122 * @gpio_spec: gpio specifier as found in the device tree
123 *
124 * This is simple translation function, suitable for the most 1:1 mapped
125 * gpio chips. This function performs only one sanity check: whether gpio
126 * is less than ngpios (that is specified in the gpio_chip).
127 */
128int of_gpio_simple_xlate(struct of_gpio_chip *of_gc, struct device_node *np,
129 const void *gpio_spec)
130{
131 const u32 *gpio = gpio_spec;
132
133 if (*gpio > of_gc->gc.ngpio)
134 return -EINVAL;
135
136 return *gpio;
137}
138EXPORT_SYMBOL(of_gpio_simple_xlate);
139
140/* Should be sufficient for now, later we'll use dynamic bases. */
141#if defined(CONFIG_PPC32) || defined(CONFIG_SPARC32)
142#define GPIOS_PER_CHIP 32
143#else
144#define GPIOS_PER_CHIP 64
145#endif
146
147static int of_get_gpiochip_base(struct device_node *np)
148{
149 struct device_node *gc = NULL;
150 int gpiochip_base = 0;
151
152 while ((gc = of_find_all_nodes(gc))) {
153 if (!of_get_property(gc, "gpio-controller", NULL))
154 continue;
155
156 if (gc != np) {
157 gpiochip_base += GPIOS_PER_CHIP;
158 continue;
159 }
160
161 of_node_put(gc);
162
163 if (gpiochip_base >= ARCH_NR_GPIOS)
164 return -ENOSPC;
165
166 return gpiochip_base;
167 }
168
169 return -ENOENT;
170}
171
172/**
173 * of_mm_gpiochip_add - Add memory mapped GPIO chip (bank)
174 * @np: device node of the GPIO chip
175 * @mm_gc: pointer to the of_mm_gpio_chip allocated structure
176 *
177 * To use this function you should allocate and fill mm_gc with:
178 *
179 * 1) In the gpio_chip structure:
180 * - all the callbacks
181 *
182 * 2) In the of_gpio_chip structure:
183 * - gpio_cells
184 * - xlate callback (optional)
185 *
186 * 3) In the of_mm_gpio_chip structure:
187 * - save_regs callback (optional)
188 *
189 * If succeeded, this function will map bank's memory and will
190 * do all necessary work for you. Then you'll able to use .regs
191 * to manage GPIOs from the callbacks.
192 */
193int of_mm_gpiochip_add(struct device_node *np,
194 struct of_mm_gpio_chip *mm_gc)
195{
196 int ret = -ENOMEM;
197 struct of_gpio_chip *of_gc = &mm_gc->of_gc;
198 struct gpio_chip *gc = &of_gc->gc;
199
200 gc->label = kstrdup(np->full_name, GFP_KERNEL);
201 if (!gc->label)
202 goto err0;
203
204 mm_gc->regs = of_iomap(np, 0);
205 if (!mm_gc->regs)
206 goto err1;
207
208 gc->base = of_get_gpiochip_base(np);
209 if (gc->base < 0) {
210 ret = gc->base;
211 goto err1;
212 }
213
214 if (!of_gc->xlate)
215 of_gc->xlate = of_gpio_simple_xlate;
216
217 if (mm_gc->save_regs)
218 mm_gc->save_regs(mm_gc);
219
220 np->data = of_gc;
221
222 ret = gpiochip_add(gc);
223 if (ret)
224 goto err2;
225
226 /* We don't want to lose the node and its ->data */
227 of_node_get(np);
228
229 pr_debug("%s: registered as generic GPIO chip, base is %d\n",
230 np->full_name, gc->base);
231 return 0;
232err2:
233 np->data = NULL;
234 iounmap(mm_gc->regs);
235err1:
236 kfree(gc->label);
237err0:
238 pr_err("%s: GPIO chip registration failed with status %d\n",
239 np->full_name, ret);
240 return ret;
241}
242EXPORT_SYMBOL(of_mm_gpiochip_add);
diff --git a/drivers/of/i2c.c b/drivers/of/i2c.c
new file mode 100644
index 00000000000..63168917115
--- /dev/null
+++ b/drivers/of/i2c.c
@@ -0,0 +1,115 @@
1/*
2 * OF helpers for the I2C API
3 *
4 * Copyright (c) 2008 Jochen Friedrich <jochen@scram.de>
5 *
6 * Based on a previous patch from Jon Smirl <jonsmirl@gmail.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13
14#include <linux/i2c.h>
15#include <linux/of.h>
16
17struct i2c_driver_device {
18 char *of_device;
19 char *i2c_type;
20};
21
22static struct i2c_driver_device i2c_devices[] = {
23 { "dallas,ds1374", "rtc-ds1374" },
24};
25
26static int of_find_i2c_driver(struct device_node *node,
27 struct i2c_board_info *info)
28{
29 int i, cplen;
30 const char *compatible;
31 const char *p;
32
33 /* 1. search for exception list entry */
34 for (i = 0; i < ARRAY_SIZE(i2c_devices); i++) {
35 if (!of_device_is_compatible(node, i2c_devices[i].of_device))
36 continue;
37 if (strlcpy(info->type, i2c_devices[i].i2c_type,
38 I2C_NAME_SIZE) >= I2C_NAME_SIZE)
39 return -ENOMEM;
40
41 return 0;
42 }
43
44 compatible = of_get_property(node, "compatible", &cplen);
45 if (!compatible)
46 return -ENODEV;
47
48 /* 2. search for linux,<i2c-type> entry */
49 p = compatible;
50 while (cplen > 0) {
51 if (!strncmp(p, "linux,", 6)) {
52 p += 6;
53 if (strlcpy(info->type, p,
54 I2C_NAME_SIZE) >= I2C_NAME_SIZE)
55 return -ENOMEM;
56 return 0;
57 }
58
59 i = strlen(p) + 1;
60 p += i;
61 cplen -= i;
62 }
63
64 /* 3. take fist compatible entry and strip manufacturer */
65 p = strchr(compatible, ',');
66 if (!p)
67 return -ENODEV;
68 p++;
69 if (strlcpy(info->type, p, I2C_NAME_SIZE) >= I2C_NAME_SIZE)
70 return -ENOMEM;
71 return 0;
72}
73
74void of_register_i2c_devices(struct i2c_adapter *adap,
75 struct device_node *adap_node)
76{
77 void *result;
78 struct device_node *node;
79
80 for_each_child_of_node(adap_node, node) {
81 struct i2c_board_info info = {};
82 const u32 *addr;
83 int len;
84
85 addr = of_get_property(node, "reg", &len);
86 if (!addr || len < sizeof(int) || *addr > (1 << 10) - 1) {
87 printk(KERN_ERR
88 "of-i2c: invalid i2c device entry\n");
89 continue;
90 }
91
92 info.irq = irq_of_parse_and_map(node, 0);
93 if (info.irq == NO_IRQ)
94 info.irq = -1;
95
96 if (of_find_i2c_driver(node, &info) < 0) {
97 irq_dispose_mapping(info.irq);
98 continue;
99 }
100
101 info.addr = *addr;
102
103 request_module(info.type);
104
105 result = i2c_new_device(adap, &info);
106 if (result == NULL) {
107 printk(KERN_ERR
108 "of-i2c: Failed to load driver for %s\n",
109 info.type);
110 irq_dispose_mapping(info.irq);
111 continue;
112 }
113 }
114}
115EXPORT_SYMBOL(of_register_i2c_devices);
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
index d76d37bcb9c..a8580893820 100644
--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -1568,9 +1568,8 @@ static void __devinit detect_and_report_it87(void)
1568 outb(r | 8, 0x2F); 1568 outb(r | 8, 0x2F);
1569 outb(0x02, 0x2E); /* Lock */ 1569 outb(0x02, 0x2E); /* Lock */
1570 outb(0x02, 0x2F); 1570 outb(0x02, 0x2F);
1571
1572 release_region(0x2e, 1);
1573 } 1571 }
1572 release_region(0x2e, 1);
1574} 1573}
1575#endif /* CONFIG_PARPORT_PC_SUPERIO */ 1574#endif /* CONFIG_PARPORT_PC_SUPERIO */
1576 1575
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/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/ps3/ps3-sys-manager.c b/drivers/ps3/ps3-sys-manager.c
index d4f6f960dd1..7605453b74f 100644
--- a/drivers/ps3/ps3-sys-manager.c
+++ b/drivers/ps3/ps3-sys-manager.c
@@ -24,6 +24,7 @@
24#include <linux/reboot.h> 24#include <linux/reboot.h>
25 25
26#include <asm/firmware.h> 26#include <asm/firmware.h>
27#include <asm/lv1call.h>
27#include <asm/ps3.h> 28#include <asm/ps3.h>
28 29
29#include "vuart.h" 30#include "vuart.h"
@@ -187,6 +188,7 @@ enum ps3_sys_manager_next_op {
187 * controller, and bluetooth controller. 188 * controller, and bluetooth controller.
188 * @PS3_SM_WAKE_RTC: 189 * @PS3_SM_WAKE_RTC:
189 * @PS3_SM_WAKE_RTC_ERROR: 190 * @PS3_SM_WAKE_RTC_ERROR:
191 * @PS3_SM_WAKE_W_O_L: Ether or wireless LAN.
190 * @PS3_SM_WAKE_P_O_R: Power on reset. 192 * @PS3_SM_WAKE_P_O_R: Power on reset.
191 * 193 *
192 * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN. 194 * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN.
@@ -200,10 +202,19 @@ enum ps3_sys_manager_wake_source {
200 PS3_SM_WAKE_DEFAULT = 0, 202 PS3_SM_WAKE_DEFAULT = 0,
201 PS3_SM_WAKE_RTC = 0x00000040, 203 PS3_SM_WAKE_RTC = 0x00000040,
202 PS3_SM_WAKE_RTC_ERROR = 0x00000080, 204 PS3_SM_WAKE_RTC_ERROR = 0x00000080,
205 PS3_SM_WAKE_W_O_L = 0x00000400,
203 PS3_SM_WAKE_P_O_R = 0x80000000, 206 PS3_SM_WAKE_P_O_R = 0x80000000,
204}; 207};
205 208
206/** 209/**
210 * user_wake_sources - User specified wakeup sources.
211 *
212 * Logical OR of enum ps3_sys_manager_wake_source types.
213 */
214
215static u32 user_wake_sources = PS3_SM_WAKE_DEFAULT;
216
217/**
207 * enum ps3_sys_manager_cmd - Command from system manager to guest. 218 * enum ps3_sys_manager_cmd - Command from system manager to guest.
208 * 219 *
209 * The guest completes the actions needed, then acks or naks the command via 220 * The guest completes the actions needed, then acks or naks the command via
@@ -581,6 +592,23 @@ fail_id:
581 return -EIO; 592 return -EIO;
582} 593}
583 594
595static void ps3_sys_manager_fin(struct ps3_system_bus_device *dev)
596{
597 ps3_sys_manager_send_request_shutdown(dev);
598
599 pr_emerg("System Halted, OK to turn off power\n");
600
601 while (ps3_sys_manager_handle_msg(dev)) {
602 /* pause until next DEC interrupt */
603 lv1_pause(0);
604 }
605
606 while (1) {
607 /* pause, ignoring DEC interrupt */
608 lv1_pause(1);
609 }
610}
611
584/** 612/**
585 * ps3_sys_manager_final_power_off - The final platform machine_power_off routine. 613 * ps3_sys_manager_final_power_off - The final platform machine_power_off routine.
586 * 614 *
@@ -601,13 +629,9 @@ static void ps3_sys_manager_final_power_off(struct ps3_system_bus_device *dev)
601 ps3_vuart_cancel_async(dev); 629 ps3_vuart_cancel_async(dev);
602 630
603 ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN, 631 ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN,
604 PS3_SM_WAKE_DEFAULT); 632 user_wake_sources);
605 ps3_sys_manager_send_request_shutdown(dev);
606
607 pr_emerg("System Halted, OK to turn off power\n");
608 633
609 while (1) 634 ps3_sys_manager_fin(dev);
610 ps3_sys_manager_handle_msg(dev);
611} 635}
612 636
613/** 637/**
@@ -638,14 +662,42 @@ static void ps3_sys_manager_final_restart(struct ps3_system_bus_device *dev)
638 662
639 ps3_sys_manager_send_attr(dev, 0); 663 ps3_sys_manager_send_attr(dev, 0);
640 ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT, 664 ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT,
641 PS3_SM_WAKE_DEFAULT); 665 user_wake_sources);
642 ps3_sys_manager_send_request_shutdown(dev);
643 666
644 pr_emerg("System Halted, OK to turn off power\n"); 667 ps3_sys_manager_fin(dev);
668}
669
670/**
671 * ps3_sys_manager_get_wol - Get wake-on-lan setting.
672 */
673
674int ps3_sys_manager_get_wol(void)
675{
676 pr_debug("%s:%d\n", __func__, __LINE__);
677
678 return (user_wake_sources & PS3_SM_WAKE_W_O_L) != 0;
679}
680EXPORT_SYMBOL_GPL(ps3_sys_manager_get_wol);
681
682/**
683 * ps3_sys_manager_set_wol - Set wake-on-lan setting.
684 */
685
686void ps3_sys_manager_set_wol(int state)
687{
688 static DEFINE_MUTEX(mutex);
689
690 mutex_lock(&mutex);
691
692 pr_debug("%s:%d: %d\n", __func__, __LINE__, state);
645 693
646 while (1) 694 if (state)
647 ps3_sys_manager_handle_msg(dev); 695 user_wake_sources |= PS3_SM_WAKE_W_O_L;
696 else
697 user_wake_sources &= ~PS3_SM_WAKE_W_O_L;
698 mutex_unlock(&mutex);
648} 699}
700EXPORT_SYMBOL_GPL(ps3_sys_manager_set_wol);
649 701
650/** 702/**
651 * ps3_sys_manager_work - Asynchronous read handler. 703 * ps3_sys_manager_work - Asynchronous read handler.
diff --git a/drivers/ps3/sys-manager-core.c b/drivers/ps3/sys-manager-core.c
index 31648f7d9ae..474225852b6 100644
--- a/drivers/ps3/sys-manager-core.c
+++ b/drivers/ps3/sys-manager-core.c
@@ -19,6 +19,7 @@
19 */ 19 */
20 20
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <asm/lv1call.h>
22#include <asm/ps3.h> 23#include <asm/ps3.h>
23 24
24/** 25/**
@@ -50,10 +51,7 @@ void ps3_sys_manager_power_off(void)
50 if (ps3_sys_manager_ops.power_off) 51 if (ps3_sys_manager_ops.power_off)
51 ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev); 52 ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev);
52 53
53 printk(KERN_EMERG "System Halted, OK to turn off power\n"); 54 ps3_sys_manager_halt();
54 local_irq_disable();
55 while (1)
56 (void)0;
57} 55}
58 56
59void ps3_sys_manager_restart(void) 57void ps3_sys_manager_restart(void)
@@ -61,8 +59,14 @@ void ps3_sys_manager_restart(void)
61 if (ps3_sys_manager_ops.restart) 59 if (ps3_sys_manager_ops.restart)
62 ps3_sys_manager_ops.restart(ps3_sys_manager_ops.dev); 60 ps3_sys_manager_ops.restart(ps3_sys_manager_ops.dev);
63 61
64 printk(KERN_EMERG "System Halted, OK to turn off power\n"); 62 ps3_sys_manager_halt();
63}
64
65void ps3_sys_manager_halt(void)
66{
67 pr_emerg("System Halted, OK to turn off power\n");
65 local_irq_disable(); 68 local_irq_disable();
66 while (1) 69 while (1)
67 (void)0; 70 lv1_pause(1);
68} 71}
72
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 9e7de63b26e..02a4c8cf2b2 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -252,6 +252,7 @@ config RTC_DRV_TWL92330
252 252
253config RTC_DRV_S35390A 253config RTC_DRV_S35390A
254 tristate "Seiko Instruments S-35390A" 254 tristate "Seiko Instruments S-35390A"
255 select BITREVERSE
255 help 256 help
256 If you say yes here you will get support for the Seiko 257 If you say yes here you will get support for the Seiko
257 Instruments S-35390A. 258 Instruments S-35390A.
diff --git a/drivers/rtc/rtc-at32ap700x.c b/drivers/rtc/rtc-at32ap700x.c
index d3b9b14267a..42244f14b41 100644
--- a/drivers/rtc/rtc-at32ap700x.c
+++ b/drivers/rtc/rtc-at32ap700x.c
@@ -290,7 +290,7 @@ static int __exit at32_rtc_remove(struct platform_device *pdev)
290 return 0; 290 return 0;
291} 291}
292 292
293MODULE_ALIAS("at32ap700x_rtc"); 293MODULE_ALIAS("platform:at32ap700x_rtc");
294 294
295static struct platform_driver at32_rtc_driver = { 295static struct platform_driver at32_rtc_driver = {
296 .remove = __exit_p(at32_rtc_remove), 296 .remove = __exit_p(at32_rtc_remove),
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
index 33795e5a559..52abffc86bc 100644
--- a/drivers/rtc/rtc-at91rm9200.c
+++ b/drivers/rtc/rtc-at91rm9200.c
@@ -407,3 +407,4 @@ module_exit(at91_rtc_exit);
407MODULE_AUTHOR("Rick Bronson"); 407MODULE_AUTHOR("Rick Bronson");
408MODULE_DESCRIPTION("RTC driver for Atmel AT91RM9200"); 408MODULE_DESCRIPTION("RTC driver for Atmel AT91RM9200");
409MODULE_LICENSE("GPL"); 409MODULE_LICENSE("GPL");
410MODULE_ALIAS("platform:at91_rtc");
diff --git a/drivers/rtc/rtc-bfin.c b/drivers/rtc/rtc-bfin.c
index d90ba860d21..4f28045d9ef 100644
--- a/drivers/rtc/rtc-bfin.c
+++ b/drivers/rtc/rtc-bfin.c
@@ -470,3 +470,4 @@ module_exit(bfin_rtc_exit);
470MODULE_DESCRIPTION("Blackfin On-Chip Real Time Clock Driver"); 470MODULE_DESCRIPTION("Blackfin On-Chip Real Time Clock Driver");
471MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>"); 471MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>");
472MODULE_LICENSE("GPL"); 472MODULE_LICENSE("GPL");
473MODULE_ALIAS("platform:rtc-bfin");
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index f3ee2ad566b..b48517021ee 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -943,6 +943,9 @@ static void cmos_platform_shutdown(struct platform_device *pdev)
943 cmos_do_shutdown(); 943 cmos_do_shutdown();
944} 944}
945 945
946/* work with hotplug and coldplug */
947MODULE_ALIAS("platform:rtc_cmos");
948
946static struct platform_driver cmos_platform_driver = { 949static struct platform_driver cmos_platform_driver = {
947 .remove = __exit_p(cmos_platform_remove), 950 .remove = __exit_p(cmos_platform_remove),
948 .shutdown = cmos_platform_shutdown, 951 .shutdown = cmos_platform_shutdown,
diff --git a/drivers/rtc/rtc-ds1216.c b/drivers/rtc/rtc-ds1216.c
index 83efb88f8f2..0b17770b032 100644
--- a/drivers/rtc/rtc-ds1216.c
+++ b/drivers/rtc/rtc-ds1216.c
@@ -221,6 +221,7 @@ MODULE_AUTHOR("Thomas Bogendoerfer <tsbogend@alpha.franken.de>");
221MODULE_DESCRIPTION("DS1216 RTC driver"); 221MODULE_DESCRIPTION("DS1216 RTC driver");
222MODULE_LICENSE("GPL"); 222MODULE_LICENSE("GPL");
223MODULE_VERSION(DRV_VERSION); 223MODULE_VERSION(DRV_VERSION);
224MODULE_ALIAS("platform:rtc-ds1216");
224 225
225module_init(ds1216_rtc_init); 226module_init(ds1216_rtc_init);
226module_exit(ds1216_rtc_exit); 227module_exit(ds1216_rtc_exit);
diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
index d74b8086fa3..d08912f18dd 100644
--- a/drivers/rtc/rtc-ds1511.c
+++ b/drivers/rtc/rtc-ds1511.c
@@ -626,6 +626,9 @@ ds1511_rtc_remove(struct platform_device *pdev)
626 return 0; 626 return 0;
627} 627}
628 628
629/* work with hotplug and coldplug */
630MODULE_ALIAS("platform:ds1511");
631
629static struct platform_driver ds1511_rtc_driver = { 632static struct platform_driver ds1511_rtc_driver = {
630 .probe = ds1511_rtc_probe, 633 .probe = ds1511_rtc_probe,
631 .remove = __devexit_p(ds1511_rtc_remove), 634 .remove = __devexit_p(ds1511_rtc_remove),
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index d9e848dcd45..a19f1141554 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -391,6 +391,9 @@ static int __devexit ds1553_rtc_remove(struct platform_device *pdev)
391 return 0; 391 return 0;
392} 392}
393 393
394/* work with hotplug and coldplug */
395MODULE_ALIAS("platform:rtc-ds1553");
396
394static struct platform_driver ds1553_rtc_driver = { 397static struct platform_driver ds1553_rtc_driver = {
395 .probe = ds1553_rtc_probe, 398 .probe = ds1553_rtc_probe,
396 .remove = __devexit_p(ds1553_rtc_remove), 399 .remove = __devexit_p(ds1553_rtc_remove),
diff --git a/drivers/rtc/rtc-ds1742.c b/drivers/rtc/rtc-ds1742.c
index 2e73f0b183b..24d35ede2db 100644
--- a/drivers/rtc/rtc-ds1742.c
+++ b/drivers/rtc/rtc-ds1742.c
@@ -276,3 +276,4 @@ MODULE_AUTHOR("Atsushi Nemoto <anemo@mba.ocn.ne.jp>");
276MODULE_DESCRIPTION("Dallas DS1742 RTC driver"); 276MODULE_DESCRIPTION("Dallas DS1742 RTC driver");
277MODULE_LICENSE("GPL"); 277MODULE_LICENSE("GPL");
278MODULE_VERSION(DRV_VERSION); 278MODULE_VERSION(DRV_VERSION);
279MODULE_ALIAS("platform:rtc-ds1742");
diff --git a/drivers/rtc/rtc-ep93xx.c b/drivers/rtc/rtc-ep93xx.c
index ef4f147f3c0..1e99325270d 100644
--- a/drivers/rtc/rtc-ep93xx.c
+++ b/drivers/rtc/rtc-ep93xx.c
@@ -132,6 +132,9 @@ static int __devexit ep93xx_rtc_remove(struct platform_device *dev)
132 return 0; 132 return 0;
133} 133}
134 134
135/* work with hotplug and coldplug */
136MODULE_ALIAS("platform:ep93xx-rtc");
137
135static struct platform_driver ep93xx_rtc_platform_driver = { 138static struct platform_driver ep93xx_rtc_platform_driver = {
136 .driver = { 139 .driver = {
137 .name = "ep93xx-rtc", 140 .name = "ep93xx-rtc",
diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c
index cd0bbc0e803..013e6c103b9 100644
--- a/drivers/rtc/rtc-m48t59.c
+++ b/drivers/rtc/rtc-m48t59.c
@@ -465,6 +465,9 @@ static int __devexit m48t59_rtc_remove(struct platform_device *pdev)
465 return 0; 465 return 0;
466} 466}
467 467
468/* work with hotplug and coldplug */
469MODULE_ALIAS("platform:rtc-m48t59");
470
468static struct platform_driver m48t59_rtc_driver = { 471static struct platform_driver m48t59_rtc_driver = {
469 .driver = { 472 .driver = {
470 .name = "rtc-m48t59", 473 .name = "rtc-m48t59",
diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
index 8ff4a1221f5..3f7f99a5d96 100644
--- a/drivers/rtc/rtc-m48t86.c
+++ b/drivers/rtc/rtc-m48t86.c
@@ -199,6 +199,7 @@ MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
199MODULE_DESCRIPTION("M48T86 RTC driver"); 199MODULE_DESCRIPTION("M48T86 RTC driver");
200MODULE_LICENSE("GPL"); 200MODULE_LICENSE("GPL");
201MODULE_VERSION(DRV_VERSION); 201MODULE_VERSION(DRV_VERSION);
202MODULE_ALIAS("platform:rtc-m48t86");
202 203
203module_init(m48t86_rtc_init); 204module_init(m48t86_rtc_init);
204module_exit(m48t86_rtc_exit); 205module_exit(m48t86_rtc_exit);
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index a2f84f16958..58f81c77494 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -497,7 +497,7 @@ static void omap_rtc_shutdown(struct platform_device *pdev)
497 rtc_write(0, OMAP_RTC_INTERRUPTS_REG); 497 rtc_write(0, OMAP_RTC_INTERRUPTS_REG);
498} 498}
499 499
500MODULE_ALIAS("omap_rtc"); 500MODULE_ALIAS("platform:omap_rtc");
501static struct platform_driver omap_rtc_driver = { 501static struct platform_driver omap_rtc_driver = {
502 .probe = omap_rtc_probe, 502 .probe = omap_rtc_probe,
503 .remove = __devexit_p(omap_rtc_remove), 503 .remove = __devexit_p(omap_rtc_remove),
diff --git a/drivers/rtc/rtc-rs5c313.c b/drivers/rtc/rtc-rs5c313.c
index 66eb133bf5f..664e89a817e 100644
--- a/drivers/rtc/rtc-rs5c313.c
+++ b/drivers/rtc/rtc-rs5c313.c
@@ -421,3 +421,4 @@ MODULE_VERSION(DRV_VERSION);
421MODULE_AUTHOR("kogiidena , Nobuhiro Iwamatsu <iwamatsu@nigauri.org>"); 421MODULE_AUTHOR("kogiidena , Nobuhiro Iwamatsu <iwamatsu@nigauri.org>");
422MODULE_DESCRIPTION("Ricoh RS5C313 RTC device driver"); 422MODULE_DESCRIPTION("Ricoh RS5C313 RTC device driver");
423MODULE_LICENSE("GPL"); 423MODULE_LICENSE("GPL");
424MODULE_ALIAS("platform:" DRV_NAME);
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 86766f1f249..9f4d5129a49 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -592,3 +592,4 @@ module_exit(s3c_rtc_exit);
592MODULE_DESCRIPTION("Samsung S3C RTC Driver"); 592MODULE_DESCRIPTION("Samsung S3C RTC Driver");
593MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>"); 593MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>");
594MODULE_LICENSE("GPL"); 594MODULE_LICENSE("GPL");
595MODULE_ALIAS("platform:s3c2410-rtc");
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index ee253cc45de..82f62d25f92 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -399,3 +399,4 @@ module_exit(sa1100_rtc_exit);
399MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>"); 399MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>");
400MODULE_DESCRIPTION("SA11x0/PXA2xx Realtime Clock Driver (RTC)"); 400MODULE_DESCRIPTION("SA11x0/PXA2xx Realtime Clock Driver (RTC)");
401MODULE_LICENSE("GPL"); 401MODULE_LICENSE("GPL");
402MODULE_ALIAS("platform:sa1100-rtc");
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index c1d6a1880cc..9e9caa5d7f5 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -664,3 +664,4 @@ MODULE_DESCRIPTION("SuperH on-chip RTC driver");
664MODULE_VERSION(DRV_VERSION); 664MODULE_VERSION(DRV_VERSION);
665MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>, Jamie Lenehan <lenehan@twibble.org>"); 665MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>, Jamie Lenehan <lenehan@twibble.org>");
666MODULE_LICENSE("GPL"); 666MODULE_LICENSE("GPL");
667MODULE_ALIAS("platform:" DRV_NAME);
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index a265da7c6ff..31d3c8c2858 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -394,6 +394,9 @@ static int __devexit stk17ta8_rtc_remove(struct platform_device *pdev)
394 return 0; 394 return 0;
395} 395}
396 396
397/* work with hotplug and coldplug */
398MODULE_ALIAS("platform:stk17ta8");
399
397static struct platform_driver stk17ta8_rtc_driver = { 400static struct platform_driver stk17ta8_rtc_driver = {
398 .probe = stk17ta8_rtc_probe, 401 .probe = stk17ta8_rtc_probe,
399 .remove = __devexit_p(stk17ta8_rtc_remove), 402 .remove = __devexit_p(stk17ta8_rtc_remove),
diff --git a/drivers/rtc/rtc-v3020.c b/drivers/rtc/rtc-v3020.c
index a6b572978dc..24203a06051 100644
--- a/drivers/rtc/rtc-v3020.c
+++ b/drivers/rtc/rtc-v3020.c
@@ -264,3 +264,4 @@ module_exit(v3020_exit);
264MODULE_DESCRIPTION("V3020 RTC"); 264MODULE_DESCRIPTION("V3020 RTC");
265MODULE_AUTHOR("Raphael Assenat"); 265MODULE_AUTHOR("Raphael Assenat");
266MODULE_LICENSE("GPL"); 266MODULE_LICENSE("GPL");
267MODULE_ALIAS("platform:v3020");
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index ce2f78de7a8..be9c70d0b19 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -422,6 +422,9 @@ static int __devexit rtc_remove(struct platform_device *pdev)
422 return 0; 422 return 0;
423} 423}
424 424
425/* work with hotplug and coldplug */
426MODULE_ALIAS("platform:RTC");
427
425static struct platform_driver rtc_platform_driver = { 428static struct platform_driver rtc_platform_driver = {
426 .probe = rtc_probe, 429 .probe = rtc_probe,
427 .remove = __devexit_p(rtc_remove), 430 .remove = __devexit_p(rtc_remove),
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.c b/drivers/scsi/scsi.c
index e5c6f6af876..c78b836f59d 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -181,6 +181,18 @@ struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask)
181 cmd = kmem_cache_alloc(shost->cmd_pool->cmd_slab, 181 cmd = kmem_cache_alloc(shost->cmd_pool->cmd_slab,
182 gfp_mask | shost->cmd_pool->gfp_mask); 182 gfp_mask | shost->cmd_pool->gfp_mask);
183 183
184 if (likely(cmd)) {
185 buf = kmem_cache_alloc(shost->cmd_pool->sense_slab,
186 gfp_mask | shost->cmd_pool->gfp_mask);
187 if (likely(buf)) {
188 memset(cmd, 0, sizeof(*cmd));
189 cmd->sense_buffer = buf;
190 } else {
191 kmem_cache_free(shost->cmd_pool->cmd_slab, cmd);
192 cmd = NULL;
193 }
194 }
195
184 if (unlikely(!cmd)) { 196 if (unlikely(!cmd)) {
185 unsigned long flags; 197 unsigned long flags;
186 198
@@ -197,16 +209,6 @@ struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask)
197 memset(cmd, 0, sizeof(*cmd)); 209 memset(cmd, 0, sizeof(*cmd));
198 cmd->sense_buffer = buf; 210 cmd->sense_buffer = buf;
199 } 211 }
200 } else {
201 buf = kmem_cache_alloc(shost->cmd_pool->sense_slab,
202 gfp_mask | shost->cmd_pool->gfp_mask);
203 if (likely(buf)) {
204 memset(cmd, 0, sizeof(*cmd));
205 cmd->sense_buffer = buf;
206 } else {
207 kmem_cache_free(shost->cmd_pool->cmd_slab, cmd);
208 cmd = NULL;
209 }
210 } 212 }
211 213
212 return cmd; 214 return cmd;
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index b9b09a70458..ed83cdb6e67 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -294,7 +294,6 @@ static void scsi_device_dev_release_usercontext(struct work_struct *work)
294 } 294 }
295 295
296 if (sdev->request_queue) { 296 if (sdev->request_queue) {
297 bsg_unregister_queue(sdev->request_queue);
298 sdev->request_queue->queuedata = NULL; 297 sdev->request_queue->queuedata = NULL;
299 /* user context needed to free queue */ 298 /* user context needed to free queue */
300 scsi_free_queue(sdev->request_queue); 299 scsi_free_queue(sdev->request_queue);
@@ -858,6 +857,7 @@ void __scsi_remove_device(struct scsi_device *sdev)
858 if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0) 857 if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0)
859 return; 858 return;
860 859
860 bsg_unregister_queue(sdev->request_queue);
861 class_device_unregister(&sdev->sdev_classdev); 861 class_device_unregister(&sdev->sdev_classdev);
862 transport_remove_device(dev); 862 transport_remove_device(dev);
863 device_del(dev); 863 device_del(dev);
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/of_serial.c b/drivers/serial/of_serial.c
index c0e50a46105..8aacfb78dea 100644
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
56 port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP 56 port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
57 | UPF_FIXED_PORT; 57 | UPF_FIXED_PORT;
58 port->dev = &ofdev->dev; 58 port->dev = &ofdev->dev;
59 port->custom_divisor = *clk / (16 * (*spd)); 59 /* If current-speed was set, then try not to change it. */
60 if (spd)
61 port->custom_divisor = *clk / (16 * (*spd));
60 62
61 return 0; 63 return 0;
62} 64}
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index 85687aaf9ca..1749a27be06 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -863,3 +863,4 @@ module_exit(atmel_spi_exit);
863MODULE_DESCRIPTION("Atmel AT32/AT91 SPI Controller driver"); 863MODULE_DESCRIPTION("Atmel AT32/AT91 SPI Controller driver");
864MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>"); 864MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>");
865MODULE_LICENSE("GPL"); 865MODULE_LICENSE("GPL");
866MODULE_ALIAS("platform:atmel_spi");
diff --git a/drivers/spi/au1550_spi.c b/drivers/spi/au1550_spi.c
index 41a3d00c451..072c4a59533 100644
--- a/drivers/spi/au1550_spi.c
+++ b/drivers/spi/au1550_spi.c
@@ -958,6 +958,9 @@ static int __exit au1550_spi_remove(struct platform_device *pdev)
958 return 0; 958 return 0;
959} 959}
960 960
961/* work with hotplug and coldplug */
962MODULE_ALIAS("platform:au1550-spi");
963
961static struct platform_driver au1550_spi_drv = { 964static struct platform_driver au1550_spi_drv = {
962 .remove = __exit_p(au1550_spi_remove), 965 .remove = __exit_p(au1550_spi_remove),
963 .driver = { 966 .driver = {
diff --git a/drivers/spi/mpc52xx_psc_spi.c b/drivers/spi/mpc52xx_psc_spi.c
index a86315a0c5b..90729469d48 100644
--- a/drivers/spi/mpc52xx_psc_spi.c
+++ b/drivers/spi/mpc52xx_psc_spi.c
@@ -500,6 +500,9 @@ static int __exit mpc52xx_psc_spi_remove(struct platform_device *dev)
500 return mpc52xx_psc_spi_do_remove(&dev->dev); 500 return mpc52xx_psc_spi_do_remove(&dev->dev);
501} 501}
502 502
503/* work with hotplug and coldplug */
504MODULE_ALIAS("platform:mpc52xx-psc-spi");
505
503static struct platform_driver mpc52xx_psc_spi_platform_driver = { 506static struct platform_driver mpc52xx_psc_spi_platform_driver = {
504 .remove = __exit_p(mpc52xx_psc_spi_remove), 507 .remove = __exit_p(mpc52xx_psc_spi_remove),
505 .driver = { 508 .driver = {
diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
index a6ba11afb03..b1cc148036c 100644
--- a/drivers/spi/omap2_mcspi.c
+++ b/drivers/spi/omap2_mcspi.c
@@ -1084,6 +1084,9 @@ static int __exit omap2_mcspi_remove(struct platform_device *pdev)
1084 return 0; 1084 return 0;
1085} 1085}
1086 1086
1087/* work with hotplug and coldplug */
1088MODULE_ALIAS("platform:omap2_mcspi");
1089
1087static struct platform_driver omap2_mcspi_driver = { 1090static struct platform_driver omap2_mcspi_driver = {
1088 .driver = { 1091 .driver = {
1089 .name = "omap2_mcspi", 1092 .name = "omap2_mcspi",
diff --git a/drivers/spi/omap_uwire.c b/drivers/spi/omap_uwire.c
index 8245b5153f3..5f00bd6500e 100644
--- a/drivers/spi/omap_uwire.c
+++ b/drivers/spi/omap_uwire.c
@@ -537,10 +537,12 @@ static int __exit uwire_remove(struct platform_device *pdev)
537 return status; 537 return status;
538} 538}
539 539
540/* work with hotplug and coldplug */
541MODULE_ALIAS("platform:omap_uwire");
542
540static struct platform_driver uwire_driver = { 543static struct platform_driver uwire_driver = {
541 .driver = { 544 .driver = {
542 .name = "omap_uwire", 545 .name = "omap_uwire",
543 .bus = &platform_bus_type,
544 .owner = THIS_MODULE, 546 .owner = THIS_MODULE,
545 }, 547 },
546 .remove = __exit_p(uwire_remove), 548 .remove = __exit_p(uwire_remove),
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
index 59deed79e0a..147e26a78d6 100644
--- a/drivers/spi/pxa2xx_spi.c
+++ b/drivers/spi/pxa2xx_spi.c
@@ -44,6 +44,7 @@
44MODULE_AUTHOR("Stephen Street"); 44MODULE_AUTHOR("Stephen Street");
45MODULE_DESCRIPTION("PXA2xx SSP SPI Controller"); 45MODULE_DESCRIPTION("PXA2xx SSP SPI Controller");
46MODULE_LICENSE("GPL"); 46MODULE_LICENSE("GPL");
47MODULE_ALIAS("platform:pxa2xx-spi");
47 48
48#define MAX_BUSES 3 49#define MAX_BUSES 3
49 50
@@ -1581,7 +1582,6 @@ static int pxa2xx_spi_resume(struct platform_device *pdev)
1581static struct platform_driver driver = { 1582static struct platform_driver driver = {
1582 .driver = { 1583 .driver = {
1583 .name = "pxa2xx-spi", 1584 .name = "pxa2xx-spi",
1584 .bus = &platform_bus_type,
1585 .owner = THIS_MODULE, 1585 .owner = THIS_MODULE,
1586 }, 1586 },
1587 .remove = pxa2xx_spi_remove, 1587 .remove = pxa2xx_spi_remove,
diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
index d853fceb6bf..a9ac1fdb309 100644
--- a/drivers/spi/spi_bfin5xx.c
+++ b/drivers/spi/spi_bfin5xx.c
@@ -713,8 +713,8 @@ static void pump_transfers(unsigned long data)
713 } else { 713 } else {
714 drv_data->len = transfer->len; 714 drv_data->len = transfer->len;
715 } 715 }
716 dev_dbg(&drv_data->pdev->dev, "transfer: ", 716 dev_dbg(&drv_data->pdev->dev,
717 "drv_data->write is %p, chip->write is %p, null_wr is %p\n", 717 "transfer: drv_data->write is %p, chip->write is %p, null_wr is %p\n",
718 drv_data->write, chip->write, null_writer); 718 drv_data->write, chip->write, null_writer);
719 719
720 /* speed and width has been set on per message */ 720 /* speed and width has been set on per message */
@@ -1294,6 +1294,12 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1294 goto out_error_queue_alloc; 1294 goto out_error_queue_alloc;
1295 } 1295 }
1296 1296
1297 status = peripheral_request_list(drv_data->pin_req, DRV_NAME);
1298 if (status != 0) {
1299 dev_err(&pdev->dev, ": Requesting Peripherals failed\n");
1300 goto out_error_queue_alloc;
1301 }
1302
1297 /* Register with the SPI framework */ 1303 /* Register with the SPI framework */
1298 platform_set_drvdata(pdev, drv_data); 1304 platform_set_drvdata(pdev, drv_data);
1299 status = spi_register_master(master); 1305 status = spi_register_master(master);
@@ -1302,12 +1308,6 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1302 goto out_error_queue_alloc; 1308 goto out_error_queue_alloc;
1303 } 1309 }
1304 1310
1305 status = peripheral_request_list(drv_data->pin_req, DRV_NAME);
1306 if (status != 0) {
1307 dev_err(&pdev->dev, ": Requesting Peripherals failed\n");
1308 goto out_error;
1309 }
1310
1311 dev_info(dev, "%s, Version %s, regs_base@%p, dma channel@%d\n", 1311 dev_info(dev, "%s, Version %s, regs_base@%p, dma channel@%d\n",
1312 DRV_DESC, DRV_VERSION, drv_data->regs_base, 1312 DRV_DESC, DRV_VERSION, drv_data->regs_base,
1313 drv_data->dma_channel); 1313 drv_data->dma_channel);
@@ -1319,7 +1319,6 @@ out_error_no_dma_ch:
1319 iounmap((void *) drv_data->regs_base); 1319 iounmap((void *) drv_data->regs_base);
1320out_error_ioremap: 1320out_error_ioremap:
1321out_error_get_res: 1321out_error_get_res:
1322out_error:
1323 spi_master_put(master); 1322 spi_master_put(master);
1324 1323
1325 return status; 1324 return status;
@@ -1397,7 +1396,7 @@ static int bfin5xx_spi_resume(struct platform_device *pdev)
1397#define bfin5xx_spi_resume NULL 1396#define bfin5xx_spi_resume NULL
1398#endif /* CONFIG_PM */ 1397#endif /* CONFIG_PM */
1399 1398
1400MODULE_ALIAS("bfin-spi-master"); /* for platform bus hotplug */ 1399MODULE_ALIAS("platform:bfin-spi");
1401static struct platform_driver bfin5xx_spi_driver = { 1400static struct platform_driver bfin5xx_spi_driver = {
1402 .driver = { 1401 .driver = {
1403 .name = DRV_NAME, 1402 .name = DRV_NAME,
diff --git a/drivers/spi/spi_imx.c b/drivers/spi/spi_imx.c
index 1b064712493..d4ba640366b 100644
--- a/drivers/spi/spi_imx.c
+++ b/drivers/spi/spi_imx.c
@@ -1722,10 +1722,12 @@ static int spi_imx_resume(struct platform_device *pdev)
1722#define spi_imx_resume NULL 1722#define spi_imx_resume NULL
1723#endif /* CONFIG_PM */ 1723#endif /* CONFIG_PM */
1724 1724
1725/* work with hotplug and coldplug */
1726MODULE_ALIAS("platform:spi_imx");
1727
1725static struct platform_driver driver = { 1728static struct platform_driver driver = {
1726 .driver = { 1729 .driver = {
1727 .name = "spi_imx", 1730 .name = "spi_imx",
1728 .bus = &platform_bus_type,
1729 .owner = THIS_MODULE, 1731 .owner = THIS_MODULE,
1730 }, 1732 },
1731 .remove = __exit_p(spi_imx_remove), 1733 .remove = __exit_p(spi_imx_remove),
diff --git a/drivers/spi/spi_mpc83xx.c b/drivers/spi/spi_mpc83xx.c
index 04f7cd9fc26..be15a621320 100644
--- a/drivers/spi/spi_mpc83xx.c
+++ b/drivers/spi/spi_mpc83xx.c
@@ -523,11 +523,12 @@ static int __exit mpc83xx_spi_remove(struct platform_device *dev)
523 return 0; 523 return 0;
524} 524}
525 525
526MODULE_ALIAS("mpc83xx_spi"); /* for platform bus hotplug */ 526MODULE_ALIAS("platform:mpc83xx_spi");
527static struct platform_driver mpc83xx_spi_driver = { 527static struct platform_driver mpc83xx_spi_driver = {
528 .remove = __exit_p(mpc83xx_spi_remove), 528 .remove = __exit_p(mpc83xx_spi_remove),
529 .driver = { 529 .driver = {
530 .name = "mpc83xx_spi", 530 .name = "mpc83xx_spi",
531 .owner = THIS_MODULE,
531 }, 532 },
532}; 533};
533 534
diff --git a/drivers/spi/spi_s3c24xx.c b/drivers/spi/spi_s3c24xx.c
index 6e834b8b9d2..e75103aac79 100644
--- a/drivers/spi/spi_s3c24xx.c
+++ b/drivers/spi/spi_s3c24xx.c
@@ -415,7 +415,7 @@ static int s3c24xx_spi_resume(struct platform_device *pdev)
415#define s3c24xx_spi_resume NULL 415#define s3c24xx_spi_resume NULL
416#endif 416#endif
417 417
418MODULE_ALIAS("s3c2410_spi"); /* for platform bus hotplug */ 418MODULE_ALIAS("platform:s3c2410-spi");
419static struct platform_driver s3c24xx_spidrv = { 419static struct platform_driver s3c24xx_spidrv = {
420 .remove = __exit_p(s3c24xx_spi_remove), 420 .remove = __exit_p(s3c24xx_spi_remove),
421 .suspend = s3c24xx_spi_suspend, 421 .suspend = s3c24xx_spi_suspend,
diff --git a/drivers/spi/spi_s3c24xx_gpio.c b/drivers/spi/spi_s3c24xx_gpio.c
index 82ae7d7eca3..e33f6145c56 100644
--- a/drivers/spi/spi_s3c24xx_gpio.c
+++ b/drivers/spi/spi_s3c24xx_gpio.c
@@ -168,6 +168,8 @@ static int s3c2410_spigpio_remove(struct platform_device *dev)
168#define s3c2410_spigpio_suspend NULL 168#define s3c2410_spigpio_suspend NULL
169#define s3c2410_spigpio_resume NULL 169#define s3c2410_spigpio_resume NULL
170 170
171/* work with hotplug and coldplug */
172MODULE_ALIAS("platform:spi_s3c24xx_gpio");
171 173
172static struct platform_driver s3c2410_spigpio_drv = { 174static struct platform_driver s3c2410_spigpio_drv = {
173 .probe = s3c2410_spigpio_probe, 175 .probe = s3c2410_spigpio_probe,
diff --git a/drivers/spi/spi_sh_sci.c b/drivers/spi/spi_sh_sci.c
index 3dbe71b16d6..7d36720eb98 100644
--- a/drivers/spi/spi_sh_sci.c
+++ b/drivers/spi/spi_sh_sci.c
@@ -203,3 +203,4 @@ module_exit(sh_sci_spi_exit);
203MODULE_DESCRIPTION("SH SCI SPI Driver"); 203MODULE_DESCRIPTION("SH SCI SPI Driver");
204MODULE_AUTHOR("Magnus Damm <damm@opensource.se>"); 204MODULE_AUTHOR("Magnus Damm <damm@opensource.se>");
205MODULE_LICENSE("GPL"); 205MODULE_LICENSE("GPL");
206MODULE_ALIAS("platform:spi_sh_sci");
diff --git a/drivers/spi/spi_txx9.c b/drivers/spi/spi_txx9.c
index 363ac8e6882..2296f37ea3c 100644
--- a/drivers/spi/spi_txx9.c
+++ b/drivers/spi/spi_txx9.c
@@ -450,6 +450,9 @@ static int __exit txx9spi_remove(struct platform_device *dev)
450 return 0; 450 return 0;
451} 451}
452 452
453/* work with hotplug and coldplug */
454MODULE_ALIAS("platform:spi_txx9");
455
453static struct platform_driver txx9spi_driver = { 456static struct platform_driver txx9spi_driver = {
454 .remove = __exit_p(txx9spi_remove), 457 .remove = __exit_p(txx9spi_remove),
455 .driver = { 458 .driver = {
diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c
index 5d04f520c12..cf6aef34fe2 100644
--- a/drivers/spi/xilinx_spi.c
+++ b/drivers/spi/xilinx_spi.c
@@ -408,6 +408,9 @@ static int __devexit xilinx_spi_remove(struct platform_device *dev)
408 return 0; 408 return 0;
409} 409}
410 410
411/* work with hotplug and coldplug */
412MODULE_ALIAS("platform:" XILINX_SPI_NAME);
413
411static struct platform_driver xilinx_spi_driver = { 414static struct platform_driver xilinx_spi_driver = {
412 .probe = xilinx_spi_probe, 415 .probe = xilinx_spi_probe,
413 .remove = __devexit_p(xilinx_spi_remove), 416 .remove = __devexit_p(xilinx_spi_remove),
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
index 3d3dd32bf3a..a9e7eb45b2e 100644
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
@@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *dev, unsigned int irq)
109 clear_irq(bus, oldirq); 109 clear_irq(bus, oldirq);
110 110
111 /* assign the new one */ 111 /* assign the new one */
112 if (irq == 0) 112 if (irq == 0) {
113 ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) & ssb_read32(mdev, SSB_INTVEC))); 113 ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) | ssb_read32(mdev, SSB_INTVEC)));
114 114 } else {
115 irqflag <<= ipsflag_irq_shift[irq]; 115 irqflag <<= ipsflag_irq_shift[irq];
116 irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]); 116 irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]);
117 ssb_write32(mdev, SSB_IPSFLAG, irqflag); 117 ssb_write32(mdev, SSB_IPSFLAG, irqflag);
118 }
118} 119}
119 120
120static void ssb_mips_serial_init(struct ssb_mipscore *mcore) 121static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 74b9a8aea52..5d777f21169 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -551,7 +551,7 @@ int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
551 } else { 551 } else {
552 tmp = ssb_read32(dev, SSB_TPSFLAG); 552 tmp = ssb_read32(dev, SSB_TPSFLAG);
553 tmp &= SSB_TPSFLAG_BPFLAG; 553 tmp &= SSB_TPSFLAG_BPFLAG;
554 intvec |= tmp; 554 intvec |= (1 << tmp);
555 } 555 }
556 ssb_write32(pdev, SSB_INTVEC, intvec); 556 ssb_write32(pdev, SSB_INTVEC, intvec);
557 } 557 }
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index bedb2b4ee9d..72017bf2e57 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1044,6 +1044,12 @@ int ssb_bus_may_powerdown(struct ssb_bus *bus)
1044 goto out; 1044 goto out;
1045 1045
1046 cc = &bus->chipco; 1046 cc = &bus->chipco;
1047
1048 if (!cc->dev)
1049 goto out;
1050 if (cc->dev->id.revision < 5)
1051 goto out;
1052
1047 ssb_chipco_set_clockmode(cc, SSB_CLKMODE_SLOW); 1053 ssb_chipco_set_clockmode(cc, SSB_CLKMODE_SLOW);
1048 err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 0); 1054 err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 0);
1049 if (err) 1055 if (err)
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/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index a83e8b798ec..fd15ced899d 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1884,3 +1884,4 @@ module_exit(udc_exit_module);
1884MODULE_DESCRIPTION("AT91 udc driver"); 1884MODULE_DESCRIPTION("AT91 udc driver");
1885MODULE_AUTHOR("Thomas Rathbone, David Brownell"); 1885MODULE_AUTHOR("Thomas Rathbone, David Brownell");
1886MODULE_LICENSE("GPL"); 1886MODULE_LICENSE("GPL");
1887MODULE_ALIAS("platform:at91_udc");
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index af8b2a3a2d4..b0db4c31d01 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -2054,6 +2054,7 @@ static struct platform_driver udc_driver = {
2054 .remove = __exit_p(usba_udc_remove), 2054 .remove = __exit_p(usba_udc_remove),
2055 .driver = { 2055 .driver = {
2056 .name = "atmel_usba_udc", 2056 .name = "atmel_usba_udc",
2057 .owner = THIS_MODULE,
2057 }, 2058 },
2058}; 2059};
2059 2060
@@ -2072,3 +2073,4 @@ module_exit(udc_exit);
2072MODULE_DESCRIPTION("Atmel USBA UDC driver"); 2073MODULE_DESCRIPTION("Atmel USBA UDC driver");
2073MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>"); 2074MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>");
2074MODULE_LICENSE("GPL"); 2075MODULE_LICENSE("GPL");
2076MODULE_ALIAS("platform:atmel_usba_udc");
diff --git a/drivers/usb/gadget/fsl_usb2_udc.c b/drivers/usb/gadget/fsl_usb2_udc.c
index 63e8fa3a69e..254012ad2b9 100644
--- a/drivers/usb/gadget/fsl_usb2_udc.c
+++ b/drivers/usb/gadget/fsl_usb2_udc.c
@@ -2475,3 +2475,4 @@ module_exit(udc_exit);
2475MODULE_DESCRIPTION(DRIVER_DESC); 2475MODULE_DESCRIPTION(DRIVER_DESC);
2476MODULE_AUTHOR(DRIVER_AUTHOR); 2476MODULE_AUTHOR(DRIVER_AUTHOR);
2477MODULE_LICENSE("GPL"); 2477MODULE_LICENSE("GPL");
2478MODULE_ALIAS("platform:fsl-usb2-udc");
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/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 37243ef7104..078f7246767 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -2146,3 +2146,4 @@ module_exit(udc_exit);
2146MODULE_DESCRIPTION(DRIVER_DESC); 2146MODULE_DESCRIPTION(DRIVER_DESC);
2147MODULE_AUTHOR("Mikko Lahteenmaki, Bo Henriksen"); 2147MODULE_AUTHOR("Mikko Lahteenmaki, Bo Henriksen");
2148MODULE_LICENSE("GPL"); 2148MODULE_LICENSE("GPL");
2149MODULE_ALIAS("platform:lh7a40x_udc");
diff --git a/drivers/usb/gadget/m66592-udc.c b/drivers/usb/gadget/m66592-udc.c
index 835948f0715..ee6b35fa870 100644
--- a/drivers/usb/gadget/m66592-udc.c
+++ b/drivers/usb/gadget/m66592-udc.c
@@ -35,6 +35,7 @@
35MODULE_DESCRIPTION("M66592 USB gadget driver"); 35MODULE_DESCRIPTION("M66592 USB gadget driver");
36MODULE_LICENSE("GPL"); 36MODULE_LICENSE("GPL");
37MODULE_AUTHOR("Yoshihiro Shimoda"); 37MODULE_AUTHOR("Yoshihiro Shimoda");
38MODULE_ALIAS("platform:m66592_udc");
38 39
39#define DRIVER_VERSION "18 Oct 2007" 40#define DRIVER_VERSION "18 Oct 2007"
40 41
@@ -1671,6 +1672,7 @@ static struct platform_driver m66592_driver = {
1671 .remove = __exit_p(m66592_remove), 1672 .remove = __exit_p(m66592_remove),
1672 .driver = { 1673 .driver = {
1673 .name = (char *) udc_name, 1674 .name = (char *) udc_name,
1675 .owner = THIS_MODULE,
1674 }, 1676 },
1675}; 1677};
1676 1678
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index e6d68bda428..ee1e9a314cd 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -3109,4 +3109,4 @@ module_exit(udc_exit);
3109 3109
3110MODULE_DESCRIPTION(DRIVER_DESC); 3110MODULE_DESCRIPTION(DRIVER_DESC);
3111MODULE_LICENSE("GPL"); 3111MODULE_LICENSE("GPL");
3112 3112MODULE_ALIAS("platform:omap_udc");
diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c
index 096c41cc40d..c00cd8b9d3d 100644
--- a/drivers/usb/gadget/pxa2xx_udc.c
+++ b/drivers/usb/gadget/pxa2xx_udc.c
@@ -2380,4 +2380,4 @@ module_exit(udc_exit);
2380MODULE_DESCRIPTION(DRIVER_DESC); 2380MODULE_DESCRIPTION(DRIVER_DESC);
2381MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell"); 2381MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell");
2382MODULE_LICENSE("GPL"); 2382MODULE_LICENSE("GPL");
2383 2383MODULE_ALIAS("platform:pxa2xx-udc");
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c
index aadc4204d6f..6b1ef488043 100644
--- a/drivers/usb/gadget/s3c2410_udc.c
+++ b/drivers/usb/gadget/s3c2410_udc.c
@@ -2047,3 +2047,5 @@ MODULE_AUTHOR(DRIVER_AUTHOR);
2047MODULE_DESCRIPTION(DRIVER_DESC); 2047MODULE_DESCRIPTION(DRIVER_DESC);
2048MODULE_VERSION(DRIVER_VERSION); 2048MODULE_VERSION(DRIVER_VERSION);
2049MODULE_LICENSE("GPL"); 2049MODULE_LICENSE("GPL");
2050MODULE_ALIAS("platform:s3c2410-usbgadget");
2051MODULE_ALIAS("platform:s3c2440-usbgadget");
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/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index d7071c85575..203a3359a64 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -1684,14 +1684,18 @@ static int isp116x_resume(struct platform_device *dev)
1684 1684
1685#endif 1685#endif
1686 1686
1687/* work with hotplug and coldplug */
1688MODULE_ALIAS("platform:isp116x-hcd");
1689
1687static struct platform_driver isp116x_driver = { 1690static struct platform_driver isp116x_driver = {
1688 .probe = isp116x_probe, 1691 .probe = isp116x_probe,
1689 .remove = isp116x_remove, 1692 .remove = isp116x_remove,
1690 .suspend = isp116x_suspend, 1693 .suspend = isp116x_suspend,
1691 .resume = isp116x_resume, 1694 .resume = isp116x_resume,
1692 .driver = { 1695 .driver = {
1693 .name = (char *)hcd_name, 1696 .name = (char *)hcd_name,
1694 }, 1697 .owner = THIS_MODULE,
1698 },
1695}; 1699};
1696 1700
1697/*-----------------------------------------------------------------*/ 1701/*-----------------------------------------------------------------*/
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 126fcbdd640..d72dc07dda0 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -355,7 +355,7 @@ static int ohci_hcd_at91_drv_resume(struct platform_device *pdev)
355#define ohci_hcd_at91_drv_resume NULL 355#define ohci_hcd_at91_drv_resume NULL
356#endif 356#endif
357 357
358MODULE_ALIAS("at91_ohci"); 358MODULE_ALIAS("platform:at91_ohci");
359 359
360static struct platform_driver ohci_hcd_at91_driver = { 360static struct platform_driver ohci_hcd_at91_driver = {
361 .probe = ohci_hcd_at91_drv_probe, 361 .probe = ohci_hcd_at91_drv_probe,
@@ -368,4 +368,3 @@ static struct platform_driver ohci_hcd_at91_driver = {
368 .owner = THIS_MODULE, 368 .owner = THIS_MODULE,
369 }, 369 },
370}; 370};
371
diff --git a/drivers/usb/host/ohci-au1xxx.c b/drivers/usb/host/ohci-au1xxx.c
index 663a0600b6e..f90fe0c7373 100644
--- a/drivers/usb/host/ohci-au1xxx.c
+++ b/drivers/usb/host/ohci-au1xxx.c
@@ -345,3 +345,4 @@ static struct platform_driver ohci_hcd_au1xxx_driver = {
345 }, 345 },
346}; 346};
347 347
348MODULE_ALIAS("platform:au1xxx-ohci");
diff --git a/drivers/usb/host/ohci-ep93xx.c b/drivers/usb/host/ohci-ep93xx.c
index a68ce9d3c52..156e93a9d0d 100644
--- a/drivers/usb/host/ohci-ep93xx.c
+++ b/drivers/usb/host/ohci-ep93xx.c
@@ -211,6 +211,8 @@ static struct platform_driver ohci_hcd_ep93xx_driver = {
211#endif 211#endif
212 .driver = { 212 .driver = {
213 .name = "ep93xx-ohci", 213 .name = "ep93xx-ohci",
214 .owner = THIS_MODULE,
214 }, 215 },
215}; 216};
216 217
218MODULE_ALIAS("platform:ep93xx-ohci");
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-lh7a404.c b/drivers/usb/host/ohci-lh7a404.c
index 4a043abd85e..13c12ed2225 100644
--- a/drivers/usb/host/ohci-lh7a404.c
+++ b/drivers/usb/host/ohci-lh7a404.c
@@ -251,3 +251,4 @@ static struct platform_driver ohci_hcd_lh7a404_driver = {
251 }, 251 },
252}; 252};
253 253
254MODULE_ALIAS("platform:lh7a404-ohci");
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index 74e1f4be10b..7bfca1ed1b5 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -544,3 +544,4 @@ static struct platform_driver ohci_hcd_omap_driver = {
544 }, 544 },
545}; 545};
546 546
547MODULE_ALIAS("platform:ohci");
diff --git a/drivers/usb/host/ohci-pnx4008.c b/drivers/usb/host/ohci-pnx4008.c
index 6c52c66b659..28b458f20cc 100644
--- a/drivers/usb/host/ohci-pnx4008.c
+++ b/drivers/usb/host/ohci-pnx4008.c
@@ -456,9 +456,13 @@ static int usb_hcd_pnx4008_remove(struct platform_device *pdev)
456 return 0; 456 return 0;
457} 457}
458 458
459/* work with hotplug and coldplug */
460MODULE_ALIAS("platform:usb-ohci");
461
459static struct platform_driver usb_hcd_pnx4008_driver = { 462static struct platform_driver usb_hcd_pnx4008_driver = {
460 .driver = { 463 .driver = {
461 .name = "usb-ohci", 464 .name = "usb-ohci",
465 .owner = THIS_MODULE,
462 }, 466 },
463 .probe = usb_hcd_pnx4008_probe, 467 .probe = usb_hcd_pnx4008_probe,
464 .remove = usb_hcd_pnx4008_remove, 468 .remove = usb_hcd_pnx4008_remove,
diff --git a/drivers/usb/host/ohci-pnx8550.c b/drivers/usb/host/ohci-pnx8550.c
index 85fdfd2a7ad..605d59cba28 100644
--- a/drivers/usb/host/ohci-pnx8550.c
+++ b/drivers/usb/host/ohci-pnx8550.c
@@ -230,11 +230,12 @@ static int ohci_hcd_pnx8550_drv_remove(struct platform_device *pdev)
230 return 0; 230 return 0;
231} 231}
232 232
233MODULE_ALIAS("pnx8550-ohci"); 233MODULE_ALIAS("platform:pnx8550-ohci");
234 234
235static struct platform_driver ohci_hcd_pnx8550_driver = { 235static struct platform_driver ohci_hcd_pnx8550_driver = {
236 .driver = { 236 .driver = {
237 .name = "pnx8550-ohci", 237 .name = "pnx8550-ohci",
238 .owner = THIS_MODULE,
238 }, 239 },
239 .probe = ohci_hcd_pnx8550_drv_probe, 240 .probe = ohci_hcd_pnx8550_drv_probe,
240 .remove = ohci_hcd_pnx8550_drv_remove, 241 .remove = ohci_hcd_pnx8550_drv_remove,
diff --git a/drivers/usb/host/ohci-ppc-soc.c b/drivers/usb/host/ohci-ppc-soc.c
index f95be1896b0..523c3012557 100644
--- a/drivers/usb/host/ohci-ppc-soc.c
+++ b/drivers/usb/host/ohci-ppc-soc.c
@@ -213,3 +213,4 @@ static struct platform_driver ohci_hcd_ppc_soc_driver = {
213 }, 213 },
214}; 214};
215 215
216MODULE_ALIAS("platform:ppc-soc-ohci");
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
index ff9a7984347..8ad9b3b604b 100644
--- a/drivers/usb/host/ohci-pxa27x.c
+++ b/drivers/usb/host/ohci-pxa27x.c
@@ -364,6 +364,8 @@ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *pdev)
364} 364}
365#endif 365#endif
366 366
367/* work with hotplug and coldplug */
368MODULE_ALIAS("platform:pxa27x-ohci");
367 369
368static struct platform_driver ohci_hcd_pxa27x_driver = { 370static struct platform_driver ohci_hcd_pxa27x_driver = {
369 .probe = ohci_hcd_pxa27x_drv_probe, 371 .probe = ohci_hcd_pxa27x_drv_probe,
@@ -375,6 +377,7 @@ static struct platform_driver ohci_hcd_pxa27x_driver = {
375#endif 377#endif
376 .driver = { 378 .driver = {
377 .name = "pxa27x-ohci", 379 .name = "pxa27x-ohci",
380 .owner = THIS_MODULE,
378 }, 381 },
379}; 382};
380 383
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/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
index 44b79e8a6e2..ead4772f0f2 100644
--- a/drivers/usb/host/ohci-s3c2410.c
+++ b/drivers/usb/host/ohci-s3c2410.c
@@ -501,3 +501,4 @@ static struct platform_driver ohci_hcd_s3c2410_driver = {
501 }, 501 },
502}; 502};
503 503
504MODULE_ALIAS("platform:s3c2410-ohci");
diff --git a/drivers/usb/host/ohci-sh.c b/drivers/usb/host/ohci-sh.c
index 5309ac039e1..e7ee607278f 100644
--- a/drivers/usb/host/ohci-sh.c
+++ b/drivers/usb/host/ohci-sh.c
@@ -141,3 +141,4 @@ static struct platform_driver ohci_hcd_sh_driver = {
141 }, 141 },
142}; 142};
143 143
144MODULE_ALIAS("platform:sh_ohci");
diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c
index a9707014286..4ea92762fb2 100644
--- a/drivers/usb/host/ohci-sm501.c
+++ b/drivers/usb/host/ohci-sm501.c
@@ -262,3 +262,4 @@ static struct platform_driver ohci_hcd_sm501_driver = {
262 .name = "sm501-usb", 262 .name = "sm501-usb",
263 }, 263 },
264}; 264};
265MODULE_ALIAS("platform:sm501-usb");
diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c
index 0ce2fc5e396..9f80e528557 100644
--- a/drivers/usb/host/r8a66597-hcd.c
+++ b/drivers/usb/host/r8a66597-hcd.c
@@ -44,6 +44,7 @@
44MODULE_DESCRIPTION("R8A66597 USB Host Controller Driver"); 44MODULE_DESCRIPTION("R8A66597 USB Host Controller Driver");
45MODULE_LICENSE("GPL"); 45MODULE_LICENSE("GPL");
46MODULE_AUTHOR("Yoshihiro Shimoda"); 46MODULE_AUTHOR("Yoshihiro Shimoda");
47MODULE_ALIAS("platform:r8a66597_hcd");
47 48
48#define DRIVER_VERSION "29 May 2007" 49#define DRIVER_VERSION "29 May 2007"
49 50
@@ -2219,6 +2220,7 @@ static struct platform_driver r8a66597_driver = {
2219 .resume = r8a66597_resume, 2220 .resume = r8a66597_resume,
2220 .driver = { 2221 .driver = {
2221 .name = (char *) hcd_name, 2222 .name = (char *) hcd_name,
2223 .owner = THIS_MODULE,
2222 }, 2224 },
2223}; 2225};
2224 2226
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index 59be276ccd9..629bca0ebe8 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -58,6 +58,7 @@
58 58
59MODULE_DESCRIPTION("SL811HS USB Host Controller Driver"); 59MODULE_DESCRIPTION("SL811HS USB Host Controller Driver");
60MODULE_LICENSE("GPL"); 60MODULE_LICENSE("GPL");
61MODULE_ALIAS("platform:sl811-hcd");
61 62
62#define DRIVER_VERSION "19 May 2005" 63#define DRIVER_VERSION "19 May 2005"
63 64
diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
index 3033d694520..8e117a795e9 100644
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
@@ -3316,3 +3316,4 @@ static void __exit u132_hcd_exit(void)
3316 3316
3317module_exit(u132_hcd_exit); 3317module_exit(u132_hcd_exit);
3318MODULE_LICENSE("GPL"); 3318MODULE_LICENSE("GPL");
3319MODULE_ALIAS("platform:u132_hcd");
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 9d3f28b92cb..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 }
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/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/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/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index aa714028641..c2fa5c63081 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -214,10 +214,7 @@ static void vring_disable_cb(struct virtqueue *_vq)
214{ 214{
215 struct vring_virtqueue *vq = to_vvq(_vq); 215 struct vring_virtqueue *vq = to_vvq(_vq);
216 216
217 START_USE(vq);
218 BUG_ON(vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT);
219 vq->vring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT; 217 vq->vring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT;
220 END_USE(vq);
221} 218}
222 219
223static bool vring_enable_cb(struct virtqueue *_vq) 220static bool vring_enable_cb(struct virtqueue *_vq)
diff --git a/drivers/watchdog/at32ap700x_wdt.c b/drivers/watchdog/at32ap700x_wdt.c
index fb5ed6478f7..ae0fca5e874 100644
--- a/drivers/watchdog/at32ap700x_wdt.c
+++ b/drivers/watchdog/at32ap700x_wdt.c
@@ -418,6 +418,9 @@ static int at32_wdt_resume(struct platform_device *pdev)
418#define at32_wdt_resume NULL 418#define at32_wdt_resume NULL
419#endif 419#endif
420 420
421/* work with hotplug and coldplug */
422MODULE_ALIAS("platform:at32_wdt");
423
421static struct platform_driver at32_wdt_driver = { 424static struct platform_driver at32_wdt_driver = {
422 .remove = __exit_p(at32_wdt_remove), 425 .remove = __exit_p(at32_wdt_remove),
423 .suspend = at32_wdt_suspend, 426 .suspend = at32_wdt_suspend,
diff --git a/drivers/watchdog/at91rm9200_wdt.c b/drivers/watchdog/at91rm9200_wdt.c
index a684b1e8737..9ff9a956532 100644
--- a/drivers/watchdog/at91rm9200_wdt.c
+++ b/drivers/watchdog/at91rm9200_wdt.c
@@ -286,3 +286,4 @@ MODULE_AUTHOR("Andrew Victor");
286MODULE_DESCRIPTION("Watchdog driver for Atmel AT91RM9200"); 286MODULE_DESCRIPTION("Watchdog driver for Atmel AT91RM9200");
287MODULE_LICENSE("GPL"); 287MODULE_LICENSE("GPL");
288MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 288MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
289MODULE_ALIAS("platform:at91_wdt");
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index a61cbd48dc0..1782c79eff0 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -248,6 +248,7 @@ static int davinci_wdt_remove(struct platform_device *pdev)
248static struct platform_driver platform_wdt_driver = { 248static struct platform_driver platform_wdt_driver = {
249 .driver = { 249 .driver = {
250 .name = "watchdog", 250 .name = "watchdog",
251 .owner = THIS_MODULE,
251 }, 252 },
252 .probe = davinci_wdt_probe, 253 .probe = davinci_wdt_probe,
253 .remove = davinci_wdt_remove, 254 .remove = davinci_wdt_remove,
@@ -277,3 +278,4 @@ MODULE_PARM_DESC(heartbeat,
277 278
278MODULE_LICENSE("GPL"); 279MODULE_LICENSE("GPL");
279MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 280MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
281MODULE_ALIAS("platform:watchdog");
diff --git a/drivers/watchdog/it8712f_wdt.c b/drivers/watchdog/it8712f_wdt.c
index 1efcad3b6fc..445b7e81211 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
@@ -210,6 +200,8 @@ it8712f_wdt_disable(void)
210 200
211 superio_outb(0, WDT_CONFIG); 201 superio_outb(0, WDT_CONFIG);
212 superio_outb(0, WDT_CONTROL); 202 superio_outb(0, WDT_CONTROL);
203 if (revision >= 0x08)
204 superio_outb(0, WDT_TIMEOUT + 1);
213 superio_outb(0, WDT_TIMEOUT); 205 superio_outb(0, WDT_TIMEOUT);
214 206
215 superio_exit(); 207 superio_exit();
diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
index e3a29c30230..df5a6b811cc 100644
--- a/drivers/watchdog/ks8695_wdt.c
+++ b/drivers/watchdog/ks8695_wdt.c
@@ -306,3 +306,4 @@ MODULE_AUTHOR("Andrew Victor");
306MODULE_DESCRIPTION("Watchdog driver for KS8695"); 306MODULE_DESCRIPTION("Watchdog driver for KS8695");
307MODULE_LICENSE("GPL"); 307MODULE_LICENSE("GPL");
308MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 308MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
309MODULE_ALIAS("platform:ks8695_wdt");
diff --git a/drivers/watchdog/mpc83xx_wdt.c b/drivers/watchdog/mpc83xx_wdt.c
index 6369f569517..b16c5cd972e 100644
--- a/drivers/watchdog/mpc83xx_wdt.c
+++ b/drivers/watchdog/mpc83xx_wdt.c
@@ -206,6 +206,7 @@ static struct platform_driver mpc83xx_wdt_driver = {
206 .remove = __devexit_p(mpc83xx_wdt_remove), 206 .remove = __devexit_p(mpc83xx_wdt_remove),
207 .driver = { 207 .driver = {
208 .name = "mpc83xx_wdt", 208 .name = "mpc83xx_wdt",
209 .owner = THIS_MODULE,
209 }, 210 },
210}; 211};
211 212
@@ -226,3 +227,4 @@ MODULE_AUTHOR("Dave Updegraff, Kumar Gala");
226MODULE_DESCRIPTION("Driver for watchdog timer in MPC83xx uProcessor"); 227MODULE_DESCRIPTION("Driver for watchdog timer in MPC83xx uProcessor");
227MODULE_LICENSE("GPL"); 228MODULE_LICENSE("GPL");
228MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 229MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
230MODULE_ALIAS("platform:mpc83xx_wdt");
diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
index 0d2b2773541..009573b8149 100644
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -392,6 +392,9 @@ static int __devexit mpcore_wdt_remove(struct platform_device *dev)
392 return 0; 392 return 0;
393} 393}
394 394
395/* work with hotplug and coldplug */
396MODULE_ALIAS("platform:mpcore_wdt");
397
395static struct platform_driver mpcore_wdt_driver = { 398static struct platform_driver mpcore_wdt_driver = {
396 .probe = mpcore_wdt_probe, 399 .probe = mpcore_wdt_probe,
397 .remove = __devexit_p(mpcore_wdt_remove), 400 .remove = __devexit_p(mpcore_wdt_remove),
diff --git a/drivers/watchdog/mtx-1_wdt.c b/drivers/watchdog/mtx-1_wdt.c
index 10b89f2703b..a8e67383784 100644
--- a/drivers/watchdog/mtx-1_wdt.c
+++ b/drivers/watchdog/mtx-1_wdt.c
@@ -243,6 +243,7 @@ static struct platform_driver mtx1_wdt = {
243 .probe = mtx1_wdt_probe, 243 .probe = mtx1_wdt_probe,
244 .remove = mtx1_wdt_remove, 244 .remove = mtx1_wdt_remove,
245 .driver.name = "mtx1-wdt", 245 .driver.name = "mtx1-wdt",
246 .driver.owner = THIS_MODULE,
246}; 247};
247 248
248static int __init mtx1_wdt_init(void) 249static int __init mtx1_wdt_init(void)
@@ -262,3 +263,4 @@ MODULE_AUTHOR("Michael Stickel, Florian Fainelli");
262MODULE_DESCRIPTION("Driver for the MTX-1 watchdog"); 263MODULE_DESCRIPTION("Driver for the MTX-1 watchdog");
263MODULE_LICENSE("GPL"); 264MODULE_LICENSE("GPL");
264MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 265MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
266MODULE_ALIAS("platform:mtx1-wdt");
diff --git a/drivers/watchdog/mv64x60_wdt.c b/drivers/watchdog/mv64x60_wdt.c
index 0365c317f7e..b59ca327396 100644
--- a/drivers/watchdog/mv64x60_wdt.c
+++ b/drivers/watchdog/mv64x60_wdt.c
@@ -324,3 +324,4 @@ MODULE_AUTHOR("James Chapman <jchapman@katalix.com>");
324MODULE_DESCRIPTION("MV64x60 watchdog driver"); 324MODULE_DESCRIPTION("MV64x60 watchdog driver");
325MODULE_LICENSE("GPL"); 325MODULE_LICENSE("GPL");
326MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 326MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
327MODULE_ALIAS("platform:" MV64x60_WDT_NAME);
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 635ca454f56..74bc39aa1ce 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -387,3 +387,4 @@ module_exit(omap_wdt_exit);
387MODULE_AUTHOR("George G. Davis"); 387MODULE_AUTHOR("George G. Davis");
388MODULE_LICENSE("GPL"); 388MODULE_LICENSE("GPL");
389MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 389MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
390MODULE_ALIAS("platform:omap_wdt");
diff --git a/drivers/watchdog/pnx4008_wdt.c b/drivers/watchdog/pnx4008_wdt.c
index b04aa096a10..6b8483d3c78 100644
--- a/drivers/watchdog/pnx4008_wdt.c
+++ b/drivers/watchdog/pnx4008_wdt.c
@@ -321,6 +321,7 @@ static int pnx4008_wdt_remove(struct platform_device *pdev)
321static struct platform_driver platform_wdt_driver = { 321static struct platform_driver platform_wdt_driver = {
322 .driver = { 322 .driver = {
323 .name = "watchdog", 323 .name = "watchdog",
324 .owner = THIS_MODULE,
324 }, 325 },
325 .probe = pnx4008_wdt_probe, 326 .probe = pnx4008_wdt_probe,
326 .remove = pnx4008_wdt_remove, 327 .remove = pnx4008_wdt_remove,
@@ -354,3 +355,4 @@ MODULE_PARM_DESC(nowayout,
354 355
355MODULE_LICENSE("GPL"); 356MODULE_LICENSE("GPL");
356MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 357MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
358MODULE_ALIAS("platform:watchdog");
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 7645e881215..98532c0e068 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -561,3 +561,4 @@ MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>, "
561MODULE_DESCRIPTION("S3C2410 Watchdog Device Driver"); 561MODULE_DESCRIPTION("S3C2410 Watchdog Device Driver");
562MODULE_LICENSE("GPL"); 562MODULE_LICENSE("GPL");
563MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 563MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
564MODULE_ALIAS("platform:s3c2410-wdt");
diff --git a/drivers/watchdog/txx9wdt.c b/drivers/watchdog/txx9wdt.c
index 328b3c7211e..57cefef27ce 100644
--- a/drivers/watchdog/txx9wdt.c
+++ b/drivers/watchdog/txx9wdt.c
@@ -274,3 +274,4 @@ module_exit(watchdog_exit);
274MODULE_DESCRIPTION("TXx9 Watchdog Driver"); 274MODULE_DESCRIPTION("TXx9 Watchdog Driver");
275MODULE_LICENSE("GPL"); 275MODULE_LICENSE("GPL");
276MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 276MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
277MODULE_ALIAS("platform:txx9wdt");
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index ea94dbabf9a..d85dc6d41c2 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -381,11 +381,15 @@ EXPORT_SYMBOL_GPL(gnttab_cancel_free_callback);
381static int grow_gnttab_list(unsigned int more_frames) 381static int grow_gnttab_list(unsigned int more_frames)
382{ 382{
383 unsigned int new_nr_grant_frames, extra_entries, i; 383 unsigned int new_nr_grant_frames, extra_entries, i;
384 unsigned int nr_glist_frames, new_nr_glist_frames;
384 385
385 new_nr_grant_frames = nr_grant_frames + more_frames; 386 new_nr_grant_frames = nr_grant_frames + more_frames;
386 extra_entries = more_frames * GREFS_PER_GRANT_FRAME; 387 extra_entries = more_frames * GREFS_PER_GRANT_FRAME;
387 388
388 for (i = nr_grant_frames; i < new_nr_grant_frames; i++) { 389 nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
390 new_nr_glist_frames =
391 (new_nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
392 for (i = nr_glist_frames; i < new_nr_glist_frames; i++) {
389 gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_ATOMIC); 393 gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_ATOMIC);
390 if (!gnttab_list[i]) 394 if (!gnttab_list[i])
391 goto grow_nomem; 395 goto grow_nomem;
@@ -407,7 +411,7 @@ static int grow_gnttab_list(unsigned int more_frames)
407 return 0; 411 return 0;
408 412
409grow_nomem: 413grow_nomem:
410 for ( ; i >= nr_grant_frames; i--) 414 for ( ; i >= nr_glist_frames; i--)
411 free_page((unsigned long) gnttab_list[i]); 415 free_page((unsigned long) gnttab_list[i]);
412 return -ENOMEM; 416 return -ENOMEM;
413} 417}
@@ -530,7 +534,7 @@ static int gnttab_expand(unsigned int req_entries)
530static int __devinit gnttab_init(void) 534static int __devinit gnttab_init(void)
531{ 535{
532 int i; 536 int i;
533 unsigned int max_nr_glist_frames; 537 unsigned int max_nr_glist_frames, nr_glist_frames;
534 unsigned int nr_init_grefs; 538 unsigned int nr_init_grefs;
535 539
536 if (!is_running_on_xen()) 540 if (!is_running_on_xen())
@@ -543,15 +547,15 @@ static int __devinit gnttab_init(void)
543 * grant reference free list on the current hypervisor. 547 * grant reference free list on the current hypervisor.
544 */ 548 */
545 max_nr_glist_frames = (boot_max_nr_grant_frames * 549 max_nr_glist_frames = (boot_max_nr_grant_frames *
546 GREFS_PER_GRANT_FRAME / 550 GREFS_PER_GRANT_FRAME / RPP);
547 (PAGE_SIZE / sizeof(grant_ref_t)));
548 551
549 gnttab_list = kmalloc(max_nr_glist_frames * sizeof(grant_ref_t *), 552 gnttab_list = kmalloc(max_nr_glist_frames * sizeof(grant_ref_t *),
550 GFP_KERNEL); 553 GFP_KERNEL);
551 if (gnttab_list == NULL) 554 if (gnttab_list == NULL)
552 return -ENOMEM; 555 return -ENOMEM;
553 556
554 for (i = 0; i < nr_grant_frames; i++) { 557 nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
558 for (i = 0; i < nr_glist_frames; i++) {
555 gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_KERNEL); 559 gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_KERNEL);
556 if (gnttab_list[i] == NULL) 560 if (gnttab_list[i] == NULL)
557 goto ini_nomem; 561 goto ini_nomem;
diff --git a/fs/Kconfig b/fs/Kconfig
index d7312825592..c509123bea4 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1744,10 +1744,10 @@ config ROOT_NFS
1744 If you want your Linux box to mount its whole root file system (the 1744 If you want your Linux box to mount its whole root file system (the
1745 one containing the directory /) from some other computer over the 1745 one containing the directory /) from some other computer over the
1746 net via NFS (presumably because your box doesn't have a hard disk), 1746 net via NFS (presumably because your box doesn't have a hard disk),
1747 say Y. Read <file:Documentation/nfsroot.txt> for details. It is 1747 say Y. Read <file:Documentation/filesystems/nfsroot.txt> for
1748 likely that in this case, you also want to say Y to "Kernel level IP 1748 details. It is likely that in this case, you also want to say Y to
1749 autoconfiguration" so that your box can discover its network address 1749 "Kernel level IP autoconfiguration" so that your box can discover
1750 at boot time. 1750 its network address at boot time.
1751 1751
1752 Most people say N here. 1752 Most people say N here.
1753 1753
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..eec41c76de7 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
@@ -750,7 +749,7 @@ extern int afs_fsync(struct file *, struct dentry *, int);
750extern unsigned afs_debug; 749extern unsigned afs_debug;
751 750
752#define dbgprintk(FMT,...) \ 751#define dbgprintk(FMT,...) \
753 printk("[%x%-6.6s] "FMT"\n", smp_processor_id(), current->comm ,##__VA_ARGS__) 752 printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
754 753
755/* make sure we maintain the format strings, even when debugging is disabled */ 754/* make sure we maintain the format strings, even when debugging is disabled */
756static inline __attribute__((format(printf,1,2))) 755static inline __attribute__((format(printf,1,2)))
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 6af92194062..228368610df 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -936,14 +936,6 @@ int aio_complete(struct kiocb *iocb, long res, long res2)
936 return 1; 936 return 1;
937 } 937 }
938 938
939 /*
940 * Check if the user asked us to deliver the result through an
941 * eventfd. The eventfd_signal() function is safe to be called
942 * from IRQ context.
943 */
944 if (!IS_ERR(iocb->ki_eventfd))
945 eventfd_signal(iocb->ki_eventfd, 1);
946
947 info = &ctx->ring_info; 939 info = &ctx->ring_info;
948 940
949 /* add a completion event to the ring buffer. 941 /* add a completion event to the ring buffer.
@@ -992,6 +984,15 @@ int aio_complete(struct kiocb *iocb, long res, long res2)
992 kunmap_atomic(ring, KM_IRQ1); 984 kunmap_atomic(ring, KM_IRQ1);
993 985
994 pr_debug("added to ring %p at [%lu]\n", iocb, tail); 986 pr_debug("added to ring %p at [%lu]\n", iocb, tail);
987
988 /*
989 * Check if the user asked us to deliver the result through an
990 * eventfd. The eventfd_signal() function is safe to be called
991 * from IRQ context.
992 */
993 if (!IS_ERR(iocb->ki_eventfd))
994 eventfd_signal(iocb->ki_eventfd, 1);
995
995put_rq: 996put_rq:
996 /* everything turned out well, dispose of the aiocb. */ 997 /* everything turned out well, dispose of the aiocb. */
997 ret = __aio_put_req(ctx, iocb); 998 ret = __aio_put_req(ctx, iocb);
@@ -1790,6 +1791,7 @@ asmlinkage long sys_io_getevents(aio_context_t ctx_id,
1790 put_ioctx(ioctx); 1791 put_ioctx(ioctx);
1791 } 1792 }
1792 1793
1794 asmlinkage_protect(5, ret, ctx_id, min_nr, nr, events, timeout);
1793 return ret; 1795 return ret;
1794} 1796}
1795 1797
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/buffer.c b/fs/buffer.c
index 7ba58386bee..39ff14403d1 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1181,7 +1181,20 @@ __getblk_slow(struct block_device *bdev, sector_t block, int size)
1181void mark_buffer_dirty(struct buffer_head *bh) 1181void mark_buffer_dirty(struct buffer_head *bh)
1182{ 1182{
1183 WARN_ON_ONCE(!buffer_uptodate(bh)); 1183 WARN_ON_ONCE(!buffer_uptodate(bh));
1184 if (!buffer_dirty(bh) && !test_set_buffer_dirty(bh)) 1184
1185 /*
1186 * Very *carefully* optimize the it-is-already-dirty case.
1187 *
1188 * Don't let the final "is it dirty" escape to before we
1189 * perhaps modified the buffer.
1190 */
1191 if (buffer_dirty(bh)) {
1192 smp_mb();
1193 if (buffer_dirty(bh))
1194 return;
1195 }
1196
1197 if (!test_set_buffer_dirty(bh))
1185 __set_page_dirty(bh->b_page, page_mapping(bh->b_page), 0); 1198 __set_page_dirty(bh->b_page, page_mapping(bh->b_page), 0);
1186} 1199}
1187 1200
@@ -2564,14 +2577,13 @@ int nobh_write_end(struct file *file, struct address_space *mapping,
2564 struct inode *inode = page->mapping->host; 2577 struct inode *inode = page->mapping->host;
2565 struct buffer_head *head = fsdata; 2578 struct buffer_head *head = fsdata;
2566 struct buffer_head *bh; 2579 struct buffer_head *bh;
2580 BUG_ON(fsdata != NULL && page_has_buffers(page));
2567 2581
2568 if (!PageMappedToDisk(page)) { 2582 if (unlikely(copied < len) && !page_has_buffers(page))
2569 if (unlikely(copied < len) && !page_has_buffers(page)) 2583 attach_nobh_buffers(page, head);
2570 attach_nobh_buffers(page, head); 2584 if (page_has_buffers(page))
2571 if (page_has_buffers(page)) 2585 return generic_write_end(file, mapping, pos, len,
2572 return generic_write_end(file, mapping, pos, len, 2586 copied, page, fsdata);
2573 copied, page, fsdata);
2574 }
2575 2587
2576 SetPageUptodate(page); 2588 SetPageUptodate(page);
2577 set_page_dirty(page); 2589 set_page_dirty(page);
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
index a1a95b02713..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/**
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index 1f5a4289b84..1cb5b0a9f2a 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -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));
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/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/hfsplus/dir.c b/fs/hfsplus/dir.c
index 29683645fa0..5f402367825 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -340,16 +340,23 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
340 340
341 if (inode->i_nlink > 0) 341 if (inode->i_nlink > 0)
342 drop_nlink(inode); 342 drop_nlink(inode);
343 hfsplus_delete_inode(inode); 343 if (inode->i_ino == cnid)
344 if (inode->i_ino != cnid && !inode->i_nlink) { 344 clear_nlink(inode);
345 if (!atomic_read(&HFSPLUS_I(inode).opencnt)) { 345 if (!inode->i_nlink) {
346 res = hfsplus_delete_cat(inode->i_ino, HFSPLUS_SB(sb).hidden_dir, NULL); 346 if (inode->i_ino != cnid) {
347 if (!res) 347 HFSPLUS_SB(sb).file_count--;
348 hfsplus_delete_inode(inode); 348 if (!atomic_read(&HFSPLUS_I(inode).opencnt)) {
349 res = hfsplus_delete_cat(inode->i_ino,
350 HFSPLUS_SB(sb).hidden_dir,
351 NULL);
352 if (!res)
353 hfsplus_delete_inode(inode);
354 } else
355 inode->i_flags |= S_DEAD;
349 } else 356 } else
350 inode->i_flags |= S_DEAD; 357 hfsplus_delete_inode(inode);
351 } else 358 } else
352 clear_nlink(inode); 359 HFSPLUS_SB(sb).file_count--;
353 inode->i_ctime = CURRENT_TIME_SEC; 360 inode->i_ctime = CURRENT_TIME_SEC;
354 mark_inode_dirty(inode); 361 mark_inode_dirty(inode);
355 362
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/jbd/journal.c b/fs/jbd/journal.c
index 9816293442a..0e081d5f32e 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -1620,14 +1620,14 @@ static int journal_init_journal_head_cache(void)
1620{ 1620{
1621 int retval; 1621 int retval;
1622 1622
1623 J_ASSERT(journal_head_cache == 0); 1623 J_ASSERT(journal_head_cache == NULL);
1624 journal_head_cache = kmem_cache_create("journal_head", 1624 journal_head_cache = kmem_cache_create("journal_head",
1625 sizeof(struct journal_head), 1625 sizeof(struct journal_head),
1626 0, /* offset */ 1626 0, /* offset */
1627 SLAB_TEMPORARY, /* flags */ 1627 SLAB_TEMPORARY, /* flags */
1628 NULL); /* ctor */ 1628 NULL); /* ctor */
1629 retval = 0; 1629 retval = 0;
1630 if (journal_head_cache == 0) { 1630 if (!journal_head_cache) {
1631 retval = -ENOMEM; 1631 retval = -ENOMEM;
1632 printk(KERN_EMERG "JBD: no memory for journal_head cache\n"); 1632 printk(KERN_EMERG "JBD: no memory for journal_head cache\n");
1633 } 1633 }
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/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/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/namei.c b/fs/namei.c
index 6b7a0eef409..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;
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/file.c b/fs/nfs/file.c
index ef57a5ae590..5d2e9d9a4e2 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -64,7 +64,11 @@ const struct file_operations nfs_file_operations = {
64 .write = do_sync_write, 64 .write = do_sync_write,
65 .aio_read = nfs_file_read, 65 .aio_read = nfs_file_read,
66 .aio_write = nfs_file_write, 66 .aio_write = nfs_file_write,
67#ifdef CONFIG_MMU
67 .mmap = nfs_file_mmap, 68 .mmap = nfs_file_mmap,
69#else
70 .mmap = generic_file_mmap,
71#endif
68 .open = nfs_file_open, 72 .open = nfs_file_open,
69 .flush = nfs_file_flush, 73 .flush = nfs_file_flush,
70 .release = nfs_file_release, 74 .release = nfs_file_release,
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index a4c7cf2bff3..6f88d7c77ac 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -506,6 +506,7 @@ static struct nfs_open_context *alloc_nfs_open_context(struct vfsmount *mnt, str
506 ctx->cred = get_rpccred(cred); 506 ctx->cred = get_rpccred(cred);
507 ctx->state = NULL; 507 ctx->state = NULL;
508 ctx->lockowner = current->files; 508 ctx->lockowner = current->files;
509 ctx->flags = 0;
509 ctx->error = 0; 510 ctx->error = 0;
510 ctx->dir_cookie = 0; 511 ctx->dir_cookie = 0;
511 atomic_set(&ctx->count, 1); 512 atomic_set(&ctx->count, 1);
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/open.c b/fs/open.c
index 54198538b67..3fa4e4ffce4 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -335,7 +335,7 @@ asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length)
335{ 335{
336 long ret = do_sys_ftruncate(fd, length, 1); 336 long ret = do_sys_ftruncate(fd, length, 1);
337 /* avoid REGPARM breakage on x86: */ 337 /* avoid REGPARM breakage on x86: */
338 prevent_tail_call(ret); 338 asmlinkage_protect(2, ret, fd, length);
339 return ret; 339 return ret;
340} 340}
341 341
@@ -350,7 +350,7 @@ asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length)
350{ 350{
351 long ret = do_sys_ftruncate(fd, length, 0); 351 long ret = do_sys_ftruncate(fd, length, 0);
352 /* avoid REGPARM breakage on x86: */ 352 /* avoid REGPARM breakage on x86: */
353 prevent_tail_call(ret); 353 asmlinkage_protect(2, ret, fd, length);
354 return ret; 354 return ret;
355} 355}
356#endif 356#endif
@@ -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) {
@@ -1055,7 +1067,7 @@ asmlinkage long sys_open(const char __user *filename, int flags, int mode)
1055 1067
1056 ret = do_sys_open(AT_FDCWD, filename, flags, mode); 1068 ret = do_sys_open(AT_FDCWD, filename, flags, mode);
1057 /* avoid REGPARM breakage on x86: */ 1069 /* avoid REGPARM breakage on x86: */
1058 prevent_tail_call(ret); 1070 asmlinkage_protect(3, ret, filename, flags, mode);
1059 return ret; 1071 return ret;
1060} 1072}
1061 1073
@@ -1069,7 +1081,7 @@ asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
1069 1081
1070 ret = do_sys_open(dfd, filename, flags, mode); 1082 ret = do_sys_open(dfd, filename, flags, mode);
1071 /* avoid REGPARM breakage on x86: */ 1083 /* avoid REGPARM breakage on x86: */
1072 prevent_tail_call(ret); 1084 asmlinkage_protect(4, ret, dfd, filename, flags, mode);
1073 return ret; 1085 return ret;
1074} 1086}
1075 1087
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/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/signalfd.c b/fs/signalfd.c
index cb2b63ae0bf..8ead0db3593 100644
--- a/fs/signalfd.c
+++ b/fs/signalfd.c
@@ -111,9 +111,14 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
111 err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid); 111 err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid);
112 err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr); 112 err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr);
113 break; 113 break;
114 default: /* this is just in case for now ... */ 114 default:
115 /*
116 * This case catches also the signals queued by sigqueue().
117 */
115 err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid); 118 err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid);
116 err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid); 119 err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid);
120 err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr);
121 err |= __put_user(kinfo->si_int, &uinfo->ssi_int);
117 break; 122 break;
118 } 123 }
119 124
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/splice.c b/fs/splice.c
index 0670c915cd3..eeb1a86a701 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -320,7 +320,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
320 break; 320 break;
321 321
322 error = add_to_page_cache_lru(page, mapping, index, 322 error = add_to_page_cache_lru(page, mapping, index,
323 GFP_KERNEL); 323 mapping_gfp_mask(mapping));
324 if (unlikely(error)) { 324 if (unlikely(error)) {
325 page_cache_release(page); 325 page_cache_release(page);
326 if (error == -EEXIST) 326 if (error == -EEXIST)
@@ -370,8 +370,10 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
370 * for an in-flight io page 370 * for an in-flight io page
371 */ 371 */
372 if (flags & SPLICE_F_NONBLOCK) { 372 if (flags & SPLICE_F_NONBLOCK) {
373 if (TestSetPageLocked(page)) 373 if (TestSetPageLocked(page)) {
374 error = -EAGAIN;
374 break; 375 break;
376 }
375 } else 377 } else
376 lock_page(page); 378 lock_page(page);
377 379
@@ -479,9 +481,8 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
479 struct pipe_inode_info *pipe, size_t len, 481 struct pipe_inode_info *pipe, size_t len,
480 unsigned int flags) 482 unsigned int flags)
481{ 483{
482 ssize_t spliced;
483 int ret;
484 loff_t isize, left; 484 loff_t isize, left;
485 int ret;
485 486
486 isize = i_size_read(in->f_mapping->host); 487 isize = i_size_read(in->f_mapping->host);
487 if (unlikely(*ppos >= isize)) 488 if (unlikely(*ppos >= isize))
@@ -491,29 +492,9 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
491 if (unlikely(left < len)) 492 if (unlikely(left < len))
492 len = left; 493 len = left;
493 494
494 ret = 0; 495 ret = __generic_file_splice_read(in, ppos, pipe, len, flags);
495 spliced = 0; 496 if (ret > 0)
496 while (len && !spliced) {
497 ret = __generic_file_splice_read(in, ppos, pipe, len, flags);
498
499 if (ret < 0)
500 break;
501 else if (!ret) {
502 if (spliced)
503 break;
504 if (flags & SPLICE_F_NONBLOCK) {
505 ret = -EAGAIN;
506 break;
507 }
508 }
509
510 *ppos += ret; 497 *ppos += ret;
511 len -= ret;
512 spliced += ret;
513 }
514
515 if (spliced)
516 return spliced;
517 498
518 return ret; 499 return ret;
519} 500}
diff --git a/fs/super.c b/fs/super.c
index d0a941a4e62..09008dbd264 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -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/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c
index a9952e490ac..f34bd010eb5 100644
--- a/fs/xfs/linux-2.6/xfs_ioctl.c
+++ b/fs/xfs/linux-2.6/xfs_ioctl.c
@@ -732,7 +732,7 @@ xfs_ioctl(
732 * Only allow the sys admin to reserve space unless 732 * Only allow the sys admin to reserve space unless
733 * unwritten extents are enabled. 733 * unwritten extents are enabled.
734 */ 734 */
735 if (!XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb) && 735 if (!xfs_sb_version_hasextflgbit(&mp->m_sb) &&
736 !capable(CAP_SYS_ADMIN)) 736 !capable(CAP_SYS_ADMIN))
737 return -EPERM; 737 return -EPERM;
738 738
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index 1f3da5b8657..8e9c5ae6504 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -1405,13 +1405,13 @@ xfs_qm_qino_alloc(
1405#if defined(DEBUG) && defined(XFS_LOUD_RECOVERY) 1405#if defined(DEBUG) && defined(XFS_LOUD_RECOVERY)
1406 unsigned oldv = mp->m_sb.sb_versionnum; 1406 unsigned oldv = mp->m_sb.sb_versionnum;
1407#endif 1407#endif
1408 ASSERT(!XFS_SB_VERSION_HASQUOTA(&mp->m_sb)); 1408 ASSERT(!xfs_sb_version_hasquota(&mp->m_sb));
1409 ASSERT((sbfields & (XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | 1409 ASSERT((sbfields & (XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO |
1410 XFS_SB_GQUOTINO | XFS_SB_QFLAGS)) == 1410 XFS_SB_GQUOTINO | XFS_SB_QFLAGS)) ==
1411 (XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | 1411 (XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO |
1412 XFS_SB_GQUOTINO | XFS_SB_QFLAGS)); 1412 XFS_SB_GQUOTINO | XFS_SB_QFLAGS));
1413 1413
1414 XFS_SB_VERSION_ADDQUOTA(&mp->m_sb); 1414 xfs_sb_version_addquota(&mp->m_sb);
1415 mp->m_sb.sb_uquotino = NULLFSINO; 1415 mp->m_sb.sb_uquotino = NULLFSINO;
1416 mp->m_sb.sb_gquotino = NULLFSINO; 1416 mp->m_sb.sb_gquotino = NULLFSINO;
1417 1417
@@ -1954,7 +1954,7 @@ xfs_qm_init_quotainos(
1954 /* 1954 /*
1955 * Get the uquota and gquota inodes 1955 * Get the uquota and gquota inodes
1956 */ 1956 */
1957 if (XFS_SB_VERSION_HASQUOTA(&mp->m_sb)) { 1957 if (xfs_sb_version_hasquota(&mp->m_sb)) {
1958 if (XFS_IS_UQUOTA_ON(mp) && 1958 if (XFS_IS_UQUOTA_ON(mp) &&
1959 mp->m_sb.sb_uquotino != NULLFSINO) { 1959 mp->m_sb.sb_uquotino != NULLFSINO) {
1960 ASSERT(mp->m_sb.sb_uquotino > 0); 1960 ASSERT(mp->m_sb.sb_uquotino > 0);
diff --git a/fs/xfs/quota/xfs_qm_bhv.c b/fs/xfs/quota/xfs_qm_bhv.c
index 97bb3293758..f4f6c4c861d 100644
--- a/fs/xfs/quota/xfs_qm_bhv.c
+++ b/fs/xfs/quota/xfs_qm_bhv.c
@@ -118,7 +118,7 @@ xfs_qm_newmount(
118 *quotaflags = 0; 118 *quotaflags = 0;
119 *needquotamount = B_FALSE; 119 *needquotamount = B_FALSE;
120 120
121 quotaondisk = XFS_SB_VERSION_HASQUOTA(&mp->m_sb) && 121 quotaondisk = xfs_sb_version_hasquota(&mp->m_sb) &&
122 (mp->m_sb.sb_qflags & XFS_ALL_QUOTA_ACCT); 122 (mp->m_sb.sb_qflags & XFS_ALL_QUOTA_ACCT);
123 123
124 if (quotaondisk) { 124 if (quotaondisk) {
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c
index 2cc5886cfe8..d2b8be7e75f 100644
--- a/fs/xfs/quota/xfs_qm_syscalls.c
+++ b/fs/xfs/quota/xfs_qm_syscalls.c
@@ -377,7 +377,7 @@ xfs_qm_scall_trunc_qfiles(
377 if (!capable(CAP_SYS_ADMIN)) 377 if (!capable(CAP_SYS_ADMIN))
378 return XFS_ERROR(EPERM); 378 return XFS_ERROR(EPERM);
379 error = 0; 379 error = 0;
380 if (!XFS_SB_VERSION_HASQUOTA(&mp->m_sb) || flags == 0) { 380 if (!xfs_sb_version_hasquota(&mp->m_sb) || flags == 0) {
381 qdprintk("qtrunc flags=%x m_qflags=%x\n", flags, mp->m_qflags); 381 qdprintk("qtrunc flags=%x m_qflags=%x\n", flags, mp->m_qflags);
382 return XFS_ERROR(EINVAL); 382 return XFS_ERROR(EINVAL);
383 } 383 }
@@ -522,7 +522,7 @@ xfs_qm_scall_getqstat(
522 memset(out, 0, sizeof(fs_quota_stat_t)); 522 memset(out, 0, sizeof(fs_quota_stat_t));
523 523
524 out->qs_version = FS_QSTAT_VERSION; 524 out->qs_version = FS_QSTAT_VERSION;
525 if (! XFS_SB_VERSION_HASQUOTA(&mp->m_sb)) { 525 if (!xfs_sb_version_hasquota(&mp->m_sb)) {
526 out->qs_uquota.qfs_ino = NULLFSINO; 526 out->qs_uquota.qfs_ino = NULLFSINO;
527 out->qs_gquota.qfs_ino = NULLFSINO; 527 out->qs_gquota.qfs_ino = NULLFSINO;
528 return (0); 528 return (0);
diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c
index b08e2a2a8ad..96ba6aa4ed8 100644
--- a/fs/xfs/xfs_attr_leaf.c
+++ b/fs/xfs/xfs_attr_leaf.c
@@ -227,10 +227,10 @@ STATIC void
227xfs_sbversion_add_attr2(xfs_mount_t *mp, xfs_trans_t *tp) 227xfs_sbversion_add_attr2(xfs_mount_t *mp, xfs_trans_t *tp)
228{ 228{
229 if ((mp->m_flags & XFS_MOUNT_ATTR2) && 229 if ((mp->m_flags & XFS_MOUNT_ATTR2) &&
230 !(XFS_SB_VERSION_HASATTR2(&mp->m_sb))) { 230 !(xfs_sb_version_hasattr2(&mp->m_sb))) {
231 spin_lock(&mp->m_sb_lock); 231 spin_lock(&mp->m_sb_lock);
232 if (!XFS_SB_VERSION_HASATTR2(&mp->m_sb)) { 232 if (!xfs_sb_version_hasattr2(&mp->m_sb)) {
233 XFS_SB_VERSION_ADDATTR2(&mp->m_sb); 233 xfs_sb_version_addattr2(&mp->m_sb);
234 spin_unlock(&mp->m_sb_lock); 234 spin_unlock(&mp->m_sb_lock);
235 xfs_mod_sb(tp, XFS_SB_VERSIONNUM | XFS_SB_FEATURES2); 235 xfs_mod_sb(tp, XFS_SB_VERSIONNUM | XFS_SB_FEATURES2);
236 } else 236 } else
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
index 1c0a5a585a8..2def273855a 100644
--- a/fs/xfs/xfs_bmap.c
+++ b/fs/xfs/xfs_bmap.c
@@ -4047,17 +4047,17 @@ xfs_bmap_add_attrfork(
4047 xfs_trans_log_inode(tp, ip, logflags); 4047 xfs_trans_log_inode(tp, ip, logflags);
4048 if (error) 4048 if (error)
4049 goto error2; 4049 goto error2;
4050 if (!XFS_SB_VERSION_HASATTR(&mp->m_sb) || 4050 if (!xfs_sb_version_hasattr(&mp->m_sb) ||
4051 (!XFS_SB_VERSION_HASATTR2(&mp->m_sb) && version == 2)) { 4051 (!xfs_sb_version_hasattr2(&mp->m_sb) && version == 2)) {
4052 __int64_t sbfields = 0; 4052 __int64_t sbfields = 0;
4053 4053
4054 spin_lock(&mp->m_sb_lock); 4054 spin_lock(&mp->m_sb_lock);
4055 if (!XFS_SB_VERSION_HASATTR(&mp->m_sb)) { 4055 if (!xfs_sb_version_hasattr(&mp->m_sb)) {
4056 XFS_SB_VERSION_ADDATTR(&mp->m_sb); 4056 xfs_sb_version_addattr(&mp->m_sb);
4057 sbfields |= XFS_SB_VERSIONNUM; 4057 sbfields |= XFS_SB_VERSIONNUM;
4058 } 4058 }
4059 if (!XFS_SB_VERSION_HASATTR2(&mp->m_sb) && version == 2) { 4059 if (!xfs_sb_version_hasattr2(&mp->m_sb) && version == 2) {
4060 XFS_SB_VERSION_ADDATTR2(&mp->m_sb); 4060 xfs_sb_version_addattr2(&mp->m_sb);
4061 sbfields |= (XFS_SB_VERSIONNUM | XFS_SB_FEATURES2); 4061 sbfields |= (XFS_SB_VERSIONNUM | XFS_SB_FEATURES2);
4062 } 4062 }
4063 if (sbfields) { 4063 if (sbfields) {
@@ -5043,7 +5043,7 @@ xfs_bmapi(
5043 * A wasdelay extent has been initialized, so 5043 * A wasdelay extent has been initialized, so
5044 * shouldn't be flagged as unwritten. 5044 * shouldn't be flagged as unwritten.
5045 */ 5045 */
5046 if (wr && XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb)) { 5046 if (wr && xfs_sb_version_hasextflgbit(&mp->m_sb)) {
5047 if (!wasdelay && (flags & XFS_BMAPI_PREALLOC)) 5047 if (!wasdelay && (flags & XFS_BMAPI_PREALLOC))
5048 got.br_state = XFS_EXT_UNWRITTEN; 5048 got.br_state = XFS_EXT_UNWRITTEN;
5049 } 5049 }
@@ -5483,7 +5483,7 @@ xfs_bunmapi(
5483 * get rid of part of a realtime extent. 5483 * get rid of part of a realtime extent.
5484 */ 5484 */
5485 if (del.br_state == XFS_EXT_UNWRITTEN || 5485 if (del.br_state == XFS_EXT_UNWRITTEN ||
5486 !XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb)) { 5486 !xfs_sb_version_hasextflgbit(&mp->m_sb)) {
5487 /* 5487 /*
5488 * This piece is unwritten, or we're not 5488 * This piece is unwritten, or we're not
5489 * using unwritten extents. Skip over it. 5489 * using unwritten extents. Skip over it.
@@ -5535,7 +5535,7 @@ xfs_bunmapi(
5535 } else if ((del.br_startoff == start && 5535 } else if ((del.br_startoff == start &&
5536 (del.br_state == XFS_EXT_UNWRITTEN || 5536 (del.br_state == XFS_EXT_UNWRITTEN ||
5537 xfs_trans_get_block_res(tp) == 0)) || 5537 xfs_trans_get_block_res(tp) == 0)) ||
5538 !XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb)) { 5538 !xfs_sb_version_hasextflgbit(&mp->m_sb)) {
5539 /* 5539 /*
5540 * Can't make it unwritten. There isn't 5540 * Can't make it unwritten. There isn't
5541 * a full extent here so just skip it. 5541 * a full extent here so just skip it.
diff --git a/fs/xfs/xfs_bmap_btree.h b/fs/xfs/xfs_bmap_btree.h
index 2d950e97591..cd0d4b4bb81 100644
--- a/fs/xfs/xfs_bmap_btree.h
+++ b/fs/xfs/xfs_bmap_btree.h
@@ -120,7 +120,7 @@ typedef enum {
120 * Extent state and extent format macros. 120 * Extent state and extent format macros.
121 */ 121 */
122#define XFS_EXTFMT_INODE(x) \ 122#define XFS_EXTFMT_INODE(x) \
123 (XFS_SB_VERSION_HASEXTFLGBIT(&((x)->i_mount->m_sb)) ? \ 123 (xfs_sb_version_hasextflgbit(&((x)->i_mount->m_sb)) ? \
124 XFS_EXTFMT_HASSTATE : XFS_EXTFMT_NOSTATE) 124 XFS_EXTFMT_HASSTATE : XFS_EXTFMT_NOSTATE)
125#define ISUNWRITTEN(x) ((x)->br_state == XFS_EXT_UNWRITTEN) 125#define ISUNWRITTEN(x) ((x)->br_state == XFS_EXT_UNWRITTEN)
126 126
diff --git a/fs/xfs/xfs_dir2.c b/fs/xfs/xfs_dir2.c
index be7c4251fa6..e92e73f0e6a 100644
--- a/fs/xfs/xfs_dir2.c
+++ b/fs/xfs/xfs_dir2.c
@@ -49,7 +49,7 @@ void
49xfs_dir_mount( 49xfs_dir_mount(
50 xfs_mount_t *mp) 50 xfs_mount_t *mp)
51{ 51{
52 ASSERT(XFS_SB_VERSION_HASDIRV2(&mp->m_sb)); 52 ASSERT(xfs_sb_version_hasdirv2(&mp->m_sb));
53 ASSERT((1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) <= 53 ASSERT((1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) <=
54 XFS_MAX_BLOCKSIZE); 54 XFS_MAX_BLOCKSIZE);
55 mp->m_dirblksize = 1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog); 55 mp->m_dirblksize = 1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog);
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c
index eadc1591c79..d3a0f538d6a 100644
--- a/fs/xfs/xfs_fsops.c
+++ b/fs/xfs/xfs_fsops.c
@@ -77,36 +77,36 @@ xfs_fs_geometry(
77 if (new_version >= 3) { 77 if (new_version >= 3) {
78 geo->version = XFS_FSOP_GEOM_VERSION; 78 geo->version = XFS_FSOP_GEOM_VERSION;
79 geo->flags = 79 geo->flags =
80 (XFS_SB_VERSION_HASATTR(&mp->m_sb) ? 80 (xfs_sb_version_hasattr(&mp->m_sb) ?
81 XFS_FSOP_GEOM_FLAGS_ATTR : 0) | 81 XFS_FSOP_GEOM_FLAGS_ATTR : 0) |
82 (XFS_SB_VERSION_HASNLINK(&mp->m_sb) ? 82 (xfs_sb_version_hasnlink(&mp->m_sb) ?
83 XFS_FSOP_GEOM_FLAGS_NLINK : 0) | 83 XFS_FSOP_GEOM_FLAGS_NLINK : 0) |
84 (XFS_SB_VERSION_HASQUOTA(&mp->m_sb) ? 84 (xfs_sb_version_hasquota(&mp->m_sb) ?
85 XFS_FSOP_GEOM_FLAGS_QUOTA : 0) | 85 XFS_FSOP_GEOM_FLAGS_QUOTA : 0) |
86 (XFS_SB_VERSION_HASALIGN(&mp->m_sb) ? 86 (xfs_sb_version_hasalign(&mp->m_sb) ?
87 XFS_FSOP_GEOM_FLAGS_IALIGN : 0) | 87 XFS_FSOP_GEOM_FLAGS_IALIGN : 0) |
88 (XFS_SB_VERSION_HASDALIGN(&mp->m_sb) ? 88 (xfs_sb_version_hasdalign(&mp->m_sb) ?
89 XFS_FSOP_GEOM_FLAGS_DALIGN : 0) | 89 XFS_FSOP_GEOM_FLAGS_DALIGN : 0) |
90 (XFS_SB_VERSION_HASSHARED(&mp->m_sb) ? 90 (xfs_sb_version_hasshared(&mp->m_sb) ?
91 XFS_FSOP_GEOM_FLAGS_SHARED : 0) | 91 XFS_FSOP_GEOM_FLAGS_SHARED : 0) |
92 (XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb) ? 92 (xfs_sb_version_hasextflgbit(&mp->m_sb) ?
93 XFS_FSOP_GEOM_FLAGS_EXTFLG : 0) | 93 XFS_FSOP_GEOM_FLAGS_EXTFLG : 0) |
94 (XFS_SB_VERSION_HASDIRV2(&mp->m_sb) ? 94 (xfs_sb_version_hasdirv2(&mp->m_sb) ?
95 XFS_FSOP_GEOM_FLAGS_DIRV2 : 0) | 95 XFS_FSOP_GEOM_FLAGS_DIRV2 : 0) |
96 (XFS_SB_VERSION_HASSECTOR(&mp->m_sb) ? 96 (xfs_sb_version_hassector(&mp->m_sb) ?
97 XFS_FSOP_GEOM_FLAGS_SECTOR : 0) | 97 XFS_FSOP_GEOM_FLAGS_SECTOR : 0) |
98 (xfs_sb_version_haslazysbcount(&mp->m_sb) ? 98 (xfs_sb_version_haslazysbcount(&mp->m_sb) ?
99 XFS_FSOP_GEOM_FLAGS_LAZYSB : 0) | 99 XFS_FSOP_GEOM_FLAGS_LAZYSB : 0) |
100 (XFS_SB_VERSION_HASATTR2(&mp->m_sb) ? 100 (xfs_sb_version_hasattr2(&mp->m_sb) ?
101 XFS_FSOP_GEOM_FLAGS_ATTR2 : 0); 101 XFS_FSOP_GEOM_FLAGS_ATTR2 : 0);
102 geo->logsectsize = XFS_SB_VERSION_HASSECTOR(&mp->m_sb) ? 102 geo->logsectsize = xfs_sb_version_hassector(&mp->m_sb) ?
103 mp->m_sb.sb_logsectsize : BBSIZE; 103 mp->m_sb.sb_logsectsize : BBSIZE;
104 geo->rtsectsize = mp->m_sb.sb_blocksize; 104 geo->rtsectsize = mp->m_sb.sb_blocksize;
105 geo->dirblocksize = mp->m_dirblksize; 105 geo->dirblocksize = mp->m_dirblksize;
106 } 106 }
107 if (new_version >= 4) { 107 if (new_version >= 4) {
108 geo->flags |= 108 geo->flags |=
109 (XFS_SB_VERSION_HASLOGV2(&mp->m_sb) ? 109 (xfs_sb_version_haslogv2(&mp->m_sb) ?
110 XFS_FSOP_GEOM_FLAGS_LOGV2 : 0); 110 XFS_FSOP_GEOM_FLAGS_LOGV2 : 0);
111 geo->logsunit = mp->m_sb.sb_logsunit; 111 geo->logsunit = mp->m_sb.sb_logsunit;
112 } 112 }
diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c
index db9d5fa600a..5a146cb2298 100644
--- a/fs/xfs/xfs_ialloc.c
+++ b/fs/xfs/xfs_ialloc.c
@@ -191,7 +191,7 @@ xfs_ialloc_ag_alloc(
191 ASSERT(!(args.mp->m_flags & XFS_MOUNT_NOALIGN)); 191 ASSERT(!(args.mp->m_flags & XFS_MOUNT_NOALIGN));
192 args.alignment = args.mp->m_dalign; 192 args.alignment = args.mp->m_dalign;
193 isaligned = 1; 193 isaligned = 1;
194 } else if (XFS_SB_VERSION_HASALIGN(&args.mp->m_sb) && 194 } else if (xfs_sb_version_hasalign(&args.mp->m_sb) &&
195 args.mp->m_sb.sb_inoalignmt >= 195 args.mp->m_sb.sb_inoalignmt >=
196 XFS_B_TO_FSBT(args.mp, 196 XFS_B_TO_FSBT(args.mp,
197 XFS_INODE_CLUSTER_SIZE(args.mp))) 197 XFS_INODE_CLUSTER_SIZE(args.mp)))
@@ -230,7 +230,7 @@ xfs_ialloc_ag_alloc(
230 args.agbno = be32_to_cpu(agi->agi_root); 230 args.agbno = be32_to_cpu(agi->agi_root);
231 args.fsbno = XFS_AGB_TO_FSB(args.mp, 231 args.fsbno = XFS_AGB_TO_FSB(args.mp,
232 be32_to_cpu(agi->agi_seqno), args.agbno); 232 be32_to_cpu(agi->agi_seqno), args.agbno);
233 if (XFS_SB_VERSION_HASALIGN(&args.mp->m_sb) && 233 if (xfs_sb_version_hasalign(&args.mp->m_sb) &&
234 args.mp->m_sb.sb_inoalignmt >= 234 args.mp->m_sb.sb_inoalignmt >=
235 XFS_B_TO_FSBT(args.mp, XFS_INODE_CLUSTER_SIZE(args.mp))) 235 XFS_B_TO_FSBT(args.mp, XFS_INODE_CLUSTER_SIZE(args.mp)))
236 args.alignment = args.mp->m_sb.sb_inoalignmt; 236 args.alignment = args.mp->m_sb.sb_inoalignmt;
@@ -271,7 +271,7 @@ xfs_ialloc_ag_alloc(
271 * use the old version so that old kernels will continue to be 271 * use the old version so that old kernels will continue to be
272 * able to use the file system. 272 * able to use the file system.
273 */ 273 */
274 if (XFS_SB_VERSION_HASNLINK(&args.mp->m_sb)) 274 if (xfs_sb_version_hasnlink(&args.mp->m_sb))
275 version = XFS_DINODE_VERSION_2; 275 version = XFS_DINODE_VERSION_2;
276 else 276 else
277 version = XFS_DINODE_VERSION_1; 277 version = XFS_DINODE_VERSION_1;
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index a550546a708..f43a6e01d68 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1147,7 +1147,7 @@ xfs_ialloc(
1147 * the inode version number now. This way we only do the conversion 1147 * the inode version number now. This way we only do the conversion
1148 * here rather than here and in the flush/logging code. 1148 * here rather than here and in the flush/logging code.
1149 */ 1149 */
1150 if (XFS_SB_VERSION_HASNLINK(&tp->t_mountp->m_sb) && 1150 if (xfs_sb_version_hasnlink(&tp->t_mountp->m_sb) &&
1151 ip->i_d.di_version == XFS_DINODE_VERSION_1) { 1151 ip->i_d.di_version == XFS_DINODE_VERSION_1) {
1152 ip->i_d.di_version = XFS_DINODE_VERSION_2; 1152 ip->i_d.di_version = XFS_DINODE_VERSION_2;
1153 /* 1153 /*
@@ -3434,9 +3434,9 @@ xfs_iflush_int(
3434 * has been updated, then make the conversion permanent. 3434 * has been updated, then make the conversion permanent.
3435 */ 3435 */
3436 ASSERT(ip->i_d.di_version == XFS_DINODE_VERSION_1 || 3436 ASSERT(ip->i_d.di_version == XFS_DINODE_VERSION_1 ||
3437 XFS_SB_VERSION_HASNLINK(&mp->m_sb)); 3437 xfs_sb_version_hasnlink(&mp->m_sb));
3438 if (ip->i_d.di_version == XFS_DINODE_VERSION_1) { 3438 if (ip->i_d.di_version == XFS_DINODE_VERSION_1) {
3439 if (!XFS_SB_VERSION_HASNLINK(&mp->m_sb)) { 3439 if (!xfs_sb_version_hasnlink(&mp->m_sb)) {
3440 /* 3440 /*
3441 * Convert it back. 3441 * Convert it back.
3442 */ 3442 */
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c
index 034ca720229..2c775b4ae9e 100644
--- a/fs/xfs/xfs_inode_item.c
+++ b/fs/xfs/xfs_inode_item.c
@@ -296,9 +296,9 @@ xfs_inode_item_format(
296 */ 296 */
297 mp = ip->i_mount; 297 mp = ip->i_mount;
298 ASSERT(ip->i_d.di_version == XFS_DINODE_VERSION_1 || 298 ASSERT(ip->i_d.di_version == XFS_DINODE_VERSION_1 ||
299 XFS_SB_VERSION_HASNLINK(&mp->m_sb)); 299 xfs_sb_version_hasnlink(&mp->m_sb));
300 if (ip->i_d.di_version == XFS_DINODE_VERSION_1) { 300 if (ip->i_d.di_version == XFS_DINODE_VERSION_1) {
301 if (!XFS_SB_VERSION_HASNLINK(&mp->m_sb)) { 301 if (!xfs_sb_version_hasnlink(&mp->m_sb)) {
302 /* 302 /*
303 * Convert it back. 303 * Convert it back.
304 */ 304 */
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index 658aab6b1bb..f615e04364f 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -45,7 +45,7 @@ xfs_internal_inum(
45 xfs_ino_t ino) 45 xfs_ino_t ino)
46{ 46{
47 return (ino == mp->m_sb.sb_rbmino || ino == mp->m_sb.sb_rsumino || 47 return (ino == mp->m_sb.sb_rbmino || ino == mp->m_sb.sb_rsumino ||
48 (XFS_SB_VERSION_HASQUOTA(&mp->m_sb) && 48 (xfs_sb_version_hasquota(&mp->m_sb) &&
49 (ino == mp->m_sb.sb_uquotino || ino == mp->m_sb.sb_gquotino))); 49 (ino == mp->m_sb.sb_uquotino || ino == mp->m_sb.sb_gquotino)));
50} 50}
51 51
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index a75edca1860..31f2b04f2c9 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -1090,7 +1090,7 @@ xlog_get_iclog_buffer_size(xfs_mount_t *mp,
1090 size >>= 1; 1090 size >>= 1;
1091 } 1091 }
1092 1092
1093 if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { 1093 if (xfs_sb_version_haslogv2(&mp->m_sb)) {
1094 /* # headers = size / 32K 1094 /* # headers = size / 32K
1095 * one header holds cycles from 32K of data 1095 * one header holds cycles from 32K of data
1096 */ 1096 */
@@ -1186,13 +1186,13 @@ xlog_alloc_log(xfs_mount_t *mp,
1186 log->l_grant_reserve_cycle = 1; 1186 log->l_grant_reserve_cycle = 1;
1187 log->l_grant_write_cycle = 1; 1187 log->l_grant_write_cycle = 1;
1188 1188
1189 if (XFS_SB_VERSION_HASSECTOR(&mp->m_sb)) { 1189 if (xfs_sb_version_hassector(&mp->m_sb)) {
1190 log->l_sectbb_log = mp->m_sb.sb_logsectlog - BBSHIFT; 1190 log->l_sectbb_log = mp->m_sb.sb_logsectlog - BBSHIFT;
1191 ASSERT(log->l_sectbb_log <= mp->m_sectbb_log); 1191 ASSERT(log->l_sectbb_log <= mp->m_sectbb_log);
1192 /* for larger sector sizes, must have v2 or external log */ 1192 /* for larger sector sizes, must have v2 or external log */
1193 ASSERT(log->l_sectbb_log == 0 || 1193 ASSERT(log->l_sectbb_log == 0 ||
1194 log->l_logBBstart == 0 || 1194 log->l_logBBstart == 0 ||
1195 XFS_SB_VERSION_HASLOGV2(&mp->m_sb)); 1195 xfs_sb_version_haslogv2(&mp->m_sb));
1196 ASSERT(mp->m_sb.sb_logsectlog >= BBSHIFT); 1196 ASSERT(mp->m_sb.sb_logsectlog >= BBSHIFT);
1197 } 1197 }
1198 log->l_sectbb_mask = (1 << log->l_sectbb_log) - 1; 1198 log->l_sectbb_mask = (1 << log->l_sectbb_log) - 1;
@@ -1247,7 +1247,7 @@ xlog_alloc_log(xfs_mount_t *mp,
1247 memset(head, 0, sizeof(xlog_rec_header_t)); 1247 memset(head, 0, sizeof(xlog_rec_header_t));
1248 head->h_magicno = cpu_to_be32(XLOG_HEADER_MAGIC_NUM); 1248 head->h_magicno = cpu_to_be32(XLOG_HEADER_MAGIC_NUM);
1249 head->h_version = cpu_to_be32( 1249 head->h_version = cpu_to_be32(
1250 XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) ? 2 : 1); 1250 xfs_sb_version_haslogv2(&log->l_mp->m_sb) ? 2 : 1);
1251 head->h_size = cpu_to_be32(log->l_iclog_size); 1251 head->h_size = cpu_to_be32(log->l_iclog_size);
1252 /* new fields */ 1252 /* new fields */
1253 head->h_fmt = cpu_to_be32(XLOG_FMT); 1253 head->h_fmt = cpu_to_be32(XLOG_FMT);
@@ -1402,7 +1402,7 @@ xlog_sync(xlog_t *log,
1402 int roundoff; /* roundoff to BB or stripe */ 1402 int roundoff; /* roundoff to BB or stripe */
1403 int split = 0; /* split write into two regions */ 1403 int split = 0; /* split write into two regions */
1404 int error; 1404 int error;
1405 int v2 = XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb); 1405 int v2 = xfs_sb_version_haslogv2(&log->l_mp->m_sb);
1406 1406
1407 XFS_STATS_INC(xs_log_writes); 1407 XFS_STATS_INC(xs_log_writes);
1408 ASSERT(iclog->ic_refcnt == 0); 1408 ASSERT(iclog->ic_refcnt == 0);
@@ -2881,7 +2881,7 @@ xlog_state_switch_iclogs(xlog_t *log,
2881 log->l_curr_block += BTOBB(eventual_size)+BTOBB(log->l_iclog_hsize); 2881 log->l_curr_block += BTOBB(eventual_size)+BTOBB(log->l_iclog_hsize);
2882 2882
2883 /* Round up to next log-sunit */ 2883 /* Round up to next log-sunit */
2884 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) && 2884 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb) &&
2885 log->l_mp->m_sb.sb_logsunit > 1) { 2885 log->l_mp->m_sb.sb_logsunit > 1) {
2886 __uint32_t sunit_bb = BTOBB(log->l_mp->m_sb.sb_logsunit); 2886 __uint32_t sunit_bb = BTOBB(log->l_mp->m_sb.sb_logsunit);
2887 log->l_curr_block = roundup(log->l_curr_block, sunit_bb); 2887 log->l_curr_block = roundup(log->l_curr_block, sunit_bb);
@@ -3334,7 +3334,7 @@ xlog_ticket_get(xlog_t *log,
3334 unit_bytes += sizeof(xlog_op_header_t) * num_headers; 3334 unit_bytes += sizeof(xlog_op_header_t) * num_headers;
3335 3335
3336 /* for roundoff padding for transaction data and one for commit record */ 3336 /* for roundoff padding for transaction data and one for commit record */
3337 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) && 3337 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb) &&
3338 log->l_mp->m_sb.sb_logsunit > 1) { 3338 log->l_mp->m_sb.sb_logsunit > 1) {
3339 /* log su roundoff */ 3339 /* log su roundoff */
3340 unit_bytes += 2*log->l_mp->m_sb.sb_logsunit; 3340 unit_bytes += 2*log->l_mp->m_sb.sb_logsunit;
diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h
index e008233ee24..c6244cc733c 100644
--- a/fs/xfs/xfs_log_priv.h
+++ b/fs/xfs/xfs_log_priv.h
@@ -49,10 +49,10 @@ struct xfs_mount;
49#define XLOG_HEADER_SIZE 512 49#define XLOG_HEADER_SIZE 512
50 50
51#define XLOG_REC_SHIFT(log) \ 51#define XLOG_REC_SHIFT(log) \
52 BTOBB(1 << (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) ? \ 52 BTOBB(1 << (xfs_sb_version_haslogv2(&log->l_mp->m_sb) ? \
53 XLOG_MAX_RECORD_BSHIFT : XLOG_BIG_RECORD_BSHIFT)) 53 XLOG_MAX_RECORD_BSHIFT : XLOG_BIG_RECORD_BSHIFT))
54#define XLOG_TOTAL_REC_SHIFT(log) \ 54#define XLOG_TOTAL_REC_SHIFT(log) \
55 BTOBB(XLOG_MAX_ICLOGS << (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) ? \ 55 BTOBB(XLOG_MAX_ICLOGS << (xfs_sb_version_haslogv2(&log->l_mp->m_sb) ? \
56 XLOG_MAX_RECORD_BSHIFT : XLOG_BIG_RECORD_BSHIFT)) 56 XLOG_MAX_RECORD_BSHIFT : XLOG_BIG_RECORD_BSHIFT))
57 57
58 58
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index b82d5d4d246..b2b70eba282 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -478,7 +478,7 @@ xlog_find_verify_log_record(
478 * reset last_blk. Only when last_blk points in the middle of a log 478 * reset last_blk. Only when last_blk points in the middle of a log
479 * record do we update last_blk. 479 * record do we update last_blk.
480 */ 480 */
481 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 481 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
482 uint h_size = be32_to_cpu(head->h_size); 482 uint h_size = be32_to_cpu(head->h_size);
483 483
484 xhdrs = h_size / XLOG_HEADER_CYCLE_SIZE; 484 xhdrs = h_size / XLOG_HEADER_CYCLE_SIZE;
@@ -888,7 +888,7 @@ xlog_find_tail(
888 * unmount record if there is one, so we pass the lsn of the 888 * unmount record if there is one, so we pass the lsn of the
889 * unmount record rather than the block after it. 889 * unmount record rather than the block after it.
890 */ 890 */
891 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 891 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
892 int h_size = be32_to_cpu(rhead->h_size); 892 int h_size = be32_to_cpu(rhead->h_size);
893 int h_version = be32_to_cpu(rhead->h_version); 893 int h_version = be32_to_cpu(rhead->h_version);
894 894
@@ -1101,7 +1101,7 @@ xlog_add_record(
1101 recp->h_magicno = cpu_to_be32(XLOG_HEADER_MAGIC_NUM); 1101 recp->h_magicno = cpu_to_be32(XLOG_HEADER_MAGIC_NUM);
1102 recp->h_cycle = cpu_to_be32(cycle); 1102 recp->h_cycle = cpu_to_be32(cycle);
1103 recp->h_version = cpu_to_be32( 1103 recp->h_version = cpu_to_be32(
1104 XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) ? 2 : 1); 1104 xfs_sb_version_haslogv2(&log->l_mp->m_sb) ? 2 : 1);
1105 recp->h_lsn = cpu_to_be64(xlog_assign_lsn(cycle, block)); 1105 recp->h_lsn = cpu_to_be64(xlog_assign_lsn(cycle, block));
1106 recp->h_tail_lsn = cpu_to_be64(xlog_assign_lsn(tail_cycle, tail_block)); 1106 recp->h_tail_lsn = cpu_to_be64(xlog_assign_lsn(tail_cycle, tail_block));
1107 recp->h_fmt = cpu_to_be32(XLOG_FMT); 1107 recp->h_fmt = cpu_to_be32(XLOG_FMT);
@@ -3348,7 +3348,7 @@ xlog_pack_data(
3348 dp += BBSIZE; 3348 dp += BBSIZE;
3349 } 3349 }
3350 3350
3351 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 3351 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
3352 xhdr = (xlog_in_core_2_t *)&iclog->ic_header; 3352 xhdr = (xlog_in_core_2_t *)&iclog->ic_header;
3353 for ( ; i < BTOBB(size); i++) { 3353 for ( ; i < BTOBB(size); i++) {
3354 j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); 3354 j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE);
@@ -3388,7 +3388,7 @@ xlog_unpack_data_checksum(
3388 be32_to_cpu(rhead->h_chksum), chksum); 3388 be32_to_cpu(rhead->h_chksum), chksum);
3389 cmn_err(CE_DEBUG, 3389 cmn_err(CE_DEBUG,
3390"XFS: Disregard message if filesystem was created with non-DEBUG kernel"); 3390"XFS: Disregard message if filesystem was created with non-DEBUG kernel");
3391 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 3391 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
3392 cmn_err(CE_DEBUG, 3392 cmn_err(CE_DEBUG,
3393 "XFS: LogR this is a LogV2 filesystem\n"); 3393 "XFS: LogR this is a LogV2 filesystem\n");
3394 } 3394 }
@@ -3415,7 +3415,7 @@ xlog_unpack_data(
3415 dp += BBSIZE; 3415 dp += BBSIZE;
3416 } 3416 }
3417 3417
3418 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 3418 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
3419 xhdr = (xlog_in_core_2_t *)rhead; 3419 xhdr = (xlog_in_core_2_t *)rhead;
3420 for ( ; i < BTOBB(be32_to_cpu(rhead->h_len)); i++) { 3420 for ( ; i < BTOBB(be32_to_cpu(rhead->h_len)); i++) {
3421 j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); 3421 j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE);
@@ -3494,7 +3494,7 @@ xlog_do_recovery_pass(
3494 * Read the header of the tail block and get the iclog buffer size from 3494 * Read the header of the tail block and get the iclog buffer size from
3495 * h_size. Use this to tell how many sectors make up the log header. 3495 * h_size. Use this to tell how many sectors make up the log header.
3496 */ 3496 */
3497 if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { 3497 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) {
3498 /* 3498 /*
3499 * When using variable length iclogs, read first sector of 3499 * When using variable length iclogs, read first sector of
3500 * iclog header and extract the header size from it. Get a 3500 * iclog header and extract the header size from it. Get a
@@ -3838,7 +3838,7 @@ xlog_do_recover(
3838 sbp = &log->l_mp->m_sb; 3838 sbp = &log->l_mp->m_sb;
3839 xfs_sb_from_disk(sbp, XFS_BUF_TO_SBP(bp)); 3839 xfs_sb_from_disk(sbp, XFS_BUF_TO_SBP(bp));
3840 ASSERT(sbp->sb_magicnum == XFS_SB_MAGIC); 3840 ASSERT(sbp->sb_magicnum == XFS_SB_MAGIC);
3841 ASSERT(XFS_SB_GOOD_VERSION(sbp)); 3841 ASSERT(xfs_sb_good_version(sbp));
3842 xfs_buf_relse(bp); 3842 xfs_buf_relse(bp);
3843 3843
3844 /* We've re-read the superblock so re-initialize per-cpu counters */ 3844 /* We've re-read the superblock so re-initialize per-cpu counters */
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 6409b376299..8ed164eb954 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -44,7 +44,7 @@
44#include "xfs_quota.h" 44#include "xfs_quota.h"
45#include "xfs_fsops.h" 45#include "xfs_fsops.h"
46 46
47STATIC void xfs_mount_log_sbunit(xfs_mount_t *, __int64_t); 47STATIC void xfs_mount_log_sb(xfs_mount_t *, __int64_t);
48STATIC int xfs_uuid_mount(xfs_mount_t *); 48STATIC int xfs_uuid_mount(xfs_mount_t *);
49STATIC void xfs_uuid_unmount(xfs_mount_t *mp); 49STATIC void xfs_uuid_unmount(xfs_mount_t *mp);
50STATIC void xfs_unmountfs_wait(xfs_mount_t *); 50STATIC void xfs_unmountfs_wait(xfs_mount_t *);
@@ -119,6 +119,7 @@ static const struct {
119 { offsetof(xfs_sb_t, sb_logsectsize),0 }, 119 { offsetof(xfs_sb_t, sb_logsectsize),0 },
120 { offsetof(xfs_sb_t, sb_logsunit), 0 }, 120 { offsetof(xfs_sb_t, sb_logsunit), 0 },
121 { offsetof(xfs_sb_t, sb_features2), 0 }, 121 { offsetof(xfs_sb_t, sb_features2), 0 },
122 { offsetof(xfs_sb_t, sb_bad_features2), 0 },
122 { sizeof(xfs_sb_t), 0 } 123 { sizeof(xfs_sb_t), 0 }
123}; 124};
124 125
@@ -225,7 +226,7 @@ xfs_mount_validate_sb(
225 return XFS_ERROR(EWRONGFS); 226 return XFS_ERROR(EWRONGFS);
226 } 227 }
227 228
228 if (!XFS_SB_GOOD_VERSION(sbp)) { 229 if (!xfs_sb_good_version(sbp)) {
229 xfs_fs_mount_cmn_err(flags, "bad version"); 230 xfs_fs_mount_cmn_err(flags, "bad version");
230 return XFS_ERROR(EWRONGFS); 231 return XFS_ERROR(EWRONGFS);
231 } 232 }
@@ -300,7 +301,7 @@ xfs_mount_validate_sb(
300 /* 301 /*
301 * Version 1 directory format has never worked on Linux. 302 * Version 1 directory format has never worked on Linux.
302 */ 303 */
303 if (unlikely(!XFS_SB_VERSION_HASDIRV2(sbp))) { 304 if (unlikely(!xfs_sb_version_hasdirv2(sbp))) {
304 xfs_fs_mount_cmn_err(flags, 305 xfs_fs_mount_cmn_err(flags,
305 "file system using version 1 directory format"); 306 "file system using version 1 directory format");
306 return XFS_ERROR(ENOSYS); 307 return XFS_ERROR(ENOSYS);
@@ -449,6 +450,7 @@ xfs_sb_from_disk(
449 to->sb_logsectsize = be16_to_cpu(from->sb_logsectsize); 450 to->sb_logsectsize = be16_to_cpu(from->sb_logsectsize);
450 to->sb_logsunit = be32_to_cpu(from->sb_logsunit); 451 to->sb_logsunit = be32_to_cpu(from->sb_logsunit);
451 to->sb_features2 = be32_to_cpu(from->sb_features2); 452 to->sb_features2 = be32_to_cpu(from->sb_features2);
453 to->sb_bad_features2 = be32_to_cpu(from->sb_bad_features2);
452} 454}
453 455
454/* 456/*
@@ -781,7 +783,7 @@ xfs_update_alignment(xfs_mount_t *mp, int mfsi_flags, __uint64_t *update_flags)
781 * Update superblock with new values 783 * Update superblock with new values
782 * and log changes 784 * and log changes
783 */ 785 */
784 if (XFS_SB_VERSION_HASDALIGN(sbp)) { 786 if (xfs_sb_version_hasdalign(sbp)) {
785 if (sbp->sb_unit != mp->m_dalign) { 787 if (sbp->sb_unit != mp->m_dalign) {
786 sbp->sb_unit = mp->m_dalign; 788 sbp->sb_unit = mp->m_dalign;
787 *update_flags |= XFS_SB_UNIT; 789 *update_flags |= XFS_SB_UNIT;
@@ -792,7 +794,7 @@ xfs_update_alignment(xfs_mount_t *mp, int mfsi_flags, __uint64_t *update_flags)
792 } 794 }
793 } 795 }
794 } else if ((mp->m_flags & XFS_MOUNT_NOALIGN) != XFS_MOUNT_NOALIGN && 796 } else if ((mp->m_flags & XFS_MOUNT_NOALIGN) != XFS_MOUNT_NOALIGN &&
795 XFS_SB_VERSION_HASDALIGN(&mp->m_sb)) { 797 xfs_sb_version_hasdalign(&mp->m_sb)) {
796 mp->m_dalign = sbp->sb_unit; 798 mp->m_dalign = sbp->sb_unit;
797 mp->m_swidth = sbp->sb_width; 799 mp->m_swidth = sbp->sb_width;
798 } 800 }
@@ -869,7 +871,7 @@ xfs_set_rw_sizes(xfs_mount_t *mp)
869STATIC void 871STATIC void
870xfs_set_inoalignment(xfs_mount_t *mp) 872xfs_set_inoalignment(xfs_mount_t *mp)
871{ 873{
872 if (XFS_SB_VERSION_HASALIGN(&mp->m_sb) && 874 if (xfs_sb_version_hasalign(&mp->m_sb) &&
873 mp->m_sb.sb_inoalignmt >= 875 mp->m_sb.sb_inoalignmt >=
874 XFS_B_TO_FSBT(mp, mp->m_inode_cluster_size)) 876 XFS_B_TO_FSBT(mp, mp->m_inode_cluster_size))
875 mp->m_inoalign_mask = mp->m_sb.sb_inoalignmt - 1; 877 mp->m_inoalign_mask = mp->m_sb.sb_inoalignmt - 1;
@@ -970,6 +972,38 @@ xfs_mountfs(
970 xfs_mount_common(mp, sbp); 972 xfs_mount_common(mp, sbp);
971 973
972 /* 974 /*
975 * Check for a mismatched features2 values. Older kernels
976 * read & wrote into the wrong sb offset for sb_features2
977 * on some platforms due to xfs_sb_t not being 64bit size aligned
978 * when sb_features2 was added, which made older superblock
979 * reading/writing routines swap it as a 64-bit value.
980 *
981 * For backwards compatibility, we make both slots equal.
982 *
983 * If we detect a mismatched field, we OR the set bits into the
984 * existing features2 field in case it has already been modified; we
985 * don't want to lose any features. We then update the bad location
986 * with the ORed value so that older kernels will see any features2
987 * flags, and mark the two fields as needing updates once the
988 * transaction subsystem is online.
989 */
990 if (xfs_sb_has_mismatched_features2(sbp)) {
991 cmn_err(CE_WARN,
992 "XFS: correcting sb_features alignment problem");
993 sbp->sb_features2 |= sbp->sb_bad_features2;
994 sbp->sb_bad_features2 = sbp->sb_features2;
995 update_flags |= XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2;
996
997 /*
998 * Re-check for ATTR2 in case it was found in bad_features2
999 * slot.
1000 */
1001 if (xfs_sb_version_hasattr2(&mp->m_sb))
1002 mp->m_flags |= XFS_MOUNT_ATTR2;
1003
1004 }
1005
1006 /*
973 * Check if sb_agblocks is aligned at stripe boundary 1007 * Check if sb_agblocks is aligned at stripe boundary
974 * If sb_agblocks is NOT aligned turn off m_dalign since 1008 * If sb_agblocks is NOT aligned turn off m_dalign since
975 * allocator alignment is within an ag, therefore ag has 1009 * allocator alignment is within an ag, therefore ag has
@@ -1159,11 +1193,10 @@ xfs_mountfs(
1159 } 1193 }
1160 1194
1161 /* 1195 /*
1162 * If fs is not mounted readonly, then update the superblock 1196 * If fs is not mounted readonly, then update the superblock changes.
1163 * unit and width changes.
1164 */ 1197 */
1165 if (update_flags && !(mp->m_flags & XFS_MOUNT_RDONLY)) 1198 if (update_flags && !(mp->m_flags & XFS_MOUNT_RDONLY))
1166 xfs_mount_log_sbunit(mp, update_flags); 1199 xfs_mount_log_sb(mp, update_flags);
1167 1200
1168 /* 1201 /*
1169 * Initialise the XFS quota management subsystem for this mount 1202 * Initialise the XFS quota management subsystem for this mount
@@ -1875,16 +1908,18 @@ xfs_uuid_unmount(
1875 1908
1876/* 1909/*
1877 * Used to log changes to the superblock unit and width fields which could 1910 * Used to log changes to the superblock unit and width fields which could
1878 * be altered by the mount options. Only the first superblock is updated. 1911 * be altered by the mount options, as well as any potential sb_features2
1912 * fixup. Only the first superblock is updated.
1879 */ 1913 */
1880STATIC void 1914STATIC void
1881xfs_mount_log_sbunit( 1915xfs_mount_log_sb(
1882 xfs_mount_t *mp, 1916 xfs_mount_t *mp,
1883 __int64_t fields) 1917 __int64_t fields)
1884{ 1918{
1885 xfs_trans_t *tp; 1919 xfs_trans_t *tp;
1886 1920
1887 ASSERT(fields & (XFS_SB_UNIT|XFS_SB_WIDTH|XFS_SB_UUID)); 1921 ASSERT(fields & (XFS_SB_UNIT | XFS_SB_WIDTH | XFS_SB_UUID |
1922 XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2));
1888 1923
1889 tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT); 1924 tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT);
1890 if (xfs_trans_reserve(tp, 0, mp->m_sb.sb_sectsize + 128, 0, 0, 1925 if (xfs_trans_reserve(tp, 0, mp->m_sb.sb_sectsize + 128, 0, 0,
diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h
index 94660b1a6cc..d904efe7f87 100644
--- a/fs/xfs/xfs_sb.h
+++ b/fs/xfs/xfs_sb.h
@@ -89,6 +89,7 @@ struct xfs_mount;
89 89
90/* 90/*
91 * Superblock - in core version. Must match the ondisk version below. 91 * Superblock - in core version. Must match the ondisk version below.
92 * Must be padded to 64 bit alignment.
92 */ 93 */
93typedef struct xfs_sb { 94typedef struct xfs_sb {
94 __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ 95 __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
@@ -145,10 +146,21 @@ typedef struct xfs_sb {
145 __uint16_t sb_logsectsize; /* sector size for the log, bytes */ 146 __uint16_t sb_logsectsize; /* sector size for the log, bytes */
146 __uint32_t sb_logsunit; /* stripe unit size for the log */ 147 __uint32_t sb_logsunit; /* stripe unit size for the log */
147 __uint32_t sb_features2; /* additional feature bits */ 148 __uint32_t sb_features2; /* additional feature bits */
149
150 /*
151 * bad features2 field as a result of failing to pad the sb
152 * structure to 64 bits. Some machines will be using this field
153 * for features2 bits. Easiest just to mark it bad and not use
154 * it for anything else.
155 */
156 __uint32_t sb_bad_features2;
157
158 /* must be padded to 64 bit alignment */
148} xfs_sb_t; 159} xfs_sb_t;
149 160
150/* 161/*
151 * Superblock - on disk version. Must match the in core version below. 162 * Superblock - on disk version. Must match the in core version above.
163 * Must be padded to 64 bit alignment.
152 */ 164 */
153typedef struct xfs_dsb { 165typedef struct xfs_dsb {
154 __be32 sb_magicnum; /* magic number == XFS_SB_MAGIC */ 166 __be32 sb_magicnum; /* magic number == XFS_SB_MAGIC */
@@ -205,6 +217,15 @@ typedef struct xfs_dsb {
205 __be16 sb_logsectsize; /* sector size for the log, bytes */ 217 __be16 sb_logsectsize; /* sector size for the log, bytes */
206 __be32 sb_logsunit; /* stripe unit size for the log */ 218 __be32 sb_logsunit; /* stripe unit size for the log */
207 __be32 sb_features2; /* additional feature bits */ 219 __be32 sb_features2; /* additional feature bits */
220 /*
221 * bad features2 field as a result of failing to pad the sb
222 * structure to 64 bits. Some machines will be using this field
223 * for features2 bits. Easiest just to mark it bad and not use
224 * it for anything else.
225 */
226 __be32 sb_bad_features2;
227
228 /* must be padded to 64 bit alignment */
208} xfs_dsb_t; 229} xfs_dsb_t;
209 230
210/* 231/*
@@ -223,7 +244,7 @@ typedef enum {
223 XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS, XFS_SBS_SHARED_VN, 244 XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS, XFS_SBS_SHARED_VN,
224 XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH, XFS_SBS_DIRBLKLOG, 245 XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH, XFS_SBS_DIRBLKLOG,
225 XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT, 246 XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT,
226 XFS_SBS_FEATURES2, 247 XFS_SBS_FEATURES2, XFS_SBS_BAD_FEATURES2,
227 XFS_SBS_FIELDCOUNT 248 XFS_SBS_FIELDCOUNT
228} xfs_sb_field_t; 249} xfs_sb_field_t;
229 250
@@ -248,13 +269,15 @@ typedef enum {
248#define XFS_SB_IFREE XFS_SB_MVAL(IFREE) 269#define XFS_SB_IFREE XFS_SB_MVAL(IFREE)
249#define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS) 270#define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS)
250#define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2) 271#define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2)
272#define XFS_SB_BAD_FEATURES2 XFS_SB_MVAL(BAD_FEATURES2)
251#define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) 273#define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT)
252#define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) 274#define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1)
253#define XFS_SB_MOD_BITS \ 275#define XFS_SB_MOD_BITS \
254 (XFS_SB_UUID | XFS_SB_ROOTINO | XFS_SB_RBMINO | XFS_SB_RSUMINO | \ 276 (XFS_SB_UUID | XFS_SB_ROOTINO | XFS_SB_RBMINO | XFS_SB_RSUMINO | \
255 XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \ 277 XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \
256 XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \ 278 XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \
257 XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2) 279 XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \
280 XFS_SB_BAD_FEATURES2)
258 281
259 282
260/* 283/*
@@ -271,7 +294,6 @@ typedef enum {
271 294
272#define XFS_SB_VERSION_NUM(sbp) ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS) 295#define XFS_SB_VERSION_NUM(sbp) ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS)
273 296
274#define XFS_SB_GOOD_VERSION(sbp) xfs_sb_good_version(sbp)
275#ifdef __KERNEL__ 297#ifdef __KERNEL__
276static inline int xfs_sb_good_version(xfs_sb_t *sbp) 298static inline int xfs_sb_good_version(xfs_sb_t *sbp)
277{ 299{
@@ -297,7 +319,15 @@ static inline int xfs_sb_good_version(xfs_sb_t *sbp)
297} 319}
298#endif /* __KERNEL__ */ 320#endif /* __KERNEL__ */
299 321
300#define XFS_SB_VERSION_TONEW(v) xfs_sb_version_tonew(v) 322/*
323 * Detect a mismatched features2 field. Older kernels read/wrote
324 * this into the wrong slot, so to be safe we keep them in sync.
325 */
326static inline int xfs_sb_has_mismatched_features2(xfs_sb_t *sbp)
327{
328 return (sbp->sb_bad_features2 != sbp->sb_features2);
329}
330
301static inline unsigned xfs_sb_version_tonew(unsigned v) 331static inline unsigned xfs_sb_version_tonew(unsigned v)
302{ 332{
303 return ((((v) == XFS_SB_VERSION_1) ? \ 333 return ((((v) == XFS_SB_VERSION_1) ? \
@@ -308,7 +338,6 @@ static inline unsigned xfs_sb_version_tonew(unsigned v)
308 XFS_SB_VERSION_4); 338 XFS_SB_VERSION_4);
309} 339}
310 340
311#define XFS_SB_VERSION_TOOLD(v) xfs_sb_version_toold(v)
312static inline unsigned xfs_sb_version_toold(unsigned v) 341static inline unsigned xfs_sb_version_toold(unsigned v)
313{ 342{
314 return (((v) & (XFS_SB_VERSION_QUOTABIT | XFS_SB_VERSION_ALIGNBIT)) ? \ 343 return (((v) & (XFS_SB_VERSION_QUOTABIT | XFS_SB_VERSION_ALIGNBIT)) ? \
@@ -320,7 +349,6 @@ static inline unsigned xfs_sb_version_toold(unsigned v)
320 XFS_SB_VERSION_1))); 349 XFS_SB_VERSION_1)));
321} 350}
322 351
323#define XFS_SB_VERSION_HASATTR(sbp) xfs_sb_version_hasattr(sbp)
324static inline int xfs_sb_version_hasattr(xfs_sb_t *sbp) 352static inline int xfs_sb_version_hasattr(xfs_sb_t *sbp)
325{ 353{
326 return ((sbp)->sb_versionnum == XFS_SB_VERSION_2) || \ 354 return ((sbp)->sb_versionnum == XFS_SB_VERSION_2) || \
@@ -329,7 +357,6 @@ static inline int xfs_sb_version_hasattr(xfs_sb_t *sbp)
329 ((sbp)->sb_versionnum & XFS_SB_VERSION_ATTRBIT)); 357 ((sbp)->sb_versionnum & XFS_SB_VERSION_ATTRBIT));
330} 358}
331 359
332#define XFS_SB_VERSION_ADDATTR(sbp) xfs_sb_version_addattr(sbp)
333static inline void xfs_sb_version_addattr(xfs_sb_t *sbp) 360static inline void xfs_sb_version_addattr(xfs_sb_t *sbp)
334{ 361{
335 (sbp)->sb_versionnum = (((sbp)->sb_versionnum == XFS_SB_VERSION_1) ? \ 362 (sbp)->sb_versionnum = (((sbp)->sb_versionnum == XFS_SB_VERSION_1) ? \
@@ -339,7 +366,6 @@ static inline void xfs_sb_version_addattr(xfs_sb_t *sbp)
339 (XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT))); 366 (XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT)));
340} 367}
341 368
342#define XFS_SB_VERSION_HASNLINK(sbp) xfs_sb_version_hasnlink(sbp)
343static inline int xfs_sb_version_hasnlink(xfs_sb_t *sbp) 369static inline int xfs_sb_version_hasnlink(xfs_sb_t *sbp)
344{ 370{
345 return ((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \ 371 return ((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \
@@ -347,7 +373,6 @@ static inline int xfs_sb_version_hasnlink(xfs_sb_t *sbp)
347 ((sbp)->sb_versionnum & XFS_SB_VERSION_NLINKBIT)); 373 ((sbp)->sb_versionnum & XFS_SB_VERSION_NLINKBIT));
348} 374}
349 375
350#define XFS_SB_VERSION_ADDNLINK(sbp) xfs_sb_version_addnlink(sbp)
351static inline void xfs_sb_version_addnlink(xfs_sb_t *sbp) 376static inline void xfs_sb_version_addnlink(xfs_sb_t *sbp)
352{ 377{
353 (sbp)->sb_versionnum = ((sbp)->sb_versionnum <= XFS_SB_VERSION_2 ? \ 378 (sbp)->sb_versionnum = ((sbp)->sb_versionnum <= XFS_SB_VERSION_2 ? \
@@ -355,115 +380,63 @@ static inline void xfs_sb_version_addnlink(xfs_sb_t *sbp)
355 ((sbp)->sb_versionnum | XFS_SB_VERSION_NLINKBIT)); 380 ((sbp)->sb_versionnum | XFS_SB_VERSION_NLINKBIT));
356} 381}
357 382
358#define XFS_SB_VERSION_HASQUOTA(sbp) xfs_sb_version_hasquota(sbp)
359static inline int xfs_sb_version_hasquota(xfs_sb_t *sbp) 383static inline int xfs_sb_version_hasquota(xfs_sb_t *sbp)
360{ 384{
361 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 385 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
362 ((sbp)->sb_versionnum & XFS_SB_VERSION_QUOTABIT); 386 ((sbp)->sb_versionnum & XFS_SB_VERSION_QUOTABIT);
363} 387}
364 388
365#define XFS_SB_VERSION_ADDQUOTA(sbp) xfs_sb_version_addquota(sbp)
366static inline void xfs_sb_version_addquota(xfs_sb_t *sbp) 389static inline void xfs_sb_version_addquota(xfs_sb_t *sbp)
367{ 390{
368 (sbp)->sb_versionnum = \ 391 (sbp)->sb_versionnum = \
369 (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 ? \ 392 (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 ? \
370 ((sbp)->sb_versionnum | XFS_SB_VERSION_QUOTABIT) : \ 393 ((sbp)->sb_versionnum | XFS_SB_VERSION_QUOTABIT) : \
371 (XFS_SB_VERSION_TONEW((sbp)->sb_versionnum) | \ 394 (xfs_sb_version_tonew((sbp)->sb_versionnum) | \
372 XFS_SB_VERSION_QUOTABIT)); 395 XFS_SB_VERSION_QUOTABIT));
373} 396}
374 397
375#define XFS_SB_VERSION_HASALIGN(sbp) xfs_sb_version_hasalign(sbp)
376static inline int xfs_sb_version_hasalign(xfs_sb_t *sbp) 398static inline int xfs_sb_version_hasalign(xfs_sb_t *sbp)
377{ 399{
378 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 400 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
379 ((sbp)->sb_versionnum & XFS_SB_VERSION_ALIGNBIT); 401 ((sbp)->sb_versionnum & XFS_SB_VERSION_ALIGNBIT);
380} 402}
381 403
382#define XFS_SB_VERSION_SUBALIGN(sbp) xfs_sb_version_subalign(sbp)
383static inline void xfs_sb_version_subalign(xfs_sb_t *sbp)
384{
385 (sbp)->sb_versionnum = \
386 XFS_SB_VERSION_TOOLD((sbp)->sb_versionnum & ~XFS_SB_VERSION_ALIGNBIT);
387}
388
389#define XFS_SB_VERSION_HASDALIGN(sbp) xfs_sb_version_hasdalign(sbp)
390static inline int xfs_sb_version_hasdalign(xfs_sb_t *sbp) 404static inline int xfs_sb_version_hasdalign(xfs_sb_t *sbp)
391{ 405{
392 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 406 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
393 ((sbp)->sb_versionnum & XFS_SB_VERSION_DALIGNBIT); 407 ((sbp)->sb_versionnum & XFS_SB_VERSION_DALIGNBIT);
394} 408}
395 409
396#define XFS_SB_VERSION_ADDDALIGN(sbp) xfs_sb_version_adddalign(sbp)
397static inline int xfs_sb_version_adddalign(xfs_sb_t *sbp)
398{
399 return (sbp)->sb_versionnum = \
400 ((sbp)->sb_versionnum | XFS_SB_VERSION_DALIGNBIT);
401}
402
403#define XFS_SB_VERSION_HASSHARED(sbp) xfs_sb_version_hasshared(sbp)
404static inline int xfs_sb_version_hasshared(xfs_sb_t *sbp) 410static inline int xfs_sb_version_hasshared(xfs_sb_t *sbp)
405{ 411{
406 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 412 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
407 ((sbp)->sb_versionnum & XFS_SB_VERSION_SHAREDBIT); 413 ((sbp)->sb_versionnum & XFS_SB_VERSION_SHAREDBIT);
408} 414}
409 415
410#define XFS_SB_VERSION_ADDSHARED(sbp) xfs_sb_version_addshared(sbp)
411static inline int xfs_sb_version_addshared(xfs_sb_t *sbp)
412{
413 return (sbp)->sb_versionnum = \
414 ((sbp)->sb_versionnum | XFS_SB_VERSION_SHAREDBIT);
415}
416
417#define XFS_SB_VERSION_SUBSHARED(sbp) xfs_sb_version_subshared(sbp)
418static inline int xfs_sb_version_subshared(xfs_sb_t *sbp)
419{
420 return (sbp)->sb_versionnum = \
421 ((sbp)->sb_versionnum & ~XFS_SB_VERSION_SHAREDBIT);
422}
423
424#define XFS_SB_VERSION_HASDIRV2(sbp) xfs_sb_version_hasdirv2(sbp)
425static inline int xfs_sb_version_hasdirv2(xfs_sb_t *sbp) 416static inline int xfs_sb_version_hasdirv2(xfs_sb_t *sbp)
426{ 417{
427 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 418 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
428 ((sbp)->sb_versionnum & XFS_SB_VERSION_DIRV2BIT); 419 ((sbp)->sb_versionnum & XFS_SB_VERSION_DIRV2BIT);
429} 420}
430 421
431#define XFS_SB_VERSION_HASLOGV2(sbp) xfs_sb_version_haslogv2(sbp)
432static inline int xfs_sb_version_haslogv2(xfs_sb_t *sbp) 422static inline int xfs_sb_version_haslogv2(xfs_sb_t *sbp)
433{ 423{
434 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 424 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
435 ((sbp)->sb_versionnum & XFS_SB_VERSION_LOGV2BIT); 425 ((sbp)->sb_versionnum & XFS_SB_VERSION_LOGV2BIT);
436} 426}
437 427
438#define XFS_SB_VERSION_HASEXTFLGBIT(sbp) xfs_sb_version_hasextflgbit(sbp)
439static inline int xfs_sb_version_hasextflgbit(xfs_sb_t *sbp) 428static inline int xfs_sb_version_hasextflgbit(xfs_sb_t *sbp)
440{ 429{
441 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 430 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
442 ((sbp)->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT); 431 ((sbp)->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT);
443} 432}
444 433
445#define XFS_SB_VERSION_ADDEXTFLGBIT(sbp) xfs_sb_version_addextflgbit(sbp)
446static inline int xfs_sb_version_addextflgbit(xfs_sb_t *sbp)
447{
448 return (sbp)->sb_versionnum = \
449 ((sbp)->sb_versionnum | XFS_SB_VERSION_EXTFLGBIT);
450}
451
452#define XFS_SB_VERSION_SUBEXTFLGBIT(sbp) xfs_sb_version_subextflgbit(sbp)
453static inline int xfs_sb_version_subextflgbit(xfs_sb_t *sbp)
454{
455 return (sbp)->sb_versionnum = \
456 ((sbp)->sb_versionnum & ~XFS_SB_VERSION_EXTFLGBIT);
457}
458
459#define XFS_SB_VERSION_HASSECTOR(sbp) xfs_sb_version_hassector(sbp)
460static inline int xfs_sb_version_hassector(xfs_sb_t *sbp) 434static inline int xfs_sb_version_hassector(xfs_sb_t *sbp)
461{ 435{
462 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 436 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
463 ((sbp)->sb_versionnum & XFS_SB_VERSION_SECTORBIT); 437 ((sbp)->sb_versionnum & XFS_SB_VERSION_SECTORBIT);
464} 438}
465 439
466#define XFS_SB_VERSION_HASMOREBITS(sbp) xfs_sb_version_hasmorebits(sbp)
467static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp) 440static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp)
468{ 441{
469 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ 442 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \
@@ -476,24 +449,22 @@ static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp)
476 * For example, for a bit defined as XFS_SB_VERSION2_FUNBIT, has a macro: 449 * For example, for a bit defined as XFS_SB_VERSION2_FUNBIT, has a macro:
477 * 450 *
478 * SB_VERSION_HASFUNBIT(xfs_sb_t *sbp) 451 * SB_VERSION_HASFUNBIT(xfs_sb_t *sbp)
479 * ((XFS_SB_VERSION_HASMOREBITS(sbp) && 452 * ((xfs_sb_version_hasmorebits(sbp) &&
480 * ((sbp)->sb_features2 & XFS_SB_VERSION2_FUNBIT) 453 * ((sbp)->sb_features2 & XFS_SB_VERSION2_FUNBIT)
481 */ 454 */
482 455
483static inline int xfs_sb_version_haslazysbcount(xfs_sb_t *sbp) 456static inline int xfs_sb_version_haslazysbcount(xfs_sb_t *sbp)
484{ 457{
485 return (XFS_SB_VERSION_HASMOREBITS(sbp) && \ 458 return (xfs_sb_version_hasmorebits(sbp) && \
486 ((sbp)->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT)); 459 ((sbp)->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT));
487} 460}
488 461
489#define XFS_SB_VERSION_HASATTR2(sbp) xfs_sb_version_hasattr2(sbp)
490static inline int xfs_sb_version_hasattr2(xfs_sb_t *sbp) 462static inline int xfs_sb_version_hasattr2(xfs_sb_t *sbp)
491{ 463{
492 return (XFS_SB_VERSION_HASMOREBITS(sbp)) && \ 464 return (xfs_sb_version_hasmorebits(sbp)) && \
493 ((sbp)->sb_features2 & XFS_SB_VERSION2_ATTR2BIT); 465 ((sbp)->sb_features2 & XFS_SB_VERSION2_ATTR2BIT);
494} 466}
495 467
496#define XFS_SB_VERSION_ADDATTR2(sbp) xfs_sb_version_addattr2(sbp)
497static inline void xfs_sb_version_addattr2(xfs_sb_t *sbp) 468static inline void xfs_sb_version_addattr2(xfs_sb_t *sbp)
498{ 469{
499 ((sbp)->sb_versionnum = \ 470 ((sbp)->sb_versionnum = \
diff --git a/fs/xfs/xfs_utils.c b/fs/xfs/xfs_utils.c
index 45d740df53b..18a85e74668 100644
--- a/fs/xfs/xfs_utils.c
+++ b/fs/xfs/xfs_utils.c
@@ -339,10 +339,10 @@ xfs_bump_ino_vers2(
339 ip->i_d.di_onlink = 0; 339 ip->i_d.di_onlink = 0;
340 memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad)); 340 memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
341 mp = tp->t_mountp; 341 mp = tp->t_mountp;
342 if (!XFS_SB_VERSION_HASNLINK(&mp->m_sb)) { 342 if (!xfs_sb_version_hasnlink(&mp->m_sb)) {
343 spin_lock(&mp->m_sb_lock); 343 spin_lock(&mp->m_sb_lock);
344 if (!XFS_SB_VERSION_HASNLINK(&mp->m_sb)) { 344 if (!xfs_sb_version_hasnlink(&mp->m_sb)) {
345 XFS_SB_VERSION_ADDNLINK(&mp->m_sb); 345 xfs_sb_version_addnlink(&mp->m_sb);
346 spin_unlock(&mp->m_sb_lock); 346 spin_unlock(&mp->m_sb_lock);
347 xfs_mod_sb(tp, XFS_SB_VERSIONNUM); 347 xfs_mod_sb(tp, XFS_SB_VERSIONNUM);
348 } else { 348 } else {
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
index 7321304a69c..7094caff13c 100644
--- a/fs/xfs/xfs_vfsops.c
+++ b/fs/xfs/xfs_vfsops.c
@@ -330,7 +330,7 @@ xfs_finish_flags(
330 int ronly = (mp->m_flags & XFS_MOUNT_RDONLY); 330 int ronly = (mp->m_flags & XFS_MOUNT_RDONLY);
331 331
332 /* Fail a mount where the logbuf is smaller then the log stripe */ 332 /* Fail a mount where the logbuf is smaller then the log stripe */
333 if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { 333 if (xfs_sb_version_haslogv2(&mp->m_sb)) {
334 if ((ap->logbufsize <= 0) && 334 if ((ap->logbufsize <= 0) &&
335 (mp->m_sb.sb_logsunit > XLOG_BIG_RECORD_BSIZE)) { 335 (mp->m_sb.sb_logsunit > XLOG_BIG_RECORD_BSIZE)) {
336 mp->m_logbsize = mp->m_sb.sb_logsunit; 336 mp->m_logbsize = mp->m_sb.sb_logsunit;
@@ -349,9 +349,8 @@ xfs_finish_flags(
349 } 349 }
350 } 350 }
351 351
352 if (XFS_SB_VERSION_HASATTR2(&mp->m_sb)) { 352 if (xfs_sb_version_hasattr2(&mp->m_sb))
353 mp->m_flags |= XFS_MOUNT_ATTR2; 353 mp->m_flags |= XFS_MOUNT_ATTR2;
354 }
355 354
356 /* 355 /*
357 * prohibit r/w mounts of read-only filesystems 356 * prohibit r/w mounts of read-only filesystems
@@ -366,7 +365,7 @@ xfs_finish_flags(
366 * check for shared mount. 365 * check for shared mount.
367 */ 366 */
368 if (ap->flags & XFSMNT_SHARED) { 367 if (ap->flags & XFSMNT_SHARED) {
369 if (!XFS_SB_VERSION_HASSHARED(&mp->m_sb)) 368 if (!xfs_sb_version_hasshared(&mp->m_sb))
370 return XFS_ERROR(EINVAL); 369 return XFS_ERROR(EINVAL);
371 370
372 /* 371 /*
@@ -512,7 +511,7 @@ xfs_mount(
512 if (!error && logdev && logdev != ddev) { 511 if (!error && logdev && logdev != ddev) {
513 unsigned int log_sector_size = BBSIZE; 512 unsigned int log_sector_size = BBSIZE;
514 513
515 if (XFS_SB_VERSION_HASSECTOR(&mp->m_sb)) 514 if (xfs_sb_version_hassector(&mp->m_sb))
516 log_sector_size = mp->m_sb.sb_logsectsize; 515 log_sector_size = mp->m_sb.sb_logsectsize;
517 error = xfs_setsize_buftarg(mp->m_logdev_targp, 516 error = xfs_setsize_buftarg(mp->m_logdev_targp,
518 mp->m_sb.sb_blocksize, 517 mp->m_sb.sb_blocksize,
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index 51305242ff8..64c5953feca 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -4132,7 +4132,7 @@ xfs_free_file_space(
4132 * actually need to zero the extent edges. Otherwise xfs_bunmapi 4132 * actually need to zero the extent edges. Otherwise xfs_bunmapi
4133 * will take care of it for us. 4133 * will take care of it for us.
4134 */ 4134 */
4135 if (rt && !XFS_SB_VERSION_HASEXTFLGBIT(&mp->m_sb)) { 4135 if (rt && !xfs_sb_version_hasextflgbit(&mp->m_sb)) {
4136 nimap = 1; 4136 nimap = 1;
4137 error = xfs_bmapi(NULL, ip, startoffset_fsb, 4137 error = xfs_bmapi(NULL, ip, startoffset_fsb,
4138 1, 0, NULL, 0, &imap, &nimap, NULL, NULL); 4138 1, 0, NULL, 0, &imap, &nimap, NULL, NULL);
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/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/mem-layout.h b/include/asm-frv/mem-layout.h
index 83532252b8b..734a1d0583b 100644
--- a/include/asm-frv/mem-layout.h
+++ b/include/asm-frv/mem-layout.h
@@ -60,7 +60,7 @@
60 */ 60 */
61#define BRK_BASE __UL(2 * 1024 * 1024 + PAGE_SIZE) 61#define BRK_BASE __UL(2 * 1024 * 1024 + PAGE_SIZE)
62#define STACK_TOP __UL(2 * 1024 * 1024) 62#define STACK_TOP __UL(2 * 1024 * 1024)
63#define STACK_TOP_MAX STACK_TOP 63#define STACK_TOP_MAX __UL(0xc0000000)
64 64
65/* userspace process size */ 65/* userspace process size */
66#ifdef CONFIG_MMU 66#ifdef CONFIG_MMU
diff --git a/include/asm-frv/pgtable.h b/include/asm-frv/pgtable.h
index 6c0682ed5fc..4e219046fe4 100644
--- a/include/asm-frv/pgtable.h
+++ b/include/asm-frv/pgtable.h
@@ -507,13 +507,22 @@ static inline int pte_file(pte_t pte)
507 */ 507 */
508static inline void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) 508static inline void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte)
509{ 509{
510 struct mm_struct *mm;
510 unsigned long ampr; 511 unsigned long ampr;
511 pgd_t *pge = pgd_offset(current->mm, address);
512 pud_t *pue = pud_offset(pge, address);
513 pmd_t *pme = pmd_offset(pue, address);
514 512
515 ampr = pme->ste[0] & 0xffffff00; 513 mm = current->mm;
516 ampr |= xAMPRx_L | xAMPRx_SS_16Kb | xAMPRx_S | xAMPRx_C | xAMPRx_V; 514 if (mm) {
515 pgd_t *pge = pgd_offset(mm, address);
516 pud_t *pue = pud_offset(pge, address);
517 pmd_t *pme = pmd_offset(pue, address);
518
519 ampr = pme->ste[0] & 0xffffff00;
520 ampr |= xAMPRx_L | xAMPRx_SS_16Kb | xAMPRx_S | xAMPRx_C |
521 xAMPRx_V;
522 } else {
523 address = ULONG_MAX;
524 ampr = 0;
525 }
517 526
518 asm volatile("movgs %0,scr0\n" 527 asm volatile("movgs %0,scr0\n"
519 "movgs %0,scr1\n" 528 "movgs %0,scr1\n"
diff --git a/include/asm-frv/spr-regs.h b/include/asm-frv/spr-regs.h
index c2a541ef828..01e6af5e99b 100644
--- a/include/asm-frv/spr-regs.h
+++ b/include/asm-frv/spr-regs.h
@@ -99,9 +99,23 @@
99#define TBR_TT_TRAP1 (0x81 << 4) 99#define TBR_TT_TRAP1 (0x81 << 4)
100#define TBR_TT_TRAP2 (0x82 << 4) 100#define TBR_TT_TRAP2 (0x82 << 4)
101#define TBR_TT_TRAP3 (0x83 << 4) 101#define TBR_TT_TRAP3 (0x83 << 4)
102#define TBR_TT_TRAP120 (0xf8 << 4)
103#define TBR_TT_TRAP121 (0xf9 << 4)
104#define TBR_TT_TRAP122 (0xfa << 4)
105#define TBR_TT_TRAP123 (0xfb << 4)
106#define TBR_TT_TRAP124 (0xfc << 4)
107#define TBR_TT_TRAP125 (0xfd << 4)
102#define TBR_TT_TRAP126 (0xfe << 4) 108#define TBR_TT_TRAP126 (0xfe << 4)
103#define TBR_TT_BREAK (0xff << 4) 109#define TBR_TT_BREAK (0xff << 4)
104 110
111#define TBR_TT_ATOMIC_CMPXCHG32 TBR_TT_TRAP120
112#define TBR_TT_ATOMIC_XCHG32 TBR_TT_TRAP121
113#define TBR_TT_ATOMIC_XOR TBR_TT_TRAP122
114#define TBR_TT_ATOMIC_OR TBR_TT_TRAP123
115#define TBR_TT_ATOMIC_AND TBR_TT_TRAP124
116#define TBR_TT_ATOMIC_SUB TBR_TT_TRAP125
117#define TBR_TT_ATOMIC_ADD TBR_TT_TRAP126
118
105#define __get_TBR() ({ unsigned long x; asm volatile("movsg tbr,%0" : "=r"(x)); x; }) 119#define __get_TBR() ({ unsigned long x; asm volatile("movsg tbr,%0" : "=r"(x)); x; })
106 120
107/* 121/*
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h
index b400cea8148..30a67a9da11 100644
--- a/include/asm-frv/system.h
+++ b/include/asm-frv/system.h
@@ -179,14 +179,23 @@ do { \
179#define mb() asm volatile ("membar" : : :"memory") 179#define mb() asm volatile ("membar" : : :"memory")
180#define rmb() asm volatile ("membar" : : :"memory") 180#define rmb() asm volatile ("membar" : : :"memory")
181#define wmb() asm volatile ("membar" : : :"memory") 181#define wmb() asm volatile ("membar" : : :"memory")
182#define set_mb(var, value) do { var = value; mb(); } while (0) 182#define read_barrier_depends() barrier()
183 183
184#define smp_mb() mb() 184#ifdef CONFIG_SMP
185#define smp_rmb() rmb() 185#define smp_mb() mb()
186#define smp_wmb() wmb() 186#define smp_rmb() rmb()
187 187#define smp_wmb() wmb()
188#define read_barrier_depends() do {} while(0)
189#define smp_read_barrier_depends() read_barrier_depends() 188#define smp_read_barrier_depends() read_barrier_depends()
189#define set_mb(var, value) \
190 do { xchg(&var, (value)); } while (0)
191#else
192#define smp_mb() barrier()
193#define smp_rmb() barrier()
194#define smp_wmb() barrier()
195#define smp_read_barrier_depends() do {} while(0)
196#define set_mb(var, value) \
197 do { var = (value); barrier(); } while (0)
198#endif
190 199
191#define HARD_RESET_NOW() \ 200#define HARD_RESET_NOW() \
192do { \ 201do { \
@@ -234,7 +243,7 @@ extern void free_initmem(void);
234 break; \ 243 break; \
235 \ 244 \
236 default: \ 245 default: \
237 __xg_orig = 0; \ 246 __xg_orig = (__typeof__(__xg_orig))0; \
238 asm volatile("break"); \ 247 asm volatile("break"); \
239 break; \ 248 break; \
240 } \ 249 } \
@@ -259,7 +268,7 @@ extern uint32_t __cmpxchg_32(uint32_t *v, uint32_t test, uint32_t new);
259 (__force uint32_t)__xg_test, \ 268 (__force uint32_t)__xg_test, \
260 (__force uint32_t)__xg_new); break; \ 269 (__force uint32_t)__xg_new); break; \
261 default: \ 270 default: \
262 __xg_orig = 0; \ 271 __xg_orig = (__typeof__(__xg_orig))0; \
263 asm volatile("break"); \ 272 asm volatile("break"); \
264 break; \ 273 break; \
265 } \ 274 } \
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/cacheflush.h b/include/asm-mips/cacheflush.h
index 01e7eadc97e..d5c0f2fda51 100644
--- a/include/asm-mips/cacheflush.h
+++ b/include/asm-mips/cacheflush.h
@@ -63,8 +63,22 @@ static inline void flush_icache_page(struct vm_area_struct *vma,
63} 63}
64 64
65extern void (*flush_icache_range)(unsigned long start, unsigned long end); 65extern void (*flush_icache_range)(unsigned long start, unsigned long end);
66#define flush_cache_vmap(start, end) flush_cache_all() 66
67#define flush_cache_vunmap(start, end) flush_cache_all() 67extern void (*__flush_cache_vmap)(void);
68
69static inline void flush_cache_vmap(unsigned long start, unsigned long end)
70{
71 if (cpu_has_dc_aliases)
72 __flush_cache_vmap();
73}
74
75extern void (*__flush_cache_vunmap)(void);
76
77static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
78{
79 if (cpu_has_dc_aliases)
80 __flush_cache_vunmap();
81}
68 82
69extern void copy_to_user_page(struct vm_area_struct *vma, 83extern void copy_to_user_page(struct vm_area_struct *vma,
70 struct page *page, unsigned long vaddr, void *dst, const void *src, 84 struct page *page, unsigned long vaddr, void *dst, const void *src,
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-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h
index ed5fd739067..72213e3d02c 100644
--- a/include/asm-mips/mach-pb1x00/pb1200.h
+++ b/include/asm-mips/mach-pb1x00/pb1200.h
@@ -245,7 +245,7 @@ enum external_pb1200_ints {
245 PB1200_SD1_INSERT_INT, 245 PB1200_SD1_INSERT_INT,
246 PB1200_SD1_EJECT_INT, 246 PB1200_SD1_EJECT_INT,
247 247
248 PB1200_INT_END (PB1200_INT_BEGIN + 15) 248 PB1200_INT_END = PB1200_INT_BEGIN + 15
249}; 249};
250 250
251/* For drivers/pcmcia/au1000_db1x00.c */ 251/* For drivers/pcmcia/au1000_db1x00.c */
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/Kbuild b/include/asm-powerpc/Kbuild
index 5f640e54247..7381916dfcb 100644
--- a/include/asm-powerpc/Kbuild
+++ b/include/asm-powerpc/Kbuild
@@ -1,5 +1,6 @@
1include include/asm-generic/Kbuild.asm 1include include/asm-generic/Kbuild.asm
2 2
3header-y += a.out.h
3header-y += auxvec.h 4header-y += auxvec.h
4header-y += ioctls.h 5header-y += ioctls.h
5header-y += mman.h 6header-y += mman.h
@@ -23,7 +24,6 @@ header-y += sigcontext.h
23header-y += statfs.h 24header-y += statfs.h
24header-y += ps3fb.h 25header-y += ps3fb.h
25 26
26unifdef-y += a.out.h
27unifdef-y += asm-compat.h 27unifdef-y += asm-compat.h
28unifdef-y += bootx.h 28unifdef-y += bootx.h
29unifdef-y += byteorder.h 29unifdef-y += byteorder.h
diff --git a/include/asm-powerpc/abs_addr.h b/include/asm-powerpc/abs_addr.h
index 4aa220718b1..98324c5a828 100644
--- a/include/asm-powerpc/abs_addr.h
+++ b/include/asm-powerpc/abs_addr.h
@@ -12,10 +12,11 @@
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 */ 13 */
14 14
15#include <linux/lmb.h>
16
15#include <asm/types.h> 17#include <asm/types.h>
16#include <asm/page.h> 18#include <asm/page.h>
17#include <asm/prom.h> 19#include <asm/prom.h>
18#include <asm/lmb.h>
19#include <asm/firmware.h> 20#include <asm/firmware.h>
20 21
21struct mschunks_map { 22struct mschunks_map {
diff --git a/include/asm-powerpc/cputhreads.h b/include/asm-powerpc/cputhreads.h
index 8485c28b5f4..fb11b0c459b 100644
--- a/include/asm-powerpc/cputhreads.h
+++ b/include/asm-powerpc/cputhreads.h
@@ -35,7 +35,7 @@ static inline cpumask_t cpu_thread_mask_to_cores(cpumask_t threads)
35 35
36 res = CPU_MASK_NONE; 36 res = CPU_MASK_NONE;
37 for (i = 0; i < NR_CPUS; i += threads_per_core) { 37 for (i = 0; i < NR_CPUS; i += threads_per_core) {
38 cpus_shift_right(tmp, threads_core_mask, i); 38 cpus_shift_left(tmp, threads_core_mask, i);
39 if (cpus_intersects(threads, tmp)) 39 if (cpus_intersects(threads, tmp))
40 cpu_set(i, res); 40 cpu_set(i, res);
41 } 41 }
diff --git a/include/asm-powerpc/dcr-native.h b/include/asm-powerpc/dcr-native.h
index be6c879e876..f8398ce8037 100644
--- a/include/asm-powerpc/dcr-native.h
+++ b/include/asm-powerpc/dcr-native.h
@@ -82,6 +82,19 @@ static inline void __mtdcri(int base_addr, int base_data, int reg,
82 spin_unlock_irqrestore(&dcr_ind_lock, flags); 82 spin_unlock_irqrestore(&dcr_ind_lock, flags);
83} 83}
84 84
85static inline void __dcri_clrset(int base_addr, int base_data, int reg,
86 unsigned clr, unsigned set)
87{
88 unsigned long flags;
89 unsigned int val;
90
91 spin_lock_irqsave(&dcr_ind_lock, flags);
92 __mtdcr(base_addr, reg);
93 val = (__mfdcr(base_data) & ~clr) | set;
94 __mtdcr(base_data, val);
95 spin_unlock_irqrestore(&dcr_ind_lock, flags);
96}
97
85#define mfdcri(base, reg) __mfdcri(DCRN_ ## base ## _CONFIG_ADDR, \ 98#define mfdcri(base, reg) __mfdcri(DCRN_ ## base ## _CONFIG_ADDR, \
86 DCRN_ ## base ## _CONFIG_DATA, \ 99 DCRN_ ## base ## _CONFIG_DATA, \
87 reg) 100 reg)
@@ -90,6 +103,10 @@ static inline void __mtdcri(int base_addr, int base_data, int reg,
90 DCRN_ ## base ## _CONFIG_DATA, \ 103 DCRN_ ## base ## _CONFIG_DATA, \
91 reg, data) 104 reg, data)
92 105
106#define dcri_clrset(base, reg, clr, set) __dcri_clrset(DCRN_ ## base ## _CONFIG_ADDR, \
107 DCRN_ ## base ## _CONFIG_DATA, \
108 reg, clr, set)
109
93#endif /* __ASSEMBLY__ */ 110#endif /* __ASSEMBLY__ */
94#endif /* __KERNEL__ */ 111#endif /* __KERNEL__ */
95#endif /* _ASM_POWERPC_DCR_NATIVE_H */ 112#endif /* _ASM_POWERPC_DCR_NATIVE_H */
diff --git a/include/asm-powerpc/dcr-regs.h b/include/asm-powerpc/dcr-regs.h
index 9f1fb98fcdc..29b0ecef980 100644
--- a/include/asm-powerpc/dcr-regs.h
+++ b/include/asm-powerpc/dcr-regs.h
@@ -68,4 +68,82 @@
68#define SDR0_UART3 0x0123 68#define SDR0_UART3 0x0123
69#define SDR0_CUST0 0x4000 69#define SDR0_CUST0 0x4000
70 70
71/*
72 * All those DCR register addresses are offsets from the base address
73 * for the SRAM0 controller (e.g. 0x20 on 440GX). The base address is
74 * excluded here and configured in the device tree.
75 */
76#define DCRN_SRAM0_SB0CR 0x00
77#define DCRN_SRAM0_SB1CR 0x01
78#define DCRN_SRAM0_SB2CR 0x02
79#define DCRN_SRAM0_SB3CR 0x03
80#define SRAM_SBCR_BU_MASK 0x00000180
81#define SRAM_SBCR_BS_64KB 0x00000800
82#define SRAM_SBCR_BU_RO 0x00000080
83#define SRAM_SBCR_BU_RW 0x00000180
84#define DCRN_SRAM0_BEAR 0x04
85#define DCRN_SRAM0_BESR0 0x05
86#define DCRN_SRAM0_BESR1 0x06
87#define DCRN_SRAM0_PMEG 0x07
88#define DCRN_SRAM0_CID 0x08
89#define DCRN_SRAM0_REVID 0x09
90#define DCRN_SRAM0_DPC 0x0a
91#define SRAM_DPC_ENABLE 0x80000000
92
93/*
94 * All those DCR register addresses are offsets from the base address
95 * for the SRAM0 controller (e.g. 0x30 on 440GX). The base address is
96 * excluded here and configured in the device tree.
97 */
98#define DCRN_L2C0_CFG 0x00
99#define L2C_CFG_L2M 0x80000000
100#define L2C_CFG_ICU 0x40000000
101#define L2C_CFG_DCU 0x20000000
102#define L2C_CFG_DCW_MASK 0x1e000000
103#define L2C_CFG_TPC 0x01000000
104#define L2C_CFG_CPC 0x00800000
105#define L2C_CFG_FRAN 0x00200000
106#define L2C_CFG_SS_MASK 0x00180000
107#define L2C_CFG_SS_256 0x00000000
108#define L2C_CFG_CPIM 0x00040000
109#define L2C_CFG_TPIM 0x00020000
110#define L2C_CFG_LIM 0x00010000
111#define L2C_CFG_PMUX_MASK 0x00007000
112#define L2C_CFG_PMUX_SNP 0x00000000
113#define L2C_CFG_PMUX_IF 0x00001000
114#define L2C_CFG_PMUX_DF 0x00002000
115#define L2C_CFG_PMUX_DS 0x00003000
116#define L2C_CFG_PMIM 0x00000800
117#define L2C_CFG_TPEI 0x00000400
118#define L2C_CFG_CPEI 0x00000200
119#define L2C_CFG_NAM 0x00000100
120#define L2C_CFG_SMCM 0x00000080
121#define L2C_CFG_NBRM 0x00000040
122#define L2C_CFG_RDBW 0x00000008 /* only 460EX/GT */
123#define DCRN_L2C0_CMD 0x01
124#define L2C_CMD_CLR 0x80000000
125#define L2C_CMD_DIAG 0x40000000
126#define L2C_CMD_INV 0x20000000
127#define L2C_CMD_CCP 0x10000000
128#define L2C_CMD_CTE 0x08000000
129#define L2C_CMD_STRC 0x04000000
130#define L2C_CMD_STPC 0x02000000
131#define L2C_CMD_RPMC 0x01000000
132#define L2C_CMD_HCC 0x00800000
133#define DCRN_L2C0_ADDR 0x02
134#define DCRN_L2C0_DATA 0x03
135#define DCRN_L2C0_SR 0x04
136#define L2C_SR_CC 0x80000000
137#define L2C_SR_CPE 0x40000000
138#define L2C_SR_TPE 0x20000000
139#define L2C_SR_LRU 0x10000000
140#define L2C_SR_PCS 0x08000000
141#define DCRN_L2C0_REVID 0x05
142#define DCRN_L2C0_SNP0 0x06
143#define DCRN_L2C0_SNP1 0x07
144#define L2C_SNP_BA_MASK 0xffff0000
145#define L2C_SNP_SSR_MASK 0x0000f000
146#define L2C_SNP_SSR_32G 0x0000f000
147#define L2C_SNP_ESR 0x00000800
148
71#endif /* __DCR_REGS_H__ */ 149#endif /* __DCR_REGS_H__ */
diff --git a/include/asm-powerpc/gpio.h b/include/asm-powerpc/gpio.h
new file mode 100644
index 00000000000..77ad3a890f3
--- /dev/null
+++ b/include/asm-powerpc/gpio.h
@@ -0,0 +1,56 @@
1/*
2 * Generic GPIO API implementation for PowerPC.
3 *
4 * Copyright (c) 2007-2008 MontaVista Software, Inc.
5 *
6 * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13
14#ifndef __ASM_POWERPC_GPIO_H
15#define __ASM_POWERPC_GPIO_H
16
17#include <linux/errno.h>
18#include <asm-generic/gpio.h>
19
20#ifdef CONFIG_HAVE_GPIO_LIB
21
22/*
23 * We don't (yet) implement inlined/rapid versions for on-chip gpios.
24 * Just call gpiolib.
25 */
26static inline int gpio_get_value(unsigned int gpio)
27{
28 return __gpio_get_value(gpio);
29}
30
31static inline void gpio_set_value(unsigned int gpio, int value)
32{
33 __gpio_set_value(gpio, value);
34}
35
36static inline int gpio_cansleep(unsigned int gpio)
37{
38 return __gpio_cansleep(gpio);
39}
40
41/*
42 * Not implemented, yet.
43 */
44static inline int gpio_to_irq(unsigned int gpio)
45{
46 return -ENOSYS;
47}
48
49static inline int irq_to_gpio(unsigned int irq)
50{
51 return -EINVAL;
52}
53
54#endif /* CONFIG_HAVE_GPIO_LIB */
55
56#endif /* __ASM_POWERPC_GPIO_H */
diff --git a/include/asm-powerpc/iseries/alpaca.h b/include/asm-powerpc/iseries/alpaca.h
new file mode 100644
index 00000000000..c0cce6727a6
--- /dev/null
+++ b/include/asm-powerpc/iseries/alpaca.h
@@ -0,0 +1,31 @@
1/*
2 * Copyright © 2008 Stephen Rothwell IBM Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18#ifndef _ASM_POWERPC_ISERIES_ALPACA_H
19#define _ASM_POWERPC_ISERIES_ALPACA_H
20
21/*
22 * This is the part of the paca that the iSeries hypervisor
23 * needs to be statically initialised. Immediately after boot
24 * we switch to the normal Linux paca.
25 */
26struct alpaca {
27 struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */
28 const void *reg_save_ptr; /* Pointer to LpRegSave for PLIC */
29};
30
31#endif /* _ASM_POWERPC_ISERIES_ALPACA_H */
diff --git a/include/asm-powerpc/iseries/it_lp_reg_save.h b/include/asm-powerpc/iseries/it_lp_reg_save.h
deleted file mode 100644
index 5403b756f65..00000000000
--- a/include/asm-powerpc/iseries/it_lp_reg_save.h
+++ /dev/null
@@ -1,85 +0,0 @@
1/*
2 * Copyright (C) 2001 Mike Corrigan IBM Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18#ifndef _ASM_POWERPC_ISERIES_IT_LP_REG_SAVE_H
19#define _ASM_POWERPC_ISERIES_IT_LP_REG_SAVE_H
20
21/*
22 * This control block contains the data that is shared between PLIC
23 * and the OS
24 */
25
26struct ItLpRegSave {
27 u32 xDesc; // Eye catcher "LpRS" ebcdic 000-003
28 u16 xSize; // Size of this class 004-005
29 u8 xInUse; // Area is live 006-007
30 u8 xRsvd1[9]; // Reserved 007-00F
31
32 u8 xFixedRegSave[352]; // Fixed Register Save Area 010-16F
33 u32 xCTRL; // Control Register 170-173
34 u32 xDEC; // Decrementer 174-177
35 u32 xFPSCR; // FP Status and Control Reg 178-17B
36 u32 xPVR; // Processor Version Number 17C-17F
37
38 u64 xMMCR0; // Monitor Mode Control Reg 0 180-187
39 u32 xPMC1; // Perf Monitor Counter 1 188-18B
40 u32 xPMC2; // Perf Monitor Counter 2 18C-18F
41 u32 xPMC3; // Perf Monitor Counter 3 190-193
42 u32 xPMC4; // Perf Monitor Counter 4 194-197
43 u32 xPIR; // Processor ID Reg 198-19B
44
45 u32 xMMCR1; // Monitor Mode Control Reg 1 19C-19F
46 u32 xMMCRA; // Monitor Mode Control Reg A 1A0-1A3
47 u32 xPMC5; // Perf Monitor Counter 5 1A4-1A7
48 u32 xPMC6; // Perf Monitor Counter 6 1A8-1AB
49 u32 xPMC7; // Perf Monitor Counter 7 1AC-1AF
50 u32 xPMC8; // Perf Monitor Counter 8 1B0-1B3
51 u32 xTSC; // Thread Switch Control 1B4-1B7
52 u32 xTST; // Thread Switch Timeout 1B8-1BB
53 u32 xRsvd; // Reserved 1BC-1BF
54
55 u64 xACCR; // Address Compare Control Reg 1C0-1C7
56 u64 xIMR; // Instruction Match Register 1C8-1CF
57 u64 xSDR1; // Storage Description Reg 1 1D0-1D7
58 u64 xSPRG0; // Special Purpose Reg General0 1D8-1DF
59 u64 xSPRG1; // Special Purpose Reg General1 1E0-1E7
60 u64 xSPRG2; // Special Purpose Reg General2 1E8-1EF
61 u64 xSPRG3; // Special Purpose Reg General3 1F0-1F7
62 u64 xTB; // Time Base Register 1F8-1FF
63
64 u64 xFPR[32]; // Floating Point Registers 200-2FF
65
66 u64 xMSR; // Machine State Register 300-307
67 u64 xNIA; // Next Instruction Address 308-30F
68
69 u64 xDABR; // Data Address Breakpoint Reg 310-317
70 u64 xIABR; // Inst Address Breakpoint Reg 318-31F
71
72 u64 xHID0; // HW Implementation Dependent0 320-327
73
74 u64 xHID4; // HW Implementation Dependent4 328-32F
75 u64 xSCOMd; // SCON Data Reg (SPRG4) 330-337
76 u64 xSCOMc; // SCON Command Reg (SPRG5) 338-33F
77 u64 xSDAR; // Sample Data Address Register 340-347
78 u64 xSIAR; // Sample Inst Address Register 348-34F
79
80 u8 xRsvd3[176]; // Reserved 350-3FF
81};
82
83extern struct ItLpRegSave iseries_reg_save[];
84
85#endif /* _ASM_POWERPC_ISERIES_IT_LP_REG_SAVE_H */
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-powerpc/lmb.h b/include/asm-powerpc/lmb.h
index 5d1dc48a0bb..6f5fdf0a19a 100644
--- a/include/asm-powerpc/lmb.h
+++ b/include/asm-powerpc/lmb.h
@@ -1,81 +1,15 @@
1#ifndef _ASM_POWERPC_LMB_H 1#ifndef _ASM_POWERPC_LMB_H
2#define _ASM_POWERPC_LMB_H 2#define _ASM_POWERPC_LMB_H
3#ifdef __KERNEL__
4 3
5/* 4#include <asm/udbg.h>
6 * Definitions for talking to the Open Firmware PROM on
7 * Power Macintosh computers.
8 *
9 * Copyright (C) 2001 Peter Bergner, IBM Corp.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version
14 * 2 of the License, or (at your option) any later version.
15 */
16 5
17#include <linux/init.h> 6#define LMB_DBG(fmt...) udbg_printf(fmt)
18#include <asm/prom.h>
19 7
20#define MAX_LMB_REGIONS 128 8#ifdef CONFIG_PPC32
9extern phys_addr_t lowmem_end_addr;
10#define LMB_REAL_LIMIT lowmem_end_addr
11#else
12#define LMB_REAL_LIMIT 0
13#endif
21 14
22struct lmb_property {
23 unsigned long base;
24 unsigned long size;
25};
26
27struct lmb_region {
28 unsigned long cnt;
29 unsigned long size;
30 struct lmb_property region[MAX_LMB_REGIONS+1];
31};
32
33struct lmb {
34 unsigned long debug;
35 unsigned long rmo_size;
36 struct lmb_region memory;
37 struct lmb_region reserved;
38};
39
40extern struct lmb lmb;
41
42extern void __init lmb_init(void);
43extern void __init lmb_analyze(void);
44extern long __init lmb_add(unsigned long base, unsigned long size);
45extern long __init lmb_reserve(unsigned long base, unsigned long size);
46extern unsigned long __init lmb_alloc(unsigned long size, unsigned long align);
47extern unsigned long __init lmb_alloc_base(unsigned long size,
48 unsigned long align, unsigned long max_addr);
49extern unsigned long __init __lmb_alloc_base(unsigned long size,
50 unsigned long align, unsigned long max_addr);
51extern unsigned long __init lmb_phys_mem_size(void);
52extern unsigned long __init lmb_end_of_DRAM(void);
53extern void __init lmb_enforce_memory_limit(unsigned long memory_limit);
54extern int __init lmb_is_reserved(unsigned long addr);
55
56extern void lmb_dump_all(void);
57
58static inline unsigned long
59lmb_size_bytes(struct lmb_region *type, unsigned long region_nr)
60{
61 return type->region[region_nr].size;
62}
63static inline unsigned long
64lmb_size_pages(struct lmb_region *type, unsigned long region_nr)
65{
66 return lmb_size_bytes(type, region_nr) >> PAGE_SHIFT;
67}
68static inline unsigned long
69lmb_start_pfn(struct lmb_region *type, unsigned long region_nr)
70{
71 return type->region[region_nr].base >> PAGE_SHIFT;
72}
73static inline unsigned long
74lmb_end_pfn(struct lmb_region *type, unsigned long region_nr)
75{
76 return lmb_start_pfn(type, region_nr) +
77 lmb_size_pages(type, region_nr);
78}
79
80#endif /* __KERNEL__ */
81#endif /* _ASM_POWERPC_LMB_H */ 15#endif /* _ASM_POWERPC_LMB_H */
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h
index 0872ec228c1..54ed64df95b 100644
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
@@ -68,6 +68,8 @@ struct machdep_calls {
68 unsigned long vflags, 68 unsigned long vflags,
69 int psize, int ssize); 69 int psize, int ssize);
70 long (*hpte_remove)(unsigned long hpte_group); 70 long (*hpte_remove)(unsigned long hpte_group);
71 void (*hpte_removebolted)(unsigned long ea,
72 int psize, int ssize);
71 void (*flush_hash_range)(unsigned long number, int local); 73 void (*flush_hash_range)(unsigned long number, int local);
72 74
73 /* special for kexec, to be called in real mode, linar mapping is 75 /* special for kexec, to be called in real mode, linar mapping is
@@ -196,9 +198,6 @@ struct machdep_calls {
196 May be NULL. */ 198 May be NULL. */
197 void (*init)(void); 199 void (*init)(void);
198 200
199 void (*setup_io_mappings)(void);
200
201 void (*early_serial_map)(void);
202 void (*kgdb_map_scc)(void); 201 void (*kgdb_map_scc)(void);
203 202
204 /* 203 /*
diff --git a/include/asm-powerpc/macio.h b/include/asm-powerpc/macio.h
index 3a6cb1a513b..079c06eae44 100644
--- a/include/asm-powerpc/macio.h
+++ b/include/asm-powerpc/macio.h
@@ -2,7 +2,7 @@
2#define __MACIO_ASIC_H__ 2#define __MACIO_ASIC_H__
3#ifdef __KERNEL__ 3#ifdef __KERNEL__
4 4
5#include <asm/of_device.h> 5#include <linux/of_device.h>
6 6
7extern struct bus_type macio_bus_type; 7extern struct bus_type macio_bus_type;
8 8
diff --git a/include/asm-powerpc/mmu-40x.h b/include/asm-powerpc/mmu-40x.h
index 7d37f77043a..3d108676584 100644
--- a/include/asm-powerpc/mmu-40x.h
+++ b/include/asm-powerpc/mmu-40x.h
@@ -53,8 +53,6 @@
53 53
54#ifndef __ASSEMBLY__ 54#ifndef __ASSEMBLY__
55 55
56typedef unsigned long phys_addr_t;
57
58typedef struct { 56typedef struct {
59 unsigned long id; 57 unsigned long id;
60 unsigned long vdso_base; 58 unsigned long vdso_base;
diff --git a/include/asm-powerpc/mmu-44x.h b/include/asm-powerpc/mmu-44x.h
index 62772ae839c..c8b02d97f75 100644
--- a/include/asm-powerpc/mmu-44x.h
+++ b/include/asm-powerpc/mmu-44x.h
@@ -53,8 +53,6 @@
53 53
54#ifndef __ASSEMBLY__ 54#ifndef __ASSEMBLY__
55 55
56typedef unsigned long long phys_addr_t;
57
58typedef struct { 56typedef struct {
59 unsigned long id; 57 unsigned long id;
60 unsigned long vdso_base; 58 unsigned long vdso_base;
diff --git a/include/asm-powerpc/mmu-8xx.h b/include/asm-powerpc/mmu-8xx.h
index 952bd8899f2..9db877eb88d 100644
--- a/include/asm-powerpc/mmu-8xx.h
+++ b/include/asm-powerpc/mmu-8xx.h
@@ -136,8 +136,6 @@
136#define SPRN_M_TW 799 136#define SPRN_M_TW 799
137 137
138#ifndef __ASSEMBLY__ 138#ifndef __ASSEMBLY__
139typedef unsigned long phys_addr_t;
140
141typedef struct { 139typedef struct {
142 unsigned long id; 140 unsigned long id;
143 unsigned long vdso_base; 141 unsigned long vdso_base;
diff --git a/include/asm-powerpc/mmu-fsl-booke.h b/include/asm-powerpc/mmu-fsl-booke.h
index 37580004cd7..925d93cf64d 100644
--- a/include/asm-powerpc/mmu-fsl-booke.h
+++ b/include/asm-powerpc/mmu-fsl-booke.h
@@ -73,12 +73,6 @@
73 73
74#ifndef __ASSEMBLY__ 74#ifndef __ASSEMBLY__
75 75
76#ifndef CONFIG_PHYS_64BIT
77typedef unsigned long phys_addr_t;
78#else
79typedef unsigned long long phys_addr_t;
80#endif
81
82typedef struct { 76typedef struct {
83 unsigned long id; 77 unsigned long id;
84 unsigned long vdso_base; 78 unsigned long vdso_base;
diff --git a/include/asm-powerpc/mmu-hash32.h b/include/asm-powerpc/mmu-hash32.h
index 4bd735be383..6e21ca618ec 100644
--- a/include/asm-powerpc/mmu-hash32.h
+++ b/include/asm-powerpc/mmu-hash32.h
@@ -84,8 +84,6 @@ typedef struct {
84 unsigned long vdso_base; 84 unsigned long vdso_base;
85} mm_context_t; 85} mm_context_t;
86 86
87typedef unsigned long phys_addr_t;
88
89#endif /* !__ASSEMBLY__ */ 87#endif /* !__ASSEMBLY__ */
90 88
91#endif /* _ASM_POWERPC_MMU_HASH32_H_ */ 89#endif /* _ASM_POWERPC_MMU_HASH32_H_ */
diff --git a/include/asm-powerpc/mmu-hash64.h b/include/asm-powerpc/mmu-hash64.h
index 2864fa3989e..0dff7677604 100644
--- a/include/asm-powerpc/mmu-hash64.h
+++ b/include/asm-powerpc/mmu-hash64.h
@@ -469,9 +469,6 @@ static inline unsigned long get_vsid(unsigned long context, unsigned long ea,
469 VSID_MODULUS_256M) 469 VSID_MODULUS_256M)
470#define KERNEL_VSID(ea) VSID_SCRAMBLE(GET_ESID(ea)) 470#define KERNEL_VSID(ea) VSID_SCRAMBLE(GET_ESID(ea))
471 471
472/* Physical address used by some IO functions */
473typedef unsigned long phys_addr_t;
474
475#endif /* __ASSEMBLY__ */ 472#endif /* __ASSEMBLY__ */
476 473
477#endif /* _ASM_POWERPC_MMU_HASH64_H_ */ 474#endif /* _ASM_POWERPC_MMU_HASH64_H_ */
diff --git a/include/asm-powerpc/paca.h b/include/asm-powerpc/paca.h
index 748b35ab37b..eb61b9c1edf 100644
--- a/include/asm-powerpc/paca.h
+++ b/include/asm-powerpc/paca.h
@@ -42,10 +42,7 @@ struct task_struct;
42 * Defines the layout of the paca. 42 * Defines the layout of the paca.
43 * 43 *
44 * This structure is not directly accessed by firmware or the service 44 * This structure is not directly accessed by firmware or the service
45 * processor except for the first two pointers that point to the 45 * processor.
46 * lppaca area and the ItLpRegSave area for this CPU. The lppaca
47 * object is currently contained within the PACA but it doesn't need
48 * to be.
49 */ 46 */
50struct paca_struct { 47struct paca_struct {
51 /* 48 /*
@@ -55,14 +52,7 @@ struct paca_struct {
55 * avoid cacheline bouncing. 52 * avoid cacheline bouncing.
56 */ 53 */
57 54
58 /*
59 * MAGIC: These first two pointers can't be moved - they're
60 * accessed by the firmware
61 */
62 struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */ 55 struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */
63#ifdef CONFIG_PPC_ISERIES
64 void *reg_save_ptr; /* Pointer to LpRegSave for PLIC */
65#endif /* CONFIG_PPC_ISERIES */
66 56
67 /* 57 /*
68 * MAGIC: the spinlock functions in arch/powerpc/lib/locks.c 58 * MAGIC: the spinlock functions in arch/powerpc/lib/locks.c
diff --git a/include/asm-powerpc/page.h b/include/asm-powerpc/page.h
index df47bbb6ea1..6c850609b84 100644
--- a/include/asm-powerpc/page.h
+++ b/include/asm-powerpc/page.h
@@ -53,6 +53,7 @@
53 53
54#define PAGE_OFFSET ASM_CONST(CONFIG_KERNEL_START) 54#define PAGE_OFFSET ASM_CONST(CONFIG_KERNEL_START)
55#define KERNELBASE (PAGE_OFFSET + PHYSICAL_START) 55#define KERNELBASE (PAGE_OFFSET + PHYSICAL_START)
56#define LOAD_OFFSET PAGE_OFFSET
56 57
57#ifdef CONFIG_FLATMEM 58#ifdef CONFIG_FLATMEM
58#define pfn_valid(pfn) ((pfn) < max_mapnr) 59#define pfn_valid(pfn) ((pfn) < max_mapnr)
diff --git a/include/asm-powerpc/page_32.h b/include/asm-powerpc/page_32.h
index 65ea19eec95..51f8134b593 100644
--- a/include/asm-powerpc/page_32.h
+++ b/include/asm-powerpc/page_32.h
@@ -3,8 +3,6 @@
3 3
4#define VM_DATA_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS32 4#define VM_DATA_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS32
5 5
6#define PPC_MEMSTART 0
7
8#ifdef CONFIG_NOT_COHERENT_CACHE 6#ifdef CONFIG_NOT_COHERENT_CACHE
9#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES 7#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
10#endif 8#endif
diff --git a/include/asm-powerpc/pasemi_dma.h b/include/asm-powerpc/pasemi_dma.h
index b4526ff3a50..19fd7933e2d 100644
--- a/include/asm-powerpc/pasemi_dma.h
+++ b/include/asm-powerpc/pasemi_dma.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2006 PA Semi, Inc 2 * Copyright (C) 2006-2008 PA Semi, Inc
3 * 3 *
4 * Hardware register layout and descriptor formats for the on-board 4 * Hardware register layout and descriptor formats for the on-board
5 * DMA engine on PA Semi PWRficient. Used by ethernet, function and security 5 * DMA engine on PA Semi PWRficient. Used by ethernet, function and security
@@ -40,6 +40,11 @@ enum {
40 PAS_DMA_COM_TXSTA = 0x104, /* Transmit Status Register */ 40 PAS_DMA_COM_TXSTA = 0x104, /* Transmit Status Register */
41 PAS_DMA_COM_RXCMD = 0x108, /* Receive Command Register */ 41 PAS_DMA_COM_RXCMD = 0x108, /* Receive Command Register */
42 PAS_DMA_COM_RXSTA = 0x10c, /* Receive Status Register */ 42 PAS_DMA_COM_RXSTA = 0x10c, /* Receive Status Register */
43 PAS_DMA_COM_CFG = 0x114, /* Common config reg */
44 PAS_DMA_TXF_SFLG0 = 0x140, /* Set flags */
45 PAS_DMA_TXF_SFLG1 = 0x144, /* Set flags */
46 PAS_DMA_TXF_CFLG0 = 0x148, /* Set flags */
47 PAS_DMA_TXF_CFLG1 = 0x14c, /* Set flags */
43}; 48};
44 49
45 50
@@ -123,11 +128,16 @@ enum {
123#define PAS_DMA_TXCHAN_TCMDSTA_DA 0x00000100 128#define PAS_DMA_TXCHAN_TCMDSTA_DA 0x00000100
124#define PAS_DMA_TXCHAN_CFG(c) (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE) 129#define PAS_DMA_TXCHAN_CFG(c) (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE)
125#define PAS_DMA_TXCHAN_CFG_TY_IFACE 0x00000000 /* Type = interface */ 130#define PAS_DMA_TXCHAN_CFG_TY_IFACE 0x00000000 /* Type = interface */
131#define PAS_DMA_TXCHAN_CFG_TY_COPY 0x00000001 /* Type = copy only */
132#define PAS_DMA_TXCHAN_CFG_TY_FUNC 0x00000002 /* Type = function */
133#define PAS_DMA_TXCHAN_CFG_TY_XOR 0x00000003 /* Type = xor only */
126#define PAS_DMA_TXCHAN_CFG_TATTR_M 0x0000003c 134#define PAS_DMA_TXCHAN_CFG_TATTR_M 0x0000003c
127#define PAS_DMA_TXCHAN_CFG_TATTR_S 2 135#define PAS_DMA_TXCHAN_CFG_TATTR_S 2
128#define PAS_DMA_TXCHAN_CFG_TATTR(x) (((x) << PAS_DMA_TXCHAN_CFG_TATTR_S) & \ 136#define PAS_DMA_TXCHAN_CFG_TATTR(x) (((x) << PAS_DMA_TXCHAN_CFG_TATTR_S) & \
129 PAS_DMA_TXCHAN_CFG_TATTR_M) 137 PAS_DMA_TXCHAN_CFG_TATTR_M)
130#define PAS_DMA_TXCHAN_CFG_WT_M 0x000001c0 138#define PAS_DMA_TXCHAN_CFG_LPDQ 0x00000800
139#define PAS_DMA_TXCHAN_CFG_LPSQ 0x00000400
140#define PAS_DMA_TXCHAN_CFG_WT_M 0x000003c0
131#define PAS_DMA_TXCHAN_CFG_WT_S 6 141#define PAS_DMA_TXCHAN_CFG_WT_S 6
132#define PAS_DMA_TXCHAN_CFG_WT(x) (((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \ 142#define PAS_DMA_TXCHAN_CFG_WT(x) (((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \
133 PAS_DMA_TXCHAN_CFG_WT_M) 143 PAS_DMA_TXCHAN_CFG_WT_M)
@@ -394,11 +404,62 @@ enum {
394 XCT_COPY_LLEN_M) 404 XCT_COPY_LLEN_M)
395#define XCT_COPY_SE 0x0000000000000001ull 405#define XCT_COPY_SE 0x0000000000000001ull
396 406
407/* Function descriptor fields */
408#define XCT_FUN_T 0x8000000000000000ull
409#define XCT_FUN_ST 0x4000000000000000ull
410#define XCT_FUN_RR_M 0x3000000000000000ull
411#define XCT_FUN_RR_NORES 0x0000000000000000ull
412#define XCT_FUN_RR_8BRES 0x1000000000000000ull
413#define XCT_FUN_RR_24BRES 0x2000000000000000ull
414#define XCT_FUN_RR_40BRES 0x3000000000000000ull
415#define XCT_FUN_I 0x0800000000000000ull
416#define XCT_FUN_O 0x0400000000000000ull
417#define XCT_FUN_E 0x0200000000000000ull
418#define XCT_FUN_FUN_M 0x01c0000000000000ull
419#define XCT_FUN_FUN_S 54
420#define XCT_FUN_FUN(x) ((((long)(x)) << XCT_FUN_FUN_S) & XCT_FUN_FUN_M)
421#define XCT_FUN_CRM_M 0x0038000000000000ull
422#define XCT_FUN_CRM_NOP 0x0000000000000000ull
423#define XCT_FUN_CRM_SIG 0x0008000000000000ull
424#define XCT_FUN_LLEN_M 0x0007ffff00000000ull
425#define XCT_FUN_LLEN_S 32
426#define XCT_FUN_LLEN(x) ((((long)(x)) << XCT_FUN_LLEN_S) & XCT_FUN_LLEN_M)
427#define XCT_FUN_SHL_M 0x00000000f8000000ull
428#define XCT_FUN_SHL_S 27
429#define XCT_FUN_SHL(x) ((((long)(x)) << XCT_FUN_SHL_S) & XCT_FUN_SHL_M)
430#define XCT_FUN_CHL_M 0x0000000007c00000ull
431#define XCT_FUN_HSZ_M 0x00000000003c0000ull
432#define XCT_FUN_ALG_M 0x0000000000038000ull
433#define XCT_FUN_HP 0x0000000000004000ull
434#define XCT_FUN_BCM_M 0x0000000000003800ull
435#define XCT_FUN_BCP_M 0x0000000000000600ull
436#define XCT_FUN_SIG_M 0x00000000000001f0ull
437#define XCT_FUN_SIG_TCP4 0x0000000000000140ull
438#define XCT_FUN_SIG_TCP6 0x0000000000000150ull
439#define XCT_FUN_SIG_UDP4 0x0000000000000160ull
440#define XCT_FUN_SIG_UDP6 0x0000000000000170ull
441#define XCT_FUN_A 0x0000000000000008ull
442#define XCT_FUN_C 0x0000000000000004ull
443#define XCT_FUN_AL2 0x0000000000000002ull
444#define XCT_FUN_SE 0x0000000000000001ull
445
446/* Function descriptor 8byte result fields */
447#define XCT_FUNRES_8B_CS_M 0x0000ffff00000000ull
448#define XCT_FUNRES_8B_CS_S 32
449#define XCT_FUNRES_8B_CRC_M 0x00000000ffffffffull
450#define XCT_FUNRES_8B_CRC_S 0
451
397/* Control descriptor fields */ 452/* Control descriptor fields */
398#define CTRL_CMD_T 0x8000000000000000ull 453#define CTRL_CMD_T 0x8000000000000000ull
399#define CTRL_CMD_META_EVT 0x2000000000000000ull 454#define CTRL_CMD_META_EVT 0x2000000000000000ull
400#define CTRL_CMD_O 0x0400000000000000ull 455#define CTRL_CMD_O 0x0400000000000000ull
401#define CTRL_CMD_REG_M 0x000000000000000full 456#define CTRL_CMD_ETYPE_M 0x0038000000000000ull
457#define CTRL_CMD_ETYPE_EXT 0x0000000000000000ull
458#define CTRL_CMD_ETYPE_WSET 0x0020000000000000ull
459#define CTRL_CMD_ETYPE_WCLR 0x0028000000000000ull
460#define CTRL_CMD_ETYPE_SET 0x0030000000000000ull
461#define CTRL_CMD_ETYPE_CLR 0x0038000000000000ull
462#define CTRL_CMD_REG_M 0x000000000000007full
402#define CTRL_CMD_REG_S 0 463#define CTRL_CMD_REG_S 0
403#define CTRL_CMD_REG(x) ((((long)(x)) << CTRL_CMD_REG_S) & \ 464#define CTRL_CMD_REG(x) ((((long)(x)) << CTRL_CMD_REG_S) & \
404 CTRL_CMD_REG_M) 465 CTRL_CMD_REG_M)
@@ -461,6 +522,16 @@ extern void *pasemi_dma_alloc_buf(struct pasemi_dmachan *chan, int size,
461extern void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size, 522extern void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size,
462 dma_addr_t *handle); 523 dma_addr_t *handle);
463 524
525/* Routines to allocate flags (events) for channel syncronization */
526extern int pasemi_dma_alloc_flag(void);
527extern void pasemi_dma_free_flag(int flag);
528extern void pasemi_dma_set_flag(int flag);
529extern void pasemi_dma_clear_flag(int flag);
530
531/* Routines to allocate function engines */
532extern int pasemi_dma_alloc_fun(void);
533extern void pasemi_dma_free_fun(int fun);
534
464/* Initialize the library, must be called before any other functions */ 535/* Initialize the library, must be called before any other functions */
465extern int pasemi_dma_init(void); 536extern int pasemi_dma_init(void);
466 537
diff --git a/include/asm-powerpc/pgtable-ppc32.h b/include/asm-powerpc/pgtable-ppc32.h
index 2c79f550272..daea7692d07 100644
--- a/include/asm-powerpc/pgtable-ppc32.h
+++ b/include/asm-powerpc/pgtable-ppc32.h
@@ -98,9 +98,6 @@ extern int icache_44x_need_flush;
98#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) 98#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
99#define FIRST_USER_ADDRESS 0 99#define FIRST_USER_ADDRESS 0
100 100
101#define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT)
102#define KERNEL_PGD_PTRS (PTRS_PER_PGD-USER_PGD_PTRS)
103
104#define pte_ERROR(e) \ 101#define pte_ERROR(e) \
105 printk("%s:%d: bad pte %llx.\n", __FILE__, __LINE__, \ 102 printk("%s:%d: bad pte %llx.\n", __FILE__, __LINE__, \
106 (unsigned long long)pte_val(e)) 103 (unsigned long long)pte_val(e))
@@ -420,7 +417,8 @@ extern int icache_44x_need_flush;
420#define _PAGE_IO (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED) 417#define _PAGE_IO (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED)
421#define _PAGE_RAM (_PAGE_KERNEL | _PAGE_HWEXEC) 418#define _PAGE_RAM (_PAGE_KERNEL | _PAGE_HWEXEC)
422 419
423#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) 420#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) ||\
421 defined(CONFIG_KPROBES)
424/* We want the debuggers to be able to set breakpoints anywhere, so 422/* We want the debuggers to be able to set breakpoints anywhere, so
425 * don't write protect the kernel text */ 423 * don't write protect the kernel text */
426#define _PAGE_RAM_TEXT _PAGE_RAM 424#define _PAGE_RAM_TEXT _PAGE_RAM
@@ -692,7 +690,7 @@ extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
692#define pmd_page_vaddr(pmd) \ 690#define pmd_page_vaddr(pmd) \
693 ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) 691 ((unsigned long) (pmd_val(pmd) & PAGE_MASK))
694#define pmd_page(pmd) \ 692#define pmd_page(pmd) \
695 (mem_map + (__pa(pmd_val(pmd)) >> PAGE_SHIFT)) 693 pfn_to_page((__pa(pmd_val(pmd)) >> PAGE_SHIFT))
696#endif 694#endif
697 695
698/* to find an entry in a kernel page-table-directory */ 696/* to find an entry in a kernel page-table-directory */
diff --git a/include/asm-powerpc/phyp_dump.h b/include/asm-powerpc/phyp_dump.h
new file mode 100644
index 00000000000..fa74c6c3e10
--- /dev/null
+++ b/include/asm-powerpc/phyp_dump.h
@@ -0,0 +1,47 @@
1/*
2 * Hypervisor-assisted dump
3 *
4 * Linas Vepstas, Manish Ahuja 2008
5 * Copyright 2008 IBM Corp.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#ifndef _PPC64_PHYP_DUMP_H
14#define _PPC64_PHYP_DUMP_H
15
16#ifdef CONFIG_PHYP_DUMP
17
18/* The RMR region will be saved for later dumping
19 * whenever the kernel crashes. Set this to 256MB. */
20#define PHYP_DUMP_RMR_START 0x0
21#define PHYP_DUMP_RMR_END (1UL<<28)
22
23struct phyp_dump {
24 /* Memory that is reserved during very early boot. */
25 unsigned long init_reserve_start;
26 unsigned long init_reserve_size;
27 /* cmd line options during boot */
28 unsigned long reserve_bootvar;
29 unsigned long phyp_dump_at_boot;
30 /* Check status during boot if dump supported, active & present*/
31 unsigned long phyp_dump_configured;
32 unsigned long phyp_dump_is_active;
33 /* store cpu & hpte size */
34 unsigned long cpu_state_size;
35 unsigned long hpte_region_size;
36 /* previous scratch area values */
37 unsigned long reserved_scratch_addr;
38 unsigned long reserved_scratch_size;
39};
40
41extern struct phyp_dump *phyp_dump_info;
42
43int early_init_dt_scan_phyp_dump(unsigned long node,
44 const char *uname, int depth, void *data);
45
46#endif /* CONFIG_PHYP_DUMP */
47#endif /* _PPC64_PHYP_DUMP_H */
diff --git a/include/asm-powerpc/pmi.h b/include/asm-powerpc/pmi.h
index 2259d4ce384..e1dc090748d 100644
--- a/include/asm-powerpc/pmi.h
+++ b/include/asm-powerpc/pmi.h
@@ -29,8 +29,6 @@
29 29
30#ifdef __KERNEL__ 30#ifdef __KERNEL__
31 31
32#include <asm/of_device.h>
33
34#define PMI_TYPE_FREQ_CHANGE 0x01 32#define PMI_TYPE_FREQ_CHANGE 0x01
35#define PMI_READ_TYPE 0 33#define PMI_READ_TYPE 0
36#define PMI_READ_DATA0 1 34#define PMI_READ_DATA0 1
diff --git a/include/asm-powerpc/ppc4xx.h b/include/asm-powerpc/ppc4xx.h
new file mode 100644
index 00000000000..033039a80c4
--- /dev/null
+++ b/include/asm-powerpc/ppc4xx.h
@@ -0,0 +1,18 @@
1/*
2 * PPC4xx Prototypes and definitions
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * This is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 */
12
13#ifndef __ASM_POWERPC_PPC4xx_H__
14#define __ASM_POWERPC_PPC4xx_H__
15
16extern void ppc4xx_reset_system(char *cmd);
17
18#endif /* __ASM_POWERPC_PPC4xx_H__ */
diff --git a/include/asm-powerpc/ps3.h b/include/asm-powerpc/ps3.h
index 2b693673eff..9e8ed6824e1 100644
--- a/include/asm-powerpc/ps3.h
+++ b/include/asm-powerpc/ps3.h
@@ -434,8 +434,11 @@ struct ps3_sys_manager_ops {
434}; 434};
435 435
436void ps3_sys_manager_register_ops(const struct ps3_sys_manager_ops *ops); 436void ps3_sys_manager_register_ops(const struct ps3_sys_manager_ops *ops);
437void ps3_sys_manager_power_off(void); 437void __noreturn ps3_sys_manager_power_off(void);
438void ps3_sys_manager_restart(void); 438void __noreturn ps3_sys_manager_restart(void);
439void __noreturn ps3_sys_manager_halt(void);
440int ps3_sys_manager_get_wol(void);
441void ps3_sys_manager_set_wol(int state);
439 442
440struct ps3_prealloc { 443struct ps3_prealloc {
441 const char *name; 444 const char *name;
diff --git a/include/asm-powerpc/sparsemem.h b/include/asm-powerpc/sparsemem.h
index e8b493d52b4..9aea8e9f0bd 100644
--- a/include/asm-powerpc/sparsemem.h
+++ b/include/asm-powerpc/sparsemem.h
@@ -15,6 +15,7 @@
15 15
16#ifdef CONFIG_MEMORY_HOTPLUG 16#ifdef CONFIG_MEMORY_HOTPLUG
17extern void create_section_mapping(unsigned long start, unsigned long end); 17extern void create_section_mapping(unsigned long start, unsigned long end);
18extern int remove_section_mapping(unsigned long start, unsigned long end);
18#ifdef CONFIG_NUMA 19#ifdef CONFIG_NUMA
19extern int hot_add_scn_to_nid(unsigned long scn_addr); 20extern int hot_add_scn_to_nid(unsigned long scn_addr);
20#else 21#else
diff --git a/include/asm-powerpc/string.h b/include/asm-powerpc/string.h
index aa40f92c298..e40010abcaf 100644
--- a/include/asm-powerpc/string.h
+++ b/include/asm-powerpc/string.h
@@ -7,6 +7,7 @@
7#define __HAVE_ARCH_STRNCPY 7#define __HAVE_ARCH_STRNCPY
8#define __HAVE_ARCH_STRLEN 8#define __HAVE_ARCH_STRLEN
9#define __HAVE_ARCH_STRCMP 9#define __HAVE_ARCH_STRCMP
10#define __HAVE_ARCH_STRNCMP
10#define __HAVE_ARCH_STRCAT 11#define __HAVE_ARCH_STRCAT
11#define __HAVE_ARCH_MEMSET 12#define __HAVE_ARCH_MEMSET
12#define __HAVE_ARCH_MEMCPY 13#define __HAVE_ARCH_MEMCPY
@@ -18,6 +19,7 @@ extern char * strcpy(char *,const char *);
18extern char * strncpy(char *,const char *, __kernel_size_t); 19extern char * strncpy(char *,const char *, __kernel_size_t);
19extern __kernel_size_t strlen(const char *); 20extern __kernel_size_t strlen(const char *);
20extern int strcmp(const char *,const char *); 21extern int strcmp(const char *,const char *);
22extern int strncmp(const char *, const char *, __kernel_size_t);
21extern char * strcat(char *, const char *); 23extern char * strcat(char *, const char *);
22extern void * memset(void *,int,__kernel_size_t); 24extern void * memset(void *,int,__kernel_size_t);
23extern void * memcpy(void *,const void *,__kernel_size_t); 25extern void * memcpy(void *,const void *,__kernel_size_t);
diff --git a/include/asm-powerpc/types.h b/include/asm-powerpc/types.h
index 903fd193243..c243a6ac60e 100644
--- a/include/asm-powerpc/types.h
+++ b/include/asm-powerpc/types.h
@@ -84,6 +84,13 @@ typedef unsigned long long u64;
84 84
85typedef __vector128 vector128; 85typedef __vector128 vector128;
86 86
87/* Physical address used by some IO functions */
88#if defined(CONFIG_PPC64) || defined(CONFIG_PHYS_64BIT)
89typedef u64 phys_addr_t;
90#else
91typedef u32 phys_addr_t;
92#endif
93
87#ifdef __powerpc64__ 94#ifdef __powerpc64__
88typedef u64 dma_addr_t; 95typedef u64 dma_addr_t;
89#else 96#else
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/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/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/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/lmb.h b/include/asm-sparc64/lmb.h
new file mode 100644
index 00000000000..6a352cbcf52
--- /dev/null
+++ b/include/asm-sparc64/lmb.h
@@ -0,0 +1,10 @@
1#ifndef _SPARC64_LMB_H
2#define _SPARC64_LMB_H
3
4#include <asm/oplib.h>
5
6#define LMB_DBG(fmt...) prom_printf(fmt)
7
8#define LMB_REAL_LIMIT 0
9
10#endif /* !(_SPARC64_LMB_H) */
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/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/irqflags.h b/include/asm-x86/irqflags.h
index 92021c1ffa3..0e2292483b3 100644
--- a/include/asm-x86/irqflags.h
+++ b/include/asm-x86/irqflags.h
@@ -70,6 +70,26 @@ static inline void raw_local_irq_restore(unsigned long flags)
70 native_restore_fl(flags); 70 native_restore_fl(flags);
71} 71}
72 72
73#ifdef CONFIG_X86_VSMP
74
75/*
76 * Interrupt control for the VSMP architecture:
77 */
78
79static inline void raw_local_irq_disable(void)
80{
81 unsigned long flags = __raw_local_save_flags();
82 raw_local_irq_restore((flags & ~X86_EFLAGS_IF) | X86_EFLAGS_AC);
83}
84
85static inline void raw_local_irq_enable(void)
86{
87 unsigned long flags = __raw_local_save_flags();
88 raw_local_irq_restore((flags | X86_EFLAGS_IF) & (~X86_EFLAGS_AC));
89}
90
91#else
92
73static inline void raw_local_irq_disable(void) 93static inline void raw_local_irq_disable(void)
74{ 94{
75 native_irq_disable(); 95 native_irq_disable();
@@ -80,6 +100,8 @@ static inline void raw_local_irq_enable(void)
80 native_irq_enable(); 100 native_irq_enable();
81} 101}
82 102
103#endif
104
83/* 105/*
84 * Used in the idle loop; sti takes one instruction cycle 106 * Used in the idle loop; sti takes one instruction cycle
85 * to complete: 107 * to complete:
@@ -137,10 +159,17 @@ static inline unsigned long __raw_local_irq_save(void)
137#define raw_local_irq_save(flags) \ 159#define raw_local_irq_save(flags) \
138 do { (flags) = __raw_local_irq_save(); } while (0) 160 do { (flags) = __raw_local_irq_save(); } while (0)
139 161
162#ifdef CONFIG_X86_VSMP
163static inline int raw_irqs_disabled_flags(unsigned long flags)
164{
165 return !(flags & X86_EFLAGS_IF) || (flags & X86_EFLAGS_AC);
166}
167#else
140static inline int raw_irqs_disabled_flags(unsigned long flags) 168static inline int raw_irqs_disabled_flags(unsigned long flags)
141{ 169{
142 return !(flags & X86_EFLAGS_IF); 170 return !(flags & X86_EFLAGS_IF);
143} 171}
172#endif
144 173
145static inline int raw_irqs_disabled(void) 174static inline int raw_irqs_disabled(void)
146{ 175{
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/linkage.h b/include/asm-x86/linkage.h
index 31739c7d66a..c048353f4b8 100644
--- a/include/asm-x86/linkage.h
+++ b/include/asm-x86/linkage.h
@@ -8,12 +8,45 @@
8 8
9#ifdef CONFIG_X86_32 9#ifdef CONFIG_X86_32
10#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) 10#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
11#define prevent_tail_call(ret) __asm__ ("" : "=r" (ret) : "0" (ret))
12/* 11/*
13 * For 32-bit UML - mark functions implemented in assembly that use 12 * For 32-bit UML - mark functions implemented in assembly that use
14 * regparm input parameters: 13 * regparm input parameters:
15 */ 14 */
16#define asmregparm __attribute__((regparm(3))) 15#define asmregparm __attribute__((regparm(3)))
16
17/*
18 * Make sure the compiler doesn't do anything stupid with the
19 * arguments on the stack - they are owned by the *caller*, not
20 * the callee. This just fools gcc into not spilling into them,
21 * and keeps it from doing tailcall recursion and/or using the
22 * stack slots for temporaries, since they are live and "used"
23 * all the way to the end of the function.
24 *
25 * NOTE! On x86-64, all the arguments are in registers, so this
26 * only matters on a 32-bit kernel.
27 */
28#define asmlinkage_protect(n, ret, args...) \
29 __asmlinkage_protect##n(ret, ##args)
30#define __asmlinkage_protect_n(ret, args...) \
31 __asm__ __volatile__ ("" : "=r" (ret) : "0" (ret), ##args)
32#define __asmlinkage_protect0(ret) \
33 __asmlinkage_protect_n(ret)
34#define __asmlinkage_protect1(ret, arg1) \
35 __asmlinkage_protect_n(ret, "g" (arg1))
36#define __asmlinkage_protect2(ret, arg1, arg2) \
37 __asmlinkage_protect_n(ret, "g" (arg1), "g" (arg2))
38#define __asmlinkage_protect3(ret, arg1, arg2, arg3) \
39 __asmlinkage_protect_n(ret, "g" (arg1), "g" (arg2), "g" (arg3))
40#define __asmlinkage_protect4(ret, arg1, arg2, arg3, arg4) \
41 __asmlinkage_protect_n(ret, "g" (arg1), "g" (arg2), "g" (arg3), \
42 "g" (arg4))
43#define __asmlinkage_protect5(ret, arg1, arg2, arg3, arg4, arg5) \
44 __asmlinkage_protect_n(ret, "g" (arg1), "g" (arg2), "g" (arg3), \
45 "g" (arg4), "g" (arg5))
46#define __asmlinkage_protect6(ret, arg1, arg2, arg3, arg4, arg5, arg6) \
47 __asmlinkage_protect_n(ret, "g" (arg1), "g" (arg2), "g" (arg3), \
48 "g" (arg4), "g" (arg5), "g" (arg6))
49
17#endif 50#endif
18 51
19#ifdef CONFIG_X86_ALIGNMENT_16 52#ifdef CONFIG_X86_ALIGNMENT_16
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/nops.h b/include/asm-x86/nops.h
index e3b2bce0aff..b3930ae539b 100644
--- a/include/asm-x86/nops.h
+++ b/include/asm-x86/nops.h
@@ -73,16 +73,7 @@
73#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" 73#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n"
74#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" 74#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n"
75 75
76#if defined(CONFIG_MK8) 76#if defined(CONFIG_MK7)
77#define ASM_NOP1 K8_NOP1
78#define ASM_NOP2 K8_NOP2
79#define ASM_NOP3 K8_NOP3
80#define ASM_NOP4 K8_NOP4
81#define ASM_NOP5 K8_NOP5
82#define ASM_NOP6 K8_NOP6
83#define ASM_NOP7 K8_NOP7
84#define ASM_NOP8 K8_NOP8
85#elif defined(CONFIG_MK7)
86#define ASM_NOP1 K7_NOP1 77#define ASM_NOP1 K7_NOP1
87#define ASM_NOP2 K7_NOP2 78#define ASM_NOP2 K7_NOP2
88#define ASM_NOP3 K7_NOP3 79#define ASM_NOP3 K7_NOP3
@@ -100,6 +91,15 @@
100#define ASM_NOP6 P6_NOP6 91#define ASM_NOP6 P6_NOP6
101#define ASM_NOP7 P6_NOP7 92#define ASM_NOP7 P6_NOP7
102#define ASM_NOP8 P6_NOP8 93#define ASM_NOP8 P6_NOP8
94#elif defined(CONFIG_X86_64)
95#define ASM_NOP1 K8_NOP1
96#define ASM_NOP2 K8_NOP2
97#define ASM_NOP3 K8_NOP3
98#define ASM_NOP4 K8_NOP4
99#define ASM_NOP5 K8_NOP5
100#define ASM_NOP6 K8_NOP6
101#define ASM_NOP7 K8_NOP7
102#define ASM_NOP8 K8_NOP8
103#else 103#else
104#define ASM_NOP1 GENERIC_NOP1 104#define ASM_NOP1 GENERIC_NOP1
105#define ASM_NOP2 GENERIC_NOP2 105#define ASM_NOP2 GENERIC_NOP2
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-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 4108b38ebb1..9cdd12a9e84 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -195,7 +195,6 @@ unifdef-y += ethtool.h
195unifdef-y += eventpoll.h 195unifdef-y += eventpoll.h
196unifdef-y += signalfd.h 196unifdef-y += signalfd.h
197unifdef-y += ext2_fs.h 197unifdef-y += ext2_fs.h
198unifdef-y += ext3_fs.h
199unifdef-y += fb.h 198unifdef-y += fb.h
200unifdef-y += fcntl.h 199unifdef-y += fcntl.h
201unifdef-y += filter.h 200unifdef-y += filter.h
@@ -248,14 +247,13 @@ unifdef-y += isdn.h
248unifdef-y += isdnif.h 247unifdef-y += isdnif.h
249unifdef-y += isdn_divertif.h 248unifdef-y += isdn_divertif.h
250unifdef-y += isdn_ppp.h 249unifdef-y += isdn_ppp.h
251unifdef-y += jbd.h
252unifdef-y += joystick.h 250unifdef-y += joystick.h
253unifdef-y += kdev_t.h 251unifdef-y += kdev_t.h
254unifdef-y += kd.h 252unifdef-y += kd.h
255unifdef-y += kernelcapi.h 253unifdef-y += kernelcapi.h
256unifdef-y += kernel.h 254unifdef-y += kernel.h
257unifdef-y += keyboard.h 255unifdef-y += keyboard.h
258unifdef-$(CONFIG_HAVE_KVM) += kvm.h 256unifdef-y += kvm.h
259unifdef-y += llc.h 257unifdef-y += llc.h
260unifdef-y += loop.h 258unifdef-y += loop.h
261unifdef-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/cgroup.h b/include/linux/cgroup.h
index 028ba3b523b..a6a6035a4e1 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -256,6 +256,7 @@ struct cgroup_subsys {
256 void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); 256 void (*bind)(struct cgroup_subsys *ss, struct cgroup *root);
257 int subsys_id; 257 int subsys_id;
258 int active; 258 int active;
259 int disabled;
259 int early_init; 260 int early_init;
260#define MAX_CGROUP_TYPE_NAMELEN 32 261#define MAX_CGROUP_TYPE_NAMELEN 32
261 const char *name; 262 const char *name;
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/hpet.h b/include/linux/hpet.h
index 9cd94bfd07e..2dc29ce6c8e 100644
--- a/include/linux/hpet.h
+++ b/include/linux/hpet.h
@@ -64,7 +64,7 @@ struct hpet {
64 */ 64 */
65 65
66#define Tn_INT_ROUTE_CAP_MASK (0xffffffff00000000ULL) 66#define Tn_INT_ROUTE_CAP_MASK (0xffffffff00000000ULL)
67#define Tn_INT_ROUTE_CAP_SHIFT (32UL) 67#define Tn_INI_ROUTE_CAP_SHIFT (32UL)
68#define Tn_FSB_INT_DELCAP_MASK (0x8000UL) 68#define Tn_FSB_INT_DELCAP_MASK (0x8000UL)
69#define Tn_FSB_INT_DELCAP_SHIFT (15) 69#define Tn_FSB_INT_DELCAP_SHIFT (15)
70#define Tn_FSB_EN_CNF_MASK (0x4000UL) 70#define Tn_FSB_EN_CNF_MASK (0x4000UL)
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/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..37ee881c42a 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 */
@@ -350,7 +350,8 @@ enum {
350 ATAPI_READ = 0, /* READs */ 350 ATAPI_READ = 0, /* READs */
351 ATAPI_WRITE = 1, /* WRITEs */ 351 ATAPI_WRITE = 1, /* WRITEs */
352 ATAPI_READ_CD = 2, /* READ CD [MSF] */ 352 ATAPI_READ_CD = 2, /* READ CD [MSF] */
353 ATAPI_MISC = 3, /* the rest */ 353 ATAPI_PASS_THRU = 3, /* SAT pass-thru */
354 ATAPI_MISC = 4, /* the rest */
354}; 355};
355 356
356enum ata_xfer_mask { 357enum ata_xfer_mask {
@@ -463,6 +464,7 @@ struct ata_queued_cmd {
463 unsigned int sect_size; 464 unsigned int sect_size;
464 465
465 unsigned int nbytes; 466 unsigned int nbytes;
467 unsigned int extrabytes;
466 unsigned int curbytes; 468 unsigned int curbytes;
467 469
468 struct scatterlist *cursg; 470 struct scatterlist *cursg;
@@ -848,6 +850,7 @@ extern unsigned int ata_dev_try_classify(struct ata_device *dev, int present,
848 */ 850 */
849extern void ata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf); 851extern void ata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf);
850extern void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf); 852extern void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
853extern int atapi_cmd_type(u8 opcode);
851extern void ata_tf_to_fis(const struct ata_taskfile *tf, 854extern void ata_tf_to_fis(const struct ata_taskfile *tf,
852 u8 pmp, int is_cmd, u8 *fis); 855 u8 pmp, int is_cmd, u8 *fis);
853extern void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf); 856extern void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf);
@@ -1336,6 +1339,11 @@ static inline struct ata_queued_cmd *ata_qc_from_tag(struct ata_port *ap,
1336 return NULL; 1339 return NULL;
1337} 1340}
1338 1341
1342static inline unsigned int ata_qc_raw_nbytes(struct ata_queued_cmd *qc)
1343{
1344 return qc->nbytes - min(qc->extrabytes, qc->nbytes);
1345}
1346
1339static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf) 1347static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
1340{ 1348{
1341 memset(tf, 0, sizeof(*tf)); 1349 memset(tf, 0, sizeof(*tf));
@@ -1354,7 +1362,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
1354 qc->flags = 0; 1362 qc->flags = 0;
1355 qc->cursg = NULL; 1363 qc->cursg = NULL;
1356 qc->cursg_ofs = 0; 1364 qc->cursg_ofs = 0;
1357 qc->nbytes = qc->curbytes = 0; 1365 qc->nbytes = qc->extrabytes = qc->curbytes = 0;
1358 qc->n_elem = 0; 1366 qc->n_elem = 0;
1359 qc->err_mask = 0; 1367 qc->err_mask = 0;
1360 qc->sect_size = ATA_SECT_SIZE; 1368 qc->sect_size = ATA_SECT_SIZE;
@@ -1373,27 +1381,6 @@ static inline int ata_try_flush_cache(const struct ata_device *dev)
1373 ata_id_has_flush_ext(dev->id); 1381 ata_id_has_flush_ext(dev->id);
1374} 1382}
1375 1383
1376static inline int atapi_cmd_type(u8 opcode)
1377{
1378 switch (opcode) {
1379 case GPCMD_READ_10:
1380 case GPCMD_READ_12:
1381 return ATAPI_READ;
1382
1383 case GPCMD_WRITE_10:
1384 case GPCMD_WRITE_12:
1385 case GPCMD_WRITE_AND_VERIFY_10:
1386 return ATAPI_WRITE;
1387
1388 case GPCMD_READ_CD:
1389 case GPCMD_READ_CD_MSF:
1390 return ATAPI_READ_CD;
1391
1392 default:
1393 return ATAPI_MISC;
1394 }
1395}
1396
1397static inline unsigned int ac_err_mask(u8 status) 1384static inline unsigned int ac_err_mask(u8 status)
1398{ 1385{
1399 if (status & (ATA_BUSY | ATA_DRQ)) 1386 if (status & (ATA_BUSY | ATA_DRQ))
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 0592936344c..2119610b24f 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -17,8 +17,24 @@
17# define asmregparm 17# define asmregparm
18#endif 18#endif
19 19
20#ifndef prevent_tail_call 20/*
21# define prevent_tail_call(ret) do { } while (0) 21 * This is used by architectures to keep arguments on the stack
22 * untouched by the compiler by keeping them live until the end.
23 * The argument stack may be owned by the assembly-language
24 * caller, not the callee, and gcc doesn't always understand
25 * that.
26 *
27 * We have the return value, and a maximum of six arguments.
28 *
29 * This should always be followed by a "return ret" for the
30 * protection to work (ie no more work that the compiler might
31 * end up needing stack temporaries for).
32 */
33/* Assembly files may be compiled with -traditional .. */
34#ifndef __ASSEMBLY__
35#ifndef asmlinkage_protect
36# define asmlinkage_protect(n, ret, args...) do { } while (0)
37#endif
22#endif 38#endif
23 39
24#ifndef __ALIGN 40#ifndef __ALIGN
diff --git a/include/linux/lmb.h b/include/linux/lmb.h
new file mode 100644
index 00000000000..271153d27fb
--- /dev/null
+++ b/include/linux/lmb.h
@@ -0,0 +1,85 @@
1#ifndef _LINUX_LMB_H
2#define _LINUX_LMB_H
3#ifdef __KERNEL__
4
5/*
6 * Logical memory blocks.
7 *
8 * Copyright (C) 2001 Peter Bergner, IBM Corp.
9 *
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License
12 * as published by the Free Software Foundation; either version
13 * 2 of the License, or (at your option) any later version.
14 */
15
16#include <linux/init.h>
17#include <linux/mm.h>
18
19#define MAX_LMB_REGIONS 128
20
21struct lmb_property {
22 u64 base;
23 u64 size;
24};
25
26struct lmb_region {
27 unsigned long cnt;
28 u64 size;
29 struct lmb_property region[MAX_LMB_REGIONS+1];
30};
31
32struct lmb {
33 unsigned long debug;
34 u64 rmo_size;
35 struct lmb_region memory;
36 struct lmb_region reserved;
37};
38
39extern struct lmb lmb;
40
41extern void __init lmb_init(void);
42extern void __init lmb_analyze(void);
43extern long __init lmb_add(u64 base, u64 size);
44extern long __init lmb_reserve(u64 base, u64 size);
45extern u64 __init lmb_alloc_nid(u64 size, u64 align, int nid,
46 u64 (*nid_range)(u64, u64, int *));
47extern u64 __init lmb_alloc(u64 size, u64 align);
48extern u64 __init lmb_alloc_base(u64 size,
49 u64, u64 max_addr);
50extern u64 __init __lmb_alloc_base(u64 size,
51 u64 align, u64 max_addr);
52extern u64 __init lmb_phys_mem_size(void);
53extern u64 __init lmb_end_of_DRAM(void);
54extern void __init lmb_enforce_memory_limit(u64 memory_limit);
55extern int __init lmb_is_reserved(u64 addr);
56
57extern void lmb_dump_all(void);
58
59static inline u64
60lmb_size_bytes(struct lmb_region *type, unsigned long region_nr)
61{
62 return type->region[region_nr].size;
63}
64static inline u64
65lmb_size_pages(struct lmb_region *type, unsigned long region_nr)
66{
67 return lmb_size_bytes(type, region_nr) >> PAGE_SHIFT;
68}
69static inline u64
70lmb_start_pfn(struct lmb_region *type, unsigned long region_nr)
71{
72 return type->region[region_nr].base >> PAGE_SHIFT;
73}
74static inline u64
75lmb_end_pfn(struct lmb_region *type, unsigned long region_nr)
76{
77 return lmb_start_pfn(type, region_nr) +
78 lmb_size_pages(type, region_nr);
79}
80
81#include <asm/lmb.h>
82
83#endif /* __KERNEL__ */
84
85#endif /* _LINUX_LMB_H */
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/netdevice.h b/include/linux/netdevice.h
index a2f003239c8..ee81906b516 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -383,9 +383,11 @@ static inline void __napi_complete(struct napi_struct *n)
383 383
384static inline void napi_complete(struct napi_struct *n) 384static inline void napi_complete(struct napi_struct *n)
385{ 385{
386 local_irq_disable(); 386 unsigned long flags;
387
388 local_irq_save(flags);
387 __napi_complete(n); 389 __napi_complete(n);
388 local_irq_enable(); 390 local_irq_restore(flags);
389} 391}
390 392
391/** 393/**
@@ -1072,12 +1074,14 @@ static inline int netif_is_multiqueue(const struct net_device *dev)
1072} 1074}
1073 1075
1074/* Use this variant when it is known for sure that it 1076/* Use this variant when it is known for sure that it
1075 * is executing from interrupt context. 1077 * is executing from hardware interrupt context or with hardware interrupts
1078 * disabled.
1076 */ 1079 */
1077extern void dev_kfree_skb_irq(struct sk_buff *skb); 1080extern void dev_kfree_skb_irq(struct sk_buff *skb);
1078 1081
1079/* Use this variant in places where it could be invoked 1082/* Use this variant in places where it could be invoked
1080 * either from interrupt or non-interrupt context. 1083 * from either hardware interrupt or other context, with hardware interrupts
1084 * either disabled or enabled.
1081 */ 1085 */
1082extern void dev_kfree_skb_any(struct sk_buff *skb); 1086extern void dev_kfree_skb_any(struct sk_buff *skb);
1083 1087
diff --git a/include/linux/of.h b/include/linux/of.h
index 6981016dcc2..59a61bdc98b 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -62,6 +62,7 @@ extern struct property *of_find_property(const struct device_node *np,
62 int *lenp); 62 int *lenp);
63extern int of_device_is_compatible(const struct device_node *device, 63extern int of_device_is_compatible(const struct device_node *device,
64 const char *); 64 const char *);
65extern int of_device_is_available(const struct device_node *device);
65extern const void *of_get_property(const struct device_node *node, 66extern const void *of_get_property(const struct device_node *node,
66 const char *name, 67 const char *name,
67 int *lenp); 68 int *lenp);
diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
new file mode 100644
index 00000000000..2ee97e9877a
--- /dev/null
+++ b/include/linux/of_gpio.h
@@ -0,0 +1,69 @@
1/*
2 * OF helpers for the GPIO API
3 *
4 * Copyright (c) 2007-2008 MontaVista Software, Inc.
5 *
6 * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13
14#ifndef __LINUX_OF_GPIO_H
15#define __LINUX_OF_GPIO_H
16
17#include <linux/errno.h>
18#include <asm/gpio.h>
19
20#ifdef CONFIG_OF_GPIO
21
22/*
23 * Generic OF GPIO chip
24 */
25struct of_gpio_chip {
26 struct gpio_chip gc;
27 int gpio_cells;
28 int (*xlate)(struct of_gpio_chip *of_gc, struct device_node *np,
29 const void *gpio_spec);
30};
31
32static inline struct of_gpio_chip *to_of_gpio_chip(struct gpio_chip *gc)
33{
34 return container_of(gc, struct of_gpio_chip, gc);
35}
36
37/*
38 * OF GPIO chip for memory mapped banks
39 */
40struct of_mm_gpio_chip {
41 struct of_gpio_chip of_gc;
42 void (*save_regs)(struct of_mm_gpio_chip *mm_gc);
43 void __iomem *regs;
44};
45
46static inline struct of_mm_gpio_chip *to_of_mm_gpio_chip(struct gpio_chip *gc)
47{
48 struct of_gpio_chip *of_gc = to_of_gpio_chip(gc);
49
50 return container_of(of_gc, struct of_mm_gpio_chip, of_gc);
51}
52
53extern int of_get_gpio(struct device_node *np, int index);
54extern int of_mm_gpiochip_add(struct device_node *np,
55 struct of_mm_gpio_chip *mm_gc);
56extern int of_gpio_simple_xlate(struct of_gpio_chip *of_gc,
57 struct device_node *np,
58 const void *gpio_spec);
59#else
60
61/* Drivers may not strictly depend on the GPIO support, so let them link. */
62static inline int of_get_gpio(struct device_node *np, int index)
63{
64 return -ENOSYS;
65}
66
67#endif /* CONFIG_OF_GPIO */
68
69#endif /* __LINUX_OF_GPIO_H */
diff --git a/include/linux/of_i2c.h b/include/linux/of_i2c.h
new file mode 100644
index 00000000000..2e5a9673204
--- /dev/null
+++ b/include/linux/of_i2c.h
@@ -0,0 +1,24 @@
1/*
2 * Generic I2C API implementation for PowerPC.
3 *
4 * Copyright (c) 2008 Jochen Friedrich <jochen@scram.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 */
11
12#ifndef __LINUX_OF_I2C_H
13#define __LINUX_OF_I2C_H
14
15#include <linux/i2c.h>
16
17#ifdef CONFIG_OF_I2C
18
19void of_register_i2c_devices(struct i2c_adapter *adap,
20 struct device_node *adap_node);
21
22#endif /* CONFIG_OF_I2C */
23
24#endif /* __LINUX_OF_I2C_H */
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 29dd55838e8..b2f05c230f4 100644
--- a/include/linux/pnp.h
+++ b/include/linux/pnp.h
@@ -175,7 +175,7 @@ static inline void pnp_set_card_drvdata(struct pnp_card_link *pcard, void *data)
175struct pnp_dev { 175struct pnp_dev {
176 struct device dev; /* Driver Model device interface */ 176 struct device dev; /* Driver Model device interface */
177 u64 dma_mask; 177 u64 dma_mask;
178 unsigned char number; /* used as an index, must be unique */ 178 unsigned int number; /* used as an index, must be unique */
179 int status; 179 int status;
180 180
181 struct list_head global_list; /* node in global list of devices */ 181 struct list_head global_list; /* node in global list of devices */
diff --git a/include/linux/sched.h b/include/linux/sched.h
index fed07d03364..6a1e7afb099 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1541,6 +1541,12 @@ static inline void idle_task_exit(void) {}
1541 1541
1542extern void sched_idle_next(void); 1542extern void sched_idle_next(void);
1543 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
1544#ifdef CONFIG_SCHED_DEBUG 1550#ifdef CONFIG_SCHED_DEBUG
1545extern unsigned int sysctl_sched_latency; 1551extern unsigned int sysctl_sched_latency;
1546extern unsigned int sysctl_sched_min_granularity; 1552extern unsigned int sysctl_sched_min_granularity;
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index 576a5f77d3b..1129ee0a718 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -341,6 +341,9 @@ static inline void double_spin_unlock(spinlock_t *l1, spinlock_t *l2,
341 * atomic_dec_and_lock - lock on reaching reference count zero 341 * atomic_dec_and_lock - lock on reaching reference count zero
342 * @atomic: the atomic counter 342 * @atomic: the atomic counter
343 * @lock: the spinlock in question 343 * @lock: the spinlock in question
344 *
345 * Decrements @atomic by 1. If the result is 0, returns true and locks
346 * @lock. Returns false for all other cases.
344 */ 347 */
345extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); 348extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
346#define atomic_dec_and_lock(atomic, lock) \ 349#define atomic_dec_and_lock(atomic, lock) \
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/include/linux/virtio.h b/include/linux/virtio.h
index 12c18ac1b97..e7d10845b3c 100644
--- a/include/linux/virtio.h
+++ b/include/linux/virtio.h
@@ -41,6 +41,8 @@ struct virtqueue
41 * Returns NULL or the "data" token handed to add_buf. 41 * Returns NULL or the "data" token handed to add_buf.
42 * @disable_cb: disable callbacks 42 * @disable_cb: disable callbacks
43 * vq: the struct virtqueue we're talking about. 43 * vq: the struct virtqueue we're talking about.
44 * Note that this is not necessarily synchronous, hence unreliable and only
45 * useful as an optimization.
44 * @enable_cb: restart callbacks after disable_cb. 46 * @enable_cb: restart callbacks after disable_cb.
45 * vq: the struct virtqueue we're talking about. 47 * vq: the struct virtqueue we're talking about.
46 * This re-enables callbacks; it returns "false" if there are pending 48 * This re-enables callbacks; it returns "false" if there are pending
@@ -48,7 +50,8 @@ struct virtqueue
48 * checking for more work, and enabling callbacks. 50 * checking for more work, and enabling callbacks.
49 * 51 *
50 * Locking rules are straightforward: the driver is responsible for 52 * Locking rules are straightforward: the driver is responsible for
51 * locking. No two operations may be invoked simultaneously. 53 * locking. No two operations may be invoked simultaneously, with the exception
54 * of @disable_cb.
52 * 55 *
53 * All operations can be called in any context. 56 * All operations can be called in any context.
54 */ 57 */
diff --git a/include/net/llc.h b/include/net/llc.h
index f5024583fc8..7940da1606e 100644
--- a/include/net/llc.h
+++ b/include/net/llc.h
@@ -65,7 +65,6 @@ struct llc_sap {
65 65
66extern struct list_head llc_sap_list; 66extern struct list_head llc_sap_list;
67extern rwlock_t llc_sap_list_lock; 67extern rwlock_t llc_sap_list_lock;
68extern unsigned char llc_station_mac_sa[ETH_ALEN];
69 68
70extern int llc_rcv(struct sk_buff *skb, struct net_device *dev, 69extern int llc_rcv(struct sk_buff *skb, struct net_device *dev,
71 struct packet_type *pt, struct net_device *orig_dev); 70 struct packet_type *pt, struct net_device *orig_dev);
diff --git a/include/net/llc_pdu.h b/include/net/llc_pdu.h
index 4a8f58b17e4..75b8e2968c9 100644
--- a/include/net/llc_pdu.h
+++ b/include/net/llc_pdu.h
@@ -381,7 +381,7 @@ static inline void llc_pdu_init_as_xid_cmd(struct sk_buff *skb,
381 xid_info->fmt_id = LLC_XID_FMT_ID; /* 0x81 */ 381 xid_info->fmt_id = LLC_XID_FMT_ID; /* 0x81 */
382 xid_info->type = svcs_supported; 382 xid_info->type = svcs_supported;
383 xid_info->rw = rx_window << 1; /* size of receive window */ 383 xid_info->rw = rx_window << 1; /* size of receive window */
384 skb_put(skb, 3); 384 skb_put(skb, sizeof(struct llc_xid_info));
385} 385}
386 386
387/** 387/**
@@ -406,7 +406,7 @@ static inline void llc_pdu_init_as_xid_rsp(struct sk_buff *skb,
406 xid_info->fmt_id = LLC_XID_FMT_ID; 406 xid_info->fmt_id = LLC_XID_FMT_ID;
407 xid_info->type = svcs_supported; 407 xid_info->type = svcs_supported;
408 xid_info->rw = rx_window << 1; 408 xid_info->rw = rx_window << 1;
409 skb_put(skb, 3); 409 skb_put(skb, sizeof(struct llc_xid_info));
410} 410}
411 411
412/* LLC Type 2 FRMR response information field format */ 412/* LLC Type 2 FRMR response information field format */
diff --git a/include/net/llc_sap.h b/include/net/llc_sap.h
index 2c56dbece72..ed25bec2f64 100644
--- a/include/net/llc_sap.h
+++ b/include/net/llc_sap.h
@@ -1,5 +1,8 @@
1#ifndef LLC_SAP_H 1#ifndef LLC_SAP_H
2#define LLC_SAP_H 2#define LLC_SAP_H
3
4#include <asm/types.h>
5
3/* 6/*
4 * Copyright (c) 1997 by Procom Technology,Inc. 7 * Copyright (c) 1997 by Procom Technology,Inc.
5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br> 8 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
@@ -19,8 +22,8 @@ struct sock;
19extern void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb); 22extern void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb);
20extern void llc_save_primitive(struct sock *sk, struct sk_buff* skb, 23extern void llc_save_primitive(struct sock *sk, struct sk_buff* skb,
21 unsigned char prim); 24 unsigned char prim);
22extern struct sk_buff *llc_alloc_frame(struct sock *sk, 25extern struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev,
23 struct net_device *dev); 26 u8 type, u32 data_size);
24 27
25extern void llc_build_and_send_test_pkt(struct llc_sap *sap, 28extern void llc_build_and_send_test_pkt(struct llc_sap *sap,
26 struct sk_buff *skb, 29 struct sk_buff *skb,
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index ebbfb509822..64a5f0120b5 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -218,6 +218,10 @@ extern unsigned long neigh_rand_reach_time(unsigned long base);
218extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p, 218extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p,
219 struct sk_buff *skb); 219 struct sk_buff *skb);
220extern struct pneigh_entry *pneigh_lookup(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev, int creat); 220extern struct pneigh_entry *pneigh_lookup(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev, int creat);
221extern struct pneigh_entry *__pneigh_lookup(struct neigh_table *tbl,
222 struct net *net,
223 const void *key,
224 struct net_device *dev);
221extern int pneigh_delete(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev); 225extern int pneigh_delete(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev);
222 226
223extern void neigh_app_ns(struct neighbour *n); 227extern void neigh_app_ns(struct neighbour *n);
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 57ed3e323d9..ea806732b08 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -389,7 +389,7 @@ void sctp_v6_del_protocol(void);
389 389
390#else /* #ifdef defined(CONFIG_IPV6) */ 390#else /* #ifdef defined(CONFIG_IPV6) */
391 391
392static inline void sctp_v6_pf_init(void) { return 0; } 392static inline void sctp_v6_pf_init(void) { return; }
393static inline void sctp_v6_pf_exit(void) { return; } 393static inline void sctp_v6_pf_exit(void) { return; }
394static inline int sctp_v6_protosw_init(void) { return 0; } 394static inline int sctp_v6_protosw_init(void) { return 0; }
395static inline void sctp_v6_protosw_exit(void) { return; } 395static inline void sctp_v6_protosw_exit(void) { return; }
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 7de4ea3a04d..4fd3eb2f8ec 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -752,6 +752,8 @@ static inline unsigned int tcp_packets_in_flight(const struct tcp_sock *tp)
752 return tp->packets_out - tcp_left_out(tp) + tp->retrans_out; 752 return tp->packets_out - tcp_left_out(tp) + tp->retrans_out;
753} 753}
754 754
755extern int tcp_limit_reno_sacked(struct tcp_sock *tp);
756
755/* If cwnd > ssthresh, we may raise ssthresh to be half-way to cwnd. 757/* If cwnd > ssthresh, we may raise ssthresh to be half-way to cwnd.
756 * The exception is rate halving phase, when cwnd is decreasing towards 758 * The exception is rate halving phase, when cwnd is decreasing towards
757 * ssthresh. 759 * ssthresh.
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 619c53bc3cd..0d255ae008b 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -204,6 +204,7 @@ struct xfrm_state
204 * transformer. */ 204 * transformer. */
205 const struct xfrm_type *type; 205 const struct xfrm_type *type;
206 struct xfrm_mode *inner_mode; 206 struct xfrm_mode *inner_mode;
207 struct xfrm_mode *inner_mode_iaf;
207 struct xfrm_mode *outer_mode; 208 struct xfrm_mode *outer_mode;
208 209
209 /* Security context */ 210 /* Security context */
@@ -387,6 +388,27 @@ enum {
387extern int xfrm_register_mode(struct xfrm_mode *mode, int family); 388extern int xfrm_register_mode(struct xfrm_mode *mode, int family);
388extern int xfrm_unregister_mode(struct xfrm_mode *mode, int family); 389extern int xfrm_unregister_mode(struct xfrm_mode *mode, int family);
389 390
391static inline int xfrm_af2proto(unsigned int family)
392{
393 switch(family) {
394 case AF_INET:
395 return IPPROTO_IPIP;
396 case AF_INET6:
397 return IPPROTO_IPV6;
398 default:
399 return 0;
400 }
401}
402
403static inline struct xfrm_mode *xfrm_ip2inner_mode(struct xfrm_state *x, int ipproto)
404{
405 if ((ipproto == IPPROTO_IPIP && x->props.family == AF_INET) ||
406 (ipproto == IPPROTO_IPV6 && x->props.family == AF_INET6))
407 return x->inner_mode;
408 else
409 return x->inner_mode_iaf;
410}
411
390struct xfrm_tmpl 412struct xfrm_tmpl
391{ 413{
392/* id in template is interpreted as: 414/* id in template is interpreted as:
@@ -530,6 +552,9 @@ struct xfrm_mode_skb_cb {
530 __be16 id; 552 __be16 id;
531 __be16 frag_off; 553 __be16 frag_off;
532 554
555 /* IP header length (excluding options or extension headers). */
556 u8 ihl;
557
533 /* TOS for IPv4, class for IPv6. */ 558 /* TOS for IPv4, class for IPv6. */
534 u8 tos; 559 u8 tos;
535 560
@@ -539,6 +564,9 @@ struct xfrm_mode_skb_cb {
539 /* Protocol for IPv4, NH for IPv6. */ 564 /* Protocol for IPv4, NH for IPv6. */
540 u8 protocol; 565 u8 protocol;
541 566
567 /* Option length for IPv4, zero for IPv6. */
568 u8 optlen;
569
542 /* Used by IPv6 only, zero for IPv4. */ 570 /* Used by IPv6 only, zero for IPv4. */
543 u8 flow_lbl[3]; 571 u8 flow_lbl[3];
544}; 572};
@@ -1253,6 +1281,7 @@ extern int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi,
1253extern int xfrm_input_resume(struct sk_buff *skb, int nexthdr); 1281extern int xfrm_input_resume(struct sk_buff *skb, int nexthdr);
1254extern int xfrm_output_resume(struct sk_buff *skb, int err); 1282extern int xfrm_output_resume(struct sk_buff *skb, int err);
1255extern int xfrm_output(struct sk_buff *skb); 1283extern int xfrm_output(struct sk_buff *skb);
1284extern int xfrm_inner_extract_output(struct xfrm_state *x, struct sk_buff *skb);
1256extern int xfrm4_extract_header(struct sk_buff *skb); 1285extern int xfrm4_extract_header(struct sk_buff *skb);
1257extern int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb); 1286extern int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb);
1258extern int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi, 1287extern int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi,
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..2727f923835 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -782,7 +782,14 @@ static int parse_cgroupfs_options(char *data,
782 if (!*token) 782 if (!*token)
783 return -EINVAL; 783 return -EINVAL;
784 if (!strcmp(token, "all")) { 784 if (!strcmp(token, "all")) {
785 opts->subsys_bits = (1 << CGROUP_SUBSYS_COUNT) - 1; 785 /* Add all non-disabled subsystems */
786 int i;
787 opts->subsys_bits = 0;
788 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
789 struct cgroup_subsys *ss = subsys[i];
790 if (!ss->disabled)
791 opts->subsys_bits |= 1ul << i;
792 }
786 } else if (!strcmp(token, "noprefix")) { 793 } else if (!strcmp(token, "noprefix")) {
787 set_bit(ROOT_NOPREFIX, &opts->flags); 794 set_bit(ROOT_NOPREFIX, &opts->flags);
788 } else if (!strncmp(token, "release_agent=", 14)) { 795 } else if (!strncmp(token, "release_agent=", 14)) {
@@ -800,7 +807,8 @@ static int parse_cgroupfs_options(char *data,
800 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { 807 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
801 ss = subsys[i]; 808 ss = subsys[i];
802 if (!strcmp(token, ss->name)) { 809 if (!strcmp(token, ss->name)) {
803 set_bit(i, &opts->subsys_bits); 810 if (!ss->disabled)
811 set_bit(i, &opts->subsys_bits);
804 break; 812 break;
805 } 813 }
806 } 814 }
@@ -2082,7 +2090,7 @@ static int cgroup_tasks_open(struct inode *unused, struct file *file)
2082 2090
2083 kfree(pidarray); 2091 kfree(pidarray);
2084 } else { 2092 } else {
2085 ctr->buf = 0; 2093 ctr->buf = NULL;
2086 ctr->bufsz = 0; 2094 ctr->bufsz = 0;
2087 } 2095 }
2088 file->private_data = ctr; 2096 file->private_data = ctr;
@@ -2561,6 +2569,7 @@ static int proc_cgroup_show(struct seq_file *m, void *v)
2561 /* Skip this hierarchy if it has no active subsystems */ 2569 /* Skip this hierarchy if it has no active subsystems */
2562 if (!root->actual_subsys_bits) 2570 if (!root->actual_subsys_bits)
2563 continue; 2571 continue;
2572 seq_printf(m, "%lu:", root->subsys_bits);
2564 for_each_subsys(root, ss) 2573 for_each_subsys(root, ss)
2565 seq_printf(m, "%s%s", count++ ? "," : "", ss->name); 2574 seq_printf(m, "%s%s", count++ ? "," : "", ss->name);
2566 seq_putc(m, ':'); 2575 seq_putc(m, ':');
@@ -2600,13 +2609,13 @@ static int proc_cgroupstats_show(struct seq_file *m, void *v)
2600{ 2609{
2601 int i; 2610 int i;
2602 2611
2603 seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\n"); 2612 seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\tenabled\n");
2604 mutex_lock(&cgroup_mutex); 2613 mutex_lock(&cgroup_mutex);
2605 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { 2614 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
2606 struct cgroup_subsys *ss = subsys[i]; 2615 struct cgroup_subsys *ss = subsys[i];
2607 seq_printf(m, "%s\t%lu\t%d\n", 2616 seq_printf(m, "%s\t%lu\t%d\t%d\n",
2608 ss->name, ss->root->subsys_bits, 2617 ss->name, ss->root->subsys_bits,
2609 ss->root->number_of_cgroups); 2618 ss->root->number_of_cgroups, !ss->disabled);
2610 } 2619 }
2611 mutex_unlock(&cgroup_mutex); 2620 mutex_unlock(&cgroup_mutex);
2612 return 0; 2621 return 0;
@@ -2614,7 +2623,7 @@ static int proc_cgroupstats_show(struct seq_file *m, void *v)
2614 2623
2615static int cgroupstats_open(struct inode *inode, struct file *file) 2624static int cgroupstats_open(struct inode *inode, struct file *file)
2616{ 2625{
2617 return single_open(file, proc_cgroupstats_show, 0); 2626 return single_open(file, proc_cgroupstats_show, NULL);
2618} 2627}
2619 2628
2620static struct file_operations proc_cgroupstats_operations = { 2629static struct file_operations proc_cgroupstats_operations = {
@@ -3010,3 +3019,27 @@ static void cgroup_release_agent(struct work_struct *work)
3010 spin_unlock(&release_list_lock); 3019 spin_unlock(&release_list_lock);
3011 mutex_unlock(&cgroup_mutex); 3020 mutex_unlock(&cgroup_mutex);
3012} 3021}
3022
3023static int __init cgroup_disable(char *str)
3024{
3025 int i;
3026 char *token;
3027
3028 while ((token = strsep(&str, ",")) != NULL) {
3029 if (!*token)
3030 continue;
3031
3032 for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
3033 struct cgroup_subsys *ss = subsys[i];
3034
3035 if (!strcmp(token, ss->name)) {
3036 ss->disabled = 1;
3037 printk(KERN_INFO "Disabling %s control group"
3038 " subsystem\n", ss->name);
3039 break;
3040 }
3041 }
3042 }
3043 return 1;
3044}
3045__setup("cgroup_disable=", cgroup_disable);
diff --git a/kernel/exit.c b/kernel/exit.c
index 53872bf993f..073005b1cfb 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -1608,7 +1608,7 @@ asmlinkage long sys_waitid(int which, pid_t upid,
1608 put_pid(pid); 1608 put_pid(pid);
1609 1609
1610 /* avoid REGPARM breakage on x86: */ 1610 /* avoid REGPARM breakage on x86: */
1611 prevent_tail_call(ret); 1611 asmlinkage_protect(5, ret, which, upid, infop, options, ru);
1612 return ret; 1612 return ret;
1613} 1613}
1614 1614
@@ -1640,7 +1640,7 @@ asmlinkage long sys_wait4(pid_t upid, int __user *stat_addr,
1640 put_pid(pid); 1640 put_pid(pid);
1641 1641
1642 /* avoid REGPARM breakage on x86: */ 1642 /* avoid REGPARM breakage on x86: */
1643 prevent_tail_call(ret); 1643 asmlinkage_protect(4, ret, upid, stat_addr, options, ru);
1644 return ret; 1644 return ret;
1645} 1645}
1646 1646
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 4c035a8a248..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 */
@@ -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)
diff --git a/kernel/sched.c b/kernel/sched.c
index 28c73f07efb..8dcdec6fe0f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -1052,6 +1052,49 @@ static void resched_cpu(int cpu)
1052 resched_task(cpu_curr(cpu)); 1052 resched_task(cpu_curr(cpu));
1053 spin_unlock_irqrestore(&rq->lock, flags); 1053 spin_unlock_irqrestore(&rq->lock, flags);
1054} 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
1055#else 1098#else
1056static void __resched_task(struct task_struct *p, int tif_bit) 1099static void __resched_task(struct task_struct *p, int tif_bit)
1057{ 1100{
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 278534bbca9..7f60097d443 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -174,7 +174,7 @@ static void clocksource_check_watchdog(struct clocksource *cs)
174 if (watchdog) 174 if (watchdog)
175 del_timer(&watchdog_timer); 175 del_timer(&watchdog_timer);
176 watchdog = cs; 176 watchdog = cs;
177 init_timer_deferrable(&watchdog_timer); 177 init_timer(&watchdog_timer);
178 watchdog_timer.function = clocksource_watchdog; 178 watchdog_timer.function = clocksource_watchdog;
179 179
180 /* Reset watchdog cycles */ 180 /* Reset watchdog cycles */
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/kernel/uid16.c b/kernel/uid16.c
index dd308ba4e03..3e41c1673e2 100644
--- a/kernel/uid16.c
+++ b/kernel/uid16.c
@@ -21,7 +21,7 @@ asmlinkage long sys_chown16(const char __user * filename, old_uid_t user, old_gi
21{ 21{
22 long ret = sys_chown(filename, low2highuid(user), low2highgid(group)); 22 long ret = sys_chown(filename, low2highuid(user), low2highgid(group));
23 /* avoid REGPARM breakage on x86: */ 23 /* avoid REGPARM breakage on x86: */
24 prevent_tail_call(ret); 24 asmlinkage_protect(3, ret, filename, user, group);
25 return ret; 25 return ret;
26} 26}
27 27
@@ -29,7 +29,7 @@ asmlinkage long sys_lchown16(const char __user * filename, old_uid_t user, old_g
29{ 29{
30 long ret = sys_lchown(filename, low2highuid(user), low2highgid(group)); 30 long ret = sys_lchown(filename, low2highuid(user), low2highgid(group));
31 /* avoid REGPARM breakage on x86: */ 31 /* avoid REGPARM breakage on x86: */
32 prevent_tail_call(ret); 32 asmlinkage_protect(3, ret, filename, user, group);
33 return ret; 33 return ret;
34} 34}
35 35
@@ -37,7 +37,7 @@ asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group)
37{ 37{
38 long ret = sys_fchown(fd, low2highuid(user), low2highgid(group)); 38 long ret = sys_fchown(fd, low2highuid(user), low2highgid(group));
39 /* avoid REGPARM breakage on x86: */ 39 /* avoid REGPARM breakage on x86: */
40 prevent_tail_call(ret); 40 asmlinkage_protect(3, ret, fd, user, group);
41 return ret; 41 return ret;
42} 42}
43 43
@@ -45,7 +45,7 @@ asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid)
45{ 45{
46 long ret = sys_setregid(low2highgid(rgid), low2highgid(egid)); 46 long ret = sys_setregid(low2highgid(rgid), low2highgid(egid));
47 /* avoid REGPARM breakage on x86: */ 47 /* avoid REGPARM breakage on x86: */
48 prevent_tail_call(ret); 48 asmlinkage_protect(2, ret, rgid, egid);
49 return ret; 49 return ret;
50} 50}
51 51
@@ -53,7 +53,7 @@ asmlinkage long sys_setgid16(old_gid_t gid)
53{ 53{
54 long ret = sys_setgid(low2highgid(gid)); 54 long ret = sys_setgid(low2highgid(gid));
55 /* avoid REGPARM breakage on x86: */ 55 /* avoid REGPARM breakage on x86: */
56 prevent_tail_call(ret); 56 asmlinkage_protect(1, ret, gid);
57 return ret; 57 return ret;
58} 58}
59 59
@@ -61,7 +61,7 @@ asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid)
61{ 61{
62 long ret = sys_setreuid(low2highuid(ruid), low2highuid(euid)); 62 long ret = sys_setreuid(low2highuid(ruid), low2highuid(euid));
63 /* avoid REGPARM breakage on x86: */ 63 /* avoid REGPARM breakage on x86: */
64 prevent_tail_call(ret); 64 asmlinkage_protect(2, ret, ruid, euid);
65 return ret; 65 return ret;
66} 66}
67 67
@@ -69,7 +69,7 @@ asmlinkage long sys_setuid16(old_uid_t uid)
69{ 69{
70 long ret = sys_setuid(low2highuid(uid)); 70 long ret = sys_setuid(low2highuid(uid));
71 /* avoid REGPARM breakage on x86: */ 71 /* avoid REGPARM breakage on x86: */
72 prevent_tail_call(ret); 72 asmlinkage_protect(1, ret, uid);
73 return ret; 73 return ret;
74} 74}
75 75
@@ -78,7 +78,7 @@ asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid)
78 long ret = sys_setresuid(low2highuid(ruid), low2highuid(euid), 78 long ret = sys_setresuid(low2highuid(ruid), low2highuid(euid),
79 low2highuid(suid)); 79 low2highuid(suid));
80 /* avoid REGPARM breakage on x86: */ 80 /* avoid REGPARM breakage on x86: */
81 prevent_tail_call(ret); 81 asmlinkage_protect(3, ret, ruid, euid, suid);
82 return ret; 82 return ret;
83} 83}
84 84
@@ -98,7 +98,7 @@ asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid)
98 long ret = sys_setresgid(low2highgid(rgid), low2highgid(egid), 98 long ret = sys_setresgid(low2highgid(rgid), low2highgid(egid),
99 low2highgid(sgid)); 99 low2highgid(sgid));
100 /* avoid REGPARM breakage on x86: */ 100 /* avoid REGPARM breakage on x86: */
101 prevent_tail_call(ret); 101 asmlinkage_protect(3, ret, rgid, egid, sgid);
102 return ret; 102 return ret;
103} 103}
104 104
@@ -117,7 +117,7 @@ asmlinkage long sys_setfsuid16(old_uid_t uid)
117{ 117{
118 long ret = sys_setfsuid(low2highuid(uid)); 118 long ret = sys_setfsuid(low2highuid(uid));
119 /* avoid REGPARM breakage on x86: */ 119 /* avoid REGPARM breakage on x86: */
120 prevent_tail_call(ret); 120 asmlinkage_protect(1, ret, uid);
121 return ret; 121 return ret;
122} 122}
123 123
@@ -125,7 +125,7 @@ asmlinkage long sys_setfsgid16(old_gid_t gid)
125{ 125{
126 long ret = sys_setfsgid(low2highgid(gid)); 126 long ret = sys_setfsgid(low2highgid(gid));
127 /* avoid REGPARM breakage on x86: */ 127 /* avoid REGPARM breakage on x86: */
128 prevent_tail_call(ret); 128 asmlinkage_protect(1, ret, gid);
129 return ret; 129 return ret;
130} 130}
131 131
diff --git a/lib/Kconfig b/lib/Kconfig
index ba3d104994d..2d53dc092e8 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -141,4 +141,7 @@ config HAS_DMA
141config CHECK_SIGNATURE 141config CHECK_SIGNATURE
142 bool 142 bool
143 143
144config HAVE_LMB
145 boolean
146
144endmenu 147endmenu
diff --git a/lib/Makefile b/lib/Makefile
index 23de261a4c8..61bba16a0a2 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -70,6 +70,8 @@ obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
70 70
71lib-$(CONFIG_GENERIC_BUG) += bug.o 71lib-$(CONFIG_GENERIC_BUG) += bug.o
72 72
73obj-$(CONFIG_HAVE_LMB) += lmb.o
74
73hostprogs-y := gen_crc32table 75hostprogs-y := gen_crc32table
74clean-files := crc32table.h 76clean-files := crc32table.h
75 77
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 5a402e2982a..5b6d7f6956b 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -55,7 +55,7 @@ int kobject_action_type(const char *buf, size_t count,
55 enum kobject_action action; 55 enum kobject_action action;
56 int ret = -EINVAL; 56 int ret = -EINVAL;
57 57
58 if (count && buf[count-1] == '\n') 58 if (count && (buf[count-1] == '\n' || buf[count-1] == '\0'))
59 count--; 59 count--;
60 60
61 if (!count) 61 if (!count)
diff --git a/lib/lmb.c b/lib/lmb.c
new file mode 100644
index 00000000000..896e2832099
--- /dev/null
+++ b/lib/lmb.c
@@ -0,0 +1,428 @@
1/*
2 * Procedures for maintaining information about logical memory blocks.
3 *
4 * Peter Bergner, IBM Corp. June 2001.
5 * Copyright (C) 2001 Peter Bergner.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/bitops.h>
16#include <linux/lmb.h>
17
18#define LMB_ALLOC_ANYWHERE 0
19
20struct lmb lmb;
21
22void lmb_dump_all(void)
23{
24#ifdef DEBUG
25 unsigned long i;
26
27 pr_debug("lmb_dump_all:\n");
28 pr_debug(" memory.cnt = 0x%lx\n", lmb.memory.cnt);
29 pr_debug(" memory.size = 0x%llx\n",
30 (unsigned long long)lmb.memory.size);
31 for (i=0; i < lmb.memory.cnt ;i++) {
32 pr_debug(" memory.region[0x%x].base = 0x%llx\n",
33 i, (unsigned long long)lmb.memory.region[i].base);
34 pr_debug(" .size = 0x%llx\n",
35 (unsigned long long)lmb.memory.region[i].size);
36 }
37
38 pr_debug(" reserved.cnt = 0x%lx\n", lmb.reserved.cnt);
39 pr_debug(" reserved.size = 0x%lx\n", lmb.reserved.size);
40 for (i=0; i < lmb.reserved.cnt ;i++) {
41 pr_debug(" reserved.region[0x%x].base = 0x%llx\n",
42 i, (unsigned long long)lmb.reserved.region[i].base);
43 pr_debug(" .size = 0x%llx\n",
44 (unsigned long long)lmb.reserved.region[i].size);
45 }
46#endif /* DEBUG */
47}
48
49static unsigned long __init lmb_addrs_overlap(u64 base1, u64 size1,
50 u64 base2, u64 size2)
51{
52 return ((base1 < (base2 + size2)) && (base2 < (base1 + size1)));
53}
54
55static long __init lmb_addrs_adjacent(u64 base1, u64 size1,
56 u64 base2, u64 size2)
57{
58 if (base2 == base1 + size1)
59 return 1;
60 else if (base1 == base2 + size2)
61 return -1;
62
63 return 0;
64}
65
66static long __init lmb_regions_adjacent(struct lmb_region *rgn,
67 unsigned long r1, unsigned long r2)
68{
69 u64 base1 = rgn->region[r1].base;
70 u64 size1 = rgn->region[r1].size;
71 u64 base2 = rgn->region[r2].base;
72 u64 size2 = rgn->region[r2].size;
73
74 return lmb_addrs_adjacent(base1, size1, base2, size2);
75}
76
77static void __init lmb_remove_region(struct lmb_region *rgn, unsigned long r)
78{
79 unsigned long i;
80
81 for (i = r; i < rgn->cnt - 1; i++) {
82 rgn->region[i].base = rgn->region[i + 1].base;
83 rgn->region[i].size = rgn->region[i + 1].size;
84 }
85 rgn->cnt--;
86}
87
88/* Assumption: base addr of region 1 < base addr of region 2 */
89static void __init lmb_coalesce_regions(struct lmb_region *rgn,
90 unsigned long r1, unsigned long r2)
91{
92 rgn->region[r1].size += rgn->region[r2].size;
93 lmb_remove_region(rgn, r2);
94}
95
96void __init lmb_init(void)
97{
98 /* Create a dummy zero size LMB which will get coalesced away later.
99 * This simplifies the lmb_add() code below...
100 */
101 lmb.memory.region[0].base = 0;
102 lmb.memory.region[0].size = 0;
103 lmb.memory.cnt = 1;
104
105 /* Ditto. */
106 lmb.reserved.region[0].base = 0;
107 lmb.reserved.region[0].size = 0;
108 lmb.reserved.cnt = 1;
109}
110
111void __init lmb_analyze(void)
112{
113 int i;
114
115 lmb.memory.size = 0;
116
117 for (i = 0; i < lmb.memory.cnt; i++)
118 lmb.memory.size += lmb.memory.region[i].size;
119}
120
121static long __init lmb_add_region(struct lmb_region *rgn, u64 base, u64 size)
122{
123 unsigned long coalesced = 0;
124 long adjacent, i;
125
126 if ((rgn->cnt == 1) && (rgn->region[0].size == 0)) {
127 rgn->region[0].base = base;
128 rgn->region[0].size = size;
129 return 0;
130 }
131
132 /* First try and coalesce this LMB with another. */
133 for (i = 0; i < rgn->cnt; i++) {
134 u64 rgnbase = rgn->region[i].base;
135 u64 rgnsize = rgn->region[i].size;
136
137 if ((rgnbase == base) && (rgnsize == size))
138 /* Already have this region, so we're done */
139 return 0;
140
141 adjacent = lmb_addrs_adjacent(base, size, rgnbase, rgnsize);
142 if (adjacent > 0) {
143 rgn->region[i].base -= size;
144 rgn->region[i].size += size;
145 coalesced++;
146 break;
147 } else if (adjacent < 0) {
148 rgn->region[i].size += size;
149 coalesced++;
150 break;
151 }
152 }
153
154 if ((i < rgn->cnt - 1) && lmb_regions_adjacent(rgn, i, i+1)) {
155 lmb_coalesce_regions(rgn, i, i+1);
156 coalesced++;
157 }
158
159 if (coalesced)
160 return coalesced;
161 if (rgn->cnt >= MAX_LMB_REGIONS)
162 return -1;
163
164 /* Couldn't coalesce the LMB, so add it to the sorted table. */
165 for (i = rgn->cnt - 1; i >= 0; i--) {
166 if (base < rgn->region[i].base) {
167 rgn->region[i+1].base = rgn->region[i].base;
168 rgn->region[i+1].size = rgn->region[i].size;
169 } else {
170 rgn->region[i+1].base = base;
171 rgn->region[i+1].size = size;
172 break;
173 }
174 }
175
176 if (base < rgn->region[0].base) {
177 rgn->region[0].base = base;
178 rgn->region[0].size = size;
179 }
180 rgn->cnt++;
181
182 return 0;
183}
184
185long __init lmb_add(u64 base, u64 size)
186{
187 struct lmb_region *_rgn = &lmb.memory;
188
189 /* On pSeries LPAR systems, the first LMB is our RMO region. */
190 if (base == 0)
191 lmb.rmo_size = size;
192
193 return lmb_add_region(_rgn, base, size);
194
195}
196
197long __init lmb_reserve(u64 base, u64 size)
198{
199 struct lmb_region *_rgn = &lmb.reserved;
200
201 BUG_ON(0 == size);
202
203 return lmb_add_region(_rgn, base, size);
204}
205
206long __init lmb_overlaps_region(struct lmb_region *rgn, u64 base, u64 size)
207{
208 unsigned long i;
209
210 for (i = 0; i < rgn->cnt; i++) {
211 u64 rgnbase = rgn->region[i].base;
212 u64 rgnsize = rgn->region[i].size;
213 if (lmb_addrs_overlap(base, size, rgnbase, rgnsize))
214 break;
215 }
216
217 return (i < rgn->cnt) ? i : -1;
218}
219
220static u64 lmb_align_down(u64 addr, u64 size)
221{
222 return addr & ~(size - 1);
223}
224
225static u64 lmb_align_up(u64 addr, u64 size)
226{
227 return (addr + (size - 1)) & ~(size - 1);
228}
229
230static u64 __init lmb_alloc_nid_unreserved(u64 start, u64 end,
231 u64 size, u64 align)
232{
233 u64 base, res_base;
234 long j;
235
236 base = lmb_align_down((end - size), align);
237 while (start <= base) {
238 j = lmb_overlaps_region(&lmb.reserved, base, size);
239 if (j < 0) {
240 /* this area isn't reserved, take it */
241 if (lmb_add_region(&lmb.reserved, base,
242 lmb_align_up(size, align)) < 0)
243 base = ~(u64)0;
244 return base;
245 }
246 res_base = lmb.reserved.region[j].base;
247 if (res_base < size)
248 break;
249 base = lmb_align_down(res_base - size, align);
250 }
251
252 return ~(u64)0;
253}
254
255static u64 __init lmb_alloc_nid_region(struct lmb_property *mp,
256 u64 (*nid_range)(u64, u64, int *),
257 u64 size, u64 align, int nid)
258{
259 u64 start, end;
260
261 start = mp->base;
262 end = start + mp->size;
263
264 start = lmb_align_up(start, align);
265 while (start < end) {
266 u64 this_end;
267 int this_nid;
268
269 this_end = nid_range(start, end, &this_nid);
270 if (this_nid == nid) {
271 u64 ret = lmb_alloc_nid_unreserved(start, this_end,
272 size, align);
273 if (ret != ~(u64)0)
274 return ret;
275 }
276 start = this_end;
277 }
278
279 return ~(u64)0;
280}
281
282u64 __init lmb_alloc_nid(u64 size, u64 align, int nid,
283 u64 (*nid_range)(u64 start, u64 end, int *nid))
284{
285 struct lmb_region *mem = &lmb.memory;
286 int i;
287
288 for (i = 0; i < mem->cnt; i++) {
289 u64 ret = lmb_alloc_nid_region(&mem->region[i],
290 nid_range,
291 size, align, nid);
292 if (ret != ~(u64)0)
293 return ret;
294 }
295
296 return lmb_alloc(size, align);
297}
298
299u64 __init lmb_alloc(u64 size, u64 align)
300{
301 return lmb_alloc_base(size, align, LMB_ALLOC_ANYWHERE);
302}
303
304u64 __init lmb_alloc_base(u64 size, u64 align, u64 max_addr)
305{
306 u64 alloc;
307
308 alloc = __lmb_alloc_base(size, align, max_addr);
309
310 if (alloc == 0)
311 panic("ERROR: Failed to allocate 0x%llx bytes below 0x%llx.\n",
312 (unsigned long long) size, (unsigned long long) max_addr);
313
314 return alloc;
315}
316
317u64 __init __lmb_alloc_base(u64 size, u64 align, u64 max_addr)
318{
319 long i, j;
320 u64 base = 0;
321 u64 res_base;
322
323 BUG_ON(0 == size);
324
325 /* On some platforms, make sure we allocate lowmem */
326 /* Note that LMB_REAL_LIMIT may be LMB_ALLOC_ANYWHERE */
327 if (max_addr == LMB_ALLOC_ANYWHERE)
328 max_addr = LMB_REAL_LIMIT;
329
330 for (i = lmb.memory.cnt - 1; i >= 0; i--) {
331 u64 lmbbase = lmb.memory.region[i].base;
332 u64 lmbsize = lmb.memory.region[i].size;
333
334 if (lmbsize < size)
335 continue;
336 if (max_addr == LMB_ALLOC_ANYWHERE)
337 base = lmb_align_down(lmbbase + lmbsize - size, align);
338 else if (lmbbase < max_addr) {
339 base = min(lmbbase + lmbsize, max_addr);
340 base = lmb_align_down(base - size, align);
341 } else
342 continue;
343
344 while (base && lmbbase <= base) {
345 j = lmb_overlaps_region(&lmb.reserved, base, size);
346 if (j < 0) {
347 /* this area isn't reserved, take it */
348 if (lmb_add_region(&lmb.reserved, base,
349 size) < 0)
350 return 0;
351 return base;
352 }
353 res_base = lmb.reserved.region[j].base;
354 if (res_base < size)
355 break;
356 base = lmb_align_down(res_base - size, align);
357 }
358 }
359 return 0;
360}
361
362/* You must call lmb_analyze() before this. */
363u64 __init lmb_phys_mem_size(void)
364{
365 return lmb.memory.size;
366}
367
368u64 __init lmb_end_of_DRAM(void)
369{
370 int idx = lmb.memory.cnt - 1;
371
372 return (lmb.memory.region[idx].base + lmb.memory.region[idx].size);
373}
374
375/* You must call lmb_analyze() after this. */
376void __init lmb_enforce_memory_limit(u64 memory_limit)
377{
378 unsigned long i;
379 u64 limit;
380 struct lmb_property *p;
381
382 if (!memory_limit)
383 return;
384
385 /* Truncate the lmb regions to satisfy the memory limit. */
386 limit = memory_limit;
387 for (i = 0; i < lmb.memory.cnt; i++) {
388 if (limit > lmb.memory.region[i].size) {
389 limit -= lmb.memory.region[i].size;
390 continue;
391 }
392
393 lmb.memory.region[i].size = limit;
394 lmb.memory.cnt = i + 1;
395 break;
396 }
397
398 if (lmb.memory.region[0].size < lmb.rmo_size)
399 lmb.rmo_size = lmb.memory.region[0].size;
400
401 /* And truncate any reserves above the limit also. */
402 for (i = 0; i < lmb.reserved.cnt; i++) {
403 p = &lmb.reserved.region[i];
404
405 if (p->base > memory_limit)
406 p->size = 0;
407 else if ((p->base + p->size) > memory_limit)
408 p->size = memory_limit - p->base;
409
410 if (p->size == 0) {
411 lmb_remove_region(&lmb.reserved, i);
412 i--;
413 }
414 }
415}
416
417int __init lmb_is_reserved(u64 addr)
418{
419 int i;
420
421 for (i = 0; i < lmb.reserved.cnt; i++) {
422 u64 upper = lmb.reserved.region[i].base +
423 lmb.reserved.region[i].size - 1;
424 if ((addr >= lmb.reserved.region[i].base) && (addr <= upper))
425 return 1;
426 }
427 return 0;
428}
diff --git a/lib/lzo/lzo1x_decompress.c b/lib/lzo/lzo1x_decompress.c
index 9dc7056e552..77f0f9b775a 100644
--- a/lib/lzo/lzo1x_decompress.c
+++ b/lib/lzo/lzo1x_decompress.c
@@ -158,7 +158,7 @@ match:
158 t += 7 + *ip++; 158 t += 7 + *ip++;
159 } 159 }
160 m_pos -= le16_to_cpu(get_unaligned( 160 m_pos -= le16_to_cpu(get_unaligned(
161 (const unsigned short *)ip) >> 2); 161 (const unsigned short *)ip)) >> 2;
162 ip += 2; 162 ip += 2;
163 if (m_pos == op) 163 if (m_pos == op)
164 goto eof_found; 164 goto eof_found;
diff --git a/lib/random32.c b/lib/random32.c
index ec7f81d3fb1..ca87d86992b 100644
--- a/lib/random32.c
+++ b/lib/random32.c
@@ -97,13 +97,18 @@ EXPORT_SYMBOL(random32);
97 * @seed: seed value 97 * @seed: seed value
98 * 98 *
99 * Add some additional seeding to the random32() pool. 99 * Add some additional seeding to the random32() pool.
100 * Note: this pool is per cpu so it only affects current CPU.
101 */ 100 */
102void srandom32(u32 entropy) 101void srandom32(u32 entropy)
103{ 102{
104 struct rnd_state *state = &get_cpu_var(net_rand_state); 103 int i;
105 __set_random32(state, state->s1 ^ entropy); 104 /*
106 put_cpu_var(state); 105 * No locking on the CPUs, but then somewhat random results are, well,
106 * expected.
107 */
108 for_each_possible_cpu (i) {
109 struct rnd_state *state = &per_cpu(net_rand_state, i);
110 __set_random32(state, state->s1 ^ entropy);
111 }
107} 112}
108EXPORT_SYMBOL(srandom32); 113EXPORT_SYMBOL(srandom32);
109 114
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/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 9b648bd6345..2e0bfc93484 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -533,6 +533,9 @@ static int mem_cgroup_charge_common(struct page *page, struct mm_struct *mm,
533 unsigned long nr_retries = MEM_CGROUP_RECLAIM_RETRIES; 533 unsigned long nr_retries = MEM_CGROUP_RECLAIM_RETRIES;
534 struct mem_cgroup_per_zone *mz; 534 struct mem_cgroup_per_zone *mz;
535 535
536 if (mem_cgroup_subsys.disabled)
537 return 0;
538
536 /* 539 /*
537 * Should page_cgroup's go to their own slab? 540 * Should page_cgroup's go to their own slab?
538 * One could optimize the performance of the charging routine 541 * One could optimize the performance of the charging routine
@@ -665,6 +668,9 @@ void mem_cgroup_uncharge_page(struct page *page)
665 struct mem_cgroup_per_zone *mz; 668 struct mem_cgroup_per_zone *mz;
666 unsigned long flags; 669 unsigned long flags;
667 670
671 if (mem_cgroup_subsys.disabled)
672 return;
673
668 /* 674 /*
669 * Check if our page_cgroup is valid 675 * Check if our page_cgroup is valid
670 */ 676 */
@@ -705,6 +711,9 @@ int mem_cgroup_prepare_migration(struct page *page)
705{ 711{
706 struct page_cgroup *pc; 712 struct page_cgroup *pc;
707 713
714 if (mem_cgroup_subsys.disabled)
715 return 0;
716
708 lock_page_cgroup(page); 717 lock_page_cgroup(page);
709 pc = page_get_page_cgroup(page); 718 pc = page_get_page_cgroup(page);
710 if (pc) 719 if (pc)
@@ -803,6 +812,9 @@ static int mem_cgroup_force_empty(struct mem_cgroup *mem)
803 int ret = -EBUSY; 812 int ret = -EBUSY;
804 int node, zid; 813 int node, zid;
805 814
815 if (mem_cgroup_subsys.disabled)
816 return 0;
817
806 css_get(&mem->css); 818 css_get(&mem->css);
807 /* 819 /*
808 * page reclaim code (kswapd etc..) will move pages between 820 * page reclaim code (kswapd etc..) will move pages between
@@ -966,7 +978,7 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *mem, int node)
966{ 978{
967 struct mem_cgroup_per_node *pn; 979 struct mem_cgroup_per_node *pn;
968 struct mem_cgroup_per_zone *mz; 980 struct mem_cgroup_per_zone *mz;
969 int zone; 981 int zone, tmp = node;
970 /* 982 /*
971 * This routine is called against possible nodes. 983 * This routine is called against possible nodes.
972 * But it's BUG to call kmalloc() against offline node. 984 * But it's BUG to call kmalloc() against offline node.
@@ -975,10 +987,9 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *mem, int node)
975 * never be onlined. It's better to use memory hotplug callback 987 * never be onlined. It's better to use memory hotplug callback
976 * function. 988 * function.
977 */ 989 */
978 if (node_state(node, N_HIGH_MEMORY)) 990 if (!node_state(node, N_NORMAL_MEMORY))
979 pn = kmalloc_node(sizeof(*pn), GFP_KERNEL, node); 991 tmp = -1;
980 else 992 pn = kmalloc_node(sizeof(*pn), GFP_KERNEL, tmp);
981 pn = kmalloc(sizeof(*pn), GFP_KERNEL);
982 if (!pn) 993 if (!pn)
983 return 1; 994 return 1;
984 995
@@ -1053,6 +1064,8 @@ static void mem_cgroup_destroy(struct cgroup_subsys *ss,
1053static int mem_cgroup_populate(struct cgroup_subsys *ss, 1064static int mem_cgroup_populate(struct cgroup_subsys *ss,
1054 struct cgroup *cont) 1065 struct cgroup *cont)
1055{ 1066{
1067 if (mem_cgroup_subsys.disabled)
1068 return 0;
1056 return cgroup_add_files(cont, ss, mem_cgroup_files, 1069 return cgroup_add_files(cont, ss, mem_cgroup_files,
1057 ARRAY_SIZE(mem_cgroup_files)); 1070 ARRAY_SIZE(mem_cgroup_files));
1058} 1071}
@@ -1065,6 +1078,9 @@ static void mem_cgroup_move_task(struct cgroup_subsys *ss,
1065 struct mm_struct *mm; 1078 struct mm_struct *mm;
1066 struct mem_cgroup *mem, *old_mem; 1079 struct mem_cgroup *mem, *old_mem;
1067 1080
1081 if (mem_cgroup_subsys.disabled)
1082 return;
1083
1068 mm = get_task_mm(p); 1084 mm = get_task_mm(p);
1069 if (mm == NULL) 1085 if (mm == NULL)
1070 return; 1086 return;
diff --git a/mm/slab.c b/mm/slab.c
index bb4070e1079..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);
diff --git a/mm/slub.c b/mm/slub.c
index ca71d5b81e4..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
@@ -2685,6 +2688,7 @@ void kfree(const void *x)
2685} 2688}
2686EXPORT_SYMBOL(kfree); 2689EXPORT_SYMBOL(kfree);
2687 2690
2691#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SLABINFO)
2688static unsigned long count_partial(struct kmem_cache_node *n) 2692static unsigned long count_partial(struct kmem_cache_node *n)
2689{ 2693{
2690 unsigned long flags; 2694 unsigned long flags;
@@ -2697,6 +2701,7 @@ static unsigned long count_partial(struct kmem_cache_node *n)
2697 spin_unlock_irqrestore(&n->list_lock, flags); 2701 spin_unlock_irqrestore(&n->list_lock, flags);
2698 return x; 2702 return x;
2699} 2703}
2704#endif
2700 2705
2701/* 2706/*
2702 * 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/tiny-shmem.c b/mm/tiny-shmem.c
index f0f55875dd6..ae532f50194 100644
--- a/mm/tiny-shmem.c
+++ b/mm/tiny-shmem.c
@@ -88,6 +88,8 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags)
88 88
89close_file: 89close_file:
90 put_filp(file); 90 put_filp(file);
91 return ERR_PTR(error);
92
91put_dentry: 93put_dentry:
92 dput(dentry); 94 dput(dentry);
93put_memory: 95put_memory:
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/8021q/vlan.c b/net/8021q/vlan.c
index dbc81b96509..b33410abfd6 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -374,17 +374,35 @@ static void vlan_sync_address(struct net_device *dev,
374 memcpy(vlan->real_dev_addr, dev->dev_addr, ETH_ALEN); 374 memcpy(vlan->real_dev_addr, dev->dev_addr, ETH_ALEN);
375} 375}
376 376
377static void __vlan_device_event(struct net_device *dev, unsigned long event)
378{
379 switch (event) {
380 case NETDEV_CHANGENAME:
381 vlan_proc_rem_dev(dev);
382 if (vlan_proc_add_dev(dev) < 0)
383 pr_warning("8021q: failed to change proc name for %s\n",
384 dev->name);
385 break;
386 }
387}
388
377static int vlan_device_event(struct notifier_block *unused, unsigned long event, 389static int vlan_device_event(struct notifier_block *unused, unsigned long event,
378 void *ptr) 390 void *ptr)
379{ 391{
380 struct net_device *dev = ptr; 392 struct net_device *dev = ptr;
381 struct vlan_group *grp = __vlan_find_group(dev->ifindex); 393 struct vlan_group *grp;
382 int i, flgs; 394 int i, flgs;
383 struct net_device *vlandev; 395 struct net_device *vlandev;
384 396
385 if (dev->nd_net != &init_net) 397 if (dev->nd_net != &init_net)
386 return NOTIFY_DONE; 398 return NOTIFY_DONE;
387 399
400 if (is_vlan_dev(dev)) {
401 __vlan_device_event(dev, event);
402 goto out;
403 }
404
405 grp = __vlan_find_group(dev->ifindex);
388 if (!grp) 406 if (!grp)
389 goto out; 407 goto out;
390 408
diff --git a/net/8021q/vlan.h b/net/8021q/vlan.h
index 73efcc715cc..51271aea402 100644
--- a/net/8021q/vlan.h
+++ b/net/8021q/vlan.h
@@ -45,4 +45,9 @@ void vlan_netlink_fini(void);
45 45
46extern struct rtnl_link_ops vlan_link_ops; 46extern struct rtnl_link_ops vlan_link_ops;
47 47
48static inline int is_vlan_dev(struct net_device *dev)
49{
50 return dev->priv_flags & IFF_802_1Q_VLAN;
51}
52
48#endif /* !(__BEN_VLAN_802_1Q_INC__) */ 53#endif /* !(__BEN_VLAN_802_1Q_INC__) */
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 8fbcefe10c9..41a76a05e6f 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -660,7 +660,7 @@ static int vlan_dev_init(struct net_device *dev)
660 int subclass = 0; 660 int subclass = 0;
661 661
662 /* IFF_BROADCAST|IFF_MULTICAST; ??? */ 662 /* IFF_BROADCAST|IFF_MULTICAST; ??? */
663 dev->flags = real_dev->flags & ~IFF_UP; 663 dev->flags = real_dev->flags & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI);
664 dev->iflink = real_dev->ifindex; 664 dev->iflink = real_dev->ifindex;
665 dev->state = (real_dev->state & ((1<<__LINK_STATE_NOCARRIER) | 665 dev->state = (real_dev->state & ((1<<__LINK_STATE_NOCARRIER) |
666 (1<<__LINK_STATE_DORMANT))) | 666 (1<<__LINK_STATE_DORMANT))) |
@@ -692,6 +692,20 @@ static int vlan_dev_init(struct net_device *dev)
692 return 0; 692 return 0;
693} 693}
694 694
695static void vlan_dev_uninit(struct net_device *dev)
696{
697 struct vlan_priority_tci_mapping *pm;
698 struct vlan_dev_info *vlan = vlan_dev_info(dev);
699 int i;
700
701 for (i = 0; i < ARRAY_SIZE(vlan->egress_priority_map); i++) {
702 while ((pm = vlan->egress_priority_map[i]) != NULL) {
703 vlan->egress_priority_map[i] = pm->next;
704 kfree(pm);
705 }
706 }
707}
708
695void vlan_setup(struct net_device *dev) 709void vlan_setup(struct net_device *dev)
696{ 710{
697 ether_setup(dev); 711 ether_setup(dev);
@@ -701,6 +715,7 @@ void vlan_setup(struct net_device *dev)
701 715
702 dev->change_mtu = vlan_dev_change_mtu; 716 dev->change_mtu = vlan_dev_change_mtu;
703 dev->init = vlan_dev_init; 717 dev->init = vlan_dev_init;
718 dev->uninit = vlan_dev_uninit;
704 dev->open = vlan_dev_open; 719 dev->open = vlan_dev_open;
705 dev->stop = vlan_dev_stop; 720 dev->stop = vlan_dev_stop;
706 dev->set_mac_address = vlan_dev_set_mac_address; 721 dev->set_mac_address = vlan_dev_set_mac_address;
diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c
index 146cfb0e988..9671aa51af2 100644
--- a/net/8021q/vlanproc.c
+++ b/net/8021q/vlanproc.c
@@ -210,11 +210,6 @@ int vlan_proc_rem_dev(struct net_device *vlandev)
210 * The following few functions build the content of /proc/net/vlan/config 210 * The following few functions build the content of /proc/net/vlan/config
211 */ 211 */
212 212
213static inline int is_vlan_dev(struct net_device *dev)
214{
215 return dev->priv_flags & IFF_802_1Q_VLAN;
216}
217
218/* start read of /proc/net/vlan/config */ 213/* start read of /proc/net/vlan/config */
219static void *vlan_seq_start(struct seq_file *seq, loff_t *pos) 214static void *vlan_seq_start(struct seq_file *seq, loff_t *pos)
220 __acquires(dev_base_lock) 215 __acquires(dev_base_lock)
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index 1aa9d517539..f624dff7685 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -861,7 +861,6 @@ static void p9_mux_free_request(struct p9_conn *m, struct p9_req *req)
861 861
862static void p9_mux_flush_cb(struct p9_req *freq, void *a) 862static void p9_mux_flush_cb(struct p9_req *freq, void *a)
863{ 863{
864 p9_conn_req_callback cb;
865 int tag; 864 int tag;
866 struct p9_conn *m; 865 struct p9_conn *m;
867 struct p9_req *req, *rreq, *rptr; 866 struct p9_req *req, *rreq, *rptr;
@@ -872,7 +871,6 @@ static void p9_mux_flush_cb(struct p9_req *freq, void *a)
872 freq->tcall->params.tflush.oldtag); 871 freq->tcall->params.tflush.oldtag);
873 872
874 spin_lock(&m->lock); 873 spin_lock(&m->lock);
875 cb = NULL;
876 tag = freq->tcall->params.tflush.oldtag; 874 tag = freq->tcall->params.tflush.oldtag;
877 req = NULL; 875 req = NULL;
878 list_for_each_entry_safe(rreq, rptr, &m->req_list, req_list) { 876 list_for_each_entry_safe(rreq, rptr, &m->req_list, req_list) {
@@ -1522,7 +1520,7 @@ static int __init p9_trans_fd_init(void)
1522 v9fs_register_trans(&p9_unix_trans); 1520 v9fs_register_trans(&p9_unix_trans);
1523 v9fs_register_trans(&p9_fd_trans); 1521 v9fs_register_trans(&p9_fd_trans);
1524 1522
1525 return 1; 1523 return 0;
1526} 1524}
1527 1525
1528module_init(p9_trans_fd_init); 1526module_init(p9_trans_fd_init);
diff --git a/net/atm/clip.c b/net/atm/clip.c
index d30167c0b48..2ab1e36098f 100644
--- a/net/atm/clip.c
+++ b/net/atm/clip.c
@@ -947,6 +947,8 @@ static const struct file_operations arp_seq_fops = {
947}; 947};
948#endif 948#endif
949 949
950static void atm_clip_exit_noproc(void);
951
950static int __init atm_clip_init(void) 952static int __init atm_clip_init(void)
951{ 953{
952 neigh_table_init_no_netlink(&clip_tbl); 954 neigh_table_init_no_netlink(&clip_tbl);
@@ -963,18 +965,22 @@ static int __init atm_clip_init(void)
963 struct proc_dir_entry *p; 965 struct proc_dir_entry *p;
964 966
965 p = proc_create("arp", S_IRUGO, atm_proc_root, &arp_seq_fops); 967 p = proc_create("arp", S_IRUGO, atm_proc_root, &arp_seq_fops);
968 if (!p) {
969 printk(KERN_ERR "Unable to initialize "
970 "/proc/net/atm/arp\n");
971 atm_clip_exit_noproc();
972 return -ENOMEM;
973 }
966 } 974 }
967#endif 975#endif
968 976
969 return 0; 977 return 0;
970} 978}
971 979
972static void __exit atm_clip_exit(void) 980static void atm_clip_exit_noproc(void)
973{ 981{
974 struct net_device *dev, *next; 982 struct net_device *dev, *next;
975 983
976 remove_proc_entry("arp", atm_proc_root);
977
978 unregister_inetaddr_notifier(&clip_inet_notifier); 984 unregister_inetaddr_notifier(&clip_inet_notifier);
979 unregister_netdevice_notifier(&clip_dev_notifier); 985 unregister_netdevice_notifier(&clip_dev_notifier);
980 986
@@ -1005,6 +1011,13 @@ static void __exit atm_clip_exit(void)
1005 clip_tbl_hook = NULL; 1011 clip_tbl_hook = NULL;
1006} 1012}
1007 1013
1014static void __exit atm_clip_exit(void)
1015{
1016 remove_proc_entry("arp", atm_proc_root);
1017
1018 atm_clip_exit_noproc();
1019}
1020
1008module_init(atm_clip_init); 1021module_init(atm_clip_init);
1009module_exit(atm_clip_exit); 1022module_exit(atm_clip_exit);
1010MODULE_AUTHOR("Werner Almesberger"); 1023MODULE_AUTHOR("Werner Almesberger");
diff --git a/net/atm/lec.c b/net/atm/lec.c
index 0e450d12f03..3235c57615e 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -266,7 +266,6 @@ static int lec_start_xmit(struct sk_buff *skb, struct net_device *dev)
266 char buf[300]; 266 char buf[300];
267 int i = 0; 267 int i = 0;
268#endif /* DUMP_PACKETS >0 */ 268#endif /* DUMP_PACKETS >0 */
269 DECLARE_MAC_BUF(mac);
270 269
271 pr_debug("lec_start_xmit called\n"); 270 pr_debug("lec_start_xmit called\n");
272 if (!priv->lecd) { 271 if (!priv->lecd) {
@@ -374,15 +373,19 @@ static int lec_start_xmit(struct sk_buff *skb, struct net_device *dev)
374 if (entry && (entry->tx_wait.qlen < LEC_UNRES_QUE_LEN)) { 373 if (entry && (entry->tx_wait.qlen < LEC_UNRES_QUE_LEN)) {
375 pr_debug("%s:lec_start_xmit: queuing packet, ", 374 pr_debug("%s:lec_start_xmit: queuing packet, ",
376 dev->name); 375 dev->name);
377 pr_debug("MAC address %s\n", 376 pr_debug("MAC address " MAC_FMT "\n",
378 print_mac(mac, lec_h->h_dest)); 377 lec_h->h_dest[0], lec_h->h_dest[1],
378 lec_h->h_dest[2], lec_h->h_dest[3],
379 lec_h->h_dest[4], lec_h->h_dest[5]);
379 skb_queue_tail(&entry->tx_wait, skb); 380 skb_queue_tail(&entry->tx_wait, skb);
380 } else { 381 } else {
381 pr_debug 382 pr_debug
382 ("%s:lec_start_xmit: tx queue full or no arp entry, dropping, ", 383 ("%s:lec_start_xmit: tx queue full or no arp entry, dropping, ",
383 dev->name); 384 dev->name);
384 pr_debug("MAC address %s\n", 385 pr_debug("MAC address " MAC_FMT "\n",
385 print_mac(mac, lec_h->h_dest)); 386 lec_h->h_dest[0], lec_h->h_dest[1],
387 lec_h->h_dest[2], lec_h->h_dest[3],
388 lec_h->h_dest[4], lec_h->h_dest[5]);
386 priv->stats.tx_dropped++; 389 priv->stats.tx_dropped++;
387 dev_kfree_skb(skb); 390 dev_kfree_skb(skb);
388 } 391 }
@@ -394,8 +397,10 @@ static int lec_start_xmit(struct sk_buff *skb, struct net_device *dev)
394 397
395 while (entry && (skb2 = skb_dequeue(&entry->tx_wait))) { 398 while (entry && (skb2 = skb_dequeue(&entry->tx_wait))) {
396 pr_debug("lec.c: emptying tx queue, "); 399 pr_debug("lec.c: emptying tx queue, ");
397 pr_debug("MAC address %s\n", 400 pr_debug("MAC address " MAC_FMT "\n",
398 print_mac(mac, lec_h->h_dest)); 401 lec_h->h_dest[0], lec_h->h_dest[1],
402 lec_h->h_dest[2], lec_h->h_dest[3],
403 lec_h->h_dest[4], lec_h->h_dest[5]);
399 lec_send(vcc, skb2, priv); 404 lec_send(vcc, skb2, priv);
400 } 405 }
401 406
@@ -449,7 +454,6 @@ static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)
449 struct lec_arp_table *entry; 454 struct lec_arp_table *entry;
450 int i; 455 int i;
451 char *tmp; /* FIXME */ 456 char *tmp; /* FIXME */
452 DECLARE_MAC_BUF(mac);
453 457
454 atomic_sub(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); 458 atomic_sub(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
455 mesg = (struct atmlec_msg *)skb->data; 459 mesg = (struct atmlec_msg *)skb->data;
@@ -536,9 +540,14 @@ static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)
536 struct net_bridge_fdb_entry *f; 540 struct net_bridge_fdb_entry *f;
537 541
538 pr_debug 542 pr_debug
539 ("%s: bridge zeppelin asks about %s\n", 543 ("%s: bridge zeppelin asks about " MAC_FMT "\n",
540 dev->name, 544 dev->name,
541 print_mac(mac, mesg->content.proxy.mac_addr)); 545 mesg->content.proxy.mac_addr[0],
546 mesg->content.proxy.mac_addr[1],
547 mesg->content.proxy.mac_addr[2],
548 mesg->content.proxy.mac_addr[3],
549 mesg->content.proxy.mac_addr[4],
550 mesg->content.proxy.mac_addr[5]);
542 551
543 if (br_fdb_get_hook == NULL || dev->br_port == NULL) 552 if (br_fdb_get_hook == NULL || dev->br_port == NULL)
544 break; 553 break;
@@ -1250,6 +1259,10 @@ static int __init lane_module_init(void)
1250 struct proc_dir_entry *p; 1259 struct proc_dir_entry *p;
1251 1260
1252 p = proc_create("lec", S_IRUGO, atm_proc_root, &lec_seq_fops); 1261 p = proc_create("lec", S_IRUGO, atm_proc_root, &lec_seq_fops);
1262 if (!p) {
1263 printk(KERN_ERR "Unable to initialize /proc/net/atm/lec\n");
1264 return -ENOMEM;
1265 }
1253#endif 1266#endif
1254 1267
1255 register_atm_ioctl(&lane_ioctl_ops); 1268 register_atm_ioctl(&lane_ioctl_ops);
diff --git a/net/ax25/TODO b/net/ax25/TODO
index 4089c49e45c..69fb4e368d9 100644
--- a/net/ax25/TODO
+++ b/net/ax25/TODO
@@ -9,10 +9,6 @@ being used.
9Routes to a device being taken down might be deleted by ax25_rt_device_down 9Routes to a device being taken down might be deleted by ax25_rt_device_down
10but added by somebody else before the device has been deleted fully. 10but added by somebody else before the device has been deleted fully.
11 11
12Massive amounts of lock_kernel / unlock_kernel are just a temporary solution to
13get around the removal of SOCKOPS_WRAP. A serious locking strategy has to be
14implemented.
15
16The ax25_rt_find_route synopsys is pervert but I somehow had to deal with 12The ax25_rt_find_route synopsys is pervert but I somehow had to deal with
17the race caused by the static variable in it's previous implementation. 13the race caused by the static variable in it's previous implementation.
18 14
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
index 1220d8a41eb..d366423c839 100644
--- a/net/bluetooth/af_bluetooth.c
+++ b/net/bluetooth/af_bluetooth.c
@@ -53,6 +53,30 @@
53/* Bluetooth sockets */ 53/* Bluetooth sockets */
54#define BT_MAX_PROTO 8 54#define BT_MAX_PROTO 8
55static struct net_proto_family *bt_proto[BT_MAX_PROTO]; 55static struct net_proto_family *bt_proto[BT_MAX_PROTO];
56
57static struct lock_class_key bt_slock_key[BT_MAX_PROTO];
58static struct lock_class_key bt_lock_key[BT_MAX_PROTO];
59static const char *bt_key_strings[BT_MAX_PROTO] = {
60 "sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP",
61 "sk_lock-AF_BLUETOOTH-BTPROTO_HCI",
62 "sk_lock-AF_BLUETOOTH-BTPROTO_SCO",
63 "sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM",
64 "sk_lock-AF_BLUETOOTH-BTPROTO_BNEP",
65 "sk_lock-AF_BLUETOOTH-BTPROTO_CMTP",
66 "sk_lock-AF_BLUETOOTH-BTPROTO_HIDP",
67 "sk_lock-AF_BLUETOOTH-BTPROTO_AVDTP",
68};
69
70static const char *bt_slock_key_strings[BT_MAX_PROTO] = {
71 "slock-AF_BLUETOOTH-BTPROTO_L2CAP",
72 "slock-AF_BLUETOOTH-BTPROTO_HCI",
73 "slock-AF_BLUETOOTH-BTPROTO_SCO",
74 "slock-AF_BLUETOOTH-BTPROTO_RFCOMM",
75 "slock-AF_BLUETOOTH-BTPROTO_BNEP",
76 "slock-AF_BLUETOOTH-BTPROTO_CMTP",
77 "slock-AF_BLUETOOTH-BTPROTO_HIDP",
78 "slock-AF_BLUETOOTH-BTPROTO_AVDTP",
79};
56static DEFINE_RWLOCK(bt_proto_lock); 80static DEFINE_RWLOCK(bt_proto_lock);
57 81
58int bt_sock_register(int proto, struct net_proto_family *ops) 82int bt_sock_register(int proto, struct net_proto_family *ops)
@@ -95,6 +119,21 @@ int bt_sock_unregister(int proto)
95} 119}
96EXPORT_SYMBOL(bt_sock_unregister); 120EXPORT_SYMBOL(bt_sock_unregister);
97 121
122static void bt_reclassify_sock_lock(struct socket *sock, int proto)
123{
124 struct sock *sk = sock->sk;
125
126 if (!sk)
127 return;
128 BUG_ON(sock_owned_by_user(sk));
129
130 sock_lock_init_class_and_name(sk,
131 bt_slock_key_strings[proto],
132 &bt_slock_key[proto],
133 bt_key_strings[proto],
134 &bt_lock_key[proto]);
135}
136
98static int bt_sock_create(struct net *net, struct socket *sock, int proto) 137static int bt_sock_create(struct net *net, struct socket *sock, int proto)
99{ 138{
100 int err; 139 int err;
@@ -117,6 +156,7 @@ static int bt_sock_create(struct net *net, struct socket *sock, int proto)
117 156
118 if (bt_proto[proto] && try_module_get(bt_proto[proto]->owner)) { 157 if (bt_proto[proto] && try_module_get(bt_proto[proto]->owner)) {
119 err = bt_proto[proto]->create(net, sock, proto); 158 err = bt_proto[proto]->create(net, sock, proto);
159 bt_reclassify_sock_lock(sock, proto);
120 module_put(bt_proto[proto]->owner); 160 module_put(bt_proto[proto]->owner);
121 } 161 }
122 162
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index b5d4019d357..1d36c093523 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -84,7 +84,7 @@ static struct hci_sec_filter hci_sec_filter = {
84}; 84};
85 85
86static struct bt_sock_list hci_sk_list = { 86static struct bt_sock_list hci_sk_list = {
87 .lock = RW_LOCK_UNLOCKED 87 .lock = __RW_LOCK_UNLOCKED(hci_sk_list.lock)
88}; 88};
89 89
90/* Send frame to RAW socket */ 90/* Send frame to RAW socket */
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 34f8bf98bc0..2957df4b6c0 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -62,7 +62,7 @@ static u32 l2cap_feat_mask = 0x0000;
62static const struct proto_ops l2cap_sock_ops; 62static const struct proto_ops l2cap_sock_ops;
63 63
64static struct bt_sock_list l2cap_sk_list = { 64static struct bt_sock_list l2cap_sk_list = {
65 .lock = RW_LOCK_UNLOCKED 65 .lock = __RW_LOCK_UNLOCKED(l2cap_sk_list.lock)
66}; 66};
67 67
68static void __l2cap_sock_close(struct sock *sk, int reason); 68static void __l2cap_sock_close(struct sock *sk, int reason);
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
index 0c2c93735e9..eb62558e9b0 100644
--- a/net/bluetooth/rfcomm/core.c
+++ b/net/bluetooth/rfcomm/core.c
@@ -423,8 +423,8 @@ static int __rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
423 423
424 rfcomm_dlc_lock(d); 424 rfcomm_dlc_lock(d);
425 d->state = BT_CLOSED; 425 d->state = BT_CLOSED;
426 d->state_change(d, err);
427 rfcomm_dlc_unlock(d); 426 rfcomm_dlc_unlock(d);
427 d->state_change(d, err);
428 428
429 skb_queue_purge(&d->tx_queue); 429 skb_queue_purge(&d->tx_queue);
430 rfcomm_dlc_unlink(d); 430 rfcomm_dlc_unlink(d);
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index c46d51035e7..af4e3934ee8 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -60,7 +60,7 @@
60static const struct proto_ops rfcomm_sock_ops; 60static const struct proto_ops rfcomm_sock_ops;
61 61
62static struct bt_sock_list rfcomm_sk_list = { 62static struct bt_sock_list rfcomm_sk_list = {
63 .lock = RW_LOCK_UNLOCKED 63 .lock = __RW_LOCK_UNLOCKED(rfcomm_sk_list.lock)
64}; 64};
65 65
66static void rfcomm_sock_close(struct sock *sk); 66static void rfcomm_sock_close(struct sock *sk);
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index e4c779bb8d7..c3f749abb2d 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -570,12 +570,7 @@ static void rfcomm_dev_state_change(struct rfcomm_dlc *dlc, int err)
570 return; 570 return;
571 571
572 rfcomm_dev_del(dev); 572 rfcomm_dev_del(dev);
573 /* We have to drop DLC lock here, otherwise
574 rfcomm_dev_put() will dead lock if it's
575 the last reference. */
576 rfcomm_dlc_unlock(dlc);
577 rfcomm_dev_put(dev); 573 rfcomm_dev_put(dev);
578 rfcomm_dlc_lock(dlc);
579 } 574 }
580 } else 575 } else
581 tty_hangup(dev->tty); 576 tty_hangup(dev->tty);
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index b91d3c81a73..cd887cdca42 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -58,7 +58,7 @@
58static const struct proto_ops sco_sock_ops; 58static const struct proto_ops sco_sock_ops;
59 59
60static struct bt_sock_list sco_sk_list = { 60static struct bt_sock_list sco_sk_list = {
61 .lock = RW_LOCK_UNLOCKED 61 .lock = __RW_LOCK_UNLOCKED(sco_sk_list.lock)
62}; 62};
63 63
64static void __sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent); 64static void __sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent);
diff --git a/net/core/dev.c b/net/core/dev.c
index fcdf03cf3b3..460e7f99ce3 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3329,7 +3329,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
3329 return -EOPNOTSUPP; 3329 return -EOPNOTSUPP;
3330 3330
3331 case SIOCADDMULTI: 3331 case SIOCADDMULTI:
3332 if (!dev->set_multicast_list || 3332 if ((!dev->set_multicast_list && !dev->set_rx_mode) ||
3333 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) 3333 ifr->ifr_hwaddr.sa_family != AF_UNSPEC)
3334 return -EINVAL; 3334 return -EINVAL;
3335 if (!netif_device_present(dev)) 3335 if (!netif_device_present(dev))
@@ -3338,7 +3338,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
3338 dev->addr_len, 1); 3338 dev->addr_len, 1);
3339 3339
3340 case SIOCDELMULTI: 3340 case SIOCDELMULTI:
3341 if (!dev->set_multicast_list || 3341 if ((!dev->set_multicast_list && !dev->set_rx_mode) ||
3342 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) 3342 ifr->ifr_hwaddr.sa_family != AF_UNSPEC)
3343 return -EINVAL; 3343 return -EINVAL;
3344 if (!netif_device_present(dev)) 3344 if (!netif_device_present(dev))
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index d9a02b2cc28..19b8e003f15 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -466,6 +466,28 @@ out_neigh_release:
466 goto out; 466 goto out;
467} 467}
468 468
469struct pneigh_entry *__pneigh_lookup(struct neigh_table *tbl,
470 struct net *net, const void *pkey, struct net_device *dev)
471{
472 struct pneigh_entry *n;
473 int key_len = tbl->key_len;
474 u32 hash_val = *(u32 *)(pkey + key_len - 4);
475
476 hash_val ^= (hash_val >> 16);
477 hash_val ^= hash_val >> 8;
478 hash_val ^= hash_val >> 4;
479 hash_val &= PNEIGH_HASHMASK;
480
481 for (n = tbl->phash_buckets[hash_val]; n; n = n->next) {
482 if (!memcmp(n->key, pkey, key_len) &&
483 (n->net == net) &&
484 (n->dev == dev || !n->dev))
485 break;
486 }
487
488 return n;
489}
490
469struct pneigh_entry * pneigh_lookup(struct neigh_table *tbl, 491struct pneigh_entry * pneigh_lookup(struct neigh_table *tbl,
470 struct net *net, const void *pkey, 492 struct net *net, const void *pkey,
471 struct net_device *dev, int creat) 493 struct net_device *dev, int creat)
@@ -2803,6 +2825,7 @@ EXPORT_SYMBOL(neigh_table_init_no_netlink);
2803EXPORT_SYMBOL(neigh_update); 2825EXPORT_SYMBOL(neigh_update);
2804EXPORT_SYMBOL(pneigh_enqueue); 2826EXPORT_SYMBOL(pneigh_enqueue);
2805EXPORT_SYMBOL(pneigh_lookup); 2827EXPORT_SYMBOL(pneigh_lookup);
2828EXPORT_SYMBOL_GPL(__pneigh_lookup);
2806 2829
2807#ifdef CONFIG_ARPD 2830#ifdef CONFIG_ARPD
2808EXPORT_SYMBOL(neigh_app_ns); 2831EXPORT_SYMBOL(neigh_app_ns);
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index 1e3f87c8c01..200ee1e6372 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -271,7 +271,6 @@ ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
271{ 271{
272 struct ieee80211_hdr_3addr *hdr; 272 struct ieee80211_hdr_3addr *hdr;
273 int res, hdrlen; 273 int res, hdrlen;
274 DECLARE_MAC_BUF(mac);
275 274
276 if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL) 275 if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL)
277 return 0; 276 return 0;
@@ -283,8 +282,12 @@ ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
283 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv); 282 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv);
284 atomic_dec(&crypt->refcnt); 283 atomic_dec(&crypt->refcnt);
285 if (res < 0) { 284 if (res < 0) {
286 IEEE80211_DEBUG_DROP("decryption failed (SA=%s" 285 IEEE80211_DEBUG_DROP("decryption failed (SA=" MAC_FMT
287 ") res=%d\n", print_mac(mac, hdr->addr2), res); 286 ") res=%d\n",
287 hdr->addr2[0], hdr->addr2[1],
288 hdr->addr2[2], hdr->addr2[3],
289 hdr->addr2[4], hdr->addr2[5],
290 res);
288 if (res == -2) 291 if (res == -2)
289 IEEE80211_DEBUG_DROP("Decryption failed ICV " 292 IEEE80211_DEBUG_DROP("Decryption failed ICV "
290 "mismatch (key %d)\n", 293 "mismatch (key %d)\n",
@@ -304,7 +307,6 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
304{ 307{
305 struct ieee80211_hdr_3addr *hdr; 308 struct ieee80211_hdr_3addr *hdr;
306 int res, hdrlen; 309 int res, hdrlen;
307 DECLARE_MAC_BUF(mac);
308 310
309 if (crypt == NULL || crypt->ops->decrypt_msdu == NULL) 311 if (crypt == NULL || crypt->ops->decrypt_msdu == NULL)
310 return 0; 312 return 0;
@@ -317,8 +319,12 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
317 atomic_dec(&crypt->refcnt); 319 atomic_dec(&crypt->refcnt);
318 if (res < 0) { 320 if (res < 0) {
319 printk(KERN_DEBUG "%s: MSDU decryption/MIC verification failed" 321 printk(KERN_DEBUG "%s: MSDU decryption/MIC verification failed"
320 " (SA=%s keyidx=%d)\n", 322 " (SA=" MAC_FMT " keyidx=%d)\n",
321 ieee->dev->name, print_mac(mac, hdr->addr2), keyidx); 323 ieee->dev->name,
324 hdr->addr2[0], hdr->addr2[1],
325 hdr->addr2[2], hdr->addr2[3],
326 hdr->addr2[4], hdr->addr2[5],
327 keyidx);
322 return -1; 328 return -1;
323 } 329 }
324 330
@@ -462,8 +468,10 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
462 * frames silently instead of filling system log with 468 * frames silently instead of filling system log with
463 * these reports. */ 469 * these reports. */
464 IEEE80211_DEBUG_DROP("Decryption failed (not set)" 470 IEEE80211_DEBUG_DROP("Decryption failed (not set)"
465 " (SA=%s)\n", 471 " (SA=" MAC_FMT ")\n",
466 print_mac(mac, hdr->addr2)); 472 hdr->addr2[0], hdr->addr2[1],
473 hdr->addr2[2], hdr->addr2[3],
474 hdr->addr2[4], hdr->addr2[5]);
467 ieee->ieee_stats.rx_discards_undecryptable++; 475 ieee->ieee_stats.rx_discards_undecryptable++;
468 goto rx_dropped; 476 goto rx_dropped;
469 } 477 }
@@ -474,8 +482,10 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
474 fc & IEEE80211_FCTL_PROTECTED && ieee->host_decrypt && 482 fc & IEEE80211_FCTL_PROTECTED && ieee->host_decrypt &&
475 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0) { 483 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0) {
476 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth " 484 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
477 "from %s\n", dev->name, 485 "from " MAC_FMT "\n", dev->name,
478 print_mac(mac, hdr->addr2)); 486 hdr->addr2[0], hdr->addr2[1],
487 hdr->addr2[2], hdr->addr2[3],
488 hdr->addr2[4], hdr->addr2[5]);
479 /* TODO: could inform hostapd about this so that it 489 /* TODO: could inform hostapd about this so that it
480 * could send auth failure report */ 490 * could send auth failure report */
481 goto rx_dropped; 491 goto rx_dropped;
@@ -653,8 +663,11 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
653 * configured */ 663 * configured */
654 } else { 664 } else {
655 IEEE80211_DEBUG_DROP("encryption configured, but RX " 665 IEEE80211_DEBUG_DROP("encryption configured, but RX "
656 "frame not encrypted (SA=%s" 666 "frame not encrypted (SA="
657 ")\n", print_mac(mac, hdr->addr2)); 667 MAC_FMT ")\n",
668 hdr->addr2[0], hdr->addr2[1],
669 hdr->addr2[2], hdr->addr2[3],
670 hdr->addr2[4], hdr->addr2[5]);
658 goto rx_dropped; 671 goto rx_dropped;
659 } 672 }
660 } 673 }
@@ -662,9 +675,11 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
662 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep && 675 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep &&
663 !ieee80211_is_eapol_frame(ieee, skb)) { 676 !ieee80211_is_eapol_frame(ieee, skb)) {
664 IEEE80211_DEBUG_DROP("dropped unencrypted RX data " 677 IEEE80211_DEBUG_DROP("dropped unencrypted RX data "
665 "frame from %s" 678 "frame from " MAC_FMT
666 " (drop_unencrypted=1)\n", 679 " (drop_unencrypted=1)\n",
667 print_mac(mac, hdr->addr2)); 680 hdr->addr2[0], hdr->addr2[1],
681 hdr->addr2[2], hdr->addr2[3],
682 hdr->addr2[4], hdr->addr2[5]);
668 goto rx_dropped; 683 goto rx_dropped;
669 } 684 }
670 685
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index 9c7e5ffb223..4670683b468 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -160,7 +160,7 @@ config IP_PNP_DHCP
160 160
161 If unsure, say Y. Note that if you want to use DHCP, a DHCP server 161 If unsure, say Y. Note that if you want to use DHCP, a DHCP server
162 must be operating on your network. Read 162 must be operating on your network. Read
163 <file:Documentation/nfsroot.txt> for details. 163 <file:Documentation/filesystems/nfsroot.txt> for details.
164 164
165config IP_PNP_BOOTP 165config IP_PNP_BOOTP
166 bool "IP: BOOTP support" 166 bool "IP: BOOTP support"
@@ -175,7 +175,7 @@ config IP_PNP_BOOTP
175 does BOOTP itself, providing all necessary information on the kernel 175 does BOOTP itself, providing all necessary information on the kernel
176 command line, you can say N here. If unsure, say Y. Note that if you 176 command line, you can say N here. If unsure, say Y. Note that if you
177 want to use BOOTP, a BOOTP server must be operating on your network. 177 want to use BOOTP, a BOOTP server must be operating on your network.
178 Read <file:Documentation/nfsroot.txt> for details. 178 Read <file:Documentation/filesystems/nfsroot.txt> for details.
179 179
180config IP_PNP_RARP 180config IP_PNP_RARP
181 bool "IP: RARP support" 181 bool "IP: RARP support"
@@ -187,8 +187,8 @@ config IP_PNP_RARP
187 discovered automatically at boot time using the RARP protocol (an 187 discovered automatically at boot time using the RARP protocol (an
188 older protocol which is being obsoleted by BOOTP and DHCP), say Y 188 older protocol which is being obsoleted by BOOTP and DHCP), say Y
189 here. Note that if you want to use RARP, a RARP server must be 189 here. Note that if you want to use RARP, a RARP server must be
190 operating on your network. Read <file:Documentation/nfsroot.txt> for 190 operating on your network. Read
191 details. 191 <file:Documentation/filesystems/nfsroot.txt> for details.
192 192
193# not yet ready.. 193# not yet ready..
194# bool ' IP: ARP support' CONFIG_IP_PNP_ARP 194# bool ' IP: ARP support' CONFIG_IP_PNP_ARP
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index f3ceca31aa4..4e73e5708e7 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -336,7 +336,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
336 struct scatterlist *asg; 336 struct scatterlist *asg;
337 int err = -EINVAL; 337 int err = -EINVAL;
338 338
339 if (!pskb_may_pull(skb, sizeof(*esph))) 339 if (!pskb_may_pull(skb, sizeof(*esph) + crypto_aead_ivsize(aead)))
340 goto out; 340 goto out;
341 341
342 if (elen <= 0) 342 if (elen <= 0)
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 1ff446d0fa8..f6cdc012eec 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -177,10 +177,13 @@ static inline struct tnode *node_parent_rcu(struct node *node)
177 return rcu_dereference(ret); 177 return rcu_dereference(ret);
178} 178}
179 179
180/* Same as rcu_assign_pointer
181 * but that macro() assumes that value is a pointer.
182 */
180static inline void node_set_parent(struct node *node, struct tnode *ptr) 183static inline void node_set_parent(struct node *node, struct tnode *ptr)
181{ 184{
182 rcu_assign_pointer(node->parent, 185 smp_wmb();
183 (unsigned long)ptr | NODE_TYPE(node)); 186 node->parent = (unsigned long)ptr | NODE_TYPE(node);
184} 187}
185 188
186static inline struct node *tnode_get_child(struct tnode *tn, unsigned int i) 189static inline struct node *tnode_get_child(struct tnode *tn, unsigned int i)
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index a13c074dac0..40508babad8 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -591,7 +591,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info)
591 } 591 }
592 592
593 if (xfrm_decode_session_reverse(skb_in, &fl, AF_INET)) 593 if (xfrm_decode_session_reverse(skb_in, &fl, AF_INET))
594 goto out_unlock; 594 goto relookup_failed;
595 595
596 if (inet_addr_type(net, fl.fl4_src) == RTN_LOCAL) 596 if (inet_addr_type(net, fl.fl4_src) == RTN_LOCAL)
597 err = __ip_route_output_key(net, &rt2, &fl); 597 err = __ip_route_output_key(net, &rt2, &fl);
@@ -601,7 +601,7 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info)
601 601
602 fl2.fl4_dst = fl.fl4_src; 602 fl2.fl4_dst = fl.fl4_src;
603 if (ip_route_output_key(net, &rt2, &fl2)) 603 if (ip_route_output_key(net, &rt2, &fl2))
604 goto out_unlock; 604 goto relookup_failed;
605 605
606 /* Ugh! */ 606 /* Ugh! */
607 odst = skb_in->dst; 607 odst = skb_in->dst;
@@ -614,21 +614,23 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info)
614 } 614 }
615 615
616 if (err) 616 if (err)
617 goto out_unlock; 617 goto relookup_failed;
618 618
619 err = xfrm_lookup((struct dst_entry **)&rt2, &fl, NULL, 619 err = xfrm_lookup((struct dst_entry **)&rt2, &fl, NULL,
620 XFRM_LOOKUP_ICMP); 620 XFRM_LOOKUP_ICMP);
621 if (err == -ENOENT) { 621 switch (err) {
622 case 0:
623 dst_release(&rt->u.dst);
624 rt = rt2;
625 break;
626 case -EPERM:
627 goto ende;
628 default:
629relookup_failed:
622 if (!rt) 630 if (!rt)
623 goto out_unlock; 631 goto out_unlock;
624 goto route_done; 632 break;
625 } 633 }
626
627 dst_release(&rt->u.dst);
628 rt = rt2;
629
630 if (err)
631 goto out_unlock;
632 } 634 }
633 635
634route_done: 636route_done:
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c
index 724d69aed03..a0a3c78cb5e 100644
--- a/net/ipv4/inet_fragment.c
+++ b/net/ipv4/inet_fragment.c
@@ -86,7 +86,10 @@ EXPORT_SYMBOL(inet_frags_fini);
86void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f) 86void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f)
87{ 87{
88 nf->low_thresh = 0; 88 nf->low_thresh = 0;
89
90 local_bh_disable();
89 inet_frag_evictor(nf, f); 91 inet_frag_evictor(nf, f);
92 local_bh_enable();
90} 93}
91EXPORT_SYMBOL(inet_frags_exit_net); 94EXPORT_SYMBOL(inet_frags_exit_net);
92 95
diff --git a/net/ipv4/inet_timewait_sock.c b/net/ipv4/inet_timewait_sock.c
index 876169f3a52..717c411a5c6 100644
--- a/net/ipv4/inet_timewait_sock.c
+++ b/net/ipv4/inet_timewait_sock.c
@@ -124,6 +124,7 @@ struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, const int stat
124 tw->tw_hash = sk->sk_hash; 124 tw->tw_hash = sk->sk_hash;
125 tw->tw_ipv6only = 0; 125 tw->tw_ipv6only = 0;
126 tw->tw_prot = sk->sk_prot_creator; 126 tw->tw_prot = sk->sk_prot_creator;
127 tw->tw_net = sk->sk_net;
127 atomic_set(&tw->tw_refcnt, 1); 128 atomic_set(&tw->tw_refcnt, 1);
128 inet_twsk_dead_node_init(tw); 129 inet_twsk_dead_node_init(tw);
129 __module_get(tw->tw_prot->owner); 130 __module_get(tw->tw_prot->owner);
diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c
index 0b3b328d82d..a4506c8cfef 100644
--- a/net/ipv4/ip_forward.c
+++ b/net/ipv4/ip_forward.c
@@ -85,7 +85,7 @@ int ip_forward(struct sk_buff *skb)
85 if (opt->is_strictroute && rt->rt_dst != rt->rt_gateway) 85 if (opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
86 goto sr_failed; 86 goto sr_failed;
87 87
88 if (unlikely(skb->len > dst_mtu(&rt->u.dst) && 88 if (unlikely(skb->len > dst_mtu(&rt->u.dst) && !skb_is_gso(skb) &&
89 (ip_hdr(skb)->frag_off & htons(IP_DF))) && !skb->local_df) { 89 (ip_hdr(skb)->frag_off & htons(IP_DF))) && !skb->local_df) {
90 IP_INC_STATS(IPSTATS_MIB_FRAGFAILS); 90 IP_INC_STATS(IPSTATS_MIB_FRAGFAILS);
91 icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, 91 icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index a2e92f9709d..3b2e5adca83 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -568,7 +568,7 @@ int ip_defrag(struct sk_buff *skb, u32 user)
568 568
569 IP_INC_STATS_BH(IPSTATS_MIB_REASMREQDS); 569 IP_INC_STATS_BH(IPSTATS_MIB_REASMREQDS);
570 570
571 net = skb->dev->nd_net; 571 net = skb->dev ? skb->dev->nd_net : skb->dst->dev->nd_net;
572 /* Start by cleaning up the memory. */ 572 /* Start by cleaning up the memory. */
573 if (atomic_read(&net->ipv4.frags.mem) > net->ipv4.frags.high_thresh) 573 if (atomic_read(&net->ipv4.frags.mem) > net->ipv4.frags.high_thresh)
574 ip_evictor(net); 574 ip_evictor(net);
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index f72457b4b0a..c2921d01e92 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -1132,7 +1132,7 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
1132 } 1132 }
1133 release_sock(sk); 1133 release_sock(sk);
1134 1134
1135 if (len < sizeof(int) && len > 0 && val>=0 && val<255) { 1135 if (len < sizeof(int) && len > 0 && val>=0 && val<=255) {
1136 unsigned char ucval = (unsigned char)val; 1136 unsigned char ucval = (unsigned char)val;
1137 len = 1; 1137 len = 1;
1138 if (put_user(len, optlen)) 1138 if (put_user(len, optlen))
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 7c992fbbc2c..4824fe8996b 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -1411,7 +1411,7 @@ late_initcall(ip_auto_config);
1411 1411
1412/* 1412/*
1413 * Decode any IP configuration options in the "ip=" or "nfsaddrs=" kernel 1413 * Decode any IP configuration options in the "ip=" or "nfsaddrs=" kernel
1414 * command line parameter. See Documentation/nfsroot.txt. 1414 * command line parameter. See Documentation/filesystems/nfsroot.txt.
1415 */ 1415 */
1416static int __init ic_proto_name(char *name) 1416static int __init ic_proto_name(char *name)
1417{ 1417{
diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c
index fe05da41d6b..4dc162894cb 100644
--- a/net/ipv4/netfilter/ip_queue.c
+++ b/net/ipv4/netfilter/ip_queue.c
@@ -588,11 +588,9 @@ static int __init ip_queue_init(void)
588 } 588 }
589 589
590#ifdef CONFIG_PROC_FS 590#ifdef CONFIG_PROC_FS
591 proc = create_proc_entry(IPQ_PROC_FS_NAME, 0, init_net.proc_net); 591 proc = proc_create(IPQ_PROC_FS_NAME, 0, init_net.proc_net,
592 if (proc) { 592 &ip_queue_proc_fops);
593 proc->owner = THIS_MODULE; 593 if (!proc) {
594 proc->proc_fops = &ip_queue_proc_fops;
595 } else {
596 printk(KERN_ERR "ip_queue: failed to create proc entry\n"); 594 printk(KERN_ERR "ip_queue: failed to create proc entry\n");
597 goto cleanup_ipqnl; 595 goto cleanup_ipqnl;
598 } 596 }
diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c
index c6cf84c7761..52926c8e3cc 100644
--- a/net/ipv4/netfilter/ipt_CLUSTERIP.c
+++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c
@@ -167,14 +167,13 @@ clusterip_config_init(struct ipt_clusterip_tgt_info *i, __be32 ip,
167 167
168 /* create proc dir entry */ 168 /* create proc dir entry */
169 sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(ip)); 169 sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(ip));
170 c->pde = create_proc_entry(buffer, S_IWUSR|S_IRUSR, 170 c->pde = proc_create(buffer, S_IWUSR|S_IRUSR,
171 clusterip_procdir); 171 clusterip_procdir, &clusterip_proc_fops);
172 if (!c->pde) { 172 if (!c->pde) {
173 kfree(c); 173 kfree(c);
174 return NULL; 174 return NULL;
175 } 175 }
176 } 176 }
177 c->pde->proc_fops = &clusterip_proc_fops;
178 c->pde->data = c; 177 c->pde->data = c;
179#endif 178#endif
180 179
diff --git a/net/ipv4/netfilter/ipt_recent.c b/net/ipv4/netfilter/ipt_recent.c
index 8e8f0425a8e..50e06690eb5 100644
--- a/net/ipv4/netfilter/ipt_recent.c
+++ b/net/ipv4/netfilter/ipt_recent.c
@@ -276,12 +276,11 @@ recent_mt_check(const char *tablename, const void *ip,
276 for (i = 0; i < ip_list_hash_size; i++) 276 for (i = 0; i < ip_list_hash_size; i++)
277 INIT_LIST_HEAD(&t->iphash[i]); 277 INIT_LIST_HEAD(&t->iphash[i]);
278#ifdef CONFIG_PROC_FS 278#ifdef CONFIG_PROC_FS
279 t->proc = create_proc_entry(t->name, ip_list_perms, proc_dir); 279 t->proc = proc_create(t->name, ip_list_perms, proc_dir, &recent_fops);
280 if (t->proc == NULL) { 280 if (t->proc == NULL) {
281 kfree(t); 281 kfree(t);
282 goto out; 282 goto out;
283 } 283 }
284 t->proc->proc_fops = &recent_fops;
285 t->proc->uid = ip_list_uid; 284 t->proc->uid = ip_list_uid;
286 t->proc->gid = ip_list_gid; 285 t->proc->gid = ip_list_gid;
287 t->proc->data = t; 286 t->proc->data = t;
diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
index 089252e82c0..f500b0fdaef 100644
--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
+++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
@@ -395,13 +395,10 @@ int __init nf_conntrack_ipv4_compat_init(void)
395 if (!proc_exp) 395 if (!proc_exp)
396 goto err2; 396 goto err2;
397 397
398 proc_stat = create_proc_entry("ip_conntrack", S_IRUGO, init_net.proc_net_stat); 398 proc_stat = proc_create("ip_conntrack", S_IRUGO,
399 init_net.proc_net_stat, &ct_cpu_seq_fops);
399 if (!proc_stat) 400 if (!proc_stat)
400 goto err3; 401 goto err3;
401
402 proc_stat->proc_fops = &ct_cpu_seq_fops;
403 proc_stat->owner = THIS_MODULE;
404
405 return 0; 402 return 0;
406 403
407err3: 404err3:
diff --git a/net/ipv4/netfilter/nf_nat_core.c b/net/ipv4/netfilter/nf_nat_core.c
index 0d5fa3a54d0..36b4e3bb056 100644
--- a/net/ipv4/netfilter/nf_nat_core.c
+++ b/net/ipv4/netfilter/nf_nat_core.c
@@ -629,6 +629,8 @@ static int __init nf_nat_init(void)
629 size_t i; 629 size_t i;
630 int ret; 630 int ret;
631 631
632 need_ipv4_conntrack();
633
632 ret = nf_ct_extend_register(&nat_extend); 634 ret = nf_ct_extend_register(&nat_extend);
633 if (ret < 0) { 635 if (ret < 0) {
634 printk(KERN_ERR "nf_nat_core: Unable to register extension\n"); 636 printk(KERN_ERR "nf_nat_core: Unable to register extension\n");
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 071e83a894a..39b629ac240 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -735,7 +735,7 @@ new_segment:
735 if (!(psize -= copy)) 735 if (!(psize -= copy))
736 goto out; 736 goto out;
737 737
738 if (skb->len < mss_now || (flags & MSG_OOB)) 738 if (skb->len < size_goal || (flags & MSG_OOB))
739 continue; 739 continue;
740 740
741 if (forced_push(tp)) { 741 if (forced_push(tp)) {
@@ -981,7 +981,7 @@ new_segment:
981 if ((seglen -= copy) == 0 && iovlen == 0) 981 if ((seglen -= copy) == 0 && iovlen == 0)
982 goto out; 982 goto out;
983 983
984 if (skb->len < mss_now || (flags & MSG_OOB)) 984 if (skb->len < size_goal || (flags & MSG_OOB))
985 continue; 985 continue;
986 986
987 if (forced_push(tp)) { 987 if (forced_push(tp)) {
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 7facdb0f696..5119856017a 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1625,13 +1625,11 @@ out:
1625 return flag; 1625 return flag;
1626} 1626}
1627 1627
1628/* If we receive more dupacks than we expected counting segments 1628/* Limits sacked_out so that sum with lost_out isn't ever larger than
1629 * in assumption of absent reordering, interpret this as reordering. 1629 * packets_out. Returns zero if sacked_out adjustement wasn't necessary.
1630 * The only another reason could be bug in receiver TCP.
1631 */ 1630 */
1632static void tcp_check_reno_reordering(struct sock *sk, const int addend) 1631int tcp_limit_reno_sacked(struct tcp_sock *tp)
1633{ 1632{
1634 struct tcp_sock *tp = tcp_sk(sk);
1635 u32 holes; 1633 u32 holes;
1636 1634
1637 holes = max(tp->lost_out, 1U); 1635 holes = max(tp->lost_out, 1U);
@@ -1639,8 +1637,20 @@ static void tcp_check_reno_reordering(struct sock *sk, const int addend)
1639 1637
1640 if ((tp->sacked_out + holes) > tp->packets_out) { 1638 if ((tp->sacked_out + holes) > tp->packets_out) {
1641 tp->sacked_out = tp->packets_out - holes; 1639 tp->sacked_out = tp->packets_out - holes;
1642 tcp_update_reordering(sk, tp->packets_out + addend, 0); 1640 return 1;
1643 } 1641 }
1642 return 0;
1643}
1644
1645/* If we receive more dupacks than we expected counting segments
1646 * in assumption of absent reordering, interpret this as reordering.
1647 * The only another reason could be bug in receiver TCP.
1648 */
1649static void tcp_check_reno_reordering(struct sock *sk, const int addend)
1650{
1651 struct tcp_sock *tp = tcp_sk(sk);
1652 if (tcp_limit_reno_sacked(tp))
1653 tcp_update_reordering(sk, tp->packets_out + addend, 0);
1644} 1654}
1645 1655
1646/* Emulate SACKs for SACKless connection: account for a new dupack. */ 1656/* Emulate SACKs for SACKless connection: account for a new dupack. */
@@ -1681,11 +1691,16 @@ static inline void tcp_reset_reno_sack(struct tcp_sock *tp)
1681int tcp_use_frto(struct sock *sk) 1691int tcp_use_frto(struct sock *sk)
1682{ 1692{
1683 const struct tcp_sock *tp = tcp_sk(sk); 1693 const struct tcp_sock *tp = tcp_sk(sk);
1694 const struct inet_connection_sock *icsk = inet_csk(sk);
1684 struct sk_buff *skb; 1695 struct sk_buff *skb;
1685 1696
1686 if (!sysctl_tcp_frto) 1697 if (!sysctl_tcp_frto)
1687 return 0; 1698 return 0;
1688 1699
1700 /* MTU probe and F-RTO won't really play nicely along currently */
1701 if (icsk->icsk_mtup.probe_size)
1702 return 0;
1703
1689 if (IsSackFrto()) 1704 if (IsSackFrto())
1690 return 1; 1705 return 1;
1691 1706
@@ -2134,11 +2149,13 @@ static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)
2134/* Mark head of queue up as lost. With RFC3517 SACK, the packets is 2149/* Mark head of queue up as lost. With RFC3517 SACK, the packets is
2135 * is against sacked "cnt", otherwise it's against facked "cnt" 2150 * is against sacked "cnt", otherwise it's against facked "cnt"
2136 */ 2151 */
2137static void tcp_mark_head_lost(struct sock *sk, int packets, int fast_rexmit) 2152static void tcp_mark_head_lost(struct sock *sk, int packets)
2138{ 2153{
2139 struct tcp_sock *tp = tcp_sk(sk); 2154 struct tcp_sock *tp = tcp_sk(sk);
2140 struct sk_buff *skb; 2155 struct sk_buff *skb;
2141 int cnt; 2156 int cnt, oldcnt;
2157 int err;
2158 unsigned int mss;
2142 2159
2143 BUG_TRAP(packets <= tp->packets_out); 2160 BUG_TRAP(packets <= tp->packets_out);
2144 if (tp->lost_skb_hint) { 2161 if (tp->lost_skb_hint) {
@@ -2157,13 +2174,25 @@ static void tcp_mark_head_lost(struct sock *sk, int packets, int fast_rexmit)
2157 tp->lost_skb_hint = skb; 2174 tp->lost_skb_hint = skb;
2158 tp->lost_cnt_hint = cnt; 2175 tp->lost_cnt_hint = cnt;
2159 2176
2177 if (after(TCP_SKB_CB(skb)->end_seq, tp->high_seq))
2178 break;
2179
2180 oldcnt = cnt;
2160 if (tcp_is_fack(tp) || tcp_is_reno(tp) || 2181 if (tcp_is_fack(tp) || tcp_is_reno(tp) ||
2161 (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_ACKED)) 2182 (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_ACKED))
2162 cnt += tcp_skb_pcount(skb); 2183 cnt += tcp_skb_pcount(skb);
2163 2184
2164 if (((!fast_rexmit || (tp->lost_out > 0)) && (cnt > packets)) || 2185 if (cnt > packets) {
2165 after(TCP_SKB_CB(skb)->end_seq, tp->high_seq)) 2186 if (tcp_is_sack(tp) || (oldcnt >= packets))
2166 break; 2187 break;
2188
2189 mss = skb_shinfo(skb)->gso_size;
2190 err = tcp_fragment(sk, skb, (packets - oldcnt) * mss, mss);
2191 if (err < 0)
2192 break;
2193 cnt = packets;
2194 }
2195
2167 if (!(TCP_SKB_CB(skb)->sacked & (TCPCB_SACKED_ACKED|TCPCB_LOST))) { 2196 if (!(TCP_SKB_CB(skb)->sacked & (TCPCB_SACKED_ACKED|TCPCB_LOST))) {
2168 TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; 2197 TCP_SKB_CB(skb)->sacked |= TCPCB_LOST;
2169 tp->lost_out += tcp_skb_pcount(skb); 2198 tp->lost_out += tcp_skb_pcount(skb);
@@ -2180,17 +2209,17 @@ static void tcp_update_scoreboard(struct sock *sk, int fast_rexmit)
2180 struct tcp_sock *tp = tcp_sk(sk); 2209 struct tcp_sock *tp = tcp_sk(sk);
2181 2210
2182 if (tcp_is_reno(tp)) { 2211 if (tcp_is_reno(tp)) {
2183 tcp_mark_head_lost(sk, 1, fast_rexmit); 2212 tcp_mark_head_lost(sk, 1);
2184 } else if (tcp_is_fack(tp)) { 2213 } else if (tcp_is_fack(tp)) {
2185 int lost = tp->fackets_out - tp->reordering; 2214 int lost = tp->fackets_out - tp->reordering;
2186 if (lost <= 0) 2215 if (lost <= 0)
2187 lost = 1; 2216 lost = 1;
2188 tcp_mark_head_lost(sk, lost, fast_rexmit); 2217 tcp_mark_head_lost(sk, lost);
2189 } else { 2218 } else {
2190 int sacked_upto = tp->sacked_out - tp->reordering; 2219 int sacked_upto = tp->sacked_out - tp->reordering;
2191 if (sacked_upto < 0) 2220 if (sacked_upto < fast_rexmit)
2192 sacked_upto = 0; 2221 sacked_upto = fast_rexmit;
2193 tcp_mark_head_lost(sk, sacked_upto, fast_rexmit); 2222 tcp_mark_head_lost(sk, sacked_upto);
2194 } 2223 }
2195 2224
2196 /* New heuristics: it is possible only after we switched 2225 /* New heuristics: it is possible only after we switched
@@ -2524,7 +2553,7 @@ static void tcp_fastretrans_alert(struct sock *sk, int pkts_acked, int flag)
2524 before(tp->snd_una, tp->high_seq) && 2553 before(tp->snd_una, tp->high_seq) &&
2525 icsk->icsk_ca_state != TCP_CA_Open && 2554 icsk->icsk_ca_state != TCP_CA_Open &&
2526 tp->fackets_out > tp->reordering) { 2555 tp->fackets_out > tp->reordering) {
2527 tcp_mark_head_lost(sk, tp->fackets_out - tp->reordering, 0); 2556 tcp_mark_head_lost(sk, tp->fackets_out - tp->reordering);
2528 NET_INC_STATS_BH(LINUX_MIB_TCPLOSS); 2557 NET_INC_STATS_BH(LINUX_MIB_TCPLOSS);
2529 } 2558 }
2530 2559
@@ -2586,6 +2615,8 @@ static void tcp_fastretrans_alert(struct sock *sk, int pkts_acked, int flag)
2586 case TCP_CA_Loss: 2615 case TCP_CA_Loss:
2587 if (flag & FLAG_DATA_ACKED) 2616 if (flag & FLAG_DATA_ACKED)
2588 icsk->icsk_retransmits = 0; 2617 icsk->icsk_retransmits = 0;
2618 if (tcp_is_reno(tp) && flag & FLAG_SND_UNA_ADVANCED)
2619 tcp_reset_reno_sack(tp);
2589 if (!tcp_try_undo_loss(sk)) { 2620 if (!tcp_try_undo_loss(sk)) {
2590 tcp_moderate_cwnd(tp); 2621 tcp_moderate_cwnd(tp);
2591 tcp_xmit_retransmit_queue(sk); 2622 tcp_xmit_retransmit_queue(sk);
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 72b9350006f..d29ef79c00c 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1808,6 +1808,9 @@ void tcp_simple_retransmit(struct sock *sk)
1808 if (!lost) 1808 if (!lost)
1809 return; 1809 return;
1810 1810
1811 if (tcp_is_reno(tp))
1812 tcp_limit_reno_sacked(tp);
1813
1811 tcp_verify_left_out(tp); 1814 tcp_verify_left_out(tp);
1812 1815
1813 /* Don't muck with the congestion window here. 1816 /* Don't muck with the congestion window here.
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 7ea1b67b6de..1704c1474ea 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1556,14 +1556,14 @@ static void *udp_seq_start(struct seq_file *seq, loff_t *pos)
1556 __acquires(udp_hash_lock) 1556 __acquires(udp_hash_lock)
1557{ 1557{
1558 read_lock(&udp_hash_lock); 1558 read_lock(&udp_hash_lock);
1559 return *pos ? udp_get_idx(seq, *pos-1) : (void *)1; 1559 return *pos ? udp_get_idx(seq, *pos-1) : SEQ_START_TOKEN;
1560} 1560}
1561 1561
1562static void *udp_seq_next(struct seq_file *seq, void *v, loff_t *pos) 1562static void *udp_seq_next(struct seq_file *seq, void *v, loff_t *pos)
1563{ 1563{
1564 struct sock *sk; 1564 struct sock *sk;
1565 1565
1566 if (v == (void *)1) 1566 if (v == SEQ_START_TOKEN)
1567 sk = udp_get_idx(seq, 0); 1567 sk = udp_get_idx(seq, 0);
1568 else 1568 else
1569 sk = udp_get_next(seq, v); 1569 sk = udp_get_next(seq, v);
diff --git a/net/ipv4/xfrm4_mode_beet.c b/net/ipv4/xfrm4_mode_beet.c
index b47030ba162..9c798abce73 100644
--- a/net/ipv4/xfrm4_mode_beet.c
+++ b/net/ipv4/xfrm4_mode_beet.c
@@ -39,13 +39,11 @@ static void xfrm4_beet_make_header(struct sk_buff *skb)
39static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb) 39static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb)
40{ 40{
41 struct ip_beet_phdr *ph; 41 struct ip_beet_phdr *ph;
42 struct iphdr *iph, *top_iph; 42 struct iphdr *top_iph;
43 int hdrlen, optlen; 43 int hdrlen, optlen;
44 44
45 iph = ip_hdr(skb);
46
47 hdrlen = 0; 45 hdrlen = 0;
48 optlen = iph->ihl * 4 - sizeof(*iph); 46 optlen = XFRM_MODE_SKB_CB(skb)->optlen;
49 if (unlikely(optlen)) 47 if (unlikely(optlen))
50 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); 48 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4);
51 49
@@ -53,11 +51,12 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb)
53 hdrlen); 51 hdrlen);
54 skb->mac_header = skb->network_header + 52 skb->mac_header = skb->network_header +
55 offsetof(struct iphdr, protocol); 53 offsetof(struct iphdr, protocol);
56 skb->transport_header = skb->network_header + sizeof(*iph); 54 skb->transport_header = skb->network_header + sizeof(*top_iph);
57 55
58 xfrm4_beet_make_header(skb); 56 xfrm4_beet_make_header(skb);
59 57
60 ph = (struct ip_beet_phdr *)__skb_pull(skb, sizeof(*iph) - hdrlen); 58 ph = (struct ip_beet_phdr *)
59 __skb_pull(skb, XFRM_MODE_SKB_CB(skb)->ihl - hdrlen);
61 60
62 top_iph = ip_hdr(skb); 61 top_iph = ip_hdr(skb);
63 62
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
index 8dee617ee90..584e6d74e3a 100644
--- a/net/ipv4/xfrm4_mode_tunnel.c
+++ b/net/ipv4/xfrm4_mode_tunnel.c
@@ -41,7 +41,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
41 top_iph->ihl = 5; 41 top_iph->ihl = 5;
42 top_iph->version = 4; 42 top_iph->version = 4;
43 43
44 top_iph->protocol = x->inner_mode->afinfo->proto; 44 top_iph->protocol = xfrm_af2proto(skb->dst->ops->family);
45 45
46 /* DS disclosed */ 46 /* DS disclosed */
47 top_iph->tos = INET_ECN_encapsulate(XFRM_MODE_SKB_CB(skb)->tos, 47 top_iph->tos = INET_ECN_encapsulate(XFRM_MODE_SKB_CB(skb)->tos,
diff --git a/net/ipv4/xfrm4_output.c b/net/ipv4/xfrm4_output.c
index d5a58a81802..8c3180adddb 100644
--- a/net/ipv4/xfrm4_output.c
+++ b/net/ipv4/xfrm4_output.c
@@ -56,7 +56,7 @@ int xfrm4_prepare_output(struct xfrm_state *x, struct sk_buff *skb)
56{ 56{
57 int err; 57 int err;
58 58
59 err = x->inner_mode->afinfo->extract_output(x, skb); 59 err = xfrm_inner_extract_output(x, skb);
60 if (err) 60 if (err)
61 return err; 61 return err;
62 62
diff --git a/net/ipv4/xfrm4_state.c b/net/ipv4/xfrm4_state.c
index fdeebe68a37..07735ed280d 100644
--- a/net/ipv4/xfrm4_state.c
+++ b/net/ipv4/xfrm4_state.c
@@ -52,10 +52,12 @@ int xfrm4_extract_header(struct sk_buff *skb)
52{ 52{
53 struct iphdr *iph = ip_hdr(skb); 53 struct iphdr *iph = ip_hdr(skb);
54 54
55 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph);
55 XFRM_MODE_SKB_CB(skb)->id = iph->id; 56 XFRM_MODE_SKB_CB(skb)->id = iph->id;
56 XFRM_MODE_SKB_CB(skb)->frag_off = iph->frag_off; 57 XFRM_MODE_SKB_CB(skb)->frag_off = iph->frag_off;
57 XFRM_MODE_SKB_CB(skb)->tos = iph->tos; 58 XFRM_MODE_SKB_CB(skb)->tos = iph->tos;
58 XFRM_MODE_SKB_CB(skb)->ttl = iph->ttl; 59 XFRM_MODE_SKB_CB(skb)->ttl = iph->ttl;
60 XFRM_MODE_SKB_CB(skb)->optlen = iph->ihl * 4 - sizeof(*iph);
59 memset(XFRM_MODE_SKB_CB(skb)->flow_lbl, 0, 61 memset(XFRM_MODE_SKB_CB(skb)->flow_lbl, 0,
60 sizeof(XFRM_MODE_SKB_CB(skb)->flow_lbl)); 62 sizeof(XFRM_MODE_SKB_CB(skb)->flow_lbl));
61 63
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 101e0e70ba2..a65935a9afd 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -776,6 +776,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
776 struct inet6_dev *idev = ifp->idev; 776 struct inet6_dev *idev = ifp->idev;
777 struct in6_addr addr, *tmpaddr; 777 struct in6_addr addr, *tmpaddr;
778 unsigned long tmp_prefered_lft, tmp_valid_lft, tmp_cstamp, tmp_tstamp; 778 unsigned long tmp_prefered_lft, tmp_valid_lft, tmp_cstamp, tmp_tstamp;
779 unsigned long regen_advance;
779 int tmp_plen; 780 int tmp_plen;
780 int ret = 0; 781 int ret = 0;
781 int max_addresses; 782 int max_addresses;
@@ -836,8 +837,23 @@ retry:
836 tmp_tstamp = ifp->tstamp; 837 tmp_tstamp = ifp->tstamp;
837 spin_unlock_bh(&ifp->lock); 838 spin_unlock_bh(&ifp->lock);
838 839
840 regen_advance = idev->cnf.regen_max_retry *
841 idev->cnf.dad_transmits *
842 idev->nd_parms->retrans_time / HZ;
839 write_unlock(&idev->lock); 843 write_unlock(&idev->lock);
840 844
845 /* A temporary address is created only if this calculated Preferred
846 * Lifetime is greater than REGEN_ADVANCE time units. In particular,
847 * an implementation must not create a temporary address with a zero
848 * Preferred Lifetime.
849 */
850 if (tmp_prefered_lft <= regen_advance) {
851 in6_ifa_put(ifp);
852 in6_dev_put(idev);
853 ret = -1;
854 goto out;
855 }
856
841 addr_flags = IFA_F_TEMPORARY; 857 addr_flags = IFA_F_TEMPORARY;
842 /* set in addrconf_prefix_rcv() */ 858 /* set in addrconf_prefix_rcv() */
843 if (ifp->flags & IFA_F_OPTIMISTIC) 859 if (ifp->flags & IFA_F_OPTIMISTIC)
@@ -1831,6 +1847,9 @@ ok:
1831 * lifetimes of an existing temporary address 1847 * lifetimes of an existing temporary address
1832 * when processing a Prefix Information Option. 1848 * when processing a Prefix Information Option.
1833 */ 1849 */
1850 if (ifp != ift->ifpub)
1851 continue;
1852
1834 spin_lock(&ift->lock); 1853 spin_lock(&ift->lock);
1835 flags = ift->flags; 1854 flags = ift->flags;
1836 if (ift->valid_lft > valid_lft && 1855 if (ift->valid_lft > valid_lft &&
@@ -2437,7 +2456,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2437 2456
2438 ASSERT_RTNL(); 2457 ASSERT_RTNL();
2439 2458
2440 if (dev == init_net.loopback_dev && how == 1) 2459 if ((dev->flags & IFF_LOOPBACK) && how == 1)
2441 how = 0; 2460 how = 0;
2442 2461
2443 rt6_ifdown(dev); 2462 rt6_ifdown(dev);
@@ -2450,7 +2469,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2450 /* Step 1: remove reference to ipv6 device from parent device. 2469 /* Step 1: remove reference to ipv6 device from parent device.
2451 Do not dev_put! 2470 Do not dev_put!
2452 */ 2471 */
2453 if (how == 1) { 2472 if (how) {
2454 idev->dead = 1; 2473 idev->dead = 1;
2455 2474
2456 /* protected by rtnl_lock */ 2475 /* protected by rtnl_lock */
@@ -2482,12 +2501,12 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2482 write_lock_bh(&idev->lock); 2501 write_lock_bh(&idev->lock);
2483 2502
2484 /* Step 3: clear flags for stateless addrconf */ 2503 /* Step 3: clear flags for stateless addrconf */
2485 if (how != 1) 2504 if (!how)
2486 idev->if_flags &= ~(IF_RS_SENT|IF_RA_RCVD|IF_READY); 2505 idev->if_flags &= ~(IF_RS_SENT|IF_RA_RCVD|IF_READY);
2487 2506
2488 /* Step 4: clear address list */ 2507 /* Step 4: clear address list */
2489#ifdef CONFIG_IPV6_PRIVACY 2508#ifdef CONFIG_IPV6_PRIVACY
2490 if (how == 1 && del_timer(&idev->regen_timer)) 2509 if (how && del_timer(&idev->regen_timer))
2491 in6_dev_put(idev); 2510 in6_dev_put(idev);
2492 2511
2493 /* clear tempaddr list */ 2512 /* clear tempaddr list */
@@ -2524,7 +2543,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2524 2543
2525 /* Step 5: Discard multicast list */ 2544 /* Step 5: Discard multicast list */
2526 2545
2527 if (how == 1) 2546 if (how)
2528 ipv6_mc_destroy_dev(idev); 2547 ipv6_mc_destroy_dev(idev);
2529 else 2548 else
2530 ipv6_mc_down(idev); 2549 ipv6_mc_down(idev);
@@ -2533,7 +2552,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2533 2552
2534 /* Shot the device (if unregistered) */ 2553 /* Shot the device (if unregistered) */
2535 2554
2536 if (how == 1) { 2555 if (how) {
2537 addrconf_sysctl_unregister(idev); 2556 addrconf_sysctl_unregister(idev);
2538 neigh_parms_release(&nd_tbl, idev->nd_parms); 2557 neigh_parms_release(&nd_tbl, idev->nd_parms);
2539 neigh_ifdown(&nd_tbl, dev); 2558 neigh_ifdown(&nd_tbl, dev);
diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c
index 9c7f83fbc3a..e5f56c953b5 100644
--- a/net/ipv6/anycast.c
+++ b/net/ipv6/anycast.c
@@ -334,9 +334,7 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr)
334 idev->ac_list = aca; 334 idev->ac_list = aca;
335 write_unlock_bh(&idev->lock); 335 write_unlock_bh(&idev->lock);
336 336
337 dst_hold(&rt->u.dst); 337 ip6_ins_rt(rt);
338 if (ip6_ins_rt(rt))
339 dst_release(&rt->u.dst);
340 338
341 addrconf_join_solict(dev, &aca->aca_addr); 339 addrconf_join_solict(dev, &aca->aca_addr);
342 340
@@ -378,10 +376,7 @@ int __ipv6_dev_ac_dec(struct inet6_dev *idev, struct in6_addr *addr)
378 addrconf_leave_solict(idev, &aca->aca_addr); 376 addrconf_leave_solict(idev, &aca->aca_addr);
379 377
380 dst_hold(&aca->aca_rt->u.dst); 378 dst_hold(&aca->aca_rt->u.dst);
381 if (ip6_del_rt(aca->aca_rt)) 379 ip6_del_rt(aca->aca_rt);
382 dst_free(&aca->aca_rt->u.dst);
383 else
384 dst_release(&aca->aca_rt->u.dst);
385 380
386 aca_put(aca); 381 aca_put(aca);
387 return 0; 382 return 0;
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index 0ec1402320e..c6bb4c6d24b 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -282,7 +282,7 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
282 struct scatterlist *sg; 282 struct scatterlist *sg;
283 struct scatterlist *asg; 283 struct scatterlist *asg;
284 284
285 if (!pskb_may_pull(skb, sizeof(*esph))) { 285 if (!pskb_may_pull(skb, sizeof(*esph) + crypto_aead_ivsize(aead))) {
286 ret = -EINVAL; 286 ret = -EINVAL;
287 goto out; 287 goto out;
288 } 288 }
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index 121d517bf91..893287ecc62 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -436,24 +436,26 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
436 } 436 }
437 437
438 if (xfrm_decode_session_reverse(skb, &fl2, AF_INET6)) 438 if (xfrm_decode_session_reverse(skb, &fl2, AF_INET6))
439 goto out; 439 goto relookup_failed;
440 440
441 if (ip6_dst_lookup(sk, &dst2, &fl)) 441 if (ip6_dst_lookup(sk, &dst2, &fl))
442 goto out; 442 goto relookup_failed;
443 443
444 err = xfrm_lookup(&dst2, &fl, sk, XFRM_LOOKUP_ICMP); 444 err = xfrm_lookup(&dst2, &fl, sk, XFRM_LOOKUP_ICMP);
445 if (err == -ENOENT) { 445 switch (err) {
446 case 0:
447 dst_release(dst);
448 dst = dst2;
449 break;
450 case -EPERM:
451 goto out_dst_release;
452 default:
453relookup_failed:
446 if (!dst) 454 if (!dst)
447 goto out; 455 goto out;
448 goto route_done; 456 break;
449 } 457 }
450 458
451 dst_release(dst);
452 dst = dst2;
453
454 if (err)
455 goto out;
456
457route_done: 459route_done:
458 if (ipv6_addr_is_multicast(&fl.fl6_dst)) 460 if (ipv6_addr_is_multicast(&fl.fl6_dst))
459 hlimit = np->mcast_hops; 461 hlimit = np->mcast_hops;
diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
index 178aebc0427..98ab4f45990 100644
--- a/net/ipv6/ip6_input.c
+++ b/net/ipv6/ip6_input.c
@@ -239,8 +239,7 @@ int ip6_mc_input(struct sk_buff *skb)
239 IP6_INC_STATS_BH(ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCASTPKTS); 239 IP6_INC_STATS_BH(ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCASTPKTS);
240 240
241 hdr = ipv6_hdr(skb); 241 hdr = ipv6_hdr(skb);
242 deliver = unlikely(skb->dev->flags & (IFF_PROMISC|IFF_ALLMULTI)) || 242 deliver = ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
243 ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
244 243
245 /* 244 /*
246 * IPv6 multicast router mode isnt currently supported. 245 * IPv6 multicast router mode isnt currently supported.
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 0d33a7d3212..452a2ac4eec 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -676,6 +676,20 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb)
676 } 676 }
677} 677}
678 678
679static struct pneigh_entry *pndisc_check_router(struct net_device *dev,
680 struct in6_addr *addr, int *is_router)
681{
682 struct pneigh_entry *n;
683
684 read_lock_bh(&nd_tbl.lock);
685 n = __pneigh_lookup(&nd_tbl, &init_net, addr, dev);
686 if (n != NULL)
687 *is_router = (n->flags & NTF_ROUTER);
688 read_unlock_bh(&nd_tbl.lock);
689
690 return n;
691}
692
679static void ndisc_recv_ns(struct sk_buff *skb) 693static void ndisc_recv_ns(struct sk_buff *skb)
680{ 694{
681 struct nd_msg *msg = (struct nd_msg *)skb_transport_header(skb); 695 struct nd_msg *msg = (struct nd_msg *)skb_transport_header(skb);
@@ -692,7 +706,7 @@ static void ndisc_recv_ns(struct sk_buff *skb)
692 struct pneigh_entry *pneigh = NULL; 706 struct pneigh_entry *pneigh = NULL;
693 int dad = ipv6_addr_any(saddr); 707 int dad = ipv6_addr_any(saddr);
694 int inc; 708 int inc;
695 int is_router; 709 int is_router = 0;
696 710
697 if (ipv6_addr_is_multicast(&msg->target)) { 711 if (ipv6_addr_is_multicast(&msg->target)) {
698 ND_PRINTK2(KERN_WARNING 712 ND_PRINTK2(KERN_WARNING
@@ -790,8 +804,8 @@ static void ndisc_recv_ns(struct sk_buff *skb)
790 if (ipv6_chk_acast_addr(dev, &msg->target) || 804 if (ipv6_chk_acast_addr(dev, &msg->target) ||
791 (idev->cnf.forwarding && 805 (idev->cnf.forwarding &&
792 (ipv6_devconf.proxy_ndp || idev->cnf.proxy_ndp) && 806 (ipv6_devconf.proxy_ndp || idev->cnf.proxy_ndp) &&
793 (pneigh = pneigh_lookup(&nd_tbl, &init_net, 807 (pneigh = pndisc_check_router(dev, &msg->target,
794 &msg->target, dev, 0)) != NULL)) { 808 &is_router)) != NULL)) {
795 if (!(NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED) && 809 if (!(NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED) &&
796 skb->pkt_type != PACKET_HOST && 810 skb->pkt_type != PACKET_HOST &&
797 inc != 0 && 811 inc != 0 &&
@@ -812,7 +826,7 @@ static void ndisc_recv_ns(struct sk_buff *skb)
812 goto out; 826 goto out;
813 } 827 }
814 828
815 is_router = !!(pneigh ? pneigh->flags & NTF_ROUTER : idev->cnf.forwarding); 829 is_router = !!(pneigh ? is_router : idev->cnf.forwarding);
816 830
817 if (dad) { 831 if (dad) {
818 struct in6_addr maddr; 832 struct in6_addr maddr;
@@ -1420,7 +1434,6 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
1420 u8 *opt; 1434 u8 *opt;
1421 int rd_len; 1435 int rd_len;
1422 int err; 1436 int err;
1423 int hlen;
1424 u8 ha_buf[MAX_ADDR_LEN], *ha = NULL; 1437 u8 ha_buf[MAX_ADDR_LEN], *ha = NULL;
1425 1438
1426 dev = skb->dev; 1439 dev = skb->dev;
@@ -1491,7 +1504,6 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
1491 return; 1504 return;
1492 } 1505 }
1493 1506
1494 hlen = 0;
1495 1507
1496 skb_reserve(buff, LL_RESERVED_SPACE(dev)); 1508 skb_reserve(buff, LL_RESERVED_SPACE(dev));
1497 ip6_nd_hdr(sk, buff, dev, &saddr_buf, &ipv6_hdr(skb)->saddr, 1509 ip6_nd_hdr(sk, buff, dev, &saddr_buf, &ipv6_hdr(skb)->saddr,
diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c
index cc2f9afcf80..8d366f7f2a9 100644
--- a/net/ipv6/netfilter/ip6_queue.c
+++ b/net/ipv6/netfilter/ip6_queue.c
@@ -591,11 +591,9 @@ static int __init ip6_queue_init(void)
591 } 591 }
592 592
593#ifdef CONFIG_PROC_FS 593#ifdef CONFIG_PROC_FS
594 proc = create_proc_entry(IPQ_PROC_FS_NAME, 0, init_net.proc_net); 594 proc = proc_create(IPQ_PROC_FS_NAME, 0, init_net.proc_net,
595 if (proc) { 595 &ip6_queue_proc_fops);
596 proc->owner = THIS_MODULE; 596 if (!proc) {
597 proc->proc_fops = &ip6_queue_proc_fops;
598 } else {
599 printk(KERN_ERR "ip6_queue: failed to create proc entry\n"); 597 printk(KERN_ERR "ip6_queue: failed to create proc entry\n");
600 goto cleanup_ipqnl; 598 goto cleanup_ipqnl;
601 } 599 }
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
index 2a0d698b24d..24c0d03095b 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -171,7 +171,9 @@ static __inline__ void fq_kill(struct nf_ct_frag6_queue *fq)
171 171
172static void nf_ct_frag6_evictor(void) 172static void nf_ct_frag6_evictor(void)
173{ 173{
174 local_bh_disable();
174 inet_frag_evictor(&nf_init_frags, &nf_frags); 175 inet_frag_evictor(&nf_init_frags, &nf_frags);
176 local_bh_enable();
175} 177}
176 178
177static void nf_ct_frag6_expire(unsigned long data) 179static void nf_ct_frag6_expire(unsigned long data)
diff --git a/net/ipv6/xfrm6_mode_beet.c b/net/ipv6/xfrm6_mode_beet.c
index 0527d11c1ae..d6ce400f585 100644
--- a/net/ipv6/xfrm6_mode_beet.c
+++ b/net/ipv6/xfrm6_mode_beet.c
@@ -45,6 +45,7 @@ static int xfrm6_beet_output(struct xfrm_state *x, struct sk_buff *skb)
45 skb->mac_header = skb->network_header + 45 skb->mac_header = skb->network_header +
46 offsetof(struct ipv6hdr, nexthdr); 46 offsetof(struct ipv6hdr, nexthdr);
47 skb->transport_header = skb->network_header + sizeof(*top_iph); 47 skb->transport_header = skb->network_header + sizeof(*top_iph);
48 __skb_pull(skb, XFRM_MODE_SKB_CB(skb)->ihl);
48 49
49 xfrm6_beet_make_header(skb); 50 xfrm6_beet_make_header(skb);
50 51
diff --git a/net/ipv6/xfrm6_mode_tunnel.c b/net/ipv6/xfrm6_mode_tunnel.c
index 0c742faaa30..e20529b4c82 100644
--- a/net/ipv6/xfrm6_mode_tunnel.c
+++ b/net/ipv6/xfrm6_mode_tunnel.c
@@ -45,7 +45,7 @@ static int xfrm6_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
45 45
46 memcpy(top_iph->flow_lbl, XFRM_MODE_SKB_CB(skb)->flow_lbl, 46 memcpy(top_iph->flow_lbl, XFRM_MODE_SKB_CB(skb)->flow_lbl,
47 sizeof(top_iph->flow_lbl)); 47 sizeof(top_iph->flow_lbl));
48 top_iph->nexthdr = x->inner_mode->afinfo->proto; 48 top_iph->nexthdr = xfrm_af2proto(skb->dst->ops->family);
49 49
50 dsfield = XFRM_MODE_SKB_CB(skb)->tos; 50 dsfield = XFRM_MODE_SKB_CB(skb)->tos;
51 dsfield = INET_ECN_encapsulate(dsfield, dsfield); 51 dsfield = INET_ECN_encapsulate(dsfield, dsfield);
diff --git a/net/ipv6/xfrm6_output.c b/net/ipv6/xfrm6_output.c
index 79ccfb08073..0af823cf7f1 100644
--- a/net/ipv6/xfrm6_output.c
+++ b/net/ipv6/xfrm6_output.c
@@ -62,7 +62,7 @@ int xfrm6_prepare_output(struct xfrm_state *x, struct sk_buff *skb)
62{ 62{
63 int err; 63 int err;
64 64
65 err = x->inner_mode->afinfo->extract_output(x, skb); 65 err = xfrm_inner_extract_output(x, skb);
66 if (err) 66 if (err)
67 return err; 67 return err;
68 68
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
index dc817e035e2..ff1e1db8e23 100644
--- a/net/ipv6/xfrm6_state.c
+++ b/net/ipv6/xfrm6_state.c
@@ -174,10 +174,12 @@ int xfrm6_extract_header(struct sk_buff *skb)
174{ 174{
175 struct ipv6hdr *iph = ipv6_hdr(skb); 175 struct ipv6hdr *iph = ipv6_hdr(skb);
176 176
177 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph);
177 XFRM_MODE_SKB_CB(skb)->id = 0; 178 XFRM_MODE_SKB_CB(skb)->id = 0;
178 XFRM_MODE_SKB_CB(skb)->frag_off = htons(IP_DF); 179 XFRM_MODE_SKB_CB(skb)->frag_off = htons(IP_DF);
179 XFRM_MODE_SKB_CB(skb)->tos = ipv6_get_dsfield(iph); 180 XFRM_MODE_SKB_CB(skb)->tos = ipv6_get_dsfield(iph);
180 XFRM_MODE_SKB_CB(skb)->ttl = iph->hop_limit; 181 XFRM_MODE_SKB_CB(skb)->ttl = iph->hop_limit;
182 XFRM_MODE_SKB_CB(skb)->optlen = 0;
181 memcpy(XFRM_MODE_SKB_CB(skb)->flow_lbl, iph->flow_lbl, 183 memcpy(XFRM_MODE_SKB_CB(skb)->flow_lbl, iph->flow_lbl,
182 sizeof(XFRM_MODE_SKB_CB(skb)->flow_lbl)); 184 sizeof(XFRM_MODE_SKB_CB(skb)->flow_lbl));
183 185
diff --git a/net/irda/irnet/irnet.h b/net/irda/irnet/irnet.h
index bc2e15ce700..7873c392ab4 100644
--- a/net/irda/irnet/irnet.h
+++ b/net/irda/irnet/irnet.h
@@ -405,7 +405,7 @@ typedef struct irnet_socket
405 /* "pppd" interact directly with us on a /dev/ file */ 405 /* "pppd" interact directly with us on a /dev/ file */
406 struct file * file; /* File descriptor of this instance */ 406 struct file * file; /* File descriptor of this instance */
407 /* TTY stuff - to keep "pppd" happy */ 407 /* TTY stuff - to keep "pppd" happy */
408 struct termios termios; /* Various tty flags */ 408 struct ktermios termios; /* Various tty flags */
409 /* Stuff for the control channel */ 409 /* Stuff for the control channel */
410 int event_index; /* Last read in the event log */ 410 int event_index; /* Last read in the event log */
411 411
diff --git a/net/key/af_key.c b/net/key/af_key.c
index 8b5f486ac80..e9ef9af4a53 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -1219,7 +1219,7 @@ static struct xfrm_state * pfkey_msg2xfrm_state(struct sadb_msg *hdr,
1219 x->sel.prefixlen_s = addr->sadb_address_prefixlen; 1219 x->sel.prefixlen_s = addr->sadb_address_prefixlen;
1220 } 1220 }
1221 1221
1222 if (!x->sel.family) 1222 if (x->props.mode == XFRM_MODE_TRANSPORT)
1223 x->sel.family = x->props.family; 1223 x->sel.family = x->props.family;
1224 1224
1225 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { 1225 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) {
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index 46cf962f7f8..8c50eb430c1 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -155,6 +155,9 @@ static int llc_ui_create(struct net *net, struct socket *sock, int protocol)
155 struct sock *sk; 155 struct sock *sk;
156 int rc = -ESOCKTNOSUPPORT; 156 int rc = -ESOCKTNOSUPPORT;
157 157
158 if (!capable(CAP_NET_RAW))
159 return -EPERM;
160
158 if (net != &init_net) 161 if (net != &init_net)
159 return -EAFNOSUPPORT; 162 return -EAFNOSUPPORT;
160 163
diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
index 860140caa6e..71a00225bdb 100644
--- a/net/llc/llc_c_ac.c
+++ b/net/llc/llc_c_ac.c
@@ -198,7 +198,7 @@ int llc_conn_ac_send_disc_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
198{ 198{
199 int rc = -ENOBUFS; 199 int rc = -ENOBUFS;
200 struct llc_sock *llc = llc_sk(sk); 200 struct llc_sock *llc = llc_sk(sk);
201 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 201 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
202 202
203 if (nskb) { 203 if (nskb) {
204 struct llc_sap *sap = llc->sap; 204 struct llc_sap *sap = llc->sap;
@@ -223,7 +223,7 @@ int llc_conn_ac_send_dm_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
223{ 223{
224 int rc = -ENOBUFS; 224 int rc = -ENOBUFS;
225 struct llc_sock *llc = llc_sk(sk); 225 struct llc_sock *llc = llc_sk(sk);
226 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 226 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
227 227
228 if (nskb) { 228 if (nskb) {
229 struct llc_sap *sap = llc->sap; 229 struct llc_sap *sap = llc->sap;
@@ -249,7 +249,7 @@ int llc_conn_ac_send_dm_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
249{ 249{
250 int rc = -ENOBUFS; 250 int rc = -ENOBUFS;
251 struct llc_sock *llc = llc_sk(sk); 251 struct llc_sock *llc = llc_sk(sk);
252 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 252 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
253 253
254 if (nskb) { 254 if (nskb) {
255 struct llc_sap *sap = llc->sap; 255 struct llc_sap *sap = llc->sap;
@@ -282,7 +282,8 @@ int llc_conn_ac_send_frmr_rsp_f_set_x(struct sock *sk, struct sk_buff *skb)
282 llc_pdu_decode_pf_bit(skb, &f_bit); 282 llc_pdu_decode_pf_bit(skb, &f_bit);
283 else 283 else
284 f_bit = 0; 284 f_bit = 0;
285 nskb = llc_alloc_frame(sk, llc->dev); 285 nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
286 sizeof(struct llc_frmr_info));
286 if (nskb) { 287 if (nskb) {
287 struct llc_sap *sap = llc->sap; 288 struct llc_sap *sap = llc->sap;
288 289
@@ -306,7 +307,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_0(struct sock *sk, struct sk_buff *skb)
306{ 307{
307 int rc = -ENOBUFS; 308 int rc = -ENOBUFS;
308 struct llc_sock *llc = llc_sk(sk); 309 struct llc_sock *llc = llc_sk(sk);
309 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 310 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
311 sizeof(struct llc_frmr_info));
310 312
311 if (nskb) { 313 if (nskb) {
312 struct llc_sap *sap = llc->sap; 314 struct llc_sap *sap = llc->sap;
@@ -336,7 +338,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
336 struct llc_sock *llc = llc_sk(sk); 338 struct llc_sock *llc = llc_sk(sk);
337 339
338 llc_pdu_decode_pf_bit(skb, &f_bit); 340 llc_pdu_decode_pf_bit(skb, &f_bit);
339 nskb = llc_alloc_frame(sk, llc->dev); 341 nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
342 sizeof(struct llc_frmr_info));
340 if (nskb) { 343 if (nskb) {
341 struct llc_sap *sap = llc->sap; 344 struct llc_sap *sap = llc->sap;
342 struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); 345 struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
@@ -424,7 +427,7 @@ int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(struct sock *sk,
424 struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); 427 struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
425 int rc = -ENOBUFS; 428 int rc = -ENOBUFS;
426 struct llc_sock *llc = llc_sk(sk); 429 struct llc_sock *llc = llc_sk(sk);
427 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 430 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
428 431
429 if (nskb) { 432 if (nskb) {
430 struct llc_sap *sap = llc->sap; 433 struct llc_sap *sap = llc->sap;
@@ -459,7 +462,7 @@ int llc_conn_ac_send_rej_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
459{ 462{
460 int rc = -ENOBUFS; 463 int rc = -ENOBUFS;
461 struct llc_sock *llc = llc_sk(sk); 464 struct llc_sock *llc = llc_sk(sk);
462 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 465 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
463 466
464 if (nskb) { 467 if (nskb) {
465 struct llc_sap *sap = llc->sap; 468 struct llc_sap *sap = llc->sap;
@@ -483,7 +486,7 @@ int llc_conn_ac_send_rej_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
483{ 486{
484 int rc = -ENOBUFS; 487 int rc = -ENOBUFS;
485 struct llc_sock *llc = llc_sk(sk); 488 struct llc_sock *llc = llc_sk(sk);
486 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 489 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
487 490
488 if (nskb) { 491 if (nskb) {
489 struct llc_sap *sap = llc->sap; 492 struct llc_sap *sap = llc->sap;
@@ -507,7 +510,7 @@ int llc_conn_ac_send_rej_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
507{ 510{
508 int rc = -ENOBUFS; 511 int rc = -ENOBUFS;
509 struct llc_sock *llc = llc_sk(sk); 512 struct llc_sock *llc = llc_sk(sk);
510 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 513 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
511 514
512 if (nskb) { 515 if (nskb) {
513 struct llc_sap *sap = llc->sap; 516 struct llc_sap *sap = llc->sap;
@@ -531,7 +534,7 @@ int llc_conn_ac_send_rnr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
531{ 534{
532 int rc = -ENOBUFS; 535 int rc = -ENOBUFS;
533 struct llc_sock *llc = llc_sk(sk); 536 struct llc_sock *llc = llc_sk(sk);
534 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 537 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
535 538
536 if (nskb) { 539 if (nskb) {
537 struct llc_sap *sap = llc->sap; 540 struct llc_sap *sap = llc->sap;
@@ -555,7 +558,7 @@ int llc_conn_ac_send_rnr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
555{ 558{
556 int rc = -ENOBUFS; 559 int rc = -ENOBUFS;
557 struct llc_sock *llc = llc_sk(sk); 560 struct llc_sock *llc = llc_sk(sk);
558 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 561 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
559 562
560 if (nskb) { 563 if (nskb) {
561 struct llc_sap *sap = llc->sap; 564 struct llc_sap *sap = llc->sap;
@@ -579,7 +582,7 @@ int llc_conn_ac_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
579{ 582{
580 int rc = -ENOBUFS; 583 int rc = -ENOBUFS;
581 struct llc_sock *llc = llc_sk(sk); 584 struct llc_sock *llc = llc_sk(sk);
582 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 585 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
583 586
584 if (nskb) { 587 if (nskb) {
585 struct llc_sap *sap = llc->sap; 588 struct llc_sap *sap = llc->sap;
@@ -615,7 +618,7 @@ int llc_conn_ac_opt_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
615{ 618{
616 int rc = -ENOBUFS; 619 int rc = -ENOBUFS;
617 struct llc_sock *llc = llc_sk(sk); 620 struct llc_sock *llc = llc_sk(sk);
618 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 621 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
619 622
620 if (nskb) { 623 if (nskb) {
621 struct llc_sap *sap = llc->sap; 624 struct llc_sap *sap = llc->sap;
@@ -639,7 +642,7 @@ int llc_conn_ac_send_rr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
639{ 642{
640 int rc = -ENOBUFS; 643 int rc = -ENOBUFS;
641 struct llc_sock *llc = llc_sk(sk); 644 struct llc_sock *llc = llc_sk(sk);
642 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 645 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
643 646
644 if (nskb) { 647 if (nskb) {
645 struct llc_sap *sap = llc->sap; 648 struct llc_sap *sap = llc->sap;
@@ -663,7 +666,7 @@ int llc_conn_ac_send_rr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
663{ 666{
664 int rc = -ENOBUFS; 667 int rc = -ENOBUFS;
665 struct llc_sock *llc = llc_sk(sk); 668 struct llc_sock *llc = llc_sk(sk);
666 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 669 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
667 670
668 if (nskb) { 671 if (nskb) {
669 struct llc_sap *sap = llc->sap; 672 struct llc_sap *sap = llc->sap;
@@ -688,7 +691,7 @@ int llc_conn_ac_send_ack_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
688{ 691{
689 int rc = -ENOBUFS; 692 int rc = -ENOBUFS;
690 struct llc_sock *llc = llc_sk(sk); 693 struct llc_sock *llc = llc_sk(sk);
691 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 694 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
692 695
693 if (nskb) { 696 if (nskb) {
694 struct llc_sap *sap = llc->sap; 697 struct llc_sap *sap = llc->sap;
@@ -712,7 +715,7 @@ int llc_conn_ac_send_rr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
712{ 715{
713 int rc = -ENOBUFS; 716 int rc = -ENOBUFS;
714 struct llc_sock *llc = llc_sk(sk); 717 struct llc_sock *llc = llc_sk(sk);
715 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 718 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
716 719
717 if (nskb) { 720 if (nskb) {
718 struct llc_sap *sap = llc->sap; 721 struct llc_sap *sap = llc->sap;
@@ -736,7 +739,7 @@ int llc_conn_ac_send_ack_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
736{ 739{
737 int rc = -ENOBUFS; 740 int rc = -ENOBUFS;
738 struct llc_sock *llc = llc_sk(sk); 741 struct llc_sock *llc = llc_sk(sk);
739 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 742 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
740 743
741 if (nskb) { 744 if (nskb) {
742 struct llc_sap *sap = llc->sap; 745 struct llc_sap *sap = llc->sap;
@@ -770,7 +773,7 @@ int llc_conn_ac_send_sabme_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
770{ 773{
771 int rc = -ENOBUFS; 774 int rc = -ENOBUFS;
772 struct llc_sock *llc = llc_sk(sk); 775 struct llc_sock *llc = llc_sk(sk);
773 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 776 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
774 777
775 if (nskb) { 778 if (nskb) {
776 struct llc_sap *sap = llc->sap; 779 struct llc_sap *sap = llc->sap;
@@ -799,7 +802,7 @@ int llc_conn_ac_send_ua_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
799 u8 f_bit; 802 u8 f_bit;
800 int rc = -ENOBUFS; 803 int rc = -ENOBUFS;
801 struct llc_sock *llc = llc_sk(sk); 804 struct llc_sock *llc = llc_sk(sk);
802 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 805 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
803 806
804 llc_pdu_decode_pf_bit(skb, &f_bit); 807 llc_pdu_decode_pf_bit(skb, &f_bit);
805 if (nskb) { 808 if (nskb) {
@@ -956,7 +959,7 @@ static int llc_conn_ac_send_rr_rsp_f_set_ackpf(struct sock *sk,
956{ 959{
957 int rc = -ENOBUFS; 960 int rc = -ENOBUFS;
958 struct llc_sock *llc = llc_sk(sk); 961 struct llc_sock *llc = llc_sk(sk);
959 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev); 962 struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
960 963
961 if (nskb) { 964 if (nskb) {
962 struct llc_sap *sap = llc->sap; 965 struct llc_sap *sap = llc->sap;
diff --git a/net/llc/llc_core.c b/net/llc/llc_core.c
index 248b5903bb1..50d5b10e23a 100644
--- a/net/llc/llc_core.c
+++ b/net/llc/llc_core.c
@@ -25,8 +25,6 @@
25LIST_HEAD(llc_sap_list); 25LIST_HEAD(llc_sap_list);
26DEFINE_RWLOCK(llc_sap_list_lock); 26DEFINE_RWLOCK(llc_sap_list_lock);
27 27
28unsigned char llc_station_mac_sa[ETH_ALEN];
29
30/** 28/**
31 * llc_sap_alloc - allocates and initializes sap. 29 * llc_sap_alloc - allocates and initializes sap.
32 * 30 *
@@ -37,8 +35,8 @@ static struct llc_sap *llc_sap_alloc(void)
37 struct llc_sap *sap = kzalloc(sizeof(*sap), GFP_ATOMIC); 35 struct llc_sap *sap = kzalloc(sizeof(*sap), GFP_ATOMIC);
38 36
39 if (sap) { 37 if (sap) {
38 /* sap->laddr.mac - leave as a null, it's filled by bind */
40 sap->state = LLC_SAP_STATE_ACTIVE; 39 sap->state = LLC_SAP_STATE_ACTIVE;
41 memcpy(sap->laddr.mac, llc_station_mac_sa, ETH_ALEN);
42 rwlock_init(&sap->sk_list.lock); 40 rwlock_init(&sap->sk_list.lock);
43 atomic_set(&sap->refcnt, 1); 41 atomic_set(&sap->refcnt, 1);
44 } 42 }
@@ -167,10 +165,6 @@ static int __init llc_init(void)
167 if (dev != NULL) 165 if (dev != NULL)
168 dev = next_net_device(dev); 166 dev = next_net_device(dev);
169 167
170 if (dev != NULL)
171 memcpy(llc_station_mac_sa, dev->dev_addr, ETH_ALEN);
172 else
173 memset(llc_station_mac_sa, 0, ETH_ALEN);
174 dev_add_pack(&llc_packet_type); 168 dev_add_pack(&llc_packet_type);
175 dev_add_pack(&llc_tr_packet_type); 169 dev_add_pack(&llc_tr_packet_type);
176 return 0; 170 return 0;
@@ -185,7 +179,6 @@ static void __exit llc_exit(void)
185module_init(llc_init); 179module_init(llc_init);
186module_exit(llc_exit); 180module_exit(llc_exit);
187 181
188EXPORT_SYMBOL(llc_station_mac_sa);
189EXPORT_SYMBOL(llc_sap_list); 182EXPORT_SYMBOL(llc_sap_list);
190EXPORT_SYMBOL(llc_sap_list_lock); 183EXPORT_SYMBOL(llc_sap_list_lock);
191EXPORT_SYMBOL(llc_sap_find); 184EXPORT_SYMBOL(llc_sap_find);
diff --git a/net/llc/llc_input.c b/net/llc/llc_input.c
index c40c9b2a345..bfd2567dd36 100644
--- a/net/llc/llc_input.c
+++ b/net/llc/llc_input.c
@@ -117,8 +117,12 @@ static inline int llc_fixup_skb(struct sk_buff *skb)
117 skb_pull(skb, llc_len); 117 skb_pull(skb, llc_len);
118 if (skb->protocol == htons(ETH_P_802_2)) { 118 if (skb->protocol == htons(ETH_P_802_2)) {
119 __be16 pdulen = eth_hdr(skb)->h_proto; 119 __be16 pdulen = eth_hdr(skb)->h_proto;
120 u16 data_size = ntohs(pdulen) - llc_len; 120 s32 data_size = ntohs(pdulen) - llc_len;
121 121
122 if (data_size < 0 ||
123 ((skb_tail_pointer(skb) -
124 (u8 *)pdu) - llc_len) < data_size)
125 return 0;
122 if (unlikely(pskb_trim_rcsum(skb, data_size))) 126 if (unlikely(pskb_trim_rcsum(skb, data_size)))
123 return 0; 127 return 0;
124 } 128 }
diff --git a/net/llc/llc_pdu.c b/net/llc/llc_pdu.c
index fa8324396db..2e6cb79196b 100644
--- a/net/llc/llc_pdu.c
+++ b/net/llc/llc_pdu.c
@@ -241,7 +241,7 @@ void llc_pdu_init_as_frmr_rsp(struct sk_buff *skb, struct llc_pdu_sn *prev_pdu,
241 FRMR_INFO_SET_PDU_INFO_2LONG_IND(frmr_info, vzyxw); 241 FRMR_INFO_SET_PDU_INFO_2LONG_IND(frmr_info, vzyxw);
242 FRMR_INFO_SET_PDU_INVALID_Nr_IND(frmr_info, vzyxw); 242 FRMR_INFO_SET_PDU_INVALID_Nr_IND(frmr_info, vzyxw);
243 FRMR_INFO_SET_PDU_INVALID_Ns_IND(frmr_info, vzyxw); 243 FRMR_INFO_SET_PDU_INVALID_Ns_IND(frmr_info, vzyxw);
244 skb_put(skb, 5); 244 skb_put(skb, sizeof(struct llc_frmr_info));
245} 245}
246 246
247/** 247/**
diff --git a/net/llc/llc_s_ac.c b/net/llc/llc_s_ac.c
index ac3d93b210d..a94bd56bcac 100644
--- a/net/llc/llc_s_ac.c
+++ b/net/llc/llc_s_ac.c
@@ -103,7 +103,8 @@ int llc_sap_action_send_xid_r(struct llc_sap *sap, struct sk_buff *skb)
103 llc_pdu_decode_sa(skb, mac_da); 103 llc_pdu_decode_sa(skb, mac_da);
104 llc_pdu_decode_da(skb, mac_sa); 104 llc_pdu_decode_da(skb, mac_sa);
105 llc_pdu_decode_ssap(skb, &dsap); 105 llc_pdu_decode_ssap(skb, &dsap);
106 nskb = llc_alloc_frame(NULL, skb->dev); 106 nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
107 sizeof(struct llc_xid_info));
107 if (!nskb) 108 if (!nskb)
108 goto out; 109 goto out;
109 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap, 110 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap,
@@ -144,11 +145,15 @@ int llc_sap_action_send_test_r(struct llc_sap *sap, struct sk_buff *skb)
144 u8 mac_da[ETH_ALEN], mac_sa[ETH_ALEN], dsap; 145 u8 mac_da[ETH_ALEN], mac_sa[ETH_ALEN], dsap;
145 struct sk_buff *nskb; 146 struct sk_buff *nskb;
146 int rc = 1; 147 int rc = 1;
148 u32 data_size;
147 149
148 llc_pdu_decode_sa(skb, mac_da); 150 llc_pdu_decode_sa(skb, mac_da);
149 llc_pdu_decode_da(skb, mac_sa); 151 llc_pdu_decode_da(skb, mac_sa);
150 llc_pdu_decode_ssap(skb, &dsap); 152 llc_pdu_decode_ssap(skb, &dsap);
151 nskb = llc_alloc_frame(NULL, skb->dev); 153
154 /* The test request command is type U (llc_len = 3) */
155 data_size = ntohs(eth_hdr(skb)->h_proto) - 3;
156 nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U, data_size);
152 if (!nskb) 157 if (!nskb)
153 goto out; 158 goto out;
154 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap, 159 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap,
diff --git a/net/llc/llc_sap.c b/net/llc/llc_sap.c
index 2525165e2e8..e2ddde75501 100644
--- a/net/llc/llc_sap.c
+++ b/net/llc/llc_sap.c
@@ -24,20 +24,41 @@
24#include <net/tcp_states.h> 24#include <net/tcp_states.h>
25#include <linux/llc.h> 25#include <linux/llc.h>
26 26
27static int llc_mac_header_len(unsigned short devtype)
28{
29 switch (devtype) {
30 case ARPHRD_ETHER:
31 case ARPHRD_LOOPBACK:
32 return sizeof(struct ethhdr);
33#ifdef CONFIG_TR
34 case ARPHRD_IEEE802_TR:
35 return sizeof(struct trh_hdr);
36#endif
37 }
38 return 0;
39}
40
27/** 41/**
28 * llc_alloc_frame - allocates sk_buff for frame 42 * llc_alloc_frame - allocates sk_buff for frame
29 * @dev: network device this skb will be sent over 43 * @dev: network device this skb will be sent over
44 * @type: pdu type to allocate
45 * @data_size: data size to allocate
30 * 46 *
31 * Allocates an sk_buff for frame and initializes sk_buff fields. 47 * Allocates an sk_buff for frame and initializes sk_buff fields.
32 * Returns allocated skb or %NULL when out of memory. 48 * Returns allocated skb or %NULL when out of memory.
33 */ 49 */
34struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev) 50struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev,
51 u8 type, u32 data_size)
35{ 52{
36 struct sk_buff *skb = alloc_skb(128, GFP_ATOMIC); 53 int hlen = type == LLC_PDU_TYPE_U ? 3 : 4;
54 struct sk_buff *skb;
55
56 hlen += llc_mac_header_len(dev->type);
57 skb = alloc_skb(hlen + data_size, GFP_ATOMIC);
37 58
38 if (skb) { 59 if (skb) {
39 skb_reset_mac_header(skb); 60 skb_reset_mac_header(skb);
40 skb_reserve(skb, 50); 61 skb_reserve(skb, hlen);
41 skb_reset_network_header(skb); 62 skb_reset_network_header(skb);
42 skb_reset_transport_header(skb); 63 skb_reset_transport_header(skb);
43 skb->protocol = htons(ETH_P_802_2); 64 skb->protocol = htons(ETH_P_802_2);
diff --git a/net/llc/llc_station.c b/net/llc/llc_station.c
index 6f2ea209032..83da1333949 100644
--- a/net/llc/llc_station.c
+++ b/net/llc/llc_station.c
@@ -253,13 +253,14 @@ static int llc_station_ac_inc_xid_r_cnt_by_1(struct sk_buff *skb)
253static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb) 253static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb)
254{ 254{
255 int rc = 1; 255 int rc = 1;
256 struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev); 256 struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
257 sizeof(struct llc_xid_info));
257 258
258 if (!nskb) 259 if (!nskb)
259 goto out; 260 goto out;
260 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, 0, LLC_PDU_CMD); 261 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, 0, LLC_PDU_CMD);
261 llc_pdu_init_as_xid_cmd(nskb, LLC_XID_NULL_CLASS_2, 127); 262 llc_pdu_init_as_xid_cmd(nskb, LLC_XID_NULL_CLASS_2, 127);
262 rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, llc_station_mac_sa); 263 rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, skb->dev->dev_addr);
263 if (unlikely(rc)) 264 if (unlikely(rc))
264 goto free; 265 goto free;
265 llc_station_send_pdu(nskb); 266 llc_station_send_pdu(nskb);
@@ -274,7 +275,8 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb)
274{ 275{
275 u8 mac_da[ETH_ALEN], dsap; 276 u8 mac_da[ETH_ALEN], dsap;
276 int rc = 1; 277 int rc = 1;
277 struct sk_buff* nskb = llc_alloc_frame(NULL, skb->dev); 278 struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
279 sizeof(struct llc_xid_info));
278 280
279 if (!nskb) 281 if (!nskb)
280 goto out; 282 goto out;
@@ -283,7 +285,7 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb)
283 llc_pdu_decode_ssap(skb, &dsap); 285 llc_pdu_decode_ssap(skb, &dsap);
284 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP); 286 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
285 llc_pdu_init_as_xid_rsp(nskb, LLC_XID_NULL_CLASS_2, 127); 287 llc_pdu_init_as_xid_rsp(nskb, LLC_XID_NULL_CLASS_2, 127);
286 rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da); 288 rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, mac_da);
287 if (unlikely(rc)) 289 if (unlikely(rc))
288 goto free; 290 goto free;
289 llc_station_send_pdu(nskb); 291 llc_station_send_pdu(nskb);
@@ -298,7 +300,12 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb)
298{ 300{
299 u8 mac_da[ETH_ALEN], dsap; 301 u8 mac_da[ETH_ALEN], dsap;
300 int rc = 1; 302 int rc = 1;
301 struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev); 303 u32 data_size;
304 struct sk_buff *nskb;
305
306 /* The test request command is type U (llc_len = 3) */
307 data_size = ntohs(eth_hdr(skb)->h_proto) - 3;
308 nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U, data_size);
302 309
303 if (!nskb) 310 if (!nskb)
304 goto out; 311 goto out;
@@ -307,7 +314,7 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb)
307 llc_pdu_decode_ssap(skb, &dsap); 314 llc_pdu_decode_ssap(skb, &dsap);
308 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP); 315 llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
309 llc_pdu_init_as_test_rsp(nskb, skb); 316 llc_pdu_init_as_test_rsp(nskb, skb);
310 rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da); 317 rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, mac_da);
311 if (unlikely(rc)) 318 if (unlikely(rc))
312 goto free; 319 goto free;
313 llc_station_send_pdu(nskb); 320 llc_station_send_pdu(nskb);
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 28bcdf9fc3d..8e586390a2e 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -286,6 +286,18 @@ static int ieee80211_open(struct net_device *dev)
286 if (need_hw_reconfig) 286 if (need_hw_reconfig)
287 ieee80211_hw_config(local); 287 ieee80211_hw_config(local);
288 288
289 /*
290 * ieee80211_sta_work is disabled while network interface
291 * is down. Therefore, some configuration changes may not
292 * yet be effective. Trigger execution of ieee80211_sta_work
293 * to fix this.
294 */
295 if(sdata->vif.type == IEEE80211_IF_TYPE_STA ||
296 sdata->vif.type == IEEE80211_IF_TYPE_IBSS) {
297 struct ieee80211_if_sta *ifsta = &sdata->u.sta;
298 queue_work(local->hw.workqueue, &ifsta->work);
299 }
300
289 netif_start_queue(dev); 301 netif_start_queue(dev);
290 302
291 return 0; 303 return 0;
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index 9aeed532022..c1706855460 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -312,14 +312,12 @@ static void ieee80211_sta_wmm_params(struct net_device *dev,
312 } 312 }
313} 313}
314 314
315 315static u32 ieee80211_handle_protect_preamb(struct ieee80211_sub_if_data *sdata,
316static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata, 316 bool use_protection,
317 u8 erp_value) 317 bool use_short_preamble)
318{ 318{
319 struct ieee80211_bss_conf *bss_conf = &sdata->bss_conf; 319 struct ieee80211_bss_conf *bss_conf = &sdata->bss_conf;
320 struct ieee80211_if_sta *ifsta = &sdata->u.sta; 320 struct ieee80211_if_sta *ifsta = &sdata->u.sta;
321 bool use_protection = (erp_value & WLAN_ERP_USE_PROTECTION) != 0;
322 bool preamble_mode = (erp_value & WLAN_ERP_BARKER_PREAMBLE) != 0;
323 DECLARE_MAC_BUF(mac); 321 DECLARE_MAC_BUF(mac);
324 u32 changed = 0; 322 u32 changed = 0;
325 323
@@ -335,22 +333,47 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,
335 changed |= BSS_CHANGED_ERP_CTS_PROT; 333 changed |= BSS_CHANGED_ERP_CTS_PROT;
336 } 334 }
337 335
338 if (preamble_mode != bss_conf->use_short_preamble) { 336 if (use_short_preamble != bss_conf->use_short_preamble) {
339 if (net_ratelimit()) { 337 if (net_ratelimit()) {
340 printk(KERN_DEBUG "%s: switched to %s barker preamble" 338 printk(KERN_DEBUG "%s: switched to %s barker preamble"
341 " (BSSID=%s)\n", 339 " (BSSID=%s)\n",
342 sdata->dev->name, 340 sdata->dev->name,
343 (preamble_mode == WLAN_ERP_PREAMBLE_SHORT) ? 341 use_short_preamble ? "short" : "long",
344 "short" : "long",
345 print_mac(mac, ifsta->bssid)); 342 print_mac(mac, ifsta->bssid));
346 } 343 }
347 bss_conf->use_short_preamble = preamble_mode; 344 bss_conf->use_short_preamble = use_short_preamble;
348 changed |= BSS_CHANGED_ERP_PREAMBLE; 345 changed |= BSS_CHANGED_ERP_PREAMBLE;
349 } 346 }
350 347
351 return changed; 348 return changed;
352} 349}
353 350
351static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,
352 u8 erp_value)
353{
354 bool use_protection = (erp_value & WLAN_ERP_USE_PROTECTION) != 0;
355 bool use_short_preamble = (erp_value & WLAN_ERP_BARKER_PREAMBLE) == 0;
356
357 return ieee80211_handle_protect_preamb(sdata,
358 use_protection, use_short_preamble);
359}
360
361static u32 ieee80211_handle_bss_capability(struct ieee80211_sub_if_data *sdata,
362 struct ieee80211_sta_bss *bss)
363{
364 u32 changed = 0;
365
366 if (bss->has_erp_value)
367 changed |= ieee80211_handle_erp_ie(sdata, bss->erp_value);
368 else {
369 u16 capab = bss->capability;
370 changed |= ieee80211_handle_protect_preamb(sdata, false,
371 (capab & WLAN_CAPABILITY_SHORT_PREAMBLE) != 0);
372 }
373
374 return changed;
375}
376
354int ieee80211_ht_cap_ie_to_ht_info(struct ieee80211_ht_cap *ht_cap_ie, 377int ieee80211_ht_cap_ie_to_ht_info(struct ieee80211_ht_cap *ht_cap_ie,
355 struct ieee80211_ht_info *ht_info) 378 struct ieee80211_ht_info *ht_info)
356{ 379{
@@ -469,9 +492,7 @@ static void ieee80211_set_associated(struct net_device *dev,
469 local->hw.conf.channel, 492 local->hw.conf.channel,
470 ifsta->ssid, ifsta->ssid_len); 493 ifsta->ssid, ifsta->ssid_len);
471 if (bss) { 494 if (bss) {
472 if (bss->has_erp_value) 495 changed |= ieee80211_handle_bss_capability(sdata, bss);
473 changed |= ieee80211_handle_erp_ie(
474 sdata, bss->erp_value);
475 ieee80211_rx_bss_put(dev, bss); 496 ieee80211_rx_bss_put(dev, bss);
476 } 497 }
477 498
@@ -2117,6 +2138,11 @@ static void ieee80211_rx_mgmt_beacon(struct net_device *dev,
2117 2138
2118 if (elems.erp_info && elems.erp_info_len >= 1) 2139 if (elems.erp_info && elems.erp_info_len >= 1)
2119 changed |= ieee80211_handle_erp_ie(sdata, elems.erp_info[0]); 2140 changed |= ieee80211_handle_erp_ie(sdata, elems.erp_info[0]);
2141 else {
2142 u16 capab = le16_to_cpu(mgmt->u.beacon.capab_info);
2143 changed |= ieee80211_handle_protect_preamb(sdata, false,
2144 (capab & WLAN_CAPABILITY_SHORT_PREAMBLE) != 0);
2145 }
2120 2146
2121 if (elems.ht_cap_elem && elems.ht_info_elem && 2147 if (elems.ht_cap_elem && elems.ht_info_elem &&
2122 elems.wmm_param && local->ops->conf_ht && 2148 elems.wmm_param && local->ops->conf_ht &&
diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
index e88e96af613..8599068050e 100644
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
@@ -395,7 +395,7 @@ EXPORT_SYMBOL_GPL(nf_ct_log_invalid);
395static int __init nf_conntrack_standalone_init(void) 395static int __init nf_conntrack_standalone_init(void)
396{ 396{
397#ifdef CONFIG_PROC_FS 397#ifdef CONFIG_PROC_FS
398 struct proc_dir_entry *proc, *proc_stat; 398 struct proc_dir_entry *proc;
399#endif 399#endif
400 int ret = 0; 400 int ret = 0;
401 401
@@ -407,12 +407,9 @@ static int __init nf_conntrack_standalone_init(void)
407 proc = proc_net_fops_create(&init_net, "nf_conntrack", 0440, &ct_file_ops); 407 proc = proc_net_fops_create(&init_net, "nf_conntrack", 0440, &ct_file_ops);
408 if (!proc) goto cleanup_init; 408 if (!proc) goto cleanup_init;
409 409
410 proc_stat = create_proc_entry("nf_conntrack", S_IRUGO, init_net.proc_net_stat); 410 if (!proc_create("nf_conntrack", S_IRUGO,
411 if (!proc_stat) 411 init_net.proc_net_stat, &ct_cpu_seq_fops))
412 goto cleanup_proc; 412 goto cleanup_proc;
413
414 proc_stat->proc_fops = &ct_cpu_seq_fops;
415 proc_stat->owner = THIS_MODULE;
416#endif 413#endif
417#ifdef CONFIG_SYSCTL 414#ifdef CONFIG_SYSCTL
418 nf_ct_sysctl_header = register_sysctl_paths(nf_ct_path, 415 nf_ct_sysctl_header = register_sysctl_paths(nf_ct_path,
diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
index cec9976aecb..bc11d709203 100644
--- a/net/netfilter/nf_log.c
+++ b/net/netfilter/nf_log.c
@@ -168,13 +168,9 @@ static const struct file_operations nflog_file_ops = {
168int __init netfilter_log_init(void) 168int __init netfilter_log_init(void)
169{ 169{
170#ifdef CONFIG_PROC_FS 170#ifdef CONFIG_PROC_FS
171 struct proc_dir_entry *pde; 171 if (!proc_create("nf_log", S_IRUGO,
172 172 proc_net_netfilter, &nflog_file_ops))
173 pde = create_proc_entry("nf_log", S_IRUGO, proc_net_netfilter);
174 if (!pde)
175 return -1; 173 return -1;
176
177 pde->proc_fops = &nflog_file_ops;
178#endif 174#endif
179 return 0; 175 return 0;
180} 176}
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
index ddc80ea114c..bbd26893c0c 100644
--- a/net/netfilter/nf_queue.c
+++ b/net/netfilter/nf_queue.c
@@ -348,12 +348,9 @@ static const struct file_operations nfqueue_file_ops = {
348int __init netfilter_queue_init(void) 348int __init netfilter_queue_init(void)
349{ 349{
350#ifdef CONFIG_PROC_FS 350#ifdef CONFIG_PROC_FS
351 struct proc_dir_entry *pde; 351 if (!proc_create("nf_queue", S_IRUGO,
352 352 proc_net_netfilter, &nfqueue_file_ops))
353 pde = create_proc_entry("nf_queue", S_IRUGO, proc_net_netfilter);
354 if (!pde)
355 return -1; 353 return -1;
356 pde->proc_fops = &nfqueue_file_ops;
357#endif 354#endif
358 return 0; 355 return 0;
359} 356}
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index bf3f19b21fe..b8173af8c24 100644
--- a/net/netfilter/nfnetlink_log.c
+++ b/net/netfilter/nfnetlink_log.c
@@ -923,9 +923,6 @@ static const struct file_operations nful_file_ops = {
923static int __init nfnetlink_log_init(void) 923static int __init nfnetlink_log_init(void)
924{ 924{
925 int i, status = -ENOMEM; 925 int i, status = -ENOMEM;
926#ifdef CONFIG_PROC_FS
927 struct proc_dir_entry *proc_nful;
928#endif
929 926
930 for (i = 0; i < INSTANCE_BUCKETS; i++) 927 for (i = 0; i < INSTANCE_BUCKETS; i++)
931 INIT_HLIST_HEAD(&instance_table[i]); 928 INIT_HLIST_HEAD(&instance_table[i]);
@@ -943,11 +940,9 @@ static int __init nfnetlink_log_init(void)
943 } 940 }
944 941
945#ifdef CONFIG_PROC_FS 942#ifdef CONFIG_PROC_FS
946 proc_nful = create_proc_entry("nfnetlink_log", 0440, 943 if (!proc_create("nfnetlink_log", 0440,
947 proc_net_netfilter); 944 proc_net_netfilter, &nful_file_ops))
948 if (!proc_nful)
949 goto cleanup_subsys; 945 goto cleanup_subsys;
950 proc_nful->proc_fops = &nful_file_ops;
951#endif 946#endif
952 return status; 947 return status;
953 948
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index 012cb691082..10522c04ed2 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -896,9 +896,6 @@ static const struct file_operations nfqnl_file_ops = {
896static int __init nfnetlink_queue_init(void) 896static int __init nfnetlink_queue_init(void)
897{ 897{
898 int i, status = -ENOMEM; 898 int i, status = -ENOMEM;
899#ifdef CONFIG_PROC_FS
900 struct proc_dir_entry *proc_nfqueue;
901#endif
902 899
903 for (i = 0; i < INSTANCE_BUCKETS; i++) 900 for (i = 0; i < INSTANCE_BUCKETS; i++)
904 INIT_HLIST_HEAD(&instance_table[i]); 901 INIT_HLIST_HEAD(&instance_table[i]);
@@ -911,11 +908,9 @@ static int __init nfnetlink_queue_init(void)
911 } 908 }
912 909
913#ifdef CONFIG_PROC_FS 910#ifdef CONFIG_PROC_FS
914 proc_nfqueue = create_proc_entry("nfnetlink_queue", 0440, 911 if (!proc_create("nfnetlink_queue", 0440,
915 proc_net_netfilter); 912 proc_net_netfilter, &nfqnl_file_ops))
916 if (!proc_nfqueue)
917 goto cleanup_subsys; 913 goto cleanup_subsys;
918 proc_nfqueue->proc_fops = &nfqnl_file_ops;
919#endif 914#endif
920 915
921 register_netdevice_notifier(&nfqnl_dev_notifier); 916 register_netdevice_notifier(&nfqnl_dev_notifier);
diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c
index 5418ce59ac3..40d344b2145 100644
--- a/net/netfilter/xt_hashlimit.c
+++ b/net/netfilter/xt_hashlimit.c
@@ -237,14 +237,14 @@ static int htable_create_v0(struct xt_hashlimit_info *minfo, int family)
237 hinfo->family = family; 237 hinfo->family = family;
238 hinfo->rnd_initialized = 0; 238 hinfo->rnd_initialized = 0;
239 spin_lock_init(&hinfo->lock); 239 spin_lock_init(&hinfo->lock);
240 hinfo->pde = create_proc_entry(minfo->name, 0, 240 hinfo->pde = proc_create(minfo->name, 0,
241 family == AF_INET ? hashlimit_procdir4 : 241 family == AF_INET ? hashlimit_procdir4 :
242 hashlimit_procdir6); 242 hashlimit_procdir6,
243 &dl_file_ops);
243 if (!hinfo->pde) { 244 if (!hinfo->pde) {
244 vfree(hinfo); 245 vfree(hinfo);
245 return -1; 246 return -1;
246 } 247 }
247 hinfo->pde->proc_fops = &dl_file_ops;
248 hinfo->pde->data = hinfo; 248 hinfo->pde->data = hinfo;
249 249
250 setup_timer(&hinfo->timer, htable_gc, (unsigned long )hinfo); 250 setup_timer(&hinfo->timer, htable_gc, (unsigned long )hinfo);
@@ -301,14 +301,14 @@ static int htable_create(struct xt_hashlimit_mtinfo1 *minfo,
301 hinfo->rnd_initialized = 0; 301 hinfo->rnd_initialized = 0;
302 spin_lock_init(&hinfo->lock); 302 spin_lock_init(&hinfo->lock);
303 303
304 hinfo->pde = create_proc_entry(minfo->name, 0, 304 hinfo->pde = proc_create(minfo->name, 0,
305 family == AF_INET ? hashlimit_procdir4 : 305 family == AF_INET ? hashlimit_procdir4 :
306 hashlimit_procdir6); 306 hashlimit_procdir6,
307 &dl_file_ops);
307 if (hinfo->pde == NULL) { 308 if (hinfo->pde == NULL) {
308 vfree(hinfo); 309 vfree(hinfo);
309 return -1; 310 return -1;
310 } 311 }
311 hinfo->pde->proc_fops = &dl_file_ops;
312 hinfo->pde->data = hinfo; 312 hinfo->pde->data = hinfo;
313 313
314 setup_timer(&hinfo->timer, htable_gc, (unsigned long)hinfo); 314 setup_timer(&hinfo->timer, htable_gc, (unsigned long)hinfo);
@@ -466,38 +466,25 @@ static inline void rateinfo_recalc(struct dsthash_ent *dh, unsigned long now)
466 466
467static inline __be32 maskl(__be32 a, unsigned int l) 467static inline __be32 maskl(__be32 a, unsigned int l)
468{ 468{
469 return htonl(ntohl(a) & ~(~(u_int32_t)0 >> l)); 469 return l ? htonl(ntohl(a) & ~0 << (32 - l)) : 0;
470} 470}
471 471
472#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE) 472#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
473static void hashlimit_ipv6_mask(__be32 *i, unsigned int p) 473static void hashlimit_ipv6_mask(__be32 *i, unsigned int p)
474{ 474{
475 switch (p) { 475 switch (p) {
476 case 0: 476 case 0 ... 31:
477 i[0] = i[1] = 0;
478 i[2] = i[3] = 0;
479 break;
480 case 1 ... 31:
481 i[0] = maskl(i[0], p); 477 i[0] = maskl(i[0], p);
482 i[1] = i[2] = i[3] = 0; 478 i[1] = i[2] = i[3] = 0;
483 break; 479 break;
484 case 32: 480 case 32 ... 63:
485 i[1] = i[2] = i[3] = 0;
486 break;
487 case 33 ... 63:
488 i[1] = maskl(i[1], p - 32); 481 i[1] = maskl(i[1], p - 32);
489 i[2] = i[3] = 0; 482 i[2] = i[3] = 0;
490 break; 483 break;
491 case 64: 484 case 64 ... 95:
492 i[2] = i[3] = 0;
493 break;
494 case 65 ... 95:
495 i[2] = maskl(i[2], p - 64); 485 i[2] = maskl(i[2], p - 64);
496 i[3] = 0; 486 i[3] = 0;
497 case 96: 487 case 96 ... 127:
498 i[3] = 0;
499 break;
500 case 97 ... 127:
501 i[3] = maskl(i[3], p - 96); 488 i[3] = maskl(i[3], p - 96);
502 break; 489 break;
503 case 128: 490 case 128:
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index 4a31a81059a..063cbc5c26b 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -598,17 +598,24 @@ static int rose_release(struct socket *sock)
598 598
599 if (sk == NULL) return 0; 599 if (sk == NULL) return 0;
600 600
601 sock_hold(sk);
602 sock_orphan(sk);
603 lock_sock(sk);
601 rose = rose_sk(sk); 604 rose = rose_sk(sk);
602 605
603 switch (rose->state) { 606 switch (rose->state) {
604 case ROSE_STATE_0: 607 case ROSE_STATE_0:
608 release_sock(sk);
605 rose_disconnect(sk, 0, -1, -1); 609 rose_disconnect(sk, 0, -1, -1);
610 lock_sock(sk);
606 rose_destroy_socket(sk); 611 rose_destroy_socket(sk);
607 break; 612 break;
608 613
609 case ROSE_STATE_2: 614 case ROSE_STATE_2:
610 rose->neighbour->use--; 615 rose->neighbour->use--;
616 release_sock(sk);
611 rose_disconnect(sk, 0, -1, -1); 617 rose_disconnect(sk, 0, -1, -1);
618 lock_sock(sk);
612 rose_destroy_socket(sk); 619 rose_destroy_socket(sk);
613 break; 620 break;
614 621
@@ -633,6 +640,8 @@ static int rose_release(struct socket *sock)
633 } 640 }
634 641
635 sock->sk = NULL; 642 sock->sk = NULL;
643 release_sock(sk);
644 sock_put(sk);
636 645
637 return 0; 646 return 0;
638} 647}
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index 1aaa2e804b0..53fe94c9d36 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
@@ -611,7 +611,7 @@ extern struct rxrpc_transport *rxrpc_find_transport(struct rxrpc_local *,
611extern unsigned rxrpc_debug; 611extern unsigned rxrpc_debug;
612 612
613#define dbgprintk(FMT,...) \ 613#define dbgprintk(FMT,...) \
614 printk("[%x%-6.6s] "FMT"\n", smp_processor_id(), current->comm ,##__VA_ARGS__) 614 printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
615 615
616/* make sure we maintain the format strings, even when debugging is disabled */ 616/* make sure we maintain the format strings, even when debugging is disabled */
617static inline __attribute__((format(printf,1,2))) 617static inline __attribute__((format(printf,1,2)))
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/sched/sch_generic.c b/net/sched/sch_generic.c
index 10b5c0887ff..b741618e4d5 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -184,10 +184,22 @@ static inline int qdisc_restart(struct net_device *dev)
184 184
185void __qdisc_run(struct net_device *dev) 185void __qdisc_run(struct net_device *dev)
186{ 186{
187 do { 187 unsigned long start_time = jiffies;
188 if (!qdisc_restart(dev)) 188
189 while (qdisc_restart(dev)) {
190 if (netif_queue_stopped(dev))
191 break;
192
193 /*
194 * Postpone processing if
195 * 1. another process needs the CPU;
196 * 2. we've been doing it for too long.
197 */
198 if (need_resched() || jiffies != start_time) {
199 netif_schedule(dev);
189 break; 200 break;
190 } while (!netif_queue_stopped(dev)); 201 }
202 }
191 203
192 clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state); 204 clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
193} 205}
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 795c761ad99..66148cc4759 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -711,9 +711,11 @@ static void htb_charge_class(struct htb_sched *q, struct htb_class *cl,
711 */ 711 */
712static psched_time_t htb_do_events(struct htb_sched *q, int level) 712static psched_time_t htb_do_events(struct htb_sched *q, int level)
713{ 713{
714 int i; 714 /* don't run for longer than 2 jiffies; 2 is used instead of
715 715 1 to simplify things when jiffy is going to be incremented
716 for (i = 0; i < 500; i++) { 716 too soon */
717 unsigned long stop_at = jiffies + 2;
718 while (time_before(jiffies, stop_at)) {
717 struct htb_class *cl; 719 struct htb_class *cl;
718 long diff; 720 long diff;
719 struct rb_node *p = rb_first(&q->wait_pq[level]); 721 struct rb_node *p = rb_first(&q->wait_pq[level]);
@@ -731,9 +733,8 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level)
731 if (cl->cmode != HTB_CAN_SEND) 733 if (cl->cmode != HTB_CAN_SEND)
732 htb_add_to_wait_tree(q, cl, diff); 734 htb_add_to_wait_tree(q, cl, diff);
733 } 735 }
734 if (net_ratelimit()) 736 /* too much load - let's continue on next jiffie */
735 printk(KERN_WARNING "htb: too many events !\n"); 737 return q->now + PSCHED_TICKS_PER_SEC / HZ;
736 return q->now + PSCHED_TICKS_PER_SEC / 10;
737} 738}
738 739
739/* Returns class->node+prio from id-tree where classe's id is >= id. NULL 740/* Returns class->node+prio from id-tree where classe's id is >= id. NULL
diff --git a/net/socket.c b/net/socket.c
index b6d35cd72a5..9d3fbfbc853 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -909,11 +909,10 @@ static long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg)
909 if (!dlci_ioctl_hook) 909 if (!dlci_ioctl_hook)
910 request_module("dlci"); 910 request_module("dlci");
911 911
912 if (dlci_ioctl_hook) { 912 mutex_lock(&dlci_ioctl_mutex);
913 mutex_lock(&dlci_ioctl_mutex); 913 if (dlci_ioctl_hook)
914 err = dlci_ioctl_hook(cmd, argp); 914 err = dlci_ioctl_hook(cmd, argp);
915 mutex_unlock(&dlci_ioctl_mutex); 915 mutex_unlock(&dlci_ioctl_mutex);
916 }
917 break; 916 break;
918 default: 917 default:
919 err = sock->ops->ioctl(sock, cmd, arg); 918 err = sock->ops->ioctl(sock, cmd, arg);
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 8c6a7f1a25e..8834d68972c 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -261,10 +261,6 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args)
261 }; 261 };
262 char servername[48]; 262 char servername[48];
263 263
264 xprt = xprt_create_transport(&xprtargs);
265 if (IS_ERR(xprt))
266 return (struct rpc_clnt *)xprt;
267
268 /* 264 /*
269 * If the caller chooses not to specify a hostname, whip 265 * If the caller chooses not to specify a hostname, whip
270 * up a string representation of the passed-in address. 266 * up a string representation of the passed-in address.
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c
index 995c3fdc16c..79a55d56cc9 100644
--- a/net/sunrpc/xdr.c
+++ b/net/sunrpc/xdr.c
@@ -244,7 +244,7 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len)
244 pgto = pages + (pgbase >> PAGE_CACHE_SHIFT); 244 pgto = pages + (pgbase >> PAGE_CACHE_SHIFT);
245 pgbase &= ~PAGE_CACHE_MASK; 245 pgbase &= ~PAGE_CACHE_MASK;
246 246
247 do { 247 for (;;) {
248 copy = PAGE_CACHE_SIZE - pgbase; 248 copy = PAGE_CACHE_SIZE - pgbase;
249 if (copy > len) 249 if (copy > len)
250 copy = len; 250 copy = len;
@@ -253,6 +253,10 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len)
253 memcpy(vto + pgbase, p, copy); 253 memcpy(vto + pgbase, p, copy);
254 kunmap_atomic(vto, KM_USER0); 254 kunmap_atomic(vto, KM_USER0);
255 255
256 len -= copy;
257 if (len == 0)
258 break;
259
256 pgbase += copy; 260 pgbase += copy;
257 if (pgbase == PAGE_CACHE_SIZE) { 261 if (pgbase == PAGE_CACHE_SIZE) {
258 flush_dcache_page(*pgto); 262 flush_dcache_page(*pgto);
@@ -260,8 +264,7 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len)
260 pgto++; 264 pgto++;
261 } 265 }
262 p += copy; 266 p += copy;
263 267 }
264 } while ((len -= copy) != 0);
265 flush_dcache_page(*pgto); 268 flush_dcache_page(*pgto);
266} 269}
267 270
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/net/wireless/nl80211.c b/net/wireless/nl80211.c
index e3a214f63f9..f68a5c8f214 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -945,7 +945,7 @@ static int nl80211_new_station(struct sk_buff *skb, struct genl_info *info)
945 nla_len(info->attrs[NL80211_ATTR_STA_SUPPORTED_RATES]); 945 nla_len(info->attrs[NL80211_ATTR_STA_SUPPORTED_RATES]);
946 params.listen_interval = 946 params.listen_interval =
947 nla_get_u16(info->attrs[NL80211_ATTR_STA_LISTEN_INTERVAL]); 947 nla_get_u16(info->attrs[NL80211_ATTR_STA_LISTEN_INTERVAL]);
948 params.listen_interval = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]); 948 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]);
949 949
950 if (parse_station_flags(info->attrs[NL80211_ATTR_STA_FLAGS], 950 if (parse_station_flags(info->attrs[NL80211_ATTR_STA_FLAGS],
951 &params.station_flags)) 951 &params.station_flags))
diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 62188c6a06d..75279402ccf 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -84,14 +84,21 @@ int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
84 84
85int xfrm_prepare_input(struct xfrm_state *x, struct sk_buff *skb) 85int xfrm_prepare_input(struct xfrm_state *x, struct sk_buff *skb)
86{ 86{
87 struct xfrm_mode *inner_mode = x->inner_mode;
87 int err; 88 int err;
88 89
89 err = x->outer_mode->afinfo->extract_input(x, skb); 90 err = x->outer_mode->afinfo->extract_input(x, skb);
90 if (err) 91 if (err)
91 return err; 92 return err;
92 93
93 skb->protocol = x->inner_mode->afinfo->eth_proto; 94 if (x->sel.family == AF_UNSPEC) {
94 return x->inner_mode->input2(x, skb); 95 inner_mode = xfrm_ip2inner_mode(x, XFRM_MODE_SKB_CB(skb)->protocol);
96 if (inner_mode == NULL)
97 return -EAFNOSUPPORT;
98 }
99
100 skb->protocol = inner_mode->afinfo->eth_proto;
101 return inner_mode->input2(x, skb);
95} 102}
96EXPORT_SYMBOL(xfrm_prepare_input); 103EXPORT_SYMBOL(xfrm_prepare_input);
97 104
@@ -101,6 +108,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
101 __be32 seq; 108 __be32 seq;
102 struct xfrm_state *x; 109 struct xfrm_state *x;
103 xfrm_address_t *daddr; 110 xfrm_address_t *daddr;
111 struct xfrm_mode *inner_mode;
104 unsigned int family; 112 unsigned int family;
105 int decaps = 0; 113 int decaps = 0;
106 int async = 0; 114 int async = 0;
@@ -207,7 +215,15 @@ resume:
207 215
208 XFRM_MODE_SKB_CB(skb)->protocol = nexthdr; 216 XFRM_MODE_SKB_CB(skb)->protocol = nexthdr;
209 217
210 if (x->inner_mode->input(x, skb)) { 218 inner_mode = x->inner_mode;
219
220 if (x->sel.family == AF_UNSPEC) {
221 inner_mode = xfrm_ip2inner_mode(x, XFRM_MODE_SKB_CB(skb)->protocol);
222 if (inner_mode == NULL)
223 goto drop;
224 }
225
226 if (inner_mode->input(x, skb)) {
211 XFRM_INC_STATS(LINUX_MIB_XFRMINSTATEMODEERROR); 227 XFRM_INC_STATS(LINUX_MIB_XFRMINSTATEMODEERROR);
212 goto drop; 228 goto drop;
213 } 229 }
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
index 569d377932c..2519129c6d2 100644
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
@@ -124,7 +124,7 @@ int xfrm_output_resume(struct sk_buff *skb, int err)
124 if (!x) 124 if (!x)
125 return dst_output(skb); 125 return dst_output(skb);
126 126
127 err = nf_hook(x->inner_mode->afinfo->family, 127 err = nf_hook(skb->dst->ops->family,
128 NF_INET_POST_ROUTING, skb, 128 NF_INET_POST_ROUTING, skb,
129 NULL, skb->dst->dev, xfrm_output2); 129 NULL, skb->dst->dev, xfrm_output2);
130 if (unlikely(err != 1)) 130 if (unlikely(err != 1))
@@ -193,4 +193,20 @@ int xfrm_output(struct sk_buff *skb)
193 193
194 return xfrm_output2(skb); 194 return xfrm_output2(skb);
195} 195}
196
197int xfrm_inner_extract_output(struct xfrm_state *x, struct sk_buff *skb)
198{
199 struct xfrm_mode *inner_mode;
200 if (x->sel.family == AF_UNSPEC)
201 inner_mode = xfrm_ip2inner_mode(x,
202 xfrm_af2proto(skb->dst->ops->family));
203 else
204 inner_mode = x->inner_mode;
205
206 if (inner_mode == NULL)
207 return -EAFNOSUPPORT;
208 return inner_mode->afinfo->extract_output(x, skb);
209}
210
196EXPORT_SYMBOL_GPL(xfrm_output); 211EXPORT_SYMBOL_GPL(xfrm_output);
212EXPORT_SYMBOL_GPL(xfrm_inner_extract_output);
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 7ba65e82941..58f1f9347b5 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -388,6 +388,8 @@ static void xfrm_state_gc_destroy(struct xfrm_state *x)
388 kfree(x->coaddr); 388 kfree(x->coaddr);
389 if (x->inner_mode) 389 if (x->inner_mode)
390 xfrm_put_mode(x->inner_mode); 390 xfrm_put_mode(x->inner_mode);
391 if (x->inner_mode_iaf)
392 xfrm_put_mode(x->inner_mode_iaf);
391 if (x->outer_mode) 393 if (x->outer_mode)
392 xfrm_put_mode(x->outer_mode); 394 xfrm_put_mode(x->outer_mode);
393 if (x->type) { 395 if (x->type) {
@@ -523,6 +525,8 @@ struct xfrm_state *xfrm_state_alloc(void)
523 x->lft.hard_packet_limit = XFRM_INF; 525 x->lft.hard_packet_limit = XFRM_INF;
524 x->replay_maxage = 0; 526 x->replay_maxage = 0;
525 x->replay_maxdiff = 0; 527 x->replay_maxdiff = 0;
528 x->inner_mode = NULL;
529 x->inner_mode_iaf = NULL;
526 spin_lock_init(&x->lock); 530 spin_lock_init(&x->lock);
527 } 531 }
528 return x; 532 return x;
@@ -796,7 +800,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
796 selector. 800 selector.
797 */ 801 */
798 if (x->km.state == XFRM_STATE_VALID) { 802 if (x->km.state == XFRM_STATE_VALID) {
799 if (!xfrm_selector_match(&x->sel, fl, x->sel.family) || 803 if ((x->sel.family && !xfrm_selector_match(&x->sel, fl, x->sel.family)) ||
800 !security_xfrm_state_pol_flow_match(x, pol, fl)) 804 !security_xfrm_state_pol_flow_match(x, pol, fl))
801 continue; 805 continue;
802 if (!best || 806 if (!best ||
@@ -1944,6 +1948,7 @@ int xfrm_state_mtu(struct xfrm_state *x, int mtu)
1944int xfrm_init_state(struct xfrm_state *x) 1948int xfrm_init_state(struct xfrm_state *x)
1945{ 1949{
1946 struct xfrm_state_afinfo *afinfo; 1950 struct xfrm_state_afinfo *afinfo;
1951 struct xfrm_mode *inner_mode;
1947 int family = x->props.family; 1952 int family = x->props.family;
1948 int err; 1953 int err;
1949 1954
@@ -1962,13 +1967,48 @@ int xfrm_init_state(struct xfrm_state *x)
1962 goto error; 1967 goto error;
1963 1968
1964 err = -EPROTONOSUPPORT; 1969 err = -EPROTONOSUPPORT;
1965 x->inner_mode = xfrm_get_mode(x->props.mode, x->sel.family);
1966 if (x->inner_mode == NULL)
1967 goto error;
1968 1970
1969 if (!(x->inner_mode->flags & XFRM_MODE_FLAG_TUNNEL) && 1971 if (x->sel.family != AF_UNSPEC) {
1970 family != x->sel.family) 1972 inner_mode = xfrm_get_mode(x->props.mode, x->sel.family);
1971 goto error; 1973 if (inner_mode == NULL)
1974 goto error;
1975
1976 if (!(inner_mode->flags & XFRM_MODE_FLAG_TUNNEL) &&
1977 family != x->sel.family) {
1978 xfrm_put_mode(inner_mode);
1979 goto error;
1980 }
1981
1982 x->inner_mode = inner_mode;
1983 } else {
1984 struct xfrm_mode *inner_mode_iaf;
1985
1986 inner_mode = xfrm_get_mode(x->props.mode, AF_INET);
1987 if (inner_mode == NULL)
1988 goto error;
1989
1990 if (!(inner_mode->flags & XFRM_MODE_FLAG_TUNNEL)) {
1991 xfrm_put_mode(inner_mode);
1992 goto error;
1993 }
1994
1995 inner_mode_iaf = xfrm_get_mode(x->props.mode, AF_INET6);
1996 if (inner_mode_iaf == NULL)
1997 goto error;
1998
1999 if (!(inner_mode_iaf->flags & XFRM_MODE_FLAG_TUNNEL)) {
2000 xfrm_put_mode(inner_mode_iaf);
2001 goto error;
2002 }
2003
2004 if (x->props.family == AF_INET) {
2005 x->inner_mode = inner_mode;
2006 x->inner_mode_iaf = inner_mode_iaf;
2007 } else {
2008 x->inner_mode = inner_mode_iaf;
2009 x->inner_mode_iaf = inner_mode;
2010 }
2011 }
1972 2012
1973 x->type = xfrm_get_type(x->id.proto, family); 2013 x->type = xfrm_get_type(x->id.proto, family);
1974 if (x->type == NULL) 2014 if (x->type == NULL)
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index f971ca5645f..019d21de19b 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -288,12 +288,9 @@ static void copy_from_user_state(struct xfrm_state *x, struct xfrm_usersa_info *
288 memcpy(&x->props.saddr, &p->saddr, sizeof(x->props.saddr)); 288 memcpy(&x->props.saddr, &p->saddr, sizeof(x->props.saddr));
289 x->props.flags = p->flags; 289 x->props.flags = p->flags;
290 290
291 /*
292 * Set inner address family if the KM left it as zero.
293 * See comment in validate_tmpl.
294 */
295 if (!x->sel.family) 291 if (!x->sel.family)
296 x->sel.family = p->family; 292 x->sel.family = p->family;
293
297} 294}
298 295
299/* 296/*
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/selinux/hooks.c b/security/selinux/hooks.c
index 41a049f50f5..d39b59cf8a0 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -180,7 +180,7 @@ static int inode_alloc_security(struct inode *inode)
180 struct task_security_struct *tsec = current->security; 180 struct task_security_struct *tsec = current->security;
181 struct inode_security_struct *isec; 181 struct inode_security_struct *isec;
182 182
183 isec = kmem_cache_zalloc(sel_inode_cache, GFP_KERNEL); 183 isec = kmem_cache_zalloc(sel_inode_cache, GFP_NOFS);
184 if (!isec) 184 if (!isec)
185 return -ENOMEM; 185 return -ENOMEM;
186 186
@@ -760,13 +760,13 @@ static void selinux_sb_clone_mnt_opts(const struct super_block *oldsb,
760 * this early in the boot process. */ 760 * this early in the boot process. */
761 BUG_ON(!ss_initialized); 761 BUG_ON(!ss_initialized);
762 762
763 /* this might go away sometime down the line if there is a new user
764 * of clone, but for now, nfs better not get here... */
765 BUG_ON(newsbsec->initialized);
766
767 /* how can we clone if the old one wasn't set up?? */ 763 /* how can we clone if the old one wasn't set up?? */
768 BUG_ON(!oldsbsec->initialized); 764 BUG_ON(!oldsbsec->initialized);
769 765
766 /* if fs is reusing a sb, just let its options stand... */
767 if (newsbsec->initialized)
768 return;
769
770 mutex_lock(&newsbsec->lock); 770 mutex_lock(&newsbsec->lock);
771 771
772 newsbsec->flags = oldsbsec->flags; 772 newsbsec->flags = oldsbsec->flags;
@@ -1143,7 +1143,7 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent
1143 } 1143 }
1144 1144
1145 len = INITCONTEXTLEN; 1145 len = INITCONTEXTLEN;
1146 context = kmalloc(len, GFP_KERNEL); 1146 context = kmalloc(len, GFP_NOFS);
1147 if (!context) { 1147 if (!context) {
1148 rc = -ENOMEM; 1148 rc = -ENOMEM;
1149 dput(dentry); 1149 dput(dentry);
@@ -1161,7 +1161,7 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent
1161 } 1161 }
1162 kfree(context); 1162 kfree(context);
1163 len = rc; 1163 len = rc;
1164 context = kmalloc(len, GFP_KERNEL); 1164 context = kmalloc(len, GFP_NOFS);
1165 if (!context) { 1165 if (!context) {
1166 rc = -ENOMEM; 1166 rc = -ENOMEM;
1167 dput(dentry); 1167 dput(dentry);
@@ -1185,7 +1185,8 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent
1185 rc = 0; 1185 rc = 0;
1186 } else { 1186 } else {
1187 rc = security_context_to_sid_default(context, rc, &sid, 1187 rc = security_context_to_sid_default(context, rc, &sid,
1188 sbsec->def_sid); 1188 sbsec->def_sid,
1189 GFP_NOFS);
1189 if (rc) { 1190 if (rc) {
1190 printk(KERN_WARNING "%s: context_to_sid(%s) " 1191 printk(KERN_WARNING "%s: context_to_sid(%s) "
1191 "returned %d for dev=%s ino=%ld\n", 1192 "returned %d for dev=%s ino=%ld\n",
@@ -1630,6 +1631,12 @@ static inline u32 file_to_av(struct file *file)
1630 else 1631 else
1631 av |= FILE__WRITE; 1632 av |= FILE__WRITE;
1632 } 1633 }
1634 if (!av) {
1635 /*
1636 * Special file opened with flags 3 for ioctl-only use.
1637 */
1638 av = FILE__IOCTL;
1639 }
1633 1640
1634 return av; 1641 return av;
1635} 1642}
@@ -2423,7 +2430,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
2423 return -EOPNOTSUPP; 2430 return -EOPNOTSUPP;
2424 2431
2425 if (name) { 2432 if (name) {
2426 namep = kstrdup(XATTR_SELINUX_SUFFIX, GFP_KERNEL); 2433 namep = kstrdup(XATTR_SELINUX_SUFFIX, GFP_NOFS);
2427 if (!namep) 2434 if (!namep)
2428 return -ENOMEM; 2435 return -ENOMEM;
2429 *name = namep; 2436 *name = namep;
diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h
index f7d2f03781f..44e12ec8809 100644
--- a/security/selinux/include/security.h
+++ b/security/selinux/include/security.h
@@ -86,7 +86,8 @@ int security_sid_to_context(u32 sid, char **scontext,
86int security_context_to_sid(char *scontext, u32 scontext_len, 86int security_context_to_sid(char *scontext, u32 scontext_len,
87 u32 *out_sid); 87 u32 *out_sid);
88 88
89int security_context_to_sid_default(char *scontext, u32 scontext_len, u32 *out_sid, u32 def_sid); 89int security_context_to_sid_default(char *scontext, u32 scontext_len,
90 u32 *out_sid, u32 def_sid, gfp_t gfp_flags);
90 91
91int security_get_user_sids(u32 callsid, char *username, 92int security_get_user_sids(u32 callsid, char *username,
92 u32 **sids, u32 *nel); 93 u32 **sids, u32 *nel);
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index f3741860121..3f2bad28ee7 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -680,7 +680,8 @@ out:
680 680
681} 681}
682 682
683static int security_context_to_sid_core(char *scontext, u32 scontext_len, u32 *sid, u32 def_sid) 683static int security_context_to_sid_core(char *scontext, u32 scontext_len,
684 u32 *sid, u32 def_sid, gfp_t gfp_flags)
684{ 685{
685 char *scontext2; 686 char *scontext2;
686 struct context context; 687 struct context context;
@@ -709,7 +710,7 @@ static int security_context_to_sid_core(char *scontext, u32 scontext_len, u32 *s
709 null suffix to the copy to avoid problems with the existing 710 null suffix to the copy to avoid problems with the existing
710 attr package, which doesn't view the null terminator as part 711 attr package, which doesn't view the null terminator as part
711 of the attribute value. */ 712 of the attribute value. */
712 scontext2 = kmalloc(scontext_len+1,GFP_KERNEL); 713 scontext2 = kmalloc(scontext_len+1, gfp_flags);
713 if (!scontext2) { 714 if (!scontext2) {
714 rc = -ENOMEM; 715 rc = -ENOMEM;
715 goto out; 716 goto out;
@@ -809,7 +810,7 @@ out:
809int security_context_to_sid(char *scontext, u32 scontext_len, u32 *sid) 810int security_context_to_sid(char *scontext, u32 scontext_len, u32 *sid)
810{ 811{
811 return security_context_to_sid_core(scontext, scontext_len, 812 return security_context_to_sid_core(scontext, scontext_len,
812 sid, SECSID_NULL); 813 sid, SECSID_NULL, GFP_KERNEL);
813} 814}
814 815
815/** 816/**
@@ -829,10 +830,11 @@ int security_context_to_sid(char *scontext, u32 scontext_len, u32 *sid)
829 * Returns -%EINVAL if the context is invalid, -%ENOMEM if insufficient 830 * Returns -%EINVAL if the context is invalid, -%ENOMEM if insufficient
830 * memory is available, or 0 on success. 831 * memory is available, or 0 on success.
831 */ 832 */
832int security_context_to_sid_default(char *scontext, u32 scontext_len, u32 *sid, u32 def_sid) 833int security_context_to_sid_default(char *scontext, u32 scontext_len, u32 *sid,
834 u32 def_sid, gfp_t gfp_flags)
833{ 835{
834 return security_context_to_sid_core(scontext, scontext_len, 836 return security_context_to_sid_core(scontext, scontext_len,
835 sid, def_sid); 837 sid, def_sid, gfp_flags);
836} 838}
837 839
838static int compute_sid_handle_invalid_context( 840static int compute_sid_handle_invalid_context(
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/pci/es1968.c b/sound/pci/es1968.c
index 25ccfce4575..7d911a18c08 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -617,6 +617,18 @@ static int snd_es1968_ac97_wait(struct es1968 *chip)
617 return 1; /* timeout */ 617 return 1; /* timeout */
618} 618}
619 619
620static int snd_es1968_ac97_wait_poll(struct es1968 *chip)
621{
622 int timeout = 100000;
623
624 while (timeout-- > 0) {
625 if (!(inb(chip->io_port + ESM_AC97_INDEX) & 1))
626 return 0;
627 }
628 snd_printd("es1968: ac97 timeout\n");
629 return 1; /* timeout */
630}
631
620static void snd_es1968_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val) 632static void snd_es1968_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val)
621{ 633{
622 struct es1968 *chip = ac97->private_data; 634 struct es1968 *chip = ac97->private_data;
@@ -645,7 +657,7 @@ static unsigned short snd_es1968_ac97_read(struct snd_ac97 *ac97, unsigned short
645 outb(reg | 0x80, chip->io_port + ESM_AC97_INDEX); 657 outb(reg | 0x80, chip->io_port + ESM_AC97_INDEX);
646 /*msleep(1);*/ 658 /*msleep(1);*/
647 659
648 if (! snd_es1968_ac97_wait(chip)) { 660 if (!snd_es1968_ac97_wait_poll(chip)) {
649 data = inw(chip->io_port + ESM_AC97_DATA); 661 data = inw(chip->io_port + ESM_AC97_DATA);
650 /*msleep(1);*/ 662 /*msleep(1);*/
651 } 663 }
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 = {