aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/SubmittingPatches2
-rw-r--r--Documentation/kernel-parameters.txt9
-rw-r--r--Documentation/networking/00-INDEX3
-rw-r--r--Documentation/networking/sk98lin.txt568
-rw-r--r--Documentation/spi/spi-summary15
-rw-r--r--Documentation/unaligned-memory-access.txt4
-rw-r--r--Makefile2
-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/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/boot/dts/cm5200.dts37
-rw-r--r--arch/powerpc/boot/dts/lite5200.dts15
-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/tqm5200.dts42
-rw-r--r--arch/powerpc/configs/mpc832x_mds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc834x_mds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc836x_mds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc837x_rdb_defconfig24
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig24
-rw-r--r--arch/powerpc/configs/mpc8544_ds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc8572_ds_defconfig11
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig11
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig11
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig11
-rw-r--r--arch/powerpc/configs/storcenter_defconfig11
-rw-r--r--arch/powerpc/kernel/head_64.S13
-rw-r--r--arch/powerpc/kernel/irq.c1
-rw-r--r--arch/powerpc/kernel/rtas_flash.c2
-rw-r--r--arch/powerpc/mm/hash_low_32.S8
-rw-r--r--arch/powerpc/oprofile/cell/vma_map.c37
-rw-r--r--arch/powerpc/platforms/pseries/xics.c2
-rw-r--r--arch/powerpc/sysdev/cpm2.c1
-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/kernel/iommu.c12
-rw-r--r--arch/sparc64/kernel/iommu_common.h18
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c12
-rw-r--r--arch/sparc64/kernel/ptrace.c202
-rw-r--r--arch/sparc64/kernel/signal.c2
-rw-r--r--arch/sparc64/mm/tlb.c7
-rw-r--r--arch/x86/kernel/alternative.c12
-rw-r--r--arch/x86/kernel/cpu/bugs.c8
-rw-r--r--arch/x86/kernel/cpu/perfctr-watchdog.c7
-rw-r--r--arch/x86/kernel/hpet.c9
-rw-r--r--arch/x86/kernel/machine_kexec_64.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/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/xen/enlighten.c29
-rw-r--r--arch/x86/xen/mmu.c7
-rw-r--r--arch/x86/xen/mmu.h7
-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/processor_core.c2
-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/libata-core.c43
-rw-r--r--drivers/ata/libata-eh.c2
-rw-r--r--drivers/ata/pata_ali.c40
-rw-r--r--drivers/ata/pata_sil680.c6
-rw-r--r--drivers/ata/sata_fsl.c8
-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/block/cciss.c1
-rw-r--r--drivers/block/nbd.c6
-rw-r--r--drivers/block/ub.c38
-rw-r--r--drivers/char/drm/ati_pcigart.c6
-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/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/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/i2c-davinci.c17
-rw-r--r--drivers/i2c/busses/i2c-ibm_iic.c2
-rw-r--r--drivers/i2c/busses/i2c-tiny-usb.c12
-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/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/mouse/appletouch.c13
-rw-r--r--drivers/input/mousedev.c3
-rw-r--r--drivers/leds/leds-gpio.c20
-rw-r--r--drivers/lguest/lguest_user.c2
-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/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/net/Kconfig2
-rw-r--r--drivers/net/bfin_mac.c2
-rw-r--r--drivers/net/bnx2x.c6
-rw-r--r--drivers/net/bonding/bond_sysfs.c1
-rw-r--r--drivers/net/dm9000.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/phy/marvell.c2
-rw-r--r--drivers/net/plip.c7
-rw-r--r--drivers/net/s2io.c2
-rw-r--r--drivers/net/sky2.c6
-rw-r--r--drivers/net/smc91x.h8
-rw-r--r--drivers/net/starfire.c11
-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/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.c2
-rw-r--r--drivers/net/usb/pegasus.c4
-rw-r--r--drivers/net/virtio_net.c6
-rw-r--r--drivers/net/wan/lapbether.c2
-rw-r--r--drivers/net/wireless/b43/dma.c7
-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/Kconfig1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c2
-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/parport/parport_pc.c3
-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/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/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/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/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/ti_usb_3410_5052.c4
-rw-r--r--drivers/usb/serial/visor.c2
-rw-r--r--drivers/virtio/virtio_pci.c6
-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/afs/cell.c1
-rw-r--r--fs/afs/internal.h2
-rw-r--r--fs/aio.c18
-rw-r--r--fs/buffer.c15
-rw-r--r--fs/cifs/cifsacl.c4
-rw-r--r--fs/efs/inode.c2
-rw-r--r--fs/hfsplus/dir.c23
-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/nfs/file.c4
-rw-r--r--fs/nfs/inode.c1
-rw-r--r--fs/open.c8
-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/signalfd.c7
-rw-r--r--fs/smbfs/smbiod.c2
-rw-r--r--fs/splice.c33
-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/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/kvm.h6
-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/kvm.h6
-rw-r--r--include/asm-um/kvm.h6
-rw-r--r--include/asm-v850/kvm.h6
-rw-r--r--include/asm-x86/irqflags.h29
-rw-r--r--include/asm-x86/linkage.h35
-rw-r--r--include/asm-x86/nops.h20
-rw-r--r--include/asm-xtensa/kvm.h6
-rw-r--r--include/linux/Kbuild2
-rw-r--r--include/linux/cgroup.h1
-rw-r--r--include/linux/compat.h4
-rw-r--r--include/linux/dmaengine.h2
-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/libata.h27
-rw-r--r--include/linux/linkage.h20
-rw-r--r--include/linux/netdevice.h12
-rw-r--r--include/linux/pnp.h2
-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/tcp.h2
-rw-r--r--kernel/cgroup.c47
-rw-r--r--kernel/exit.c4
-rw-r--r--kernel/futex.c2
-rw-r--r--kernel/futex_compat.c2
-rw-r--r--kernel/marker.c9
-rw-r--r--kernel/uid16.c22
-rw-r--r--lib/kobject_uevent.c2
-rw-r--r--lib/lzo/lzo1x_decompress.c2
-rw-r--r--lib/random32.c13
-rw-r--r--mm/memcontrol.c26
-rw-r--r--mm/slub.c2
-rw-r--r--mm/sparse-vmemmap.c8
-rw-r--r--net/8021q/vlan.c20
-rw-r--r--net/8021q/vlan.h5
-rw-r--r--net/8021q/vlan_dev.c15
-rw-r--r--net/8021q/vlanproc.c5
-rw-r--r--net/atm/lec.c29
-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/ieee80211/ieee80211_rx.c43
-rw-r--r--net/ipv4/esp4.c2
-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_sockglue.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_input.c65
-rw-r--r--net/ipv4/tcp_output.c3
-rw-r--r--net/ipv4/udp.c4
-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/netfilter/ip6_queue.c8
-rw-r--r--net/ipv6/netfilter/nf_conntrack_reasm.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/sunrpc/clnt.c4
-rw-r--r--net/sunrpc/xdr.c9
-rw-r--r--net/wireless/nl80211.c2
-rw-r--r--net/xfrm/xfrm_user.c2
-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--sound/oss/ac97_codec.c2
-rw-r--r--sound/pci/es1968.c14
520 files changed, 10335 insertions, 8113 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index cc00c8e8f040..1fc4e7144dce 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -560,7 +560,7 @@ They provide type safety, have no length limitations, no formatting
560limitations, and under gcc they are as cheap as macros. 560limitations, and under gcc they are as cheap as macros.
561 561
562Macros 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
563suboptimal [there a few, isolated cases of this in fast paths], 563suboptimal [there are a few, isolated cases of this in fast paths],
564or 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
565string-izing]. 565string-izing].
566 566
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 57709e472b9b..dafd001bf833 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.
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index 02e56d447a8f..c485ee028bd9 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 8590a954df1d..000000000000
--- 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/spi/spi-summary b/Documentation/spi/spi-summary
index 8861e47e5a2d..6d5f18143c50 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/unaligned-memory-access.txt b/Documentation/unaligned-memory-access.txt
index 6223eace3c09..b0472ac5226a 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/Makefile b/Makefile
index b08a259e21dc..fec2a12710eb 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 25 3SUBLEVEL = 25
4EXTRAVERSION = -rc7 4EXTRAVERSION = -rc8
5NAME = Funky Weasel is Jiggy wit it 5NAME = Funky Weasel is Jiggy wit it
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index 4e1c08636edd..dd6e334ab9e1 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 538262241483..5fe9588db077 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 283e14fff993..7e97b7376563 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 e8b98046895b..96ab5f52949c 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/frv/kernel/entry-table.S b/arch/frv/kernel/entry-table.S
index d3b9253d862a..bf35f33e48c9 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 f36d7f4a7c25..b8a4b94779b1 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 d424cd2eb213..bff66628b99a 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 b5275fa9cd0d..b06668670fcc 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 2e6098c85578..2f7e66877f3b 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 2cba605cb59d..b15173f28a23 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 5649fbae430e..e41958371367 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 63024b0b7ac3..e61196cd7fa5 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 6433da2d2ce2..ba7f971bb026 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 da2a23a21463..ed98eff708c4 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 51251883adf8..38b68c70e567 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 ff9dffa5b860..738bca695a88 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 f0d5534f6830..f40b1724254b 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 1d5c46ff3c81..e9ccc774334e 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 856238634d42..165658fe73eb 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 af903b5c5708..bd2b9c4927c4 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 997143b7928a..f18154f1ef1f 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 7d935e48a9a8..000000000000
--- 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 72097dacabd3..1c62381f5c23 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 d8df5fdb045f..5c0d35d6e22a 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 d885e3848ec6..9e4ab80caab6 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 f113b512d7b1..e122bbc6cd88 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 a9237f41933d..b2e413e597a8 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 389349295d70..a343da134334 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 abf70d74e9d7..3b42cea2e402 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 3191afa29ad8..25f4eab8ea9c 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 fc4aa07b6d35..38fa1a194bf4 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 9f85d4cecc5b..b45a7093ca2d 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 eed2dc4273e0..39804c584edd 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 6496925b5e29..77aefb4ebedd 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 b09d56981d53..a9f7f1f5e9b4 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 51ab1faa027d..f5903679ee6a 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 3a93d4ce2703..382738ca8a0b 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 ab68c4318a30..87e2c8f54e2d 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 005e7fecab08..f54f45412b0b 100644
--- a/arch/mips/pci/pci-bcm1480ht.c
+++ b/arch/mips/pci/pci-bcm1480ht.c
@@ -180,8 +180,8 @@ static struct resource bcm1480ht_mem_resource = {
180 180
181static struct resource bcm1480ht_io_resource = { 181static struct resource bcm1480ht_io_resource = {
182 .name = "BCM1480 HT I/O", 182 .name = "BCM1480 HT I/O",
183 .start = 0x00000000UL, 183 .start = A_BCM1480_PHYS_HT_IO_MATCH_BYTES,
184 .end = 0x01ffffffUL, 184 .end = A_BCM1480_PHYS_HT_IO_MATCH_BYTES + 0x01ffffffUL,
185 .flags = IORESOURCE_IO, 185 .flags = IORESOURCE_IO,
186}; 186};
187 187
@@ -191,29 +191,22 @@ struct pci_controller bcm1480ht_controller = {
191 .io_resource = &bcm1480ht_io_resource, 191 .io_resource = &bcm1480ht_io_resource,
192 .index = 1, 192 .index = 1,
193 .get_busno = bcm1480ht_pcibios_get_busno, 193 .get_busno = bcm1480ht_pcibios_get_busno,
194 .io_offset = A_BCM1480_PHYS_HT_IO_MATCH_BYTES,
194}; 195};
195 196
196static int __init bcm1480ht_pcibios_init(void) 197static int __init bcm1480ht_pcibios_init(void)
197{ 198{
198 uint32_t cmdreg;
199
200 ht_cfg_space = ioremap(A_BCM1480_PHYS_HT_CFG_MATCH_BITS, 16*1024*1024); 199 ht_cfg_space = ioremap(A_BCM1480_PHYS_HT_CFG_MATCH_BITS, 16*1024*1024);
201 200
202 /* 201 /* CFE doesn't always init all HT paths, so we always scan */
203 * See if the PCI bus has been configured by the firmware.
204 */
205 cmdreg = READCFG32(CFGOFFSET(0, PCI_DEVFN(PCI_BRIDGE_DEVICE, 0),
206 PCI_COMMAND));
207 if (!(cmdreg & PCI_COMMAND_MASTER)) {
208 printk("HT: Skipping HT probe. Bus is not initialized.\n");
209 iounmap(ht_cfg_space);
210 return 1; /* XXX */
211 }
212 bcm1480ht_bus_status |= PCI_BUS_ENABLED; 202 bcm1480ht_bus_status |= PCI_BUS_ENABLED;
213 203
214 ht_eoi_space = (unsigned long) 204 ht_eoi_space = (unsigned long)
215 ioremap(A_BCM1480_PHYS_HT_SPECIAL_MATCH_BYTES, 205 ioremap(A_BCM1480_PHYS_HT_SPECIAL_MATCH_BYTES,
216 4 * 1024 * 1024); 206 4 * 1024 * 1024);
207 bcm1480ht_controller.io_map_base = (unsigned long)
208 ioremap(A_BCM1480_PHYS_HT_IO_MATCH_BYTES, 65536);
209 bcm1480ht_controller.io_map_base -= bcm1480ht_controller.io_offset;
217 210
218 register_pci_controller(&bcm1480ht_controller); 211 register_pci_controller(&bcm1480ht_controller);
219 212
diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
index 30737eafe68e..c6ca6319e4f7 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/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
index 0d701c1bf539..09b4e16154d6 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/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
index 76951ab038ee..2b0dde058f8e 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 49c05e97386c..eac8e1b59496 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 440aa4dfab0c..5bc09ad016f5 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 92711534b179..711f9a30f9ab 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 fdb4a9255b24..6f78a9fd9826 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 0dda2fc558f8..c11ceb7d3299 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/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
index c86464f007da..65bcea6a0173 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/configs/mpc832x_mds_defconfig b/arch/powerpc/configs/mpc832x_mds_defconfig
index 79d228f84c5a..50cceda8994f 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:16 2008 4# Mon Mar 31 11:36:51 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -628,8 +628,7 @@ CONFIG_LEGACY_PTY_COUNT=256
628# CONFIG_IPMI_HANDLER is not set 628# CONFIG_IPMI_HANDLER is not set
629CONFIG_HW_RANDOM=y 629CONFIG_HW_RANDOM=y
630# CONFIG_NVRAM is not set 630# CONFIG_NVRAM is not set
631CONFIG_GEN_RTC=y 631# CONFIG_GEN_RTC is not set
632# CONFIG_GEN_RTC_X is not set
633# CONFIG_R3964 is not set 632# CONFIG_R3964 is not set
634# CONFIG_APPLICOM is not set 633# CONFIG_APPLICOM is not set
635# CONFIG_RAW_DRIVER is not set 634# CONFIG_RAW_DRIVER is not set
@@ -824,10 +823,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
824# CONFIG_EDAC is not set 823# CONFIG_EDAC is not set
825CONFIG_RTC_LIB=y 824CONFIG_RTC_LIB=y
826CONFIG_RTC_CLASS=y 825CONFIG_RTC_CLASS=y
827
828#
829# Conflicting RTC option has been selected, check GEN_RTC and RTC
830#
831CONFIG_RTC_HCTOSYS=y 826CONFIG_RTC_HCTOSYS=y
832CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 827CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
833# CONFIG_RTC_DEBUG is not set 828# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig
index 9360144942f1..b4e82c0e2be7 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:20 2008 4# Mon Mar 31 11:36:56 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -571,8 +571,7 @@ CONFIG_LEGACY_PTY_COUNT=256
571# CONFIG_IPMI_HANDLER is not set 571# CONFIG_IPMI_HANDLER is not set
572# CONFIG_HW_RANDOM is not set 572# CONFIG_HW_RANDOM is not set
573# CONFIG_NVRAM is not set 573# CONFIG_NVRAM is not set
574CONFIG_GEN_RTC=y 574# CONFIG_GEN_RTC is not set
575# CONFIG_GEN_RTC_X is not set
576# CONFIG_R3964 is not set 575# CONFIG_R3964 is not set
577# CONFIG_APPLICOM is not set 576# CONFIG_APPLICOM is not set
578# CONFIG_RAW_DRIVER is not set 577# CONFIG_RAW_DRIVER is not set
@@ -767,10 +766,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
767# CONFIG_EDAC is not set 766# CONFIG_EDAC is not set
768CONFIG_RTC_LIB=y 767CONFIG_RTC_LIB=y
769CONFIG_RTC_CLASS=y 768CONFIG_RTC_CLASS=y
770
771#
772# Conflicting RTC option has been selected, check GEN_RTC and RTC
773#
774CONFIG_RTC_HCTOSYS=y 769CONFIG_RTC_HCTOSYS=y
775CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 770CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
776# CONFIG_RTC_DEBUG is not set 771# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
index 7c8b06046d5d..d50a96eddcdc 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:21 2008 4# Mon Mar 31 11:36:57 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -626,8 +626,7 @@ CONFIG_LEGACY_PTY_COUNT=256
626# CONFIG_IPMI_HANDLER is not set 626# CONFIG_IPMI_HANDLER is not set
627CONFIG_HW_RANDOM=y 627CONFIG_HW_RANDOM=y
628# CONFIG_NVRAM is not set 628# CONFIG_NVRAM is not set
629CONFIG_GEN_RTC=y 629# CONFIG_GEN_RTC is not set
630# CONFIG_GEN_RTC_X is not set
631# CONFIG_R3964 is not set 630# CONFIG_R3964 is not set
632# CONFIG_APPLICOM is not set 631# CONFIG_APPLICOM is not set
633# CONFIG_RAW_DRIVER is not set 632# CONFIG_RAW_DRIVER is not set
@@ -822,10 +821,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
822# CONFIG_EDAC is not set 821# CONFIG_EDAC is not set
823CONFIG_RTC_LIB=y 822CONFIG_RTC_LIB=y
824CONFIG_RTC_CLASS=y 823CONFIG_RTC_CLASS=y
825
826#
827# Conflicting RTC option has been selected, check GEN_RTC and RTC
828#
829CONFIG_RTC_HCTOSYS=y 824CONFIG_RTC_HCTOSYS=y
830CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 825CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
831# CONFIG_RTC_DEBUG is not set 826# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc837x_rdb_defconfig b/arch/powerpc/configs/mpc837x_rdb_defconfig
index 44093a0eaf88..a6331769d88f 100644
--- a/arch/powerpc/configs/mpc837x_rdb_defconfig
+++ b/arch/powerpc/configs/mpc837x_rdb_defconfig
@@ -684,7 +684,29 @@ CONFIG_USB_SUPPORT=y
684CONFIG_USB_ARCH_HAS_HCD=y 684CONFIG_USB_ARCH_HAS_HCD=y
685# CONFIG_USB_ARCH_HAS_OHCI is not set 685# CONFIG_USB_ARCH_HAS_OHCI is not set
686CONFIG_USB_ARCH_HAS_EHCI=y 686CONFIG_USB_ARCH_HAS_EHCI=y
687# CONFIG_USB is not set 687CONFIG_USB=y
688# CONFIG_USB_DEBUG is not set
689# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
690
691#
692# Miscellaneous USB options
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
698
699#
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
688 710
689# 711#
690# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 712# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 1f6cf68e89f8..029d2dab7deb 100644
--- a/arch/powerpc/configs/mpc83xx_defconfig
+++ b/arch/powerpc/configs/mpc83xx_defconfig
@@ -690,7 +690,29 @@ CONFIG_USB_SUPPORT=y
690CONFIG_USB_ARCH_HAS_HCD=y 690CONFIG_USB_ARCH_HAS_HCD=y
691# CONFIG_USB_ARCH_HAS_OHCI is not set 691# CONFIG_USB_ARCH_HAS_OHCI is not set
692CONFIG_USB_ARCH_HAS_EHCI=y 692CONFIG_USB_ARCH_HAS_EHCI=y
693# CONFIG_USB is not set 693CONFIG_USB=y
694# CONFIG_USB_DEBUG is not set
695# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
696
697#
698# Miscellaneous USB options
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
704
705#
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
694 716
695# 717#
696# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 718# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
diff --git a/arch/powerpc/configs/mpc8544_ds_defconfig b/arch/powerpc/configs/mpc8544_ds_defconfig
index c75b6aee76d1..418bcdb5f919 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:26 2008 4# Mon Mar 31 11:37:03 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -742,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
742# CONFIG_IPMI_HANDLER is not set 742# CONFIG_IPMI_HANDLER is not set
743# CONFIG_HW_RANDOM is not set 743# CONFIG_HW_RANDOM is not set
744CONFIG_NVRAM=y 744CONFIG_NVRAM=y
745CONFIG_GEN_RTC=y 745# CONFIG_GEN_RTC is not set
746CONFIG_GEN_RTC_X=y
747# CONFIG_R3964 is not set 746# CONFIG_R3964 is not set
748# CONFIG_APPLICOM is not set 747# CONFIG_APPLICOM is not set
749# CONFIG_RAW_DRIVER is not set 748# CONFIG_RAW_DRIVER is not set
@@ -1209,10 +1208,6 @@ CONFIG_USB_MON=y
1209# CONFIG_EDAC is not set 1208# CONFIG_EDAC is not set
1210CONFIG_RTC_LIB=y 1209CONFIG_RTC_LIB=y
1211CONFIG_RTC_CLASS=y 1210CONFIG_RTC_CLASS=y
1212
1213#
1214# Conflicting RTC option has been selected, check GEN_RTC and RTC
1215#
1216CONFIG_RTC_HCTOSYS=y 1211CONFIG_RTC_HCTOSYS=y
1217CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1212CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1218# CONFIG_RTC_DEBUG is not set 1213# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
index e7da4b96cdeb..2b866b385607 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:28 2008 4# Mon Mar 31 11:37:05 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -629,8 +629,7 @@ CONFIG_LEGACY_PTY_COUNT=256
629# CONFIG_IPMI_HANDLER is not set 629# CONFIG_IPMI_HANDLER is not set
630CONFIG_HW_RANDOM=y 630CONFIG_HW_RANDOM=y
631# CONFIG_NVRAM is not set 631# CONFIG_NVRAM is not set
632CONFIG_GEN_RTC=y 632# CONFIG_GEN_RTC is not set
633# CONFIG_GEN_RTC_X is not set
634# CONFIG_R3964 is not set 633# CONFIG_R3964 is not set
635# CONFIG_APPLICOM is not set 634# CONFIG_APPLICOM is not set
636# CONFIG_RAW_DRIVER is not set 635# CONFIG_RAW_DRIVER is not set
@@ -825,10 +824,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
825# CONFIG_EDAC is not set 824# CONFIG_EDAC is not set
826CONFIG_RTC_LIB=y 825CONFIG_RTC_LIB=y
827CONFIG_RTC_CLASS=y 826CONFIG_RTC_CLASS=y
828
829#
830# Conflicting RTC option has been selected, check GEN_RTC and RTC
831#
832CONFIG_RTC_HCTOSYS=y 827CONFIG_RTC_HCTOSYS=y
833CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 828CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
834# CONFIG_RTC_DEBUG is not set 829# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc8572_ds_defconfig b/arch/powerpc/configs/mpc8572_ds_defconfig
index 460afe99c653..53aa6f3173a5 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:29 2008 4# Mon Mar 31 11:37:06 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -742,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
742# CONFIG_IPMI_HANDLER is not set 742# CONFIG_IPMI_HANDLER is not set
743# CONFIG_HW_RANDOM is not set 743# CONFIG_HW_RANDOM is not set
744CONFIG_NVRAM=y 744CONFIG_NVRAM=y
745CONFIG_GEN_RTC=y 745# CONFIG_GEN_RTC is not set
746CONFIG_GEN_RTC_X=y
747# CONFIG_R3964 is not set 746# CONFIG_R3964 is not set
748# CONFIG_APPLICOM is not set 747# CONFIG_APPLICOM is not set
749# CONFIG_RAW_DRIVER is not set 748# CONFIG_RAW_DRIVER is not set
@@ -1209,10 +1208,6 @@ CONFIG_USB_MON=y
1209# CONFIG_EDAC is not set 1208# CONFIG_EDAC is not set
1210CONFIG_RTC_LIB=y 1209CONFIG_RTC_LIB=y
1211CONFIG_RTC_CLASS=y 1210CONFIG_RTC_CLASS=y
1212
1213#
1214# Conflicting RTC option has been selected, check GEN_RTC and RTC
1215#
1216CONFIG_RTC_HCTOSYS=y 1211CONFIG_RTC_HCTOSYS=y
1217CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1212CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1218# CONFIG_RTC_DEBUG is not set 1213# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index 615e4c1bf735..2075722911bb 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:31 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
@@ -750,8 +750,7 @@ CONFIG_LEGACY_PTY_COUNT=256
750# CONFIG_IPMI_HANDLER is not set 750# CONFIG_IPMI_HANDLER is not set
751# CONFIG_HW_RANDOM is not set 751# CONFIG_HW_RANDOM is not set
752CONFIG_NVRAM=y 752CONFIG_NVRAM=y
753CONFIG_GEN_RTC=y 753# CONFIG_GEN_RTC is not set
754CONFIG_GEN_RTC_X=y
755# CONFIG_R3964 is not set 754# CONFIG_R3964 is not set
756# CONFIG_APPLICOM is not set 755# CONFIG_APPLICOM is not set
757# CONFIG_RAW_DRIVER is not set 756# CONFIG_RAW_DRIVER is not set
@@ -1217,10 +1216,6 @@ CONFIG_USB_MON=y
1217# CONFIG_EDAC is not set 1216# CONFIG_EDAC is not set
1218CONFIG_RTC_LIB=y 1217CONFIG_RTC_LIB=y
1219CONFIG_RTC_CLASS=y 1218CONFIG_RTC_CLASS=y
1220
1221#
1222# Conflicting RTC option has been selected, check GEN_RTC and RTC
1223#
1224CONFIG_RTC_HCTOSYS=y 1219CONFIG_RTC_HCTOSYS=y
1225CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1220CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1226# CONFIG_RTC_DEBUG is not set 1221# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
index 994e76817967..d01dcdb70bd7 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:34 2008 4# Mon Mar 31 11:37:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -736,8 +736,7 @@ CONFIG_LEGACY_PTY_COUNT=256
736# CONFIG_IPMI_HANDLER is not set 736# CONFIG_IPMI_HANDLER is not set
737# CONFIG_HW_RANDOM is not set 737# CONFIG_HW_RANDOM is not set
738CONFIG_NVRAM=y 738CONFIG_NVRAM=y
739CONFIG_GEN_RTC=y 739# CONFIG_GEN_RTC is not set
740CONFIG_GEN_RTC_X=y
741# CONFIG_R3964 is not set 740# CONFIG_R3964 is not set
742# CONFIG_APPLICOM is not set 741# CONFIG_APPLICOM is not set
743# CONFIG_RAW_DRIVER is not set 742# CONFIG_RAW_DRIVER is not set
@@ -1203,10 +1202,6 @@ CONFIG_USB_MON=y
1203# CONFIG_EDAC is not set 1202# CONFIG_EDAC is not set
1204CONFIG_RTC_LIB=y 1203CONFIG_RTC_LIB=y
1205CONFIG_RTC_CLASS=y 1204CONFIG_RTC_CLASS=y
1206
1207#
1208# Conflicting RTC option has been selected, check GEN_RTC and RTC
1209#
1210CONFIG_RTC_HCTOSYS=y 1205CONFIG_RTC_HCTOSYS=y
1211CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1206CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1212# CONFIG_RTC_DEBUG is not set 1207# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index f53d55bbdd7c..f9121685f11a 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:37 2008 4# Mon Mar 31 11:37:15 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -855,8 +855,7 @@ CONFIG_LEGACY_PTY_COUNT=256
855# CONFIG_IPMI_HANDLER is not set 855# CONFIG_IPMI_HANDLER is not set
856# CONFIG_HW_RANDOM is not set 856# CONFIG_HW_RANDOM is not set
857# CONFIG_NVRAM is not set 857# CONFIG_NVRAM is not set
858CONFIG_GEN_RTC=y 858# CONFIG_GEN_RTC is not set
859# CONFIG_GEN_RTC_X is not set
860# CONFIG_R3964 is not set 859# CONFIG_R3964 is not set
861# CONFIG_APPLICOM is not set 860# CONFIG_APPLICOM is not set
862# CONFIG_RAW_DRIVER is not set 861# CONFIG_RAW_DRIVER is not set
@@ -1129,10 +1128,6 @@ CONFIG_USB_MON=y
1129# CONFIG_EDAC is not set 1128# CONFIG_EDAC is not set
1130CONFIG_RTC_LIB=y 1129CONFIG_RTC_LIB=y
1131CONFIG_RTC_CLASS=y 1130CONFIG_RTC_CLASS=y
1132
1133#
1134# Conflicting RTC option has been selected, check GEN_RTC and RTC
1135#
1136CONFIG_RTC_HCTOSYS=y 1131CONFIG_RTC_HCTOSYS=y
1137CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1132CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1138# CONFIG_RTC_DEBUG is not set 1133# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 8fc85747a0a7..fdbfd39a3aca 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.25-rc6 3# Linux kernel version: 2.6.25-rc7
4# Mon Mar 24 08:48:41 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
@@ -717,8 +717,7 @@ CONFIG_LEGACY_PTY_COUNT=256
717# CONFIG_IPMI_HANDLER is not set 717# CONFIG_IPMI_HANDLER is not set
718CONFIG_HW_RANDOM=m 718CONFIG_HW_RANDOM=m
719CONFIG_NVRAM=y 719CONFIG_NVRAM=y
720CONFIG_GEN_RTC=y 720# CONFIG_GEN_RTC is not set
721# CONFIG_GEN_RTC_X is not set
722# CONFIG_R3964 is not set 721# CONFIG_R3964 is not set
723# CONFIG_APPLICOM is not set 722# CONFIG_APPLICOM is not set
724# CONFIG_RAW_DRIVER is not set 723# CONFIG_RAW_DRIVER is not set
@@ -931,10 +930,6 @@ CONFIG_USB_STORAGE=y
931# CONFIG_EDAC is not set 930# CONFIG_EDAC is not set
932CONFIG_RTC_LIB=y 931CONFIG_RTC_LIB=y
933CONFIG_RTC_CLASS=y 932CONFIG_RTC_CLASS=y
934
935#
936# Conflicting RTC option has been selected, check GEN_RTC and RTC
937#
938CONFIG_RTC_HCTOSYS=y 933CONFIG_RTC_HCTOSYS=y
939CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 934CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
940# CONFIG_RTC_DEBUG is not set 935# CONFIG_RTC_DEBUG is not set
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 11b4f6d9ffce..d3aee08e6814 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -1387,12 +1387,14 @@ __secondary_start:
1387#ifdef CONFIG_PPC_ISERIES 1387#ifdef CONFIG_PPC_ISERIES
1388BEGIN_FW_FTR_SECTION 1388BEGIN_FW_FTR_SECTION
1389 ori r4,r4,MSR_EE 1389 ori r4,r4,MSR_EE
1390 li r8,1
1391 stb r8,PACAHARDIRQEN(r13)
1390END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES) 1392END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
1391#endif 1393#endif
1392BEGIN_FW_FTR_SECTION 1394BEGIN_FW_FTR_SECTION
1393 stb r7,PACASOFTIRQEN(r13)
1394 stb r7,PACAHARDIRQEN(r13) 1395 stb r7,PACAHARDIRQEN(r13)
1395END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES) 1396END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
1397 stb r7,PACASOFTIRQEN(r13)
1396 1398
1397 mtspr SPRN_SRR0,r3 1399 mtspr SPRN_SRR0,r3
1398 mtspr SPRN_SRR1,r4 1400 mtspr SPRN_SRR1,r4
@@ -1520,15 +1522,14 @@ _INIT_GLOBAL(start_here_common)
1520#ifdef CONFIG_PPC_ISERIES 1522#ifdef CONFIG_PPC_ISERIES
1521BEGIN_FW_FTR_SECTION 1523BEGIN_FW_FTR_SECTION
1522 mfmsr r5 1524 mfmsr r5
1523 ori r5,r5,MSR_EE /* Hard Enabled */ 1525 ori r5,r5,MSR_EE /* Hard Enabled on iSeries*/
1524 mtmsrd r5 1526 mtmsrd r5
1527 li r5,1
1525END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES) 1528END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
1526#endif 1529#endif
1527BEGIN_FW_FTR_SECTION 1530 stb r5,PACAHARDIRQEN(r13) /* Hard Disabled on others */
1528 stb r5,PACAHARDIRQEN(r13)
1529END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
1530 1531
1531 bl .start_kernel 1532 bl .start_kernel
1532 1533
1533 /* Not reached */ 1534 /* Not reached */
1534 BUG_OPCODE 1535 BUG_OPCODE
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index b0e5deb4274f..292163f5b39a 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 /*
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index f2276593f416..538baf46f15f 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 }
diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S
index 7f830a4888d6..e10d76a860d3 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/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index 76ec1d16aef7..9a932177e70e 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -92,7 +92,7 @@ vma_map_add(struct vma_to_fileoffset_map *map, unsigned int vma,
92 * A pointer to the first vma_map in the generated list 92 * A pointer to the first vma_map in the generated list
93 * of vma_maps is returned. */ 93 * of vma_maps is returned. */
94struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu, 94struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
95 unsigned long spu_elf_start) 95 unsigned long __spu_elf_start)
96{ 96{
97 static const unsigned char expected[EI_PAD] = { 97 static const unsigned char expected[EI_PAD] = {
98 [EI_MAG0] = ELFMAG0, 98 [EI_MAG0] = ELFMAG0,
@@ -107,9 +107,11 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
107 107
108 int grd_val; 108 int grd_val;
109 struct vma_to_fileoffset_map *map = NULL; 109 struct vma_to_fileoffset_map *map = NULL;
110 void __user *spu_elf_start = (void __user *)__spu_elf_start;
110 struct spu_overlay_info ovly; 111 struct spu_overlay_info ovly;
111 unsigned int overlay_tbl_offset = -1; 112 unsigned int overlay_tbl_offset = -1;
112 unsigned long phdr_start, shdr_start; 113 Elf32_Phdr __user *phdr_start;
114 Elf32_Shdr __user *shdr_start;
113 Elf32_Ehdr ehdr; 115 Elf32_Ehdr ehdr;
114 Elf32_Phdr phdr; 116 Elf32_Phdr phdr;
115 Elf32_Shdr shdr, shdr_str; 117 Elf32_Shdr shdr, shdr_str;
@@ -121,12 +123,12 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
121 unsigned int ovly_buf_table_sym = 0; 123 unsigned int ovly_buf_table_sym = 0;
122 unsigned int ovly_table_end_sym = 0; 124 unsigned int ovly_table_end_sym = 0;
123 unsigned int ovly_buf_table_end_sym = 0; 125 unsigned int ovly_buf_table_end_sym = 0;
124 unsigned long ovly_table; 126 struct spu_overlay_info __user *ovly_table;
125 unsigned int n_ovlys; 127 unsigned int n_ovlys;
126 128
127 /* Get and validate ELF header. */ 129 /* Get and validate ELF header. */
128 130
129 if (copy_from_user(&ehdr, (void *) spu_elf_start, sizeof (ehdr))) 131 if (copy_from_user(&ehdr, spu_elf_start, sizeof (ehdr)))
130 goto fail; 132 goto fail;
131 133
132 if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) { 134 if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) {
@@ -152,9 +154,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
152 154
153 /* Traverse program headers. */ 155 /* Traverse program headers. */
154 for (i = 0; i < ehdr.e_phnum; i++) { 156 for (i = 0; i < ehdr.e_phnum; i++) {
155 if (copy_from_user(&phdr, 157 if (copy_from_user(&phdr, phdr_start + i, sizeof(phdr)))
156 (void *) (phdr_start + i * sizeof(phdr)),
157 sizeof(phdr)))
158 goto fail; 158 goto fail;
159 159
160 if (phdr.p_type != PT_LOAD) 160 if (phdr.p_type != PT_LOAD)
@@ -171,9 +171,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
171 pr_debug("SPU_PROF: Created non-overlay maps\n"); 171 pr_debug("SPU_PROF: Created non-overlay maps\n");
172 /* Traverse section table and search for overlay-related symbols. */ 172 /* Traverse section table and search for overlay-related symbols. */
173 for (i = 0; i < ehdr.e_shnum; i++) { 173 for (i = 0; i < ehdr.e_shnum; i++) {
174 if (copy_from_user(&shdr, 174 if (copy_from_user(&shdr, shdr_start + i, sizeof(shdr)))
175 (void *) (shdr_start + i * sizeof(shdr)),
176 sizeof(shdr)))
177 goto fail; 175 goto fail;
178 176
179 if (shdr.sh_type != SHT_SYMTAB) 177 if (shdr.sh_type != SHT_SYMTAB)
@@ -182,8 +180,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
182 continue; 180 continue;
183 181
184 if (copy_from_user(&shdr_str, 182 if (copy_from_user(&shdr_str,
185 (void *) (shdr_start + shdr.sh_link * 183 shdr_start + shdr.sh_link,
186 sizeof(shdr)),
187 sizeof(shdr))) 184 sizeof(shdr)))
188 goto fail; 185 goto fail;
189 186
@@ -191,15 +188,15 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
191 goto fail;; 188 goto fail;;
192 189
193 for (j = 0; j < shdr.sh_size / sizeof (sym); j++) { 190 for (j = 0; j < shdr.sh_size / sizeof (sym); j++) {
194 if (copy_from_user(&sym, (void *) (spu_elf_start + 191 if (copy_from_user(&sym, spu_elf_start +
195 shdr.sh_offset + j * 192 shdr.sh_offset +
196 sizeof (sym)), 193 j * sizeof (sym),
197 sizeof (sym))) 194 sizeof (sym)))
198 goto fail; 195 goto fail;
199 196
200 if (copy_from_user(name, (void *) 197 if (copy_from_user(name,
201 (spu_elf_start + shdr_str.sh_offset + 198 spu_elf_start + shdr_str.sh_offset +
202 sym.st_name), 199 sym.st_name,
203 20)) 200 20))
204 goto fail; 201 goto fail;
205 202
@@ -245,9 +242,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
245 242
246 /* Traverse overlay table. */ 243 /* Traverse overlay table. */
247 for (i = 0; i < n_ovlys; i++) { 244 for (i = 0; i < n_ovlys; i++) {
248 if (copy_from_user(&ovly, (void *) 245 if (copy_from_user(&ovly, ovly_table + i, sizeof (ovly)))
249 (ovly_table + i * sizeof (ovly)),
250 sizeof (ovly)))
251 goto fail; 246 goto fail;
252 247
253 /* The ovly.vma/size/offset arguments are analogous to the same 248 /* The ovly.vma/size/offset arguments are analogous to the same
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index ca52b587166d..a977f200db89 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/cpm2.c b/arch/powerpc/sysdev/cpm2.c
index 7be711232124..dd066bb1d562 100644
--- a/arch/powerpc/sysdev/cpm2.c
+++ b/arch/powerpc/sysdev/cpm2.c
@@ -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/sh/Kconfig b/arch/sh/Kconfig
index 12720489e458..8d2cd1de5726 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 3dda24daa0a8..89b408620dcb 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 ff99562456fb..5627c0b3ffa8 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 817f9939cda6..8020796139f1 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 30b76a94abf2..dd4f51ffb50e 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 4a8a4083ff0b..1db7ce0f25d4 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 9ab1926b9d10..b98e37a1f54c 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 f6b5fbfe75c4..f311551d9a05 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 5b54f11f4e59..7f44ae69b29e 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/kernel/iommu.c b/arch/sparc64/kernel/iommu.c
index b781d3d54fb8..756fa24eeefa 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 */
diff --git a/arch/sparc64/kernel/iommu_common.h b/arch/sparc64/kernel/iommu_common.h
index 0713bd58499c..f3575a614fa2 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/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index ddca6c6c0b49..01839706bd52 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/ptrace.c b/arch/sparc64/kernel/ptrace.c
index aaae865e7932..e9fc0aa2da38 100644
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -114,6 +114,85 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
114 preempt_enable(); 114 preempt_enable();
115} 115}
116 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;
194}
195
117enum sparc_regset { 196enum sparc_regset {
118 REGSET_GENERAL, 197 REGSET_GENERAL,
119 REGSET_FP, 198 REGSET_FP,
@@ -133,16 +212,13 @@ static int genregs64_get(struct task_struct *target,
133 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 212 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
134 regs->u_regs, 213 regs->u_regs,
135 0, 16 * sizeof(u64)); 214 0, 16 * sizeof(u64));
136 if (!ret) { 215 if (!ret && count && pos < (32 * sizeof(u64))) {
137 unsigned long __user *reg_window = (unsigned long __user *) 216 struct reg_window window;
138 (regs->u_regs[UREG_I6] + STACK_BIAS);
139 unsigned long window[16];
140 217
141 if (copy_from_user(window, reg_window, sizeof(window))) 218 if (regwindow64_get(target, regs, &window))
142 return -EFAULT; 219 return -EFAULT;
143
144 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 220 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
145 window, 221 &window,
146 16 * sizeof(u64), 222 16 * sizeof(u64),
147 32 * sizeof(u64)); 223 32 * sizeof(u64));
148 } 224 }
@@ -164,10 +240,11 @@ static int genregs64_get(struct task_struct *target,
164 36 * sizeof(u64)); 240 36 * sizeof(u64));
165 } 241 }
166 242
167 if (!ret) 243 if (!ret) {
168 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf, 244 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
169 36 * sizeof(u64), -1); 245 36 * sizeof(u64), -1);
170 246
247 }
171 return ret; 248 return ret;
172} 249}
173 250
@@ -185,20 +262,19 @@ static int genregs64_set(struct task_struct *target,
185 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, 262 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
186 regs->u_regs, 263 regs->u_regs,
187 0, 16 * sizeof(u64)); 264 0, 16 * sizeof(u64));
188 if (!ret && count > 0) { 265 if (!ret && count && pos < (32 * sizeof(u64))) {
189 unsigned long __user *reg_window = (unsigned long __user *) 266 struct reg_window window;
190 (regs->u_regs[UREG_I6] + STACK_BIAS);
191 unsigned long window[16];
192 267
193 if (copy_from_user(window, reg_window, sizeof(window))) 268 if (regwindow64_get(target, regs, &window))
194 return -EFAULT; 269 return -EFAULT;
195 270
196 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, 271 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
197 window, 272 &window,
198 16 * sizeof(u64), 273 16 * sizeof(u64),
199 32 * sizeof(u64)); 274 32 * sizeof(u64));
275
200 if (!ret && 276 if (!ret &&
201 copy_to_user(reg_window, window, sizeof(window))) 277 regwindow64_set(target, regs, &window))
202 return -EFAULT; 278 return -EFAULT;
203 } 279 }
204 280
@@ -412,9 +488,22 @@ static int genregs32_get(struct task_struct *target,
412 *k++ = regs->u_regs[pos++]; 488 *k++ = regs->u_regs[pos++];
413 489
414 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 490 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
415 for (; count > 0 && pos < 32; count--) { 491 if (target == current) {
416 if (get_user(*k++, &reg_window[pos++])) 492 for (; count > 0 && pos < 32; count--) {
417 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 }
418 } 507 }
419 } else { 508 } else {
420 for (; count > 0 && pos < 16; count--) { 509 for (; count > 0 && pos < 16; count--) {
@@ -423,10 +512,28 @@ static int genregs32_get(struct task_struct *target,
423 } 512 }
424 513
425 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 514 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
426 for (; count > 0 && pos < 32; count--) { 515 if (target == current) {
427 if (get_user(reg, &reg_window[pos++]) || 516 for (; count > 0 && pos < 32; count--) {
428 put_user(reg, u++)) 517 if (get_user(reg, &reg_window[pos++]) ||
429 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 }
430 } 537 }
431 } 538 }
432 while (count > 0) { 539 while (count > 0) {
@@ -488,9 +595,23 @@ static int genregs32_set(struct task_struct *target,
488 regs->u_regs[pos++] = *k++; 595 regs->u_regs[pos++] = *k++;
489 596
490 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 597 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
491 for (; count > 0 && pos < 32; count--) { 598 if (target == current) {
492 if (put_user(*k++, &reg_window[pos++])) 599 for (; count > 0 && pos < 32; count--) {
493 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 }
494 } 615 }
495 } else { 616 } else {
496 for (; count > 0 && pos < 16; count--) { 617 for (; count > 0 && pos < 16; count--) {
@@ -500,10 +621,29 @@ static int genregs32_set(struct task_struct *target,
500 } 621 }
501 622
502 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; 623 reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
503 for (; count > 0 && pos < 32; count--) { 624 if (target == current) {
504 if (get_user(reg, u++) || 625 for (; count > 0 && pos < 32; count--) {
505 put_user(reg, &reg_window[pos++])) 626 if (get_user(reg, u++) ||
506 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 }
507 } 647 }
508 } 648 }
509 while (count > 0) { 649 while (count > 0) {
@@ -711,7 +851,7 @@ struct compat_fps {
711long compat_arch_ptrace(struct task_struct *child, compat_long_t request, 851long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
712 compat_ulong_t caddr, compat_ulong_t cdata) 852 compat_ulong_t caddr, compat_ulong_t cdata)
713{ 853{
714 const struct user_regset_view *view = task_user_regset_view(child); 854 const struct user_regset_view *view = task_user_regset_view(current);
715 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];
716 struct pt_regs32 __user *pregs; 856 struct pt_regs32 __user *pregs;
717 struct compat_fps __user *fps; 857 struct compat_fps __user *fps;
@@ -819,7 +959,7 @@ struct fps {
819 959
820long 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)
821{ 961{
822 const struct user_regset_view *view = task_user_regset_view(child); 962 const struct user_regset_view *view = task_user_regset_view(current);
823 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4]; 963 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4];
824 struct pt_regs __user *pregs; 964 struct pt_regs __user *pregs;
825 struct fps __user *fps; 965 struct fps __user *fps;
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c
index 94a9d64208ee..9d51956e8e2f 100644
--- a/arch/sparc64/kernel/signal.c
+++ b/arch/sparc64/kernel/signal.c
@@ -357,7 +357,7 @@ static int invalid_frame_pointer(void __user *fp, int fplen)
357static inline int 357static inline int
358save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) 358save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu)
359{ 359{
360 unsigned long *fpregs = (unsigned long *)(regs+1); 360 unsigned long *fpregs = current_thread_info()->fpregs;
361 unsigned long fprs; 361 unsigned long fprs;
362 int err = 0; 362 int err = 0;
363 363
diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c
index a0f000b293de..ae24919cba7c 100644
--- a/arch/sparc64/mm/tlb.c
+++ b/arch/sparc64/mm/tlb.c
@@ -23,11 +23,8 @@ 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; 26 struct mmu_gather *mp = &get_cpu_var(mmu_gathers);
27 27
28 preempt_disable();
29
30 mp = &__get_cpu_var(mmu_gathers);
31 if (mp->tlb_nr) { 28 if (mp->tlb_nr) {
32 flush_tsb_user(mp); 29 flush_tsb_user(mp);
33 30
@@ -43,7 +40,7 @@ void flush_tlb_pending(void)
43 mp->tlb_nr = 0; 40 mp->tlb_nr = 0;
44 } 41 }
45 42
46 preempt_enable(); 43 put_cpu_var(mmu_gathers);
47} 44}
48 45
49void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) 46void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig)
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 45d79ea890ae..5fed98ca0e1f 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 027e5c003b16..170d2f5523b2 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/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c
index 9b838324b818..b943e10ad814 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 235fd6c77504..36652ea1a265 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/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
index 236d2f8f7ddc..576a03db4511 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/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index faf3229f8fb3..700e4647dd30 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 be3c7a299f02..43930e73f657 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 3baf9b9f4c87..46c4c546b499 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/step.c b/arch/x86/kernel/step.c
index 9d406cdc847f..071ff4798236 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 022bcaa3b42e..ab6bf375a307 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 f14cfd9d1f94..c2241e04ea5f 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 947554ddabb6..d3bebaaad842 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/xen/enlighten.c b/arch/x86/xen/enlighten.c
index de4e6f05840b..27ee26aedf94 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -667,10 +667,10 @@ static void xen_release_pt_init(u32 pfn)
667 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn))); 667 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
668} 668}
669 669
670static void pin_pagetable_pfn(unsigned level, unsigned long pfn) 670static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
671{ 671{
672 struct mmuext_op op; 672 struct mmuext_op op;
673 op.cmd = level; 673 op.cmd = cmd;
674 op.arg1.mfn = pfn_to_mfn(pfn); 674 op.arg1.mfn = pfn_to_mfn(pfn);
675 if (HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF)) 675 if (HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF))
676 BUG(); 676 BUG();
@@ -687,7 +687,8 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
687 687
688 if (!PageHighMem(page)) { 688 if (!PageHighMem(page)) {
689 make_lowmem_page_readonly(__va(PFN_PHYS(pfn))); 689 make_lowmem_page_readonly(__va(PFN_PHYS(pfn)));
690 pin_pagetable_pfn(level, pfn); 690 if (level == PT_PTE)
691 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn);
691 } else 692 } else
692 /* make sure there are no stray mappings of 693 /* make sure there are no stray mappings of
693 this page */ 694 this page */
@@ -697,27 +698,39 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
697 698
698static void xen_alloc_pt(struct mm_struct *mm, u32 pfn) 699static void xen_alloc_pt(struct mm_struct *mm, u32 pfn)
699{ 700{
700 xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L1_TABLE); 701 xen_alloc_ptpage(mm, pfn, PT_PTE);
701} 702}
702 703
703static void xen_alloc_pd(struct mm_struct *mm, u32 pfn) 704static void xen_alloc_pd(struct mm_struct *mm, u32 pfn)
704{ 705{
705 xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L2_TABLE); 706 xen_alloc_ptpage(mm, pfn, PT_PMD);
706} 707}
707 708
708/* 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 */
709static void xen_release_pt(u32 pfn) 710static void xen_release_ptpage(u32 pfn, unsigned level)
710{ 711{
711 struct page *page = pfn_to_page(pfn); 712 struct page *page = pfn_to_page(pfn);
712 713
713 if (PagePinned(page)) { 714 if (PagePinned(page)) {
714 if (!PageHighMem(page)) { 715 if (!PageHighMem(page)) {
715 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn); 716 if (level == PT_PTE)
717 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
716 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn))); 718 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
717 } 719 }
720 ClearPagePinned(page);
718 } 721 }
719} 722}
720 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
721#ifdef CONFIG_HIGHPTE 734#ifdef CONFIG_HIGHPTE
722static 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)
723{ 736{
@@ -838,7 +851,7 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
838 pv_mmu_ops.alloc_pt = xen_alloc_pt; 851 pv_mmu_ops.alloc_pt = xen_alloc_pt;
839 pv_mmu_ops.alloc_pd = xen_alloc_pd; 852 pv_mmu_ops.alloc_pd = xen_alloc_pd;
840 pv_mmu_ops.release_pt = xen_release_pt; 853 pv_mmu_ops.release_pt = xen_release_pt;
841 pv_mmu_ops.release_pd = xen_release_pt; 854 pv_mmu_ops.release_pd = xen_release_pd;
842 pv_mmu_ops.set_pte = xen_set_pte; 855 pv_mmu_ops.set_pte = xen_set_pte;
843 856
844 setup_shared_info(); 857 setup_shared_info();
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 0144395448ae..2a054ef2a3da 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 c9ff27f3ac3a..b5e189b1519d 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/block/blk-settings.c b/block/blk-settings.c
index 1344a0ea5cc6..5713f7e5cbd2 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 0f962ecae91f..f4e1006c253d 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 2feb0f239c38..b63b633e549c 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/processor_core.c b/drivers/acpi/processor_core.c
index 36a68fa114e3..a825b431b64f 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/sleep/main.c b/drivers/acpi/sleep/main.c
index d2f71a54726c..71183eea7906 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 c4e00ac8ea85..1bcecc7dd2ca 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 12fb44f16766..980a74188781 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/libata-core.c b/drivers/ata/libata-core.c
index c4248b37ff64..be95fdb69726 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}
@@ -2660,7 +2698,7 @@ int ata_bus_probe(struct ata_port *ap)
2660 specific sequence bass-ackwards so that PDIAG- is released by 2698 specific sequence bass-ackwards so that PDIAG- is released by
2661 the slave device */ 2699 the slave device */
2662 2700
2663 ata_link_for_each_dev(dev, &ap->link) { 2701 ata_link_for_each_dev_reverse(dev, &ap->link) {
2664 if (tries[dev->devno]) 2702 if (tries[dev->devno])
2665 dev->class = classes[dev->devno]; 2703 dev->class = classes[dev->devno];
2666 2704
@@ -7774,6 +7812,7 @@ EXPORT_SYMBOL_GPL(ata_tf_read);
7774EXPORT_SYMBOL_GPL(ata_noop_dev_select); 7812EXPORT_SYMBOL_GPL(ata_noop_dev_select);
7775EXPORT_SYMBOL_GPL(ata_std_dev_select); 7813EXPORT_SYMBOL_GPL(ata_std_dev_select);
7776EXPORT_SYMBOL_GPL(sata_print_link_status); 7814EXPORT_SYMBOL_GPL(sata_print_link_status);
7815EXPORT_SYMBOL_GPL(atapi_cmd_type);
7777EXPORT_SYMBOL_GPL(ata_tf_to_fis); 7816EXPORT_SYMBOL_GPL(ata_tf_to_fis);
7778EXPORT_SYMBOL_GPL(ata_tf_from_fis); 7817EXPORT_SYMBOL_GPL(ata_tf_from_fis);
7779EXPORT_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 681252fd8143..a5830329eda4 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/pata_ali.c b/drivers/ata/pata_ali.c
index 8786455c901d..ce830fe3a362 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_sil680.c b/drivers/ata/pata_sil680.c
index 503245a1eafa..7c5b2dd9a1a1 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 07791a7a48a5..9d1e3cad4aa9 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/atm/firestream.c b/drivers/atm/firestream.c
index 47c57a4294b7..98099f526d82 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 2e3395b7e8c1..ffc4a5a41946 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 b967919fb7e2..28d77b5195de 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 ef52452640e0..670c093ed25f 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/block/cciss.c b/drivers/block/cciss.c
index 55bd35c0f082..9c9627e8e334 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 b53fdb0a282c..60cc54368b66 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 c452e2d355ee..27bfe72aab59 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/char/drm/ati_pcigart.c b/drivers/char/drm/ati_pcigart.c
index 35d25d821c38..141f4dfa0a11 100644
--- a/drivers/char/drm/ati_pcigart.c
+++ b/drivers/char/drm/ati_pcigart.c
@@ -168,6 +168,12 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
168 } 168 }
169 } 169 }
170 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
171 ret = 1; 177 ret = 1;
172 178
173#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 26d8f675ed5d..b2b0f3d41714 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 3d65c4dcd0c6..945df72a51a9 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 e9d6663bec73..a043bb12301a 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 c10d128e34db..675d88bda066 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 0f4afc44245c..f535812e4057 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 71e5b21fad2c..aab82e121e07 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 78b34fa7c89a..4af5286a36fb 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 465ad35ed38f..1399971be689 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/ip2/i2lib.c b/drivers/char/ip2/i2lib.c
index d6567b32fb5c..9c25320121ef 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 46b2a1cc8b54..0c09409fa45d 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 6d0dc5f9b6bb..6a6843a0a674 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 991119c9f473..9b52892a501f 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 a4f0b1e3e7fa..cfa54361473f 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/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c
index 3110bf7014f7..81f3f950cd7d 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 72692309398a..df163687c91a 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 fddd6aee2a63..6faf07ba0d0e 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 0fa8a98051a8..9e922760b7ff 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 996d61f0d460..ca6d51efd8bb 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 4072449ad1cd..c5e3ed7e903b 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 5c85670e2d16..f942ecdd47c8 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/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
index cce5a614758d..fde26345a379 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 7c7eb0cfeceb..22bb247d0e60 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-tiny-usb.c b/drivers/i2c/busses/i2c-tiny-usb.c
index cb9abe7565a7..b1c050ff311d 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/ide/arm/ide_arm.c b/drivers/ide/arm/ide_arm.c
index 43a70e91363e..be9ff7334c52 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 e79bf8f9b7db..c8ffbaf29a88 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 520aec075700..4108ec4ffa7f 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 c419266234a7..e77cee0e5d65 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 b163b2e52212..c14bb5380c25 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 194ecb0049eb..47a114927c31 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 50ffa871d5e9..fdd3791e465f 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 8949ce71bddc..e950afa5939c 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 b7d81090d5da..e3b4638cc883 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 9a79098d9eb4..eaf5dbe58bc2 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 1381b91bc316..2da28759686e 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 ec667982809c..29fbc5ead03b 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 cc4be9621bc0..8d624afe8529 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 38fbfb8d5445..ebaba01c7551 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 78c9eeb85634..d9ca52e6cdab 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 a58ad8a470f9..781ea5950373 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 4df405157086..faa7ce318a6d 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 34507daaf9b6..d81c156a22b4 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/input/apm-power.c b/drivers/input/apm-power.c
index c36d110b349a..7d61a9660806 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 0727b0a12557..b32984bc516f 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 22b2789ef58a..65d7077a75a1 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 6224c2fb3b65..4e651c11c1da 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/mouse/appletouch.c b/drivers/input/mouse/appletouch.c
index b4423a471f02..8dd3942f3022 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 bbbe5e81adc1..b989748598ae 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 6c0a9c4761ee..4c0b05852cb6 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/lguest_user.c b/drivers/lguest/lguest_user.c
index 564e425d71dd..645e6e040bfb 100644
--- a/drivers/lguest/lguest_user.c
+++ b/drivers/lguest/lguest_user.c
@@ -189,7 +189,7 @@ static int initialize(struct file *file, const unsigned long __user *input)
189 } 189 }
190 190
191 /* Populate the easy fields of our "struct lguest" */ 191 /* Populate the easy fields of our "struct lguest" */
192 lg->mem_base = (void __user *)(long)args[0]; 192 lg->mem_base = (void __user *)args[0];
193 lg->pfn_limit = args[1]; 193 lg->pfn_limit = args[1];
194 194
195 /* This is the first cpu (cpu 0) and it will start booting at args[3] */ 195 /* This is the first cpu (cpu 0) and it will start booting at args[3] */
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index c574cf5efb5c..b162b839a662 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 8cf91353b56a..7b8bb6949f5e 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 168a8d3a5e55..7707b8c7394b 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 f0703d8bc3e8..171afe7da6b6 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 ed3f8268ed11..4c8b62e2c035 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 819433485d3b..1a4d8319773c 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 34e317ced5a3..57b9e3adc8f0 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 cbab53fc6243..fea2e723e34b 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 0d0c554bfdf7..10d4d89623f1 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 12d1b9248be5..e663cc045c41 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 e1028a76c042..7dee2e3235ad 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 a51876137880..f92f06dec0d0 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 a080c149cc6c..fcf8f2d208a8 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 2d414dad5c31..dfa269838e01 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 8e40c7bcc06d..7f10b273598f 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 566e479e2629..9ceb6b2f3949 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 58bab653330f..74fd6a01d4c4 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 add6d0d680be..cb5a510f9251 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 46f156fb108c..5a3e8d21a38a 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 4df6d6d936fc..fe9991c10cf4 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 41ae980405ed..d6955fa39598 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 ce3c8982ffe0..a9889ff96ecc 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 f782418afa45..c572212c9f15 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 f991d72fe108..e0a453a6543d 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 061134a7ba9f..1df2602cd184 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 7ae2d646d000..a0772c53bb1f 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 677df51de1a9..bf91a4faa706 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 66cc92c0ea66..41f70440fd3b 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 ef494febb5e4..bdca5d278978 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 523df0b8cc63..df2fad9f391e 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 ca05cd655087..4ff6c63f7237 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 d28318cb2b8d..b6e24e714a23 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 a545dcaf857f..0e4549922f26 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 dd3d7d2c8b0e..fea4946ee713 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 1b44784d0efb..04949c823654 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/mfd/asic3.c b/drivers/mfd/asic3.c
index 63fb1ff3ad10..f6f2d960cadb 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 1cfd7f3f1294..e2e7c05a147b 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 4f9d4a9da983..b5f6add34b0b 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 c884730c5eaf..1bfe5d16963b 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 47794d23a42e..0080452531d6 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 d072e87ce4e2..458d477614d6 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 b344ff858b2d..492e2ab27420 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/net/Kconfig b/drivers/net/Kconfig
index fe7b5ec09708..3a0b20afec7b 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/bfin_mac.c b/drivers/net/bfin_mac.c
index c993a32b3f50..26b2dd5016cd 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 de32b3fba322..7bdb5af35951 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.42.3" 66#define DRV_MODULE_VERSION "1.42.4"
67#define DRV_MODULE_RELDATE "2008/3/9" 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
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 90a1f31e8e63..979c2d05ff9c 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/dm9000.c b/drivers/net/dm9000.c
index b09a53de1c53..d63cc93f055d 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -968,7 +968,7 @@ dm9000_interrupt(int irq, void *dev_id)
968struct dm9000_rxhdr { 968struct dm9000_rxhdr {
969 u8 RxPktReady; 969 u8 RxPktReady;
970 u8 RxStatus; 970 u8 RxStatus;
971 u16 RxLen; 971 __le16 RxLen;
972} __attribute__((__packed__)); 972} __attribute__((__packed__));
973 973
974/* 974/*
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
index 58b71e60204e..fe59c27c09e3 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 6a3ac4ea97e9..1d0cd1dd955e 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 6f7e3fde9e7c..419f533006ab 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 0789802d59ed..378a23963495 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/phy/marvell.c b/drivers/net/phy/marvell.c
index 33539917e9b8..32a8503a7acd 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -211,8 +211,6 @@ static int m88e1111_config_init(struct phy_device *phydev)
211 } 211 }
212 212
213 if (phydev->interface == PHY_INTERFACE_MODE_SGMII) { 213 if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
214 int temp;
215
216 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); 214 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
217 if (temp < 0) 215 if (temp < 0)
218 return temp; 216 return temp;
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index fee3d7b1feba..1e965427b0e9 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/s2io.c b/drivers/net/s2io.c
index 3c915b82e199..c082cf0b1ac6 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";
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 54c662690f65..853bce0ac478 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/smc91x.h b/drivers/net/smc91x.h
index 98a832a75539..51d4134b37b1 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -92,14 +92,14 @@
92#define SMC_insw(a, r, p, l) insw ((unsigned long *)((a) + (r)), p, l) 92#define SMC_insw(a, r, p, l) insw ((unsigned long *)((a) + (r)), p, l)
93# endif 93# endif
94/* check if the mac in reg is valid */ 94/* check if the mac in reg is valid */
95#define SMC_GET_MAC_ADDR(lp, addr) \ 95#define SMC_GET_MAC_ADDR(addr) \
96 do { \ 96 do { \
97 unsigned int __v; \ 97 unsigned int __v; \
98 __v = SMC_inw(ioaddr, ADDR0_REG(lp)); \ 98 __v = SMC_inw(ioaddr, ADDR0_REG); \
99 addr[0] = __v; addr[1] = __v >> 8; \ 99 addr[0] = __v; addr[1] = __v >> 8; \
100 __v = SMC_inw(ioaddr, ADDR1_REG(lp)); \ 100 __v = SMC_inw(ioaddr, ADDR1_REG); \
101 addr[2] = __v; addr[3] = __v >> 8; \ 101 addr[2] = __v; addr[3] = __v >> 8; \
102 __v = SMC_inw(ioaddr, ADDR2_REG(lp)); \ 102 __v = SMC_inw(ioaddr, ADDR2_REG); \
103 addr[4] = __v; addr[5] = __v >> 8; \ 103 addr[4] = __v; addr[5] = __v >> 8; \
104 if (*(u32 *)(&addr[0]) == 0xFFFFFFFF) { \ 104 if (*(u32 *)(&addr[0]) == 0xFFFFFFFF) { \
105 random_ether_addr(addr); \ 105 random_ether_addr(addr); \
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index c49214feae91..7b7b1717b0d1 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/tg3.c b/drivers/net/tg3.c
index f9ef8bd8b11e..d4655b2d1f3f 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 3938eb35ce8c..c1075a73d66c 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 433c994ea9d8..0ab51a0f35fc 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/tulip/eeprom.c b/drivers/net/tulip/eeprom.c
index 206918bad539..da2206f6021d 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 ed600bf56e78..82f404b76d81 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 a12c9c41b217..0604f3faf043 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 0343b00cf1fd..01660f68943a 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -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 }
diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index d1ed68a11e70..b588c890ea70 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/virtio_net.c b/drivers/net/virtio_net.c
index b58472cf76f8..555b70c8b863 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 fb37b8095231..824df3b5ea49 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/b43/dma.c b/drivers/net/wireless/b43/dma.c
index cfbc1a26f601..948eb1fe916b 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -619,6 +619,7 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring,
619 } 619 }
620 620
621 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) { 621 if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
622 b43err(ring->dev->wl, "RX DMA buffer allocation failed\n");
622 dev_kfree_skb_any(skb); 623 dev_kfree_skb_any(skb);
623 return -EIO; 624 return -EIO;
624 } 625 }
@@ -874,8 +875,12 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
874 DMA_TO_DEVICE); 875 DMA_TO_DEVICE);
875 876
876 if (b43_dma_mapping_error(ring, dma_test, 877 if (b43_dma_mapping_error(ring, dma_test,
877 b43_txhdr_size(dev), 1)) 878 b43_txhdr_size(dev), 1)) {
879
880 b43err(dev->wl,
881 "TXHDR DMA allocation failed\n");
878 goto err_kfree_txhdr_cache; 882 goto err_kfree_txhdr_cache;
883 }
879 } 884 }
880 885
881 dma_unmap_single(dev->dev->dev, 886 dma_unmap_single(dev->dev->dev,
diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c
index b79a6bd5396d..371e4a119511 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 49978bdb4324..4fd73809602e 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 e7afc3ec3e6d..921c984416f8 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 ad040a3bb8a7..0acd9589c48c 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 a56d9fc6354f..98d6ff69d375 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 b79a35a40ab6..b54ff712e703 100644
--- a/drivers/net/wireless/iwlwifi/Kconfig
+++ b/drivers/net/wireless/iwlwifi/Kconfig
@@ -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.
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index d727de8b96fe..65767570be68 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/libertas/assoc.c b/drivers/net/wireless/libertas/assoc.c
index 87e145ffe8f1..6a24ed6067e0 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 5a9cadb97503..038c66a98f15 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 bd305f7f3efd..e873a39fcce3 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 93ea212fedd5..ad2e7d53b3da 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/parport/parport_pc.c b/drivers/parport/parport_pc.c
index d76d37bcb9cc..a85808938205 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/rtc/Kconfig b/drivers/rtc/Kconfig
index 9e7de63b26ef..02a4c8cf2b2d 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 d3b9b14267ab..42244f14b41c 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 33795e5a5595..52abffc86bcd 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 d90ba860d216..4f28045d9ef2 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 f3ee2ad566b4..b48517021ee6 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 83efb88f8f23..0b17770b032b 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 d74b8086fa31..d08912f18ddd 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 d9e848dcd450..a19f11415540 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 2e73f0b183b2..24d35ede2dbf 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 ef4f147f3c0c..1e99325270df 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 cd0bbc0e8038..013e6c103b9c 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 8ff4a1221f59..3f7f99a5d96a 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 a2f84f169588..58f81c774943 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 66eb133bf5fd..664e89a817ed 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 86766f1f2496..9f4d5129a496 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 ee253cc45de1..82f62d25f921 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 c1d6a1880ccf..9e9caa5d7f5f 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 a265da7c6ff8..31d3c8c28588 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 a6b572978dc0..24203a06051a 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 ce2f78de7a80..be9c70d0b193 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 880c78bff0e1..ed7e0a1fc34d 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 31b9af224243..709a6f75ca9d 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 5ec0665b3a3d..e55b9037adb2 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 e5c6f6af8765..c78b836f59dd 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 b9b09a704584..ed83cdb6e67d 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 a8bec498cad6..f97224ce59da 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 d57bf3e708d8..430997e33fc4 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/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index 85687aaf9cab..1749a27be066 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 41a3d00c4515..072c4a595334 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 a86315a0c5b8..90729469d481 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 a6ba11afb03f..b1cc148036c1 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 8245b5153f30..5f00bd6500ef 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 59deed79e0ab..147e26a78d64 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 d853fceb6bf0..a9ac1fdb3094 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 1b0647124933..d4ba640366b6 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 04f7cd9fc261..be15a6213205 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 6e834b8b9d27..e75103aac790 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 82ae7d7eca38..e33f6145c560 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 3dbe71b16d60..7d36720eb982 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 363ac8e68821..2296f37ea3c6 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 5d04f520c123..cf6aef34fe25 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 3d3dd32bf3ab..a9e7eb45b2e7 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 74b9a8aea52b..5d777f211699 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 bedb2b4ee9d2..72017bf2e577 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/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index a83e8b798ec9..fd15ced899d8 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 af8b2a3a2d4a..b0db4c31d018 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 63e8fa3a69e1..254012ad2b91 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/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 37243ef7104e..078f72467671 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 835948f0715a..ee6b35fa870f 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 e6d68bda428a..ee1e9a314cd1 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 096c41cc40d1..c00cd8b9d3d1 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 aadc4204d6f9..6b1ef488043b 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 40e8240b7851..4e065e556e4b 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/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index d7071c855758..203a3359a648 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 126fcbdd6408..d72dc07dda01 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 663a0600b6e7..f90fe0c7373f 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 a68ce9d3c525..156e93a9d0df 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 dd4798ee028e..33f1c1c32edf 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 4a043abd85ea..13c12ed22252 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 74e1f4be10bb..7bfca1ed1b58 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 6c52c66b659f..28b458f20cc3 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 85fdfd2a7ad0..605d59cba28e 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 f95be1896b0d..523c30125577 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 ff9a79843471..8ad9b3b604b5 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 51817322232b..9c9f3b59186f 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 44b79e8a6e25..ead4772f0f27 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 5309ac039e15..e7ee607278fe 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 a97070142869..4ea92762fb28 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 0ce2fc5e396b..9f80e5285575 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 59be276ccd9d..629bca0ebe8f 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 3033d6945202..8e117a795e93 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 da922dfc0dcc..b6b5b2affad1 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 f3ca66017a03..324bb61d68ff 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 8a0d17401529..74ce8bca3e66 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/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index b517f93352ec..e3d241f67afc 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 22b3f78a388c..c2b01f7c3197 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/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 6c8ecde6aad1..c0df924766a7 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
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index aa714028641e..c2fa5c630813 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 fb5ed6478f78..ae0fca5e8749 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 a684b1e87372..9ff9a9565320 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 a61cbd48dc07..1782c79eff06 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 1efcad3b6fca..445b7e812112 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 e3a29c302309..df5a6b811ccd 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 6369f569517f..b16c5cd972eb 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 0d2b27735419..009573b81496 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 10b89f2703bd..a8e67383784e 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 0365c317f7e1..b59ca3273967 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 635ca454f56b..74bc39aa1ce8 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 b04aa096a10a..6b8483d3c783 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 7645e8812156..98532c0e0689 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 328b3c7211ef..57cefef27ce3 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 ea94dbabf9a9..d85dc6d41c2a 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/afs/cell.c b/fs/afs/cell.c
index 788865df1bc9..584bb0f9c36a 100644
--- a/fs/afs/cell.c
+++ b/fs/afs/cell.c
@@ -138,6 +138,7 @@ struct afs_cell *afs_cell_create(const char *name, char *vllist)
138 cell = afs_cell_alloc(name, vllist); 138 cell = afs_cell_alloc(name, vllist);
139 if (IS_ERR(cell)) { 139 if (IS_ERR(cell)) {
140 _leave(" = %ld", PTR_ERR(cell)); 140 _leave(" = %ld", PTR_ERR(cell));
141 up_write(&afs_cells_sem);
141 return cell; 142 return cell;
142 } 143 }
143 144
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 9ba16edc0af2..eec41c76de72 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -749,7 +749,7 @@ extern int afs_fsync(struct file *, struct dentry *, int);
749extern unsigned afs_debug; 749extern unsigned afs_debug;
750 750
751#define dbgprintk(FMT,...) \ 751#define dbgprintk(FMT,...) \
752 printk("[%x%-6.6s] "FMT"\n", smp_processor_id(), current->comm ,##__VA_ARGS__) 752 printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
753 753
754/* 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 */
755static inline __attribute__((format(printf,1,2))) 755static inline __attribute__((format(printf,1,2)))
diff --git a/fs/aio.c b/fs/aio.c
index 6af921940622..228368610dfa 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/buffer.c b/fs/buffer.c
index 98196327ddf0..39ff14403d13 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
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index 1f5a4289b848..1cb5b0a9f2ac 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 79e19e5958e1..a8e7797b9477 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/hfsplus/dir.c b/fs/hfsplus/dir.c
index 29683645fa0a..5f4023678251 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/jbd/journal.c b/fs/jbd/journal.c
index 9816293442ab..0e081d5f32e8 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 ad2eacf570c6..d5f8eee7c88c 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 96ba846992e9..954cff001df6 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 df36f42e19e1..2e1453a5e998 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/nfs/file.c b/fs/nfs/file.c
index ef57a5ae5904..5d2e9d9a4e28 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 a4c7cf2bff3a..6f88d7c77ac9 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/open.c b/fs/open.c
index a4b12022edaa..3fa4e4ffce4c 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
@@ -1067,7 +1067,7 @@ asmlinkage long sys_open(const char __user *filename, int flags, int mode)
1067 1067
1068 ret = do_sys_open(AT_FDCWD, filename, flags, mode); 1068 ret = do_sys_open(AT_FDCWD, filename, flags, mode);
1069 /* avoid REGPARM breakage on x86: */ 1069 /* avoid REGPARM breakage on x86: */
1070 prevent_tail_call(ret); 1070 asmlinkage_protect(3, ret, filename, flags, mode);
1071 return ret; 1071 return ret;
1072} 1072}
1073 1073
@@ -1081,7 +1081,7 @@ asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
1081 1081
1082 ret = do_sys_open(dfd, filename, flags, mode); 1082 ret = do_sys_open(dfd, filename, flags, mode);
1083 /* avoid REGPARM breakage on x86: */ 1083 /* avoid REGPARM breakage on x86: */
1084 prevent_tail_call(ret); 1084 asmlinkage_protect(4, ret, dfd, filename, flags, mode);
1085 return ret; 1085 return ret;
1086} 1086}
1087 1087
diff --git a/fs/reiserfs/do_balan.c b/fs/reiserfs/do_balan.c
index f85c5cf4934c..7ee4208793b6 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 0ee35c6c9b72..07d05e0842b7 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 281f8061ac58..6de060a6aa7f 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 b378eea332ca..8867533cb727 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/signalfd.c b/fs/signalfd.c
index cb2b63ae0bf4..8ead0db35933 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 fae8e85af0ed..6bd9b691a463 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 0670c915cd35..eeb1a86a7014 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/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c
index a9952e490ac9..f34bd010eb51 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 1f3da5b8657b..8e9c5ae6504d 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 97bb32937585..f4f6c4c861d7 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 2cc5886cfe85..d2b8be7e75f9 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 b08e2a2a8add..96ba6aa4ed8c 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 1c0a5a585a82..2def273855a2 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 2d950e975918..cd0d4b4bb816 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 be7c4251fa61..e92e73f0e6af 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 eadc1591c795..d3a0f538d6a6 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 db9d5fa600af..5a146cb22980 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 a550546a7083..f43a6e01d68f 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 034ca7202295..2c775b4ae9e6 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 658aab6b1bbf..f615e04364f4 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 a75edca1860f..31f2b04f2c97 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 e008233ee249..c6244cc733c0 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 b82d5d4d2462..b2b70eba282c 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 6409b3762995..8ed164eb9544 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 94660b1a6ccc..d904efe7f871 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 45d740df53b7..18a85e746680 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 7321304a69cc..7094caff13cf 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 51305242ff8c..64c5953feca4 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 8d88a13c1bec..094d285a1b34 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 75a1aff5b57b..db351d1296f4 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 000000000000..b9daec429689
--- /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 d5b10ef64364..d31fd49ff79a 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 000000000000..cb3c08cbcb9e
--- /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/kvm.h b/include/asm-avr32/kvm.h
new file mode 100644
index 000000000000..8c5777020e2c
--- /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 000000000000..e3477d77c014
--- /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 000000000000..c860f51149f0
--- /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 000000000000..9c8a4f08d0a9
--- /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 83532252b8be..734a1d0583b6 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 6c0682ed5fc9..4e219046fe42 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 c2a541ef828d..01e6af5e99b8 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 b400cea81487..30a67a9da11a 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 fd9dcfd91c39..92a6d91d0c1a 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 000000000000..bdbed7b987e1
--- /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 000000000000..030d29b4b26b
--- /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 000000000000..99a40515b77e
--- /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 000000000000..7ed27fce5240
--- /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 000000000000..b49d4258dabb
--- /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 01e7eadc97e2..d5c0f2fda51b 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 000000000000..093a5b7f796b
--- /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 cb18af989645..5bb57bf2b9d7 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 ed5fd7390678..72213e3d02c7 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 000000000000..f6b609ff4a57
--- /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 000000000000..00cc45812547
--- /dev/null
+++ b/include/asm-parisc/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_PARISC_H
2#define __LINUX_KVM_PARISC_H
3
4/* parisc does not support KVM */
5
6#endif
diff --git a/include/asm-powerpc/kvm.h b/include/asm-powerpc/kvm.h
new file mode 100644
index 000000000000..d1b530fbf8dd
--- /dev/null
+++ b/include/asm-powerpc/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_POWERPC_H
2#define __LINUX_KVM_POWERPC_H
3
4/* powerpc does not support KVM */
5
6#endif
diff --git a/include/asm-s390/kvm.h b/include/asm-s390/kvm.h
new file mode 100644
index 000000000000..573f2a351386
--- /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 59fbfdc90dfb..000000000000
--- 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 f8429880a270..91462fea1507 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 000000000000..6af51dbab2d0
--- /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 19fe47c1ca17..ec707b98e5b9 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 df2d5b039ef4..c09305d6a9d9 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 eda4bef448e9..88a2edf8fa5d 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 000000000000..2e5478da3819
--- /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/kvm.h b/include/asm-sparc64/kvm.h
new file mode 100644
index 000000000000..380537a77bf9
--- /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-um/kvm.h b/include/asm-um/kvm.h
new file mode 100644
index 000000000000..66aa77094551
--- /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 000000000000..3f729b79febc
--- /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/irqflags.h b/include/asm-x86/irqflags.h
index 92021c1ffa3a..0e2292483b35 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/linkage.h b/include/asm-x86/linkage.h
index 31739c7d66a9..c048353f4b85 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/nops.h b/include/asm-x86/nops.h
index e3b2bce0aff8..b3930ae539b3 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-xtensa/kvm.h b/include/asm-xtensa/kvm.h
new file mode 100644
index 000000000000..bda4e331e98c
--- /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 4a446a19295e..9cdd12a9e843 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -253,7 +253,7 @@ unifdef-y += kd.h
253unifdef-y += kernelcapi.h 253unifdef-y += kernelcapi.h
254unifdef-y += kernel.h 254unifdef-y += kernel.h
255unifdef-y += keyboard.h 255unifdef-y += keyboard.h
256unifdef-$(CONFIG_HAVE_KVM) += kvm.h 256unifdef-y += kvm.h
257unifdef-y += llc.h 257unifdef-y += llc.h
258unifdef-y += loop.h 258unifdef-y += loop.h
259unifdef-y += lp.h 259unifdef-y += lp.h
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 028ba3b523b1..a6a6035a4e1e 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 a671dbff7a1f..8fa7857e153b 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/dmaengine.h b/include/linux/dmaengine.h
index 261e43a4c873..34d440698293 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/hpet.h b/include/linux/hpet.h
index 9cd94bfd07e5..2dc29ce6c8e4 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 a3b69c10d667..bc26b2f27359 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 1bdc39a8c76c..cae2c35d1206 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 1b4ccf25b4d2..cac4b364cd40 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/libata.h b/include/linux/libata.h
index 269cdba09578..37ee881c42ac 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 {
@@ -849,6 +850,7 @@ extern unsigned int ata_dev_try_classify(struct ata_device *dev, int present,
849 */ 850 */
850extern 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);
851extern 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);
852extern void ata_tf_to_fis(const struct ata_taskfile *tf, 854extern void ata_tf_to_fis(const struct ata_taskfile *tf,
853 u8 pmp, int is_cmd, u8 *fis); 855 u8 pmp, int is_cmd, u8 *fis);
854extern 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);
@@ -1379,27 +1381,6 @@ static inline int ata_try_flush_cache(const struct ata_device *dev)
1379 ata_id_has_flush_ext(dev->id); 1381 ata_id_has_flush_ext(dev->id);
1380} 1382}
1381 1383
1382static inline int atapi_cmd_type(u8 opcode)
1383{
1384 switch (opcode) {
1385 case GPCMD_READ_10:
1386 case GPCMD_READ_12:
1387 return ATAPI_READ;
1388
1389 case GPCMD_WRITE_10:
1390 case GPCMD_WRITE_12:
1391 case GPCMD_WRITE_AND_VERIFY_10:
1392 return ATAPI_WRITE;
1393
1394 case GPCMD_READ_CD:
1395 case GPCMD_READ_CD_MSF:
1396 return ATAPI_READ_CD;
1397
1398 default:
1399 return ATAPI_MISC;
1400 }
1401}
1402
1403static inline unsigned int ac_err_mask(u8 status) 1384static inline unsigned int ac_err_mask(u8 status)
1404{ 1385{
1405 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 0592936344c4..2119610b24f8 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/netdevice.h b/include/linux/netdevice.h
index a2f003239c85..ee81906b5164 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/pnp.h b/include/linux/pnp.h
index 29dd55838e84..b2f05c230f4b 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/virtio.h b/include/linux/virtio.h
index 12c18ac1b973..e7d10845b3c1 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 f5024583fc8b..7940da1606e7 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 4a8f58b17e43..75b8e2968c9b 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 2c56dbece729..ed25bec2f648 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/tcp.h b/include/net/tcp.h
index 7de4ea3a04d9..4fd3eb2f8ec2 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/kernel/cgroup.c b/kernel/cgroup.c
index e9c2fb01e89b..2727f9238359 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 53872bf993fa..073005b1cfb2 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/futex.c b/kernel/futex.c
index 87a6428cb5b6..e43945e995f5 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:
diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
index ff90f049f8f6..04ac3a9e42cf 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 041c33e3e95c..005b95954593 100644
--- a/kernel/marker.c
+++ b/kernel/marker.c
@@ -671,6 +671,9 @@ int marker_probe_register(const char *name, const char *format,
671 entry->rcu_pending = 1; 671 entry->rcu_pending = 1;
672 /* write rcu_pending before calling the RCU callback */ 672 /* write rcu_pending before calling the RCU callback */
673 smp_wmb(); 673 smp_wmb();
674#ifdef CONFIG_PREEMPT_RCU
675 synchronize_sched(); /* Until we have the call_rcu_sched() */
676#endif
674 call_rcu(&entry->rcu, free_old_closure); 677 call_rcu(&entry->rcu, free_old_closure);
675end: 678end:
676 mutex_unlock(&markers_mutex); 679 mutex_unlock(&markers_mutex);
@@ -714,6 +717,9 @@ int marker_probe_unregister(const char *name,
714 entry->rcu_pending = 1; 717 entry->rcu_pending = 1;
715 /* write rcu_pending before calling the RCU callback */ 718 /* write rcu_pending before calling the RCU callback */
716 smp_wmb(); 719 smp_wmb();
720#ifdef CONFIG_PREEMPT_RCU
721 synchronize_sched(); /* Until we have the call_rcu_sched() */
722#endif
717 call_rcu(&entry->rcu, free_old_closure); 723 call_rcu(&entry->rcu, free_old_closure);
718 remove_marker(name); /* Ignore busy error message */ 724 remove_marker(name); /* Ignore busy error message */
719 ret = 0; 725 ret = 0;
@@ -792,6 +798,9 @@ int marker_probe_unregister_private_data(marker_probe_func *probe,
792 entry->rcu_pending = 1; 798 entry->rcu_pending = 1;
793 /* write rcu_pending before calling the RCU callback */ 799 /* write rcu_pending before calling the RCU callback */
794 smp_wmb(); 800 smp_wmb();
801#ifdef CONFIG_PREEMPT_RCU
802 synchronize_sched(); /* Until we have the call_rcu_sched() */
803#endif
795 call_rcu(&entry->rcu, free_old_closure); 804 call_rcu(&entry->rcu, free_old_closure);
796 remove_marker(entry->name); /* Ignore busy error message */ 805 remove_marker(entry->name); /* Ignore busy error message */
797end: 806end:
diff --git a/kernel/uid16.c b/kernel/uid16.c
index dd308ba4e03b..3e41c1673e2f 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/kobject_uevent.c b/lib/kobject_uevent.c
index 5a402e2982af..5b6d7f6956b9 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/lzo/lzo1x_decompress.c b/lib/lzo/lzo1x_decompress.c
index 9dc7056e5520..77f0f9b775a9 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 ec7f81d3fb18..ca87d86992bd 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/memcontrol.c b/mm/memcontrol.c
index 9b648bd63451..2e0bfc93484b 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/slub.c b/mm/slub.c
index 84ed734b96b3..acc975fcc8cc 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2688,7 +2688,7 @@ void kfree(const void *x)
2688} 2688}
2689EXPORT_SYMBOL(kfree); 2689EXPORT_SYMBOL(kfree);
2690 2690
2691#if defined(SLUB_DEBUG) || defined(CONFIG_SLABINFO) 2691#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SLABINFO)
2692static unsigned long count_partial(struct kmem_cache_node *n) 2692static unsigned long count_partial(struct kmem_cache_node *n)
2693{ 2693{
2694 unsigned long flags; 2694 unsigned long flags;
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index cd75b21dd4c3..99c4f36eb8a3 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/net/8021q/vlan.c b/net/8021q/vlan.c
index dbc81b965096..b33410abfd6b 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 73efcc715ccb..51271aea402b 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 480ea90e7dcd..41a76a05e6fd 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -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 146cfb0e9882..9671aa51af2c 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/atm/lec.c b/net/atm/lec.c
index a2efa7ff41f1..3235c57615e4 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;
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
index 1220d8a41eb5..d366423c8392 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 b5d4019d3572..1d36c093523b 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 34f8bf98bc05..2957df4b6c0b 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 0c2c93735e93..eb62558e9b09 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 c46d51035e77..af4e3934ee84 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 e4c779bb8d76..c3f749abb2d0 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 b91d3c81a73c..cd887cdca426 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/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index 1e3f87c8c012..200ee1e63728 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/esp4.c b/net/ipv4/esp4.c
index f3ceca31aa45..4e73e5708e70 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/icmp.c b/net/ipv4/icmp.c
index a944e8053e28..40508babad8c 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 ende; 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 ende; 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 ende; 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 724d69aed031..a0a3c78cb5e0 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 876169f3a528..717c411a5c6b 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 0b3b328d82db..a4506c8cfef0 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_sockglue.c b/net/ipv4/ip_sockglue.c
index f72457b4b0a7..c2921d01e925 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/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c
index fe05da41d6ba..4dc162894cb2 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 c6cf84c77611..52926c8e3cc1 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 8e8f0425a8ed..50e06690eb5b 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 089252e82c01..f500b0fdaef4 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 0d5fa3a54d04..36b4e3bb056f 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_input.c b/net/ipv4/tcp_input.c
index 7facdb0f6960..5119856017ab 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 72b9350006fe..d29ef79c00ca 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 7ea1b67b6de1..1704c1474ea1 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/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 101e0e70ba27..a65935a9afd9 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 9c7f83fbc3a1..e5f56c953b58 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 0ec1402320ea..c6bb4c6d24b3 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 121d517bf91c..893287ecc628 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 178aebc0427a..98ab4f459905 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/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c
index cc2f9afcf808..8d366f7f2a9a 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 2a0d698b24d5..24c0d03095bf 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/llc/af_llc.c b/net/llc/af_llc.c
index 46cf962f7f88..8c50eb430c19 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 860140caa6e0..71a00225bdb3 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 248b5903bb13..50d5b10e23a2 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 c40c9b2a345a..bfd2567dd365 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 fa8324396db3..2e6cb79196bb 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 ac3d93b210d2..a94bd56bcac6 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 2525165e2e8f..e2ddde755019 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 6f2ea2090322..83da13339490 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 28bcdf9fc3df..8e586390a2ef 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 9aeed5320228..c1706855460a 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 e88e96af613d..8599068050ec 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 cec9976aecbf..bc11d7092032 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 ddc80ea114cd..bbd26893c0c4 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 bf3f19b21fe4..b8173af8c24a 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 012cb6910820..10522c04ed24 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 5418ce59ac3a..40d344b21453 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 4a31a81059ab..063cbc5c26b1 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 1aaa2e804b0d..53fe94c9d36b 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 f48434adb7c2..d1c296f2d617 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 10b5c0887fff..b741618e4d54 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/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 8c6a7f1a25e9..8834d68972cb 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 995c3fdc16c2..79a55d56cc98 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/wireless/nl80211.c b/net/wireless/nl80211.c
index e3a214f63f91..f68a5c8f2147 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_user.c b/net/xfrm/xfrm_user.c
index 5d96f2728dc6..019d21de19b3 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -288,7 +288,7 @@ 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 if (x->props.mode == XFRM_MODE_TRANSPORT) 291 if (!x->sel.family)
292 x->sel.family = p->family; 292 x->sel.family = p->family;
293 293
294} 294}
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 41a049f50f58..d39b59cf8a08 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 f7d2f03781f2..44e12ec88090 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 f37418601215..3f2bad28ee7b 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/sound/oss/ac97_codec.c b/sound/oss/ac97_codec.c
index 87a672680761..b63839e8f9bd 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 25ccfce45759..7d911a18c082 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 }