aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/networking/bonding.txt29
-rw-r--r--MAINTAINERS19
-rw-r--r--Makefile2
-rw-r--r--arch/avr32/Kconfig65
-rw-r--r--arch/avr32/kernel/Makefile1
-rw-r--r--arch/avr32/kernel/asm-offsets.c2
-rw-r--r--arch/avr32/kernel/entry-avr32b.S285
-rw-r--r--arch/avr32/kernel/kprobes.c14
-rw-r--r--arch/avr32/kernel/process.c9
-rw-r--r--arch/avr32/kernel/ptrace.c273
-rw-r--r--arch/avr32/kernel/stacktrace.c53
-rw-r--r--arch/avr32/kernel/traps.c2
-rw-r--r--arch/avr32/kernel/vmlinux.lds.S2
-rw-r--r--arch/avr32/mm/cache.c20
-rw-r--r--arch/mips/Kconfig4
-rw-r--r--arch/mips/au1000/common/dbdma.c2
-rw-r--r--arch/mips/au1000/common/irq.c16
-rw-r--r--arch/mips/au1000/pb1200/irqmap.c2
-rw-r--r--arch/mips/oprofile/op_model_mipsxx.c44
-rw-r--r--arch/mips/pci/pci-bcm1480.c6
-rw-r--r--arch/parisc/Makefile2
-rw-r--r--arch/parisc/kernel/firmware.c88
-rw-r--r--arch/parisc/kernel/irq.c2
-rw-r--r--arch/parisc/kernel/parisc_ksyms.c22
-rw-r--r--arch/parisc/kernel/pdc_cons.c11
-rw-r--r--arch/parisc/lib/Makefile2
-rw-r--r--arch/parisc/lib/libgcc/Makefile4
-rw-r--r--arch/parisc/lib/libgcc/__ashldi3.c19
-rw-r--r--arch/parisc/lib/libgcc/__ashrdi3.c19
-rw-r--r--arch/parisc/lib/libgcc/__clzsi2.c30
-rw-r--r--arch/parisc/lib/libgcc/__divdi3.c23
-rw-r--r--arch/parisc/lib/libgcc/__divsi3.c23
-rw-r--r--arch/parisc/lib/libgcc/__lshrdi3.c19
-rw-r--r--arch/parisc/lib/libgcc/__moddi3.c23
-rw-r--r--arch/parisc/lib/libgcc/__modsi3.c23
-rw-r--r--arch/parisc/lib/libgcc/__muldi3.c22
-rw-r--r--arch/parisc/lib/libgcc/__udivdi3.c7
-rw-r--r--arch/parisc/lib/libgcc/__udivmoddi4.c31
-rw-r--r--arch/parisc/lib/libgcc/__udivmodsi4.c31
-rw-r--r--arch/parisc/lib/libgcc/__udivsi3.c7
-rw-r--r--arch/parisc/lib/libgcc/__umoddi3.c10
-rw-r--r--arch/parisc/lib/libgcc/__umodsi3.c10
-rw-r--r--arch/parisc/lib/libgcc/__umulsidi3.c46
-rw-r--r--arch/parisc/lib/libgcc/libgcc.h32
-rw-r--r--arch/parisc/lib/milli/Makefile1
-rw-r--r--arch/parisc/lib/milli/divI.S254
-rw-r--r--arch/parisc/lib/milli/divU.S235
-rw-r--r--arch/parisc/lib/milli/div_const.S682
-rw-r--r--arch/parisc/lib/milli/dyncall.S32
-rw-r--r--arch/parisc/lib/milli/milli.S2071
-rw-r--r--arch/parisc/lib/milli/milli.h165
-rw-r--r--arch/parisc/lib/milli/mulI.S474
-rw-r--r--arch/parisc/lib/milli/remI.S185
-rw-r--r--arch/parisc/lib/milli/remU.S148
-rw-r--r--arch/powerpc/boot/dts/sequoia.dts5
-rw-r--r--arch/powerpc/configs/bamboo_defconfig22
-rw-r--r--arch/powerpc/configs/cell_defconfig176
-rw-r--r--arch/powerpc/configs/celleb_defconfig170
-rw-r--r--arch/powerpc/configs/chrp32_defconfig163
-rw-r--r--arch/powerpc/configs/ebony_defconfig25
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig92
-rw-r--r--arch/powerpc/configs/g5_defconfig150
-rw-r--r--arch/powerpc/configs/holly_defconfig136
-rw-r--r--arch/powerpc/configs/iseries_defconfig123
-rw-r--r--arch/powerpc/configs/kilauea_defconfig79
-rw-r--r--arch/powerpc/configs/linkstation_defconfig152
-rw-r--r--arch/powerpc/configs/lite5200_defconfig119
-rw-r--r--arch/powerpc/configs/maple_defconfig126
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig137
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig106
-rw-r--r--arch/powerpc/configs/mpc8313_rdb_defconfig173
-rw-r--r--arch/powerpc/configs/mpc832x_mds_defconfig155
-rw-r--r--arch/powerpc/configs/mpc832x_rdb_defconfig167
-rw-r--r--arch/powerpc/configs/mpc834x_itx_defconfig156
-rw-r--r--arch/powerpc/configs/mpc834x_itxgp_defconfig161
-rw-r--r--arch/powerpc/configs/mpc834x_mds_defconfig149
-rw-r--r--arch/powerpc/configs/mpc836x_mds_defconfig155
-rw-r--r--arch/powerpc/configs/mpc8540_ads_defconfig101
-rw-r--r--arch/powerpc/configs/mpc8544_ds_defconfig130
-rw-r--r--arch/powerpc/configs/mpc8560_ads_defconfig104
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig161
-rw-r--r--arch/powerpc/configs/mpc8572_ds_defconfig130
-rw-r--r--arch/powerpc/configs/mpc85xx_cds_defconfig126
-rw-r--r--arch/powerpc/configs/mpc8610_hpcd_defconfig114
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig131
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig107
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig98
-rw-r--r--arch/powerpc/configs/pasemi_defconfig8
-rw-r--r--arch/powerpc/configs/pmac32_defconfig217
-rw-r--r--arch/powerpc/configs/ppc64_defconfig9
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig148
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig150
-rw-r--r--arch/powerpc/configs/ps3_defconfig177
-rw-r--r--arch/powerpc/configs/pseries_defconfig156
-rw-r--r--arch/powerpc/configs/sequoia_defconfig111
-rw-r--r--arch/powerpc/configs/walnut_defconfig22
-rw-r--r--arch/powerpc/kernel/asm-offsets.c3
-rw-r--r--arch/powerpc/kernel/head_32.S2
-rw-r--r--arch/powerpc/kernel/head_40x.S2
-rw-r--r--arch/powerpc/kernel/head_44x.S2
-rw-r--r--arch/powerpc/kernel/head_fsl_booke.S2
-rw-r--r--arch/powerpc/kernel/process.c2
-rw-r--r--arch/ppc/platforms/4xx/xparameters/xparameters.h8
-rw-r--r--arch/ppc/syslib/virtex_devices.c8
-rw-r--r--arch/s390/kernel/entry.S2
-rw-r--r--arch/s390/kernel/setup.c4
-rw-r--r--arch/sh/drivers/pci/ops-r7780rp.c4
-rw-r--r--arch/sh/drivers/pci/ops-se7780.c4
-rw-r--r--arch/sh/drivers/pci/pci-sh7780.h2
-rw-r--r--arch/sparc/kernel/devices.c4
-rw-r--r--arch/sparc/kernel/pcic.c8
-rw-r--r--arch/sparc64/defconfig9
-rw-r--r--arch/sparc64/kernel/chmc.c16
-rw-r--r--arch/sparc64/kernel/isa.c2
-rw-r--r--arch/sparc64/kernel/ldc.c15
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c4
-rw-r--r--arch/sparc64/kernel/smp.c5
-rw-r--r--arch/um/Kconfig.i3867
-rw-r--r--arch/um/Makefile-i3865
-rw-r--r--arch/um/drivers/chan_user.c11
-rw-r--r--arch/um/os-Linux/time.c1
-rw-r--r--arch/x86/Kconfig8
-rw-r--r--arch/x86/kernel/acpi/wakeup_32.S4
-rw-r--r--arch/x86/kernel/cpu/intel_cacheinfo.c2
-rw-r--r--arch/x86/kernel/crash.c4
-rw-r--r--arch/x86/kernel/head_32.S12
-rw-r--r--arch/x86/kernel/hpet.c14
-rw-r--r--arch/x86/kernel/nmi_32.c3
-rw-r--r--arch/x86/kernel/nmi_64.c3
-rw-r--r--arch/x86/kernel/reboot_32.c4
-rw-r--r--arch/x86/kernel/reboot_64.c4
-rw-r--r--arch/x86/kernel/topology.c5
-rw-r--r--crypto/fcrypt.c88
-rw-r--r--drivers/acpi/dispatcher/dsobject.c91
-rw-r--r--drivers/acpi/processor_idle.c19
-rw-r--r--drivers/acpi/processor_throttling.c36
-rw-r--r--drivers/ata/ahci.c100
-rw-r--r--drivers/ata/ata_piix.c35
-rw-r--r--drivers/ata/libata-core.c26
-rw-r--r--drivers/ata/libata-eh.c42
-rw-r--r--drivers/ata/pata_amd.c5
-rw-r--r--drivers/ata/pata_at32.c61
-rw-r--r--drivers/ata/pata_bf54x.c7
-rw-r--r--drivers/ata/pata_via.c4
-rw-r--r--drivers/ata/sata_mv.c73
-rw-r--r--drivers/ata/sata_nv.c32
-rw-r--r--drivers/char/apm-emulation.c15
-rw-r--r--drivers/char/cs5535_gpio.c5
-rw-r--r--drivers/crypto/Kconfig2
-rw-r--r--drivers/hwmon/coretemp.c5
-rw-r--r--drivers/input/touchscreen/ads7846.c13
-rw-r--r--drivers/isdn/i4l/isdn_common.c5
-rw-r--r--drivers/leds/led-class.c6
-rw-r--r--drivers/leds/led-triggers.c49
-rw-r--r--drivers/mmc/host/mmc_spi.c10
-rw-r--r--drivers/net/Kconfig5
-rw-r--r--drivers/net/amd8111e.c6
-rw-r--r--drivers/net/bfin_mac.c2
-rw-r--r--drivers/net/bonding/bond_main.c116
-rw-r--r--drivers/net/bonding/bond_sysfs.c94
-rw-r--r--drivers/net/bonding/bonding.h4
-rw-r--r--drivers/net/chelsio/cxgb2.c70
-rw-r--r--drivers/net/chelsio/pm3393.c112
-rw-r--r--drivers/net/chelsio/sge.c44
-rw-r--r--drivers/net/chelsio/sge.h3
-rw-r--r--drivers/net/cxgb3/regs.h27
-rw-r--r--drivers/net/cxgb3/t3_hw.c6
-rw-r--r--drivers/net/cxgb3/xgmac.c44
-rw-r--r--drivers/net/e100.c6
-rw-r--r--drivers/net/e1000/e1000_ethtool.c2
-rw-r--r--drivers/net/e1000/e1000_main.c2
-rw-r--r--drivers/net/e1000e/ethtool.c2
-rw-r--r--drivers/net/ehea/ehea.h2
-rw-r--r--drivers/net/ehea/ehea_main.c20
-rw-r--r--drivers/net/ehea/ehea_qmr.h4
-rw-r--r--drivers/net/fec_mpc52xx.c6
-rw-r--r--drivers/net/forcedeth.c38
-rw-r--r--drivers/net/gianfar.c2
-rw-r--r--drivers/net/ibm_newemac/core.c87
-rw-r--r--drivers/net/ibm_newemac/core.h12
-rw-r--r--drivers/net/ibm_newemac/debug.c5
-rw-r--r--drivers/net/ibm_newemac/debug.h5
-rw-r--r--drivers/net/ibm_newemac/emac.h5
-rw-r--r--drivers/net/ibm_newemac/mal.c5
-rw-r--r--drivers/net/ibm_newemac/mal.h5
-rw-r--r--drivers/net/ibm_newemac/phy.c81
-rw-r--r--drivers/net/ibm_newemac/phy.h5
-rw-r--r--drivers/net/ibm_newemac/rgmii.c25
-rw-r--r--drivers/net/ibm_newemac/rgmii.h10
-rw-r--r--drivers/net/ibm_newemac/tah.c8
-rw-r--r--drivers/net/ibm_newemac/tah.h5
-rw-r--r--drivers/net/ibm_newemac/zmii.c9
-rw-r--r--drivers/net/ibm_newemac/zmii.h5
-rw-r--r--drivers/net/lib82596.c50
-rw-r--r--drivers/net/myri10ge/myri10ge.c1
-rw-r--r--drivers/net/niu.c22
-rw-r--r--drivers/net/pasemi_mac.c4
-rw-r--r--drivers/net/phy/marvell.c26
-rw-r--r--drivers/net/phy/mdio_bus.c9
-rw-r--r--drivers/net/phy/phy.c3
-rw-r--r--drivers/net/phy/phy_device.c12
-rw-r--r--drivers/net/s2io-regs.h1
-rw-r--r--drivers/net/s2io.c48
-rw-r--r--drivers/net/skge.c108
-rw-r--r--drivers/net/sky2.c127
-rw-r--r--drivers/net/sky2.h21
-rw-r--r--drivers/net/smc911x.c21
-rw-r--r--drivers/net/smc911x.h2
-rw-r--r--drivers/net/smc91x.h2
-rw-r--r--drivers/net/sungem.c11
-rw-r--r--drivers/net/tulip/dmfe.c4
-rw-r--r--drivers/net/ucc_geth.c10
-rw-r--r--drivers/net/usb/dm9601.c2
-rw-r--r--drivers/net/via-velocity.c11
-rw-r--r--drivers/net/wireless/b43/main.c2
-rw-r--r--drivers/net/wireless/b43/phy.c2
-rw-r--r--drivers/net/wireless/b43legacy/dma.c2
-rw-r--r--drivers/net/wireless/b43legacy/main.c2
-rw-r--r--drivers/net/wireless/b43legacy/phy.c2
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_phy.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c16
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c13
-rw-r--r--drivers/net/wireless/libertas/if_cs.c3
-rw-r--r--drivers/net/wireless/libertas/main.c4
-rw-r--r--drivers/net/wireless/libertas/wext.c2
-rw-r--r--drivers/net/wireless/netwave_cs.c2
-rw-r--r--drivers/net/wireless/p54usb.c2
-rw-r--r--drivers/parisc/lba_pci.c10
-rw-r--r--drivers/rtc/interface.c4
-rw-r--r--drivers/rtc/rtc-dev.c6
-rw-r--r--drivers/rtc/rtc-max6902.c12
-rw-r--r--drivers/s390/block/dcssblk.c4
-rw-r--r--drivers/s390/cio/css.c1
-rw-r--r--drivers/s390/cio/device_id.c37
-rw-r--r--drivers/s390/net/ctcmain.c44
-rw-r--r--drivers/s390/scsi/zfcp_erp.c18
-rw-r--r--drivers/scsi/aacraid/commsup.c8
-rw-r--r--drivers/scsi/aacraid/linit.c7
-rw-r--r--drivers/scsi/atari_scsi.c10
-rw-r--r--drivers/scsi/dtc.c5
-rw-r--r--drivers/scsi/g_NCR5380.c5
-rw-r--r--drivers/scsi/iscsi_tcp.c139
-rw-r--r--drivers/scsi/iscsi_tcp.h34
-rw-r--r--drivers/scsi/libiscsi.c3
-rw-r--r--drivers/scsi/mac_scsi.c4
-rw-r--r--drivers/scsi/pas16.c5
-rw-r--r--drivers/scsi/qla1280.c387
-rw-r--r--drivers/scsi/sun3_scsi.c4
-rw-r--r--drivers/scsi/sun3_scsi_vme.c4
-rw-r--r--drivers/scsi/t128.c5
-rw-r--r--drivers/spi/at25.c7
-rw-r--r--drivers/spi/spi.c19
-rw-r--r--drivers/spi/spi_bfin5xx.c866
-rw-r--r--fs/aio.c7
-rw-r--r--fs/bfs/inode.c3
-rw-r--r--fs/cifs/cifsacl.c33
-rw-r--r--fs/jbd/checkpoint.c12
-rw-r--r--fs/jbd/commit.c8
-rw-r--r--fs/jffs2/background.c2
-rw-r--r--fs/ocfs2/cluster/tcp.c20
-rw-r--r--fs/proc/generic.c21
-rw-r--r--fs/proc/inode.c9
-rw-r--r--fs/proc/proc_net.c86
-rw-r--r--fs/proc/root.c1
-rw-r--r--fs/reiserfs/procfs.c6
-rw-r--r--fs/ufs/dir.c2
-rw-r--r--fs/ufs/super.c4
-rw-r--r--include/asm-avr32/cacheflush.h19
-rw-r--r--include/asm-avr32/ocd.h592
-rw-r--r--include/asm-avr32/processor.h3
-rw-r--r--include/asm-avr32/ptrace.h6
-rw-r--r--include/asm-avr32/sysreg.h2
-rw-r--r--include/asm-avr32/system.h4
-rw-r--r--include/asm-avr32/thread_info.h25
-rw-r--r--include/asm-blackfin/bfin5xx_spi.h3
-rw-r--r--include/asm-blackfin/mach-bf533/portmux.h2
-rw-r--r--include/asm-blackfin/mach-bf548/defBF54x_base.h17
-rw-r--r--include/asm-mips/mach-au1x00/au1000.h21
-rw-r--r--include/asm-parisc/pdc.h3
-rw-r--r--include/asm-powerpc/pgtable-ppc32.h5
-rw-r--r--include/asm-powerpc/time.h8
-rw-r--r--include/asm-x86/hpet.h1
-rw-r--r--include/linux/cgroup_subsys.h7
-rw-r--r--include/linux/if_bonding.h3
-rw-r--r--include/linux/inet_lro.h3
-rw-r--r--include/linux/jbd.h2
-rw-r--r--include/linux/leds.h3
-rw-r--r--include/linux/mm.h16
-rw-r--r--include/linux/pci_ids.h4
-rw-r--r--include/linux/phy.h3
-rw-r--r--include/linux/proc_fs.h4
-rw-r--r--include/linux/thread_info.h17
-rw-r--r--include/net/route.h1
-rw-r--r--include/net/sctp/constants.h9
-rw-r--r--include/net/sctp/structs.h3
-rw-r--r--init/Kconfig7
-rw-r--r--init/do_mounts_initrd.c12
-rw-r--r--kernel/Kconfig.instrumentation6
-rw-r--r--kernel/fork.c21
-rw-r--r--kernel/futex.c27
-rw-r--r--kernel/hrtimer.c8
-rw-r--r--kernel/lockdep.c42
-rw-r--r--kernel/sched.c304
-rw-r--r--kernel/sched_fair.c13
-rw-r--r--kernel/sched_rt.c1
-rw-r--r--kernel/sysctl.c4
-rw-r--r--kernel/sysctl_check.c2
-rw-r--r--kernel/time/clockevents.c5
-rw-r--r--lib/textsearch.c8
-rw-r--r--mm/backing-dev.c4
-rw-r--r--mm/filemap_xip.c2
-rw-r--r--mm/mmap.c15
-rw-r--r--mm/nommu.c3
-rw-r--r--mm/slab.c1
-rw-r--r--mm/slob.c1
-rw-r--r--mm/slub.c6
-rw-r--r--net/8021q/vlan.c2
-rw-r--r--net/8021q/vlan_dev.c3
-rw-r--r--net/bridge/br.c4
-rw-r--r--net/bridge/br_fdb.c2
-rw-r--r--net/bridge/br_input.c7
-rw-r--r--net/bridge/netfilter/ebtable_broute.c4
-rw-r--r--net/decnet/dn_dev.c4
-rw-r--r--net/ieee80211/ieee80211_tx.c3
-rw-r--r--net/ipv4/inet_diag.c69
-rw-r--r--net/ipv4/inet_lro.c3
-rw-r--r--net/ipv4/ipvs/ip_vs_lblc.c7
-rw-r--r--net/ipv4/ipvs/ip_vs_lblcr.c7
-rw-r--r--net/ipv4/ipvs/ip_vs_sched.c27
-rw-r--r--net/ipv4/route.c5
-rw-r--r--net/ipv4/tcp_illinois.c2
-rw-r--r--net/ipv4/tcp_input.c17
-rw-r--r--net/ipv4/tcp_output.c3
-rw-r--r--net/ipv6/addrconf.c11
-rw-r--r--net/ipv6/ip6_output.c2
-rw-r--r--net/irda/ircomm/ircomm_tty.c2
-rw-r--r--net/mac80211/ieee80211.c10
-rw-r--r--net/mac80211/rx.c2
-rw-r--r--net/mac80211/wep.c3
-rw-r--r--net/netfilter/xt_CONNMARK.c10
-rw-r--r--net/netfilter/xt_CONNSECMARK.c10
-rw-r--r--net/netfilter/xt_TCPMSS.c4
-rw-r--r--net/rfkill/rfkill.c14
-rw-r--r--net/rose/rose_dev.c2
-rw-r--r--net/rxrpc/Kconfig1
-rw-r--r--net/rxrpc/rxkad.c1
-rw-r--r--net/sctp/Kconfig6
-rw-r--r--net/sctp/auth.c4
-rw-r--r--net/sctp/bind_addr.c26
-rw-r--r--net/sctp/sm_make_chunk.c25
-rw-r--r--net/sctp/sm_statefuns.c2
-rw-r--r--net/sctp/socket.c18
-rw-r--r--net/unix/af_unix.c9
-rw-r--r--net/xfrm/xfrm_policy.c1
-rw-r--r--security/dummy.c2
-rw-r--r--security/selinux/selinuxfs.c65
356 files changed, 6866 insertions, 9735 deletions
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 11340625e363..6cc30e0d5795 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -554,6 +554,30 @@ xmit_hash_policy
554 554
555 This algorithm is 802.3ad compliant. 555 This algorithm is 802.3ad compliant.
556 556
557 layer2+3
558
559 This policy uses a combination of layer2 and layer3
560 protocol information to generate the hash.
561
562 Uses XOR of hardware MAC addresses and IP addresses to
563 generate the hash. The formula is
564
565 (((source IP XOR dest IP) AND 0xffff) XOR
566 ( source MAC XOR destination MAC ))
567 modulo slave count
568
569 This algorithm will place all traffic to a particular
570 network peer on the same slave. For non-IP traffic,
571 the formula is the same as for the layer2 transmit
572 hash policy.
573
574 This policy is intended to provide a more balanced
575 distribution of traffic than layer2 alone, especially
576 in environments where a layer3 gateway device is
577 required to reach most destinations.
578
579 This algorithm is 802.3ad complient.
580
557 layer3+4 581 layer3+4
558 582
559 This policy uses upper layer protocol information, 583 This policy uses upper layer protocol information,
@@ -589,8 +613,9 @@ xmit_hash_policy
589 or may not tolerate this noncompliance. 613 or may not tolerate this noncompliance.
590 614
591 The default value is layer2. This option was added in bonding 615 The default value is layer2. This option was added in bonding
592version 2.6.3. In earlier versions of bonding, this parameter does 616 version 2.6.3. In earlier versions of bonding, this parameter
593not exist, and the layer2 policy is the only policy. 617 does not exist, and the layer2 policy is the only policy. The
618 layer2+3 value was added for bonding version 3.2.2.
594 619
595 620
5963. Configuring Bonding Devices 6213. Configuring Bonding Devices
diff --git a/MAINTAINERS b/MAINTAINERS
index 7c8392e1797d..f3d7256bc74e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1681,8 +1681,7 @@ S: Maintained
1681HARMONY SOUND DRIVER 1681HARMONY SOUND DRIVER
1682P: Kyle McMartin 1682P: Kyle McMartin
1683M: kyle@parisc-linux.org 1683M: kyle@parisc-linux.org
1684W: http://www.parisc-linux.org/~kyle/harmony/ 1684L: linux-parisc@vger.kernel.org
1685L: parisc-linux@lists.parisc-linux.org
1686S: Maintained 1685S: Maintained
1687 1686
1688HAYES ESP SERIAL DRIVER 1687HAYES ESP SERIAL DRIVER
@@ -2173,7 +2172,7 @@ S: Maintained
2173 2172
2174KDUMP 2173KDUMP
2175P: Vivek Goyal 2174P: Vivek Goyal
2176M: vgoyal@in.ibm.com 2175M: vgoyal@redhat.com
2177P: Haren Myneni 2176P: Haren Myneni
2178M: hbabu@us.ibm.com 2177M: hbabu@us.ibm.com
2179L: kexec@lists.infradead.org 2178L: kexec@lists.infradead.org
@@ -2598,13 +2597,6 @@ L: https://tango.0pointer.de/mailman/listinfo/s270-linux
2598W: http://0pointer.de/lennart/tchibo.html 2597W: http://0pointer.de/lennart/tchibo.html
2599S: Maintained 2598S: Maintained
2600 2599
2601MTRR AND SIMILAR SUPPORT [i386]
2602P: Richard Gooch
2603M: rgooch@atnf.csiro.au
2604L: linux-kernel@vger.kernel.org
2605W: http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html
2606S: Maintained
2607
2608MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM 2600MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
2609P: Pierre Ossman 2601P: Pierre Ossman
2610M: drzeus-mmc@drzeus.cx 2602M: drzeus-mmc@drzeus.cx
@@ -2897,16 +2889,15 @@ W: http://www.torque.net/linux-pp.html
2897S: Maintained 2889S: Maintained
2898 2890
2899PARISC ARCHITECTURE 2891PARISC ARCHITECTURE
2892P: Kyle McMartin
2893M: kyle@parisc-linux.org
2900P: Matthew Wilcox 2894P: Matthew Wilcox
2901M: matthew@wil.cx 2895M: matthew@wil.cx
2902P: Grant Grundler 2896P: Grant Grundler
2903M: grundler@parisc-linux.org 2897M: grundler@parisc-linux.org
2904P: Kyle McMartin 2898L: linux-parisc@vger.kernel.org
2905M: kyle@parisc-linux.org
2906L: parisc-linux@parisc-linux.org
2907W: http://www.parisc-linux.org/ 2899W: http://www.parisc-linux.org/
2908T: git kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6.git 2900T: git kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
2909T: cvs cvs.parisc-linux.org:/var/cvs/linux-2.6
2910S: Maintained 2901S: Maintained
2911 2902
2912PARAVIRT_OPS INTERFACE 2903PARAVIRT_OPS INTERFACE
diff --git a/Makefile b/Makefile
index a65ffd27de6b..92dc3cb5f43d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 24 3SUBLEVEL = 24
4EXTRAVERSION = -rc3 4EXTRAVERSION = -rc4
5NAME = Arr Matey! A Hairy Bilge Rat! 5NAME = Arr Matey! A Hairy Bilge Rat!
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 4f402c924504..b77abce10c7a 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -6,8 +6,7 @@
6mainmenu "Linux Kernel Configuration" 6mainmenu "Linux Kernel Configuration"
7 7
8config AVR32 8config AVR32
9 bool 9 def_bool y
10 default y
11 # With EMBEDDED=n, we get lots of stuff automatically selected 10 # With EMBEDDED=n, we get lots of stuff automatically selected
12 # that we usually don't need on AVR32. 11 # that we usually don't need on AVR32.
13 select EMBEDDED 12 select EMBEDDED
@@ -20,51 +19,49 @@ config AVR32
20 http://avr32linux.org/. 19 http://avr32linux.org/.
21 20
22config GENERIC_GPIO 21config GENERIC_GPIO
23 bool 22 def_bool y
24 default y
25 23
26config GENERIC_HARDIRQS 24config GENERIC_HARDIRQS
27 bool 25 def_bool y
28 default y 26
27config STACKTRACE_SUPPORT
28 def_bool y
29
30config LOCKDEP_SUPPORT
31 def_bool y
32
33config TRACE_IRQFLAGS_SUPPORT
34 def_bool y
29 35
30config HARDIRQS_SW_RESEND 36config HARDIRQS_SW_RESEND
31 bool 37 def_bool y
32 default y
33 38
34config GENERIC_IRQ_PROBE 39config GENERIC_IRQ_PROBE
35 bool 40 def_bool y
36 default y
37 41
38config RWSEM_GENERIC_SPINLOCK 42config RWSEM_GENERIC_SPINLOCK
39 bool 43 def_bool y
40 default y
41 44
42config GENERIC_TIME 45config GENERIC_TIME
43 bool 46 def_bool y
44 default y
45 47
46config RWSEM_XCHGADD_ALGORITHM 48config RWSEM_XCHGADD_ALGORITHM
47 bool 49 def_bool n
48 50
49config ARCH_HAS_ILOG2_U32 51config ARCH_HAS_ILOG2_U32
50 bool 52 def_bool n
51 default n
52 53
53config ARCH_HAS_ILOG2_U64 54config ARCH_HAS_ILOG2_U64
54 bool 55 def_bool n
55 default n
56 56
57config GENERIC_HWEIGHT 57config GENERIC_HWEIGHT
58 bool 58 def_bool y
59 default y
60 59
61config GENERIC_CALIBRATE_DELAY 60config GENERIC_CALIBRATE_DELAY
62 bool 61 def_bool y
63 default y
64 62
65config GENERIC_BUG 63config GENERIC_BUG
66 bool 64 def_bool y
67 default y
68 depends on BUG 65 depends on BUG
69 66
70source "init/Kconfig" 67source "init/Kconfig"
@@ -139,28 +136,22 @@ config PHYS_OFFSET
139source "kernel/Kconfig.preempt" 136source "kernel/Kconfig.preempt"
140 137
141config HAVE_ARCH_BOOTMEM_NODE 138config HAVE_ARCH_BOOTMEM_NODE
142 bool 139 def_bool n
143 default n
144 140
145config ARCH_HAVE_MEMORY_PRESENT 141config ARCH_HAVE_MEMORY_PRESENT
146 bool 142 def_bool n
147 default n
148 143
149config NEED_NODE_MEMMAP_SIZE 144config NEED_NODE_MEMMAP_SIZE
150 bool 145 def_bool n
151 default n
152 146
153config ARCH_FLATMEM_ENABLE 147config ARCH_FLATMEM_ENABLE
154 bool 148 def_bool y
155 default y
156 149
157config ARCH_DISCONTIGMEM_ENABLE 150config ARCH_DISCONTIGMEM_ENABLE
158 bool 151 def_bool n
159 default n
160 152
161config ARCH_SPARSEMEM_ENABLE 153config ARCH_SPARSEMEM_ENABLE
162 bool 154 def_bool n
163 default n
164 155
165source "mm/Kconfig" 156source "mm/Kconfig"
166 157
diff --git a/arch/avr32/kernel/Makefile b/arch/avr32/kernel/Makefile
index 989fcd1fef7e..2d6d48f35f69 100644
--- a/arch/avr32/kernel/Makefile
+++ b/arch/avr32/kernel/Makefile
@@ -11,3 +11,4 @@ obj-y += signal.o sys_avr32.o process.o time.o
11obj-y += init_task.o switch_to.o cpu.o 11obj-y += init_task.o switch_to.o cpu.o
12obj-$(CONFIG_MODULES) += module.o avr32_ksyms.o 12obj-$(CONFIG_MODULES) += module.o avr32_ksyms.o
13obj-$(CONFIG_KPROBES) += kprobes.o 13obj-$(CONFIG_KPROBES) += kprobes.o
14obj-$(CONFIG_STACKTRACE) += stacktrace.o
diff --git a/arch/avr32/kernel/asm-offsets.c b/arch/avr32/kernel/asm-offsets.c
index 97d865865667..078cd33f467b 100644
--- a/arch/avr32/kernel/asm-offsets.c
+++ b/arch/avr32/kernel/asm-offsets.c
@@ -21,5 +21,7 @@ void foo(void)
21 OFFSET(TI_flags, thread_info, flags); 21 OFFSET(TI_flags, thread_info, flags);
22 OFFSET(TI_cpu, thread_info, cpu); 22 OFFSET(TI_cpu, thread_info, cpu);
23 OFFSET(TI_preempt_count, thread_info, preempt_count); 23 OFFSET(TI_preempt_count, thread_info, preempt_count);
24 OFFSET(TI_rar_saved, thread_info, rar_saved);
25 OFFSET(TI_rsr_saved, thread_info, rsr_saved);
24 OFFSET(TI_restart_block, thread_info, restart_block); 26 OFFSET(TI_restart_block, thread_info, restart_block);
25} 27}
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S
index ccadfd9b438d..8cf16d7a7040 100644
--- a/arch/avr32/kernel/entry-avr32b.S
+++ b/arch/avr32/kernel/entry-avr32b.S
@@ -264,16 +264,7 @@ syscall_exit_work:
264 264
2653: bld r1, TIF_BREAKPOINT 2653: bld r1, TIF_BREAKPOINT
266 brcc syscall_exit_cont 266 brcc syscall_exit_cont
267 mfsr r3, SYSREG_TLBEHI 267 rjmp enter_monitor_mode
268 lddsp r2, sp[REG_PC]
269 andl r3, 0xff, COH
270 lsl r3, 1
271 sbr r3, 30
272 sbr r3, 0
273 mtdr DBGREG_BWA2A, r2
274 mtdr DBGREG_BWC2A, r3
275 rjmp syscall_exit_cont
276
277 268
278 /* The slow path of the TLB miss handler */ 269 /* The slow path of the TLB miss handler */
279page_table_not_present: 270page_table_not_present:
@@ -288,11 +279,16 @@ page_not_present:
288 rjmp ret_from_exception 279 rjmp ret_from_exception
289 280
290 /* This function expects to find offending PC in SYSREG_RAR_EX */ 281 /* This function expects to find offending PC in SYSREG_RAR_EX */
282 .type save_full_context_ex, @function
283 .align 2
291save_full_context_ex: 284save_full_context_ex:
285 mfsr r11, SYSREG_RAR_EX
286 sub r9, pc, . - debug_trampoline
292 mfsr r8, SYSREG_RSR_EX 287 mfsr r8, SYSREG_RSR_EX
288 cp.w r9, r11
289 breq 3f
293 mov r12, r8 290 mov r12, r8
294 andh r8, (MODE_MASK >> 16), COH 291 andh r8, (MODE_MASK >> 16), COH
295 mfsr r11, SYSREG_RAR_EX
296 brne 2f 292 brne 2f
297 293
2981: pushm r11, r12 /* PC and SR */ 2941: pushm r11, r12 /* PC and SR */
@@ -303,10 +299,25 @@ save_full_context_ex:
303 stdsp sp[4], r10 /* replace saved SP */ 299 stdsp sp[4], r10 /* replace saved SP */
304 rjmp 1b 300 rjmp 1b
305 301
302 /*
303 * The debug handler set up a trampoline to make us
304 * automatically enter monitor mode upon return, but since
305 * we're saving the full context, we must assume that the
306 * exception handler might want to alter the return address
307 * and/or status register. So we need to restore the original
308 * context and enter monitor mode manually after the exception
309 * has been handled.
310 */
3113: get_thread_info r8
312 ld.w r11, r8[TI_rar_saved]
313 ld.w r12, r8[TI_rsr_saved]
314 rjmp 1b
315 .size save_full_context_ex, . - save_full_context_ex
316
306 /* Low-level exception handlers */ 317 /* Low-level exception handlers */
307handle_critical: 318handle_critical:
308 pushm r12 319 sub sp, 4
309 pushm r0-r12 320 stmts --sp, r0-lr
310 rcall save_full_context_ex 321 rcall save_full_context_ex
311 mfsr r12, SYSREG_ECR 322 mfsr r12, SYSREG_ECR
312 mov r11, sp 323 mov r11, sp
@@ -439,6 +450,7 @@ do_fpe_ll:
439ret_from_exception: 450ret_from_exception:
440 mask_interrupts 451 mask_interrupts
441 lddsp r4, sp[REG_SR] 452 lddsp r4, sp[REG_SR]
453
442 andh r4, (MODE_MASK >> 16), COH 454 andh r4, (MODE_MASK >> 16), COH
443 brne fault_resume_kernel 455 brne fault_resume_kernel
444 456
@@ -515,119 +527,124 @@ fault_exit_work:
515 527
5162: bld r1, TIF_BREAKPOINT 5282: bld r1, TIF_BREAKPOINT
517 brcc fault_resume_user 529 brcc fault_resume_user
518 mfsr r3, SYSREG_TLBEHI 530 rjmp enter_monitor_mode
519 lddsp r2, sp[REG_PC] 531
520 andl r3, 0xff, COH 532 .section .kprobes.text, "ax", @progbits
521 lsl r3, 1 533 .type handle_debug, @function
522 sbr r3, 30 534handle_debug:
523 sbr r3, 0 535 sub sp, 4 /* r12_orig */
524 mtdr DBGREG_BWA2A, r2 536 stmts --sp, r0-lr
525 mtdr DBGREG_BWC2A, r3 537 mfsr r8, SYSREG_RAR_DBG
526 rjmp fault_resume_user 538 mfsr r9, SYSREG_RSR_DBG
527 539 unmask_exceptions
528 /* If we get a debug trap from privileged context we end up here */ 540 pushm r8-r9
529handle_debug_priv: 541 bfextu r9, r9, SYSREG_MODE_OFFSET, SYSREG_MODE_SIZE
530 /* Fix up LR and SP in regs. r11 contains the mode we came from */ 542 brne debug_fixup_regs
543
544.Ldebug_fixup_cont:
545#ifdef CONFIG_TRACE_IRQFLAGS
546 rcall trace_hardirqs_off
547#endif
548 mov r12, sp
549 rcall do_debug
550 mov sp, r12
551
552 lddsp r2, sp[REG_SR]
553 bfextu r3, r2, SYSREG_MODE_OFFSET, SYSREG_MODE_SIZE
554 brne debug_resume_kernel
555
556 get_thread_info r0
557 ld.w r1, r0[TI_flags]
558 mov r2, _TIF_DBGWORK_MASK
559 tst r1, r2
560 brne debug_exit_work
561
562 bld r1, TIF_SINGLE_STEP
563 brcc 1f
564 mfdr r4, OCD_DC
565 sbr r4, OCD_DC_SS_BIT
566 mtdr OCD_DC, r4
567
5681: popm r10,r11
569 mask_exceptions
570 mtsr SYSREG_RSR_DBG, r11
571 mtsr SYSREG_RAR_DBG, r10
572#ifdef CONFIG_TRACE_IRQFLAGS
573 rcall trace_hardirqs_on
5741:
575#endif
576 ldmts sp++, r0-lr
577 sub sp, -4
578 retd
579 .size handle_debug, . - handle_debug
580
581 /* Mode of the trapped context is in r9 */
582 .type debug_fixup_regs, @function
583debug_fixup_regs:
531 mfsr r8, SYSREG_SR 584 mfsr r8, SYSREG_SR
532 mov r9, r8 585 mov r10, r8
533 andh r8, hi(~MODE_MASK) 586 bfins r8, r9, SYSREG_MODE_OFFSET, SYSREG_MODE_SIZE
534 or r8, r11
535 mtsr SYSREG_SR, r8 587 mtsr SYSREG_SR, r8
536 sub pc, -2 588 sub pc, -2
537 stdsp sp[REG_LR], lr 589 stdsp sp[REG_LR], lr
538 mtsr SYSREG_SR, r9 590 mtsr SYSREG_SR, r10
539 sub pc, -2 591 sub pc, -2
540 sub r10, sp, -FRAME_SIZE_FULL 592 sub r8, sp, -FRAME_SIZE_FULL
541 stdsp sp[REG_SP], r10 593 stdsp sp[REG_SP], r8
542 mov r12, sp 594 rjmp .Ldebug_fixup_cont
543 rcall do_debug_priv 595 .size debug_fixup_regs, . - debug_fixup_regs
544 596
545 /* Now, put everything back */ 597 .type debug_resume_kernel, @function
546 ssrf SR_EM_BIT 598debug_resume_kernel:
599 mask_exceptions
547 popm r10, r11 600 popm r10, r11
548 mtsr SYSREG_RAR_DBG, r10 601 mtsr SYSREG_RAR_DBG, r10
549 mtsr SYSREG_RSR_DBG, r11 602 mtsr SYSREG_RSR_DBG, r11
550 mfsr r8, SYSREG_SR 603#ifdef CONFIG_TRACE_IRQFLAGS
551 mov r9, r8 604 bld r11, SYSREG_GM_OFFSET
552 andh r8, hi(~MODE_MASK) 605 brcc 1f
553 andh r11, hi(MODE_MASK) 606 rcall trace_hardirqs_on
554 or r8, r11 6071:
555 mtsr SYSREG_SR, r8 608#endif
609 mfsr r2, SYSREG_SR
610 mov r1, r2
611 bfins r2, r3, SYSREG_MODE_OFFSET, SYSREG_MODE_SIZE
612 mtsr SYSREG_SR, r2
556 sub pc, -2 613 sub pc, -2
557 popm lr 614 popm lr
558 mtsr SYSREG_SR, r9 615 mtsr SYSREG_SR, r1
559 sub pc, -2 616 sub pc, -2
560 sub sp, -4 /* skip SP */ 617 sub sp, -4 /* skip SP */
561 popm r0-r12 618 popm r0-r12
562 sub sp, -4 619 sub sp, -4
563 retd 620 retd
621 .size debug_resume_kernel, . - debug_resume_kernel
564 622
623 .type debug_exit_work, @function
624debug_exit_work:
565 /* 625 /*
566 * At this point, everything is masked, that is, interrupts, 626 * We must return from Monitor Mode using a retd, and we must
567 * exceptions and debugging traps. We might get called from 627 * not schedule since that involves the D bit in SR getting
568 * interrupt or exception context in some rare cases, but this 628 * cleared by something other than the debug hardware. This
569 * will be taken care of by do_debug(), so we're not going to 629 * may cause undefined behaviour according to the Architecture
570 * do a 100% correct context save here. 630 * manual.
631 *
632 * So we fix up the return address and status and return to a
633 * stub below in Exception mode. From there, we can follow the
634 * normal exception return path.
635 *
636 * The real return address and status registers are stored on
637 * the stack in the way the exception return path understands,
638 * so no need to fix anything up there.
571 */ 639 */
572handle_debug: 640 sub r8, pc, . - fault_exit_work
573 sub sp, 4 /* r12_orig */ 641 mtsr SYSREG_RAR_DBG, r8
574 stmts --sp, r0-lr 642 mov r9, 0
575 mfsr r10, SYSREG_RAR_DBG 643 orh r9, hi(SR_EM | SR_GM | MODE_EXCEPTION)
576 mfsr r11, SYSREG_RSR_DBG 644 mtsr SYSREG_RSR_DBG, r9
577 unmask_exceptions 645 sub pc, -2
578 pushm r10,r11
579 andh r11, (MODE_MASK >> 16), COH
580 brne handle_debug_priv
581
582 mov r12, sp
583 rcall do_debug
584
585 lddsp r10, sp[REG_SR]
586 andh r10, (MODE_MASK >> 16), COH
587 breq debug_resume_user
588
589debug_restore_all:
590 popm r10,r11
591 mask_exceptions
592 mtsr SYSREG_RSR_DBG, r11
593 mtsr SYSREG_RAR_DBG, r10
594 ldmts sp++, r0-lr
595 sub sp, -4
596 retd 646 retd
597 647 .size debug_exit_work, . - debug_exit_work
598debug_resume_user:
599 get_thread_info r0
600 mask_interrupts
601
602 ld.w r1, r0[TI_flags]
603 andl r1, _TIF_DBGWORK_MASK, COH
604 breq debug_restore_all
605
6061: bld r1, TIF_NEED_RESCHED
607 brcc 2f
608 unmask_interrupts
609 rcall schedule
610 mask_interrupts
611 ld.w r1, r0[TI_flags]
612 rjmp 1b
613
6142: mov r2, _TIF_SIGPENDING | _TIF_RESTORE_SIGMASK
615 tst r1, r2
616 breq 3f
617 unmask_interrupts
618 mov r12, sp
619 mov r11, r0
620 rcall do_notify_resume
621 mask_interrupts
622 ld.w r1, r0[TI_flags]
623 rjmp 1b
624
6253: bld r1, TIF_SINGLE_STEP
626 brcc debug_restore_all
627 mfdr r2, DBGREG_DC
628 sbr r2, DC_SS_BIT
629 mtdr DBGREG_DC, r2
630 rjmp debug_restore_all
631 648
632 .set rsr_int0, SYSREG_RSR_INT0 649 .set rsr_int0, SYSREG_RSR_INT0
633 .set rsr_int1, SYSREG_RSR_INT1 650 .set rsr_int1, SYSREG_RSR_INT1
@@ -675,7 +692,11 @@ irq_level\level:
675 andl r1, _TIF_WORK_MASK, COH 692 andl r1, _TIF_WORK_MASK, COH
676 brne irq_exit_work 693 brne irq_exit_work
677 694
6781: popm r8-r9 6951:
696#ifdef CONFIG_TRACE_IRQFLAGS
697 rcall trace_hardirqs_on
698#endif
699 popm r8-r9
679 mtsr rar_int\level, r8 700 mtsr rar_int\level, r8
680 mtsr rsr_int\level, r9 701 mtsr rsr_int\level, r9
681 ldmts sp++,r0-lr 702 ldmts sp++,r0-lr
@@ -748,3 +769,53 @@ cpu_idle_enable_int_and_exit:
748 IRQ_LEVEL 1 769 IRQ_LEVEL 1
749 IRQ_LEVEL 2 770 IRQ_LEVEL 2
750 IRQ_LEVEL 3 771 IRQ_LEVEL 3
772
773 .section .kprobes.text, "ax", @progbits
774 .type enter_monitor_mode, @function
775enter_monitor_mode:
776 /*
777 * We need to enter monitor mode to do a single step. The
778 * monitor code will alter the return address so that we
779 * return directly to the user instead of returning here.
780 */
781 breakpoint
782 rjmp breakpoint_failed
783
784 .size enter_monitor_mode, . - enter_monitor_mode
785
786 .type debug_trampoline, @function
787 .global debug_trampoline
788debug_trampoline:
789 /*
790 * Save the registers on the stack so that the monitor code
791 * can find them easily.
792 */
793 sub sp, 4 /* r12_orig */
794 stmts --sp, r0-lr
795 get_thread_info r0
796 ld.w r8, r0[TI_rar_saved]
797 ld.w r9, r0[TI_rsr_saved]
798 pushm r8-r9
799
800 /*
801 * The monitor code will alter the return address so we don't
802 * return here.
803 */
804 breakpoint
805 rjmp breakpoint_failed
806 .size debug_trampoline, . - debug_trampoline
807
808 .type breakpoint_failed, @function
809breakpoint_failed:
810 /*
811 * Something went wrong. Perhaps the debug hardware isn't
812 * enabled?
813 */
814 lda.w r12, msg_breakpoint_failed
815 mov r11, sp
816 mov r10, 9 /* SIGKILL */
817 call die
8181: rjmp 1b
819
820msg_breakpoint_failed:
821 .asciz "Failed to enter Debug Mode"
diff --git a/arch/avr32/kernel/kprobes.c b/arch/avr32/kernel/kprobes.c
index 20b1c9d8f945..799ba89b07a8 100644
--- a/arch/avr32/kernel/kprobes.c
+++ b/arch/avr32/kernel/kprobes.c
@@ -70,9 +70,9 @@ static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
70 70
71 BUG_ON(!(sysreg_read(SR) & SYSREG_BIT(SR_D))); 71 BUG_ON(!(sysreg_read(SR) & SYSREG_BIT(SR_D)));
72 72
73 dc = __mfdr(DBGREG_DC); 73 dc = ocd_read(DC);
74 dc |= DC_SS; 74 dc |= 1 << OCD_DC_SS_BIT;
75 __mtdr(DBGREG_DC, dc); 75 ocd_write(DC, dc);
76 76
77 /* 77 /*
78 * We must run the instruction from its original location 78 * We must run the instruction from its original location
@@ -91,9 +91,9 @@ static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs)
91 91
92 pr_debug("resuming execution at PC=%08lx\n", regs->pc); 92 pr_debug("resuming execution at PC=%08lx\n", regs->pc);
93 93
94 dc = __mfdr(DBGREG_DC); 94 dc = ocd_read(DC);
95 dc &= ~DC_SS; 95 dc &= ~(1 << OCD_DC_SS_BIT);
96 __mtdr(DBGREG_DC, dc); 96 ocd_write(DC, dc);
97 97
98 *p->addr = BREAKPOINT_INSTRUCTION; 98 *p->addr = BREAKPOINT_INSTRUCTION;
99 flush_icache_range((unsigned long)p->addr, 99 flush_icache_range((unsigned long)p->addr,
@@ -261,7 +261,7 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
261int __init arch_init_kprobes(void) 261int __init arch_init_kprobes(void)
262{ 262{
263 printk("KPROBES: Enabling monitor mode (MM|DBE)...\n"); 263 printk("KPROBES: Enabling monitor mode (MM|DBE)...\n");
264 __mtdr(DBGREG_DC, DC_MM | DC_DBE); 264 ocd_write(DC, (1 << OCD_DC_MM_BIT) | (1 << OCD_DC_DBE_BIT));
265 265
266 /* TODO: Register kretprobe trampoline */ 266 /* TODO: Register kretprobe trampoline */
267 return 0; 267 return 0;
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
index 13f988402613..9d6dac8af7a2 100644
--- a/arch/avr32/kernel/process.c
+++ b/arch/avr32/kernel/process.c
@@ -55,8 +55,8 @@ void machine_power_off(void)
55 55
56void machine_restart(char *cmd) 56void machine_restart(char *cmd)
57{ 57{
58 __mtdr(DBGREG_DC, DC_DBE); 58 ocd_write(DC, (1 << OCD_DC_DBE_BIT));
59 __mtdr(DBGREG_DC, DC_RES); 59 ocd_write(DC, (1 << OCD_DC_RES_BIT));
60 while (1) ; 60 while (1) ;
61} 61}
62 62
@@ -287,10 +287,11 @@ void show_regs_log_lvl(struct pt_regs *regs, const char *log_lvl)
287 regs->sr & SR_N ? 'N' : 'n', 287 regs->sr & SR_N ? 'N' : 'n',
288 regs->sr & SR_Z ? 'Z' : 'z', 288 regs->sr & SR_Z ? 'Z' : 'z',
289 regs->sr & SR_C ? 'C' : 'c'); 289 regs->sr & SR_C ? 'C' : 'c');
290 printk("%sMode bits: %c%c%c%c%c%c%c%c%c\n", log_lvl, 290 printk("%sMode bits: %c%c%c%c%c%c%c%c%c%c\n", log_lvl,
291 regs->sr & SR_H ? 'H' : 'h', 291 regs->sr & SR_H ? 'H' : 'h',
292 regs->sr & SR_R ? 'R' : 'r',
293 regs->sr & SR_J ? 'J' : 'j', 292 regs->sr & SR_J ? 'J' : 'j',
293 regs->sr & SR_DM ? 'M' : 'm',
294 regs->sr & SR_D ? 'D' : 'd',
294 regs->sr & SR_EM ? 'E' : 'e', 295 regs->sr & SR_EM ? 'E' : 'e',
295 regs->sr & SR_I3M ? '3' : '.', 296 regs->sr & SR_I3M ? '3' : '.',
296 regs->sr & SR_I2M ? '2' : '.', 297 regs->sr & SR_I2M ? '2' : '.',
diff --git a/arch/avr32/kernel/ptrace.c b/arch/avr32/kernel/ptrace.c
index 9e16b8a447f2..002369e44093 100644
--- a/arch/avr32/kernel/ptrace.c
+++ b/arch/avr32/kernel/ptrace.c
@@ -30,20 +30,22 @@ static struct pt_regs *get_user_regs(struct task_struct *tsk)
30 30
31static void ptrace_single_step(struct task_struct *tsk) 31static void ptrace_single_step(struct task_struct *tsk)
32{ 32{
33 pr_debug("ptrace_single_step: pid=%u, SR=0x%08lx\n", 33 pr_debug("ptrace_single_step: pid=%u, PC=0x%08lx, SR=0x%08lx\n",
34 tsk->pid, tsk->thread.cpu_context.sr); 34 tsk->pid, task_pt_regs(tsk)->pc, task_pt_regs(tsk)->sr);
35 if (!(tsk->thread.cpu_context.sr & SR_D)) {
36 /*
37 * Set a breakpoint at the current pc to force the
38 * process into debug mode. The syscall/exception
39 * exit code will set a breakpoint at the return
40 * address when this flag is set.
41 */
42 pr_debug("ptrace_single_step: Setting TIF_BREAKPOINT\n");
43 set_tsk_thread_flag(tsk, TIF_BREAKPOINT);
44 }
45 35
46 /* The monitor code will do the actual step for us */ 36 /*
37 * We can't schedule in Debug mode, so when TIF_BREAKPOINT is
38 * set, the system call or exception handler will do a
39 * breakpoint to enter monitor mode before returning to
40 * userspace.
41 *
42 * The monitor code will then notice that TIF_SINGLE_STEP is
43 * set and return to userspace with single stepping enabled.
44 * The CPU will then enter monitor mode again after exactly
45 * one instruction has been executed, and the monitor code
46 * will then send a SIGTRAP to the process.
47 */
48 set_tsk_thread_flag(tsk, TIF_BREAKPOINT);
47 set_tsk_thread_flag(tsk, TIF_SINGLE_STEP); 49 set_tsk_thread_flag(tsk, TIF_SINGLE_STEP);
48} 50}
49 51
@@ -55,23 +57,7 @@ static void ptrace_single_step(struct task_struct *tsk)
55void ptrace_disable(struct task_struct *child) 57void ptrace_disable(struct task_struct *child)
56{ 58{
57 clear_tsk_thread_flag(child, TIF_SINGLE_STEP); 59 clear_tsk_thread_flag(child, TIF_SINGLE_STEP);
58} 60 clear_tsk_thread_flag(child, TIF_BREAKPOINT);
59
60/*
61 * Handle hitting a breakpoint
62 */
63static void ptrace_break(struct task_struct *tsk, struct pt_regs *regs)
64{
65 siginfo_t info;
66
67 info.si_signo = SIGTRAP;
68 info.si_errno = 0;
69 info.si_code = TRAP_BRKPT;
70 info.si_addr = (void __user *)instruction_pointer(regs);
71
72 pr_debug("ptrace_break: Sending SIGTRAP to PID %u (pc = 0x%p)\n",
73 tsk->pid, info.si_addr);
74 force_sig_info(SIGTRAP, &info, tsk);
75} 61}
76 62
77/* 63/*
@@ -84,9 +70,6 @@ static int ptrace_read_user(struct task_struct *tsk, unsigned long offset,
84 unsigned long *regs; 70 unsigned long *regs;
85 unsigned long value; 71 unsigned long value;
86 72
87 pr_debug("ptrace_read_user(%p, %#lx, %p)\n",
88 tsk, offset, data);
89
90 if (offset & 3 || offset >= sizeof(struct user)) { 73 if (offset & 3 || offset >= sizeof(struct user)) {
91 printk("ptrace_read_user: invalid offset 0x%08lx\n", offset); 74 printk("ptrace_read_user: invalid offset 0x%08lx\n", offset);
92 return -EIO; 75 return -EIO;
@@ -98,6 +81,9 @@ static int ptrace_read_user(struct task_struct *tsk, unsigned long offset,
98 if (offset < sizeof(struct pt_regs)) 81 if (offset < sizeof(struct pt_regs))
99 value = regs[offset / sizeof(regs[0])]; 82 value = regs[offset / sizeof(regs[0])];
100 83
84 pr_debug("ptrace_read_user(%s[%u], %#lx, %p) -> %#lx\n",
85 tsk->comm, tsk->pid, offset, data, value);
86
101 return put_user(value, data); 87 return put_user(value, data);
102} 88}
103 89
@@ -111,8 +97,11 @@ static int ptrace_write_user(struct task_struct *tsk, unsigned long offset,
111{ 97{
112 unsigned long *regs; 98 unsigned long *regs;
113 99
100 pr_debug("ptrace_write_user(%s[%u], %#lx, %#lx)\n",
101 tsk->comm, tsk->pid, offset, value);
102
114 if (offset & 3 || offset >= sizeof(struct user)) { 103 if (offset & 3 || offset >= sizeof(struct user)) {
115 printk("ptrace_write_user: invalid offset 0x%08lx\n", offset); 104 pr_debug(" invalid offset 0x%08lx\n", offset);
116 return -EIO; 105 return -EIO;
117 } 106 }
118 107
@@ -155,11 +144,9 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
155{ 144{
156 int ret; 145 int ret;
157 146
158 pr_debug("arch_ptrace(%ld, %d, %#lx, %#lx)\n",
159 request, child->pid, addr, data);
160
161 pr_debug("ptrace: Enabling monitor mode...\n"); 147 pr_debug("ptrace: Enabling monitor mode...\n");
162 __mtdr(DBGREG_DC, __mfdr(DBGREG_DC) | DC_MM | DC_DBE); 148 ocd_write(DC, ocd_read(DC) | (1 << OCD_DC_MM_BIT)
149 | (1 << OCD_DC_DBE_BIT));
163 150
164 switch (request) { 151 switch (request) {
165 /* Read the word at location addr in the child process */ 152 /* Read the word at location addr in the child process */
@@ -240,19 +227,16 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
240 break; 227 break;
241 } 228 }
242 229
243 pr_debug("sys_ptrace returning %d (DC = 0x%08lx)\n", ret, __mfdr(DBGREG_DC));
244 return ret; 230 return ret;
245} 231}
246 232
247asmlinkage void syscall_trace(void) 233asmlinkage void syscall_trace(void)
248{ 234{
249 pr_debug("syscall_trace called\n");
250 if (!test_thread_flag(TIF_SYSCALL_TRACE)) 235 if (!test_thread_flag(TIF_SYSCALL_TRACE))
251 return; 236 return;
252 if (!(current->ptrace & PT_PTRACED)) 237 if (!(current->ptrace & PT_PTRACED))
253 return; 238 return;
254 239
255 pr_debug("syscall_trace: notifying parent\n");
256 /* The 0x80 provides a way for the tracing parent to 240 /* The 0x80 provides a way for the tracing parent to
257 * distinguish between a syscall stop and SIGTRAP delivery */ 241 * distinguish between a syscall stop and SIGTRAP delivery */
258 ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) 242 ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
@@ -271,86 +255,143 @@ asmlinkage void syscall_trace(void)
271 } 255 }
272} 256}
273 257
274asmlinkage void do_debug_priv(struct pt_regs *regs)
275{
276 unsigned long dc, ds;
277 unsigned long die_val;
278
279 ds = __mfdr(DBGREG_DS);
280
281 pr_debug("do_debug_priv: pc = %08lx, ds = %08lx\n", regs->pc, ds);
282
283 if (ds & DS_SSS)
284 die_val = DIE_SSTEP;
285 else
286 die_val = DIE_BREAKPOINT;
287
288 if (notify_die(die_val, "ptrace", regs, 0, 0, SIGTRAP) == NOTIFY_STOP)
289 return;
290
291 if (likely(ds & DS_SSS)) {
292 extern void itlb_miss(void);
293 extern void tlb_miss_common(void);
294 struct thread_info *ti;
295
296 dc = __mfdr(DBGREG_DC);
297 dc &= ~DC_SS;
298 __mtdr(DBGREG_DC, dc);
299
300 ti = current_thread_info();
301 set_ti_thread_flag(ti, TIF_BREAKPOINT);
302
303 /* The TLB miss handlers don't check thread flags */
304 if ((regs->pc >= (unsigned long)&itlb_miss)
305 && (regs->pc <= (unsigned long)&tlb_miss_common)) {
306 __mtdr(DBGREG_BWA2A, sysreg_read(RAR_EX));
307 __mtdr(DBGREG_BWC2A, 0x40000001 | (get_asid() << 1));
308 }
309
310 /*
311 * If we're running in supervisor mode, the breakpoint
312 * will take us where we want directly, no need to
313 * single step.
314 */
315 if ((regs->sr & MODE_MASK) != MODE_SUPERVISOR)
316 set_ti_thread_flag(ti, TIF_SINGLE_STEP);
317 } else {
318 panic("Unable to handle debug trap at pc = %08lx\n",
319 regs->pc);
320 }
321}
322
323/* 258/*
324 * Handle breakpoints, single steps and other debuggy things. To keep 259 * debug_trampoline() is an assembly stub which will store all user
325 * things simple initially, we run with interrupts and exceptions 260 * registers on the stack and execute a breakpoint instruction.
326 * disabled all the time. 261 *
262 * If we single-step into an exception handler which runs with
263 * interrupts disabled the whole time so it doesn't have to check for
264 * pending work, its return address will be modified so that it ends
265 * up returning to debug_trampoline.
266 *
267 * If the exception handler decides to store the user context and
268 * enable interrupts after all, it will restore the original return
269 * address and status register value. Before it returns, it will
270 * notice that TIF_BREAKPOINT is set and execute a breakpoint
271 * instruction.
327 */ 272 */
328asmlinkage void do_debug(struct pt_regs *regs) 273extern void debug_trampoline(void);
329{
330 unsigned long dc, ds;
331 274
332 ds = __mfdr(DBGREG_DS); 275asmlinkage struct pt_regs *do_debug(struct pt_regs *regs)
333 pr_debug("do_debug: pc = %08lx, ds = %08lx\n", regs->pc, ds); 276{
277 struct thread_info *ti;
278 unsigned long trampoline_addr;
279 u32 status;
280 u32 ctrl;
281 int code;
282
283 status = ocd_read(DS);
284 ti = current_thread_info();
285 code = TRAP_BRKPT;
286
287 pr_debug("do_debug: status=0x%08x PC=0x%08lx SR=0x%08lx tif=0x%08lx\n",
288 status, regs->pc, regs->sr, ti->flags);
289
290 if (!user_mode(regs)) {
291 unsigned long die_val = DIE_BREAKPOINT;
292
293 if (status & (1 << OCD_DS_SSS_BIT))
294 die_val = DIE_SSTEP;
295
296 if (notify_die(die_val, "ptrace", regs, 0, 0, SIGTRAP)
297 == NOTIFY_STOP)
298 return regs;
299
300 if ((status & (1 << OCD_DS_SWB_BIT))
301 && test_and_clear_ti_thread_flag(
302 ti, TIF_BREAKPOINT)) {
303 /*
304 * Explicit breakpoint from trampoline or
305 * exception/syscall/interrupt handler.
306 *
307 * The real saved regs are on the stack right
308 * after the ones we saved on entry.
309 */
310 regs++;
311 pr_debug(" -> TIF_BREAKPOINT done, adjusted regs:"
312 "PC=0x%08lx SR=0x%08lx\n",
313 regs->pc, regs->sr);
314 BUG_ON(!user_mode(regs));
315
316 if (test_thread_flag(TIF_SINGLE_STEP)) {
317 pr_debug("Going to do single step...\n");
318 return regs;
319 }
320
321 /*
322 * No TIF_SINGLE_STEP means we're done
323 * stepping over a syscall. Do the trap now.
324 */
325 code = TRAP_TRACE;
326 } else if ((status & (1 << OCD_DS_SSS_BIT))
327 && test_ti_thread_flag(ti, TIF_SINGLE_STEP)) {
328
329 pr_debug("Stepped into something, "
330 "setting TIF_BREAKPOINT...\n");
331 set_ti_thread_flag(ti, TIF_BREAKPOINT);
332
333 /*
334 * We stepped into an exception, interrupt or
335 * syscall handler. Some exception handlers
336 * don't check for pending work, so we need to
337 * set up a trampoline just in case.
338 *
339 * The exception entry code will undo the
340 * trampoline stuff if it does a full context
341 * save (which also means that it'll check for
342 * pending work later.)
343 */
344 if ((regs->sr & MODE_MASK) == MODE_EXCEPTION) {
345 trampoline_addr
346 = (unsigned long)&debug_trampoline;
347
348 pr_debug("Setting up trampoline...\n");
349 ti->rar_saved = sysreg_read(RAR_EX);
350 ti->rsr_saved = sysreg_read(RSR_EX);
351 sysreg_write(RAR_EX, trampoline_addr);
352 sysreg_write(RSR_EX, (MODE_EXCEPTION
353 | SR_EM | SR_GM));
354 BUG_ON(ti->rsr_saved & MODE_MASK);
355 }
356
357 /*
358 * If we stepped into a system call, we
359 * shouldn't do a single step after we return
360 * since the return address is right after the
361 * "scall" instruction we were told to step
362 * over.
363 */
364 if ((regs->sr & MODE_MASK) == MODE_SUPERVISOR) {
365 pr_debug("Supervisor; no single step\n");
366 clear_ti_thread_flag(ti, TIF_SINGLE_STEP);
367 }
368
369 ctrl = ocd_read(DC);
370 ctrl &= ~(1 << OCD_DC_SS_BIT);
371 ocd_write(DC, ctrl);
372
373 return regs;
374 } else {
375 printk(KERN_ERR "Unexpected OCD_DS value: 0x%08x\n",
376 status);
377 printk(KERN_ERR "Thread flags: 0x%08lx\n", ti->flags);
378 die("Unhandled debug trap in kernel mode",
379 regs, SIGTRAP);
380 }
381 } else if (status & (1 << OCD_DS_SSS_BIT)) {
382 /* Single step in user mode */
383 code = TRAP_TRACE;
334 384
335 if (test_thread_flag(TIF_BREAKPOINT)) { 385 ctrl = ocd_read(DC);
336 pr_debug("TIF_BREAKPOINT set\n"); 386 ctrl &= ~(1 << OCD_DC_SS_BIT);
337 /* We're taking care of it */ 387 ocd_write(DC, ctrl);
338 clear_thread_flag(TIF_BREAKPOINT);
339 __mtdr(DBGREG_BWC2A, 0);
340 } 388 }
341 389
342 if (test_thread_flag(TIF_SINGLE_STEP)) { 390 pr_debug("Sending SIGTRAP: code=%d PC=0x%08lx SR=0x%08lx\n",
343 pr_debug("TIF_SINGLE_STEP set, ds = 0x%08lx\n", ds); 391 code, regs->pc, regs->sr);
344 if (ds & DS_SSS) {
345 dc = __mfdr(DBGREG_DC);
346 dc &= ~DC_SS;
347 __mtdr(DBGREG_DC, dc);
348 392
349 clear_thread_flag(TIF_SINGLE_STEP); 393 clear_thread_flag(TIF_SINGLE_STEP);
350 ptrace_break(current, regs); 394 _exception(SIGTRAP, regs, code, instruction_pointer(regs));
351 } 395
352 } else { 396 return regs;
353 /* regular breakpoint */
354 ptrace_break(current, regs);
355 }
356} 397}
diff --git a/arch/avr32/kernel/stacktrace.c b/arch/avr32/kernel/stacktrace.c
new file mode 100644
index 000000000000..9a68190bbffd
--- /dev/null
+++ b/arch/avr32/kernel/stacktrace.c
@@ -0,0 +1,53 @@
1/*
2 * Stack trace management functions
3 *
4 * Copyright (C) 2007 Atmel Corporation
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#include <linux/sched.h>
11#include <linux/stacktrace.h>
12#include <linux/thread_info.h>
13
14register unsigned long current_frame_pointer asm("r7");
15
16struct stackframe {
17 unsigned long lr;
18 unsigned long fp;
19};
20
21/*
22 * Save stack-backtrace addresses into a stack_trace buffer.
23 */
24void save_stack_trace(struct stack_trace *trace)
25{
26 unsigned long low, high;
27 unsigned long fp;
28 struct stackframe *frame;
29 int skip = trace->skip;
30
31 low = (unsigned long)task_stack_page(current);
32 high = low + THREAD_SIZE;
33 fp = current_frame_pointer;
34
35 while (fp >= low && fp <= (high - 8)) {
36 frame = (struct stackframe *)fp;
37
38 if (skip) {
39 skip--;
40 } else {
41 trace->entries[trace->nr_entries++] = frame->lr;
42 if (trace->nr_entries >= trace->max_entries)
43 break;
44 }
45
46 /*
47 * The next frame must be at a higher address than the
48 * current frame.
49 */
50 low = fp + 8;
51 fp = frame->fp;
52 }
53}
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c
index 8a7caf8e7b45..870c075e6314 100644
--- a/arch/avr32/kernel/traps.c
+++ b/arch/avr32/kernel/traps.c
@@ -39,7 +39,7 @@ void NORET_TYPE die(const char *str, struct pt_regs *regs, long err)
39 printk("FRAME_POINTER "); 39 printk("FRAME_POINTER ");
40#endif 40#endif
41 if (current_cpu_data.features & AVR32_FEATURE_OCD) { 41 if (current_cpu_data.features & AVR32_FEATURE_OCD) {
42 unsigned long did = __mfdr(DBGREG_DID); 42 unsigned long did = ocd_read(DID);
43 printk("chip: 0x%03lx:0x%04lx rev %lu\n", 43 printk("chip: 0x%03lx:0x%04lx rev %lu\n",
44 (did >> 1) & 0x7ff, 44 (did >> 1) & 0x7ff,
45 (did >> 12) & 0x7fff, 45 (did >> 12) & 0x7fff,
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S
index ce9ac9659883..11f08e35a2eb 100644
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
@@ -77,10 +77,10 @@ SECTIONS
77 . = 0x100; 77 . = 0x100;
78 *(.scall.text) 78 *(.scall.text)
79 *(.irq.text) 79 *(.irq.text)
80 KPROBES_TEXT
80 TEXT_TEXT 81 TEXT_TEXT
81 SCHED_TEXT 82 SCHED_TEXT
82 LOCK_TEXT 83 LOCK_TEXT
83 KPROBES_TEXT
84 *(.fixup) 84 *(.fixup)
85 *(.gnu.warning) 85 *(.gnu.warning)
86 _etext = .; 86 _etext = .;
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index c1233c615e67..15a4e5e142c1 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -122,16 +122,6 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page)
122 } 122 }
123} 123}
124 124
125/*
126 * This one is used by copy_to_user_page()
127 */
128void flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
129 unsigned long addr, int len)
130{
131 if (vma->vm_flags & VM_EXEC)
132 flush_icache_range(addr, addr + len);
133}
134
135asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len) 125asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len)
136{ 126{
137 int ret; 127 int ret;
@@ -159,3 +149,13 @@ asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len)
159out: 149out:
160 return ret; 150 return ret;
161} 151}
152
153void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
154 unsigned long vaddr, void *dst, const void *src,
155 unsigned long len)
156{
157 memcpy(dst, src, len);
158 if (vma->vm_flags & VM_EXEC)
159 flush_icache_range((unsigned long)dst,
160 (unsigned long)dst + len);
161}
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 455bd1f560aa..c6fc405a6c8e 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -714,6 +714,10 @@ config ARCH_HAS_ILOG2_U64
714 bool 714 bool
715 default n 715 default n
716 716
717config ARCH_SUPPORTS_OPROFILE
718 bool
719 default y if !MIPS_MT_SMTC
720
717config GENERIC_FIND_NEXT_BIT 721config GENERIC_FIND_NEXT_BIT
718 bool 722 bool
719 default y 723 default y
diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c
index 9d6ad43fded6..edf91f41a786 100644
--- a/arch/mips/au1000/common/dbdma.c
+++ b/arch/mips/au1000/common/dbdma.c
@@ -859,7 +859,7 @@ dbdma_interrupt(int irq, void *dev_id)
859 859
860 intstat = dbdma_gptr->ddma_intstat; 860 intstat = dbdma_gptr->ddma_intstat;
861 au_sync(); 861 au_sync();
862 chan_index = ffs(intstat); 862 chan_index = __ffs(intstat);
863 863
864 ctp = chan_tab_ptr[chan_index]; 864 ctp = chan_tab_ptr[chan_index];
865 cp = ctp->chan_ptr; 865 cp = ctp->chan_ptr;
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index ddfb7f0a17a6..3c7714f057ac 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -462,9 +462,9 @@ static void intc0_req0_irqdispatch(void)
462 return; 462 return;
463 } 463 }
464#endif 464#endif
465 bit = ffs(intc0_req0); 465 bit = __ffs(intc0_req0);
466 intc0_req0 &= ~(1 << bit); 466 intc0_req0 &= ~(1 << bit);
467 do_IRQ(MIPS_CPU_IRQ_BASE + bit); 467 do_IRQ(AU1000_INTC0_INT_BASE + bit);
468} 468}
469 469
470 470
@@ -478,9 +478,9 @@ static void intc0_req1_irqdispatch(void)
478 if (!intc0_req1) 478 if (!intc0_req1)
479 return; 479 return;
480 480
481 bit = ffs(intc0_req1); 481 bit = __ffs(intc0_req1);
482 intc0_req1 &= ~(1 << bit); 482 intc0_req1 &= ~(1 << bit);
483 do_IRQ(bit); 483 do_IRQ(AU1000_INTC0_INT_BASE + bit);
484} 484}
485 485
486 486
@@ -498,9 +498,9 @@ static void intc1_req0_irqdispatch(void)
498 if (!intc1_req0) 498 if (!intc1_req0)
499 return; 499 return;
500 500
501 bit = ffs(intc1_req0); 501 bit = __ffs(intc1_req0);
502 intc1_req0 &= ~(1 << bit); 502 intc1_req0 &= ~(1 << bit);
503 do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); 503 do_IRQ(AU1000_INTC1_INT_BASE + bit);
504} 504}
505 505
506 506
@@ -514,9 +514,9 @@ static void intc1_req1_irqdispatch(void)
514 if (!intc1_req1) 514 if (!intc1_req1)
515 return; 515 return;
516 516
517 bit = ffs(intc1_req1); 517 bit = __ffs(intc1_req1);
518 intc1_req1 &= ~(1 << bit); 518 intc1_req1 &= ~(1 << bit);
519 do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); 519 do_IRQ(AU1000_INTC1_INT_BASE + bit);
520} 520}
521 521
522asmlinkage void plat_irq_dispatch(void) 522asmlinkage void plat_irq_dispatch(void)
diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c
index c096be4ed4e7..8fcd0df86f93 100644
--- a/arch/mips/au1000/pb1200/irqmap.c
+++ b/arch/mips/au1000/pb1200/irqmap.c
@@ -74,7 +74,7 @@ irqreturn_t pb1200_cascade_handler( int irq, void *dev_id)
74 bcsr->int_status = bisr; 74 bcsr->int_status = bisr;
75 for( ; bisr; bisr &= (bisr-1) ) 75 for( ; bisr; bisr &= (bisr-1) )
76 { 76 {
77 extirq_nr = PB1200_INT_BEGIN + ffs(bisr); 77 extirq_nr = PB1200_INT_BEGIN + __ffs(bisr);
78 /* Ack and dispatch IRQ */ 78 /* Ack and dispatch IRQ */
79 do_IRQ(extirq_nr); 79 do_IRQ(extirq_nr);
80 } 80 }
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c
index 423bc2c473df..bdfa07aecd97 100644
--- a/arch/mips/oprofile/op_model_mipsxx.c
+++ b/arch/mips/oprofile/op_model_mipsxx.c
@@ -6,6 +6,7 @@
6 * Copyright (C) 2004, 05, 06 by Ralf Baechle 6 * Copyright (C) 2004, 05, 06 by Ralf Baechle
7 * Copyright (C) 2005 by MIPS Technologies, Inc. 7 * Copyright (C) 2005 by MIPS Technologies, Inc.
8 */ 8 */
9#include <linux/cpumask.h>
9#include <linux/oprofile.h> 10#include <linux/oprofile.h>
10#include <linux/interrupt.h> 11#include <linux/interrupt.h>
11#include <linux/smp.h> 12#include <linux/smp.h>
@@ -33,11 +34,45 @@
33#ifdef CONFIG_MIPS_MT_SMP 34#ifdef CONFIG_MIPS_MT_SMP
34#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id())) 35#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id()))
35#define vpe_id() smp_processor_id() 36#define vpe_id() smp_processor_id()
37
38/*
39 * The number of bits to shift to convert between counters per core and
40 * counters per VPE. There is no reasonable interface atm to obtain the
41 * number of VPEs used by Linux and in the 34K this number is fixed to two
42 * anyways so we hardcore a few things here for the moment. The way it's
43 * done here will ensure that oprofile VSMP kernel will run right on a lesser
44 * core like a 24K also or with maxcpus=1.
45 */
46static inline unsigned int vpe_shift(void)
47{
48 if (num_possible_cpus() > 1)
49 return 1;
50
51 return 0;
52}
53
36#else 54#else
55
37#define WHAT 0 56#define WHAT 0
38#define vpe_id() 0 57#define vpe_id() 0
58
59static inline unsigned int vpe_shift(void)
60{
61 return 0;
62}
63
39#endif 64#endif
40 65
66static inline unsigned int counters_total_to_per_cpu(unsigned int counters)
67{
68 return counters >> vpe_shift();
69}
70
71static inline unsigned int counters_per_cpu_to_total(unsigned int counters)
72{
73 return counters << vpe_shift();
74}
75
41#define __define_perf_accessors(r, n, np) \ 76#define __define_perf_accessors(r, n, np) \
42 \ 77 \
43static inline unsigned int r_c0_ ## r ## n(void) \ 78static inline unsigned int r_c0_ ## r ## n(void) \
@@ -269,9 +304,7 @@ static int __init mipsxx_init(void)
269 304
270 reset_counters(counters); 305 reset_counters(counters);
271 306
272#ifdef CONFIG_MIPS_MT_SMP 307 counters = counters_total_to_per_cpu(counters);
273 counters >>= 1;
274#endif
275 308
276 op_model_mipsxx_ops.num_counters = counters; 309 op_model_mipsxx_ops.num_counters = counters;
277 switch (current_cpu_type()) { 310 switch (current_cpu_type()) {
@@ -330,9 +363,8 @@ static int __init mipsxx_init(void)
330static void mipsxx_exit(void) 363static void mipsxx_exit(void)
331{ 364{
332 int counters = op_model_mipsxx_ops.num_counters; 365 int counters = op_model_mipsxx_ops.num_counters;
333#ifdef CONFIG_MIPS_MT_SMP 366
334 counters <<= 1; 367 counters = counters_per_cpu_to_total(counters);
335#endif
336 reset_counters(counters); 368 reset_counters(counters);
337 369
338 perf_irq = null_perf_irq; 370 perf_irq = null_perf_irq;
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c
index 5443ea3596f8..47f316c86ab1 100644
--- a/arch/mips/pci/pci-bcm1480.c
+++ b/arch/mips/pci/pci-bcm1480.c
@@ -76,8 +76,10 @@ static inline void WRITECFG32(u32 addr, u32 data)
76 76
77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
78{ 78{
79 This is b0rked. 79 if (pin == 0)
80 return dev->irq; 80 return -1;
81
82 return K_BCM1480_INT_PCI_INTA - 1 + pin;
81} 83}
82 84
83/* Do platform specific device initialization at pci_enable_device() time */ 85/* Do platform specific device initialization at pci_enable_device() time */
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index ae4a9b3d4fd6..e574de4efb36 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -70,7 +70,7 @@ kernel-y := mm/ kernel/ math-emu/ kernel/init_task.o
70kernel-$(CONFIG_HPUX) += hpux/ 70kernel-$(CONFIG_HPUX) += hpux/
71 71
72core-y += $(addprefix arch/parisc/, $(kernel-y)) 72core-y += $(addprefix arch/parisc/, $(kernel-y))
73libs-y += arch/parisc/lib/ 73libs-y += arch/parisc/lib/ `$(CC) -print-libgcc-file-name`
74 74
75drivers-$(CONFIG_OPROFILE) += arch/parisc/oprofile/ 75drivers-$(CONFIG_OPROFILE) += arch/parisc/oprofile/
76 76
diff --git a/arch/parisc/kernel/firmware.c b/arch/parisc/kernel/firmware.c
index fd6552c4c08c..4ab83d56974d 100644
--- a/arch/parisc/kernel/firmware.c
+++ b/arch/parisc/kernel/firmware.c
@@ -1082,76 +1082,56 @@ void pdc_io_reset_devices(void)
1082 1082
1083 1083
1084/** 1084/**
1085 * pdc_iodc_putc - Console character print using IODC. 1085 * pdc_iodc_print - Console print using IODC.
1086 * @c: the character to output. 1086 * @str: the string to output.
1087 * @count: length of str
1087 * 1088 *
1088 * Note that only these special chars are architected for console IODC io: 1089 * Note that only these special chars are architected for console IODC io:
1089 * BEL, BS, CR, and LF. Others are passed through. 1090 * BEL, BS, CR, and LF. Others are passed through.
1090 * Since the HP console requires CR+LF to perform a 'newline', we translate 1091 * Since the HP console requires CR+LF to perform a 'newline', we translate
1091 * "\n" to "\r\n". 1092 * "\n" to "\r\n".
1092 */ 1093 */
1093void pdc_iodc_putc(unsigned char c) 1094int pdc_iodc_print(unsigned char *str, unsigned count)
1094{ 1095{
1095 /* XXX Should we spinlock posx usage */ 1096 /* XXX Should we spinlock posx usage */
1096 static int posx; /* for simple TAB-Simulation... */ 1097 static int posx; /* for simple TAB-Simulation... */
1097 static int __attribute__((aligned(8))) iodc_retbuf[32]; 1098 int __attribute__((aligned(8))) iodc_retbuf[32];
1098 static char __attribute__((aligned(64))) iodc_dbuf[4096]; 1099 char __attribute__((aligned(64))) iodc_dbuf[4096];
1099 unsigned int n; 1100 unsigned int i;
1100 unsigned long flags; 1101 unsigned long flags;
1101 1102
1102 switch (c) { 1103 memset(iodc_dbuf, 0, 4096);
1103 case '\n': 1104 for (i = 0; i < count && i < 2048;) {
1104 iodc_dbuf[0] = '\r'; 1105 switch(str[i]) {
1105 iodc_dbuf[1] = '\n'; 1106 case '\n':
1106 n = 2; 1107 iodc_dbuf[i+0] = '\r';
1107 posx = 0; 1108 iodc_dbuf[i+1] = '\n';
1108 break; 1109 i += 2;
1109 case '\t': 1110 posx = 0;
1110 pdc_iodc_putc(' '); 1111 break;
1111 while (posx & 7) /* expand TAB */ 1112 case '\t':
1112 pdc_iodc_putc(' '); 1113 while (posx & 7) {
1113 return; /* return since IODC can't handle this */ 1114 iodc_dbuf[i] = ' ';
1114 case '\b': 1115 i++, posx++;
1115 posx-=2; /* BS */ 1116 }
1116 default: 1117 break;
1117 iodc_dbuf[0] = c; 1118 case '\b': /* BS */
1118 n = 1; 1119 posx -= 2;
1119 posx++; 1120 default:
1120 break; 1121 iodc_dbuf[i] = str[i];
1121 } 1122 i++, posx++;
1123 break;
1124 }
1125 }
1122 1126
1123 spin_lock_irqsave(&pdc_lock, flags); 1127 spin_lock_irqsave(&pdc_lock, flags);
1124 real32_call(PAGE0->mem_cons.iodc_io, 1128 real32_call(PAGE0->mem_cons.iodc_io,
1125 (unsigned long)PAGE0->mem_cons.hpa, ENTRY_IO_COUT, 1129 (unsigned long)PAGE0->mem_cons.hpa, ENTRY_IO_COUT,
1126 PAGE0->mem_cons.spa, __pa(PAGE0->mem_cons.dp.layers), 1130 PAGE0->mem_cons.spa, __pa(PAGE0->mem_cons.dp.layers),
1127 __pa(iodc_retbuf), 0, __pa(iodc_dbuf), n, 0); 1131 __pa(iodc_retbuf), 0, __pa(iodc_dbuf), i, 0);
1128 spin_unlock_irqrestore(&pdc_lock, flags); 1132 spin_unlock_irqrestore(&pdc_lock, flags);
1129}
1130 1133
1131/** 1134 return i;
1132 * pdc_iodc_outc - Console character print using IODC (without conversions).
1133 * @c: the character to output.
1134 *
1135 * Write the character directly to the IODC console.
1136 */
1137void pdc_iodc_outc(unsigned char c)
1138{
1139 unsigned int n;
1140 unsigned long flags;
1141
1142 /* fill buffer with one caracter and print it */
1143 static int __attribute__((aligned(8))) iodc_retbuf[32];
1144 static char __attribute__((aligned(64))) iodc_dbuf[4096];
1145
1146 n = 1;
1147 iodc_dbuf[0] = c;
1148
1149 spin_lock_irqsave(&pdc_lock, flags);
1150 real32_call(PAGE0->mem_cons.iodc_io,
1151 (unsigned long)PAGE0->mem_cons.hpa, ENTRY_IO_COUT,
1152 PAGE0->mem_cons.spa, __pa(PAGE0->mem_cons.dp.layers),
1153 __pa(iodc_retbuf), 0, __pa(iodc_dbuf), n, 0);
1154 spin_unlock_irqrestore(&pdc_lock, flags);
1155} 1135}
1156 1136
1157/** 1137/**
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 76ce5e3b0050..23ef950df008 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -397,7 +397,7 @@ static void claim_cpu_irqs(void)
397 } 397 }
398 398
399 irq_desc[TIMER_IRQ].action = &timer_action; 399 irq_desc[TIMER_IRQ].action = &timer_action;
400 irq_desc[TIMER_IRQ].status |= IRQ_PER_CPU; 400 irq_desc[TIMER_IRQ].status = IRQ_PER_CPU;
401#ifdef CONFIG_SMP 401#ifdef CONFIG_SMP
402 irq_desc[IPI_IRQ].action = &ipi_action; 402 irq_desc[IPI_IRQ].action = &ipi_action;
403 irq_desc[IPI_IRQ].status = IRQ_PER_CPU; 403 irq_desc[IPI_IRQ].status = IRQ_PER_CPU;
diff --git a/arch/parisc/kernel/parisc_ksyms.c b/arch/parisc/kernel/parisc_ksyms.c
index 671ee5b9950c..7aca704e96f0 100644
--- a/arch/parisc/kernel/parisc_ksyms.c
+++ b/arch/parisc/kernel/parisc_ksyms.c
@@ -122,9 +122,31 @@ EXPORT_SYMBOL($$divI_12);
122EXPORT_SYMBOL($$divI_14); 122EXPORT_SYMBOL($$divI_14);
123EXPORT_SYMBOL($$divI_15); 123EXPORT_SYMBOL($$divI_15);
124 124
125extern void __ashrdi3(void);
126extern void __ashldi3(void);
127extern void __lshrdi3(void);
128extern void __muldi3(void);
129
130EXPORT_SYMBOL(__ashrdi3);
131EXPORT_SYMBOL(__ashldi3);
132EXPORT_SYMBOL(__lshrdi3);
133EXPORT_SYMBOL(__muldi3);
134
125asmlinkage void * __canonicalize_funcptr_for_compare(void *); 135asmlinkage void * __canonicalize_funcptr_for_compare(void *);
126EXPORT_SYMBOL(__canonicalize_funcptr_for_compare); 136EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);
127 137
138#ifdef CONFIG_64BIT
139extern void __divdi3(void);
140extern void __udivdi3(void);
141extern void __umoddi3(void);
142extern void __moddi3(void);
143
144EXPORT_SYMBOL(__divdi3);
145EXPORT_SYMBOL(__udivdi3);
146EXPORT_SYMBOL(__umoddi3);
147EXPORT_SYMBOL(__moddi3);
148#endif
149
128#ifndef CONFIG_64BIT 150#ifndef CONFIG_64BIT
129extern void $$dyncall(void); 151extern void $$dyncall(void);
130EXPORT_SYMBOL($$dyncall); 152EXPORT_SYMBOL($$dyncall);
diff --git a/arch/parisc/kernel/pdc_cons.c b/arch/parisc/kernel/pdc_cons.c
index aab05767427c..33b1f84441b1 100644
--- a/arch/parisc/kernel/pdc_cons.c
+++ b/arch/parisc/kernel/pdc_cons.c
@@ -55,13 +55,7 @@
55 55
56static void pdc_console_write(struct console *co, const char *s, unsigned count) 56static void pdc_console_write(struct console *co, const char *s, unsigned count)
57{ 57{
58 while(count--) 58 pdc_iodc_print(s, count);
59 pdc_iodc_putc(*s++);
60}
61
62void pdc_outc(unsigned char c)
63{
64 pdc_iodc_outc(c);
65} 59}
66 60
67void pdc_printf(const char *fmt, ...) 61void pdc_printf(const char *fmt, ...)
@@ -74,8 +68,7 @@ void pdc_printf(const char *fmt, ...)
74 len = vscnprintf(buf, sizeof(buf), fmt, args); 68 len = vscnprintf(buf, sizeof(buf), fmt, args);
75 va_end(args); 69 va_end(args);
76 70
77 for (i = 0; i < len; i++) 71 pdc_iodc_print(buf, len);
78 pdc_iodc_outc(buf[i]);
79} 72}
80 73
81int pdc_console_poll_key(struct console *co) 74int pdc_console_poll_key(struct console *co)
diff --git a/arch/parisc/lib/Makefile b/arch/parisc/lib/Makefile
index 7ce406c7daf5..5f2e6904d14a 100644
--- a/arch/parisc/lib/Makefile
+++ b/arch/parisc/lib/Makefile
@@ -4,4 +4,4 @@
4 4
5lib-y := lusercopy.o bitops.o checksum.o io.o memset.o fixup.o memcpy.o 5lib-y := lusercopy.o bitops.o checksum.o io.o memset.o fixup.o memcpy.o
6 6
7obj-y := libgcc/ milli/ iomap.o 7obj-y := iomap.o
diff --git a/arch/parisc/lib/libgcc/Makefile b/arch/parisc/lib/libgcc/Makefile
deleted file mode 100644
index b67a85ad9c87..000000000000
--- a/arch/parisc/lib/libgcc/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
1obj-y := __ashldi3.o __ashrdi3.o __clzsi2.o __divdi3.o __divsi3.o \
2 __lshrdi3.o __moddi3.o __modsi3.o __udivdi3.o \
3 __udivmoddi4.o __udivmodsi4.o __udivsi3.o \
4 __umoddi3.o __umodsi3.o __muldi3.o __umulsidi3.o
diff --git a/arch/parisc/lib/libgcc/__ashldi3.c b/arch/parisc/lib/libgcc/__ashldi3.c
deleted file mode 100644
index a14a257abb2b..000000000000
--- a/arch/parisc/lib/libgcc/__ashldi3.c
+++ /dev/null
@@ -1,19 +0,0 @@
1#include "libgcc.h"
2
3u64 __ashldi3(u64 v, int cnt)
4{
5 int c = cnt & 31;
6 u32 vl = (u32) v;
7 u32 vh = (u32) (v >> 32);
8
9 if (cnt & 32) {
10 vh = (vl << c);
11 vl = 0;
12 } else {
13 vh = (vh << c) + (vl >> (32 - c));
14 vl = (vl << c);
15 }
16
17 return ((u64) vh << 32) + vl;
18}
19EXPORT_SYMBOL(__ashldi3);
diff --git a/arch/parisc/lib/libgcc/__ashrdi3.c b/arch/parisc/lib/libgcc/__ashrdi3.c
deleted file mode 100644
index 8636a5aa4f77..000000000000
--- a/arch/parisc/lib/libgcc/__ashrdi3.c
+++ /dev/null
@@ -1,19 +0,0 @@
1#include "libgcc.h"
2
3u64 __ashrdi3(u64 v, int cnt)
4{
5 int c = cnt & 31;
6 u32 vl = (u32) v;
7 u32 vh = (u32) (v >> 32);
8
9 if (cnt & 32) {
10 vl = ((s32) vh >> c);
11 vh = (s32) vh >> 31;
12 } else {
13 vl = (vl >> c) + (vh << (32 - c));
14 vh = ((s32) vh >> c);
15 }
16
17 return ((u64) vh << 32) + vl;
18}
19EXPORT_SYMBOL(__ashrdi3);
diff --git a/arch/parisc/lib/libgcc/__clzsi2.c b/arch/parisc/lib/libgcc/__clzsi2.c
deleted file mode 100644
index a7aa2f55a9c6..000000000000
--- a/arch/parisc/lib/libgcc/__clzsi2.c
+++ /dev/null
@@ -1,30 +0,0 @@
1#include "libgcc.h"
2
3u32 __clzsi2(u32 v)
4{
5 int p = 31;
6
7 if (v & 0xffff0000) {
8 p -= 16;
9 v >>= 16;
10 }
11 if (v & 0xff00) {
12 p -= 8;
13 v >>= 8;
14 }
15 if (v & 0xf0) {
16 p -= 4;
17 v >>= 4;
18 }
19 if (v & 0xc) {
20 p -= 2;
21 v >>= 2;
22 }
23 if (v & 0x2) {
24 p -= 1;
25 v >>= 1;
26 }
27
28 return p;
29}
30EXPORT_SYMBOL(__clzsi2);
diff --git a/arch/parisc/lib/libgcc/__divdi3.c b/arch/parisc/lib/libgcc/__divdi3.c
deleted file mode 100644
index f23c6fe2838b..000000000000
--- a/arch/parisc/lib/libgcc/__divdi3.c
+++ /dev/null
@@ -1,23 +0,0 @@
1#include "libgcc.h"
2
3s64 __divdi3(s64 num, s64 den)
4{
5 int minus = 0;
6 s64 v;
7
8 if (num < 0) {
9 num = -num;
10 minus = 1;
11 }
12 if (den < 0) {
13 den = -den;
14 minus ^= 1;
15 }
16
17 v = __udivmoddi4(num, den, NULL);
18 if (minus)
19 v = -v;
20
21 return v;
22}
23EXPORT_SYMBOL(__divdi3);
diff --git a/arch/parisc/lib/libgcc/__divsi3.c b/arch/parisc/lib/libgcc/__divsi3.c
deleted file mode 100644
index 730fb530680d..000000000000
--- a/arch/parisc/lib/libgcc/__divsi3.c
+++ /dev/null
@@ -1,23 +0,0 @@
1#include "libgcc.h"
2
3s32 __divsi3(s32 num, s32 den)
4{
5 int minus = 0;
6 s32 v;
7
8 if (num < 0) {
9 num = -num;
10 minus = 1;
11 }
12 if (den < 0) {
13 den = -den;
14 minus ^= 1;
15 }
16
17 v = __udivmodsi4(num, den, NULL);
18 if (minus)
19 v = -v;
20
21 return v;
22}
23EXPORT_SYMBOL(__divsi3);
diff --git a/arch/parisc/lib/libgcc/__lshrdi3.c b/arch/parisc/lib/libgcc/__lshrdi3.c
deleted file mode 100644
index 4a820708ec57..000000000000
--- a/arch/parisc/lib/libgcc/__lshrdi3.c
+++ /dev/null
@@ -1,19 +0,0 @@
1#include "libgcc.h"
2
3u64 __lshrdi3(u64 v, int cnt)
4{
5 int c = cnt & 31;
6 u32 vl = (u32) v;
7 u32 vh = (u32) (v >> 32);
8
9 if (cnt & 32) {
10 vl = (vh >> c);
11 vh = 0;
12 } else {
13 vl = (vl >> c) + (vh << (32 - c));
14 vh = (vh >> c);
15 }
16
17 return ((u64) vh << 32) + vl;
18}
19EXPORT_SYMBOL(__lshrdi3);
diff --git a/arch/parisc/lib/libgcc/__moddi3.c b/arch/parisc/lib/libgcc/__moddi3.c
deleted file mode 100644
index ed64bbafc989..000000000000
--- a/arch/parisc/lib/libgcc/__moddi3.c
+++ /dev/null
@@ -1,23 +0,0 @@
1#include "libgcc.h"
2
3s64 __moddi3(s64 num, s64 den)
4{
5 int minus = 0;
6 s64 v;
7
8 if (num < 0) {
9 num = -num;
10 minus = 1;
11 }
12 if (den < 0) {
13 den = -den;
14 minus ^= 1;
15 }
16
17 (void)__udivmoddi4(num, den, (u64 *) & v);
18 if (minus)
19 v = -v;
20
21 return v;
22}
23EXPORT_SYMBOL(__moddi3);
diff --git a/arch/parisc/lib/libgcc/__modsi3.c b/arch/parisc/lib/libgcc/__modsi3.c
deleted file mode 100644
index 62f773efaeea..000000000000
--- a/arch/parisc/lib/libgcc/__modsi3.c
+++ /dev/null
@@ -1,23 +0,0 @@
1#include "libgcc.h"
2
3s32 __modsi3(s32 num, s32 den)
4{
5 int minus = 0;
6 s32 v;
7
8 if (num < 0) {
9 num = -num;
10 minus = 1;
11 }
12 if (den < 0) {
13 den = -den;
14 minus ^= 1;
15 }
16
17 (void)__udivmodsi4(num, den, (u32 *) & v);
18 if (minus)
19 v = -v;
20
21 return v;
22}
23EXPORT_SYMBOL(__modsi3);
diff --git a/arch/parisc/lib/libgcc/__muldi3.c b/arch/parisc/lib/libgcc/__muldi3.c
deleted file mode 100644
index 3308abdd5580..000000000000
--- a/arch/parisc/lib/libgcc/__muldi3.c
+++ /dev/null
@@ -1,22 +0,0 @@
1#include "libgcc.h"
2
3union DWunion {
4 struct {
5 s32 high;
6 s32 low;
7 } s;
8 s64 ll;
9};
10
11s64 __muldi3(s64 u, s64 v)
12{
13 const union DWunion uu = { .ll = u };
14 const union DWunion vv = { .ll = v };
15 union DWunion w = { .ll = __umulsidi3(uu.s.low, vv.s.low) };
16
17 w.s.high += ((u32)uu.s.low * (u32)vv.s.high
18 + (u32)uu.s.high * (u32)vv.s.low);
19
20 return w.ll;
21}
22EXPORT_SYMBOL(__muldi3);
diff --git a/arch/parisc/lib/libgcc/__udivdi3.c b/arch/parisc/lib/libgcc/__udivdi3.c
deleted file mode 100644
index 740023d690f5..000000000000
--- a/arch/parisc/lib/libgcc/__udivdi3.c
+++ /dev/null
@@ -1,7 +0,0 @@
1#include "libgcc.h"
2
3u64 __udivdi3(u64 num, u64 den)
4{
5 return __udivmoddi4(num, den, NULL);
6}
7EXPORT_SYMBOL(__udivdi3);
diff --git a/arch/parisc/lib/libgcc/__udivmoddi4.c b/arch/parisc/lib/libgcc/__udivmoddi4.c
deleted file mode 100644
index 2df0caa5a7d8..000000000000
--- a/arch/parisc/lib/libgcc/__udivmoddi4.c
+++ /dev/null
@@ -1,31 +0,0 @@
1#include "libgcc.h"
2
3u64 __udivmoddi4(u64 num, u64 den, u64 * rem_p)
4{
5 u64 quot = 0, qbit = 1;
6
7 if (den == 0) {
8 BUG();
9 }
10
11 /* Left-justify denominator and count shift */
12 while ((s64) den >= 0) {
13 den <<= 1;
14 qbit <<= 1;
15 }
16
17 while (qbit) {
18 if (den <= num) {
19 num -= den;
20 quot += qbit;
21 }
22 den >>= 1;
23 qbit >>= 1;
24 }
25
26 if (rem_p)
27 *rem_p = num;
28
29 return quot;
30}
31EXPORT_SYMBOL(__udivmoddi4);
diff --git a/arch/parisc/lib/libgcc/__udivmodsi4.c b/arch/parisc/lib/libgcc/__udivmodsi4.c
deleted file mode 100644
index 2a2fc28b2026..000000000000
--- a/arch/parisc/lib/libgcc/__udivmodsi4.c
+++ /dev/null
@@ -1,31 +0,0 @@
1#include "libgcc.h"
2
3u32 __udivmodsi4(u32 num, u32 den, u32 * rem_p)
4{
5 u32 quot = 0, qbit = 1;
6
7 if (den == 0) {
8 BUG();
9 }
10
11 /* Left-justify denominator and count shift */
12 while ((s32) den >= 0) {
13 den <<= 1;
14 qbit <<= 1;
15 }
16
17 while (qbit) {
18 if (den <= num) {
19 num -= den;
20 quot += qbit;
21 }
22 den >>= 1;
23 qbit >>= 1;
24 }
25
26 if (rem_p)
27 *rem_p = num;
28
29 return quot;
30}
31EXPORT_SYMBOL(__udivmodsi4);
diff --git a/arch/parisc/lib/libgcc/__udivsi3.c b/arch/parisc/lib/libgcc/__udivsi3.c
deleted file mode 100644
index 756a44164e90..000000000000
--- a/arch/parisc/lib/libgcc/__udivsi3.c
+++ /dev/null
@@ -1,7 +0,0 @@
1#include "libgcc.h"
2
3u32 __udivsi3(u32 num, u32 den)
4{
5 return __udivmodsi4(num, den, NULL);
6}
7EXPORT_SYMBOL(__udivsi3);
diff --git a/arch/parisc/lib/libgcc/__umoddi3.c b/arch/parisc/lib/libgcc/__umoddi3.c
deleted file mode 100644
index ac744e948bc1..000000000000
--- a/arch/parisc/lib/libgcc/__umoddi3.c
+++ /dev/null
@@ -1,10 +0,0 @@
1#include "libgcc.h"
2
3u64 __umoddi3(u64 num, u64 den)
4{
5 u64 v;
6
7 (void)__udivmoddi4(num, den, &v);
8 return v;
9}
10EXPORT_SYMBOL(__umoddi3);
diff --git a/arch/parisc/lib/libgcc/__umodsi3.c b/arch/parisc/lib/libgcc/__umodsi3.c
deleted file mode 100644
index 51f55aa89f9a..000000000000
--- a/arch/parisc/lib/libgcc/__umodsi3.c
+++ /dev/null
@@ -1,10 +0,0 @@
1#include "libgcc.h"
2
3u32 __umodsi3(u32 num, u32 den)
4{
5 u32 v;
6
7 (void)__udivmodsi4(num, den, &v);
8 return v;
9}
10EXPORT_SYMBOL(__umodsi3);
diff --git a/arch/parisc/lib/libgcc/__umulsidi3.c b/arch/parisc/lib/libgcc/__umulsidi3.c
deleted file mode 100644
index 396f669164d4..000000000000
--- a/arch/parisc/lib/libgcc/__umulsidi3.c
+++ /dev/null
@@ -1,46 +0,0 @@
1#include "libgcc.h"
2
3#define __ll_B ((u32) 1 << (32 / 2))
4#define __ll_lowpart(t) ((u32) (t) & (__ll_B - 1))
5#define __ll_highpart(t) ((u32) (t) >> 16)
6
7#define umul_ppmm(w1, w0, u, v) \
8 do { \
9 u32 __x0, __x1, __x2, __x3; \
10 u16 __ul, __vl, __uh, __vh; \
11 \
12 __ul = __ll_lowpart (u); \
13 __uh = __ll_highpart (u); \
14 __vl = __ll_lowpart (v); \
15 __vh = __ll_highpart (v); \
16 \
17 __x0 = (u32) __ul * __vl; \
18 __x1 = (u32) __ul * __vh; \
19 __x2 = (u32) __uh * __vl; \
20 __x3 = (u32) __uh * __vh; \
21 \
22 __x1 += __ll_highpart (__x0);/* this can't give carry */ \
23 __x1 += __x2; /* but this indeed can */ \
24 if (__x1 < __x2) /* did we get it? */ \
25 __x3 += __ll_B; /* yes, add it in the proper pos. */ \
26 \
27 (w1) = __x3 + __ll_highpart (__x1); \
28 (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \
29 } while (0)
30
31union DWunion {
32 struct {
33 s32 high;
34 s32 low;
35 } s;
36 s64 ll;
37};
38
39u64 __umulsidi3(u32 u, u32 v)
40{
41 union DWunion __w;
42
43 umul_ppmm(__w.s.high, __w.s.low, u, v);
44
45 return __w.ll;
46}
diff --git a/arch/parisc/lib/libgcc/libgcc.h b/arch/parisc/lib/libgcc/libgcc.h
deleted file mode 100644
index 5a6f7a510fbd..000000000000
--- a/arch/parisc/lib/libgcc/libgcc.h
+++ /dev/null
@@ -1,32 +0,0 @@
1#ifndef _PA_LIBGCC_H_
2#define _PA_LIBGCC_H_
3
4#include <linux/types.h>
5#include <linux/module.h>
6
7/* Cribbed from klibc/libgcc/ */
8u64 __ashldi3(u64 v, int cnt);
9u64 __ashrdi3(u64 v, int cnt);
10
11u32 __clzsi2(u32 v);
12
13s64 __divdi3(s64 num, s64 den);
14s32 __divsi3(s32 num, s32 den);
15
16u64 __lshrdi3(u64 v, int cnt);
17
18s64 __moddi3(s64 num, s64 den);
19s32 __modsi3(s32 num, s32 den);
20
21u64 __udivdi3(u64 num, u64 den);
22u32 __udivsi3(u32 num, u32 den);
23
24u64 __udivmoddi4(u64 num, u64 den, u64 * rem_p);
25u32 __udivmodsi4(u32 num, u32 den, u32 * rem_p);
26
27u64 __umulsidi3(u32 u, u32 v);
28
29u64 __umoddi3(u64 num, u64 den);
30u32 __umodsi3(u32 num, u32 den);
31
32#endif /*_PA_LIBGCC_H_*/
diff --git a/arch/parisc/lib/milli/Makefile b/arch/parisc/lib/milli/Makefile
deleted file mode 100644
index 9b24e9b1f3cb..000000000000
--- a/arch/parisc/lib/milli/Makefile
+++ /dev/null
@@ -1 +0,0 @@
1obj-y := dyncall.o divI.o divU.o remI.o remU.o div_const.o mulI.o
diff --git a/arch/parisc/lib/milli/divI.S b/arch/parisc/lib/milli/divI.S
deleted file mode 100644
index ac106b7b6f24..000000000000
--- a/arch/parisc/lib/milli/divI.S
+++ /dev/null
@@ -1,254 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_divI
16/* ROUTINES: $$divI, $$divoI
17
18 Single precision divide for signed binary integers.
19
20 The quotient is truncated towards zero.
21 The sign of the quotient is the XOR of the signs of the dividend and
22 divisor.
23 Divide by zero is trapped.
24 Divide of -2**31 by -1 is trapped for $$divoI but not for $$divI.
25
26 INPUT REGISTERS:
27 . arg0 == dividend
28 . arg1 == divisor
29 . mrp == return pc
30 . sr0 == return space when called externally
31
32 OUTPUT REGISTERS:
33 . arg0 = undefined
34 . arg1 = undefined
35 . ret1 = quotient
36
37 OTHER REGISTERS AFFECTED:
38 . r1 = undefined
39
40 SIDE EFFECTS:
41 . Causes a trap under the following conditions:
42 . divisor is zero (traps with ADDIT,= 0,25,0)
43 . dividend==-2**31 and divisor==-1 and routine is $$divoI
44 . (traps with ADDO 26,25,0)
45 . Changes memory at the following places:
46 . NONE
47
48 PERMISSIBLE CONTEXT:
49 . Unwindable.
50 . Suitable for internal or external millicode.
51 . Assumes the special millicode register conventions.
52
53 DISCUSSION:
54 . Branchs to other millicode routines using BE
55 . $$div_# for # being 2,3,4,5,6,7,8,9,10,12,14,15
56 .
57 . For selected divisors, calls a divide by constant routine written by
58 . Karl Pettis. Eligible divisors are 1..15 excluding 11 and 13.
59 .
60 . The only overflow case is -2**31 divided by -1.
61 . Both routines return -2**31 but only $$divoI traps. */
62
63RDEFINE(temp,r1)
64RDEFINE(retreg,ret1) /* r29 */
65RDEFINE(temp1,arg0)
66 SUBSPA_MILLI_DIV
67 ATTR_MILLI
68 .import $$divI_2,millicode
69 .import $$divI_3,millicode
70 .import $$divI_4,millicode
71 .import $$divI_5,millicode
72 .import $$divI_6,millicode
73 .import $$divI_7,millicode
74 .import $$divI_8,millicode
75 .import $$divI_9,millicode
76 .import $$divI_10,millicode
77 .import $$divI_12,millicode
78 .import $$divI_14,millicode
79 .import $$divI_15,millicode
80 .export $$divI,millicode
81 .export $$divoI,millicode
82 .proc
83 .callinfo millicode
84 .entry
85GSYM($$divoI)
86 comib,=,n -1,arg1,LREF(negative1) /* when divisor == -1 */
87GSYM($$divI)
88 ldo -1(arg1),temp /* is there at most one bit set ? */
89 and,<> arg1,temp,r0 /* if not, don't use power of 2 divide */
90 addi,> 0,arg1,r0 /* if divisor > 0, use power of 2 divide */
91 b,n LREF(neg_denom)
92LSYM(pow2)
93 addi,>= 0,arg0,retreg /* if numerator is negative, add the */
94 add arg0,temp,retreg /* (denominaotr -1) to correct for shifts */
95 extru,= arg1,15,16,temp /* test denominator with 0xffff0000 */
96 extrs retreg,15,16,retreg /* retreg = retreg >> 16 */
97 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 16) */
98 ldi 0xcc,temp1 /* setup 0xcc in temp1 */
99 extru,= arg1,23,8,temp /* test denominator with 0xff00 */
100 extrs retreg,23,24,retreg /* retreg = retreg >> 8 */
101 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 8) */
102 ldi 0xaa,temp /* setup 0xaa in temp */
103 extru,= arg1,27,4,r0 /* test denominator with 0xf0 */
104 extrs retreg,27,28,retreg /* retreg = retreg >> 4 */
105 and,= arg1,temp1,r0 /* test denominator with 0xcc */
106 extrs retreg,29,30,retreg /* retreg = retreg >> 2 */
107 and,= arg1,temp,r0 /* test denominator with 0xaa */
108 extrs retreg,30,31,retreg /* retreg = retreg >> 1 */
109 MILLIRETN
110LSYM(neg_denom)
111 addi,< 0,arg1,r0 /* if arg1 >= 0, it's not power of 2 */
112 b,n LREF(regular_seq)
113 sub r0,arg1,temp /* make denominator positive */
114 comb,=,n arg1,temp,LREF(regular_seq) /* test against 0x80000000 and 0 */
115 ldo -1(temp),retreg /* is there at most one bit set ? */
116 and,= temp,retreg,r0 /* if so, the denominator is power of 2 */
117 b,n LREF(regular_seq)
118 sub r0,arg0,retreg /* negate numerator */
119 comb,=,n arg0,retreg,LREF(regular_seq) /* test against 0x80000000 */
120 copy retreg,arg0 /* set up arg0, arg1 and temp */
121 copy temp,arg1 /* before branching to pow2 */
122 b LREF(pow2)
123 ldo -1(arg1),temp
124LSYM(regular_seq)
125 comib,>>=,n 15,arg1,LREF(small_divisor)
126 add,>= 0,arg0,retreg /* move dividend, if retreg < 0, */
127LSYM(normal)
128 subi 0,retreg,retreg /* make it positive */
129 sub 0,arg1,temp /* clear carry, */
130 /* negate the divisor */
131 ds 0,temp,0 /* set V-bit to the comple- */
132 /* ment of the divisor sign */
133 add retreg,retreg,retreg /* shift msb bit into carry */
134 ds r0,arg1,temp /* 1st divide step, if no carry */
135 addc retreg,retreg,retreg /* shift retreg with/into carry */
136 ds temp,arg1,temp /* 2nd divide step */
137 addc retreg,retreg,retreg /* shift retreg with/into carry */
138 ds temp,arg1,temp /* 3rd divide step */
139 addc retreg,retreg,retreg /* shift retreg with/into carry */
140 ds temp,arg1,temp /* 4th divide step */
141 addc retreg,retreg,retreg /* shift retreg with/into carry */
142 ds temp,arg1,temp /* 5th divide step */
143 addc retreg,retreg,retreg /* shift retreg with/into carry */
144 ds temp,arg1,temp /* 6th divide step */
145 addc retreg,retreg,retreg /* shift retreg with/into carry */
146 ds temp,arg1,temp /* 7th divide step */
147 addc retreg,retreg,retreg /* shift retreg with/into carry */
148 ds temp,arg1,temp /* 8th divide step */
149 addc retreg,retreg,retreg /* shift retreg with/into carry */
150 ds temp,arg1,temp /* 9th divide step */
151 addc retreg,retreg,retreg /* shift retreg with/into carry */
152 ds temp,arg1,temp /* 10th divide step */
153 addc retreg,retreg,retreg /* shift retreg with/into carry */
154 ds temp,arg1,temp /* 11th divide step */
155 addc retreg,retreg,retreg /* shift retreg with/into carry */
156 ds temp,arg1,temp /* 12th divide step */
157 addc retreg,retreg,retreg /* shift retreg with/into carry */
158 ds temp,arg1,temp /* 13th divide step */
159 addc retreg,retreg,retreg /* shift retreg with/into carry */
160 ds temp,arg1,temp /* 14th divide step */
161 addc retreg,retreg,retreg /* shift retreg with/into carry */
162 ds temp,arg1,temp /* 15th divide step */
163 addc retreg,retreg,retreg /* shift retreg with/into carry */
164 ds temp,arg1,temp /* 16th divide step */
165 addc retreg,retreg,retreg /* shift retreg with/into carry */
166 ds temp,arg1,temp /* 17th divide step */
167 addc retreg,retreg,retreg /* shift retreg with/into carry */
168 ds temp,arg1,temp /* 18th divide step */
169 addc retreg,retreg,retreg /* shift retreg with/into carry */
170 ds temp,arg1,temp /* 19th divide step */
171 addc retreg,retreg,retreg /* shift retreg with/into carry */
172 ds temp,arg1,temp /* 20th divide step */
173 addc retreg,retreg,retreg /* shift retreg with/into carry */
174 ds temp,arg1,temp /* 21st divide step */
175 addc retreg,retreg,retreg /* shift retreg with/into carry */
176 ds temp,arg1,temp /* 22nd divide step */
177 addc retreg,retreg,retreg /* shift retreg with/into carry */
178 ds temp,arg1,temp /* 23rd divide step */
179 addc retreg,retreg,retreg /* shift retreg with/into carry */
180 ds temp,arg1,temp /* 24th divide step */
181 addc retreg,retreg,retreg /* shift retreg with/into carry */
182 ds temp,arg1,temp /* 25th divide step */
183 addc retreg,retreg,retreg /* shift retreg with/into carry */
184 ds temp,arg1,temp /* 26th divide step */
185 addc retreg,retreg,retreg /* shift retreg with/into carry */
186 ds temp,arg1,temp /* 27th divide step */
187 addc retreg,retreg,retreg /* shift retreg with/into carry */
188 ds temp,arg1,temp /* 28th divide step */
189 addc retreg,retreg,retreg /* shift retreg with/into carry */
190 ds temp,arg1,temp /* 29th divide step */
191 addc retreg,retreg,retreg /* shift retreg with/into carry */
192 ds temp,arg1,temp /* 30th divide step */
193 addc retreg,retreg,retreg /* shift retreg with/into carry */
194 ds temp,arg1,temp /* 31st divide step */
195 addc retreg,retreg,retreg /* shift retreg with/into carry */
196 ds temp,arg1,temp /* 32nd divide step, */
197 addc retreg,retreg,retreg /* shift last retreg bit into retreg */
198 xor,>= arg0,arg1,0 /* get correct sign of quotient */
199 sub 0,retreg,retreg /* based on operand signs */
200 MILLIRETN
201 nop
202
203LSYM(small_divisor)
204
205#if defined(CONFIG_64BIT)
206/* Clear the upper 32 bits of the arg1 register. We are working with */
207/* small divisors (and 32-bit integers) We must not be mislead */
208/* by "1" bits left in the upper 32 bits. */
209 depd %r0,31,32,%r25
210#endif
211 blr,n arg1,r0
212 nop
213/* table for divisor == 0,1, ... ,15 */
214 addit,= 0,arg1,r0 /* trap if divisor == 0 */
215 nop
216 MILLIRET /* divisor == 1 */
217 copy arg0,retreg
218 MILLI_BEN($$divI_2) /* divisor == 2 */
219 nop
220 MILLI_BEN($$divI_3) /* divisor == 3 */
221 nop
222 MILLI_BEN($$divI_4) /* divisor == 4 */
223 nop
224 MILLI_BEN($$divI_5) /* divisor == 5 */
225 nop
226 MILLI_BEN($$divI_6) /* divisor == 6 */
227 nop
228 MILLI_BEN($$divI_7) /* divisor == 7 */
229 nop
230 MILLI_BEN($$divI_8) /* divisor == 8 */
231 nop
232 MILLI_BEN($$divI_9) /* divisor == 9 */
233 nop
234 MILLI_BEN($$divI_10) /* divisor == 10 */
235 nop
236 b LREF(normal) /* divisor == 11 */
237 add,>= 0,arg0,retreg
238 MILLI_BEN($$divI_12) /* divisor == 12 */
239 nop
240 b LREF(normal) /* divisor == 13 */
241 add,>= 0,arg0,retreg
242 MILLI_BEN($$divI_14) /* divisor == 14 */
243 nop
244 MILLI_BEN($$divI_15) /* divisor == 15 */
245 nop
246
247LSYM(negative1)
248 sub 0,arg0,retreg /* result is negation of dividend */
249 MILLIRET
250 addo arg0,arg1,r0 /* trap iff dividend==0x80000000 && divisor==-1 */
251 .exit
252 .procend
253 .end
254#endif
diff --git a/arch/parisc/lib/milli/divU.S b/arch/parisc/lib/milli/divU.S
deleted file mode 100644
index 9287fe2546fa..000000000000
--- a/arch/parisc/lib/milli/divU.S
+++ /dev/null
@@ -1,235 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_divU
16/* ROUTINE: $$divU
17 .
18 . Single precision divide for unsigned integers.
19 .
20 . Quotient is truncated towards zero.
21 . Traps on divide by zero.
22
23 INPUT REGISTERS:
24 . arg0 == dividend
25 . arg1 == divisor
26 . mrp == return pc
27 . sr0 == return space when called externally
28
29 OUTPUT REGISTERS:
30 . arg0 = undefined
31 . arg1 = undefined
32 . ret1 = quotient
33
34 OTHER REGISTERS AFFECTED:
35 . r1 = undefined
36
37 SIDE EFFECTS:
38 . Causes a trap under the following conditions:
39 . divisor is zero
40 . Changes memory at the following places:
41 . NONE
42
43 PERMISSIBLE CONTEXT:
44 . Unwindable.
45 . Does not create a stack frame.
46 . Suitable for internal or external millicode.
47 . Assumes the special millicode register conventions.
48
49 DISCUSSION:
50 . Branchs to other millicode routines using BE:
51 . $$divU_# for 3,5,6,7,9,10,12,14,15
52 .
53 . For selected small divisors calls the special divide by constant
54 . routines written by Karl Pettis. These are: 3,5,6,7,9,10,12,14,15. */
55
56RDEFINE(temp,r1)
57RDEFINE(retreg,ret1) /* r29 */
58RDEFINE(temp1,arg0)
59 SUBSPA_MILLI_DIV
60 ATTR_MILLI
61 .export $$divU,millicode
62 .import $$divU_3,millicode
63 .import $$divU_5,millicode
64 .import $$divU_6,millicode
65 .import $$divU_7,millicode
66 .import $$divU_9,millicode
67 .import $$divU_10,millicode
68 .import $$divU_12,millicode
69 .import $$divU_14,millicode
70 .import $$divU_15,millicode
71 .proc
72 .callinfo millicode
73 .entry
74GSYM($$divU)
75/* The subtract is not nullified since it does no harm and can be used
76 by the two cases that branch back to "normal". */
77 ldo -1(arg1),temp /* is there at most one bit set ? */
78 and,= arg1,temp,r0 /* if so, denominator is power of 2 */
79 b LREF(regular_seq)
80 addit,= 0,arg1,0 /* trap for zero dvr */
81 copy arg0,retreg
82 extru,= arg1,15,16,temp /* test denominator with 0xffff0000 */
83 extru retreg,15,16,retreg /* retreg = retreg >> 16 */
84 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 16) */
85 ldi 0xcc,temp1 /* setup 0xcc in temp1 */
86 extru,= arg1,23,8,temp /* test denominator with 0xff00 */
87 extru retreg,23,24,retreg /* retreg = retreg >> 8 */
88 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 8) */
89 ldi 0xaa,temp /* setup 0xaa in temp */
90 extru,= arg1,27,4,r0 /* test denominator with 0xf0 */
91 extru retreg,27,28,retreg /* retreg = retreg >> 4 */
92 and,= arg1,temp1,r0 /* test denominator with 0xcc */
93 extru retreg,29,30,retreg /* retreg = retreg >> 2 */
94 and,= arg1,temp,r0 /* test denominator with 0xaa */
95 extru retreg,30,31,retreg /* retreg = retreg >> 1 */
96 MILLIRETN
97 nop
98LSYM(regular_seq)
99 comib,>= 15,arg1,LREF(special_divisor)
100 subi 0,arg1,temp /* clear carry, negate the divisor */
101 ds r0,temp,r0 /* set V-bit to 1 */
102LSYM(normal)
103 add arg0,arg0,retreg /* shift msb bit into carry */
104 ds r0,arg1,temp /* 1st divide step, if no carry */
105 addc retreg,retreg,retreg /* shift retreg with/into carry */
106 ds temp,arg1,temp /* 2nd divide step */
107 addc retreg,retreg,retreg /* shift retreg with/into carry */
108 ds temp,arg1,temp /* 3rd divide step */
109 addc retreg,retreg,retreg /* shift retreg with/into carry */
110 ds temp,arg1,temp /* 4th divide step */
111 addc retreg,retreg,retreg /* shift retreg with/into carry */
112 ds temp,arg1,temp /* 5th divide step */
113 addc retreg,retreg,retreg /* shift retreg with/into carry */
114 ds temp,arg1,temp /* 6th divide step */
115 addc retreg,retreg,retreg /* shift retreg with/into carry */
116 ds temp,arg1,temp /* 7th divide step */
117 addc retreg,retreg,retreg /* shift retreg with/into carry */
118 ds temp,arg1,temp /* 8th divide step */
119 addc retreg,retreg,retreg /* shift retreg with/into carry */
120 ds temp,arg1,temp /* 9th divide step */
121 addc retreg,retreg,retreg /* shift retreg with/into carry */
122 ds temp,arg1,temp /* 10th divide step */
123 addc retreg,retreg,retreg /* shift retreg with/into carry */
124 ds temp,arg1,temp /* 11th divide step */
125 addc retreg,retreg,retreg /* shift retreg with/into carry */
126 ds temp,arg1,temp /* 12th divide step */
127 addc retreg,retreg,retreg /* shift retreg with/into carry */
128 ds temp,arg1,temp /* 13th divide step */
129 addc retreg,retreg,retreg /* shift retreg with/into carry */
130 ds temp,arg1,temp /* 14th divide step */
131 addc retreg,retreg,retreg /* shift retreg with/into carry */
132 ds temp,arg1,temp /* 15th divide step */
133 addc retreg,retreg,retreg /* shift retreg with/into carry */
134 ds temp,arg1,temp /* 16th divide step */
135 addc retreg,retreg,retreg /* shift retreg with/into carry */
136 ds temp,arg1,temp /* 17th divide step */
137 addc retreg,retreg,retreg /* shift retreg with/into carry */
138 ds temp,arg1,temp /* 18th divide step */
139 addc retreg,retreg,retreg /* shift retreg with/into carry */
140 ds temp,arg1,temp /* 19th divide step */
141 addc retreg,retreg,retreg /* shift retreg with/into carry */
142 ds temp,arg1,temp /* 20th divide step */
143 addc retreg,retreg,retreg /* shift retreg with/into carry */
144 ds temp,arg1,temp /* 21st divide step */
145 addc retreg,retreg,retreg /* shift retreg with/into carry */
146 ds temp,arg1,temp /* 22nd divide step */
147 addc retreg,retreg,retreg /* shift retreg with/into carry */
148 ds temp,arg1,temp /* 23rd divide step */
149 addc retreg,retreg,retreg /* shift retreg with/into carry */
150 ds temp,arg1,temp /* 24th divide step */
151 addc retreg,retreg,retreg /* shift retreg with/into carry */
152 ds temp,arg1,temp /* 25th divide step */
153 addc retreg,retreg,retreg /* shift retreg with/into carry */
154 ds temp,arg1,temp /* 26th divide step */
155 addc retreg,retreg,retreg /* shift retreg with/into carry */
156 ds temp,arg1,temp /* 27th divide step */
157 addc retreg,retreg,retreg /* shift retreg with/into carry */
158 ds temp,arg1,temp /* 28th divide step */
159 addc retreg,retreg,retreg /* shift retreg with/into carry */
160 ds temp,arg1,temp /* 29th divide step */
161 addc retreg,retreg,retreg /* shift retreg with/into carry */
162 ds temp,arg1,temp /* 30th divide step */
163 addc retreg,retreg,retreg /* shift retreg with/into carry */
164 ds temp,arg1,temp /* 31st divide step */
165 addc retreg,retreg,retreg /* shift retreg with/into carry */
166 ds temp,arg1,temp /* 32nd divide step, */
167 MILLIRET
168 addc retreg,retreg,retreg /* shift last retreg bit into retreg */
169
170/* Handle the cases where divisor is a small constant or has high bit on. */
171LSYM(special_divisor)
172/* blr arg1,r0 */
173/* comib,>,n 0,arg1,LREF(big_divisor) ; nullify previous instruction */
174
175/* Pratap 8/13/90. The 815 Stirling chip set has a bug that prevents us from
176 generating such a blr, comib sequence. A problem in nullification. So I
177 rewrote this code. */
178
179#if defined(CONFIG_64BIT)
180/* Clear the upper 32 bits of the arg1 register. We are working with
181 small divisors (and 32-bit unsigned integers) We must not be mislead
182 by "1" bits left in the upper 32 bits. */
183 depd %r0,31,32,%r25
184#endif
185 comib,> 0,arg1,LREF(big_divisor)
186 nop
187 blr arg1,r0
188 nop
189
190LSYM(zero_divisor) /* this label is here to provide external visibility */
191 addit,= 0,arg1,0 /* trap for zero dvr */
192 nop
193 MILLIRET /* divisor == 1 */
194 copy arg0,retreg
195 MILLIRET /* divisor == 2 */
196 extru arg0,30,31,retreg
197 MILLI_BEN($$divU_3) /* divisor == 3 */
198 nop
199 MILLIRET /* divisor == 4 */
200 extru arg0,29,30,retreg
201 MILLI_BEN($$divU_5) /* divisor == 5 */
202 nop
203 MILLI_BEN($$divU_6) /* divisor == 6 */
204 nop
205 MILLI_BEN($$divU_7) /* divisor == 7 */
206 nop
207 MILLIRET /* divisor == 8 */
208 extru arg0,28,29,retreg
209 MILLI_BEN($$divU_9) /* divisor == 9 */
210 nop
211 MILLI_BEN($$divU_10) /* divisor == 10 */
212 nop
213 b LREF(normal) /* divisor == 11 */
214 ds r0,temp,r0 /* set V-bit to 1 */
215 MILLI_BEN($$divU_12) /* divisor == 12 */
216 nop
217 b LREF(normal) /* divisor == 13 */
218 ds r0,temp,r0 /* set V-bit to 1 */
219 MILLI_BEN($$divU_14) /* divisor == 14 */
220 nop
221 MILLI_BEN($$divU_15) /* divisor == 15 */
222 nop
223
224/* Handle the case where the high bit is on in the divisor.
225 Compute: if( dividend>=divisor) quotient=1; else quotient=0;
226 Note: dividend>==divisor iff dividend-divisor does not borrow
227 and not borrow iff carry. */
228LSYM(big_divisor)
229 sub arg0,arg1,r0
230 MILLIRET
231 addc r0,r0,retreg
232 .exit
233 .procend
234 .end
235#endif
diff --git a/arch/parisc/lib/milli/div_const.S b/arch/parisc/lib/milli/div_const.S
deleted file mode 100644
index dd660076e944..000000000000
--- a/arch/parisc/lib/milli/div_const.S
+++ /dev/null
@@ -1,682 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_div_const
16/* ROUTINE: $$divI_2
17 . $$divI_3 $$divU_3
18 . $$divI_4
19 . $$divI_5 $$divU_5
20 . $$divI_6 $$divU_6
21 . $$divI_7 $$divU_7
22 . $$divI_8
23 . $$divI_9 $$divU_9
24 . $$divI_10 $$divU_10
25 .
26 . $$divI_12 $$divU_12
27 .
28 . $$divI_14 $$divU_14
29 . $$divI_15 $$divU_15
30 . $$divI_16
31 . $$divI_17 $$divU_17
32 .
33 . Divide by selected constants for single precision binary integers.
34
35 INPUT REGISTERS:
36 . arg0 == dividend
37 . mrp == return pc
38 . sr0 == return space when called externally
39
40 OUTPUT REGISTERS:
41 . arg0 = undefined
42 . arg1 = undefined
43 . ret1 = quotient
44
45 OTHER REGISTERS AFFECTED:
46 . r1 = undefined
47
48 SIDE EFFECTS:
49 . Causes a trap under the following conditions: NONE
50 . Changes memory at the following places: NONE
51
52 PERMISSIBLE CONTEXT:
53 . Unwindable.
54 . Does not create a stack frame.
55 . Suitable for internal or external millicode.
56 . Assumes the special millicode register conventions.
57
58 DISCUSSION:
59 . Calls other millicode routines using mrp: NONE
60 . Calls other millicode routines: NONE */
61
62
63/* TRUNCATED DIVISION BY SMALL INTEGERS
64
65 We are interested in q(x) = floor(x/y), where x >= 0 and y > 0
66 (with y fixed).
67
68 Let a = floor(z/y), for some choice of z. Note that z will be
69 chosen so that division by z is cheap.
70
71 Let r be the remainder(z/y). In other words, r = z - ay.
72
73 Now, our method is to choose a value for b such that
74
75 q'(x) = floor((ax+b)/z)
76
77 is equal to q(x) over as large a range of x as possible. If the
78 two are equal over a sufficiently large range, and if it is easy to
79 form the product (ax), and it is easy to divide by z, then we can
80 perform the division much faster than the general division algorithm.
81
82 So, we want the following to be true:
83
84 . For x in the following range:
85 .
86 . ky <= x < (k+1)y
87 .
88 . implies that
89 .
90 . k <= (ax+b)/z < (k+1)
91
92 We want to determine b such that this is true for all k in the
93 range {0..K} for some maximum K.
94
95 Since (ax+b) is an increasing function of x, we can take each
96 bound separately to determine the "best" value for b.
97
98 (ax+b)/z < (k+1) implies
99
100 (a((k+1)y-1)+b < (k+1)z implies
101
102 b < a + (k+1)(z-ay) implies
103
104 b < a + (k+1)r
105
106 This needs to be true for all k in the range {0..K}. In
107 particular, it is true for k = 0 and this leads to a maximum
108 acceptable value for b.
109
110 b < a+r or b <= a+r-1
111
112 Taking the other bound, we have
113
114 k <= (ax+b)/z implies
115
116 k <= (aky+b)/z implies
117
118 k(z-ay) <= b implies
119
120 kr <= b
121
122 Clearly, the largest range for k will be achieved by maximizing b,
123 when r is not zero. When r is zero, then the simplest choice for b
124 is 0. When r is not 0, set
125
126 . b = a+r-1
127
128 Now, by construction, q'(x) = floor((ax+b)/z) = q(x) = floor(x/y)
129 for all x in the range:
130
131 . 0 <= x < (K+1)y
132
133 We need to determine what K is. Of our two bounds,
134
135 . b < a+(k+1)r is satisfied for all k >= 0, by construction.
136
137 The other bound is
138
139 . kr <= b
140
141 This is always true if r = 0. If r is not 0 (the usual case), then
142 K = floor((a+r-1)/r), is the maximum value for k.
143
144 Therefore, the formula q'(x) = floor((ax+b)/z) yields the correct
145 answer for q(x) = floor(x/y) when x is in the range
146
147 (0,(K+1)y-1) K = floor((a+r-1)/r)
148
149 To be most useful, we want (K+1)y-1 = (max x) >= 2**32-1 so that
150 the formula for q'(x) yields the correct value of q(x) for all x
151 representable by a single word in HPPA.
152
153 We are also constrained in that computing the product (ax), adding
154 b, and dividing by z must all be done quickly, otherwise we will be
155 better off going through the general algorithm using the DS
156 instruction, which uses approximately 70 cycles.
157
158 For each y, there is a choice of z which satisfies the constraints
159 for (K+1)y >= 2**32. We may not, however, be able to satisfy the
160 timing constraints for arbitrary y. It seems that z being equal to
161 a power of 2 or a power of 2 minus 1 is as good as we can do, since
162 it minimizes the time to do division by z. We want the choice of z
163 to also result in a value for (a) that minimizes the computation of
164 the product (ax). This is best achieved if (a) has a regular bit
165 pattern (so the multiplication can be done with shifts and adds).
166 The value of (a) also needs to be less than 2**32 so the product is
167 always guaranteed to fit in 2 words.
168
169 In actual practice, the following should be done:
170
171 1) For negative x, you should take the absolute value and remember
172 . the fact so that the result can be negated. This obviously does
173 . not apply in the unsigned case.
174 2) For even y, you should factor out the power of 2 that divides y
175 . and divide x by it. You can then proceed by dividing by the
176 . odd factor of y.
177
178 Here is a table of some odd values of y, and corresponding choices
179 for z which are "good".
180
181 y z r a (hex) max x (hex)
182
183 3 2**32 1 55555555 100000001
184 5 2**32 1 33333333 100000003
185 7 2**24-1 0 249249 (infinite)
186 9 2**24-1 0 1c71c7 (infinite)
187 11 2**20-1 0 1745d (infinite)
188 13 2**24-1 0 13b13b (infinite)
189 15 2**32 1 11111111 10000000d
190 17 2**32 1 f0f0f0f 10000000f
191
192 If r is 1, then b = a+r-1 = a. This simplifies the computation
193 of (ax+b), since you can compute (x+1)(a) instead. If r is 0,
194 then b = 0 is ok to use which simplifies (ax+b).
195
196 The bit patterns for 55555555, 33333333, and 11111111 are obviously
197 very regular. The bit patterns for the other values of a above are:
198
199 y (hex) (binary)
200
201 7 249249 001001001001001001001001 << regular >>
202 9 1c71c7 000111000111000111000111 << regular >>
203 11 1745d 000000010111010001011101 << irregular >>
204 13 13b13b 000100111011000100111011 << irregular >>
205
206 The bit patterns for (a) corresponding to (y) of 11 and 13 may be
207 too irregular to warrant using this method.
208
209 When z is a power of 2 minus 1, then the division by z is slightly
210 more complicated, involving an iterative solution.
211
212 The code presented here solves division by 1 through 17, except for
213 11 and 13. There are algorithms for both signed and unsigned
214 quantities given.
215
216 TIMINGS (cycles)
217
218 divisor positive negative unsigned
219
220 . 1 2 2 2
221 . 2 4 4 2
222 . 3 19 21 19
223 . 4 4 4 2
224 . 5 18 22 19
225 . 6 19 22 19
226 . 8 4 4 2
227 . 10 18 19 17
228 . 12 18 20 18
229 . 15 16 18 16
230 . 16 4 4 2
231 . 17 16 18 16
232
233 Now, the algorithm for 7, 9, and 14 is an iterative one. That is,
234 a loop body is executed until the tentative quotient is 0. The
235 number of times the loop body is executed varies depending on the
236 dividend, but is never more than two times. If the dividend is
237 less than the divisor, then the loop body is not executed at all.
238 Each iteration adds 4 cycles to the timings.
239
240 divisor positive negative unsigned
241
242 . 7 19+4n 20+4n 20+4n n = number of iterations
243 . 9 21+4n 22+4n 21+4n
244 . 14 21+4n 22+4n 20+4n
245
246 To give an idea of how the number of iterations varies, here is a
247 table of dividend versus number of iterations when dividing by 7.
248
249 smallest largest required
250 dividend dividend iterations
251
252 . 0 6 0
253 . 7 0x6ffffff 1
254 0x1000006 0xffffffff 2
255
256 There is some overlap in the range of numbers requiring 1 and 2
257 iterations. */
258
259RDEFINE(t2,r1)
260RDEFINE(x2,arg0) /* r26 */
261RDEFINE(t1,arg1) /* r25 */
262RDEFINE(x1,ret1) /* r29 */
263
264 SUBSPA_MILLI_DIV
265 ATTR_MILLI
266
267 .proc
268 .callinfo millicode
269 .entry
270/* NONE of these routines require a stack frame
271 ALL of these routines are unwindable from millicode */
272
273GSYM($$divide_by_constant)
274 .export $$divide_by_constant,millicode
275/* Provides a "nice" label for the code covered by the unwind descriptor
276 for things like gprof. */
277
278/* DIVISION BY 2 (shift by 1) */
279GSYM($$divI_2)
280 .export $$divI_2,millicode
281 comclr,>= arg0,0,0
282 addi 1,arg0,arg0
283 MILLIRET
284 extrs arg0,30,31,ret1
285
286
287/* DIVISION BY 4 (shift by 2) */
288GSYM($$divI_4)
289 .export $$divI_4,millicode
290 comclr,>= arg0,0,0
291 addi 3,arg0,arg0
292 MILLIRET
293 extrs arg0,29,30,ret1
294
295
296/* DIVISION BY 8 (shift by 3) */
297GSYM($$divI_8)
298 .export $$divI_8,millicode
299 comclr,>= arg0,0,0
300 addi 7,arg0,arg0
301 MILLIRET
302 extrs arg0,28,29,ret1
303
304/* DIVISION BY 16 (shift by 4) */
305GSYM($$divI_16)
306 .export $$divI_16,millicode
307 comclr,>= arg0,0,0
308 addi 15,arg0,arg0
309 MILLIRET
310 extrs arg0,27,28,ret1
311
312/****************************************************************************
313*
314* DIVISION BY DIVISORS OF FFFFFFFF, and powers of 2 times these
315*
316* includes 3,5,15,17 and also 6,10,12
317*
318****************************************************************************/
319
320/* DIVISION BY 3 (use z = 2**32; a = 55555555) */
321
322GSYM($$divI_3)
323 .export $$divI_3,millicode
324 comb,<,N x2,0,LREF(neg3)
325
326 addi 1,x2,x2 /* this cannot overflow */
327 extru x2,1,2,x1 /* multiply by 5 to get started */
328 sh2add x2,x2,x2
329 b LREF(pos)
330 addc x1,0,x1
331
332LSYM(neg3)
333 subi 1,x2,x2 /* this cannot overflow */
334 extru x2,1,2,x1 /* multiply by 5 to get started */
335 sh2add x2,x2,x2
336 b LREF(neg)
337 addc x1,0,x1
338
339GSYM($$divU_3)
340 .export $$divU_3,millicode
341 addi 1,x2,x2 /* this CAN overflow */
342 addc 0,0,x1
343 shd x1,x2,30,t1 /* multiply by 5 to get started */
344 sh2add x2,x2,x2
345 b LREF(pos)
346 addc x1,t1,x1
347
348/* DIVISION BY 5 (use z = 2**32; a = 33333333) */
349
350GSYM($$divI_5)
351 .export $$divI_5,millicode
352 comb,<,N x2,0,LREF(neg5)
353
354 addi 3,x2,t1 /* this cannot overflow */
355 sh1add x2,t1,x2 /* multiply by 3 to get started */
356 b LREF(pos)
357 addc 0,0,x1
358
359LSYM(neg5)
360 sub 0,x2,x2 /* negate x2 */
361 addi 1,x2,x2 /* this cannot overflow */
362 shd 0,x2,31,x1 /* get top bit (can be 1) */
363 sh1add x2,x2,x2 /* multiply by 3 to get started */
364 b LREF(neg)
365 addc x1,0,x1
366
367GSYM($$divU_5)
368 .export $$divU_5,millicode
369 addi 1,x2,x2 /* this CAN overflow */
370 addc 0,0,x1
371 shd x1,x2,31,t1 /* multiply by 3 to get started */
372 sh1add x2,x2,x2
373 b LREF(pos)
374 addc t1,x1,x1
375
376/* DIVISION BY 6 (shift to divide by 2 then divide by 3) */
377GSYM($$divI_6)
378 .export $$divI_6,millicode
379 comb,<,N x2,0,LREF(neg6)
380 extru x2,30,31,x2 /* divide by 2 */
381 addi 5,x2,t1 /* compute 5*(x2+1) = 5*x2+5 */
382 sh2add x2,t1,x2 /* multiply by 5 to get started */
383 b LREF(pos)
384 addc 0,0,x1
385
386LSYM(neg6)
387 subi 2,x2,x2 /* negate, divide by 2, and add 1 */
388 /* negation and adding 1 are done */
389 /* at the same time by the SUBI */
390 extru x2,30,31,x2
391 shd 0,x2,30,x1
392 sh2add x2,x2,x2 /* multiply by 5 to get started */
393 b LREF(neg)
394 addc x1,0,x1
395
396GSYM($$divU_6)
397 .export $$divU_6,millicode
398 extru x2,30,31,x2 /* divide by 2 */
399 addi 1,x2,x2 /* cannot carry */
400 shd 0,x2,30,x1 /* multiply by 5 to get started */
401 sh2add x2,x2,x2
402 b LREF(pos)
403 addc x1,0,x1
404
405/* DIVISION BY 10 (shift to divide by 2 then divide by 5) */
406GSYM($$divU_10)
407 .export $$divU_10,millicode
408 extru x2,30,31,x2 /* divide by 2 */
409 addi 3,x2,t1 /* compute 3*(x2+1) = (3*x2)+3 */
410 sh1add x2,t1,x2 /* multiply by 3 to get started */
411 addc 0,0,x1
412LSYM(pos)
413 shd x1,x2,28,t1 /* multiply by 0x11 */
414 shd x2,0,28,t2
415 add x2,t2,x2
416 addc x1,t1,x1
417LSYM(pos_for_17)
418 shd x1,x2,24,t1 /* multiply by 0x101 */
419 shd x2,0,24,t2
420 add x2,t2,x2
421 addc x1,t1,x1
422
423 shd x1,x2,16,t1 /* multiply by 0x10001 */
424 shd x2,0,16,t2
425 add x2,t2,x2
426 MILLIRET
427 addc x1,t1,x1
428
429GSYM($$divI_10)
430 .export $$divI_10,millicode
431 comb,< x2,0,LREF(neg10)
432 copy 0,x1
433 extru x2,30,31,x2 /* divide by 2 */
434 addib,TR 1,x2,LREF(pos) /* add 1 (cannot overflow) */
435 sh1add x2,x2,x2 /* multiply by 3 to get started */
436
437LSYM(neg10)
438 subi 2,x2,x2 /* negate, divide by 2, and add 1 */
439 /* negation and adding 1 are done */
440 /* at the same time by the SUBI */
441 extru x2,30,31,x2
442 sh1add x2,x2,x2 /* multiply by 3 to get started */
443LSYM(neg)
444 shd x1,x2,28,t1 /* multiply by 0x11 */
445 shd x2,0,28,t2
446 add x2,t2,x2
447 addc x1,t1,x1
448LSYM(neg_for_17)
449 shd x1,x2,24,t1 /* multiply by 0x101 */
450 shd x2,0,24,t2
451 add x2,t2,x2
452 addc x1,t1,x1
453
454 shd x1,x2,16,t1 /* multiply by 0x10001 */
455 shd x2,0,16,t2
456 add x2,t2,x2
457 addc x1,t1,x1
458 MILLIRET
459 sub 0,x1,x1
460
461/* DIVISION BY 12 (shift to divide by 4 then divide by 3) */
462GSYM($$divI_12)
463 .export $$divI_12,millicode
464 comb,< x2,0,LREF(neg12)
465 copy 0,x1
466 extru x2,29,30,x2 /* divide by 4 */
467 addib,tr 1,x2,LREF(pos) /* compute 5*(x2+1) = 5*x2+5 */
468 sh2add x2,x2,x2 /* multiply by 5 to get started */
469
470LSYM(neg12)
471 subi 4,x2,x2 /* negate, divide by 4, and add 1 */
472 /* negation and adding 1 are done */
473 /* at the same time by the SUBI */
474 extru x2,29,30,x2
475 b LREF(neg)
476 sh2add x2,x2,x2 /* multiply by 5 to get started */
477
478GSYM($$divU_12)
479 .export $$divU_12,millicode
480 extru x2,29,30,x2 /* divide by 4 */
481 addi 5,x2,t1 /* cannot carry */
482 sh2add x2,t1,x2 /* multiply by 5 to get started */
483 b LREF(pos)
484 addc 0,0,x1
485
486/* DIVISION BY 15 (use z = 2**32; a = 11111111) */
487GSYM($$divI_15)
488 .export $$divI_15,millicode
489 comb,< x2,0,LREF(neg15)
490 copy 0,x1
491 addib,tr 1,x2,LREF(pos)+4
492 shd x1,x2,28,t1
493
494LSYM(neg15)
495 b LREF(neg)
496 subi 1,x2,x2
497
498GSYM($$divU_15)
499 .export $$divU_15,millicode
500 addi 1,x2,x2 /* this CAN overflow */
501 b LREF(pos)
502 addc 0,0,x1
503
504/* DIVISION BY 17 (use z = 2**32; a = f0f0f0f) */
505GSYM($$divI_17)
506 .export $$divI_17,millicode
507 comb,<,n x2,0,LREF(neg17)
508 addi 1,x2,x2 /* this cannot overflow */
509 shd 0,x2,28,t1 /* multiply by 0xf to get started */
510 shd x2,0,28,t2
511 sub t2,x2,x2
512 b LREF(pos_for_17)
513 subb t1,0,x1
514
515LSYM(neg17)
516 subi 1,x2,x2 /* this cannot overflow */
517 shd 0,x2,28,t1 /* multiply by 0xf to get started */
518 shd x2,0,28,t2
519 sub t2,x2,x2
520 b LREF(neg_for_17)
521 subb t1,0,x1
522
523GSYM($$divU_17)
524 .export $$divU_17,millicode
525 addi 1,x2,x2 /* this CAN overflow */
526 addc 0,0,x1
527 shd x1,x2,28,t1 /* multiply by 0xf to get started */
528LSYM(u17)
529 shd x2,0,28,t2
530 sub t2,x2,x2
531 b LREF(pos_for_17)
532 subb t1,x1,x1
533
534
535/* DIVISION BY DIVISORS OF FFFFFF, and powers of 2 times these
536 includes 7,9 and also 14
537
538
539 z = 2**24-1
540 r = z mod x = 0
541
542 so choose b = 0
543
544 Also, in order to divide by z = 2**24-1, we approximate by dividing
545 by (z+1) = 2**24 (which is easy), and then correcting.
546
547 (ax) = (z+1)q' + r
548 . = zq' + (q'+r)
549
550 So to compute (ax)/z, compute q' = (ax)/(z+1) and r = (ax) mod (z+1)
551 Then the true remainder of (ax)/z is (q'+r). Repeat the process
552 with this new remainder, adding the tentative quotients together,
553 until a tentative quotient is 0 (and then we are done). There is
554 one last correction to be done. It is possible that (q'+r) = z.
555 If so, then (q'+r)/(z+1) = 0 and it looks like we are done. But,
556 in fact, we need to add 1 more to the quotient. Now, it turns
557 out that this happens if and only if the original value x is
558 an exact multiple of y. So, to avoid a three instruction test at
559 the end, instead use 1 instruction to add 1 to x at the beginning. */
560
561/* DIVISION BY 7 (use z = 2**24-1; a = 249249) */
562GSYM($$divI_7)
563 .export $$divI_7,millicode
564 comb,<,n x2,0,LREF(neg7)
565LSYM(7)
566 addi 1,x2,x2 /* cannot overflow */
567 shd 0,x2,29,x1
568 sh3add x2,x2,x2
569 addc x1,0,x1
570LSYM(pos7)
571 shd x1,x2,26,t1
572 shd x2,0,26,t2
573 add x2,t2,x2
574 addc x1,t1,x1
575
576 shd x1,x2,20,t1
577 shd x2,0,20,t2
578 add x2,t2,x2
579 addc x1,t1,t1
580
581 /* computed <t1,x2>. Now divide it by (2**24 - 1) */
582
583 copy 0,x1
584 shd,= t1,x2,24,t1 /* tentative quotient */
585LSYM(1)
586 addb,tr t1,x1,LREF(2) /* add to previous quotient */
587 extru x2,31,24,x2 /* new remainder (unadjusted) */
588
589 MILLIRETN
590
591LSYM(2)
592 addb,tr t1,x2,LREF(1) /* adjust remainder */
593 extru,= x2,7,8,t1 /* new quotient */
594
595LSYM(neg7)
596 subi 1,x2,x2 /* negate x2 and add 1 */
597LSYM(8)
598 shd 0,x2,29,x1
599 sh3add x2,x2,x2
600 addc x1,0,x1
601
602LSYM(neg7_shift)
603 shd x1,x2,26,t1
604 shd x2,0,26,t2
605 add x2,t2,x2
606 addc x1,t1,x1
607
608 shd x1,x2,20,t1
609 shd x2,0,20,t2
610 add x2,t2,x2
611 addc x1,t1,t1
612
613 /* computed <t1,x2>. Now divide it by (2**24 - 1) */
614
615 copy 0,x1
616 shd,= t1,x2,24,t1 /* tentative quotient */
617LSYM(3)
618 addb,tr t1,x1,LREF(4) /* add to previous quotient */
619 extru x2,31,24,x2 /* new remainder (unadjusted) */
620
621 MILLIRET
622 sub 0,x1,x1 /* negate result */
623
624LSYM(4)
625 addb,tr t1,x2,LREF(3) /* adjust remainder */
626 extru,= x2,7,8,t1 /* new quotient */
627
628GSYM($$divU_7)
629 .export $$divU_7,millicode
630 addi 1,x2,x2 /* can carry */
631 addc 0,0,x1
632 shd x1,x2,29,t1
633 sh3add x2,x2,x2
634 b LREF(pos7)
635 addc t1,x1,x1
636
637/* DIVISION BY 9 (use z = 2**24-1; a = 1c71c7) */
638GSYM($$divI_9)
639 .export $$divI_9,millicode
640 comb,<,n x2,0,LREF(neg9)
641 addi 1,x2,x2 /* cannot overflow */
642 shd 0,x2,29,t1
643 shd x2,0,29,t2
644 sub t2,x2,x2
645 b LREF(pos7)
646 subb t1,0,x1
647
648LSYM(neg9)
649 subi 1,x2,x2 /* negate and add 1 */
650 shd 0,x2,29,t1
651 shd x2,0,29,t2
652 sub t2,x2,x2
653 b LREF(neg7_shift)
654 subb t1,0,x1
655
656GSYM($$divU_9)
657 .export $$divU_9,millicode
658 addi 1,x2,x2 /* can carry */
659 addc 0,0,x1
660 shd x1,x2,29,t1
661 shd x2,0,29,t2
662 sub t2,x2,x2
663 b LREF(pos7)
664 subb t1,x1,x1
665
666/* DIVISION BY 14 (shift to divide by 2 then divide by 7) */
667GSYM($$divI_14)
668 .export $$divI_14,millicode
669 comb,<,n x2,0,LREF(neg14)
670GSYM($$divU_14)
671 .export $$divU_14,millicode
672 b LREF(7) /* go to 7 case */
673 extru x2,30,31,x2 /* divide by 2 */
674
675LSYM(neg14)
676 subi 2,x2,x2 /* negate (and add 2) */
677 b LREF(8)
678 extru x2,30,31,x2 /* divide by 2 */
679 .exit
680 .procend
681 .end
682#endif
diff --git a/arch/parisc/lib/milli/dyncall.S b/arch/parisc/lib/milli/dyncall.S
deleted file mode 100644
index 27f9ca558d0a..000000000000
--- a/arch/parisc/lib/milli/dyncall.S
+++ /dev/null
@@ -1,32 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_dyncall
16 SUBSPA_MILLI
17 ATTR_DATA
18GSYM($$dyncall)
19 .export $$dyncall,millicode
20 .proc
21 .callinfo millicode
22 .entry
23 bb,>=,n %r22,30,LREF(1) ; branch if not plabel address
24 depi 0,31,2,%r22 ; clear the two least significant bits
25 ldw 4(%r22),%r19 ; load new LTP value
26 ldw 0(%r22),%r22 ; load address of target
27LSYM(1)
28 bv %r0(%r22) ; branch to the real target
29 stw %r2,-24(%r30) ; save return address into frame marker
30 .exit
31 .procend
32#endif
diff --git a/arch/parisc/lib/milli/milli.S b/arch/parisc/lib/milli/milli.S
deleted file mode 100644
index 47c6cde712e3..000000000000
--- a/arch/parisc/lib/milli/milli.S
+++ /dev/null
@@ -1,2071 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#ifdef CONFIG_64BIT
14 .level 2.0w
15#endif
16
17/* Hardware General Registers. */
18r0: .reg %r0
19r1: .reg %r1
20r2: .reg %r2
21r3: .reg %r3
22r4: .reg %r4
23r5: .reg %r5
24r6: .reg %r6
25r7: .reg %r7
26r8: .reg %r8
27r9: .reg %r9
28r10: .reg %r10
29r11: .reg %r11
30r12: .reg %r12
31r13: .reg %r13
32r14: .reg %r14
33r15: .reg %r15
34r16: .reg %r16
35r17: .reg %r17
36r18: .reg %r18
37r19: .reg %r19
38r20: .reg %r20
39r21: .reg %r21
40r22: .reg %r22
41r23: .reg %r23
42r24: .reg %r24
43r25: .reg %r25
44r26: .reg %r26
45r27: .reg %r27
46r28: .reg %r28
47r29: .reg %r29
48r30: .reg %r30
49r31: .reg %r31
50
51/* Hardware Space Registers. */
52sr0: .reg %sr0
53sr1: .reg %sr1
54sr2: .reg %sr2
55sr3: .reg %sr3
56sr4: .reg %sr4
57sr5: .reg %sr5
58sr6: .reg %sr6
59sr7: .reg %sr7
60
61/* Hardware Floating Point Registers. */
62fr0: .reg %fr0
63fr1: .reg %fr1
64fr2: .reg %fr2
65fr3: .reg %fr3
66fr4: .reg %fr4
67fr5: .reg %fr5
68fr6: .reg %fr6
69fr7: .reg %fr7
70fr8: .reg %fr8
71fr9: .reg %fr9
72fr10: .reg %fr10
73fr11: .reg %fr11
74fr12: .reg %fr12
75fr13: .reg %fr13
76fr14: .reg %fr14
77fr15: .reg %fr15
78
79/* Hardware Control Registers. */
80cr11: .reg %cr11
81sar: .reg %cr11 /* Shift Amount Register */
82
83/* Software Architecture General Registers. */
84rp: .reg r2 /* return pointer */
85#ifdef CONFIG_64BIT
86mrp: .reg r2 /* millicode return pointer */
87#else
88mrp: .reg r31 /* millicode return pointer */
89#endif
90ret0: .reg r28 /* return value */
91ret1: .reg r29 /* return value (high part of double) */
92sp: .reg r30 /* stack pointer */
93dp: .reg r27 /* data pointer */
94arg0: .reg r26 /* argument */
95arg1: .reg r25 /* argument or high part of double argument */
96arg2: .reg r24 /* argument */
97arg3: .reg r23 /* argument or high part of double argument */
98
99/* Software Architecture Space Registers. */
100/* sr0 ; return link from BLE */
101sret: .reg sr1 /* return value */
102sarg: .reg sr1 /* argument */
103/* sr4 ; PC SPACE tracker */
104/* sr5 ; process private data */
105
106/* Frame Offsets (millicode convention!) Used when calling other
107 millicode routines. Stack unwinding is dependent upon these
108 definitions. */
109r31_slot: .equ -20 /* "current RP" slot */
110sr0_slot: .equ -16 /* "static link" slot */
111#if defined(CONFIG_64BIT)
112mrp_slot: .equ -16 /* "current RP" slot */
113psp_slot: .equ -8 /* "previous SP" slot */
114#else
115mrp_slot: .equ -20 /* "current RP" slot (replacing "r31_slot") */
116#endif
117
118
119#define DEFINE(name,value)name: .EQU value
120#define RDEFINE(name,value)name: .REG value
121#ifdef milliext
122#define MILLI_BE(lbl) BE lbl(sr7,r0)
123#define MILLI_BEN(lbl) BE,n lbl(sr7,r0)
124#define MILLI_BLE(lbl) BLE lbl(sr7,r0)
125#define MILLI_BLEN(lbl) BLE,n lbl(sr7,r0)
126#define MILLIRETN BE,n 0(sr0,mrp)
127#define MILLIRET BE 0(sr0,mrp)
128#define MILLI_RETN BE,n 0(sr0,mrp)
129#define MILLI_RET BE 0(sr0,mrp)
130#else
131#define MILLI_BE(lbl) B lbl
132#define MILLI_BEN(lbl) B,n lbl
133#define MILLI_BLE(lbl) BL lbl,mrp
134#define MILLI_BLEN(lbl) BL,n lbl,mrp
135#define MILLIRETN BV,n 0(mrp)
136#define MILLIRET BV 0(mrp)
137#define MILLI_RETN BV,n 0(mrp)
138#define MILLI_RET BV 0(mrp)
139#endif
140
141#define CAT(a,b) a##b
142
143#define SUBSPA_MILLI .section .text
144#define SUBSPA_MILLI_DIV .section .text.div,"ax",@progbits! .align 16
145#define SUBSPA_MILLI_MUL .section .text.mul,"ax",@progbits! .align 16
146#define ATTR_MILLI
147#define SUBSPA_DATA .section .data
148#define ATTR_DATA
149#define GLOBAL $global$
150#define GSYM(sym) !sym:
151#define LSYM(sym) !CAT(.L,sym:)
152#define LREF(sym) CAT(.L,sym)
153
154#ifdef L_dyncall
155 SUBSPA_MILLI
156 ATTR_DATA
157GSYM($$dyncall)
158 .export $$dyncall,millicode
159 .proc
160 .callinfo millicode
161 .entry
162 bb,>=,n %r22,30,LREF(1) ; branch if not plabel address
163 depi 0,31,2,%r22 ; clear the two least significant bits
164 ldw 4(%r22),%r19 ; load new LTP value
165 ldw 0(%r22),%r22 ; load address of target
166LSYM(1)
167 bv %r0(%r22) ; branch to the real target
168 stw %r2,-24(%r30) ; save return address into frame marker
169 .exit
170 .procend
171#endif
172
173#ifdef L_divI
174/* ROUTINES: $$divI, $$divoI
175
176 Single precision divide for signed binary integers.
177
178 The quotient is truncated towards zero.
179 The sign of the quotient is the XOR of the signs of the dividend and
180 divisor.
181 Divide by zero is trapped.
182 Divide of -2**31 by -1 is trapped for $$divoI but not for $$divI.
183
184 INPUT REGISTERS:
185 . arg0 == dividend
186 . arg1 == divisor
187 . mrp == return pc
188 . sr0 == return space when called externally
189
190 OUTPUT REGISTERS:
191 . arg0 = undefined
192 . arg1 = undefined
193 . ret1 = quotient
194
195 OTHER REGISTERS AFFECTED:
196 . r1 = undefined
197
198 SIDE EFFECTS:
199 . Causes a trap under the following conditions:
200 . divisor is zero (traps with ADDIT,= 0,25,0)
201 . dividend==-2**31 and divisor==-1 and routine is $$divoI
202 . (traps with ADDO 26,25,0)
203 . Changes memory at the following places:
204 . NONE
205
206 PERMISSIBLE CONTEXT:
207 . Unwindable.
208 . Suitable for internal or external millicode.
209 . Assumes the special millicode register conventions.
210
211 DISCUSSION:
212 . Branchs to other millicode routines using BE
213 . $$div_# for # being 2,3,4,5,6,7,8,9,10,12,14,15
214 .
215 . For selected divisors, calls a divide by constant routine written by
216 . Karl Pettis. Eligible divisors are 1..15 excluding 11 and 13.
217 .
218 . The only overflow case is -2**31 divided by -1.
219 . Both routines return -2**31 but only $$divoI traps. */
220
221RDEFINE(temp,r1)
222RDEFINE(retreg,ret1) /* r29 */
223RDEFINE(temp1,arg0)
224 SUBSPA_MILLI_DIV
225 ATTR_MILLI
226 .import $$divI_2,millicode
227 .import $$divI_3,millicode
228 .import $$divI_4,millicode
229 .import $$divI_5,millicode
230 .import $$divI_6,millicode
231 .import $$divI_7,millicode
232 .import $$divI_8,millicode
233 .import $$divI_9,millicode
234 .import $$divI_10,millicode
235 .import $$divI_12,millicode
236 .import $$divI_14,millicode
237 .import $$divI_15,millicode
238 .export $$divI,millicode
239 .export $$divoI,millicode
240 .proc
241 .callinfo millicode
242 .entry
243GSYM($$divoI)
244 comib,=,n -1,arg1,LREF(negative1) /* when divisor == -1 */
245GSYM($$divI)
246 ldo -1(arg1),temp /* is there at most one bit set ? */
247 and,<> arg1,temp,r0 /* if not, don't use power of 2 divide */
248 addi,> 0,arg1,r0 /* if divisor > 0, use power of 2 divide */
249 b,n LREF(neg_denom)
250LSYM(pow2)
251 addi,>= 0,arg0,retreg /* if numerator is negative, add the */
252 add arg0,temp,retreg /* (denominaotr -1) to correct for shifts */
253 extru,= arg1,15,16,temp /* test denominator with 0xffff0000 */
254 extrs retreg,15,16,retreg /* retreg = retreg >> 16 */
255 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 16) */
256 ldi 0xcc,temp1 /* setup 0xcc in temp1 */
257 extru,= arg1,23,8,temp /* test denominator with 0xff00 */
258 extrs retreg,23,24,retreg /* retreg = retreg >> 8 */
259 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 8) */
260 ldi 0xaa,temp /* setup 0xaa in temp */
261 extru,= arg1,27,4,r0 /* test denominator with 0xf0 */
262 extrs retreg,27,28,retreg /* retreg = retreg >> 4 */
263 and,= arg1,temp1,r0 /* test denominator with 0xcc */
264 extrs retreg,29,30,retreg /* retreg = retreg >> 2 */
265 and,= arg1,temp,r0 /* test denominator with 0xaa */
266 extrs retreg,30,31,retreg /* retreg = retreg >> 1 */
267 MILLIRETN
268LSYM(neg_denom)
269 addi,< 0,arg1,r0 /* if arg1 >= 0, it's not power of 2 */
270 b,n LREF(regular_seq)
271 sub r0,arg1,temp /* make denominator positive */
272 comb,=,n arg1,temp,LREF(regular_seq) /* test against 0x80000000 and 0 */
273 ldo -1(temp),retreg /* is there at most one bit set ? */
274 and,= temp,retreg,r0 /* if so, the denominator is power of 2 */
275 b,n LREF(regular_seq)
276 sub r0,arg0,retreg /* negate numerator */
277 comb,=,n arg0,retreg,LREF(regular_seq) /* test against 0x80000000 */
278 copy retreg,arg0 /* set up arg0, arg1 and temp */
279 copy temp,arg1 /* before branching to pow2 */
280 b LREF(pow2)
281 ldo -1(arg1),temp
282LSYM(regular_seq)
283 comib,>>=,n 15,arg1,LREF(small_divisor)
284 add,>= 0,arg0,retreg /* move dividend, if retreg < 0, */
285LSYM(normal)
286 subi 0,retreg,retreg /* make it positive */
287 sub 0,arg1,temp /* clear carry, */
288 /* negate the divisor */
289 ds 0,temp,0 /* set V-bit to the comple- */
290 /* ment of the divisor sign */
291 add retreg,retreg,retreg /* shift msb bit into carry */
292 ds r0,arg1,temp /* 1st divide step, if no carry */
293 addc retreg,retreg,retreg /* shift retreg with/into carry */
294 ds temp,arg1,temp /* 2nd divide step */
295 addc retreg,retreg,retreg /* shift retreg with/into carry */
296 ds temp,arg1,temp /* 3rd divide step */
297 addc retreg,retreg,retreg /* shift retreg with/into carry */
298 ds temp,arg1,temp /* 4th divide step */
299 addc retreg,retreg,retreg /* shift retreg with/into carry */
300 ds temp,arg1,temp /* 5th divide step */
301 addc retreg,retreg,retreg /* shift retreg with/into carry */
302 ds temp,arg1,temp /* 6th divide step */
303 addc retreg,retreg,retreg /* shift retreg with/into carry */
304 ds temp,arg1,temp /* 7th divide step */
305 addc retreg,retreg,retreg /* shift retreg with/into carry */
306 ds temp,arg1,temp /* 8th divide step */
307 addc retreg,retreg,retreg /* shift retreg with/into carry */
308 ds temp,arg1,temp /* 9th divide step */
309 addc retreg,retreg,retreg /* shift retreg with/into carry */
310 ds temp,arg1,temp /* 10th divide step */
311 addc retreg,retreg,retreg /* shift retreg with/into carry */
312 ds temp,arg1,temp /* 11th divide step */
313 addc retreg,retreg,retreg /* shift retreg with/into carry */
314 ds temp,arg1,temp /* 12th divide step */
315 addc retreg,retreg,retreg /* shift retreg with/into carry */
316 ds temp,arg1,temp /* 13th divide step */
317 addc retreg,retreg,retreg /* shift retreg with/into carry */
318 ds temp,arg1,temp /* 14th divide step */
319 addc retreg,retreg,retreg /* shift retreg with/into carry */
320 ds temp,arg1,temp /* 15th divide step */
321 addc retreg,retreg,retreg /* shift retreg with/into carry */
322 ds temp,arg1,temp /* 16th divide step */
323 addc retreg,retreg,retreg /* shift retreg with/into carry */
324 ds temp,arg1,temp /* 17th divide step */
325 addc retreg,retreg,retreg /* shift retreg with/into carry */
326 ds temp,arg1,temp /* 18th divide step */
327 addc retreg,retreg,retreg /* shift retreg with/into carry */
328 ds temp,arg1,temp /* 19th divide step */
329 addc retreg,retreg,retreg /* shift retreg with/into carry */
330 ds temp,arg1,temp /* 20th divide step */
331 addc retreg,retreg,retreg /* shift retreg with/into carry */
332 ds temp,arg1,temp /* 21st divide step */
333 addc retreg,retreg,retreg /* shift retreg with/into carry */
334 ds temp,arg1,temp /* 22nd divide step */
335 addc retreg,retreg,retreg /* shift retreg with/into carry */
336 ds temp,arg1,temp /* 23rd divide step */
337 addc retreg,retreg,retreg /* shift retreg with/into carry */
338 ds temp,arg1,temp /* 24th divide step */
339 addc retreg,retreg,retreg /* shift retreg with/into carry */
340 ds temp,arg1,temp /* 25th divide step */
341 addc retreg,retreg,retreg /* shift retreg with/into carry */
342 ds temp,arg1,temp /* 26th divide step */
343 addc retreg,retreg,retreg /* shift retreg with/into carry */
344 ds temp,arg1,temp /* 27th divide step */
345 addc retreg,retreg,retreg /* shift retreg with/into carry */
346 ds temp,arg1,temp /* 28th divide step */
347 addc retreg,retreg,retreg /* shift retreg with/into carry */
348 ds temp,arg1,temp /* 29th divide step */
349 addc retreg,retreg,retreg /* shift retreg with/into carry */
350 ds temp,arg1,temp /* 30th divide step */
351 addc retreg,retreg,retreg /* shift retreg with/into carry */
352 ds temp,arg1,temp /* 31st divide step */
353 addc retreg,retreg,retreg /* shift retreg with/into carry */
354 ds temp,arg1,temp /* 32nd divide step, */
355 addc retreg,retreg,retreg /* shift last retreg bit into retreg */
356 xor,>= arg0,arg1,0 /* get correct sign of quotient */
357 sub 0,retreg,retreg /* based on operand signs */
358 MILLIRETN
359 nop
360
361LSYM(small_divisor)
362
363#if defined(CONFIG_64BIT)
364/* Clear the upper 32 bits of the arg1 register. We are working with */
365/* small divisors (and 32-bit integers) We must not be mislead */
366/* by "1" bits left in the upper 32 bits. */
367 depd %r0,31,32,%r25
368#endif
369 blr,n arg1,r0
370 nop
371/* table for divisor == 0,1, ... ,15 */
372 addit,= 0,arg1,r0 /* trap if divisor == 0 */
373 nop
374 MILLIRET /* divisor == 1 */
375 copy arg0,retreg
376 MILLI_BEN($$divI_2) /* divisor == 2 */
377 nop
378 MILLI_BEN($$divI_3) /* divisor == 3 */
379 nop
380 MILLI_BEN($$divI_4) /* divisor == 4 */
381 nop
382 MILLI_BEN($$divI_5) /* divisor == 5 */
383 nop
384 MILLI_BEN($$divI_6) /* divisor == 6 */
385 nop
386 MILLI_BEN($$divI_7) /* divisor == 7 */
387 nop
388 MILLI_BEN($$divI_8) /* divisor == 8 */
389 nop
390 MILLI_BEN($$divI_9) /* divisor == 9 */
391 nop
392 MILLI_BEN($$divI_10) /* divisor == 10 */
393 nop
394 b LREF(normal) /* divisor == 11 */
395 add,>= 0,arg0,retreg
396 MILLI_BEN($$divI_12) /* divisor == 12 */
397 nop
398 b LREF(normal) /* divisor == 13 */
399 add,>= 0,arg0,retreg
400 MILLI_BEN($$divI_14) /* divisor == 14 */
401 nop
402 MILLI_BEN($$divI_15) /* divisor == 15 */
403 nop
404
405LSYM(negative1)
406 sub 0,arg0,retreg /* result is negation of dividend */
407 MILLIRET
408 addo arg0,arg1,r0 /* trap iff dividend==0x80000000 && divisor==-1 */
409 .exit
410 .procend
411 .end
412#endif
413
414#ifdef L_divU
415/* ROUTINE: $$divU
416 .
417 . Single precision divide for unsigned integers.
418 .
419 . Quotient is truncated towards zero.
420 . Traps on divide by zero.
421
422 INPUT REGISTERS:
423 . arg0 == dividend
424 . arg1 == divisor
425 . mrp == return pc
426 . sr0 == return space when called externally
427
428 OUTPUT REGISTERS:
429 . arg0 = undefined
430 . arg1 = undefined
431 . ret1 = quotient
432
433 OTHER REGISTERS AFFECTED:
434 . r1 = undefined
435
436 SIDE EFFECTS:
437 . Causes a trap under the following conditions:
438 . divisor is zero
439 . Changes memory at the following places:
440 . NONE
441
442 PERMISSIBLE CONTEXT:
443 . Unwindable.
444 . Does not create a stack frame.
445 . Suitable for internal or external millicode.
446 . Assumes the special millicode register conventions.
447
448 DISCUSSION:
449 . Branchs to other millicode routines using BE:
450 . $$divU_# for 3,5,6,7,9,10,12,14,15
451 .
452 . For selected small divisors calls the special divide by constant
453 . routines written by Karl Pettis. These are: 3,5,6,7,9,10,12,14,15. */
454
455RDEFINE(temp,r1)
456RDEFINE(retreg,ret1) /* r29 */
457RDEFINE(temp1,arg0)
458 SUBSPA_MILLI_DIV
459 ATTR_MILLI
460 .export $$divU,millicode
461 .import $$divU_3,millicode
462 .import $$divU_5,millicode
463 .import $$divU_6,millicode
464 .import $$divU_7,millicode
465 .import $$divU_9,millicode
466 .import $$divU_10,millicode
467 .import $$divU_12,millicode
468 .import $$divU_14,millicode
469 .import $$divU_15,millicode
470 .proc
471 .callinfo millicode
472 .entry
473GSYM($$divU)
474/* The subtract is not nullified since it does no harm and can be used
475 by the two cases that branch back to "normal". */
476 ldo -1(arg1),temp /* is there at most one bit set ? */
477 and,= arg1,temp,r0 /* if so, denominator is power of 2 */
478 b LREF(regular_seq)
479 addit,= 0,arg1,0 /* trap for zero dvr */
480 copy arg0,retreg
481 extru,= arg1,15,16,temp /* test denominator with 0xffff0000 */
482 extru retreg,15,16,retreg /* retreg = retreg >> 16 */
483 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 16) */
484 ldi 0xcc,temp1 /* setup 0xcc in temp1 */
485 extru,= arg1,23,8,temp /* test denominator with 0xff00 */
486 extru retreg,23,24,retreg /* retreg = retreg >> 8 */
487 or arg1,temp,arg1 /* arg1 = arg1 | (arg1 >> 8) */
488 ldi 0xaa,temp /* setup 0xaa in temp */
489 extru,= arg1,27,4,r0 /* test denominator with 0xf0 */
490 extru retreg,27,28,retreg /* retreg = retreg >> 4 */
491 and,= arg1,temp1,r0 /* test denominator with 0xcc */
492 extru retreg,29,30,retreg /* retreg = retreg >> 2 */
493 and,= arg1,temp,r0 /* test denominator with 0xaa */
494 extru retreg,30,31,retreg /* retreg = retreg >> 1 */
495 MILLIRETN
496 nop
497LSYM(regular_seq)
498 comib,>= 15,arg1,LREF(special_divisor)
499 subi 0,arg1,temp /* clear carry, negate the divisor */
500 ds r0,temp,r0 /* set V-bit to 1 */
501LSYM(normal)
502 add arg0,arg0,retreg /* shift msb bit into carry */
503 ds r0,arg1,temp /* 1st divide step, if no carry */
504 addc retreg,retreg,retreg /* shift retreg with/into carry */
505 ds temp,arg1,temp /* 2nd divide step */
506 addc retreg,retreg,retreg /* shift retreg with/into carry */
507 ds temp,arg1,temp /* 3rd divide step */
508 addc retreg,retreg,retreg /* shift retreg with/into carry */
509 ds temp,arg1,temp /* 4th divide step */
510 addc retreg,retreg,retreg /* shift retreg with/into carry */
511 ds temp,arg1,temp /* 5th divide step */
512 addc retreg,retreg,retreg /* shift retreg with/into carry */
513 ds temp,arg1,temp /* 6th divide step */
514 addc retreg,retreg,retreg /* shift retreg with/into carry */
515 ds temp,arg1,temp /* 7th divide step */
516 addc retreg,retreg,retreg /* shift retreg with/into carry */
517 ds temp,arg1,temp /* 8th divide step */
518 addc retreg,retreg,retreg /* shift retreg with/into carry */
519 ds temp,arg1,temp /* 9th divide step */
520 addc retreg,retreg,retreg /* shift retreg with/into carry */
521 ds temp,arg1,temp /* 10th divide step */
522 addc retreg,retreg,retreg /* shift retreg with/into carry */
523 ds temp,arg1,temp /* 11th divide step */
524 addc retreg,retreg,retreg /* shift retreg with/into carry */
525 ds temp,arg1,temp /* 12th divide step */
526 addc retreg,retreg,retreg /* shift retreg with/into carry */
527 ds temp,arg1,temp /* 13th divide step */
528 addc retreg,retreg,retreg /* shift retreg with/into carry */
529 ds temp,arg1,temp /* 14th divide step */
530 addc retreg,retreg,retreg /* shift retreg with/into carry */
531 ds temp,arg1,temp /* 15th divide step */
532 addc retreg,retreg,retreg /* shift retreg with/into carry */
533 ds temp,arg1,temp /* 16th divide step */
534 addc retreg,retreg,retreg /* shift retreg with/into carry */
535 ds temp,arg1,temp /* 17th divide step */
536 addc retreg,retreg,retreg /* shift retreg with/into carry */
537 ds temp,arg1,temp /* 18th divide step */
538 addc retreg,retreg,retreg /* shift retreg with/into carry */
539 ds temp,arg1,temp /* 19th divide step */
540 addc retreg,retreg,retreg /* shift retreg with/into carry */
541 ds temp,arg1,temp /* 20th divide step */
542 addc retreg,retreg,retreg /* shift retreg with/into carry */
543 ds temp,arg1,temp /* 21st divide step */
544 addc retreg,retreg,retreg /* shift retreg with/into carry */
545 ds temp,arg1,temp /* 22nd divide step */
546 addc retreg,retreg,retreg /* shift retreg with/into carry */
547 ds temp,arg1,temp /* 23rd divide step */
548 addc retreg,retreg,retreg /* shift retreg with/into carry */
549 ds temp,arg1,temp /* 24th divide step */
550 addc retreg,retreg,retreg /* shift retreg with/into carry */
551 ds temp,arg1,temp /* 25th divide step */
552 addc retreg,retreg,retreg /* shift retreg with/into carry */
553 ds temp,arg1,temp /* 26th divide step */
554 addc retreg,retreg,retreg /* shift retreg with/into carry */
555 ds temp,arg1,temp /* 27th divide step */
556 addc retreg,retreg,retreg /* shift retreg with/into carry */
557 ds temp,arg1,temp /* 28th divide step */
558 addc retreg,retreg,retreg /* shift retreg with/into carry */
559 ds temp,arg1,temp /* 29th divide step */
560 addc retreg,retreg,retreg /* shift retreg with/into carry */
561 ds temp,arg1,temp /* 30th divide step */
562 addc retreg,retreg,retreg /* shift retreg with/into carry */
563 ds temp,arg1,temp /* 31st divide step */
564 addc retreg,retreg,retreg /* shift retreg with/into carry */
565 ds temp,arg1,temp /* 32nd divide step, */
566 MILLIRET
567 addc retreg,retreg,retreg /* shift last retreg bit into retreg */
568
569/* Handle the cases where divisor is a small constant or has high bit on. */
570LSYM(special_divisor)
571/* blr arg1,r0 */
572/* comib,>,n 0,arg1,LREF(big_divisor) ; nullify previous instruction */
573
574/* Pratap 8/13/90. The 815 Stirling chip set has a bug that prevents us from
575 generating such a blr, comib sequence. A problem in nullification. So I
576 rewrote this code. */
577
578#if defined(CONFIG_64BIT)
579/* Clear the upper 32 bits of the arg1 register. We are working with
580 small divisors (and 32-bit unsigned integers) We must not be mislead
581 by "1" bits left in the upper 32 bits. */
582 depd %r0,31,32,%r25
583#endif
584 comib,> 0,arg1,LREF(big_divisor)
585 nop
586 blr arg1,r0
587 nop
588
589LSYM(zero_divisor) /* this label is here to provide external visibility */
590 addit,= 0,arg1,0 /* trap for zero dvr */
591 nop
592 MILLIRET /* divisor == 1 */
593 copy arg0,retreg
594 MILLIRET /* divisor == 2 */
595 extru arg0,30,31,retreg
596 MILLI_BEN($$divU_3) /* divisor == 3 */
597 nop
598 MILLIRET /* divisor == 4 */
599 extru arg0,29,30,retreg
600 MILLI_BEN($$divU_5) /* divisor == 5 */
601 nop
602 MILLI_BEN($$divU_6) /* divisor == 6 */
603 nop
604 MILLI_BEN($$divU_7) /* divisor == 7 */
605 nop
606 MILLIRET /* divisor == 8 */
607 extru arg0,28,29,retreg
608 MILLI_BEN($$divU_9) /* divisor == 9 */
609 nop
610 MILLI_BEN($$divU_10) /* divisor == 10 */
611 nop
612 b LREF(normal) /* divisor == 11 */
613 ds r0,temp,r0 /* set V-bit to 1 */
614 MILLI_BEN($$divU_12) /* divisor == 12 */
615 nop
616 b LREF(normal) /* divisor == 13 */
617 ds r0,temp,r0 /* set V-bit to 1 */
618 MILLI_BEN($$divU_14) /* divisor == 14 */
619 nop
620 MILLI_BEN($$divU_15) /* divisor == 15 */
621 nop
622
623/* Handle the case where the high bit is on in the divisor.
624 Compute: if( dividend>=divisor) quotient=1; else quotient=0;
625 Note: dividend>==divisor iff dividend-divisor does not borrow
626 and not borrow iff carry. */
627LSYM(big_divisor)
628 sub arg0,arg1,r0
629 MILLIRET
630 addc r0,r0,retreg
631 .exit
632 .procend
633 .end
634#endif
635
636#ifdef L_remI
637/* ROUTINE: $$remI
638
639 DESCRIPTION:
640 . $$remI returns the remainder of the division of two signed 32-bit
641 . integers. The sign of the remainder is the same as the sign of
642 . the dividend.
643
644
645 INPUT REGISTERS:
646 . arg0 == dividend
647 . arg1 == divisor
648 . mrp == return pc
649 . sr0 == return space when called externally
650
651 OUTPUT REGISTERS:
652 . arg0 = destroyed
653 . arg1 = destroyed
654 . ret1 = remainder
655
656 OTHER REGISTERS AFFECTED:
657 . r1 = undefined
658
659 SIDE EFFECTS:
660 . Causes a trap under the following conditions: DIVIDE BY ZERO
661 . Changes memory at the following places: NONE
662
663 PERMISSIBLE CONTEXT:
664 . Unwindable
665 . Does not create a stack frame
666 . Is usable for internal or external microcode
667
668 DISCUSSION:
669 . Calls other millicode routines via mrp: NONE
670 . Calls other millicode routines: NONE */
671
672RDEFINE(tmp,r1)
673RDEFINE(retreg,ret1)
674
675 SUBSPA_MILLI
676 ATTR_MILLI
677 .proc
678 .callinfo millicode
679 .entry
680GSYM($$remI)
681GSYM($$remoI)
682 .export $$remI,MILLICODE
683 .export $$remoI,MILLICODE
684 ldo -1(arg1),tmp /* is there at most one bit set ? */
685 and,<> arg1,tmp,r0 /* if not, don't use power of 2 */
686 addi,> 0,arg1,r0 /* if denominator > 0, use power */
687 /* of 2 */
688 b,n LREF(neg_denom)
689LSYM(pow2)
690 comb,>,n 0,arg0,LREF(neg_num) /* is numerator < 0 ? */
691 and arg0,tmp,retreg /* get the result */
692 MILLIRETN
693LSYM(neg_num)
694 subi 0,arg0,arg0 /* negate numerator */
695 and arg0,tmp,retreg /* get the result */
696 subi 0,retreg,retreg /* negate result */
697 MILLIRETN
698LSYM(neg_denom)
699 addi,< 0,arg1,r0 /* if arg1 >= 0, it's not power */
700 /* of 2 */
701 b,n LREF(regular_seq)
702 sub r0,arg1,tmp /* make denominator positive */
703 comb,=,n arg1,tmp,LREF(regular_seq) /* test against 0x80000000 and 0 */
704 ldo -1(tmp),retreg /* is there at most one bit set ? */
705 and,= tmp,retreg,r0 /* if not, go to regular_seq */
706 b,n LREF(regular_seq)
707 comb,>,n 0,arg0,LREF(neg_num_2) /* if arg0 < 0, negate it */
708 and arg0,retreg,retreg
709 MILLIRETN
710LSYM(neg_num_2)
711 subi 0,arg0,tmp /* test against 0x80000000 */
712 and tmp,retreg,retreg
713 subi 0,retreg,retreg
714 MILLIRETN
715LSYM(regular_seq)
716 addit,= 0,arg1,0 /* trap if div by zero */
717 add,>= 0,arg0,retreg /* move dividend, if retreg < 0, */
718 sub 0,retreg,retreg /* make it positive */
719 sub 0,arg1, tmp /* clear carry, */
720 /* negate the divisor */
721 ds 0, tmp,0 /* set V-bit to the comple- */
722 /* ment of the divisor sign */
723 or 0,0, tmp /* clear tmp */
724 add retreg,retreg,retreg /* shift msb bit into carry */
725 ds tmp,arg1, tmp /* 1st divide step, if no carry */
726 /* out, msb of quotient = 0 */
727 addc retreg,retreg,retreg /* shift retreg with/into carry */
728LSYM(t1)
729 ds tmp,arg1, tmp /* 2nd divide step */
730 addc retreg,retreg,retreg /* shift retreg with/into carry */
731 ds tmp,arg1, tmp /* 3rd divide step */
732 addc retreg,retreg,retreg /* shift retreg with/into carry */
733 ds tmp,arg1, tmp /* 4th divide step */
734 addc retreg,retreg,retreg /* shift retreg with/into carry */
735 ds tmp,arg1, tmp /* 5th divide step */
736 addc retreg,retreg,retreg /* shift retreg with/into carry */
737 ds tmp,arg1, tmp /* 6th divide step */
738 addc retreg,retreg,retreg /* shift retreg with/into carry */
739 ds tmp,arg1, tmp /* 7th divide step */
740 addc retreg,retreg,retreg /* shift retreg with/into carry */
741 ds tmp,arg1, tmp /* 8th divide step */
742 addc retreg,retreg,retreg /* shift retreg with/into carry */
743 ds tmp,arg1, tmp /* 9th divide step */
744 addc retreg,retreg,retreg /* shift retreg with/into carry */
745 ds tmp,arg1, tmp /* 10th divide step */
746 addc retreg,retreg,retreg /* shift retreg with/into carry */
747 ds tmp,arg1, tmp /* 11th divide step */
748 addc retreg,retreg,retreg /* shift retreg with/into carry */
749 ds tmp,arg1, tmp /* 12th divide step */
750 addc retreg,retreg,retreg /* shift retreg with/into carry */
751 ds tmp,arg1, tmp /* 13th divide step */
752 addc retreg,retreg,retreg /* shift retreg with/into carry */
753 ds tmp,arg1, tmp /* 14th divide step */
754 addc retreg,retreg,retreg /* shift retreg with/into carry */
755 ds tmp,arg1, tmp /* 15th divide step */
756 addc retreg,retreg,retreg /* shift retreg with/into carry */
757 ds tmp,arg1, tmp /* 16th divide step */
758 addc retreg,retreg,retreg /* shift retreg with/into carry */
759 ds tmp,arg1, tmp /* 17th divide step */
760 addc retreg,retreg,retreg /* shift retreg with/into carry */
761 ds tmp,arg1, tmp /* 18th divide step */
762 addc retreg,retreg,retreg /* shift retreg with/into carry */
763 ds tmp,arg1, tmp /* 19th divide step */
764 addc retreg,retreg,retreg /* shift retreg with/into carry */
765 ds tmp,arg1, tmp /* 20th divide step */
766 addc retreg,retreg,retreg /* shift retreg with/into carry */
767 ds tmp,arg1, tmp /* 21st divide step */
768 addc retreg,retreg,retreg /* shift retreg with/into carry */
769 ds tmp,arg1, tmp /* 22nd divide step */
770 addc retreg,retreg,retreg /* shift retreg with/into carry */
771 ds tmp,arg1, tmp /* 23rd divide step */
772 addc retreg,retreg,retreg /* shift retreg with/into carry */
773 ds tmp,arg1, tmp /* 24th divide step */
774 addc retreg,retreg,retreg /* shift retreg with/into carry */
775 ds tmp,arg1, tmp /* 25th divide step */
776 addc retreg,retreg,retreg /* shift retreg with/into carry */
777 ds tmp,arg1, tmp /* 26th divide step */
778 addc retreg,retreg,retreg /* shift retreg with/into carry */
779 ds tmp,arg1, tmp /* 27th divide step */
780 addc retreg,retreg,retreg /* shift retreg with/into carry */
781 ds tmp,arg1, tmp /* 28th divide step */
782 addc retreg,retreg,retreg /* shift retreg with/into carry */
783 ds tmp,arg1, tmp /* 29th divide step */
784 addc retreg,retreg,retreg /* shift retreg with/into carry */
785 ds tmp,arg1, tmp /* 30th divide step */
786 addc retreg,retreg,retreg /* shift retreg with/into carry */
787 ds tmp,arg1, tmp /* 31st divide step */
788 addc retreg,retreg,retreg /* shift retreg with/into carry */
789 ds tmp,arg1, tmp /* 32nd divide step, */
790 addc retreg,retreg,retreg /* shift last bit into retreg */
791 movb,>=,n tmp,retreg,LREF(finish) /* branch if pos. tmp */
792 add,< arg1,0,0 /* if arg1 > 0, add arg1 */
793 add,tr tmp,arg1,retreg /* for correcting remainder tmp */
794 sub tmp,arg1,retreg /* else add absolute value arg1 */
795LSYM(finish)
796 add,>= arg0,0,0 /* set sign of remainder */
797 sub 0,retreg,retreg /* to sign of dividend */
798 MILLIRET
799 nop
800 .exit
801 .procend
802#ifdef milliext
803 .origin 0x00000200
804#endif
805 .end
806#endif
807
808#ifdef L_remU
809/* ROUTINE: $$remU
810 . Single precision divide for remainder with unsigned binary integers.
811 .
812 . The remainder must be dividend-(dividend/divisor)*divisor.
813 . Divide by zero is trapped.
814
815 INPUT REGISTERS:
816 . arg0 == dividend
817 . arg1 == divisor
818 . mrp == return pc
819 . sr0 == return space when called externally
820
821 OUTPUT REGISTERS:
822 . arg0 = undefined
823 . arg1 = undefined
824 . ret1 = remainder
825
826 OTHER REGISTERS AFFECTED:
827 . r1 = undefined
828
829 SIDE EFFECTS:
830 . Causes a trap under the following conditions: DIVIDE BY ZERO
831 . Changes memory at the following places: NONE
832
833 PERMISSIBLE CONTEXT:
834 . Unwindable.
835 . Does not create a stack frame.
836 . Suitable for internal or external millicode.
837 . Assumes the special millicode register conventions.
838
839 DISCUSSION:
840 . Calls other millicode routines using mrp: NONE
841 . Calls other millicode routines: NONE */
842
843
844RDEFINE(temp,r1)
845RDEFINE(rmndr,ret1) /* r29 */
846 SUBSPA_MILLI
847 ATTR_MILLI
848 .export $$remU,millicode
849 .proc
850 .callinfo millicode
851 .entry
852GSYM($$remU)
853 ldo -1(arg1),temp /* is there at most one bit set ? */
854 and,= arg1,temp,r0 /* if not, don't use power of 2 */
855 b LREF(regular_seq)
856 addit,= 0,arg1,r0 /* trap on div by zero */
857 and arg0,temp,rmndr /* get the result for power of 2 */
858 MILLIRETN
859LSYM(regular_seq)
860 comib,>=,n 0,arg1,LREF(special_case)
861 subi 0,arg1,rmndr /* clear carry, negate the divisor */
862 ds r0,rmndr,r0 /* set V-bit to 1 */
863 add arg0,arg0,temp /* shift msb bit into carry */
864 ds r0,arg1,rmndr /* 1st divide step, if no carry */
865 addc temp,temp,temp /* shift temp with/into carry */
866 ds rmndr,arg1,rmndr /* 2nd divide step */
867 addc temp,temp,temp /* shift temp with/into carry */
868 ds rmndr,arg1,rmndr /* 3rd divide step */
869 addc temp,temp,temp /* shift temp with/into carry */
870 ds rmndr,arg1,rmndr /* 4th divide step */
871 addc temp,temp,temp /* shift temp with/into carry */
872 ds rmndr,arg1,rmndr /* 5th divide step */
873 addc temp,temp,temp /* shift temp with/into carry */
874 ds rmndr,arg1,rmndr /* 6th divide step */
875 addc temp,temp,temp /* shift temp with/into carry */
876 ds rmndr,arg1,rmndr /* 7th divide step */
877 addc temp,temp,temp /* shift temp with/into carry */
878 ds rmndr,arg1,rmndr /* 8th divide step */
879 addc temp,temp,temp /* shift temp with/into carry */
880 ds rmndr,arg1,rmndr /* 9th divide step */
881 addc temp,temp,temp /* shift temp with/into carry */
882 ds rmndr,arg1,rmndr /* 10th divide step */
883 addc temp,temp,temp /* shift temp with/into carry */
884 ds rmndr,arg1,rmndr /* 11th divide step */
885 addc temp,temp,temp /* shift temp with/into carry */
886 ds rmndr,arg1,rmndr /* 12th divide step */
887 addc temp,temp,temp /* shift temp with/into carry */
888 ds rmndr,arg1,rmndr /* 13th divide step */
889 addc temp,temp,temp /* shift temp with/into carry */
890 ds rmndr,arg1,rmndr /* 14th divide step */
891 addc temp,temp,temp /* shift temp with/into carry */
892 ds rmndr,arg1,rmndr /* 15th divide step */
893 addc temp,temp,temp /* shift temp with/into carry */
894 ds rmndr,arg1,rmndr /* 16th divide step */
895 addc temp,temp,temp /* shift temp with/into carry */
896 ds rmndr,arg1,rmndr /* 17th divide step */
897 addc temp,temp,temp /* shift temp with/into carry */
898 ds rmndr,arg1,rmndr /* 18th divide step */
899 addc temp,temp,temp /* shift temp with/into carry */
900 ds rmndr,arg1,rmndr /* 19th divide step */
901 addc temp,temp,temp /* shift temp with/into carry */
902 ds rmndr,arg1,rmndr /* 20th divide step */
903 addc temp,temp,temp /* shift temp with/into carry */
904 ds rmndr,arg1,rmndr /* 21st divide step */
905 addc temp,temp,temp /* shift temp with/into carry */
906 ds rmndr,arg1,rmndr /* 22nd divide step */
907 addc temp,temp,temp /* shift temp with/into carry */
908 ds rmndr,arg1,rmndr /* 23rd divide step */
909 addc temp,temp,temp /* shift temp with/into carry */
910 ds rmndr,arg1,rmndr /* 24th divide step */
911 addc temp,temp,temp /* shift temp with/into carry */
912 ds rmndr,arg1,rmndr /* 25th divide step */
913 addc temp,temp,temp /* shift temp with/into carry */
914 ds rmndr,arg1,rmndr /* 26th divide step */
915 addc temp,temp,temp /* shift temp with/into carry */
916 ds rmndr,arg1,rmndr /* 27th divide step */
917 addc temp,temp,temp /* shift temp with/into carry */
918 ds rmndr,arg1,rmndr /* 28th divide step */
919 addc temp,temp,temp /* shift temp with/into carry */
920 ds rmndr,arg1,rmndr /* 29th divide step */
921 addc temp,temp,temp /* shift temp with/into carry */
922 ds rmndr,arg1,rmndr /* 30th divide step */
923 addc temp,temp,temp /* shift temp with/into carry */
924 ds rmndr,arg1,rmndr /* 31st divide step */
925 addc temp,temp,temp /* shift temp with/into carry */
926 ds rmndr,arg1,rmndr /* 32nd divide step, */
927 comiclr,<= 0,rmndr,r0
928 add rmndr,arg1,rmndr /* correction */
929 MILLIRETN
930 nop
931
932/* Putting >= on the last DS and deleting COMICLR does not work! */
933LSYM(special_case)
934 sub,>>= arg0,arg1,rmndr
935 copy arg0,rmndr
936 MILLIRETN
937 nop
938 .exit
939 .procend
940 .end
941#endif
942
943#ifdef L_div_const
944/* ROUTINE: $$divI_2
945 . $$divI_3 $$divU_3
946 . $$divI_4
947 . $$divI_5 $$divU_5
948 . $$divI_6 $$divU_6
949 . $$divI_7 $$divU_7
950 . $$divI_8
951 . $$divI_9 $$divU_9
952 . $$divI_10 $$divU_10
953 .
954 . $$divI_12 $$divU_12
955 .
956 . $$divI_14 $$divU_14
957 . $$divI_15 $$divU_15
958 . $$divI_16
959 . $$divI_17 $$divU_17
960 .
961 . Divide by selected constants for single precision binary integers.
962
963 INPUT REGISTERS:
964 . arg0 == dividend
965 . mrp == return pc
966 . sr0 == return space when called externally
967
968 OUTPUT REGISTERS:
969 . arg0 = undefined
970 . arg1 = undefined
971 . ret1 = quotient
972
973 OTHER REGISTERS AFFECTED:
974 . r1 = undefined
975
976 SIDE EFFECTS:
977 . Causes a trap under the following conditions: NONE
978 . Changes memory at the following places: NONE
979
980 PERMISSIBLE CONTEXT:
981 . Unwindable.
982 . Does not create a stack frame.
983 . Suitable for internal or external millicode.
984 . Assumes the special millicode register conventions.
985
986 DISCUSSION:
987 . Calls other millicode routines using mrp: NONE
988 . Calls other millicode routines: NONE */
989
990
991/* TRUNCATED DIVISION BY SMALL INTEGERS
992
993 We are interested in q(x) = floor(x/y), where x >= 0 and y > 0
994 (with y fixed).
995
996 Let a = floor(z/y), for some choice of z. Note that z will be
997 chosen so that division by z is cheap.
998
999 Let r be the remainder(z/y). In other words, r = z - ay.
1000
1001 Now, our method is to choose a value for b such that
1002
1003 q'(x) = floor((ax+b)/z)
1004
1005 is equal to q(x) over as large a range of x as possible. If the
1006 two are equal over a sufficiently large range, and if it is easy to
1007 form the product (ax), and it is easy to divide by z, then we can
1008 perform the division much faster than the general division algorithm.
1009
1010 So, we want the following to be true:
1011
1012 . For x in the following range:
1013 .
1014 . ky <= x < (k+1)y
1015 .
1016 . implies that
1017 .
1018 . k <= (ax+b)/z < (k+1)
1019
1020 We want to determine b such that this is true for all k in the
1021 range {0..K} for some maximum K.
1022
1023 Since (ax+b) is an increasing function of x, we can take each
1024 bound separately to determine the "best" value for b.
1025
1026 (ax+b)/z < (k+1) implies
1027
1028 (a((k+1)y-1)+b < (k+1)z implies
1029
1030 b < a + (k+1)(z-ay) implies
1031
1032 b < a + (k+1)r
1033
1034 This needs to be true for all k in the range {0..K}. In
1035 particular, it is true for k = 0 and this leads to a maximum
1036 acceptable value for b.
1037
1038 b < a+r or b <= a+r-1
1039
1040 Taking the other bound, we have
1041
1042 k <= (ax+b)/z implies
1043
1044 k <= (aky+b)/z implies
1045
1046 k(z-ay) <= b implies
1047
1048 kr <= b
1049
1050 Clearly, the largest range for k will be achieved by maximizing b,
1051 when r is not zero. When r is zero, then the simplest choice for b
1052 is 0. When r is not 0, set
1053
1054 . b = a+r-1
1055
1056 Now, by construction, q'(x) = floor((ax+b)/z) = q(x) = floor(x/y)
1057 for all x in the range:
1058
1059 . 0 <= x < (K+1)y
1060
1061 We need to determine what K is. Of our two bounds,
1062
1063 . b < a+(k+1)r is satisfied for all k >= 0, by construction.
1064
1065 The other bound is
1066
1067 . kr <= b
1068
1069 This is always true if r = 0. If r is not 0 (the usual case), then
1070 K = floor((a+r-1)/r), is the maximum value for k.
1071
1072 Therefore, the formula q'(x) = floor((ax+b)/z) yields the correct
1073 answer for q(x) = floor(x/y) when x is in the range
1074
1075 (0,(K+1)y-1) K = floor((a+r-1)/r)
1076
1077 To be most useful, we want (K+1)y-1 = (max x) >= 2**32-1 so that
1078 the formula for q'(x) yields the correct value of q(x) for all x
1079 representable by a single word in HPPA.
1080
1081 We are also constrained in that computing the product (ax), adding
1082 b, and dividing by z must all be done quickly, otherwise we will be
1083 better off going through the general algorithm using the DS
1084 instruction, which uses approximately 70 cycles.
1085
1086 For each y, there is a choice of z which satisfies the constraints
1087 for (K+1)y >= 2**32. We may not, however, be able to satisfy the
1088 timing constraints for arbitrary y. It seems that z being equal to
1089 a power of 2 or a power of 2 minus 1 is as good as we can do, since
1090 it minimizes the time to do division by z. We want the choice of z
1091 to also result in a value for (a) that minimizes the computation of
1092 the product (ax). This is best achieved if (a) has a regular bit
1093 pattern (so the multiplication can be done with shifts and adds).
1094 The value of (a) also needs to be less than 2**32 so the product is
1095 always guaranteed to fit in 2 words.
1096
1097 In actual practice, the following should be done:
1098
1099 1) For negative x, you should take the absolute value and remember
1100 . the fact so that the result can be negated. This obviously does
1101 . not apply in the unsigned case.
1102 2) For even y, you should factor out the power of 2 that divides y
1103 . and divide x by it. You can then proceed by dividing by the
1104 . odd factor of y.
1105
1106 Here is a table of some odd values of y, and corresponding choices
1107 for z which are "good".
1108
1109 y z r a (hex) max x (hex)
1110
1111 3 2**32 1 55555555 100000001
1112 5 2**32 1 33333333 100000003
1113 7 2**24-1 0 249249 (infinite)
1114 9 2**24-1 0 1c71c7 (infinite)
1115 11 2**20-1 0 1745d (infinite)
1116 13 2**24-1 0 13b13b (infinite)
1117 15 2**32 1 11111111 10000000d
1118 17 2**32 1 f0f0f0f 10000000f
1119
1120 If r is 1, then b = a+r-1 = a. This simplifies the computation
1121 of (ax+b), since you can compute (x+1)(a) instead. If r is 0,
1122 then b = 0 is ok to use which simplifies (ax+b).
1123
1124 The bit patterns for 55555555, 33333333, and 11111111 are obviously
1125 very regular. The bit patterns for the other values of a above are:
1126
1127 y (hex) (binary)
1128
1129 7 249249 001001001001001001001001 << regular >>
1130 9 1c71c7 000111000111000111000111 << regular >>
1131 11 1745d 000000010111010001011101 << irregular >>
1132 13 13b13b 000100111011000100111011 << irregular >>
1133
1134 The bit patterns for (a) corresponding to (y) of 11 and 13 may be
1135 too irregular to warrant using this method.
1136
1137 When z is a power of 2 minus 1, then the division by z is slightly
1138 more complicated, involving an iterative solution.
1139
1140 The code presented here solves division by 1 through 17, except for
1141 11 and 13. There are algorithms for both signed and unsigned
1142 quantities given.
1143
1144 TIMINGS (cycles)
1145
1146 divisor positive negative unsigned
1147
1148 . 1 2 2 2
1149 . 2 4 4 2
1150 . 3 19 21 19
1151 . 4 4 4 2
1152 . 5 18 22 19
1153 . 6 19 22 19
1154 . 8 4 4 2
1155 . 10 18 19 17
1156 . 12 18 20 18
1157 . 15 16 18 16
1158 . 16 4 4 2
1159 . 17 16 18 16
1160
1161 Now, the algorithm for 7, 9, and 14 is an iterative one. That is,
1162 a loop body is executed until the tentative quotient is 0. The
1163 number of times the loop body is executed varies depending on the
1164 dividend, but is never more than two times. If the dividend is
1165 less than the divisor, then the loop body is not executed at all.
1166 Each iteration adds 4 cycles to the timings.
1167
1168 divisor positive negative unsigned
1169
1170 . 7 19+4n 20+4n 20+4n n = number of iterations
1171 . 9 21+4n 22+4n 21+4n
1172 . 14 21+4n 22+4n 20+4n
1173
1174 To give an idea of how the number of iterations varies, here is a
1175 table of dividend versus number of iterations when dividing by 7.
1176
1177 smallest largest required
1178 dividend dividend iterations
1179
1180 . 0 6 0
1181 . 7 0x6ffffff 1
1182 0x1000006 0xffffffff 2
1183
1184 There is some overlap in the range of numbers requiring 1 and 2
1185 iterations. */
1186
1187RDEFINE(t2,r1)
1188RDEFINE(x2,arg0) /* r26 */
1189RDEFINE(t1,arg1) /* r25 */
1190RDEFINE(x1,ret1) /* r29 */
1191
1192 SUBSPA_MILLI_DIV
1193 ATTR_MILLI
1194
1195 .proc
1196 .callinfo millicode
1197 .entry
1198/* NONE of these routines require a stack frame
1199 ALL of these routines are unwindable from millicode */
1200
1201GSYM($$divide_by_constant)
1202 .export $$divide_by_constant,millicode
1203/* Provides a "nice" label for the code covered by the unwind descriptor
1204 for things like gprof. */
1205
1206/* DIVISION BY 2 (shift by 1) */
1207GSYM($$divI_2)
1208 .export $$divI_2,millicode
1209 comclr,>= arg0,0,0
1210 addi 1,arg0,arg0
1211 MILLIRET
1212 extrs arg0,30,31,ret1
1213
1214
1215/* DIVISION BY 4 (shift by 2) */
1216GSYM($$divI_4)
1217 .export $$divI_4,millicode
1218 comclr,>= arg0,0,0
1219 addi 3,arg0,arg0
1220 MILLIRET
1221 extrs arg0,29,30,ret1
1222
1223
1224/* DIVISION BY 8 (shift by 3) */
1225GSYM($$divI_8)
1226 .export $$divI_8,millicode
1227 comclr,>= arg0,0,0
1228 addi 7,arg0,arg0
1229 MILLIRET
1230 extrs arg0,28,29,ret1
1231
1232/* DIVISION BY 16 (shift by 4) */
1233GSYM($$divI_16)
1234 .export $$divI_16,millicode
1235 comclr,>= arg0,0,0
1236 addi 15,arg0,arg0
1237 MILLIRET
1238 extrs arg0,27,28,ret1
1239
1240/****************************************************************************
1241*
1242* DIVISION BY DIVISORS OF FFFFFFFF, and powers of 2 times these
1243*
1244* includes 3,5,15,17 and also 6,10,12
1245*
1246****************************************************************************/
1247
1248/* DIVISION BY 3 (use z = 2**32; a = 55555555) */
1249
1250GSYM($$divI_3)
1251 .export $$divI_3,millicode
1252 comb,<,N x2,0,LREF(neg3)
1253
1254 addi 1,x2,x2 /* this cannot overflow */
1255 extru x2,1,2,x1 /* multiply by 5 to get started */
1256 sh2add x2,x2,x2
1257 b LREF(pos)
1258 addc x1,0,x1
1259
1260LSYM(neg3)
1261 subi 1,x2,x2 /* this cannot overflow */
1262 extru x2,1,2,x1 /* multiply by 5 to get started */
1263 sh2add x2,x2,x2
1264 b LREF(neg)
1265 addc x1,0,x1
1266
1267GSYM($$divU_3)
1268 .export $$divU_3,millicode
1269 addi 1,x2,x2 /* this CAN overflow */
1270 addc 0,0,x1
1271 shd x1,x2,30,t1 /* multiply by 5 to get started */
1272 sh2add x2,x2,x2
1273 b LREF(pos)
1274 addc x1,t1,x1
1275
1276/* DIVISION BY 5 (use z = 2**32; a = 33333333) */
1277
1278GSYM($$divI_5)
1279 .export $$divI_5,millicode
1280 comb,<,N x2,0,LREF(neg5)
1281
1282 addi 3,x2,t1 /* this cannot overflow */
1283 sh1add x2,t1,x2 /* multiply by 3 to get started */
1284 b LREF(pos)
1285 addc 0,0,x1
1286
1287LSYM(neg5)
1288 sub 0,x2,x2 /* negate x2 */
1289 addi 1,x2,x2 /* this cannot overflow */
1290 shd 0,x2,31,x1 /* get top bit (can be 1) */
1291 sh1add x2,x2,x2 /* multiply by 3 to get started */
1292 b LREF(neg)
1293 addc x1,0,x1
1294
1295GSYM($$divU_5)
1296 .export $$divU_5,millicode
1297 addi 1,x2,x2 /* this CAN overflow */
1298 addc 0,0,x1
1299 shd x1,x2,31,t1 /* multiply by 3 to get started */
1300 sh1add x2,x2,x2
1301 b LREF(pos)
1302 addc t1,x1,x1
1303
1304/* DIVISION BY 6 (shift to divide by 2 then divide by 3) */
1305GSYM($$divI_6)
1306 .export $$divI_6,millicode
1307 comb,<,N x2,0,LREF(neg6)
1308 extru x2,30,31,x2 /* divide by 2 */
1309 addi 5,x2,t1 /* compute 5*(x2+1) = 5*x2+5 */
1310 sh2add x2,t1,x2 /* multiply by 5 to get started */
1311 b LREF(pos)
1312 addc 0,0,x1
1313
1314LSYM(neg6)
1315 subi 2,x2,x2 /* negate, divide by 2, and add 1 */
1316 /* negation and adding 1 are done */
1317 /* at the same time by the SUBI */
1318 extru x2,30,31,x2
1319 shd 0,x2,30,x1
1320 sh2add x2,x2,x2 /* multiply by 5 to get started */
1321 b LREF(neg)
1322 addc x1,0,x1
1323
1324GSYM($$divU_6)
1325 .export $$divU_6,millicode
1326 extru x2,30,31,x2 /* divide by 2 */
1327 addi 1,x2,x2 /* cannot carry */
1328 shd 0,x2,30,x1 /* multiply by 5 to get started */
1329 sh2add x2,x2,x2
1330 b LREF(pos)
1331 addc x1,0,x1
1332
1333/* DIVISION BY 10 (shift to divide by 2 then divide by 5) */
1334GSYM($$divU_10)
1335 .export $$divU_10,millicode
1336 extru x2,30,31,x2 /* divide by 2 */
1337 addi 3,x2,t1 /* compute 3*(x2+1) = (3*x2)+3 */
1338 sh1add x2,t1,x2 /* multiply by 3 to get started */
1339 addc 0,0,x1
1340LSYM(pos)
1341 shd x1,x2,28,t1 /* multiply by 0x11 */
1342 shd x2,0,28,t2
1343 add x2,t2,x2
1344 addc x1,t1,x1
1345LSYM(pos_for_17)
1346 shd x1,x2,24,t1 /* multiply by 0x101 */
1347 shd x2,0,24,t2
1348 add x2,t2,x2
1349 addc x1,t1,x1
1350
1351 shd x1,x2,16,t1 /* multiply by 0x10001 */
1352 shd x2,0,16,t2
1353 add x2,t2,x2
1354 MILLIRET
1355 addc x1,t1,x1
1356
1357GSYM($$divI_10)
1358 .export $$divI_10,millicode
1359 comb,< x2,0,LREF(neg10)
1360 copy 0,x1
1361 extru x2,30,31,x2 /* divide by 2 */
1362 addib,TR 1,x2,LREF(pos) /* add 1 (cannot overflow) */
1363 sh1add x2,x2,x2 /* multiply by 3 to get started */
1364
1365LSYM(neg10)
1366 subi 2,x2,x2 /* negate, divide by 2, and add 1 */
1367 /* negation and adding 1 are done */
1368 /* at the same time by the SUBI */
1369 extru x2,30,31,x2
1370 sh1add x2,x2,x2 /* multiply by 3 to get started */
1371LSYM(neg)
1372 shd x1,x2,28,t1 /* multiply by 0x11 */
1373 shd x2,0,28,t2
1374 add x2,t2,x2
1375 addc x1,t1,x1
1376LSYM(neg_for_17)
1377 shd x1,x2,24,t1 /* multiply by 0x101 */
1378 shd x2,0,24,t2
1379 add x2,t2,x2
1380 addc x1,t1,x1
1381
1382 shd x1,x2,16,t1 /* multiply by 0x10001 */
1383 shd x2,0,16,t2
1384 add x2,t2,x2
1385 addc x1,t1,x1
1386 MILLIRET
1387 sub 0,x1,x1
1388
1389/* DIVISION BY 12 (shift to divide by 4 then divide by 3) */
1390GSYM($$divI_12)
1391 .export $$divI_12,millicode
1392 comb,< x2,0,LREF(neg12)
1393 copy 0,x1
1394 extru x2,29,30,x2 /* divide by 4 */
1395 addib,tr 1,x2,LREF(pos) /* compute 5*(x2+1) = 5*x2+5 */
1396 sh2add x2,x2,x2 /* multiply by 5 to get started */
1397
1398LSYM(neg12)
1399 subi 4,x2,x2 /* negate, divide by 4, and add 1 */
1400 /* negation and adding 1 are done */
1401 /* at the same time by the SUBI */
1402 extru x2,29,30,x2
1403 b LREF(neg)
1404 sh2add x2,x2,x2 /* multiply by 5 to get started */
1405
1406GSYM($$divU_12)
1407 .export $$divU_12,millicode
1408 extru x2,29,30,x2 /* divide by 4 */
1409 addi 5,x2,t1 /* cannot carry */
1410 sh2add x2,t1,x2 /* multiply by 5 to get started */
1411 b LREF(pos)
1412 addc 0,0,x1
1413
1414/* DIVISION BY 15 (use z = 2**32; a = 11111111) */
1415GSYM($$divI_15)
1416 .export $$divI_15,millicode
1417 comb,< x2,0,LREF(neg15)
1418 copy 0,x1
1419 addib,tr 1,x2,LREF(pos)+4
1420 shd x1,x2,28,t1
1421
1422LSYM(neg15)
1423 b LREF(neg)
1424 subi 1,x2,x2
1425
1426GSYM($$divU_15)
1427 .export $$divU_15,millicode
1428 addi 1,x2,x2 /* this CAN overflow */
1429 b LREF(pos)
1430 addc 0,0,x1
1431
1432/* DIVISION BY 17 (use z = 2**32; a = f0f0f0f) */
1433GSYM($$divI_17)
1434 .export $$divI_17,millicode
1435 comb,<,n x2,0,LREF(neg17)
1436 addi 1,x2,x2 /* this cannot overflow */
1437 shd 0,x2,28,t1 /* multiply by 0xf to get started */
1438 shd x2,0,28,t2
1439 sub t2,x2,x2
1440 b LREF(pos_for_17)
1441 subb t1,0,x1
1442
1443LSYM(neg17)
1444 subi 1,x2,x2 /* this cannot overflow */
1445 shd 0,x2,28,t1 /* multiply by 0xf to get started */
1446 shd x2,0,28,t2
1447 sub t2,x2,x2
1448 b LREF(neg_for_17)
1449 subb t1,0,x1
1450
1451GSYM($$divU_17)
1452 .export $$divU_17,millicode
1453 addi 1,x2,x2 /* this CAN overflow */
1454 addc 0,0,x1
1455 shd x1,x2,28,t1 /* multiply by 0xf to get started */
1456LSYM(u17)
1457 shd x2,0,28,t2
1458 sub t2,x2,x2
1459 b LREF(pos_for_17)
1460 subb t1,x1,x1
1461
1462
1463/* DIVISION BY DIVISORS OF FFFFFF, and powers of 2 times these
1464 includes 7,9 and also 14
1465
1466
1467 z = 2**24-1
1468 r = z mod x = 0
1469
1470 so choose b = 0
1471
1472 Also, in order to divide by z = 2**24-1, we approximate by dividing
1473 by (z+1) = 2**24 (which is easy), and then correcting.
1474
1475 (ax) = (z+1)q' + r
1476 . = zq' + (q'+r)
1477
1478 So to compute (ax)/z, compute q' = (ax)/(z+1) and r = (ax) mod (z+1)
1479 Then the true remainder of (ax)/z is (q'+r). Repeat the process
1480 with this new remainder, adding the tentative quotients together,
1481 until a tentative quotient is 0 (and then we are done). There is
1482 one last correction to be done. It is possible that (q'+r) = z.
1483 If so, then (q'+r)/(z+1) = 0 and it looks like we are done. But,
1484 in fact, we need to add 1 more to the quotient. Now, it turns
1485 out that this happens if and only if the original value x is
1486 an exact multiple of y. So, to avoid a three instruction test at
1487 the end, instead use 1 instruction to add 1 to x at the beginning. */
1488
1489/* DIVISION BY 7 (use z = 2**24-1; a = 249249) */
1490GSYM($$divI_7)
1491 .export $$divI_7,millicode
1492 comb,<,n x2,0,LREF(neg7)
1493LSYM(7)
1494 addi 1,x2,x2 /* cannot overflow */
1495 shd 0,x2,29,x1
1496 sh3add x2,x2,x2
1497 addc x1,0,x1
1498LSYM(pos7)
1499 shd x1,x2,26,t1
1500 shd x2,0,26,t2
1501 add x2,t2,x2
1502 addc x1,t1,x1
1503
1504 shd x1,x2,20,t1
1505 shd x2,0,20,t2
1506 add x2,t2,x2
1507 addc x1,t1,t1
1508
1509 /* computed <t1,x2>. Now divide it by (2**24 - 1) */
1510
1511 copy 0,x1
1512 shd,= t1,x2,24,t1 /* tentative quotient */
1513LSYM(1)
1514 addb,tr t1,x1,LREF(2) /* add to previous quotient */
1515 extru x2,31,24,x2 /* new remainder (unadjusted) */
1516
1517 MILLIRETN
1518
1519LSYM(2)
1520 addb,tr t1,x2,LREF(1) /* adjust remainder */
1521 extru,= x2,7,8,t1 /* new quotient */
1522
1523LSYM(neg7)
1524 subi 1,x2,x2 /* negate x2 and add 1 */
1525LSYM(8)
1526 shd 0,x2,29,x1
1527 sh3add x2,x2,x2
1528 addc x1,0,x1
1529
1530LSYM(neg7_shift)
1531 shd x1,x2,26,t1
1532 shd x2,0,26,t2
1533 add x2,t2,x2
1534 addc x1,t1,x1
1535
1536 shd x1,x2,20,t1
1537 shd x2,0,20,t2
1538 add x2,t2,x2
1539 addc x1,t1,t1
1540
1541 /* computed <t1,x2>. Now divide it by (2**24 - 1) */
1542
1543 copy 0,x1
1544 shd,= t1,x2,24,t1 /* tentative quotient */
1545LSYM(3)
1546 addb,tr t1,x1,LREF(4) /* add to previous quotient */
1547 extru x2,31,24,x2 /* new remainder (unadjusted) */
1548
1549 MILLIRET
1550 sub 0,x1,x1 /* negate result */
1551
1552LSYM(4)
1553 addb,tr t1,x2,LREF(3) /* adjust remainder */
1554 extru,= x2,7,8,t1 /* new quotient */
1555
1556GSYM($$divU_7)
1557 .export $$divU_7,millicode
1558 addi 1,x2,x2 /* can carry */
1559 addc 0,0,x1
1560 shd x1,x2,29,t1
1561 sh3add x2,x2,x2
1562 b LREF(pos7)
1563 addc t1,x1,x1
1564
1565/* DIVISION BY 9 (use z = 2**24-1; a = 1c71c7) */
1566GSYM($$divI_9)
1567 .export $$divI_9,millicode
1568 comb,<,n x2,0,LREF(neg9)
1569 addi 1,x2,x2 /* cannot overflow */
1570 shd 0,x2,29,t1
1571 shd x2,0,29,t2
1572 sub t2,x2,x2
1573 b LREF(pos7)
1574 subb t1,0,x1
1575
1576LSYM(neg9)
1577 subi 1,x2,x2 /* negate and add 1 */
1578 shd 0,x2,29,t1
1579 shd x2,0,29,t2
1580 sub t2,x2,x2
1581 b LREF(neg7_shift)
1582 subb t1,0,x1
1583
1584GSYM($$divU_9)
1585 .export $$divU_9,millicode
1586 addi 1,x2,x2 /* can carry */
1587 addc 0,0,x1
1588 shd x1,x2,29,t1
1589 shd x2,0,29,t2
1590 sub t2,x2,x2
1591 b LREF(pos7)
1592 subb t1,x1,x1
1593
1594/* DIVISION BY 14 (shift to divide by 2 then divide by 7) */
1595GSYM($$divI_14)
1596 .export $$divI_14,millicode
1597 comb,<,n x2,0,LREF(neg14)
1598GSYM($$divU_14)
1599 .export $$divU_14,millicode
1600 b LREF(7) /* go to 7 case */
1601 extru x2,30,31,x2 /* divide by 2 */
1602
1603LSYM(neg14)
1604 subi 2,x2,x2 /* negate (and add 2) */
1605 b LREF(8)
1606 extru x2,30,31,x2 /* divide by 2 */
1607 .exit
1608 .procend
1609 .end
1610#endif
1611
1612#ifdef L_mulI
1613/* VERSION "@(#)$$mulI $ Revision: 12.4 $ $ Date: 94/03/17 17:18:51 $" */
1614/******************************************************************************
1615This routine is used on PA2.0 processors when gcc -mno-fpregs is used
1616
1617ROUTINE: $$mulI
1618
1619
1620DESCRIPTION:
1621
1622 $$mulI multiplies two single word integers, giving a single
1623 word result.
1624
1625
1626INPUT REGISTERS:
1627
1628 arg0 = Operand 1
1629 arg1 = Operand 2
1630 r31 == return pc
1631 sr0 == return space when called externally
1632
1633
1634OUTPUT REGISTERS:
1635
1636 arg0 = undefined
1637 arg1 = undefined
1638 ret1 = result
1639
1640OTHER REGISTERS AFFECTED:
1641
1642 r1 = undefined
1643
1644SIDE EFFECTS:
1645
1646 Causes a trap under the following conditions: NONE
1647 Changes memory at the following places: NONE
1648
1649PERMISSIBLE CONTEXT:
1650
1651 Unwindable
1652 Does not create a stack frame
1653 Is usable for internal or external microcode
1654
1655DISCUSSION:
1656
1657 Calls other millicode routines via mrp: NONE
1658 Calls other millicode routines: NONE
1659
1660***************************************************************************/
1661
1662
1663#define a0 %arg0
1664#define a1 %arg1
1665#define t0 %r1
1666#define r %ret1
1667
1668#define a0__128a0 zdep a0,24,25,a0
1669#define a0__256a0 zdep a0,23,24,a0
1670#define a1_ne_0_b_l0 comb,<> a1,0,LREF(l0)
1671#define a1_ne_0_b_l1 comb,<> a1,0,LREF(l1)
1672#define a1_ne_0_b_l2 comb,<> a1,0,LREF(l2)
1673#define b_n_ret_t0 b,n LREF(ret_t0)
1674#define b_e_shift b LREF(e_shift)
1675#define b_e_t0ma0 b LREF(e_t0ma0)
1676#define b_e_t0 b LREF(e_t0)
1677#define b_e_t0a0 b LREF(e_t0a0)
1678#define b_e_t02a0 b LREF(e_t02a0)
1679#define b_e_t04a0 b LREF(e_t04a0)
1680#define b_e_2t0 b LREF(e_2t0)
1681#define b_e_2t0a0 b LREF(e_2t0a0)
1682#define b_e_2t04a0 b LREF(e2t04a0)
1683#define b_e_3t0 b LREF(e_3t0)
1684#define b_e_4t0 b LREF(e_4t0)
1685#define b_e_4t0a0 b LREF(e_4t0a0)
1686#define b_e_4t08a0 b LREF(e4t08a0)
1687#define b_e_5t0 b LREF(e_5t0)
1688#define b_e_8t0 b LREF(e_8t0)
1689#define b_e_8t0a0 b LREF(e_8t0a0)
1690#define r__r_a0 add r,a0,r
1691#define r__r_2a0 sh1add a0,r,r
1692#define r__r_4a0 sh2add a0,r,r
1693#define r__r_8a0 sh3add a0,r,r
1694#define r__r_t0 add r,t0,r
1695#define r__r_2t0 sh1add t0,r,r
1696#define r__r_4t0 sh2add t0,r,r
1697#define r__r_8t0 sh3add t0,r,r
1698#define t0__3a0 sh1add a0,a0,t0
1699#define t0__4a0 sh2add a0,0,t0
1700#define t0__5a0 sh2add a0,a0,t0
1701#define t0__8a0 sh3add a0,0,t0
1702#define t0__9a0 sh3add a0,a0,t0
1703#define t0__16a0 zdep a0,27,28,t0
1704#define t0__32a0 zdep a0,26,27,t0
1705#define t0__64a0 zdep a0,25,26,t0
1706#define t0__128a0 zdep a0,24,25,t0
1707#define t0__t0ma0 sub t0,a0,t0
1708#define t0__t0_a0 add t0,a0,t0
1709#define t0__t0_2a0 sh1add a0,t0,t0
1710#define t0__t0_4a0 sh2add a0,t0,t0
1711#define t0__t0_8a0 sh3add a0,t0,t0
1712#define t0__2t0_a0 sh1add t0,a0,t0
1713#define t0__3t0 sh1add t0,t0,t0
1714#define t0__4t0 sh2add t0,0,t0
1715#define t0__4t0_a0 sh2add t0,a0,t0
1716#define t0__5t0 sh2add t0,t0,t0
1717#define t0__8t0 sh3add t0,0,t0
1718#define t0__8t0_a0 sh3add t0,a0,t0
1719#define t0__9t0 sh3add t0,t0,t0
1720#define t0__16t0 zdep t0,27,28,t0
1721#define t0__32t0 zdep t0,26,27,t0
1722#define t0__256a0 zdep a0,23,24,t0
1723
1724
1725 SUBSPA_MILLI
1726 ATTR_MILLI
1727 .align 16
1728 .proc
1729 .callinfo millicode
1730 .export $$mulI,millicode
1731GSYM($$mulI)
1732 combt,<<= a1,a0,LREF(l4) /* swap args if unsigned a1>a0 */
1733 copy 0,r /* zero out the result */
1734 xor a0,a1,a0 /* swap a0 & a1 using the */
1735 xor a0,a1,a1 /* old xor trick */
1736 xor a0,a1,a0
1737LSYM(l4)
1738 combt,<= 0,a0,LREF(l3) /* if a0>=0 then proceed like unsigned */
1739 zdep a1,30,8,t0 /* t0 = (a1&0xff)<<1 ********* */
1740 sub,> 0,a1,t0 /* otherwise negate both and */
1741 combt,<=,n a0,t0,LREF(l2) /* swap back if |a0|<|a1| */
1742 sub 0,a0,a1
1743 movb,tr,n t0,a0,LREF(l2) /* 10th inst. */
1744
1745LSYM(l0) r__r_t0 /* add in this partial product */
1746LSYM(l1) a0__256a0 /* a0 <<= 8 ****************** */
1747LSYM(l2) zdep a1,30,8,t0 /* t0 = (a1&0xff)<<1 ********* */
1748LSYM(l3) blr t0,0 /* case on these 8 bits ****** */
1749 extru a1,23,24,a1 /* a1 >>= 8 ****************** */
1750
1751/*16 insts before this. */
1752/* a0 <<= 8 ************************** */
1753LSYM(x0) a1_ne_0_b_l2 ! a0__256a0 ! MILLIRETN ! nop
1754LSYM(x1) a1_ne_0_b_l1 ! r__r_a0 ! MILLIRETN ! nop
1755LSYM(x2) a1_ne_0_b_l1 ! r__r_2a0 ! MILLIRETN ! nop
1756LSYM(x3) a1_ne_0_b_l0 ! t0__3a0 ! MILLIRET ! r__r_t0
1757LSYM(x4) a1_ne_0_b_l1 ! r__r_4a0 ! MILLIRETN ! nop
1758LSYM(x5) a1_ne_0_b_l0 ! t0__5a0 ! MILLIRET ! r__r_t0
1759LSYM(x6) t0__3a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
1760LSYM(x7) t0__3a0 ! a1_ne_0_b_l0 ! r__r_4a0 ! b_n_ret_t0
1761LSYM(x8) a1_ne_0_b_l1 ! r__r_8a0 ! MILLIRETN ! nop
1762LSYM(x9) a1_ne_0_b_l0 ! t0__9a0 ! MILLIRET ! r__r_t0
1763LSYM(x10) t0__5a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
1764LSYM(x11) t0__3a0 ! a1_ne_0_b_l0 ! r__r_8a0 ! b_n_ret_t0
1765LSYM(x12) t0__3a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
1766LSYM(x13) t0__5a0 ! a1_ne_0_b_l0 ! r__r_8a0 ! b_n_ret_t0
1767LSYM(x14) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
1768LSYM(x15) t0__5a0 ! a1_ne_0_b_l0 ! t0__3t0 ! b_n_ret_t0
1769LSYM(x16) t0__16a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
1770LSYM(x17) t0__9a0 ! a1_ne_0_b_l0 ! t0__t0_8a0 ! b_n_ret_t0
1771LSYM(x18) t0__9a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
1772LSYM(x19) t0__9a0 ! a1_ne_0_b_l0 ! t0__2t0_a0 ! b_n_ret_t0
1773LSYM(x20) t0__5a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
1774LSYM(x21) t0__5a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
1775LSYM(x22) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
1776LSYM(x23) t0__5a0 ! t0__2t0_a0 ! b_e_t0 ! t0__2t0_a0
1777LSYM(x24) t0__3a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
1778LSYM(x25) t0__5a0 ! a1_ne_0_b_l0 ! t0__5t0 ! b_n_ret_t0
1779LSYM(x26) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
1780LSYM(x27) t0__3a0 ! a1_ne_0_b_l0 ! t0__9t0 ! b_n_ret_t0
1781LSYM(x28) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
1782LSYM(x29) t0__3a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
1783LSYM(x30) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_2t0
1784LSYM(x31) t0__32a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
1785LSYM(x32) t0__32a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
1786LSYM(x33) t0__8a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
1787LSYM(x34) t0__16a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
1788LSYM(x35) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__t0_8a0
1789LSYM(x36) t0__9a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
1790LSYM(x37) t0__9a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
1791LSYM(x38) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
1792LSYM(x39) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__2t0_a0
1793LSYM(x40) t0__5a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
1794LSYM(x41) t0__5a0 ! a1_ne_0_b_l0 ! t0__8t0_a0 ! b_n_ret_t0
1795LSYM(x42) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
1796LSYM(x43) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
1797LSYM(x44) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
1798LSYM(x45) t0__9a0 ! a1_ne_0_b_l0 ! t0__5t0 ! b_n_ret_t0
1799LSYM(x46) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_a0
1800LSYM(x47) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_2a0
1801LSYM(x48) t0__3a0 ! a1_ne_0_b_l0 ! t0__16t0 ! b_n_ret_t0
1802LSYM(x49) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_4a0
1803LSYM(x50) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_2t0
1804LSYM(x51) t0__9a0 ! t0__t0_8a0 ! b_e_t0 ! t0__3t0
1805LSYM(x52) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
1806LSYM(x53) t0__3a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
1807LSYM(x54) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_2t0
1808LSYM(x55) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__2t0_a0
1809LSYM(x56) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
1810LSYM(x57) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__3t0
1811LSYM(x58) t0__3a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
1812LSYM(x59) t0__9a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__3t0
1813LSYM(x60) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
1814LSYM(x61) t0__5a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
1815LSYM(x62) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
1816LSYM(x63) t0__64a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
1817LSYM(x64) t0__64a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
1818LSYM(x65) t0__8a0 ! a1_ne_0_b_l0 ! t0__8t0_a0 ! b_n_ret_t0
1819LSYM(x66) t0__32a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
1820LSYM(x67) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
1821LSYM(x68) t0__8a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
1822LSYM(x69) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
1823LSYM(x70) t0__64a0 ! t0__t0_4a0 ! b_e_t0 ! t0__t0_2a0
1824LSYM(x71) t0__9a0 ! t0__8t0 ! b_e_t0 ! t0__t0ma0
1825LSYM(x72) t0__9a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
1826LSYM(x73) t0__9a0 ! t0__8t0_a0 ! b_e_shift ! r__r_t0
1827LSYM(x74) t0__9a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
1828LSYM(x75) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
1829LSYM(x76) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
1830LSYM(x77) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
1831LSYM(x78) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__2t0_a0
1832LSYM(x79) t0__16a0 ! t0__5t0 ! b_e_t0 ! t0__t0ma0
1833LSYM(x80) t0__16a0 ! t0__5t0 ! b_e_shift ! r__r_t0
1834LSYM(x81) t0__9a0 ! t0__9t0 ! b_e_shift ! r__r_t0
1835LSYM(x82) t0__5a0 ! t0__8t0_a0 ! b_e_shift ! r__r_2t0
1836LSYM(x83) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
1837LSYM(x84) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
1838LSYM(x85) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__5t0
1839LSYM(x86) t0__5a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
1840LSYM(x87) t0__9a0 ! t0__9t0 ! b_e_t02a0 ! t0__t0_4a0
1841LSYM(x88) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
1842LSYM(x89) t0__5a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
1843LSYM(x90) t0__9a0 ! t0__5t0 ! b_e_shift ! r__r_2t0
1844LSYM(x91) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__2t0_a0
1845LSYM(x92) t0__5a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__2t0_a0
1846LSYM(x93) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__3t0
1847LSYM(x94) t0__9a0 ! t0__5t0 ! b_e_2t0 ! t0__t0_2a0
1848LSYM(x95) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__5t0
1849LSYM(x96) t0__8a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
1850LSYM(x97) t0__8a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
1851LSYM(x98) t0__32a0 ! t0__3t0 ! b_e_t0 ! t0__t0_2a0
1852LSYM(x99) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__3t0
1853LSYM(x100) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_4t0
1854LSYM(x101) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
1855LSYM(x102) t0__32a0 ! t0__t0_2a0 ! b_e_t0 ! t0__3t0
1856LSYM(x103) t0__5a0 ! t0__5t0 ! b_e_t02a0 ! t0__4t0_a0
1857LSYM(x104) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_8t0
1858LSYM(x105) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
1859LSYM(x106) t0__3a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__4t0_a0
1860LSYM(x107) t0__9a0 ! t0__t0_4a0 ! b_e_t02a0 ! t0__8t0_a0
1861LSYM(x108) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
1862LSYM(x109) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
1863LSYM(x110) t0__9a0 ! t0__3t0 ! b_e_2t0 ! t0__2t0_a0
1864LSYM(x111) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__3t0
1865LSYM(x112) t0__3a0 ! t0__2t0_a0 ! b_e_t0 ! t0__16t0
1866LSYM(x113) t0__9a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__3t0
1867LSYM(x114) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__3t0
1868LSYM(x115) t0__9a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__3t0
1869LSYM(x116) t0__3a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__4t0_a0
1870LSYM(x117) t0__3a0 ! t0__4t0_a0 ! b_e_t0 ! t0__9t0
1871LSYM(x118) t0__3a0 ! t0__4t0_a0 ! b_e_t0a0 ! t0__9t0
1872LSYM(x119) t0__3a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__9t0
1873LSYM(x120) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
1874LSYM(x121) t0__5a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
1875LSYM(x122) t0__5a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
1876LSYM(x123) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
1877LSYM(x124) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_4t0
1878LSYM(x125) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__5t0
1879LSYM(x126) t0__64a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
1880LSYM(x127) t0__128a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
1881LSYM(x128) t0__128a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
1882LSYM(x129) t0__128a0 ! a1_ne_0_b_l0 ! t0__t0_a0 ! b_n_ret_t0
1883LSYM(x130) t0__64a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
1884LSYM(x131) t0__8a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
1885LSYM(x132) t0__8a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
1886LSYM(x133) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
1887LSYM(x134) t0__8a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
1888LSYM(x135) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__3t0
1889LSYM(x136) t0__8a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
1890LSYM(x137) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
1891LSYM(x138) t0__8a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
1892LSYM(x139) t0__8a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__4t0_a0
1893LSYM(x140) t0__3a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__5t0
1894LSYM(x141) t0__8a0 ! t0__2t0_a0 ! b_e_4t0a0 ! t0__2t0_a0
1895LSYM(x142) t0__9a0 ! t0__8t0 ! b_e_2t0 ! t0__t0ma0
1896LSYM(x143) t0__16a0 ! t0__9t0 ! b_e_t0 ! t0__t0ma0
1897LSYM(x144) t0__9a0 ! t0__8t0 ! b_e_shift ! r__r_2t0
1898LSYM(x145) t0__9a0 ! t0__8t0 ! b_e_t0 ! t0__2t0_a0
1899LSYM(x146) t0__9a0 ! t0__8t0_a0 ! b_e_shift ! r__r_2t0
1900LSYM(x147) t0__9a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
1901LSYM(x148) t0__9a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
1902LSYM(x149) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
1903LSYM(x150) t0__9a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
1904LSYM(x151) t0__9a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__2t0_a0
1905LSYM(x152) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
1906LSYM(x153) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
1907LSYM(x154) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
1908LSYM(x155) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__5t0
1909LSYM(x156) t0__9a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__2t0_a0
1910LSYM(x157) t0__32a0 ! t0__t0ma0 ! b_e_t02a0 ! t0__5t0
1911LSYM(x158) t0__16a0 ! t0__5t0 ! b_e_2t0 ! t0__t0ma0
1912LSYM(x159) t0__32a0 ! t0__5t0 ! b_e_t0 ! t0__t0ma0
1913LSYM(x160) t0__5a0 ! t0__4t0 ! b_e_shift ! r__r_8t0
1914LSYM(x161) t0__8a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
1915LSYM(x162) t0__9a0 ! t0__9t0 ! b_e_shift ! r__r_2t0
1916LSYM(x163) t0__9a0 ! t0__9t0 ! b_e_t0 ! t0__2t0_a0
1917LSYM(x164) t0__5a0 ! t0__8t0_a0 ! b_e_shift ! r__r_4t0
1918LSYM(x165) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
1919LSYM(x166) t0__5a0 ! t0__8t0_a0 ! b_e_2t0 ! t0__2t0_a0
1920LSYM(x167) t0__5a0 ! t0__8t0_a0 ! b_e_2t0a0 ! t0__2t0_a0
1921LSYM(x168) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_8t0
1922LSYM(x169) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__8t0_a0
1923LSYM(x170) t0__32a0 ! t0__t0_2a0 ! b_e_t0 ! t0__5t0
1924LSYM(x171) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__9t0
1925LSYM(x172) t0__5a0 ! t0__4t0_a0 ! b_e_4t0 ! t0__2t0_a0
1926LSYM(x173) t0__9a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__9t0
1927LSYM(x174) t0__32a0 ! t0__t0_2a0 ! b_e_t04a0 ! t0__5t0
1928LSYM(x175) t0__8a0 ! t0__2t0_a0 ! b_e_5t0 ! t0__2t0_a0
1929LSYM(x176) t0__5a0 ! t0__4t0_a0 ! b_e_8t0 ! t0__t0_a0
1930LSYM(x177) t0__5a0 ! t0__4t0_a0 ! b_e_8t0a0 ! t0__t0_a0
1931LSYM(x178) t0__5a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__8t0_a0
1932LSYM(x179) t0__5a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__8t0_a0
1933LSYM(x180) t0__9a0 ! t0__5t0 ! b_e_shift ! r__r_4t0
1934LSYM(x181) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
1935LSYM(x182) t0__9a0 ! t0__5t0 ! b_e_2t0 ! t0__2t0_a0
1936LSYM(x183) t0__9a0 ! t0__5t0 ! b_e_2t0a0 ! t0__2t0_a0
1937LSYM(x184) t0__5a0 ! t0__9t0 ! b_e_4t0 ! t0__t0_a0
1938LSYM(x185) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
1939LSYM(x186) t0__32a0 ! t0__t0ma0 ! b_e_2t0 ! t0__3t0
1940LSYM(x187) t0__9a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__5t0
1941LSYM(x188) t0__9a0 ! t0__5t0 ! b_e_4t0 ! t0__t0_2a0
1942LSYM(x189) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__9t0
1943LSYM(x190) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__5t0
1944LSYM(x191) t0__64a0 ! t0__3t0 ! b_e_t0 ! t0__t0ma0
1945LSYM(x192) t0__8a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
1946LSYM(x193) t0__8a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
1947LSYM(x194) t0__8a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
1948LSYM(x195) t0__8a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
1949LSYM(x196) t0__8a0 ! t0__3t0 ! b_e_4t0 ! t0__2t0_a0
1950LSYM(x197) t0__8a0 ! t0__3t0 ! b_e_4t0a0 ! t0__2t0_a0
1951LSYM(x198) t0__64a0 ! t0__t0_2a0 ! b_e_t0 ! t0__3t0
1952LSYM(x199) t0__8a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__3t0
1953LSYM(x200) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_8t0
1954LSYM(x201) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__8t0_a0
1955LSYM(x202) t0__5a0 ! t0__5t0 ! b_e_2t0 ! t0__4t0_a0
1956LSYM(x203) t0__5a0 ! t0__5t0 ! b_e_2t0a0 ! t0__4t0_a0
1957LSYM(x204) t0__8a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__3t0
1958LSYM(x205) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__5t0
1959LSYM(x206) t0__64a0 ! t0__t0_4a0 ! b_e_t02a0 ! t0__3t0
1960LSYM(x207) t0__8a0 ! t0__2t0_a0 ! b_e_3t0 ! t0__4t0_a0
1961LSYM(x208) t0__5a0 ! t0__5t0 ! b_e_8t0 ! t0__t0_a0
1962LSYM(x209) t0__5a0 ! t0__5t0 ! b_e_8t0a0 ! t0__t0_a0
1963LSYM(x210) t0__5a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__5t0
1964LSYM(x211) t0__5a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__5t0
1965LSYM(x212) t0__3a0 ! t0__4t0_a0 ! b_e_4t0 ! t0__4t0_a0
1966LSYM(x213) t0__3a0 ! t0__4t0_a0 ! b_e_4t0a0 ! t0__4t0_a0
1967LSYM(x214) t0__9a0 ! t0__t0_4a0 ! b_e_2t04a0 ! t0__8t0_a0
1968LSYM(x215) t0__5a0 ! t0__4t0_a0 ! b_e_5t0 ! t0__2t0_a0
1969LSYM(x216) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
1970LSYM(x217) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
1971LSYM(x218) t0__9a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
1972LSYM(x219) t0__9a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
1973LSYM(x220) t0__3a0 ! t0__9t0 ! b_e_4t0 ! t0__2t0_a0
1974LSYM(x221) t0__3a0 ! t0__9t0 ! b_e_4t0a0 ! t0__2t0_a0
1975LSYM(x222) t0__9a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__3t0
1976LSYM(x223) t0__9a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__3t0
1977LSYM(x224) t0__9a0 ! t0__3t0 ! b_e_8t0 ! t0__t0_a0
1978LSYM(x225) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__5t0
1979LSYM(x226) t0__3a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__32t0
1980LSYM(x227) t0__9a0 ! t0__5t0 ! b_e_t02a0 ! t0__5t0
1981LSYM(x228) t0__9a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__3t0
1982LSYM(x229) t0__9a0 ! t0__2t0_a0 ! b_e_4t0a0 ! t0__3t0
1983LSYM(x230) t0__9a0 ! t0__5t0 ! b_e_5t0 ! t0__t0_a0
1984LSYM(x231) t0__9a0 ! t0__2t0_a0 ! b_e_3t0 ! t0__4t0_a0
1985LSYM(x232) t0__3a0 ! t0__2t0_a0 ! b_e_8t0 ! t0__4t0_a0
1986LSYM(x233) t0__3a0 ! t0__2t0_a0 ! b_e_8t0a0 ! t0__4t0_a0
1987LSYM(x234) t0__3a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__9t0
1988LSYM(x235) t0__3a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__9t0
1989LSYM(x236) t0__9a0 ! t0__2t0_a0 ! b_e_4t08a0 ! t0__3t0
1990LSYM(x237) t0__16a0 ! t0__5t0 ! b_e_3t0 ! t0__t0ma0
1991LSYM(x238) t0__3a0 ! t0__4t0_a0 ! b_e_2t04a0 ! t0__9t0
1992LSYM(x239) t0__16a0 ! t0__5t0 ! b_e_t0ma0 ! t0__3t0
1993LSYM(x240) t0__9a0 ! t0__t0_a0 ! b_e_8t0 ! t0__3t0
1994LSYM(x241) t0__9a0 ! t0__t0_a0 ! b_e_8t0a0 ! t0__3t0
1995LSYM(x242) t0__5a0 ! t0__3t0 ! b_e_2t0 ! t0__8t0_a0
1996LSYM(x243) t0__9a0 ! t0__9t0 ! b_e_t0 ! t0__3t0
1997LSYM(x244) t0__5a0 ! t0__3t0 ! b_e_4t0 ! t0__4t0_a0
1998LSYM(x245) t0__8a0 ! t0__3t0 ! b_e_5t0 ! t0__2t0_a0
1999LSYM(x246) t0__5a0 ! t0__8t0_a0 ! b_e_2t0 ! t0__3t0
2000LSYM(x247) t0__5a0 ! t0__8t0_a0 ! b_e_2t0a0 ! t0__3t0
2001LSYM(x248) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_8t0
2002LSYM(x249) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__8t0_a0
2003LSYM(x250) t0__5a0 ! t0__5t0 ! b_e_2t0 ! t0__5t0
2004LSYM(x251) t0__5a0 ! t0__5t0 ! b_e_2t0a0 ! t0__5t0
2005LSYM(x252) t0__64a0 ! t0__t0ma0 ! b_e_shift ! r__r_4t0
2006LSYM(x253) t0__64a0 ! t0__t0ma0 ! b_e_t0 ! t0__4t0_a0
2007LSYM(x254) t0__128a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
2008LSYM(x255) t0__256a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
2009/*1040 insts before this. */
2010LSYM(ret_t0) MILLIRET
2011LSYM(e_t0) r__r_t0
2012LSYM(e_shift) a1_ne_0_b_l2
2013 a0__256a0 /* a0 <<= 8 *********** */
2014 MILLIRETN
2015LSYM(e_t0ma0) a1_ne_0_b_l0
2016 t0__t0ma0
2017 MILLIRET
2018 r__r_t0
2019LSYM(e_t0a0) a1_ne_0_b_l0
2020 t0__t0_a0
2021 MILLIRET
2022 r__r_t0
2023LSYM(e_t02a0) a1_ne_0_b_l0
2024 t0__t0_2a0
2025 MILLIRET
2026 r__r_t0
2027LSYM(e_t04a0) a1_ne_0_b_l0
2028 t0__t0_4a0
2029 MILLIRET
2030 r__r_t0
2031LSYM(e_2t0) a1_ne_0_b_l1
2032 r__r_2t0
2033 MILLIRETN
2034LSYM(e_2t0a0) a1_ne_0_b_l0
2035 t0__2t0_a0
2036 MILLIRET
2037 r__r_t0
2038LSYM(e2t04a0) t0__t0_2a0
2039 a1_ne_0_b_l1
2040 r__r_2t0
2041 MILLIRETN
2042LSYM(e_3t0) a1_ne_0_b_l0
2043 t0__3t0
2044 MILLIRET
2045 r__r_t0
2046LSYM(e_4t0) a1_ne_0_b_l1
2047 r__r_4t0
2048 MILLIRETN
2049LSYM(e_4t0a0) a1_ne_0_b_l0
2050 t0__4t0_a0
2051 MILLIRET
2052 r__r_t0
2053LSYM(e4t08a0) t0__t0_2a0
2054 a1_ne_0_b_l1
2055 r__r_4t0
2056 MILLIRETN
2057LSYM(e_5t0) a1_ne_0_b_l0
2058 t0__5t0
2059 MILLIRET
2060 r__r_t0
2061LSYM(e_8t0) a1_ne_0_b_l1
2062 r__r_8t0
2063 MILLIRETN
2064LSYM(e_8t0a0) a1_ne_0_b_l0
2065 t0__8t0_a0
2066 MILLIRET
2067 r__r_t0
2068
2069 .procend
2070 .end
2071#endif
diff --git a/arch/parisc/lib/milli/milli.h b/arch/parisc/lib/milli/milli.h
deleted file mode 100644
index 19ac79f336de..000000000000
--- a/arch/parisc/lib/milli/milli.h
+++ /dev/null
@@ -1,165 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#ifndef _PA_MILLI_H_
14#define _PA_MILLI_H_
15
16#define L_dyncall
17#define L_divI
18#define L_divU
19#define L_remI
20#define L_remU
21#define L_div_const
22#define L_mulI
23
24#ifdef CONFIG_64BIT
25 .level 2.0w
26#endif
27
28/* Hardware General Registers. */
29r0: .reg %r0
30r1: .reg %r1
31r2: .reg %r2
32r3: .reg %r3
33r4: .reg %r4
34r5: .reg %r5
35r6: .reg %r6
36r7: .reg %r7
37r8: .reg %r8
38r9: .reg %r9
39r10: .reg %r10
40r11: .reg %r11
41r12: .reg %r12
42r13: .reg %r13
43r14: .reg %r14
44r15: .reg %r15
45r16: .reg %r16
46r17: .reg %r17
47r18: .reg %r18
48r19: .reg %r19
49r20: .reg %r20
50r21: .reg %r21
51r22: .reg %r22
52r23: .reg %r23
53r24: .reg %r24
54r25: .reg %r25
55r26: .reg %r26
56r27: .reg %r27
57r28: .reg %r28
58r29: .reg %r29
59r30: .reg %r30
60r31: .reg %r31
61
62/* Hardware Space Registers. */
63sr0: .reg %sr0
64sr1: .reg %sr1
65sr2: .reg %sr2
66sr3: .reg %sr3
67sr4: .reg %sr4
68sr5: .reg %sr5
69sr6: .reg %sr6
70sr7: .reg %sr7
71
72/* Hardware Floating Point Registers. */
73fr0: .reg %fr0
74fr1: .reg %fr1
75fr2: .reg %fr2
76fr3: .reg %fr3
77fr4: .reg %fr4
78fr5: .reg %fr5
79fr6: .reg %fr6
80fr7: .reg %fr7
81fr8: .reg %fr8
82fr9: .reg %fr9
83fr10: .reg %fr10
84fr11: .reg %fr11
85fr12: .reg %fr12
86fr13: .reg %fr13
87fr14: .reg %fr14
88fr15: .reg %fr15
89
90/* Hardware Control Registers. */
91cr11: .reg %cr11
92sar: .reg %cr11 /* Shift Amount Register */
93
94/* Software Architecture General Registers. */
95rp: .reg r2 /* return pointer */
96#ifdef CONFIG_64BIT
97mrp: .reg r2 /* millicode return pointer */
98#else
99mrp: .reg r31 /* millicode return pointer */
100#endif
101ret0: .reg r28 /* return value */
102ret1: .reg r29 /* return value (high part of double) */
103sp: .reg r30 /* stack pointer */
104dp: .reg r27 /* data pointer */
105arg0: .reg r26 /* argument */
106arg1: .reg r25 /* argument or high part of double argument */
107arg2: .reg r24 /* argument */
108arg3: .reg r23 /* argument or high part of double argument */
109
110/* Software Architecture Space Registers. */
111/* sr0 ; return link from BLE */
112sret: .reg sr1 /* return value */
113sarg: .reg sr1 /* argument */
114/* sr4 ; PC SPACE tracker */
115/* sr5 ; process private data */
116
117/* Frame Offsets (millicode convention!) Used when calling other
118 millicode routines. Stack unwinding is dependent upon these
119 definitions. */
120r31_slot: .equ -20 /* "current RP" slot */
121sr0_slot: .equ -16 /* "static link" slot */
122#if defined(CONFIG_64BIT)
123mrp_slot: .equ -16 /* "current RP" slot */
124psp_slot: .equ -8 /* "previous SP" slot */
125#else
126mrp_slot: .equ -20 /* "current RP" slot (replacing "r31_slot") */
127#endif
128
129
130#define DEFINE(name,value)name: .EQU value
131#define RDEFINE(name,value)name: .REG value
132#ifdef milliext
133#define MILLI_BE(lbl) BE lbl(sr7,r0)
134#define MILLI_BEN(lbl) BE,n lbl(sr7,r0)
135#define MILLI_BLE(lbl) BLE lbl(sr7,r0)
136#define MILLI_BLEN(lbl) BLE,n lbl(sr7,r0)
137#define MILLIRETN BE,n 0(sr0,mrp)
138#define MILLIRET BE 0(sr0,mrp)
139#define MILLI_RETN BE,n 0(sr0,mrp)
140#define MILLI_RET BE 0(sr0,mrp)
141#else
142#define MILLI_BE(lbl) B lbl
143#define MILLI_BEN(lbl) B,n lbl
144#define MILLI_BLE(lbl) BL lbl,mrp
145#define MILLI_BLEN(lbl) BL,n lbl,mrp
146#define MILLIRETN BV,n 0(mrp)
147#define MILLIRET BV 0(mrp)
148#define MILLI_RETN BV,n 0(mrp)
149#define MILLI_RET BV 0(mrp)
150#endif
151
152#define CAT(a,b) a##b
153
154#define SUBSPA_MILLI .section .text
155#define SUBSPA_MILLI_DIV .section .text.div,"ax",@progbits! .align 16
156#define SUBSPA_MILLI_MUL .section .text.mul,"ax",@progbits! .align 16
157#define ATTR_MILLI
158#define SUBSPA_DATA .section .data
159#define ATTR_DATA
160#define GLOBAL $global$
161#define GSYM(sym) !sym:
162#define LSYM(sym) !CAT(.L,sym:)
163#define LREF(sym) CAT(.L,sym)
164
165#endif /*_PA_MILLI_H_*/
diff --git a/arch/parisc/lib/milli/mulI.S b/arch/parisc/lib/milli/mulI.S
deleted file mode 100644
index 4c7e0c36d15e..000000000000
--- a/arch/parisc/lib/milli/mulI.S
+++ /dev/null
@@ -1,474 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_mulI
16/* VERSION "@(#)$$mulI $ Revision: 12.4 $ $ Date: 94/03/17 17:18:51 $" */
17/******************************************************************************
18This routine is used on PA2.0 processors when gcc -mno-fpregs is used
19
20ROUTINE: $$mulI
21
22
23DESCRIPTION:
24
25 $$mulI multiplies two single word integers, giving a single
26 word result.
27
28
29INPUT REGISTERS:
30
31 arg0 = Operand 1
32 arg1 = Operand 2
33 r31 == return pc
34 sr0 == return space when called externally
35
36
37OUTPUT REGISTERS:
38
39 arg0 = undefined
40 arg1 = undefined
41 ret1 = result
42
43OTHER REGISTERS AFFECTED:
44
45 r1 = undefined
46
47SIDE EFFECTS:
48
49 Causes a trap under the following conditions: NONE
50 Changes memory at the following places: NONE
51
52PERMISSIBLE CONTEXT:
53
54 Unwindable
55 Does not create a stack frame
56 Is usable for internal or external microcode
57
58DISCUSSION:
59
60 Calls other millicode routines via mrp: NONE
61 Calls other millicode routines: NONE
62
63***************************************************************************/
64
65
66#define a0 %arg0
67#define a1 %arg1
68#define t0 %r1
69#define r %ret1
70
71#define a0__128a0 zdep a0,24,25,a0
72#define a0__256a0 zdep a0,23,24,a0
73#define a1_ne_0_b_l0 comb,<> a1,0,LREF(l0)
74#define a1_ne_0_b_l1 comb,<> a1,0,LREF(l1)
75#define a1_ne_0_b_l2 comb,<> a1,0,LREF(l2)
76#define b_n_ret_t0 b,n LREF(ret_t0)
77#define b_e_shift b LREF(e_shift)
78#define b_e_t0ma0 b LREF(e_t0ma0)
79#define b_e_t0 b LREF(e_t0)
80#define b_e_t0a0 b LREF(e_t0a0)
81#define b_e_t02a0 b LREF(e_t02a0)
82#define b_e_t04a0 b LREF(e_t04a0)
83#define b_e_2t0 b LREF(e_2t0)
84#define b_e_2t0a0 b LREF(e_2t0a0)
85#define b_e_2t04a0 b LREF(e2t04a0)
86#define b_e_3t0 b LREF(e_3t0)
87#define b_e_4t0 b LREF(e_4t0)
88#define b_e_4t0a0 b LREF(e_4t0a0)
89#define b_e_4t08a0 b LREF(e4t08a0)
90#define b_e_5t0 b LREF(e_5t0)
91#define b_e_8t0 b LREF(e_8t0)
92#define b_e_8t0a0 b LREF(e_8t0a0)
93#define r__r_a0 add r,a0,r
94#define r__r_2a0 sh1add a0,r,r
95#define r__r_4a0 sh2add a0,r,r
96#define r__r_8a0 sh3add a0,r,r
97#define r__r_t0 add r,t0,r
98#define r__r_2t0 sh1add t0,r,r
99#define r__r_4t0 sh2add t0,r,r
100#define r__r_8t0 sh3add t0,r,r
101#define t0__3a0 sh1add a0,a0,t0
102#define t0__4a0 sh2add a0,0,t0
103#define t0__5a0 sh2add a0,a0,t0
104#define t0__8a0 sh3add a0,0,t0
105#define t0__9a0 sh3add a0,a0,t0
106#define t0__16a0 zdep a0,27,28,t0
107#define t0__32a0 zdep a0,26,27,t0
108#define t0__64a0 zdep a0,25,26,t0
109#define t0__128a0 zdep a0,24,25,t0
110#define t0__t0ma0 sub t0,a0,t0
111#define t0__t0_a0 add t0,a0,t0
112#define t0__t0_2a0 sh1add a0,t0,t0
113#define t0__t0_4a0 sh2add a0,t0,t0
114#define t0__t0_8a0 sh3add a0,t0,t0
115#define t0__2t0_a0 sh1add t0,a0,t0
116#define t0__3t0 sh1add t0,t0,t0
117#define t0__4t0 sh2add t0,0,t0
118#define t0__4t0_a0 sh2add t0,a0,t0
119#define t0__5t0 sh2add t0,t0,t0
120#define t0__8t0 sh3add t0,0,t0
121#define t0__8t0_a0 sh3add t0,a0,t0
122#define t0__9t0 sh3add t0,t0,t0
123#define t0__16t0 zdep t0,27,28,t0
124#define t0__32t0 zdep t0,26,27,t0
125#define t0__256a0 zdep a0,23,24,t0
126
127
128 SUBSPA_MILLI
129 ATTR_MILLI
130 .align 16
131 .proc
132 .callinfo millicode
133 .export $$mulI,millicode
134GSYM($$mulI)
135 combt,<<= a1,a0,LREF(l4) /* swap args if unsigned a1>a0 */
136 copy 0,r /* zero out the result */
137 xor a0,a1,a0 /* swap a0 & a1 using the */
138 xor a0,a1,a1 /* old xor trick */
139 xor a0,a1,a0
140LSYM(l4)
141 combt,<= 0,a0,LREF(l3) /* if a0>=0 then proceed like unsigned */
142 zdep a1,30,8,t0 /* t0 = (a1&0xff)<<1 ********* */
143 sub,> 0,a1,t0 /* otherwise negate both and */
144 combt,<=,n a0,t0,LREF(l2) /* swap back if |a0|<|a1| */
145 sub 0,a0,a1
146 movb,tr,n t0,a0,LREF(l2) /* 10th inst. */
147
148LSYM(l0) r__r_t0 /* add in this partial product */
149LSYM(l1) a0__256a0 /* a0 <<= 8 ****************** */
150LSYM(l2) zdep a1,30,8,t0 /* t0 = (a1&0xff)<<1 ********* */
151LSYM(l3) blr t0,0 /* case on these 8 bits ****** */
152 extru a1,23,24,a1 /* a1 >>= 8 ****************** */
153
154/*16 insts before this. */
155/* a0 <<= 8 ************************** */
156LSYM(x0) a1_ne_0_b_l2 ! a0__256a0 ! MILLIRETN ! nop
157LSYM(x1) a1_ne_0_b_l1 ! r__r_a0 ! MILLIRETN ! nop
158LSYM(x2) a1_ne_0_b_l1 ! r__r_2a0 ! MILLIRETN ! nop
159LSYM(x3) a1_ne_0_b_l0 ! t0__3a0 ! MILLIRET ! r__r_t0
160LSYM(x4) a1_ne_0_b_l1 ! r__r_4a0 ! MILLIRETN ! nop
161LSYM(x5) a1_ne_0_b_l0 ! t0__5a0 ! MILLIRET ! r__r_t0
162LSYM(x6) t0__3a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
163LSYM(x7) t0__3a0 ! a1_ne_0_b_l0 ! r__r_4a0 ! b_n_ret_t0
164LSYM(x8) a1_ne_0_b_l1 ! r__r_8a0 ! MILLIRETN ! nop
165LSYM(x9) a1_ne_0_b_l0 ! t0__9a0 ! MILLIRET ! r__r_t0
166LSYM(x10) t0__5a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
167LSYM(x11) t0__3a0 ! a1_ne_0_b_l0 ! r__r_8a0 ! b_n_ret_t0
168LSYM(x12) t0__3a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
169LSYM(x13) t0__5a0 ! a1_ne_0_b_l0 ! r__r_8a0 ! b_n_ret_t0
170LSYM(x14) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
171LSYM(x15) t0__5a0 ! a1_ne_0_b_l0 ! t0__3t0 ! b_n_ret_t0
172LSYM(x16) t0__16a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
173LSYM(x17) t0__9a0 ! a1_ne_0_b_l0 ! t0__t0_8a0 ! b_n_ret_t0
174LSYM(x18) t0__9a0 ! a1_ne_0_b_l1 ! r__r_2t0 ! MILLIRETN
175LSYM(x19) t0__9a0 ! a1_ne_0_b_l0 ! t0__2t0_a0 ! b_n_ret_t0
176LSYM(x20) t0__5a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
177LSYM(x21) t0__5a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
178LSYM(x22) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
179LSYM(x23) t0__5a0 ! t0__2t0_a0 ! b_e_t0 ! t0__2t0_a0
180LSYM(x24) t0__3a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
181LSYM(x25) t0__5a0 ! a1_ne_0_b_l0 ! t0__5t0 ! b_n_ret_t0
182LSYM(x26) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
183LSYM(x27) t0__3a0 ! a1_ne_0_b_l0 ! t0__9t0 ! b_n_ret_t0
184LSYM(x28) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
185LSYM(x29) t0__3a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
186LSYM(x30) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_2t0
187LSYM(x31) t0__32a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
188LSYM(x32) t0__32a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
189LSYM(x33) t0__8a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
190LSYM(x34) t0__16a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
191LSYM(x35) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__t0_8a0
192LSYM(x36) t0__9a0 ! a1_ne_0_b_l1 ! r__r_4t0 ! MILLIRETN
193LSYM(x37) t0__9a0 ! a1_ne_0_b_l0 ! t0__4t0_a0 ! b_n_ret_t0
194LSYM(x38) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_2t0
195LSYM(x39) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__2t0_a0
196LSYM(x40) t0__5a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
197LSYM(x41) t0__5a0 ! a1_ne_0_b_l0 ! t0__8t0_a0 ! b_n_ret_t0
198LSYM(x42) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
199LSYM(x43) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
200LSYM(x44) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
201LSYM(x45) t0__9a0 ! a1_ne_0_b_l0 ! t0__5t0 ! b_n_ret_t0
202LSYM(x46) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_a0
203LSYM(x47) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_2a0
204LSYM(x48) t0__3a0 ! a1_ne_0_b_l0 ! t0__16t0 ! b_n_ret_t0
205LSYM(x49) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__t0_4a0
206LSYM(x50) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_2t0
207LSYM(x51) t0__9a0 ! t0__t0_8a0 ! b_e_t0 ! t0__3t0
208LSYM(x52) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
209LSYM(x53) t0__3a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
210LSYM(x54) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_2t0
211LSYM(x55) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__2t0_a0
212LSYM(x56) t0__3a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
213LSYM(x57) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__3t0
214LSYM(x58) t0__3a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
215LSYM(x59) t0__9a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__3t0
216LSYM(x60) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
217LSYM(x61) t0__5a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
218LSYM(x62) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
219LSYM(x63) t0__64a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
220LSYM(x64) t0__64a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
221LSYM(x65) t0__8a0 ! a1_ne_0_b_l0 ! t0__8t0_a0 ! b_n_ret_t0
222LSYM(x66) t0__32a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
223LSYM(x67) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
224LSYM(x68) t0__8a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
225LSYM(x69) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
226LSYM(x70) t0__64a0 ! t0__t0_4a0 ! b_e_t0 ! t0__t0_2a0
227LSYM(x71) t0__9a0 ! t0__8t0 ! b_e_t0 ! t0__t0ma0
228LSYM(x72) t0__9a0 ! a1_ne_0_b_l1 ! r__r_8t0 ! MILLIRETN
229LSYM(x73) t0__9a0 ! t0__8t0_a0 ! b_e_shift ! r__r_t0
230LSYM(x74) t0__9a0 ! t0__4t0_a0 ! b_e_shift ! r__r_2t0
231LSYM(x75) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__2t0_a0
232LSYM(x76) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_4t0
233LSYM(x77) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__4t0_a0
234LSYM(x78) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__2t0_a0
235LSYM(x79) t0__16a0 ! t0__5t0 ! b_e_t0 ! t0__t0ma0
236LSYM(x80) t0__16a0 ! t0__5t0 ! b_e_shift ! r__r_t0
237LSYM(x81) t0__9a0 ! t0__9t0 ! b_e_shift ! r__r_t0
238LSYM(x82) t0__5a0 ! t0__8t0_a0 ! b_e_shift ! r__r_2t0
239LSYM(x83) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
240LSYM(x84) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
241LSYM(x85) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__5t0
242LSYM(x86) t0__5a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
243LSYM(x87) t0__9a0 ! t0__9t0 ! b_e_t02a0 ! t0__t0_4a0
244LSYM(x88) t0__5a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
245LSYM(x89) t0__5a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
246LSYM(x90) t0__9a0 ! t0__5t0 ! b_e_shift ! r__r_2t0
247LSYM(x91) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__2t0_a0
248LSYM(x92) t0__5a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__2t0_a0
249LSYM(x93) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__3t0
250LSYM(x94) t0__9a0 ! t0__5t0 ! b_e_2t0 ! t0__t0_2a0
251LSYM(x95) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__5t0
252LSYM(x96) t0__8a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
253LSYM(x97) t0__8a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
254LSYM(x98) t0__32a0 ! t0__3t0 ! b_e_t0 ! t0__t0_2a0
255LSYM(x99) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__3t0
256LSYM(x100) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_4t0
257LSYM(x101) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
258LSYM(x102) t0__32a0 ! t0__t0_2a0 ! b_e_t0 ! t0__3t0
259LSYM(x103) t0__5a0 ! t0__5t0 ! b_e_t02a0 ! t0__4t0_a0
260LSYM(x104) t0__3a0 ! t0__4t0_a0 ! b_e_shift ! r__r_8t0
261LSYM(x105) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
262LSYM(x106) t0__3a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__4t0_a0
263LSYM(x107) t0__9a0 ! t0__t0_4a0 ! b_e_t02a0 ! t0__8t0_a0
264LSYM(x108) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_4t0
265LSYM(x109) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__4t0_a0
266LSYM(x110) t0__9a0 ! t0__3t0 ! b_e_2t0 ! t0__2t0_a0
267LSYM(x111) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__3t0
268LSYM(x112) t0__3a0 ! t0__2t0_a0 ! b_e_t0 ! t0__16t0
269LSYM(x113) t0__9a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__3t0
270LSYM(x114) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__3t0
271LSYM(x115) t0__9a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__3t0
272LSYM(x116) t0__3a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__4t0_a0
273LSYM(x117) t0__3a0 ! t0__4t0_a0 ! b_e_t0 ! t0__9t0
274LSYM(x118) t0__3a0 ! t0__4t0_a0 ! b_e_t0a0 ! t0__9t0
275LSYM(x119) t0__3a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__9t0
276LSYM(x120) t0__5a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
277LSYM(x121) t0__5a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
278LSYM(x122) t0__5a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
279LSYM(x123) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
280LSYM(x124) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_4t0
281LSYM(x125) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__5t0
282LSYM(x126) t0__64a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
283LSYM(x127) t0__128a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
284LSYM(x128) t0__128a0 ! a1_ne_0_b_l1 ! r__r_t0 ! MILLIRETN
285LSYM(x129) t0__128a0 ! a1_ne_0_b_l0 ! t0__t0_a0 ! b_n_ret_t0
286LSYM(x130) t0__64a0 ! t0__t0_a0 ! b_e_shift ! r__r_2t0
287LSYM(x131) t0__8a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
288LSYM(x132) t0__8a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
289LSYM(x133) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
290LSYM(x134) t0__8a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
291LSYM(x135) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__3t0
292LSYM(x136) t0__8a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
293LSYM(x137) t0__8a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
294LSYM(x138) t0__8a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
295LSYM(x139) t0__8a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__4t0_a0
296LSYM(x140) t0__3a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__5t0
297LSYM(x141) t0__8a0 ! t0__2t0_a0 ! b_e_4t0a0 ! t0__2t0_a0
298LSYM(x142) t0__9a0 ! t0__8t0 ! b_e_2t0 ! t0__t0ma0
299LSYM(x143) t0__16a0 ! t0__9t0 ! b_e_t0 ! t0__t0ma0
300LSYM(x144) t0__9a0 ! t0__8t0 ! b_e_shift ! r__r_2t0
301LSYM(x145) t0__9a0 ! t0__8t0 ! b_e_t0 ! t0__2t0_a0
302LSYM(x146) t0__9a0 ! t0__8t0_a0 ! b_e_shift ! r__r_2t0
303LSYM(x147) t0__9a0 ! t0__8t0_a0 ! b_e_t0 ! t0__2t0_a0
304LSYM(x148) t0__9a0 ! t0__4t0_a0 ! b_e_shift ! r__r_4t0
305LSYM(x149) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__4t0_a0
306LSYM(x150) t0__9a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__2t0_a0
307LSYM(x151) t0__9a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__2t0_a0
308LSYM(x152) t0__9a0 ! t0__2t0_a0 ! b_e_shift ! r__r_8t0
309LSYM(x153) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__8t0_a0
310LSYM(x154) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__4t0_a0
311LSYM(x155) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__5t0
312LSYM(x156) t0__9a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__2t0_a0
313LSYM(x157) t0__32a0 ! t0__t0ma0 ! b_e_t02a0 ! t0__5t0
314LSYM(x158) t0__16a0 ! t0__5t0 ! b_e_2t0 ! t0__t0ma0
315LSYM(x159) t0__32a0 ! t0__5t0 ! b_e_t0 ! t0__t0ma0
316LSYM(x160) t0__5a0 ! t0__4t0 ! b_e_shift ! r__r_8t0
317LSYM(x161) t0__8a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
318LSYM(x162) t0__9a0 ! t0__9t0 ! b_e_shift ! r__r_2t0
319LSYM(x163) t0__9a0 ! t0__9t0 ! b_e_t0 ! t0__2t0_a0
320LSYM(x164) t0__5a0 ! t0__8t0_a0 ! b_e_shift ! r__r_4t0
321LSYM(x165) t0__8a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
322LSYM(x166) t0__5a0 ! t0__8t0_a0 ! b_e_2t0 ! t0__2t0_a0
323LSYM(x167) t0__5a0 ! t0__8t0_a0 ! b_e_2t0a0 ! t0__2t0_a0
324LSYM(x168) t0__5a0 ! t0__4t0_a0 ! b_e_shift ! r__r_8t0
325LSYM(x169) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__8t0_a0
326LSYM(x170) t0__32a0 ! t0__t0_2a0 ! b_e_t0 ! t0__5t0
327LSYM(x171) t0__9a0 ! t0__2t0_a0 ! b_e_t0 ! t0__9t0
328LSYM(x172) t0__5a0 ! t0__4t0_a0 ! b_e_4t0 ! t0__2t0_a0
329LSYM(x173) t0__9a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__9t0
330LSYM(x174) t0__32a0 ! t0__t0_2a0 ! b_e_t04a0 ! t0__5t0
331LSYM(x175) t0__8a0 ! t0__2t0_a0 ! b_e_5t0 ! t0__2t0_a0
332LSYM(x176) t0__5a0 ! t0__4t0_a0 ! b_e_8t0 ! t0__t0_a0
333LSYM(x177) t0__5a0 ! t0__4t0_a0 ! b_e_8t0a0 ! t0__t0_a0
334LSYM(x178) t0__5a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__8t0_a0
335LSYM(x179) t0__5a0 ! t0__2t0_a0 ! b_e_2t0a0 ! t0__8t0_a0
336LSYM(x180) t0__9a0 ! t0__5t0 ! b_e_shift ! r__r_4t0
337LSYM(x181) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__4t0_a0
338LSYM(x182) t0__9a0 ! t0__5t0 ! b_e_2t0 ! t0__2t0_a0
339LSYM(x183) t0__9a0 ! t0__5t0 ! b_e_2t0a0 ! t0__2t0_a0
340LSYM(x184) t0__5a0 ! t0__9t0 ! b_e_4t0 ! t0__t0_a0
341LSYM(x185) t0__9a0 ! t0__4t0_a0 ! b_e_t0 ! t0__5t0
342LSYM(x186) t0__32a0 ! t0__t0ma0 ! b_e_2t0 ! t0__3t0
343LSYM(x187) t0__9a0 ! t0__4t0_a0 ! b_e_t02a0 ! t0__5t0
344LSYM(x188) t0__9a0 ! t0__5t0 ! b_e_4t0 ! t0__t0_2a0
345LSYM(x189) t0__5a0 ! t0__4t0_a0 ! b_e_t0 ! t0__9t0
346LSYM(x190) t0__9a0 ! t0__2t0_a0 ! b_e_2t0 ! t0__5t0
347LSYM(x191) t0__64a0 ! t0__3t0 ! b_e_t0 ! t0__t0ma0
348LSYM(x192) t0__8a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
349LSYM(x193) t0__8a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
350LSYM(x194) t0__8a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
351LSYM(x195) t0__8a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
352LSYM(x196) t0__8a0 ! t0__3t0 ! b_e_4t0 ! t0__2t0_a0
353LSYM(x197) t0__8a0 ! t0__3t0 ! b_e_4t0a0 ! t0__2t0_a0
354LSYM(x198) t0__64a0 ! t0__t0_2a0 ! b_e_t0 ! t0__3t0
355LSYM(x199) t0__8a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__3t0
356LSYM(x200) t0__5a0 ! t0__5t0 ! b_e_shift ! r__r_8t0
357LSYM(x201) t0__5a0 ! t0__5t0 ! b_e_t0 ! t0__8t0_a0
358LSYM(x202) t0__5a0 ! t0__5t0 ! b_e_2t0 ! t0__4t0_a0
359LSYM(x203) t0__5a0 ! t0__5t0 ! b_e_2t0a0 ! t0__4t0_a0
360LSYM(x204) t0__8a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__3t0
361LSYM(x205) t0__5a0 ! t0__8t0_a0 ! b_e_t0 ! t0__5t0
362LSYM(x206) t0__64a0 ! t0__t0_4a0 ! b_e_t02a0 ! t0__3t0
363LSYM(x207) t0__8a0 ! t0__2t0_a0 ! b_e_3t0 ! t0__4t0_a0
364LSYM(x208) t0__5a0 ! t0__5t0 ! b_e_8t0 ! t0__t0_a0
365LSYM(x209) t0__5a0 ! t0__5t0 ! b_e_8t0a0 ! t0__t0_a0
366LSYM(x210) t0__5a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__5t0
367LSYM(x211) t0__5a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__5t0
368LSYM(x212) t0__3a0 ! t0__4t0_a0 ! b_e_4t0 ! t0__4t0_a0
369LSYM(x213) t0__3a0 ! t0__4t0_a0 ! b_e_4t0a0 ! t0__4t0_a0
370LSYM(x214) t0__9a0 ! t0__t0_4a0 ! b_e_2t04a0 ! t0__8t0_a0
371LSYM(x215) t0__5a0 ! t0__4t0_a0 ! b_e_5t0 ! t0__2t0_a0
372LSYM(x216) t0__9a0 ! t0__3t0 ! b_e_shift ! r__r_8t0
373LSYM(x217) t0__9a0 ! t0__3t0 ! b_e_t0 ! t0__8t0_a0
374LSYM(x218) t0__9a0 ! t0__3t0 ! b_e_2t0 ! t0__4t0_a0
375LSYM(x219) t0__9a0 ! t0__8t0_a0 ! b_e_t0 ! t0__3t0
376LSYM(x220) t0__3a0 ! t0__9t0 ! b_e_4t0 ! t0__2t0_a0
377LSYM(x221) t0__3a0 ! t0__9t0 ! b_e_4t0a0 ! t0__2t0_a0
378LSYM(x222) t0__9a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__3t0
379LSYM(x223) t0__9a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__3t0
380LSYM(x224) t0__9a0 ! t0__3t0 ! b_e_8t0 ! t0__t0_a0
381LSYM(x225) t0__9a0 ! t0__5t0 ! b_e_t0 ! t0__5t0
382LSYM(x226) t0__3a0 ! t0__2t0_a0 ! b_e_t02a0 ! t0__32t0
383LSYM(x227) t0__9a0 ! t0__5t0 ! b_e_t02a0 ! t0__5t0
384LSYM(x228) t0__9a0 ! t0__2t0_a0 ! b_e_4t0 ! t0__3t0
385LSYM(x229) t0__9a0 ! t0__2t0_a0 ! b_e_4t0a0 ! t0__3t0
386LSYM(x230) t0__9a0 ! t0__5t0 ! b_e_5t0 ! t0__t0_a0
387LSYM(x231) t0__9a0 ! t0__2t0_a0 ! b_e_3t0 ! t0__4t0_a0
388LSYM(x232) t0__3a0 ! t0__2t0_a0 ! b_e_8t0 ! t0__4t0_a0
389LSYM(x233) t0__3a0 ! t0__2t0_a0 ! b_e_8t0a0 ! t0__4t0_a0
390LSYM(x234) t0__3a0 ! t0__4t0_a0 ! b_e_2t0 ! t0__9t0
391LSYM(x235) t0__3a0 ! t0__4t0_a0 ! b_e_2t0a0 ! t0__9t0
392LSYM(x236) t0__9a0 ! t0__2t0_a0 ! b_e_4t08a0 ! t0__3t0
393LSYM(x237) t0__16a0 ! t0__5t0 ! b_e_3t0 ! t0__t0ma0
394LSYM(x238) t0__3a0 ! t0__4t0_a0 ! b_e_2t04a0 ! t0__9t0
395LSYM(x239) t0__16a0 ! t0__5t0 ! b_e_t0ma0 ! t0__3t0
396LSYM(x240) t0__9a0 ! t0__t0_a0 ! b_e_8t0 ! t0__3t0
397LSYM(x241) t0__9a0 ! t0__t0_a0 ! b_e_8t0a0 ! t0__3t0
398LSYM(x242) t0__5a0 ! t0__3t0 ! b_e_2t0 ! t0__8t0_a0
399LSYM(x243) t0__9a0 ! t0__9t0 ! b_e_t0 ! t0__3t0
400LSYM(x244) t0__5a0 ! t0__3t0 ! b_e_4t0 ! t0__4t0_a0
401LSYM(x245) t0__8a0 ! t0__3t0 ! b_e_5t0 ! t0__2t0_a0
402LSYM(x246) t0__5a0 ! t0__8t0_a0 ! b_e_2t0 ! t0__3t0
403LSYM(x247) t0__5a0 ! t0__8t0_a0 ! b_e_2t0a0 ! t0__3t0
404LSYM(x248) t0__32a0 ! t0__t0ma0 ! b_e_shift ! r__r_8t0
405LSYM(x249) t0__32a0 ! t0__t0ma0 ! b_e_t0 ! t0__8t0_a0
406LSYM(x250) t0__5a0 ! t0__5t0 ! b_e_2t0 ! t0__5t0
407LSYM(x251) t0__5a0 ! t0__5t0 ! b_e_2t0a0 ! t0__5t0
408LSYM(x252) t0__64a0 ! t0__t0ma0 ! b_e_shift ! r__r_4t0
409LSYM(x253) t0__64a0 ! t0__t0ma0 ! b_e_t0 ! t0__4t0_a0
410LSYM(x254) t0__128a0 ! t0__t0ma0 ! b_e_shift ! r__r_2t0
411LSYM(x255) t0__256a0 ! a1_ne_0_b_l0 ! t0__t0ma0 ! b_n_ret_t0
412/*1040 insts before this. */
413LSYM(ret_t0) MILLIRET
414LSYM(e_t0) r__r_t0
415LSYM(e_shift) a1_ne_0_b_l2
416 a0__256a0 /* a0 <<= 8 *********** */
417 MILLIRETN
418LSYM(e_t0ma0) a1_ne_0_b_l0
419 t0__t0ma0
420 MILLIRET
421 r__r_t0
422LSYM(e_t0a0) a1_ne_0_b_l0
423 t0__t0_a0
424 MILLIRET
425 r__r_t0
426LSYM(e_t02a0) a1_ne_0_b_l0
427 t0__t0_2a0
428 MILLIRET
429 r__r_t0
430LSYM(e_t04a0) a1_ne_0_b_l0
431 t0__t0_4a0
432 MILLIRET
433 r__r_t0
434LSYM(e_2t0) a1_ne_0_b_l1
435 r__r_2t0
436 MILLIRETN
437LSYM(e_2t0a0) a1_ne_0_b_l0
438 t0__2t0_a0
439 MILLIRET
440 r__r_t0
441LSYM(e2t04a0) t0__t0_2a0
442 a1_ne_0_b_l1
443 r__r_2t0
444 MILLIRETN
445LSYM(e_3t0) a1_ne_0_b_l0
446 t0__3t0
447 MILLIRET
448 r__r_t0
449LSYM(e_4t0) a1_ne_0_b_l1
450 r__r_4t0
451 MILLIRETN
452LSYM(e_4t0a0) a1_ne_0_b_l0
453 t0__4t0_a0
454 MILLIRET
455 r__r_t0
456LSYM(e4t08a0) t0__t0_2a0
457 a1_ne_0_b_l1
458 r__r_4t0
459 MILLIRETN
460LSYM(e_5t0) a1_ne_0_b_l0
461 t0__5t0
462 MILLIRET
463 r__r_t0
464LSYM(e_8t0) a1_ne_0_b_l1
465 r__r_8t0
466 MILLIRETN
467LSYM(e_8t0a0) a1_ne_0_b_l0
468 t0__8t0_a0
469 MILLIRET
470 r__r_t0
471
472 .procend
473 .end
474#endif
diff --git a/arch/parisc/lib/milli/remI.S b/arch/parisc/lib/milli/remI.S
deleted file mode 100644
index 63bc094471e2..000000000000
--- a/arch/parisc/lib/milli/remI.S
+++ /dev/null
@@ -1,185 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_remI
16/* ROUTINE: $$remI
17
18 DESCRIPTION:
19 . $$remI returns the remainder of the division of two signed 32-bit
20 . integers. The sign of the remainder is the same as the sign of
21 . the dividend.
22
23
24 INPUT REGISTERS:
25 . arg0 == dividend
26 . arg1 == divisor
27 . mrp == return pc
28 . sr0 == return space when called externally
29
30 OUTPUT REGISTERS:
31 . arg0 = destroyed
32 . arg1 = destroyed
33 . ret1 = remainder
34
35 OTHER REGISTERS AFFECTED:
36 . r1 = undefined
37
38 SIDE EFFECTS:
39 . Causes a trap under the following conditions: DIVIDE BY ZERO
40 . Changes memory at the following places: NONE
41
42 PERMISSIBLE CONTEXT:
43 . Unwindable
44 . Does not create a stack frame
45 . Is usable for internal or external microcode
46
47 DISCUSSION:
48 . Calls other millicode routines via mrp: NONE
49 . Calls other millicode routines: NONE */
50
51RDEFINE(tmp,r1)
52RDEFINE(retreg,ret1)
53
54 SUBSPA_MILLI
55 ATTR_MILLI
56 .proc
57 .callinfo millicode
58 .entry
59GSYM($$remI)
60GSYM($$remoI)
61 .export $$remI,MILLICODE
62 .export $$remoI,MILLICODE
63 ldo -1(arg1),tmp /* is there at most one bit set ? */
64 and,<> arg1,tmp,r0 /* if not, don't use power of 2 */
65 addi,> 0,arg1,r0 /* if denominator > 0, use power */
66 /* of 2 */
67 b,n LREF(neg_denom)
68LSYM(pow2)
69 comb,>,n 0,arg0,LREF(neg_num) /* is numerator < 0 ? */
70 and arg0,tmp,retreg /* get the result */
71 MILLIRETN
72LSYM(neg_num)
73 subi 0,arg0,arg0 /* negate numerator */
74 and arg0,tmp,retreg /* get the result */
75 subi 0,retreg,retreg /* negate result */
76 MILLIRETN
77LSYM(neg_denom)
78 addi,< 0,arg1,r0 /* if arg1 >= 0, it's not power */
79 /* of 2 */
80 b,n LREF(regular_seq)
81 sub r0,arg1,tmp /* make denominator positive */
82 comb,=,n arg1,tmp,LREF(regular_seq) /* test against 0x80000000 and 0 */
83 ldo -1(tmp),retreg /* is there at most one bit set ? */
84 and,= tmp,retreg,r0 /* if not, go to regular_seq */
85 b,n LREF(regular_seq)
86 comb,>,n 0,arg0,LREF(neg_num_2) /* if arg0 < 0, negate it */
87 and arg0,retreg,retreg
88 MILLIRETN
89LSYM(neg_num_2)
90 subi 0,arg0,tmp /* test against 0x80000000 */
91 and tmp,retreg,retreg
92 subi 0,retreg,retreg
93 MILLIRETN
94LSYM(regular_seq)
95 addit,= 0,arg1,0 /* trap if div by zero */
96 add,>= 0,arg0,retreg /* move dividend, if retreg < 0, */
97 sub 0,retreg,retreg /* make it positive */
98 sub 0,arg1, tmp /* clear carry, */
99 /* negate the divisor */
100 ds 0, tmp,0 /* set V-bit to the comple- */
101 /* ment of the divisor sign */
102 or 0,0, tmp /* clear tmp */
103 add retreg,retreg,retreg /* shift msb bit into carry */
104 ds tmp,arg1, tmp /* 1st divide step, if no carry */
105 /* out, msb of quotient = 0 */
106 addc retreg,retreg,retreg /* shift retreg with/into carry */
107LSYM(t1)
108 ds tmp,arg1, tmp /* 2nd divide step */
109 addc retreg,retreg,retreg /* shift retreg with/into carry */
110 ds tmp,arg1, tmp /* 3rd divide step */
111 addc retreg,retreg,retreg /* shift retreg with/into carry */
112 ds tmp,arg1, tmp /* 4th divide step */
113 addc retreg,retreg,retreg /* shift retreg with/into carry */
114 ds tmp,arg1, tmp /* 5th divide step */
115 addc retreg,retreg,retreg /* shift retreg with/into carry */
116 ds tmp,arg1, tmp /* 6th divide step */
117 addc retreg,retreg,retreg /* shift retreg with/into carry */
118 ds tmp,arg1, tmp /* 7th divide step */
119 addc retreg,retreg,retreg /* shift retreg with/into carry */
120 ds tmp,arg1, tmp /* 8th divide step */
121 addc retreg,retreg,retreg /* shift retreg with/into carry */
122 ds tmp,arg1, tmp /* 9th divide step */
123 addc retreg,retreg,retreg /* shift retreg with/into carry */
124 ds tmp,arg1, tmp /* 10th divide step */
125 addc retreg,retreg,retreg /* shift retreg with/into carry */
126 ds tmp,arg1, tmp /* 11th divide step */
127 addc retreg,retreg,retreg /* shift retreg with/into carry */
128 ds tmp,arg1, tmp /* 12th divide step */
129 addc retreg,retreg,retreg /* shift retreg with/into carry */
130 ds tmp,arg1, tmp /* 13th divide step */
131 addc retreg,retreg,retreg /* shift retreg with/into carry */
132 ds tmp,arg1, tmp /* 14th divide step */
133 addc retreg,retreg,retreg /* shift retreg with/into carry */
134 ds tmp,arg1, tmp /* 15th divide step */
135 addc retreg,retreg,retreg /* shift retreg with/into carry */
136 ds tmp,arg1, tmp /* 16th divide step */
137 addc retreg,retreg,retreg /* shift retreg with/into carry */
138 ds tmp,arg1, tmp /* 17th divide step */
139 addc retreg,retreg,retreg /* shift retreg with/into carry */
140 ds tmp,arg1, tmp /* 18th divide step */
141 addc retreg,retreg,retreg /* shift retreg with/into carry */
142 ds tmp,arg1, tmp /* 19th divide step */
143 addc retreg,retreg,retreg /* shift retreg with/into carry */
144 ds tmp,arg1, tmp /* 20th divide step */
145 addc retreg,retreg,retreg /* shift retreg with/into carry */
146 ds tmp,arg1, tmp /* 21st divide step */
147 addc retreg,retreg,retreg /* shift retreg with/into carry */
148 ds tmp,arg1, tmp /* 22nd divide step */
149 addc retreg,retreg,retreg /* shift retreg with/into carry */
150 ds tmp,arg1, tmp /* 23rd divide step */
151 addc retreg,retreg,retreg /* shift retreg with/into carry */
152 ds tmp,arg1, tmp /* 24th divide step */
153 addc retreg,retreg,retreg /* shift retreg with/into carry */
154 ds tmp,arg1, tmp /* 25th divide step */
155 addc retreg,retreg,retreg /* shift retreg with/into carry */
156 ds tmp,arg1, tmp /* 26th divide step */
157 addc retreg,retreg,retreg /* shift retreg with/into carry */
158 ds tmp,arg1, tmp /* 27th divide step */
159 addc retreg,retreg,retreg /* shift retreg with/into carry */
160 ds tmp,arg1, tmp /* 28th divide step */
161 addc retreg,retreg,retreg /* shift retreg with/into carry */
162 ds tmp,arg1, tmp /* 29th divide step */
163 addc retreg,retreg,retreg /* shift retreg with/into carry */
164 ds tmp,arg1, tmp /* 30th divide step */
165 addc retreg,retreg,retreg /* shift retreg with/into carry */
166 ds tmp,arg1, tmp /* 31st divide step */
167 addc retreg,retreg,retreg /* shift retreg with/into carry */
168 ds tmp,arg1, tmp /* 32nd divide step, */
169 addc retreg,retreg,retreg /* shift last bit into retreg */
170 movb,>=,n tmp,retreg,LREF(finish) /* branch if pos. tmp */
171 add,< arg1,0,0 /* if arg1 > 0, add arg1 */
172 add,tr tmp,arg1,retreg /* for correcting remainder tmp */
173 sub tmp,arg1,retreg /* else add absolute value arg1 */
174LSYM(finish)
175 add,>= arg0,0,0 /* set sign of remainder */
176 sub 0,retreg,retreg /* to sign of dividend */
177 MILLIRET
178 nop
179 .exit
180 .procend
181#ifdef milliext
182 .origin 0x00000200
183#endif
184 .end
185#endif
diff --git a/arch/parisc/lib/milli/remU.S b/arch/parisc/lib/milli/remU.S
deleted file mode 100644
index c0a2d6e247c3..000000000000
--- a/arch/parisc/lib/milli/remU.S
+++ /dev/null
@@ -1,148 +0,0 @@
1/* 32 and 64-bit millicode, original author Hewlett-Packard
2 adapted for gcc by Paul Bame <bame@debian.org>
3 and Alan Modra <alan@linuxcare.com.au>.
4
5 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of GCC and is released under the terms of
8 of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
10 See the file COPYING in the top-level GCC source directory for a copy
11 of the license. */
12
13#include "milli.h"
14
15#ifdef L_remU
16/* ROUTINE: $$remU
17 . Single precision divide for remainder with unsigned binary integers.
18 .
19 . The remainder must be dividend-(dividend/divisor)*divisor.
20 . Divide by zero is trapped.
21
22 INPUT REGISTERS:
23 . arg0 == dividend
24 . arg1 == divisor
25 . mrp == return pc
26 . sr0 == return space when called externally
27
28 OUTPUT REGISTERS:
29 . arg0 = undefined
30 . arg1 = undefined
31 . ret1 = remainder
32
33 OTHER REGISTERS AFFECTED:
34 . r1 = undefined
35
36 SIDE EFFECTS:
37 . Causes a trap under the following conditions: DIVIDE BY ZERO
38 . Changes memory at the following places: NONE
39
40 PERMISSIBLE CONTEXT:
41 . Unwindable.
42 . Does not create a stack frame.
43 . Suitable for internal or external millicode.
44 . Assumes the special millicode register conventions.
45
46 DISCUSSION:
47 . Calls other millicode routines using mrp: NONE
48 . Calls other millicode routines: NONE */
49
50
51RDEFINE(temp,r1)
52RDEFINE(rmndr,ret1) /* r29 */
53 SUBSPA_MILLI
54 ATTR_MILLI
55 .export $$remU,millicode
56 .proc
57 .callinfo millicode
58 .entry
59GSYM($$remU)
60 ldo -1(arg1),temp /* is there at most one bit set ? */
61 and,= arg1,temp,r0 /* if not, don't use power of 2 */
62 b LREF(regular_seq)
63 addit,= 0,arg1,r0 /* trap on div by zero */
64 and arg0,temp,rmndr /* get the result for power of 2 */
65 MILLIRETN
66LSYM(regular_seq)
67 comib,>=,n 0,arg1,LREF(special_case)
68 subi 0,arg1,rmndr /* clear carry, negate the divisor */
69 ds r0,rmndr,r0 /* set V-bit to 1 */
70 add arg0,arg0,temp /* shift msb bit into carry */
71 ds r0,arg1,rmndr /* 1st divide step, if no carry */
72 addc temp,temp,temp /* shift temp with/into carry */
73 ds rmndr,arg1,rmndr /* 2nd divide step */
74 addc temp,temp,temp /* shift temp with/into carry */
75 ds rmndr,arg1,rmndr /* 3rd divide step */
76 addc temp,temp,temp /* shift temp with/into carry */
77 ds rmndr,arg1,rmndr /* 4th divide step */
78 addc temp,temp,temp /* shift temp with/into carry */
79 ds rmndr,arg1,rmndr /* 5th divide step */
80 addc temp,temp,temp /* shift temp with/into carry */
81 ds rmndr,arg1,rmndr /* 6th divide step */
82 addc temp,temp,temp /* shift temp with/into carry */
83 ds rmndr,arg1,rmndr /* 7th divide step */
84 addc temp,temp,temp /* shift temp with/into carry */
85 ds rmndr,arg1,rmndr /* 8th divide step */
86 addc temp,temp,temp /* shift temp with/into carry */
87 ds rmndr,arg1,rmndr /* 9th divide step */
88 addc temp,temp,temp /* shift temp with/into carry */
89 ds rmndr,arg1,rmndr /* 10th divide step */
90 addc temp,temp,temp /* shift temp with/into carry */
91 ds rmndr,arg1,rmndr /* 11th divide step */
92 addc temp,temp,temp /* shift temp with/into carry */
93 ds rmndr,arg1,rmndr /* 12th divide step */
94 addc temp,temp,temp /* shift temp with/into carry */
95 ds rmndr,arg1,rmndr /* 13th divide step */
96 addc temp,temp,temp /* shift temp with/into carry */
97 ds rmndr,arg1,rmndr /* 14th divide step */
98 addc temp,temp,temp /* shift temp with/into carry */
99 ds rmndr,arg1,rmndr /* 15th divide step */
100 addc temp,temp,temp /* shift temp with/into carry */
101 ds rmndr,arg1,rmndr /* 16th divide step */
102 addc temp,temp,temp /* shift temp with/into carry */
103 ds rmndr,arg1,rmndr /* 17th divide step */
104 addc temp,temp,temp /* shift temp with/into carry */
105 ds rmndr,arg1,rmndr /* 18th divide step */
106 addc temp,temp,temp /* shift temp with/into carry */
107 ds rmndr,arg1,rmndr /* 19th divide step */
108 addc temp,temp,temp /* shift temp with/into carry */
109 ds rmndr,arg1,rmndr /* 20th divide step */
110 addc temp,temp,temp /* shift temp with/into carry */
111 ds rmndr,arg1,rmndr /* 21st divide step */
112 addc temp,temp,temp /* shift temp with/into carry */
113 ds rmndr,arg1,rmndr /* 22nd divide step */
114 addc temp,temp,temp /* shift temp with/into carry */
115 ds rmndr,arg1,rmndr /* 23rd divide step */
116 addc temp,temp,temp /* shift temp with/into carry */
117 ds rmndr,arg1,rmndr /* 24th divide step */
118 addc temp,temp,temp /* shift temp with/into carry */
119 ds rmndr,arg1,rmndr /* 25th divide step */
120 addc temp,temp,temp /* shift temp with/into carry */
121 ds rmndr,arg1,rmndr /* 26th divide step */
122 addc temp,temp,temp /* shift temp with/into carry */
123 ds rmndr,arg1,rmndr /* 27th divide step */
124 addc temp,temp,temp /* shift temp with/into carry */
125 ds rmndr,arg1,rmndr /* 28th divide step */
126 addc temp,temp,temp /* shift temp with/into carry */
127 ds rmndr,arg1,rmndr /* 29th divide step */
128 addc temp,temp,temp /* shift temp with/into carry */
129 ds rmndr,arg1,rmndr /* 30th divide step */
130 addc temp,temp,temp /* shift temp with/into carry */
131 ds rmndr,arg1,rmndr /* 31st divide step */
132 addc temp,temp,temp /* shift temp with/into carry */
133 ds rmndr,arg1,rmndr /* 32nd divide step, */
134 comiclr,<= 0,rmndr,r0
135 add rmndr,arg1,rmndr /* correction */
136 MILLIRETN
137 nop
138
139/* Putting >= on the last DS and deleting COMICLR does not work! */
140LSYM(special_case)
141 sub,>>= arg0,arg1,rmndr
142 copy arg0,rmndr
143 MILLIRETN
144 nop
145 .exit
146 .procend
147 .end
148#endif
diff --git a/arch/powerpc/boot/dts/sequoia.dts b/arch/powerpc/boot/dts/sequoia.dts
index 8833dfe2e8b4..10784ff45dd6 100644
--- a/arch/powerpc/boot/dts/sequoia.dts
+++ b/arch/powerpc/boot/dts/sequoia.dts
@@ -245,6 +245,7 @@
245 device_type = "rgmii-interface"; 245 device_type = "rgmii-interface";
246 compatible = "ibm,rgmii-440epx", "ibm,rgmii"; 246 compatible = "ibm,rgmii-440epx", "ibm,rgmii";
247 reg = <ef601000 8>; 247 reg = <ef601000 8>;
248 has-mdio;
248 }; 249 };
249 250
250 EMAC0: ethernet@ef600e00 { 251 EMAC0: ethernet@ef600e00 {
@@ -273,6 +274,8 @@
273 zmii-channel = <0>; 274 zmii-channel = <0>;
274 rgmii-device = <&RGMII0>; 275 rgmii-device = <&RGMII0>;
275 rgmii-channel = <0>; 276 rgmii-channel = <0>;
277 has-inverted-stacr-oc;
278 has-new-stacr-staopc;
276 }; 279 };
277 280
278 EMAC1: ethernet@ef600f00 { 281 EMAC1: ethernet@ef600f00 {
@@ -301,6 +304,8 @@
301 zmii-channel = <1>; 304 zmii-channel = <1>;
302 rgmii-device = <&RGMII0>; 305 rgmii-device = <&RGMII0>;
303 rgmii-channel = <1>; 306 rgmii-channel = <1>;
307 has-inverted-stacr-oc;
308 has-new-stacr-staopc;
304 }; 309 };
305 }; 310 };
306 }; 311 };
diff --git a/arch/powerpc/configs/bamboo_defconfig b/arch/powerpc/configs/bamboo_defconfig
index 844808ebf245..76d883e008b6 100644
--- a/arch/powerpc/configs/bamboo_defconfig
+++ b/arch/powerpc/configs/bamboo_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23 3# Linux kernel version: 2.6.24-rc4
4# Fri Oct 19 09:01:11 2007 4# Thu Dec 6 16:48:04 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -69,11 +69,14 @@ CONFIG_POSIX_MQUEUE=y
69# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 74# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
75CONFIG_FAIR_GROUP_SCHED=y 77CONFIG_FAIR_GROUP_SCHED=y
76CONFIG_FAIR_USER_SCHED=y 78CONFIG_FAIR_USER_SCHED=y
79# CONFIG_FAIR_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
78# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
79CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -209,6 +212,7 @@ CONFIG_PCI_SYSCALL=y
209# CONFIG_PCIEPORTBUS is not set 212# CONFIG_PCIEPORTBUS is not set
210CONFIG_ARCH_SUPPORTS_MSI=y 213CONFIG_ARCH_SUPPORTS_MSI=y
211# CONFIG_PCI_MSI is not set 214# CONFIG_PCI_MSI is not set
215CONFIG_PCI_LEGACY=y
212# CONFIG_PCI_DEBUG is not set 216# CONFIG_PCI_DEBUG is not set
213# CONFIG_PCCARD is not set 217# CONFIG_PCCARD is not set
214# CONFIG_HOTPLUG_PCI is not set 218# CONFIG_HOTPLUG_PCI is not set
@@ -287,10 +291,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
287# CONFIG_LAPB is not set 291# CONFIG_LAPB is not set
288# CONFIG_ECONET is not set 292# CONFIG_ECONET is not set
289# CONFIG_WAN_ROUTER is not set 293# CONFIG_WAN_ROUTER is not set
290
291#
292# QoS and/or fair queueing
293#
294# CONFIG_NET_SCHED is not set 294# CONFIG_NET_SCHED is not set
295 295
296# 296#
@@ -690,16 +690,16 @@ CONFIG_PLIST=y
690CONFIG_HAS_IOMEM=y 690CONFIG_HAS_IOMEM=y
691CONFIG_HAS_IOPORT=y 691CONFIG_HAS_IOPORT=y
692CONFIG_HAS_DMA=y 692CONFIG_HAS_DMA=y
693 693CONFIG_INSTRUMENTATION=y
694#
695# Instrumentation Support
696#
697# CONFIG_PROFILING is not set 694# CONFIG_PROFILING is not set
695# CONFIG_KPROBES is not set
696# CONFIG_MARKERS is not set
698 697
699# 698#
700# Kernel hacking 699# Kernel hacking
701# 700#
702# CONFIG_PRINTK_TIME is not set 701# CONFIG_PRINTK_TIME is not set
702CONFIG_ENABLE_WARN_DEPRECATED=y
703CONFIG_ENABLE_MUST_CHECK=y 703CONFIG_ENABLE_MUST_CHECK=y
704CONFIG_MAGIC_SYSRQ=y 704CONFIG_MAGIC_SYSRQ=y
705# CONFIG_UNUSED_SYMBOLS is not set 705# CONFIG_UNUSED_SYMBOLS is not set
@@ -723,10 +723,12 @@ CONFIG_SCHED_DEBUG=y
723# CONFIG_DEBUG_INFO is not set 723# CONFIG_DEBUG_INFO is not set
724# CONFIG_DEBUG_VM is not set 724# CONFIG_DEBUG_VM is not set
725# CONFIG_DEBUG_LIST is not set 725# CONFIG_DEBUG_LIST is not set
726# CONFIG_DEBUG_SG is not set
726CONFIG_FORCED_INLINING=y 727CONFIG_FORCED_INLINING=y
727# CONFIG_BOOT_PRINTK_DELAY is not set 728# CONFIG_BOOT_PRINTK_DELAY is not set
728# CONFIG_RCU_TORTURE_TEST is not set 729# CONFIG_RCU_TORTURE_TEST is not set
729# CONFIG_FAULT_INJECTION is not set 730# CONFIG_FAULT_INJECTION is not set
731# CONFIG_SAMPLES is not set
730# CONFIG_DEBUG_STACKOVERFLOW is not set 732# CONFIG_DEBUG_STACKOVERFLOW is not set
731# CONFIG_DEBUG_STACK_USAGE is not set 733# CONFIG_DEBUG_STACK_USAGE is not set
732# CONFIG_DEBUG_PAGEALLOC is not set 734# CONFIG_DEBUG_PAGEALLOC is not set
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index dcd7c02727c2..f3bde8c6c8c6 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc3 3# Linux kernel version: 2.6.24-rc4
4# Wed Aug 22 15:19:19 2007 4# Thu Dec 6 16:48:05 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14CONFIG_TUNE_CELL=y
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=4 21CONFIG_NR_CPUS=4
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -64,13 +70,21 @@ CONFIG_SYSVIPC_SYSCTL=y
64# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
65# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set 72# CONFIG_USER_NS is not set
73# CONFIG_PID_NS is not set
67# CONFIG_AUDIT is not set 74# CONFIG_AUDIT is not set
68CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
70CONFIG_LOG_BUF_SHIFT=15 77CONFIG_LOG_BUF_SHIFT=15
71CONFIG_CGROUPS=y 78CONFIG_CGROUPS=y
79# CONFIG_CGROUP_DEBUG is not set
80# CONFIG_CGROUP_NS is not set
72CONFIG_CPUSETS=y 81CONFIG_CPUSETS=y
82CONFIG_FAIR_GROUP_SCHED=y
83CONFIG_FAIR_USER_SCHED=y
84# CONFIG_FAIR_CGROUP_SCHED is not set
85# CONFIG_CGROUP_CPUACCT is not set
73CONFIG_SYSFS_DEPRECATED=y 86CONFIG_SYSFS_DEPRECATED=y
87CONFIG_PROC_PID_CPUSET=y
74# CONFIG_RELAY is not set 88# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 89CONFIG_BLK_DEV_INITRD=y
76CONFIG_INITRAMFS_SOURCE="" 90CONFIG_INITRAMFS_SOURCE=""
@@ -90,7 +104,6 @@ CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y 104CONFIG_ANON_INODES=y
91CONFIG_EPOLL=y 105CONFIG_EPOLL=y
92CONFIG_SIGNALFD=y 106CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 108CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -111,6 +124,7 @@ CONFIG_STOP_MACHINE=y
111CONFIG_BLOCK=y 124CONFIG_BLOCK=y
112# CONFIG_BLK_DEV_IO_TRACE is not set 125# CONFIG_BLK_DEV_IO_TRACE is not set
113# CONFIG_BLK_DEV_BSG is not set 126# CONFIG_BLK_DEV_BSG is not set
127CONFIG_BLOCK_COMPAT=y
114 128
115# 129#
116# IO Schedulers 130# IO Schedulers
@@ -129,7 +143,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
129# Platform support 143# Platform support
130# 144#
131CONFIG_PPC_MULTIPLATFORM=y 145CONFIG_PPC_MULTIPLATFORM=y
132# CONFIG_EMBEDDED6xx is not set
133# CONFIG_PPC_82xx is not set 146# CONFIG_PPC_82xx is not set
134# CONFIG_PPC_83xx is not set 147# CONFIG_PPC_83xx is not set
135# CONFIG_PPC_86xx is not set 148# CONFIG_PPC_86xx is not set
@@ -195,6 +208,8 @@ CONFIG_CPU_FREQ_STAT=y
195# CONFIG_CPU_FREQ_STAT_DETAILS is not set 208# CONFIG_CPU_FREQ_STAT_DETAILS is not set
196CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y 209CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
197# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 210# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
211# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
212# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
198CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 213CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
199CONFIG_CPU_FREQ_GOV_POWERSAVE=y 214CONFIG_CPU_FREQ_GOV_POWERSAVE=y
200CONFIG_CPU_FREQ_GOV_USERSPACE=y 215CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -211,6 +226,10 @@ CONFIG_AXON_RAM=m
211# 226#
212# Kernel options 227# Kernel options
213# 228#
229CONFIG_TICK_ONESHOT=y
230CONFIG_NO_HZ=y
231CONFIG_HIGH_RES_TIMERS=y
232CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
214# CONFIG_HZ_100 is not set 233# CONFIG_HZ_100 is not set
215CONFIG_HZ_250=y 234CONFIG_HZ_250=y
216# CONFIG_HZ_300 is not set 235# CONFIG_HZ_300 is not set
@@ -223,6 +242,7 @@ CONFIG_PREEMPT_BKL=y
223CONFIG_BINFMT_ELF=y 242CONFIG_BINFMT_ELF=y
224CONFIG_BINFMT_MISC=m 243CONFIG_BINFMT_MISC=m
225CONFIG_FORCE_MAX_ZONEORDER=9 244CONFIG_FORCE_MAX_ZONEORDER=9
245CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
226# CONFIG_IOMMU_VMERGE is not set 246# CONFIG_IOMMU_VMERGE is not set
227CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
228# CONFIG_KEXEC is not set 248# CONFIG_KEXEC is not set
@@ -243,6 +263,8 @@ CONFIG_NEED_MULTIPLE_NODES=y
243CONFIG_HAVE_MEMORY_PRESENT=y 263CONFIG_HAVE_MEMORY_PRESENT=y
244# CONFIG_SPARSEMEM_STATIC is not set 264# CONFIG_SPARSEMEM_STATIC is not set
245CONFIG_SPARSEMEM_EXTREME=y 265CONFIG_SPARSEMEM_EXTREME=y
266CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
267CONFIG_SPARSEMEM_VMEMMAP=y
246CONFIG_MEMORY_HOTPLUG=y 268CONFIG_MEMORY_HOTPLUG=y
247CONFIG_MEMORY_HOTPLUG_SPARSE=y 269CONFIG_MEMORY_HOTPLUG_SPARSE=y
248CONFIG_SPLIT_PTLOCK_CPUS=4 270CONFIG_SPLIT_PTLOCK_CPUS=4
@@ -275,11 +297,8 @@ CONFIG_PCIEPORTBUS=y
275CONFIG_PCIEAER=y 297CONFIG_PCIEAER=y
276CONFIG_ARCH_SUPPORTS_MSI=y 298CONFIG_ARCH_SUPPORTS_MSI=y
277# CONFIG_PCI_MSI is not set 299# CONFIG_PCI_MSI is not set
300CONFIG_PCI_LEGACY=y
278# CONFIG_PCI_DEBUG is not set 301# CONFIG_PCI_DEBUG is not set
279
280#
281# PCCARD (PCMCIA/CardBus) support
282#
283# CONFIG_PCCARD is not set 302# CONFIG_PCCARD is not set
284# CONFIG_HOTPLUG_PCI is not set 303# CONFIG_HOTPLUG_PCI is not set
285CONFIG_KERNEL_START=0xc000000000000000 304CONFIG_KERNEL_START=0xc000000000000000
@@ -321,6 +340,7 @@ CONFIG_INET_TUNNEL=y
321CONFIG_INET_XFRM_MODE_TRANSPORT=y 340CONFIG_INET_XFRM_MODE_TRANSPORT=y
322CONFIG_INET_XFRM_MODE_TUNNEL=y 341CONFIG_INET_XFRM_MODE_TUNNEL=y
323# CONFIG_INET_XFRM_MODE_BEET is not set 342# CONFIG_INET_XFRM_MODE_BEET is not set
343CONFIG_INET_LRO=y
324CONFIG_INET_DIAG=y 344CONFIG_INET_DIAG=y
325CONFIG_INET_TCP_DIAG=y 345CONFIG_INET_TCP_DIAG=y
326# CONFIG_TCP_CONG_ADVANCED is not set 346# CONFIG_TCP_CONG_ADVANCED is not set
@@ -382,6 +402,7 @@ CONFIG_NETFILTER_XT_MATCH_SCTP=m
382CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 402CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
383CONFIG_NETFILTER_XT_MATCH_STRING=m 403CONFIG_NETFILTER_XT_MATCH_STRING=m
384CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 404CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
405CONFIG_NETFILTER_XT_MATCH_TIME=m
385CONFIG_NETFILTER_XT_MATCH_U32=m 406CONFIG_NETFILTER_XT_MATCH_U32=m
386CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 407CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
387 408
@@ -430,10 +451,6 @@ CONFIG_IP_NF_ARP_MANGLE=m
430# CONFIG_LAPB is not set 451# CONFIG_LAPB is not set
431# CONFIG_ECONET is not set 452# CONFIG_ECONET is not set
432# CONFIG_WAN_ROUTER is not set 453# CONFIG_WAN_ROUTER is not set
433
434#
435# QoS and/or fair queueing
436#
437# CONFIG_NET_SCHED is not set 454# CONFIG_NET_SCHED is not set
438CONFIG_NET_CLS_ROUTE=y 455CONFIG_NET_CLS_ROUTE=y
439 456
@@ -463,6 +480,7 @@ CONFIG_NET_CLS_ROUTE=y
463# 480#
464# Generic Driver Options 481# Generic Driver Options
465# 482#
483CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
466CONFIG_STANDALONE=y 484CONFIG_STANDALONE=y
467CONFIG_PREVENT_FIRMWARE_BUILD=y 485CONFIG_PREVENT_FIRMWARE_BUILD=y
468CONFIG_FW_LOADER=y 486CONFIG_FW_LOADER=y
@@ -515,6 +533,11 @@ CONFIG_IDE_PROC_FS=y
515# IDE chipset support/bugfixes 533# IDE chipset support/bugfixes
516# 534#
517CONFIG_IDE_GENERIC=y 535CONFIG_IDE_GENERIC=y
536# CONFIG_BLK_DEV_PLATFORM is not set
537
538#
539# PCI IDE chipsets support
540#
518CONFIG_BLK_DEV_IDEPCI=y 541CONFIG_BLK_DEV_IDEPCI=y
519CONFIG_IDEPCI_SHARE_IRQ=y 542CONFIG_IDEPCI_SHARE_IRQ=y
520CONFIG_IDEPCI_PCIBUS_ORDER=y 543CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -522,8 +545,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
522CONFIG_BLK_DEV_GENERIC=y 545CONFIG_BLK_DEV_GENERIC=y
523# CONFIG_BLK_DEV_OPTI621 is not set 546# CONFIG_BLK_DEV_OPTI621 is not set
524CONFIG_BLK_DEV_IDEDMA_PCI=y 547CONFIG_BLK_DEV_IDEDMA_PCI=y
525# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
526# CONFIG_IDEDMA_ONLYDISK is not set
527CONFIG_BLK_DEV_AEC62XX=y 548CONFIG_BLK_DEV_AEC62XX=y
528# CONFIG_BLK_DEV_ALI15X3 is not set 549# CONFIG_BLK_DEV_ALI15X3 is not set
529# CONFIG_BLK_DEV_AMD74XX is not set 550# CONFIG_BLK_DEV_AMD74XX is not set
@@ -552,7 +573,7 @@ CONFIG_BLK_DEV_SIIMAGE=y
552CONFIG_BLK_DEV_CELLEB=y 573CONFIG_BLK_DEV_CELLEB=y
553# CONFIG_IDE_ARM is not set 574# CONFIG_IDE_ARM is not set
554CONFIG_BLK_DEV_IDEDMA=y 575CONFIG_BLK_DEV_IDEDMA=y
555# CONFIG_IDEDMA_IVB is not set 576CONFIG_IDE_ARCH_OBSOLETE_INIT=y
556# CONFIG_BLK_DEV_HD is not set 577# CONFIG_BLK_DEV_HD is not set
557 578
558# 579#
@@ -593,6 +614,7 @@ CONFIG_SCSI_WAIT_SCAN=m
593# CONFIG_SCSI_ISCSI_ATTRS is not set 614# CONFIG_SCSI_ISCSI_ATTRS is not set
594CONFIG_SCSI_SAS_ATTRS=y 615CONFIG_SCSI_SAS_ATTRS=y
595# CONFIG_SCSI_SAS_LIBSAS is not set 616# CONFIG_SCSI_SAS_LIBSAS is not set
617# CONFIG_SCSI_SRP_ATTRS is not set
596CONFIG_SCSI_LOWLEVEL=y 618CONFIG_SCSI_LOWLEVEL=y
597# CONFIG_ISCSI_TCP is not set 619# CONFIG_ISCSI_TCP is not set
598# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 620# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -668,6 +690,7 @@ CONFIG_SATA_PROMISE=y
668# CONFIG_PATA_OLDPIIX is not set 690# CONFIG_PATA_OLDPIIX is not set
669# CONFIG_PATA_NETCELL is not set 691# CONFIG_PATA_NETCELL is not set
670# CONFIG_PATA_NS87410 is not set 692# CONFIG_PATA_NS87410 is not set
693# CONFIG_PATA_NS87415 is not set
671# CONFIG_PATA_OPTI is not set 694# CONFIG_PATA_OPTI is not set
672# CONFIG_PATA_OPTIDMA is not set 695# CONFIG_PATA_OPTIDMA is not set
673# CONFIG_PATA_PDC_OLD is not set 696# CONFIG_PATA_PDC_OLD is not set
@@ -699,11 +722,9 @@ CONFIG_DM_ZERO=m
699CONFIG_DM_MULTIPATH=m 722CONFIG_DM_MULTIPATH=m
700# CONFIG_DM_MULTIPATH_EMC is not set 723# CONFIG_DM_MULTIPATH_EMC is not set
701# CONFIG_DM_MULTIPATH_RDAC is not set 724# CONFIG_DM_MULTIPATH_RDAC is not set
725# CONFIG_DM_MULTIPATH_HP is not set
702# CONFIG_DM_DELAY is not set 726# CONFIG_DM_DELAY is not set
703 727# CONFIG_DM_UEVENT is not set
704#
705# Fusion MPT device support
706#
707CONFIG_FUSION=y 728CONFIG_FUSION=y
708# CONFIG_FUSION_SPI is not set 729# CONFIG_FUSION_SPI is not set
709# CONFIG_FUSION_FC is not set 730# CONFIG_FUSION_FC is not set
@@ -726,6 +747,8 @@ CONFIG_BONDING=m
726CONFIG_MACVLAN=m 747CONFIG_MACVLAN=m
727# CONFIG_EQUALIZER is not set 748# CONFIG_EQUALIZER is not set
728CONFIG_TUN=y 749CONFIG_TUN=y
750# CONFIG_VETH is not set
751# CONFIG_IP1000 is not set
729# CONFIG_ARCNET is not set 752# CONFIG_ARCNET is not set
730# CONFIG_PHYLIB is not set 753# CONFIG_PHYLIB is not set
731CONFIG_NET_ETHERNET=y 754CONFIG_NET_ETHERNET=y
@@ -736,21 +759,30 @@ CONFIG_MII=y
736# CONFIG_NET_VENDOR_3COM is not set 759# CONFIG_NET_VENDOR_3COM is not set
737# CONFIG_NET_TULIP is not set 760# CONFIG_NET_TULIP is not set
738# CONFIG_HP100 is not set 761# CONFIG_HP100 is not set
762# CONFIG_IBM_NEW_EMAC is not set
763CONFIG_IBM_NEW_EMAC_ZMII=y
764CONFIG_IBM_NEW_EMAC_RGMII=y
765CONFIG_IBM_NEW_EMAC_TAH=y
766CONFIG_IBM_NEW_EMAC_EMAC4=y
739# CONFIG_NET_PCI is not set 767# CONFIG_NET_PCI is not set
768# CONFIG_B44 is not set
740CONFIG_NETDEV_1000=y 769CONFIG_NETDEV_1000=y
741# CONFIG_ACENIC is not set 770# CONFIG_ACENIC is not set
742# CONFIG_DL2K is not set 771# CONFIG_DL2K is not set
743CONFIG_E1000=m 772CONFIG_E1000=m
744CONFIG_E1000_NAPI=y 773CONFIG_E1000_NAPI=y
745# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 774# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
775# CONFIG_E1000E is not set
746# CONFIG_NS83820 is not set 776# CONFIG_NS83820 is not set
747# CONFIG_HAMACHI is not set 777# CONFIG_HAMACHI is not set
748# CONFIG_YELLOWFIN is not set 778# CONFIG_YELLOWFIN is not set
749# CONFIG_R8169 is not set 779# CONFIG_R8169 is not set
750# CONFIG_SIS190 is not set 780# CONFIG_SIS190 is not set
751CONFIG_SKGE=m 781CONFIG_SKGE=m
782# CONFIG_SKGE_DEBUG is not set
752CONFIG_SKY2=m 783CONFIG_SKY2=m
753# CONFIG_SKY2_DEBUG is not set 784# CONFIG_SKY2_DEBUG is not set
785# CONFIG_SK98LIN is not set
754# CONFIG_VIA_VELOCITY is not set 786# CONFIG_VIA_VELOCITY is not set
755CONFIG_TIGON3=y 787CONFIG_TIGON3=y
756# CONFIG_BNX2 is not set 788# CONFIG_BNX2 is not set
@@ -761,12 +793,15 @@ CONFIG_GELIC_NET=m
761CONFIG_NETDEV_10000=y 793CONFIG_NETDEV_10000=y
762# CONFIG_CHELSIO_T1 is not set 794# CONFIG_CHELSIO_T1 is not set
763# CONFIG_CHELSIO_T3 is not set 795# CONFIG_CHELSIO_T3 is not set
796# CONFIG_IXGBE is not set
764# CONFIG_IXGB is not set 797# CONFIG_IXGB is not set
765# CONFIG_S2IO is not set 798# CONFIG_S2IO is not set
766# CONFIG_MYRI10GE is not set 799# CONFIG_MYRI10GE is not set
767# CONFIG_NETXEN_NIC is not set 800# CONFIG_NETXEN_NIC is not set
801# CONFIG_NIU is not set
768# CONFIG_PASEMI_MAC is not set 802# CONFIG_PASEMI_MAC is not set
769# CONFIG_MLX4_CORE is not set 803# CONFIG_MLX4_CORE is not set
804# CONFIG_TEHUTI is not set
770# CONFIG_TR is not set 805# CONFIG_TR is not set
771 806
772# 807#
@@ -782,7 +817,6 @@ CONFIG_NETDEV_10000=y
782# CONFIG_USB_KAWETH is not set 817# CONFIG_USB_KAWETH is not set
783# CONFIG_USB_PEGASUS is not set 818# CONFIG_USB_PEGASUS is not set
784# CONFIG_USB_RTL8150 is not set 819# CONFIG_USB_RTL8150 is not set
785# CONFIG_USB_USBNET_MII is not set
786# CONFIG_USB_USBNET is not set 820# CONFIG_USB_USBNET is not set
787# CONFIG_WAN is not set 821# CONFIG_WAN is not set
788# CONFIG_FDDI is not set 822# CONFIG_FDDI is not set
@@ -812,7 +846,6 @@ CONFIG_INPUT_MOUSEDEV=y
812CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 846CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
813CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 847CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
814# CONFIG_INPUT_JOYDEV is not set 848# CONFIG_INPUT_JOYDEV is not set
815# CONFIG_INPUT_TSDEV is not set
816# CONFIG_INPUT_EVDEV is not set 849# CONFIG_INPUT_EVDEV is not set
817# CONFIG_INPUT_EVBUG is not set 850# CONFIG_INPUT_EVBUG is not set
818 851
@@ -893,32 +926,11 @@ CONFIG_IPMI_DEVICE_INTERFACE=m
893CONFIG_IPMI_SI=m 926CONFIG_IPMI_SI=m
894CONFIG_IPMI_WATCHDOG=m 927CONFIG_IPMI_WATCHDOG=m
895CONFIG_IPMI_POWEROFF=m 928CONFIG_IPMI_POWEROFF=m
896CONFIG_WATCHDOG=y
897# CONFIG_WATCHDOG_NOWAYOUT is not set
898
899#
900# Watchdog Device Drivers
901#
902# CONFIG_SOFT_WATCHDOG is not set
903# CONFIG_WATCHDOG_RTAS is not set
904
905#
906# PCI-based Watchdog Cards
907#
908# CONFIG_PCIPCWATCHDOG is not set
909# CONFIG_WDTPCI is not set
910
911#
912# USB-based Watchdog Cards
913#
914# CONFIG_USBPCWATCHDOG is not set
915# CONFIG_HW_RANDOM is not set 929# CONFIG_HW_RANDOM is not set
916CONFIG_GEN_RTC=y 930CONFIG_GEN_RTC=y
917# CONFIG_GEN_RTC_X is not set 931# CONFIG_GEN_RTC_X is not set
918# CONFIG_R3964 is not set 932# CONFIG_R3964 is not set
919# CONFIG_APPLICOM is not set 933# CONFIG_APPLICOM is not set
920# CONFIG_AGP is not set
921# CONFIG_DRM is not set
922# CONFIG_RAW_DRIVER is not set 934# CONFIG_RAW_DRIVER is not set
923# CONFIG_HANGCHECK_TIMER is not set 935# CONFIG_HANGCHECK_TIMER is not set
924# CONFIG_TCG_TPM is not set 936# CONFIG_TCG_TPM is not set
@@ -986,6 +998,31 @@ CONFIG_I2C_ALGOBIT=y
986# CONFIG_W1 is not set 998# CONFIG_W1 is not set
987# CONFIG_POWER_SUPPLY is not set 999# CONFIG_POWER_SUPPLY is not set
988# CONFIG_HWMON is not set 1000# CONFIG_HWMON is not set
1001CONFIG_WATCHDOG=y
1002# CONFIG_WATCHDOG_NOWAYOUT is not set
1003
1004#
1005# Watchdog Device Drivers
1006#
1007# CONFIG_SOFT_WATCHDOG is not set
1008# CONFIG_WATCHDOG_RTAS is not set
1009
1010#
1011# PCI-based Watchdog Cards
1012#
1013# CONFIG_PCIPCWATCHDOG is not set
1014# CONFIG_WDTPCI is not set
1015
1016#
1017# USB-based Watchdog Cards
1018#
1019# CONFIG_USBPCWATCHDOG is not set
1020
1021#
1022# Sonics Silicon Backplane
1023#
1024CONFIG_SSB_POSSIBLE=y
1025# CONFIG_SSB is not set
989 1026
990# 1027#
991# Multifunction device drivers 1028# Multifunction device drivers
@@ -1002,16 +1039,17 @@ CONFIG_I2C_ALGOBIT=y
1002# 1039#
1003# Graphics support 1040# Graphics support
1004# 1041#
1042# CONFIG_AGP is not set
1043# CONFIG_DRM is not set
1044# CONFIG_VGASTATE is not set
1045CONFIG_VIDEO_OUTPUT_CONTROL=m
1046# CONFIG_FB is not set
1005# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1047# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1006 1048
1007# 1049#
1008# Display device support 1050# Display device support
1009# 1051#
1010# CONFIG_DISPLAY_SUPPORT is not set 1052# CONFIG_DISPLAY_SUPPORT is not set
1011# CONFIG_VGASTATE is not set
1012CONFIG_VIDEO_OUTPUT_CONTROL=m
1013# CONFIG_FB is not set
1014# CONFIG_FB_IBM_GXT4500 is not set
1015 1053
1016# 1054#
1017# Console display driver support 1055# Console display driver support
@@ -1026,6 +1064,7 @@ CONFIG_DUMMY_CONSOLE=y
1026CONFIG_HID_SUPPORT=y 1064CONFIG_HID_SUPPORT=y
1027CONFIG_HID=m 1065CONFIG_HID=m
1028# CONFIG_HID_DEBUG is not set 1066# CONFIG_HID_DEBUG is not set
1067# CONFIG_HIDRAW is not set
1029 1068
1030# 1069#
1031# USB Input Devices 1070# USB Input Devices
@@ -1175,19 +1214,6 @@ CONFIG_EDAC_MM_EDAC=y
1175# CONFIG_RTC_CLASS is not set 1214# CONFIG_RTC_CLASS is not set
1176 1215
1177# 1216#
1178# DMA Engine support
1179#
1180# CONFIG_DMA_ENGINE is not set
1181
1182#
1183# DMA Clients
1184#
1185
1186#
1187# DMA Devices
1188#
1189
1190#
1191# Userspace I/O 1217# Userspace I/O
1192# 1218#
1193CONFIG_UIO=m 1219CONFIG_UIO=m
@@ -1253,7 +1279,6 @@ CONFIG_TMPFS=y
1253# CONFIG_TMPFS_POSIX_ACL is not set 1279# CONFIG_TMPFS_POSIX_ACL is not set
1254CONFIG_HUGETLBFS=y 1280CONFIG_HUGETLBFS=y
1255CONFIG_HUGETLB_PAGE=y 1281CONFIG_HUGETLB_PAGE=y
1256CONFIG_RAMFS=y
1257# CONFIG_CONFIGFS_FS is not set 1282# CONFIG_CONFIGFS_FS is not set
1258 1283
1259# 1284#
@@ -1272,10 +1297,7 @@ CONFIG_RAMFS=y
1272# CONFIG_QNX4FS_FS is not set 1297# CONFIG_QNX4FS_FS is not set
1273# CONFIG_SYSV_FS is not set 1298# CONFIG_SYSV_FS is not set
1274# CONFIG_UFS_FS is not set 1299# CONFIG_UFS_FS is not set
1275 1300CONFIG_NETWORK_FILESYSTEMS=y
1276#
1277# Network File Systems
1278#
1279CONFIG_NFS_FS=y 1301CONFIG_NFS_FS=y
1280CONFIG_NFS_V3=y 1302CONFIG_NFS_V3=y
1281CONFIG_NFS_V3_ACL=y 1303CONFIG_NFS_V3_ACL=y
@@ -1288,6 +1310,7 @@ CONFIG_LOCKD_V4=y
1288CONFIG_NFS_ACL_SUPPORT=y 1310CONFIG_NFS_ACL_SUPPORT=y
1289CONFIG_NFS_COMMON=y 1311CONFIG_NFS_COMMON=y
1290CONFIG_SUNRPC=y 1312CONFIG_SUNRPC=y
1313CONFIG_SUNRPC_XPRT_RDMA=m
1291# CONFIG_SUNRPC_BIND34 is not set 1314# CONFIG_SUNRPC_BIND34 is not set
1292# CONFIG_RPCSEC_GSS_KRB5 is not set 1315# CONFIG_RPCSEC_GSS_KRB5 is not set
1293# CONFIG_RPCSEC_GSS_SPKM3 is not set 1316# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -1318,10 +1341,6 @@ CONFIG_MSDOS_PARTITION=y
1318# CONFIG_KARMA_PARTITION is not set 1341# CONFIG_KARMA_PARTITION is not set
1319CONFIG_EFI_PARTITION=y 1342CONFIG_EFI_PARTITION=y
1320# CONFIG_SYSV68_PARTITION is not set 1343# CONFIG_SYSV68_PARTITION is not set
1321
1322#
1323# Native Language Support
1324#
1325CONFIG_NLS=m 1344CONFIG_NLS=m
1326CONFIG_NLS_DEFAULT="iso8859-1" 1345CONFIG_NLS_DEFAULT="iso8859-1"
1327# CONFIG_NLS_CODEPAGE_437 is not set 1346# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1362,10 +1381,6 @@ CONFIG_NLS_ISO8859_15=m
1362# CONFIG_NLS_KOI8_R is not set 1381# CONFIG_NLS_KOI8_R is not set
1363# CONFIG_NLS_KOI8_U is not set 1382# CONFIG_NLS_KOI8_U is not set
1364# CONFIG_NLS_UTF8 is not set 1383# CONFIG_NLS_UTF8 is not set
1365
1366#
1367# Distributed Lock Manager
1368#
1369# CONFIG_DLM is not set 1384# CONFIG_DLM is not set
1370# CONFIG_UCC_SLOW is not set 1385# CONFIG_UCC_SLOW is not set
1371 1386
@@ -1389,19 +1404,17 @@ CONFIG_PLIST=y
1389CONFIG_HAS_IOMEM=y 1404CONFIG_HAS_IOMEM=y
1390CONFIG_HAS_IOPORT=y 1405CONFIG_HAS_IOPORT=y
1391CONFIG_HAS_DMA=y 1406CONFIG_HAS_DMA=y
1392 1407CONFIG_INSTRUMENTATION=y
1393#
1394# Instrumentation Support
1395#
1396CONFIG_PROFILING=y 1408CONFIG_PROFILING=y
1397CONFIG_OPROFILE=m 1409CONFIG_OPROFILE=m
1398CONFIG_OPROFILE_CELL=y
1399# CONFIG_KPROBES is not set 1410# CONFIG_KPROBES is not set
1411# CONFIG_MARKERS is not set
1400 1412
1401# 1413#
1402# Kernel hacking 1414# Kernel hacking
1403# 1415#
1404# CONFIG_PRINTK_TIME is not set 1416# CONFIG_PRINTK_TIME is not set
1417CONFIG_ENABLE_WARN_DEPRECATED=y
1405# CONFIG_ENABLE_MUST_CHECK is not set 1418# CONFIG_ENABLE_MUST_CHECK is not set
1406CONFIG_MAGIC_SYSRQ=y 1419CONFIG_MAGIC_SYSRQ=y
1407# CONFIG_UNUSED_SYMBOLS is not set 1420# CONFIG_UNUSED_SYMBOLS is not set
@@ -1425,9 +1438,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1425# CONFIG_DEBUG_INFO is not set 1438# CONFIG_DEBUG_INFO is not set
1426# CONFIG_DEBUG_VM is not set 1439# CONFIG_DEBUG_VM is not set
1427# CONFIG_DEBUG_LIST is not set 1440# CONFIG_DEBUG_LIST is not set
1441# CONFIG_DEBUG_SG is not set
1428# CONFIG_FORCED_INLINING is not set 1442# CONFIG_FORCED_INLINING is not set
1443# CONFIG_BOOT_PRINTK_DELAY is not set
1429# CONFIG_RCU_TORTURE_TEST is not set 1444# CONFIG_RCU_TORTURE_TEST is not set
1430# CONFIG_FAULT_INJECTION is not set 1445# CONFIG_FAULT_INJECTION is not set
1446# CONFIG_SAMPLES is not set
1431# CONFIG_DEBUG_STACKOVERFLOW is not set 1447# CONFIG_DEBUG_STACKOVERFLOW is not set
1432# CONFIG_DEBUG_STACK_USAGE is not set 1448# CONFIG_DEBUG_STACK_USAGE is not set
1433# CONFIG_DEBUG_PAGEALLOC is not set 1449# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1436,6 +1452,7 @@ CONFIG_XMON=y
1436CONFIG_XMON_DEFAULT=y 1452CONFIG_XMON_DEFAULT=y
1437CONFIG_XMON_DISASSEMBLY=y 1453CONFIG_XMON_DISASSEMBLY=y
1438CONFIG_IRQSTACKS=y 1454CONFIG_IRQSTACKS=y
1455# CONFIG_VIRQ_DEBUG is not set
1439# CONFIG_BOOTX_TEXT is not set 1456# CONFIG_BOOTX_TEXT is not set
1440# CONFIG_PPC_EARLY_DEBUG is not set 1457# CONFIG_PPC_EARLY_DEBUG is not set
1441 1458
@@ -1444,6 +1461,7 @@ CONFIG_IRQSTACKS=y
1444# 1461#
1445# CONFIG_KEYS is not set 1462# CONFIG_KEYS is not set
1446# CONFIG_SECURITY is not set 1463# CONFIG_SECURITY is not set
1464# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1447CONFIG_CRYPTO=y 1465CONFIG_CRYPTO=y
1448CONFIG_CRYPTO_ALGAPI=y 1466CONFIG_CRYPTO_ALGAPI=y
1449CONFIG_CRYPTO_BLKCIPHER=m 1467CONFIG_CRYPTO_BLKCIPHER=m
@@ -1464,6 +1482,7 @@ CONFIG_CRYPTO_ECB=m
1464CONFIG_CRYPTO_CBC=m 1482CONFIG_CRYPTO_CBC=m
1465CONFIG_CRYPTO_PCBC=m 1483CONFIG_CRYPTO_PCBC=m
1466# CONFIG_CRYPTO_LRW is not set 1484# CONFIG_CRYPTO_LRW is not set
1485# CONFIG_CRYPTO_XTS is not set
1467# CONFIG_CRYPTO_CRYPTD is not set 1486# CONFIG_CRYPTO_CRYPTD is not set
1468CONFIG_CRYPTO_DES=m 1487CONFIG_CRYPTO_DES=m
1469# CONFIG_CRYPTO_FCRYPT is not set 1488# CONFIG_CRYPTO_FCRYPT is not set
@@ -1477,9 +1496,12 @@ CONFIG_CRYPTO_DES=m
1477# CONFIG_CRYPTO_ARC4 is not set 1496# CONFIG_CRYPTO_ARC4 is not set
1478# CONFIG_CRYPTO_KHAZAD is not set 1497# CONFIG_CRYPTO_KHAZAD is not set
1479# CONFIG_CRYPTO_ANUBIS is not set 1498# CONFIG_CRYPTO_ANUBIS is not set
1499# CONFIG_CRYPTO_SEED is not set
1480CONFIG_CRYPTO_DEFLATE=m 1500CONFIG_CRYPTO_DEFLATE=m
1481# CONFIG_CRYPTO_MICHAEL_MIC is not set 1501# CONFIG_CRYPTO_MICHAEL_MIC is not set
1482# CONFIG_CRYPTO_CRC32C is not set 1502# CONFIG_CRYPTO_CRC32C is not set
1483# CONFIG_CRYPTO_CAMELLIA is not set 1503# CONFIG_CRYPTO_CAMELLIA is not set
1484# CONFIG_CRYPTO_TEST is not set 1504# CONFIG_CRYPTO_TEST is not set
1505# CONFIG_CRYPTO_AUTHENC is not set
1485CONFIG_CRYPTO_HW=y 1506CONFIG_CRYPTO_HW=y
1507# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig
index 2c5969801bd6..421e08ee857a 100644
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:32:07 2007 4# Thu Dec 6 16:48:07 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14CONFIG_TUNE_CELL=y
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=4 21CONFIG_NR_CPUS=4
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,11 +69,13 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
69CONFIG_LOG_BUF_SHIFT=15 76CONFIG_LOG_BUF_SHIFT=15
70# CONFIG_CPUSETS is not set 77# CONFIG_CGROUPS is not set
78# CONFIG_FAIR_GROUP_SCHED is not set
71CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
72# CONFIG_RELAY is not set 80# CONFIG_RELAY is not set
73CONFIG_BLK_DEV_INITRD=y 81CONFIG_BLK_DEV_INITRD=y
@@ -88,7 +96,6 @@ CONFIG_FUTEX=y
88CONFIG_ANON_INODES=y 96CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 97CONFIG_EPOLL=y
90CONFIG_SIGNALFD=y 98CONFIG_SIGNALFD=y
91CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 99CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 100CONFIG_SHMEM=y
94CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
@@ -109,6 +116,7 @@ CONFIG_STOP_MACHINE=y
109CONFIG_BLOCK=y 116CONFIG_BLOCK=y
110# CONFIG_BLK_DEV_IO_TRACE is not set 117# CONFIG_BLK_DEV_IO_TRACE is not set
111CONFIG_BLK_DEV_BSG=y 118CONFIG_BLK_DEV_BSG=y
119CONFIG_BLOCK_COMPAT=y
112 120
113# 121#
114# IO Schedulers 122# IO Schedulers
@@ -127,7 +135,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
127# Platform support 135# Platform support
128# 136#
129CONFIG_PPC_MULTIPLATFORM=y 137CONFIG_PPC_MULTIPLATFORM=y
130# CONFIG_EMBEDDED6xx is not set
131# CONFIG_PPC_82xx is not set 138# CONFIG_PPC_82xx is not set
132# CONFIG_PPC_83xx is not set 139# CONFIG_PPC_83xx is not set
133# CONFIG_PPC_86xx is not set 140# CONFIG_PPC_86xx is not set
@@ -160,8 +167,8 @@ CONFIG_PPC_UDBG_BEAT=y
160# CONFIG_MMIO_NVRAM is not set 167# CONFIG_MMIO_NVRAM is not set
161# CONFIG_PPC_MPC106 is not set 168# CONFIG_PPC_MPC106 is not set
162# CONFIG_PPC_970_NAP is not set 169# CONFIG_PPC_970_NAP is not set
163# CONFIG_PPC_INDIRECT_IO is not set 170CONFIG_PPC_INDIRECT_IO=y
164# CONFIG_GENERIC_IOMAP is not set 171CONFIG_GENERIC_IOMAP=y
165# CONFIG_CPU_FREQ is not set 172# CONFIG_CPU_FREQ is not set
166# CONFIG_CPM2 is not set 173# CONFIG_CPM2 is not set
167# CONFIG_FSL_ULI1575 is not set 174# CONFIG_FSL_ULI1575 is not set
@@ -169,6 +176,10 @@ CONFIG_PPC_UDBG_BEAT=y
169# 176#
170# Kernel options 177# Kernel options
171# 178#
179CONFIG_TICK_ONESHOT=y
180CONFIG_NO_HZ=y
181CONFIG_HIGH_RES_TIMERS=y
182CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
172# CONFIG_HZ_100 is not set 183# CONFIG_HZ_100 is not set
173CONFIG_HZ_250=y 184CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 185# CONFIG_HZ_300 is not set
@@ -181,6 +192,7 @@ CONFIG_PREEMPT_BKL=y
181CONFIG_BINFMT_ELF=y 192CONFIG_BINFMT_ELF=y
182CONFIG_BINFMT_MISC=m 193CONFIG_BINFMT_MISC=m
183CONFIG_FORCE_MAX_ZONEORDER=13 194CONFIG_FORCE_MAX_ZONEORDER=13
195CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
184# CONFIG_IOMMU_VMERGE is not set 196# CONFIG_IOMMU_VMERGE is not set
185CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 197CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
186CONFIG_KEXEC=y 198CONFIG_KEXEC=y
@@ -200,6 +212,8 @@ CONFIG_NEED_MULTIPLE_NODES=y
200CONFIG_HAVE_MEMORY_PRESENT=y 212CONFIG_HAVE_MEMORY_PRESENT=y
201# CONFIG_SPARSEMEM_STATIC is not set 213# CONFIG_SPARSEMEM_STATIC is not set
202CONFIG_SPARSEMEM_EXTREME=y 214CONFIG_SPARSEMEM_EXTREME=y
215CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
216CONFIG_SPARSEMEM_VMEMMAP=y
203CONFIG_MEMORY_HOTPLUG=y 217CONFIG_MEMORY_HOTPLUG=y
204CONFIG_MEMORY_HOTPLUG_SPARSE=y 218CONFIG_MEMORY_HOTPLUG_SPARSE=y
205CONFIG_SPLIT_PTLOCK_CPUS=4 219CONFIG_SPLIT_PTLOCK_CPUS=4
@@ -231,11 +245,8 @@ CONFIG_PCI_SYSCALL=y
231# CONFIG_PCIEPORTBUS is not set 245# CONFIG_PCIEPORTBUS is not set
232CONFIG_ARCH_SUPPORTS_MSI=y 246CONFIG_ARCH_SUPPORTS_MSI=y
233# CONFIG_PCI_MSI is not set 247# CONFIG_PCI_MSI is not set
248CONFIG_PCI_LEGACY=y
234# CONFIG_PCI_DEBUG is not set 249# CONFIG_PCI_DEBUG is not set
235
236#
237# PCCARD (PCMCIA/CardBus) support
238#
239# CONFIG_PCCARD is not set 250# CONFIG_PCCARD is not set
240# CONFIG_HOTPLUG_PCI is not set 251# CONFIG_HOTPLUG_PCI is not set
241CONFIG_KERNEL_START=0xc000000000000000 252CONFIG_KERNEL_START=0xc000000000000000
@@ -274,6 +285,7 @@ CONFIG_INET_TUNNEL=y
274CONFIG_INET_XFRM_MODE_TRANSPORT=y 285CONFIG_INET_XFRM_MODE_TRANSPORT=y
275CONFIG_INET_XFRM_MODE_TUNNEL=y 286CONFIG_INET_XFRM_MODE_TUNNEL=y
276CONFIG_INET_XFRM_MODE_BEET=y 287CONFIG_INET_XFRM_MODE_BEET=y
288CONFIG_INET_LRO=y
277CONFIG_INET_DIAG=y 289CONFIG_INET_DIAG=y
278CONFIG_INET_TCP_DIAG=y 290CONFIG_INET_TCP_DIAG=y
279# CONFIG_TCP_CONG_ADVANCED is not set 291# CONFIG_TCP_CONG_ADVANCED is not set
@@ -336,10 +348,6 @@ CONFIG_IP_NF_QUEUE=m
336# CONFIG_LAPB is not set 348# CONFIG_LAPB is not set
337# CONFIG_ECONET is not set 349# CONFIG_ECONET is not set
338# CONFIG_WAN_ROUTER is not set 350# CONFIG_WAN_ROUTER is not set
339
340#
341# QoS and/or fair queueing
342#
343# CONFIG_NET_SCHED is not set 351# CONFIG_NET_SCHED is not set
344 352
345# 353#
@@ -368,6 +376,7 @@ CONFIG_IP_NF_QUEUE=m
368# 376#
369# Generic Driver Options 377# Generic Driver Options
370# 378#
379CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
371CONFIG_STANDALONE=y 380CONFIG_STANDALONE=y
372CONFIG_PREVENT_FIRMWARE_BUILD=y 381CONFIG_PREVENT_FIRMWARE_BUILD=y
373CONFIG_FW_LOADER=y 382CONFIG_FW_LOADER=y
@@ -420,6 +429,11 @@ CONFIG_IDE_PROC_FS=y
420# IDE chipset support/bugfixes 429# IDE chipset support/bugfixes
421# 430#
422CONFIG_IDE_GENERIC=y 431CONFIG_IDE_GENERIC=y
432# CONFIG_BLK_DEV_PLATFORM is not set
433
434#
435# PCI IDE chipsets support
436#
423CONFIG_BLK_DEV_IDEPCI=y 437CONFIG_BLK_DEV_IDEPCI=y
424CONFIG_IDEPCI_SHARE_IRQ=y 438CONFIG_IDEPCI_SHARE_IRQ=y
425CONFIG_IDEPCI_PCIBUS_ORDER=y 439CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -427,8 +441,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
427CONFIG_BLK_DEV_GENERIC=y 441CONFIG_BLK_DEV_GENERIC=y
428# CONFIG_BLK_DEV_OPTI621 is not set 442# CONFIG_BLK_DEV_OPTI621 is not set
429CONFIG_BLK_DEV_IDEDMA_PCI=y 443CONFIG_BLK_DEV_IDEDMA_PCI=y
430# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
431# CONFIG_IDEDMA_ONLYDISK is not set
432# CONFIG_BLK_DEV_AEC62XX is not set 444# CONFIG_BLK_DEV_AEC62XX is not set
433# CONFIG_BLK_DEV_ALI15X3 is not set 445# CONFIG_BLK_DEV_ALI15X3 is not set
434# CONFIG_BLK_DEV_AMD74XX is not set 446# CONFIG_BLK_DEV_AMD74XX is not set
@@ -457,7 +469,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
457CONFIG_BLK_DEV_CELLEB=y 469CONFIG_BLK_DEV_CELLEB=y
458# CONFIG_IDE_ARM is not set 470# CONFIG_IDE_ARM is not set
459CONFIG_BLK_DEV_IDEDMA=y 471CONFIG_BLK_DEV_IDEDMA=y
460# CONFIG_IDEDMA_IVB is not set 472CONFIG_IDE_ARCH_OBSOLETE_INIT=y
461# CONFIG_BLK_DEV_HD is not set 473# CONFIG_BLK_DEV_HD is not set
462 474
463# 475#
@@ -498,6 +510,7 @@ CONFIG_SCSI_WAIT_SCAN=m
498# CONFIG_SCSI_ISCSI_ATTRS is not set 510# CONFIG_SCSI_ISCSI_ATTRS is not set
499# CONFIG_SCSI_SAS_ATTRS is not set 511# CONFIG_SCSI_SAS_ATTRS is not set
500# CONFIG_SCSI_SAS_LIBSAS is not set 512# CONFIG_SCSI_SAS_LIBSAS is not set
513# CONFIG_SCSI_SRP_ATTRS is not set
501CONFIG_SCSI_LOWLEVEL=y 514CONFIG_SCSI_LOWLEVEL=y
502# CONFIG_ISCSI_TCP is not set 515# CONFIG_ISCSI_TCP is not set
503# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 516# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -549,15 +562,10 @@ CONFIG_DM_ZERO=m
549CONFIG_DM_MULTIPATH=m 562CONFIG_DM_MULTIPATH=m
550# CONFIG_DM_MULTIPATH_EMC is not set 563# CONFIG_DM_MULTIPATH_EMC is not set
551# CONFIG_DM_MULTIPATH_RDAC is not set 564# CONFIG_DM_MULTIPATH_RDAC is not set
565# CONFIG_DM_MULTIPATH_HP is not set
552# CONFIG_DM_DELAY is not set 566# CONFIG_DM_DELAY is not set
553 567# CONFIG_DM_UEVENT is not set
554#
555# Fusion MPT device support
556#
557# CONFIG_FUSION is not set 568# CONFIG_FUSION is not set
558# CONFIG_FUSION_SPI is not set
559# CONFIG_FUSION_FC is not set
560# CONFIG_FUSION_SAS is not set
561 569
562# 570#
563# IEEE 1394 (FireWire) support 571# IEEE 1394 (FireWire) support
@@ -573,6 +581,8 @@ CONFIG_NETDEVICES=y
573# CONFIG_MACVLAN is not set 581# CONFIG_MACVLAN is not set
574# CONFIG_EQUALIZER is not set 582# CONFIG_EQUALIZER is not set
575# CONFIG_TUN is not set 583# CONFIG_TUN is not set
584# CONFIG_VETH is not set
585# CONFIG_IP1000 is not set
576# CONFIG_ARCNET is not set 586# CONFIG_ARCNET is not set
577# CONFIG_PHYLIB is not set 587# CONFIG_PHYLIB is not set
578CONFIG_NET_ETHERNET=y 588CONFIG_NET_ETHERNET=y
@@ -583,11 +593,17 @@ CONFIG_MII=y
583# CONFIG_NET_VENDOR_3COM is not set 593# CONFIG_NET_VENDOR_3COM is not set
584# CONFIG_NET_TULIP is not set 594# CONFIG_NET_TULIP is not set
585# CONFIG_HP100 is not set 595# CONFIG_HP100 is not set
596# CONFIG_IBM_NEW_EMAC_ZMII is not set
597# CONFIG_IBM_NEW_EMAC_RGMII is not set
598# CONFIG_IBM_NEW_EMAC_TAH is not set
599# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
586# CONFIG_NET_PCI is not set 600# CONFIG_NET_PCI is not set
601# CONFIG_B44 is not set
587CONFIG_NETDEV_1000=y 602CONFIG_NETDEV_1000=y
588# CONFIG_ACENIC is not set 603# CONFIG_ACENIC is not set
589# CONFIG_DL2K is not set 604# CONFIG_DL2K is not set
590# CONFIG_E1000 is not set 605# CONFIG_E1000 is not set
606# CONFIG_E1000E is not set
591# CONFIG_NS83820 is not set 607# CONFIG_NS83820 is not set
592# CONFIG_HAMACHI is not set 608# CONFIG_HAMACHI is not set
593# CONFIG_YELLOWFIN is not set 609# CONFIG_YELLOWFIN is not set
@@ -595,6 +611,7 @@ CONFIG_NETDEV_1000=y
595# CONFIG_SIS190 is not set 611# CONFIG_SIS190 is not set
596# CONFIG_SKGE is not set 612# CONFIG_SKGE is not set
597# CONFIG_SKY2 is not set 613# CONFIG_SKY2 is not set
614# CONFIG_SK98LIN is not set
598# CONFIG_VIA_VELOCITY is not set 615# CONFIG_VIA_VELOCITY is not set
599# CONFIG_TIGON3 is not set 616# CONFIG_TIGON3 is not set
600# CONFIG_BNX2 is not set 617# CONFIG_BNX2 is not set
@@ -604,12 +621,15 @@ CONFIG_SPIDER_NET=y
604CONFIG_NETDEV_10000=y 621CONFIG_NETDEV_10000=y
605# CONFIG_CHELSIO_T1 is not set 622# CONFIG_CHELSIO_T1 is not set
606# CONFIG_CHELSIO_T3 is not set 623# CONFIG_CHELSIO_T3 is not set
624# CONFIG_IXGBE is not set
607# CONFIG_IXGB is not set 625# CONFIG_IXGB is not set
608# CONFIG_S2IO is not set 626# CONFIG_S2IO is not set
609# CONFIG_MYRI10GE is not set 627# CONFIG_MYRI10GE is not set
610# CONFIG_NETXEN_NIC is not set 628# CONFIG_NETXEN_NIC is not set
629# CONFIG_NIU is not set
611# CONFIG_PASEMI_MAC is not set 630# CONFIG_PASEMI_MAC is not set
612# CONFIG_MLX4_CORE is not set 631# CONFIG_MLX4_CORE is not set
632# CONFIG_TEHUTI is not set
613# CONFIG_TR is not set 633# CONFIG_TR is not set
614 634
615# 635#
@@ -625,7 +645,6 @@ CONFIG_NETDEV_10000=y
625# CONFIG_USB_KAWETH is not set 645# CONFIG_USB_KAWETH is not set
626# CONFIG_USB_PEGASUS is not set 646# CONFIG_USB_PEGASUS is not set
627# CONFIG_USB_RTL8150 is not set 647# CONFIG_USB_RTL8150 is not set
628# CONFIG_USB_USBNET_MII is not set
629# CONFIG_USB_USBNET is not set 648# CONFIG_USB_USBNET is not set
630# CONFIG_WAN is not set 649# CONFIG_WAN is not set
631# CONFIG_FDDI is not set 650# CONFIG_FDDI is not set
@@ -655,7 +674,6 @@ CONFIG_INPUT_MOUSEDEV=y
655CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 674CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
656CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 675CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
657# CONFIG_INPUT_JOYDEV is not set 676# CONFIG_INPUT_JOYDEV is not set
658# CONFIG_INPUT_TSDEV is not set
659# CONFIG_INPUT_EVDEV is not set 677# CONFIG_INPUT_EVDEV is not set
660# CONFIG_INPUT_EVBUG is not set 678# CONFIG_INPUT_EVBUG is not set
661 679
@@ -725,31 +743,11 @@ CONFIG_UNIX98_PTYS=y
725CONFIG_HVC_DRIVER=y 743CONFIG_HVC_DRIVER=y
726CONFIG_HVC_BEAT=y 744CONFIG_HVC_BEAT=y
727# CONFIG_IPMI_HANDLER is not set 745# CONFIG_IPMI_HANDLER is not set
728CONFIG_WATCHDOG=y
729# CONFIG_WATCHDOG_NOWAYOUT is not set
730
731#
732# Watchdog Device Drivers
733#
734# CONFIG_SOFT_WATCHDOG is not set
735
736#
737# PCI-based Watchdog Cards
738#
739# CONFIG_PCIPCWATCHDOG is not set
740# CONFIG_WDTPCI is not set
741
742#
743# USB-based Watchdog Cards
744#
745# CONFIG_USBPCWATCHDOG is not set
746# CONFIG_HW_RANDOM is not set 746# CONFIG_HW_RANDOM is not set
747CONFIG_GEN_RTC=y 747CONFIG_GEN_RTC=y
748# CONFIG_GEN_RTC_X is not set 748# CONFIG_GEN_RTC_X is not set
749# CONFIG_R3964 is not set 749# CONFIG_R3964 is not set
750# CONFIG_APPLICOM is not set 750# CONFIG_APPLICOM is not set
751# CONFIG_AGP is not set
752# CONFIG_DRM is not set
753# CONFIG_RAW_DRIVER is not set 751# CONFIG_RAW_DRIVER is not set
754# CONFIG_HANGCHECK_TIMER is not set 752# CONFIG_HANGCHECK_TIMER is not set
755# CONFIG_TCG_TPM is not set 753# CONFIG_TCG_TPM is not set
@@ -817,6 +815,30 @@ CONFIG_I2C_ALGOBIT=y
817# CONFIG_W1 is not set 815# CONFIG_W1 is not set
818# CONFIG_POWER_SUPPLY is not set 816# CONFIG_POWER_SUPPLY is not set
819# CONFIG_HWMON is not set 817# CONFIG_HWMON is not set
818CONFIG_WATCHDOG=y
819# CONFIG_WATCHDOG_NOWAYOUT is not set
820
821#
822# Watchdog Device Drivers
823#
824# CONFIG_SOFT_WATCHDOG is not set
825
826#
827# PCI-based Watchdog Cards
828#
829# CONFIG_PCIPCWATCHDOG is not set
830# CONFIG_WDTPCI is not set
831
832#
833# USB-based Watchdog Cards
834#
835# CONFIG_USBPCWATCHDOG is not set
836
837#
838# Sonics Silicon Backplane
839#
840CONFIG_SSB_POSSIBLE=y
841# CONFIG_SSB is not set
820 842
821# 843#
822# Multifunction device drivers 844# Multifunction device drivers
@@ -833,16 +855,17 @@ CONFIG_I2C_ALGOBIT=y
833# 855#
834# Graphics support 856# Graphics support
835# 857#
858# CONFIG_AGP is not set
859# CONFIG_DRM is not set
860# CONFIG_VGASTATE is not set
861# CONFIG_VIDEO_OUTPUT_CONTROL is not set
862# CONFIG_FB is not set
836# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 863# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
837 864
838# 865#
839# Display device support 866# Display device support
840# 867#
841# CONFIG_DISPLAY_SUPPORT is not set 868# CONFIG_DISPLAY_SUPPORT is not set
842# CONFIG_VGASTATE is not set
843# CONFIG_VIDEO_OUTPUT_CONTROL is not set
844# CONFIG_FB is not set
845# CONFIG_FB_IBM_GXT4500 is not set
846 869
847# 870#
848# Console display driver support 871# Console display driver support
@@ -857,6 +880,7 @@ CONFIG_DUMMY_CONSOLE=y
857CONFIG_HID_SUPPORT=y 880CONFIG_HID_SUPPORT=y
858CONFIG_HID=y 881CONFIG_HID=y
859# CONFIG_HID_DEBUG is not set 882# CONFIG_HID_DEBUG is not set
883# CONFIG_HIDRAW is not set
860 884
861# 885#
862# USB Input Devices 886# USB Input Devices
@@ -980,19 +1004,6 @@ CONFIG_USB_MON=y
980# CONFIG_RTC_CLASS is not set 1004# CONFIG_RTC_CLASS is not set
981 1005
982# 1006#
983# DMA Engine support
984#
985# CONFIG_DMA_ENGINE is not set
986
987#
988# DMA Clients
989#
990
991#
992# DMA Devices
993#
994
995#
996# Userspace I/O 1007# Userspace I/O
997# 1008#
998# CONFIG_UIO is not set 1009# CONFIG_UIO is not set
@@ -1060,7 +1071,6 @@ CONFIG_TMPFS=y
1060# CONFIG_TMPFS_POSIX_ACL is not set 1071# CONFIG_TMPFS_POSIX_ACL is not set
1061CONFIG_HUGETLBFS=y 1072CONFIG_HUGETLBFS=y
1062CONFIG_HUGETLB_PAGE=y 1073CONFIG_HUGETLB_PAGE=y
1063CONFIG_RAMFS=y
1064# CONFIG_CONFIGFS_FS is not set 1074# CONFIG_CONFIGFS_FS is not set
1065 1075
1066# 1076#
@@ -1079,10 +1089,7 @@ CONFIG_RAMFS=y
1079# CONFIG_QNX4FS_FS is not set 1089# CONFIG_QNX4FS_FS is not set
1080# CONFIG_SYSV_FS is not set 1090# CONFIG_SYSV_FS is not set
1081# CONFIG_UFS_FS is not set 1091# CONFIG_UFS_FS is not set
1082 1092CONFIG_NETWORK_FILESYSTEMS=y
1083#
1084# Network File Systems
1085#
1086CONFIG_NFS_FS=m 1093CONFIG_NFS_FS=m
1087CONFIG_NFS_V3=y 1094CONFIG_NFS_V3=y
1088CONFIG_NFS_V3_ACL=y 1095CONFIG_NFS_V3_ACL=y
@@ -1130,10 +1137,6 @@ CONFIG_MSDOS_PARTITION=y
1130# CONFIG_KARMA_PARTITION is not set 1137# CONFIG_KARMA_PARTITION is not set
1131CONFIG_EFI_PARTITION=y 1138CONFIG_EFI_PARTITION=y
1132# CONFIG_SYSV68_PARTITION is not set 1139# CONFIG_SYSV68_PARTITION is not set
1133
1134#
1135# Native Language Support
1136#
1137CONFIG_NLS=m 1140CONFIG_NLS=m
1138CONFIG_NLS_DEFAULT="iso8859-1" 1141CONFIG_NLS_DEFAULT="iso8859-1"
1139# CONFIG_NLS_CODEPAGE_437 is not set 1142# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1174,10 +1177,6 @@ CONFIG_NLS_ISO8859_15=m
1174# CONFIG_NLS_KOI8_R is not set 1177# CONFIG_NLS_KOI8_R is not set
1175# CONFIG_NLS_KOI8_U is not set 1178# CONFIG_NLS_KOI8_U is not set
1176# CONFIG_NLS_UTF8 is not set 1179# CONFIG_NLS_UTF8 is not set
1177
1178#
1179# Distributed Lock Manager
1180#
1181# CONFIG_DLM is not set 1180# CONFIG_DLM is not set
1182# CONFIG_UCC_SLOW is not set 1181# CONFIG_UCC_SLOW is not set
1183 1182
@@ -1197,17 +1196,16 @@ CONFIG_PLIST=y
1197CONFIG_HAS_IOMEM=y 1196CONFIG_HAS_IOMEM=y
1198CONFIG_HAS_IOPORT=y 1197CONFIG_HAS_IOPORT=y
1199CONFIG_HAS_DMA=y 1198CONFIG_HAS_DMA=y
1200 1199CONFIG_INSTRUMENTATION=y
1201#
1202# Instrumentation Support
1203#
1204# CONFIG_PROFILING is not set 1200# CONFIG_PROFILING is not set
1205# CONFIG_KPROBES is not set 1201# CONFIG_KPROBES is not set
1202# CONFIG_MARKERS is not set
1206 1203
1207# 1204#
1208# Kernel hacking 1205# Kernel hacking
1209# 1206#
1210# CONFIG_PRINTK_TIME is not set 1207# CONFIG_PRINTK_TIME is not set
1208CONFIG_ENABLE_WARN_DEPRECATED=y
1211CONFIG_ENABLE_MUST_CHECK=y 1209CONFIG_ENABLE_MUST_CHECK=y
1212CONFIG_MAGIC_SYSRQ=y 1210CONFIG_MAGIC_SYSRQ=y
1213# CONFIG_UNUSED_SYMBOLS is not set 1211# CONFIG_UNUSED_SYMBOLS is not set
@@ -1231,9 +1229,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1231# CONFIG_DEBUG_INFO is not set 1229# CONFIG_DEBUG_INFO is not set
1232# CONFIG_DEBUG_VM is not set 1230# CONFIG_DEBUG_VM is not set
1233# CONFIG_DEBUG_LIST is not set 1231# CONFIG_DEBUG_LIST is not set
1232# CONFIG_DEBUG_SG is not set
1234# CONFIG_FORCED_INLINING is not set 1233# CONFIG_FORCED_INLINING is not set
1234# CONFIG_BOOT_PRINTK_DELAY is not set
1235# CONFIG_RCU_TORTURE_TEST is not set 1235# CONFIG_RCU_TORTURE_TEST is not set
1236# CONFIG_FAULT_INJECTION is not set 1236# CONFIG_FAULT_INJECTION is not set
1237# CONFIG_SAMPLES is not set
1237# CONFIG_DEBUG_STACKOVERFLOW is not set 1238# CONFIG_DEBUG_STACKOVERFLOW is not set
1238# CONFIG_DEBUG_STACK_USAGE is not set 1239# CONFIG_DEBUG_STACK_USAGE is not set
1239# CONFIG_DEBUG_PAGEALLOC is not set 1240# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1242,6 +1243,7 @@ CONFIG_XMON=y
1242CONFIG_XMON_DEFAULT=y 1243CONFIG_XMON_DEFAULT=y
1243CONFIG_XMON_DISASSEMBLY=y 1244CONFIG_XMON_DISASSEMBLY=y
1244CONFIG_IRQSTACKS=y 1245CONFIG_IRQSTACKS=y
1246# CONFIG_VIRQ_DEBUG is not set
1245# CONFIG_BOOTX_TEXT is not set 1247# CONFIG_BOOTX_TEXT is not set
1246CONFIG_PPC_EARLY_DEBUG=y 1248CONFIG_PPC_EARLY_DEBUG=y
1247# CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1249# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
@@ -1253,12 +1255,14 @@ CONFIG_PPC_EARLY_DEBUG=y
1253# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 1255# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
1254CONFIG_PPC_EARLY_DEBUG_BEAT=y 1256CONFIG_PPC_EARLY_DEBUG_BEAT=y
1255# CONFIG_PPC_EARLY_DEBUG_44x is not set 1257# CONFIG_PPC_EARLY_DEBUG_44x is not set
1258# CONFIG_PPC_EARLY_DEBUG_CPM is not set
1256 1259
1257# 1260#
1258# Security options 1261# Security options
1259# 1262#
1260# CONFIG_KEYS is not set 1263# CONFIG_KEYS is not set
1261# CONFIG_SECURITY is not set 1264# CONFIG_SECURITY is not set
1265# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1262CONFIG_CRYPTO=y 1266CONFIG_CRYPTO=y
1263CONFIG_CRYPTO_ALGAPI=y 1267CONFIG_CRYPTO_ALGAPI=y
1264CONFIG_CRYPTO_BLKCIPHER=m 1268CONFIG_CRYPTO_BLKCIPHER=m
@@ -1279,6 +1283,7 @@ CONFIG_CRYPTO_ECB=m
1279CONFIG_CRYPTO_CBC=m 1283CONFIG_CRYPTO_CBC=m
1280CONFIG_CRYPTO_PCBC=m 1284CONFIG_CRYPTO_PCBC=m
1281# CONFIG_CRYPTO_LRW is not set 1285# CONFIG_CRYPTO_LRW is not set
1286# CONFIG_CRYPTO_XTS is not set
1282# CONFIG_CRYPTO_CRYPTD is not set 1287# CONFIG_CRYPTO_CRYPTD is not set
1283CONFIG_CRYPTO_DES=m 1288CONFIG_CRYPTO_DES=m
1284# CONFIG_CRYPTO_FCRYPT is not set 1289# CONFIG_CRYPTO_FCRYPT is not set
@@ -1293,9 +1298,12 @@ CONFIG_CRYPTO_TEA=m
1293CONFIG_CRYPTO_ARC4=m 1298CONFIG_CRYPTO_ARC4=m
1294CONFIG_CRYPTO_KHAZAD=m 1299CONFIG_CRYPTO_KHAZAD=m
1295CONFIG_CRYPTO_ANUBIS=m 1300CONFIG_CRYPTO_ANUBIS=m
1301# CONFIG_CRYPTO_SEED is not set
1296CONFIG_CRYPTO_DEFLATE=m 1302CONFIG_CRYPTO_DEFLATE=m
1297CONFIG_CRYPTO_MICHAEL_MIC=m 1303CONFIG_CRYPTO_MICHAEL_MIC=m
1298CONFIG_CRYPTO_CRC32C=m 1304CONFIG_CRYPTO_CRC32C=m
1299# CONFIG_CRYPTO_CAMELLIA is not set 1305# CONFIG_CRYPTO_CAMELLIA is not set
1300CONFIG_CRYPTO_TEST=m 1306CONFIG_CRYPTO_TEST=m
1307# CONFIG_CRYPTO_AUTHENC is not set
1301# CONFIG_CRYPTO_HW is not set 1308# CONFIG_CRYPTO_HW is not set
1309# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 6f27e57331d5..5989b5d2277e 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:33:50 2007 4# Thu Dec 6 16:48:09 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_PPC_STD_MMU_32=y
22CONFIG_SMP=y 22CONFIG_SMP=y
23CONFIG_NR_CPUS=4 23CONFIG_NR_CPUS=4
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,11 +68,13 @@ CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 73CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 74CONFIG_IKCONFIG_PROC=y
69CONFIG_LOG_BUF_SHIFT=15 75CONFIG_LOG_BUF_SHIFT=15
70# CONFIG_CPUSETS is not set 76# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set
71CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
72# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
73CONFIG_BLK_DEV_INITRD=y 80CONFIG_BLK_DEV_INITRD=y
@@ -88,7 +95,6 @@ CONFIG_FUTEX=y
88CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 96CONFIG_EPOLL=y
90CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
91CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 98CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 99CONFIG_SHMEM=y
94CONFIG_VM_EVENT_COUNTERS=y 100CONFIG_VM_EVENT_COUNTERS=y
@@ -129,7 +135,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
129# Platform support 135# Platform support
130# 136#
131CONFIG_PPC_MULTIPLATFORM=y 137CONFIG_PPC_MULTIPLATFORM=y
132# CONFIG_EMBEDDED6xx is not set
133# CONFIG_PPC_82xx is not set 138# CONFIG_PPC_82xx is not set
134# CONFIG_PPC_83xx is not set 139# CONFIG_PPC_83xx is not set
135# CONFIG_PPC_86xx is not set 140# CONFIG_PPC_86xx is not set
@@ -165,6 +170,10 @@ CONFIG_PPC_MPC106=y
165# Kernel options 170# Kernel options
166# 171#
167CONFIG_HIGHMEM=y 172CONFIG_HIGHMEM=y
173CONFIG_TICK_ONESHOT=y
174CONFIG_NO_HZ=y
175CONFIG_HIGH_RES_TIMERS=y
176CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
168# CONFIG_HZ_100 is not set 177# CONFIG_HZ_100 is not set
169CONFIG_HZ_250=y 178CONFIG_HZ_250=y
170# CONFIG_HZ_300 is not set 179# CONFIG_HZ_300 is not set
@@ -188,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y
188CONFIG_FLATMEM=y 197CONFIG_FLATMEM=y
189CONFIG_FLAT_NODE_MEM_MAP=y 198CONFIG_FLAT_NODE_MEM_MAP=y
190# CONFIG_SPARSEMEM_STATIC is not set 199# CONFIG_SPARSEMEM_STATIC is not set
200# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
191CONFIG_SPLIT_PTLOCK_CPUS=4 201CONFIG_SPLIT_PTLOCK_CPUS=4
192# CONFIG_RESOURCES_64BIT is not set 202# CONFIG_RESOURCES_64BIT is not set
193CONFIG_ZONE_DMA_FLAG=1 203CONFIG_ZONE_DMA_FLAG=1
@@ -213,11 +223,8 @@ CONFIG_PCI_SYSCALL=y
213# CONFIG_PCIEPORTBUS is not set 223# CONFIG_PCIEPORTBUS is not set
214CONFIG_ARCH_SUPPORTS_MSI=y 224CONFIG_ARCH_SUPPORTS_MSI=y
215# CONFIG_PCI_MSI is not set 225# CONFIG_PCI_MSI is not set
226CONFIG_PCI_LEGACY=y
216# CONFIG_PCI_DEBUG is not set 227# CONFIG_PCI_DEBUG is not set
217
218#
219# PCCARD (PCMCIA/CardBus) support
220#
221# CONFIG_PCCARD is not set 228# CONFIG_PCCARD is not set
222# CONFIG_HOTPLUG_PCI is not set 229# CONFIG_HOTPLUG_PCI is not set
223 230
@@ -232,7 +239,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
232CONFIG_HIGHMEM_START=0xfe000000 239CONFIG_HIGHMEM_START=0xfe000000
233CONFIG_LOWMEM_SIZE=0x30000000 240CONFIG_LOWMEM_SIZE=0x30000000
234CONFIG_KERNEL_START=0xc0000000 241CONFIG_KERNEL_START=0xc0000000
235CONFIG_TASK_SIZE=0x80000000 242CONFIG_TASK_SIZE=0xc0000000
236CONFIG_BOOT_LOAD=0x00800000 243CONFIG_BOOT_LOAD=0x00800000
237 244
238# 245#
@@ -265,6 +272,7 @@ CONFIG_SYN_COOKIES=y
265# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 272# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
266# CONFIG_INET_XFRM_MODE_TUNNEL is not set 273# CONFIG_INET_XFRM_MODE_TUNNEL is not set
267# CONFIG_INET_XFRM_MODE_BEET is not set 274# CONFIG_INET_XFRM_MODE_BEET is not set
275# CONFIG_INET_LRO is not set
268CONFIG_INET_DIAG=y 276CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 277CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 278# CONFIG_TCP_CONG_ADVANCED is not set
@@ -327,6 +335,7 @@ CONFIG_NETFILTER_XTABLES=m
327# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 335# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
328# CONFIG_NETFILTER_XT_MATCH_STRING is not set 336# CONFIG_NETFILTER_XT_MATCH_STRING is not set
329# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 337# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
338# CONFIG_NETFILTER_XT_MATCH_TIME is not set
330# CONFIG_NETFILTER_XT_MATCH_U32 is not set 339# CONFIG_NETFILTER_XT_MATCH_U32 is not set
331# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 340# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
332 341
@@ -380,10 +389,6 @@ CONFIG_NF_NAT_SIP=m
380# CONFIG_LAPB is not set 389# CONFIG_LAPB is not set
381# CONFIG_ECONET is not set 390# CONFIG_ECONET is not set
382# CONFIG_WAN_ROUTER is not set 391# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
387# CONFIG_NET_SCHED is not set 392# CONFIG_NET_SCHED is not set
388 393
389# 394#
@@ -412,6 +417,7 @@ CONFIG_NF_NAT_SIP=m
412# 417#
413# Generic Driver Options 418# Generic Driver Options
414# 419#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
415# CONFIG_STANDALONE is not set 421# CONFIG_STANDALONE is not set
416CONFIG_PREVENT_FIRMWARE_BUILD=y 422CONFIG_PREVENT_FIRMWARE_BUILD=y
417# CONFIG_FW_LOADER is not set 423# CONFIG_FW_LOADER is not set
@@ -467,6 +473,11 @@ CONFIG_IDE_PROC_FS=y
467# IDE chipset support/bugfixes 473# IDE chipset support/bugfixes
468# 474#
469CONFIG_IDE_GENERIC=y 475CONFIG_IDE_GENERIC=y
476# CONFIG_BLK_DEV_PLATFORM is not set
477
478#
479# PCI IDE chipsets support
480#
470CONFIG_BLK_DEV_IDEPCI=y 481CONFIG_BLK_DEV_IDEPCI=y
471CONFIG_IDEPCI_SHARE_IRQ=y 482CONFIG_IDEPCI_SHARE_IRQ=y
472CONFIG_IDEPCI_PCIBUS_ORDER=y 483CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -474,8 +485,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
474CONFIG_BLK_DEV_GENERIC=y 485CONFIG_BLK_DEV_GENERIC=y
475# CONFIG_BLK_DEV_OPTI621 is not set 486# CONFIG_BLK_DEV_OPTI621 is not set
476CONFIG_BLK_DEV_IDEDMA_PCI=y 487CONFIG_BLK_DEV_IDEDMA_PCI=y
477# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
478# CONFIG_IDEDMA_ONLYDISK is not set
479# CONFIG_BLK_DEV_AEC62XX is not set 488# CONFIG_BLK_DEV_AEC62XX is not set
480# CONFIG_BLK_DEV_ALI15X3 is not set 489# CONFIG_BLK_DEV_ALI15X3 is not set
481# CONFIG_BLK_DEV_AMD74XX is not set 490# CONFIG_BLK_DEV_AMD74XX is not set
@@ -502,9 +511,22 @@ CONFIG_BLK_DEV_SL82C105=y
502CONFIG_BLK_DEV_VIA82CXXX=y 511CONFIG_BLK_DEV_VIA82CXXX=y
503# CONFIG_BLK_DEV_TC86C001 is not set 512# CONFIG_BLK_DEV_TC86C001 is not set
504# CONFIG_IDE_ARM is not set 513# CONFIG_IDE_ARM is not set
505# CONFIG_IDE_CHIPSETS is not set 514
515#
516# Other IDE chipsets support
517#
518
519#
520# Note: most of these also require special kernel boot parameters
521#
522# CONFIG_BLK_DEV_4DRIVES is not set
523# CONFIG_BLK_DEV_ALI14XX is not set
524# CONFIG_BLK_DEV_DTC2278 is not set
525# CONFIG_BLK_DEV_HT6560B is not set
526# CONFIG_BLK_DEV_QD65XX is not set
527# CONFIG_BLK_DEV_UMC8672 is not set
506CONFIG_BLK_DEV_IDEDMA=y 528CONFIG_BLK_DEV_IDEDMA=y
507# CONFIG_IDEDMA_IVB is not set 529CONFIG_IDE_ARCH_OBSOLETE_INIT=y
508# CONFIG_BLK_DEV_HD is not set 530# CONFIG_BLK_DEV_HD is not set
509 531
510# 532#
@@ -544,6 +566,7 @@ CONFIG_SCSI_SPI_ATTRS=y
544# CONFIG_SCSI_FC_ATTRS is not set 566# CONFIG_SCSI_FC_ATTRS is not set
545# CONFIG_SCSI_ISCSI_ATTRS is not set 567# CONFIG_SCSI_ISCSI_ATTRS is not set
546# CONFIG_SCSI_SAS_LIBSAS is not set 568# CONFIG_SCSI_SAS_LIBSAS is not set
569# CONFIG_SCSI_SRP_ATTRS is not set
547CONFIG_SCSI_LOWLEVEL=y 570CONFIG_SCSI_LOWLEVEL=y
548# CONFIG_ISCSI_TCP is not set 571# CONFIG_ISCSI_TCP is not set
549# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 572# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -558,6 +581,7 @@ CONFIG_SCSI_LOWLEVEL=y
558# CONFIG_SCSI_AIC79XX is not set 581# CONFIG_SCSI_AIC79XX is not set
559# CONFIG_SCSI_AIC94XX is not set 582# CONFIG_SCSI_AIC94XX is not set
560# CONFIG_SCSI_DPT_I2O is not set 583# CONFIG_SCSI_DPT_I2O is not set
584# CONFIG_SCSI_ADVANSYS is not set
561# CONFIG_SCSI_IN2000 is not set 585# CONFIG_SCSI_IN2000 is not set
562# CONFIG_SCSI_ARCMSR is not set 586# CONFIG_SCSI_ARCMSR is not set
563# CONFIG_MEGARAID_NEWGEN is not set 587# CONFIG_MEGARAID_NEWGEN is not set
@@ -599,14 +623,7 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
599# CONFIG_SCSI_SRP is not set 623# CONFIG_SCSI_SRP is not set
600# CONFIG_ATA is not set 624# CONFIG_ATA is not set
601# CONFIG_MD is not set 625# CONFIG_MD is not set
602
603#
604# Fusion MPT device support
605#
606# CONFIG_FUSION is not set 626# CONFIG_FUSION is not set
607# CONFIG_FUSION_SPI is not set
608# CONFIG_FUSION_FC is not set
609# CONFIG_FUSION_SAS is not set
610 627
611# 628#
612# IEEE 1394 (FireWire) support 629# IEEE 1394 (FireWire) support
@@ -622,6 +639,8 @@ CONFIG_NETDEVICES=y
622# CONFIG_MACVLAN is not set 639# CONFIG_MACVLAN is not set
623# CONFIG_EQUALIZER is not set 640# CONFIG_EQUALIZER is not set
624# CONFIG_TUN is not set 641# CONFIG_TUN is not set
642# CONFIG_VETH is not set
643# CONFIG_IP1000 is not set
625# CONFIG_ARCNET is not set 644# CONFIG_ARCNET is not set
626# CONFIG_PHYLIB is not set 645# CONFIG_PHYLIB is not set
627CONFIG_NET_ETHERNET=y 646CONFIG_NET_ETHERNET=y
@@ -644,6 +663,10 @@ CONFIG_DE4X5=y
644# CONFIG_DEPCA is not set 663# CONFIG_DEPCA is not set
645# CONFIG_HP100 is not set 664# CONFIG_HP100 is not set
646# CONFIG_NET_ISA is not set 665# CONFIG_NET_ISA is not set
666# CONFIG_IBM_NEW_EMAC_ZMII is not set
667# CONFIG_IBM_NEW_EMAC_RGMII is not set
668# CONFIG_IBM_NEW_EMAC_TAH is not set
669# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
647CONFIG_NET_PCI=y 670CONFIG_NET_PCI=y
648CONFIG_PCNET32=y 671CONFIG_PCNET32=y
649# CONFIG_PCNET32_NAPI is not set 672# CONFIG_PCNET32_NAPI is not set
@@ -654,7 +677,6 @@ CONFIG_PCNET32=y
654# CONFIG_B44 is not set 677# CONFIG_B44 is not set
655# CONFIG_FORCEDETH is not set 678# CONFIG_FORCEDETH is not set
656# CONFIG_CS89x0 is not set 679# CONFIG_CS89x0 is not set
657# CONFIG_DGRS is not set
658# CONFIG_EEPRO100 is not set 680# CONFIG_EEPRO100 is not set
659# CONFIG_E100 is not set 681# CONFIG_E100 is not set
660# CONFIG_FEALNX is not set 682# CONFIG_FEALNX is not set
@@ -678,6 +700,7 @@ CONFIG_NETDEV_1000=y
678# CONFIG_ACENIC is not set 700# CONFIG_ACENIC is not set
679# CONFIG_DL2K is not set 701# CONFIG_DL2K is not set
680# CONFIG_E1000 is not set 702# CONFIG_E1000 is not set
703# CONFIG_E1000E is not set
681# CONFIG_NS83820 is not set 704# CONFIG_NS83820 is not set
682# CONFIG_HAMACHI is not set 705# CONFIG_HAMACHI is not set
683# CONFIG_YELLOWFIN is not set 706# CONFIG_YELLOWFIN is not set
@@ -685,6 +708,7 @@ CONFIG_NETDEV_1000=y
685# CONFIG_SIS190 is not set 708# CONFIG_SIS190 is not set
686# CONFIG_SKGE is not set 709# CONFIG_SKGE is not set
687# CONFIG_SKY2 is not set 710# CONFIG_SKY2 is not set
711# CONFIG_SK98LIN is not set
688# CONFIG_VIA_VELOCITY is not set 712# CONFIG_VIA_VELOCITY is not set
689# CONFIG_TIGON3 is not set 713# CONFIG_TIGON3 is not set
690# CONFIG_BNX2 is not set 714# CONFIG_BNX2 is not set
@@ -694,11 +718,14 @@ CONFIG_MV643XX_ETH=y
694CONFIG_NETDEV_10000=y 718CONFIG_NETDEV_10000=y
695# CONFIG_CHELSIO_T1 is not set 719# CONFIG_CHELSIO_T1 is not set
696# CONFIG_CHELSIO_T3 is not set 720# CONFIG_CHELSIO_T3 is not set
721# CONFIG_IXGBE is not set
697# CONFIG_IXGB is not set 722# CONFIG_IXGB is not set
698# CONFIG_S2IO is not set 723# CONFIG_S2IO is not set
699# CONFIG_MYRI10GE is not set 724# CONFIG_MYRI10GE is not set
700# CONFIG_NETXEN_NIC is not set 725# CONFIG_NETXEN_NIC is not set
726# CONFIG_NIU is not set
701# CONFIG_MLX4_CORE is not set 727# CONFIG_MLX4_CORE is not set
728# CONFIG_TEHUTI is not set
702# CONFIG_TR is not set 729# CONFIG_TR is not set
703 730
704# 731#
@@ -714,7 +741,6 @@ CONFIG_NETDEV_10000=y
714# CONFIG_USB_KAWETH is not set 741# CONFIG_USB_KAWETH is not set
715# CONFIG_USB_PEGASUS is not set 742# CONFIG_USB_PEGASUS is not set
716# CONFIG_USB_RTL8150 is not set 743# CONFIG_USB_RTL8150 is not set
717# CONFIG_USB_USBNET_MII is not set
718# CONFIG_USB_USBNET is not set 744# CONFIG_USB_USBNET is not set
719# CONFIG_WAN is not set 745# CONFIG_WAN is not set
720# CONFIG_FDDI is not set 746# CONFIG_FDDI is not set
@@ -754,7 +780,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
754CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 780CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
755CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 781CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
756# CONFIG_INPUT_JOYDEV is not set 782# CONFIG_INPUT_JOYDEV is not set
757# CONFIG_INPUT_TSDEV is not set
758CONFIG_INPUT_EVDEV=y 783CONFIG_INPUT_EVDEV=y
759# CONFIG_INPUT_EVBUG is not set 784# CONFIG_INPUT_EVBUG is not set
760 785
@@ -838,7 +863,6 @@ CONFIG_LEGACY_PTY_COUNT=256
838CONFIG_BRIQ_PANEL=m 863CONFIG_BRIQ_PANEL=m
839# CONFIG_HVC_RTAS is not set 864# CONFIG_HVC_RTAS is not set
840# CONFIG_IPMI_HANDLER is not set 865# CONFIG_IPMI_HANDLER is not set
841# CONFIG_WATCHDOG is not set
842# CONFIG_HW_RANDOM is not set 866# CONFIG_HW_RANDOM is not set
843CONFIG_NVRAM=y 867CONFIG_NVRAM=y
844CONFIG_GEN_RTC=y 868CONFIG_GEN_RTC=y
@@ -846,8 +870,6 @@ CONFIG_GEN_RTC=y
846# CONFIG_DTLK is not set 870# CONFIG_DTLK is not set
847# CONFIG_R3964 is not set 871# CONFIG_R3964 is not set
848# CONFIG_APPLICOM is not set 872# CONFIG_APPLICOM is not set
849# CONFIG_AGP is not set
850# CONFIG_DRM is not set
851# CONFIG_RAW_DRIVER is not set 873# CONFIG_RAW_DRIVER is not set
852# CONFIG_TCG_TPM is not set 874# CONFIG_TCG_TPM is not set
853CONFIG_DEVPORT=y 875CONFIG_DEVPORT=y
@@ -918,6 +940,13 @@ CONFIG_I2C_ALGOBIT=y
918# CONFIG_W1 is not set 940# CONFIG_W1 is not set
919# CONFIG_POWER_SUPPLY is not set 941# CONFIG_POWER_SUPPLY is not set
920# CONFIG_HWMON is not set 942# CONFIG_HWMON is not set
943# CONFIG_WATCHDOG is not set
944
945#
946# Sonics Silicon Backplane
947#
948CONFIG_SSB_POSSIBLE=y
949# CONFIG_SSB is not set
921 950
922# 951#
923# Multifunction device drivers 952# Multifunction device drivers
@@ -934,18 +963,8 @@ CONFIG_I2C_ALGOBIT=y
934# 963#
935# Graphics support 964# Graphics support
936# 965#
937CONFIG_BACKLIGHT_LCD_SUPPORT=y 966# CONFIG_AGP is not set
938CONFIG_LCD_CLASS_DEVICE=m 967# CONFIG_DRM is not set
939CONFIG_BACKLIGHT_CLASS_DEVICE=y
940
941#
942# Display device support
943#
944CONFIG_DISPLAY_SUPPORT=m
945
946#
947# Display hardware drivers
948#
949# CONFIG_VGASTATE is not set 968# CONFIG_VGASTATE is not set
950# CONFIG_VIDEO_OUTPUT_CONTROL is not set 969# CONFIG_VIDEO_OUTPUT_CONTROL is not set
951CONFIG_FB=y 970CONFIG_FB=y
@@ -954,6 +973,7 @@ CONFIG_FB_DDC=y
954CONFIG_FB_CFB_FILLRECT=y 973CONFIG_FB_CFB_FILLRECT=y
955CONFIG_FB_CFB_COPYAREA=y 974CONFIG_FB_CFB_COPYAREA=y
956CONFIG_FB_CFB_IMAGEBLIT=y 975CONFIG_FB_CFB_IMAGEBLIT=y
976# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
957# CONFIG_FB_SYS_FILLRECT is not set 977# CONFIG_FB_SYS_FILLRECT is not set
958# CONFIG_FB_SYS_COPYAREA is not set 978# CONFIG_FB_SYS_COPYAREA is not set
959# CONFIG_FB_SYS_IMAGEBLIT is not set 979# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -1009,6 +1029,19 @@ CONFIG_FB_3DFX=y
1009# CONFIG_FB_PM3 is not set 1029# CONFIG_FB_PM3 is not set
1010# CONFIG_FB_IBM_GXT4500 is not set 1030# CONFIG_FB_IBM_GXT4500 is not set
1011# CONFIG_FB_VIRTUAL is not set 1031# CONFIG_FB_VIRTUAL is not set
1032CONFIG_BACKLIGHT_LCD_SUPPORT=y
1033CONFIG_LCD_CLASS_DEVICE=m
1034CONFIG_BACKLIGHT_CLASS_DEVICE=y
1035# CONFIG_BACKLIGHT_CORGI is not set
1036
1037#
1038# Display device support
1039#
1040CONFIG_DISPLAY_SUPPORT=m
1041
1042#
1043# Display hardware drivers
1044#
1012 1045
1013# 1046#
1014# Console display driver support 1047# Console display driver support
@@ -1035,6 +1068,7 @@ CONFIG_LOGO_LINUX_CLUT224=y
1035CONFIG_HID_SUPPORT=y 1068CONFIG_HID_SUPPORT=y
1036CONFIG_HID=y 1069CONFIG_HID=y
1037# CONFIG_HID_DEBUG is not set 1070# CONFIG_HID_DEBUG is not set
1071# CONFIG_HIDRAW is not set
1038 1072
1039# 1073#
1040# USB Input Devices 1074# USB Input Devices
@@ -1158,19 +1192,6 @@ CONFIG_USB_MON=y
1158# CONFIG_RTC_CLASS is not set 1192# CONFIG_RTC_CLASS is not set
1159 1193
1160# 1194#
1161# DMA Engine support
1162#
1163# CONFIG_DMA_ENGINE is not set
1164
1165#
1166# DMA Clients
1167#
1168
1169#
1170# DMA Devices
1171#
1172
1173#
1174# Userspace I/O 1195# Userspace I/O
1175# 1196#
1176# CONFIG_UIO is not set 1197# CONFIG_UIO is not set
@@ -1187,7 +1208,6 @@ CONFIG_EXT3_FS_XATTR=y
1187# CONFIG_EXT3_FS_SECURITY is not set 1208# CONFIG_EXT3_FS_SECURITY is not set
1188# CONFIG_EXT4DEV_FS is not set 1209# CONFIG_EXT4DEV_FS is not set
1189CONFIG_JBD=y 1210CONFIG_JBD=y
1190# CONFIG_JBD_DEBUG is not set
1191CONFIG_FS_MBCACHE=y 1211CONFIG_FS_MBCACHE=y
1192# CONFIG_REISERFS_FS is not set 1212# CONFIG_REISERFS_FS is not set
1193# CONFIG_JFS_FS is not set 1213# CONFIG_JFS_FS is not set
@@ -1233,7 +1253,6 @@ CONFIG_SYSFS=y
1233CONFIG_TMPFS=y 1253CONFIG_TMPFS=y
1234# CONFIG_TMPFS_POSIX_ACL is not set 1254# CONFIG_TMPFS_POSIX_ACL is not set
1235# CONFIG_HUGETLB_PAGE is not set 1255# CONFIG_HUGETLB_PAGE is not set
1236CONFIG_RAMFS=y
1237# CONFIG_CONFIGFS_FS is not set 1256# CONFIG_CONFIGFS_FS is not set
1238 1257
1239# 1258#
@@ -1252,10 +1271,7 @@ CONFIG_RAMFS=y
1252# CONFIG_QNX4FS_FS is not set 1271# CONFIG_QNX4FS_FS is not set
1253# CONFIG_SYSV_FS is not set 1272# CONFIG_SYSV_FS is not set
1254# CONFIG_UFS_FS is not set 1273# CONFIG_UFS_FS is not set
1255 1274CONFIG_NETWORK_FILESYSTEMS=y
1256#
1257# Network File Systems
1258#
1259# CONFIG_NFS_FS is not set 1275# CONFIG_NFS_FS is not set
1260# CONFIG_NFSD is not set 1276# CONFIG_NFSD is not set
1261# CONFIG_SMB_FS is not set 1277# CONFIG_SMB_FS is not set
@@ -1285,10 +1301,6 @@ CONFIG_MSDOS_PARTITION=y
1285# CONFIG_KARMA_PARTITION is not set 1301# CONFIG_KARMA_PARTITION is not set
1286# CONFIG_EFI_PARTITION is not set 1302# CONFIG_EFI_PARTITION is not set
1287# CONFIG_SYSV68_PARTITION is not set 1303# CONFIG_SYSV68_PARTITION is not set
1288
1289#
1290# Native Language Support
1291#
1292CONFIG_NLS=y 1304CONFIG_NLS=y
1293CONFIG_NLS_DEFAULT="iso8859-1" 1305CONFIG_NLS_DEFAULT="iso8859-1"
1294# CONFIG_NLS_CODEPAGE_437 is not set 1306# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1329,10 +1341,6 @@ CONFIG_NLS_ISO8859_1=m
1329# CONFIG_NLS_KOI8_R is not set 1341# CONFIG_NLS_KOI8_R is not set
1330# CONFIG_NLS_KOI8_U is not set 1342# CONFIG_NLS_KOI8_U is not set
1331# CONFIG_NLS_UTF8 is not set 1343# CONFIG_NLS_UTF8 is not set
1332
1333#
1334# Distributed Lock Manager
1335#
1336# CONFIG_DLM is not set 1344# CONFIG_DLM is not set
1337# CONFIG_UCC_SLOW is not set 1345# CONFIG_UCC_SLOW is not set
1338 1346
@@ -1352,17 +1360,16 @@ CONFIG_PLIST=y
1352CONFIG_HAS_IOMEM=y 1360CONFIG_HAS_IOMEM=y
1353CONFIG_HAS_IOPORT=y 1361CONFIG_HAS_IOPORT=y
1354CONFIG_HAS_DMA=y 1362CONFIG_HAS_DMA=y
1355 1363CONFIG_INSTRUMENTATION=y
1356#
1357# Instrumentation Support
1358#
1359# CONFIG_PROFILING is not set 1364# CONFIG_PROFILING is not set
1360# CONFIG_KPROBES is not set 1365# CONFIG_KPROBES is not set
1366# CONFIG_MARKERS is not set
1361 1367
1362# 1368#
1363# Kernel hacking 1369# Kernel hacking
1364# 1370#
1365# CONFIG_PRINTK_TIME is not set 1371# CONFIG_PRINTK_TIME is not set
1372CONFIG_ENABLE_WARN_DEPRECATED=y
1366CONFIG_ENABLE_MUST_CHECK=y 1373CONFIG_ENABLE_MUST_CHECK=y
1367CONFIG_MAGIC_SYSRQ=y 1374CONFIG_MAGIC_SYSRQ=y
1368# CONFIG_UNUSED_SYMBOLS is not set 1375# CONFIG_UNUSED_SYMBOLS is not set
@@ -1387,9 +1394,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1387# CONFIG_DEBUG_INFO is not set 1394# CONFIG_DEBUG_INFO is not set
1388# CONFIG_DEBUG_VM is not set 1395# CONFIG_DEBUG_VM is not set
1389# CONFIG_DEBUG_LIST is not set 1396# CONFIG_DEBUG_LIST is not set
1397# CONFIG_DEBUG_SG is not set
1390CONFIG_FORCED_INLINING=y 1398CONFIG_FORCED_INLINING=y
1399# CONFIG_BOOT_PRINTK_DELAY is not set
1391# CONFIG_RCU_TORTURE_TEST is not set 1400# CONFIG_RCU_TORTURE_TEST is not set
1392# CONFIG_FAULT_INJECTION is not set 1401# CONFIG_FAULT_INJECTION is not set
1402# CONFIG_SAMPLES is not set
1393# CONFIG_DEBUG_STACKOVERFLOW is not set 1403# CONFIG_DEBUG_STACKOVERFLOW is not set
1394# CONFIG_DEBUG_STACK_USAGE is not set 1404# CONFIG_DEBUG_STACK_USAGE is not set
1395# CONFIG_DEBUG_PAGEALLOC is not set 1405# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1406,6 +1416,7 @@ CONFIG_XMON_DISASSEMBLY=y
1406# 1416#
1407# CONFIG_KEYS is not set 1417# CONFIG_KEYS is not set
1408# CONFIG_SECURITY is not set 1418# CONFIG_SECURITY is not set
1419# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1409CONFIG_CRYPTO=y 1420CONFIG_CRYPTO=y
1410CONFIG_CRYPTO_ALGAPI=m 1421CONFIG_CRYPTO_ALGAPI=m
1411CONFIG_CRYPTO_BLKCIPHER=m 1422CONFIG_CRYPTO_BLKCIPHER=m
@@ -1425,6 +1436,7 @@ CONFIG_CRYPTO_ECB=m
1425CONFIG_CRYPTO_CBC=m 1436CONFIG_CRYPTO_CBC=m
1426CONFIG_CRYPTO_PCBC=m 1437CONFIG_CRYPTO_PCBC=m
1427# CONFIG_CRYPTO_LRW is not set 1438# CONFIG_CRYPTO_LRW is not set
1439# CONFIG_CRYPTO_XTS is not set
1428# CONFIG_CRYPTO_CRYPTD is not set 1440# CONFIG_CRYPTO_CRYPTD is not set
1429# CONFIG_CRYPTO_DES is not set 1441# CONFIG_CRYPTO_DES is not set
1430# CONFIG_CRYPTO_FCRYPT is not set 1442# CONFIG_CRYPTO_FCRYPT is not set
@@ -1438,9 +1450,12 @@ CONFIG_CRYPTO_PCBC=m
1438CONFIG_CRYPTO_ARC4=m 1450CONFIG_CRYPTO_ARC4=m
1439# CONFIG_CRYPTO_KHAZAD is not set 1451# CONFIG_CRYPTO_KHAZAD is not set
1440# CONFIG_CRYPTO_ANUBIS is not set 1452# CONFIG_CRYPTO_ANUBIS is not set
1453# CONFIG_CRYPTO_SEED is not set
1441# CONFIG_CRYPTO_DEFLATE is not set 1454# CONFIG_CRYPTO_DEFLATE is not set
1442# CONFIG_CRYPTO_MICHAEL_MIC is not set 1455# CONFIG_CRYPTO_MICHAEL_MIC is not set
1443# CONFIG_CRYPTO_CRC32C is not set 1456# CONFIG_CRYPTO_CRC32C is not set
1444# CONFIG_CRYPTO_CAMELLIA is not set 1457# CONFIG_CRYPTO_CAMELLIA is not set
1445# CONFIG_CRYPTO_TEST is not set 1458# CONFIG_CRYPTO_TEST is not set
1459# CONFIG_CRYPTO_AUTHENC is not set
1446# CONFIG_CRYPTO_HW is not set 1460# CONFIG_CRYPTO_HW is not set
1461# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ebony_defconfig b/arch/powerpc/configs/ebony_defconfig
index d3ef642811ef..b84298ce42be 100644
--- a/arch/powerpc/configs/ebony_defconfig
+++ b/arch/powerpc/configs/ebony_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23 3# Linux kernel version: 2.6.24-rc4
4# Thu Oct 18 08:01:57 2007 4# Thu Dec 6 16:48:11 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -43,7 +43,7 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
43CONFIG_ARCH_MAY_HAVE_PC_FDC=y 43CONFIG_ARCH_MAY_HAVE_PC_FDC=y
44CONFIG_PPC_OF=y 44CONFIG_PPC_OF=y
45CONFIG_OF=y 45CONFIG_OF=y
46# CONFIG_PPC_UDBG_16550 is not set 46CONFIG_PPC_UDBG_16550=y
47# CONFIG_GENERIC_TBSYNC is not set 47# CONFIG_GENERIC_TBSYNC is not set
48CONFIG_AUDIT_ARCH=y 48CONFIG_AUDIT_ARCH=y
49CONFIG_GENERIC_BUG=y 49CONFIG_GENERIC_BUG=y
@@ -68,11 +68,14 @@ CONFIG_POSIX_MQUEUE=y
68# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
74CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
75CONFIG_FAIR_USER_SCHED=y 77CONFIG_FAIR_USER_SCHED=y
78# CONFIG_FAIR_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
77# CONFIG_RELAY is not set 80# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y 81CONFIG_BLK_DEV_INITRD=y
@@ -206,6 +209,7 @@ CONFIG_PCI_SYSCALL=y
206# CONFIG_PCIEPORTBUS is not set 209# CONFIG_PCIEPORTBUS is not set
207CONFIG_ARCH_SUPPORTS_MSI=y 210CONFIG_ARCH_SUPPORTS_MSI=y
208# CONFIG_PCI_MSI is not set 211# CONFIG_PCI_MSI is not set
212CONFIG_PCI_LEGACY=y
209# CONFIG_PCI_DEBUG is not set 213# CONFIG_PCI_DEBUG is not set
210# CONFIG_PCCARD is not set 214# CONFIG_PCCARD is not set
211# CONFIG_HOTPLUG_PCI is not set 215# CONFIG_HOTPLUG_PCI is not set
@@ -284,10 +288,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
284# CONFIG_LAPB is not set 288# CONFIG_LAPB is not set
285# CONFIG_ECONET is not set 289# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set 290# CONFIG_WAN_ROUTER is not set
287
288#
289# QoS and/or fair queueing
290#
291# CONFIG_NET_SCHED is not set 291# CONFIG_NET_SCHED is not set
292 292
293# 293#
@@ -568,7 +568,6 @@ CONFIG_UNIX98_PTYS=y
568CONFIG_LEGACY_PTYS=y 568CONFIG_LEGACY_PTYS=y
569CONFIG_LEGACY_PTY_COUNT=256 569CONFIG_LEGACY_PTY_COUNT=256
570# CONFIG_IPMI_HANDLER is not set 570# CONFIG_IPMI_HANDLER is not set
571# CONFIG_WATCHDOG is not set
572# CONFIG_HW_RANDOM is not set 571# CONFIG_HW_RANDOM is not set
573# CONFIG_NVRAM is not set 572# CONFIG_NVRAM is not set
574# CONFIG_GEN_RTC is not set 573# CONFIG_GEN_RTC is not set
@@ -587,6 +586,7 @@ CONFIG_DEVPORT=y
587# CONFIG_W1 is not set 586# CONFIG_W1 is not set
588# CONFIG_POWER_SUPPLY is not set 587# CONFIG_POWER_SUPPLY is not set
589# CONFIG_HWMON is not set 588# CONFIG_HWMON is not set
589# CONFIG_WATCHDOG is not set
590 590
591# 591#
592# Sonics Silicon Backplane 592# Sonics Silicon Backplane
@@ -772,16 +772,13 @@ CONFIG_PLIST=y
772CONFIG_HAS_IOMEM=y 772CONFIG_HAS_IOMEM=y
773CONFIG_HAS_IOPORT=y 773CONFIG_HAS_IOPORT=y
774CONFIG_HAS_DMA=y 774CONFIG_HAS_DMA=y
775 775# CONFIG_INSTRUMENTATION is not set
776#
777# Instrumentation Support
778#
779# CONFIG_PROFILING is not set
780 776
781# 777#
782# Kernel hacking 778# Kernel hacking
783# 779#
784# CONFIG_PRINTK_TIME is not set 780# CONFIG_PRINTK_TIME is not set
781CONFIG_ENABLE_WARN_DEPRECATED=y
785CONFIG_ENABLE_MUST_CHECK=y 782CONFIG_ENABLE_MUST_CHECK=y
786CONFIG_MAGIC_SYSRQ=y 783CONFIG_MAGIC_SYSRQ=y
787# CONFIG_UNUSED_SYMBOLS is not set 784# CONFIG_UNUSED_SYMBOLS is not set
@@ -805,10 +802,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
805# CONFIG_DEBUG_INFO is not set 802# CONFIG_DEBUG_INFO is not set
806# CONFIG_DEBUG_VM is not set 803# CONFIG_DEBUG_VM is not set
807# CONFIG_DEBUG_LIST is not set 804# CONFIG_DEBUG_LIST is not set
805# CONFIG_DEBUG_SG is not set
808CONFIG_FORCED_INLINING=y 806CONFIG_FORCED_INLINING=y
809# CONFIG_BOOT_PRINTK_DELAY is not set 807# CONFIG_BOOT_PRINTK_DELAY is not set
810# CONFIG_RCU_TORTURE_TEST is not set 808# CONFIG_RCU_TORTURE_TEST is not set
811# CONFIG_FAULT_INJECTION is not set 809# CONFIG_FAULT_INJECTION is not set
810# CONFIG_SAMPLES is not set
812# CONFIG_DEBUG_STACKOVERFLOW is not set 811# CONFIG_DEBUG_STACKOVERFLOW is not set
813# CONFIG_DEBUG_STACK_USAGE is not set 812# CONFIG_DEBUG_STACK_USAGE is not set
814# CONFIG_DEBUG_PAGEALLOC is not set 813# CONFIG_DEBUG_PAGEALLOC is not set
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index d8ee3c0dcadf..a1f98200d9e3 100644
--- a/arch/powerpc/configs/ep88xc_defconfig
+++ b/arch/powerpc/configs/ep88xc_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6 3# Linux kernel version: 2.6.24-rc4
4# Fri Sep 14 14:59:56 2007 4# Thu Dec 6 16:48:13 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -18,8 +18,13 @@ CONFIG_8xx=y
18# CONFIG_PPC_MM_SLICES is not set 18# CONFIG_PPC_MM_SLICES is not set
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32
21CONFIG_PPC_MERGE=y 22CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 29CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 30CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -59,9 +64,12 @@ CONFIG_SYSVIPC_SYSCTL=y
59# CONFIG_BSD_PROCESS_ACCT is not set 64# CONFIG_BSD_PROCESS_ACCT is not set
60# CONFIG_TASKSTATS is not set 65# CONFIG_TASKSTATS is not set
61# CONFIG_USER_NS is not set 66# CONFIG_USER_NS is not set
67# CONFIG_PID_NS is not set
62# CONFIG_AUDIT is not set 68# CONFIG_AUDIT is not set
63# CONFIG_IKCONFIG is not set 69# CONFIG_IKCONFIG is not set
64CONFIG_LOG_BUF_SHIFT=14 70CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set
72# CONFIG_FAIR_GROUP_SCHED is not set
65CONFIG_SYSFS_DEPRECATED=y 73CONFIG_SYSFS_DEPRECATED=y
66# CONFIG_RELAY is not set 74# CONFIG_RELAY is not set
67# CONFIG_BLK_DEV_INITRD is not set 75# CONFIG_BLK_DEV_INITRD is not set
@@ -81,7 +89,6 @@ CONFIG_BUG=y
81CONFIG_ANON_INODES=y 89CONFIG_ANON_INODES=y
82CONFIG_EPOLL=y 90CONFIG_EPOLL=y
83CONFIG_SIGNALFD=y 91CONFIG_SIGNALFD=y
84CONFIG_TIMERFD=y
85CONFIG_EVENTFD=y 92CONFIG_EVENTFD=y
86CONFIG_SHMEM=y 93CONFIG_SHMEM=y
87# CONFIG_VM_EVENT_COUNTERS is not set 94# CONFIG_VM_EVENT_COUNTERS is not set
@@ -158,6 +165,10 @@ CONFIG_CPM=y
158# Kernel options 165# Kernel options
159# 166#
160# CONFIG_HIGHMEM is not set 167# CONFIG_HIGHMEM is not set
168CONFIG_TICK_ONESHOT=y
169CONFIG_NO_HZ=y
170CONFIG_HIGH_RES_TIMERS=y
171CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
161CONFIG_HZ_100=y 172CONFIG_HZ_100=y
162# CONFIG_HZ_250 is not set 173# CONFIG_HZ_250 is not set
163# CONFIG_HZ_300 is not set 174# CONFIG_HZ_300 is not set
@@ -169,6 +180,7 @@ CONFIG_PREEMPT_NONE=y
169CONFIG_BINFMT_ELF=y 180CONFIG_BINFMT_ELF=y
170# CONFIG_BINFMT_MISC is not set 181# CONFIG_BINFMT_MISC is not set
171# CONFIG_MATH_EMULATION is not set 182# CONFIG_MATH_EMULATION is not set
183CONFIG_8XX_MINIMAL_FPEMU=y
172CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 184CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
173CONFIG_ARCH_FLATMEM_ENABLE=y 185CONFIG_ARCH_FLATMEM_ENABLE=y
174CONFIG_ARCH_POPULATES_NODE_MAP=y 186CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -179,6 +191,7 @@ CONFIG_FLATMEM_MANUAL=y
179CONFIG_FLATMEM=y 191CONFIG_FLATMEM=y
180CONFIG_FLAT_NODE_MEM_MAP=y 192CONFIG_FLAT_NODE_MEM_MAP=y
181# CONFIG_SPARSEMEM_STATIC is not set 193# CONFIG_SPARSEMEM_STATIC is not set
194# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
182CONFIG_SPLIT_PTLOCK_CPUS=4 195CONFIG_SPLIT_PTLOCK_CPUS=4
183# CONFIG_RESOURCES_64BIT is not set 196# CONFIG_RESOURCES_64BIT is not set
184CONFIG_ZONE_DMA_FLAG=1 197CONFIG_ZONE_DMA_FLAG=1
@@ -204,10 +217,6 @@ CONFIG_FSL_SOC=y
204# CONFIG_PCI_SYSCALL is not set 217# CONFIG_PCI_SYSCALL is not set
205# CONFIG_PCI_QSPAN is not set 218# CONFIG_PCI_QSPAN is not set
206# CONFIG_ARCH_SUPPORTS_MSI is not set 219# CONFIG_ARCH_SUPPORTS_MSI is not set
207
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 220# CONFIG_PCCARD is not set
212 221
213# 222#
@@ -259,6 +268,7 @@ CONFIG_SYN_COOKIES=y
259# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 268# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
260# CONFIG_INET_XFRM_MODE_TUNNEL is not set 269# CONFIG_INET_XFRM_MODE_TUNNEL is not set
261# CONFIG_INET_XFRM_MODE_BEET is not set 270# CONFIG_INET_XFRM_MODE_BEET is not set
271# CONFIG_INET_LRO is not set
262CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -284,10 +294,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
284# CONFIG_LAPB is not set 294# CONFIG_LAPB is not set
285# CONFIG_ECONET is not set 295# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set 296# CONFIG_WAN_ROUTER is not set
287
288#
289# QoS and/or fair queueing
290#
291# CONFIG_NET_SCHED is not set 297# CONFIG_NET_SCHED is not set
292 298
293# 299#
@@ -316,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# 322#
317# Generic Driver Options 323# Generic Driver Options
318# 324#
325CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
319CONFIG_STANDALONE=y 326CONFIG_STANDALONE=y
320CONFIG_PREVENT_FIRMWARE_BUILD=y 327CONFIG_PREVENT_FIRMWARE_BUILD=y
321# CONFIG_FW_LOADER is not set 328# CONFIG_FW_LOADER is not set
@@ -339,6 +346,7 @@ CONFIG_MTD_BLOCK=y
339# CONFIG_INFTL is not set 346# CONFIG_INFTL is not set
340# CONFIG_RFD_FTL is not set 347# CONFIG_RFD_FTL is not set
341# CONFIG_SSFDC is not set 348# CONFIG_SSFDC is not set
349# CONFIG_MTD_OOPS is not set
342 350
343# 351#
344# RAM/ROM/Flash chip drivers 352# RAM/ROM/Flash chip drivers
@@ -418,6 +426,7 @@ CONFIG_NETDEVICES=y
418# CONFIG_MACVLAN is not set 426# CONFIG_MACVLAN is not set
419# CONFIG_EQUALIZER is not set 427# CONFIG_EQUALIZER is not set
420# CONFIG_TUN is not set 428# CONFIG_TUN is not set
429# CONFIG_VETH is not set
421CONFIG_PHYLIB=y 430CONFIG_PHYLIB=y
422 431
423# 432#
@@ -436,9 +445,15 @@ CONFIG_LXT_PHY=y
436# CONFIG_MDIO_BITBANG is not set 445# CONFIG_MDIO_BITBANG is not set
437CONFIG_NET_ETHERNET=y 446CONFIG_NET_ETHERNET=y
438CONFIG_MII=y 447CONFIG_MII=y
448# CONFIG_IBM_NEW_EMAC_ZMII is not set
449# CONFIG_IBM_NEW_EMAC_RGMII is not set
450# CONFIG_IBM_NEW_EMAC_TAH is not set
451# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
452# CONFIG_B44 is not set
439CONFIG_FS_ENET=y 453CONFIG_FS_ENET=y
440# CONFIG_FS_ENET_HAS_SCC is not set 454# CONFIG_FS_ENET_HAS_SCC is not set
441CONFIG_FS_ENET_HAS_FEC=y 455CONFIG_FS_ENET_HAS_FEC=y
456CONFIG_FS_ENET_MDIO_FEC=y
442# CONFIG_NETDEV_1000 is not set 457# CONFIG_NETDEV_1000 is not set
443# CONFIG_NETDEV_10000 is not set 458# CONFIG_NETDEV_10000 is not set
444 459
@@ -496,7 +511,6 @@ CONFIG_SERIAL_CPM_SMC2=y
496CONFIG_UNIX98_PTYS=y 511CONFIG_UNIX98_PTYS=y
497# CONFIG_LEGACY_PTYS is not set 512# CONFIG_LEGACY_PTYS is not set
498# CONFIG_IPMI_HANDLER is not set 513# CONFIG_IPMI_HANDLER is not set
499# CONFIG_WATCHDOG is not set
500CONFIG_HW_RANDOM=y 514CONFIG_HW_RANDOM=y
501# CONFIG_NVRAM is not set 515# CONFIG_NVRAM is not set
502CONFIG_GEN_RTC=y 516CONFIG_GEN_RTC=y
@@ -514,6 +528,13 @@ CONFIG_GEN_RTC=y
514# CONFIG_W1 is not set 528# CONFIG_W1 is not set
515# CONFIG_POWER_SUPPLY is not set 529# CONFIG_POWER_SUPPLY is not set
516# CONFIG_HWMON is not set 530# CONFIG_HWMON is not set
531# CONFIG_WATCHDOG is not set
532
533#
534# Sonics Silicon Backplane
535#
536CONFIG_SSB_POSSIBLE=y
537# CONFIG_SSB is not set
517 538
518# 539#
519# Multifunction device drivers 540# Multifunction device drivers
@@ -530,16 +551,15 @@ CONFIG_DAB=y
530# 551#
531# Graphics support 552# Graphics support
532# 553#
554# CONFIG_VGASTATE is not set
555# CONFIG_VIDEO_OUTPUT_CONTROL is not set
556# CONFIG_FB is not set
533# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 557# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
534 558
535# 559#
536# Display device support 560# Display device support
537# 561#
538# CONFIG_DISPLAY_SUPPORT is not set 562# CONFIG_DISPLAY_SUPPORT is not set
539# CONFIG_VGASTATE is not set
540# CONFIG_VIDEO_OUTPUT_CONTROL is not set
541# CONFIG_FB is not set
542# CONFIG_FB_IBM_GXT4500 is not set
543 563
544# 564#
545# Sound 565# Sound
@@ -552,19 +572,6 @@ CONFIG_DAB=y
552# CONFIG_RTC_CLASS is not set 572# CONFIG_RTC_CLASS is not set
553 573
554# 574#
555# DMA Engine support
556#
557# CONFIG_DMA_ENGINE is not set
558
559#
560# DMA Clients
561#
562
563#
564# DMA Devices
565#
566
567#
568# Userspace I/O 575# Userspace I/O
569# 576#
570# CONFIG_UIO is not set 577# CONFIG_UIO is not set
@@ -613,7 +620,6 @@ CONFIG_SYSFS=y
613CONFIG_TMPFS=y 620CONFIG_TMPFS=y
614# CONFIG_TMPFS_POSIX_ACL is not set 621# CONFIG_TMPFS_POSIX_ACL is not set
615# CONFIG_HUGETLB_PAGE is not set 622# CONFIG_HUGETLB_PAGE is not set
616CONFIG_RAMFS=y
617# CONFIG_CONFIGFS_FS is not set 623# CONFIG_CONFIGFS_FS is not set
618 624
619# 625#
@@ -633,10 +639,7 @@ CONFIG_CRAMFS=y
633# CONFIG_QNX4FS_FS is not set 639# CONFIG_QNX4FS_FS is not set
634# CONFIG_SYSV_FS is not set 640# CONFIG_SYSV_FS is not set
635# CONFIG_UFS_FS is not set 641# CONFIG_UFS_FS is not set
636 642CONFIG_NETWORK_FILESYSTEMS=y
637#
638# Network File Systems
639#
640CONFIG_NFS_FS=y 643CONFIG_NFS_FS=y
641CONFIG_NFS_V3=y 644CONFIG_NFS_V3=y
642# CONFIG_NFS_V3_ACL is not set 645# CONFIG_NFS_V3_ACL is not set
@@ -678,15 +681,7 @@ CONFIG_MSDOS_PARTITION=y
678# CONFIG_KARMA_PARTITION is not set 681# CONFIG_KARMA_PARTITION is not set
679# CONFIG_EFI_PARTITION is not set 682# CONFIG_EFI_PARTITION is not set
680# CONFIG_SYSV68_PARTITION is not set 683# CONFIG_SYSV68_PARTITION is not set
681
682#
683# Native Language Support
684#
685# CONFIG_NLS is not set 684# CONFIG_NLS is not set
686
687#
688# Distributed Lock Manager
689#
690# CONFIG_DLM is not set 685# CONFIG_DLM is not set
691# CONFIG_UCC_SLOW is not set 686# CONFIG_UCC_SLOW is not set
692 687
@@ -703,16 +698,13 @@ CONFIG_ZLIB_INFLATE=y
703CONFIG_HAS_IOMEM=y 698CONFIG_HAS_IOMEM=y
704CONFIG_HAS_IOPORT=y 699CONFIG_HAS_IOPORT=y
705CONFIG_HAS_DMA=y 700CONFIG_HAS_DMA=y
706 701# CONFIG_INSTRUMENTATION is not set
707#
708# Instrumentation Support
709#
710# CONFIG_PROFILING is not set
711 702
712# 703#
713# Kernel hacking 704# Kernel hacking
714# 705#
715# CONFIG_PRINTK_TIME is not set 706# CONFIG_PRINTK_TIME is not set
707CONFIG_ENABLE_WARN_DEPRECATED=y
716CONFIG_ENABLE_MUST_CHECK=y 708CONFIG_ENABLE_MUST_CHECK=y
717CONFIG_MAGIC_SYSRQ=y 709CONFIG_MAGIC_SYSRQ=y
718# CONFIG_UNUSED_SYMBOLS is not set 710# CONFIG_UNUSED_SYMBOLS is not set
@@ -734,8 +726,11 @@ CONFIG_DEBUG_BUGVERBOSE=y
734CONFIG_DEBUG_INFO=y 726CONFIG_DEBUG_INFO=y
735# CONFIG_DEBUG_VM is not set 727# CONFIG_DEBUG_VM is not set
736# CONFIG_DEBUG_LIST is not set 728# CONFIG_DEBUG_LIST is not set
729# CONFIG_DEBUG_SG is not set
737CONFIG_FORCED_INLINING=y 730CONFIG_FORCED_INLINING=y
731# CONFIG_BOOT_PRINTK_DELAY is not set
738# CONFIG_FAULT_INJECTION is not set 732# CONFIG_FAULT_INJECTION is not set
733# CONFIG_SAMPLES is not set
739# CONFIG_DEBUG_STACKOVERFLOW is not set 734# CONFIG_DEBUG_STACKOVERFLOW is not set
740# CONFIG_DEBUG_STACK_USAGE is not set 735# CONFIG_DEBUG_STACK_USAGE is not set
741# CONFIG_DEBUG_PAGEALLOC is not set 736# CONFIG_DEBUG_PAGEALLOC is not set
@@ -748,4 +743,7 @@ CONFIG_FORCED_INLINING=y
748# 743#
749# CONFIG_KEYS is not set 744# CONFIG_KEYS is not set
750# CONFIG_SECURITY is not set 745# CONFIG_SECURITY is not set
746# CONFIG_SECURITY_FILE_CAPABILITIES is not set
751# CONFIG_CRYPTO is not set 747# CONFIG_CRYPTO is not set
748# CONFIG_PPC_CLOCK is not set
749CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 0a6fa1fc9766..3673dd23120c 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:34:59 2007 4# Thu Dec 6 16:48:15 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -10,6 +10,7 @@ CONFIG_PPC64=y
10# 10#
11CONFIG_POWER4_ONLY=y 11CONFIG_POWER4_ONLY=y
12CONFIG_POWER4=y 12CONFIG_POWER4=y
13# CONFIG_TUNE_CELL is not set
13CONFIG_PPC_FPU=y 14CONFIG_PPC_FPU=y
14CONFIG_ALTIVEC=y 15CONFIG_ALTIVEC=y
15CONFIG_PPC_STD_MMU=y 16CONFIG_PPC_STD_MMU=y
@@ -18,8 +19,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
18CONFIG_SMP=y 19CONFIG_SMP=y
19CONFIG_NR_CPUS=4 20CONFIG_NR_CPUS=4
20CONFIG_64BIT=y 21CONFIG_64BIT=y
22CONFIG_WORD_SIZE=64
21CONFIG_PPC_MERGE=y 23CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 24CONFIG_MMU=y
25CONFIG_GENERIC_CMOS_UPDATE=y
26CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,11 +69,15 @@ CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
69CONFIG_LOG_BUF_SHIFT=17 76CONFIG_LOG_BUF_SHIFT=17
70# CONFIG_CPUSETS is not set 77# CONFIG_CGROUPS is not set
78CONFIG_FAIR_GROUP_SCHED=y
79CONFIG_FAIR_USER_SCHED=y
80# CONFIG_FAIR_CGROUP_SCHED is not set
71CONFIG_SYSFS_DEPRECATED=y 81CONFIG_SYSFS_DEPRECATED=y
72# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
73CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
@@ -88,7 +98,6 @@ CONFIG_FUTEX=y
88CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 99CONFIG_EPOLL=y
90CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
91CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 102CONFIG_SHMEM=y
94CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -109,6 +118,7 @@ CONFIG_STOP_MACHINE=y
109CONFIG_BLOCK=y 118CONFIG_BLOCK=y
110# CONFIG_BLK_DEV_IO_TRACE is not set 119# CONFIG_BLK_DEV_IO_TRACE is not set
111CONFIG_BLK_DEV_BSG=y 120CONFIG_BLK_DEV_BSG=y
121CONFIG_BLOCK_COMPAT=y
112 122
113# 123#
114# IO Schedulers 124# IO Schedulers
@@ -127,7 +137,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
127# Platform support 137# Platform support
128# 138#
129CONFIG_PPC_MULTIPLATFORM=y 139CONFIG_PPC_MULTIPLATFORM=y
130# CONFIG_EMBEDDED6xx is not set
131# CONFIG_PPC_82xx is not set 140# CONFIG_PPC_82xx is not set
132# CONFIG_PPC_83xx is not set 141# CONFIG_PPC_83xx is not set
133# CONFIG_PPC_86xx is not set 142# CONFIG_PPC_86xx is not set
@@ -164,6 +173,8 @@ CONFIG_CPU_FREQ_STAT=y
164# CONFIG_CPU_FREQ_STAT_DETAILS is not set 173# CONFIG_CPU_FREQ_STAT_DETAILS is not set
165CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y 174CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
166# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 175# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
176# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
177# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
167CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 178CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
168CONFIG_CPU_FREQ_GOV_POWERSAVE=y 179CONFIG_CPU_FREQ_GOV_POWERSAVE=y
169CONFIG_CPU_FREQ_GOV_USERSPACE=y 180CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -180,6 +191,10 @@ CONFIG_CPU_FREQ_PMAC64=y
180# 191#
181# Kernel options 192# Kernel options
182# 193#
194CONFIG_TICK_ONESHOT=y
195CONFIG_NO_HZ=y
196CONFIG_HIGH_RES_TIMERS=y
197CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
183# CONFIG_HZ_100 is not set 198# CONFIG_HZ_100 is not set
184CONFIG_HZ_250=y 199CONFIG_HZ_250=y
185# CONFIG_HZ_300 is not set 200# CONFIG_HZ_300 is not set
@@ -192,6 +207,7 @@ CONFIG_PREEMPT_NONE=y
192CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
193# CONFIG_BINFMT_MISC is not set 208# CONFIG_BINFMT_MISC is not set
194CONFIG_FORCE_MAX_ZONEORDER=13 209CONFIG_FORCE_MAX_ZONEORDER=13
210CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
195CONFIG_IOMMU_VMERGE=y 211CONFIG_IOMMU_VMERGE=y
196# CONFIG_HOTPLUG_CPU is not set 212# CONFIG_HOTPLUG_CPU is not set
197CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 213CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -210,6 +226,7 @@ CONFIG_FLATMEM_MANUAL=y
210CONFIG_FLATMEM=y 226CONFIG_FLATMEM=y
211CONFIG_FLAT_NODE_MEM_MAP=y 227CONFIG_FLAT_NODE_MEM_MAP=y
212# CONFIG_SPARSEMEM_STATIC is not set 228# CONFIG_SPARSEMEM_STATIC is not set
229CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
213CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
214CONFIG_RESOURCES_64BIT=y 231CONFIG_RESOURCES_64BIT=y
215CONFIG_ZONE_DMA_FLAG=1 232CONFIG_ZONE_DMA_FLAG=1
@@ -221,6 +238,7 @@ CONFIG_PROC_DEVICETREE=y
221# CONFIG_CMDLINE_BOOL is not set 238# CONFIG_CMDLINE_BOOL is not set
222# CONFIG_PM is not set 239# CONFIG_PM is not set
223CONFIG_SUSPEND_SMP_POSSIBLE=y 240CONFIG_SUSPEND_SMP_POSSIBLE=y
241CONFIG_HIBERNATION_SMP_POSSIBLE=y
224CONFIG_SECCOMP=y 242CONFIG_SECCOMP=y
225# CONFIG_WANT_DEVICE_TREE is not set 243# CONFIG_WANT_DEVICE_TREE is not set
226CONFIG_ISA_DMA_API=y 244CONFIG_ISA_DMA_API=y
@@ -237,11 +255,8 @@ CONFIG_PCI_SYSCALL=y
237# CONFIG_PCIEPORTBUS is not set 255# CONFIG_PCIEPORTBUS is not set
238CONFIG_ARCH_SUPPORTS_MSI=y 256CONFIG_ARCH_SUPPORTS_MSI=y
239CONFIG_PCI_MSI=y 257CONFIG_PCI_MSI=y
258CONFIG_PCI_LEGACY=y
240# CONFIG_PCI_DEBUG is not set 259# CONFIG_PCI_DEBUG is not set
241
242#
243# PCCARD (PCMCIA/CardBus) support
244#
245# CONFIG_PCCARD is not set 260# CONFIG_PCCARD is not set
246# CONFIG_HOTPLUG_PCI is not set 261# CONFIG_HOTPLUG_PCI is not set
247CONFIG_KERNEL_START=0xc000000000000000 262CONFIG_KERNEL_START=0xc000000000000000
@@ -281,6 +296,7 @@ CONFIG_INET_TUNNEL=y
281CONFIG_INET_XFRM_MODE_TRANSPORT=y 296CONFIG_INET_XFRM_MODE_TRANSPORT=y
282CONFIG_INET_XFRM_MODE_TUNNEL=y 297CONFIG_INET_XFRM_MODE_TUNNEL=y
283CONFIG_INET_XFRM_MODE_BEET=y 298CONFIG_INET_XFRM_MODE_BEET=y
299CONFIG_INET_LRO=y
284CONFIG_INET_DIAG=y 300CONFIG_INET_DIAG=y
285CONFIG_INET_TCP_DIAG=y 301CONFIG_INET_TCP_DIAG=y
286# CONFIG_TCP_CONG_ADVANCED is not set 302# CONFIG_TCP_CONG_ADVANCED is not set
@@ -340,10 +356,6 @@ CONFIG_LLC=y
340# CONFIG_LAPB is not set 356# CONFIG_LAPB is not set
341# CONFIG_ECONET is not set 357# CONFIG_ECONET is not set
342# CONFIG_WAN_ROUTER is not set 358# CONFIG_WAN_ROUTER is not set
343
344#
345# QoS and/or fair queueing
346#
347# CONFIG_NET_SCHED is not set 359# CONFIG_NET_SCHED is not set
348 360
349# 361#
@@ -372,6 +384,7 @@ CONFIG_LLC=y
372# 384#
373# Generic Driver Options 385# Generic Driver Options
374# 386#
387CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
375CONFIG_STANDALONE=y 388CONFIG_STANDALONE=y
376CONFIG_PREVENT_FIRMWARE_BUILD=y 389CONFIG_PREVENT_FIRMWARE_BUILD=y
377CONFIG_FW_LOADER=y 390CONFIG_FW_LOADER=y
@@ -426,15 +439,17 @@ CONFIG_IDE_PROC_FS=y
426# IDE chipset support/bugfixes 439# IDE chipset support/bugfixes
427# 440#
428CONFIG_IDE_GENERIC=y 441CONFIG_IDE_GENERIC=y
442# CONFIG_BLK_DEV_PLATFORM is not set
443
444#
445# PCI IDE chipsets support
446#
429CONFIG_BLK_DEV_IDEPCI=y 447CONFIG_BLK_DEV_IDEPCI=y
430# CONFIG_IDEPCI_SHARE_IRQ is not set 448# CONFIG_IDEPCI_SHARE_IRQ is not set
431CONFIG_IDEPCI_PCIBUS_ORDER=y 449CONFIG_IDEPCI_PCIBUS_ORDER=y
432# CONFIG_BLK_DEV_OFFBOARD is not set
433# CONFIG_BLK_DEV_GENERIC is not set 450# CONFIG_BLK_DEV_GENERIC is not set
434# CONFIG_BLK_DEV_OPTI621 is not set 451# CONFIG_BLK_DEV_OPTI621 is not set
435CONFIG_BLK_DEV_IDEDMA_PCI=y 452CONFIG_BLK_DEV_IDEDMA_PCI=y
436# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
437# CONFIG_IDEDMA_ONLYDISK is not set
438# CONFIG_BLK_DEV_AEC62XX is not set 453# CONFIG_BLK_DEV_AEC62XX is not set
439# CONFIG_BLK_DEV_ALI15X3 is not set 454# CONFIG_BLK_DEV_ALI15X3 is not set
440# CONFIG_BLK_DEV_AMD74XX is not set 455# CONFIG_BLK_DEV_AMD74XX is not set
@@ -465,7 +480,7 @@ CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
465CONFIG_BLK_DEV_IDEDMA_PMAC=y 480CONFIG_BLK_DEV_IDEDMA_PMAC=y
466# CONFIG_IDE_ARM is not set 481# CONFIG_IDE_ARM is not set
467CONFIG_BLK_DEV_IDEDMA=y 482CONFIG_BLK_DEV_IDEDMA=y
468# CONFIG_IDEDMA_IVB is not set 483CONFIG_IDE_ARCH_OBSOLETE_INIT=y
469# CONFIG_BLK_DEV_HD is not set 484# CONFIG_BLK_DEV_HD is not set
470 485
471# 486#
@@ -506,6 +521,7 @@ CONFIG_SCSI_SPI_ATTRS=y
506# CONFIG_SCSI_ISCSI_ATTRS is not set 521# CONFIG_SCSI_ISCSI_ATTRS is not set
507# CONFIG_SCSI_SAS_ATTRS is not set 522# CONFIG_SCSI_SAS_ATTRS is not set
508# CONFIG_SCSI_SAS_LIBSAS is not set 523# CONFIG_SCSI_SAS_LIBSAS is not set
524# CONFIG_SCSI_SRP_ATTRS is not set
509CONFIG_SCSI_LOWLEVEL=y 525CONFIG_SCSI_LOWLEVEL=y
510# CONFIG_ISCSI_TCP is not set 526# CONFIG_ISCSI_TCP is not set
511# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 527# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -581,6 +597,7 @@ CONFIG_SATA_SVW=y
581# CONFIG_PATA_OLDPIIX is not set 597# CONFIG_PATA_OLDPIIX is not set
582# CONFIG_PATA_NETCELL is not set 598# CONFIG_PATA_NETCELL is not set
583# CONFIG_PATA_NS87410 is not set 599# CONFIG_PATA_NS87410 is not set
600# CONFIG_PATA_NS87415 is not set
584# CONFIG_PATA_OPTI is not set 601# CONFIG_PATA_OPTI is not set
585# CONFIG_PATA_OPTIDMA is not set 602# CONFIG_PATA_OPTIDMA is not set
586# CONFIG_PATA_PDC_OLD is not set 603# CONFIG_PATA_PDC_OLD is not set
@@ -610,14 +627,8 @@ CONFIG_DM_MIRROR=m
610CONFIG_DM_ZERO=m 627CONFIG_DM_ZERO=m
611# CONFIG_DM_MULTIPATH is not set 628# CONFIG_DM_MULTIPATH is not set
612# CONFIG_DM_DELAY is not set 629# CONFIG_DM_DELAY is not set
613 630# CONFIG_DM_UEVENT is not set
614#
615# Fusion MPT device support
616#
617# CONFIG_FUSION is not set 631# CONFIG_FUSION is not set
618# CONFIG_FUSION_SPI is not set
619# CONFIG_FUSION_FC is not set
620# CONFIG_FUSION_SAS is not set
621 632
622# 633#
623# IEEE 1394 (FireWire) support 634# IEEE 1394 (FireWire) support
@@ -664,6 +675,8 @@ CONFIG_BONDING=m
664# CONFIG_MACVLAN is not set 675# CONFIG_MACVLAN is not set
665# CONFIG_EQUALIZER is not set 676# CONFIG_EQUALIZER is not set
666CONFIG_TUN=m 677CONFIG_TUN=m
678# CONFIG_VETH is not set
679# CONFIG_IP1000 is not set
667# CONFIG_ARCNET is not set 680# CONFIG_ARCNET is not set
668# CONFIG_PHYLIB is not set 681# CONFIG_PHYLIB is not set
669CONFIG_NET_ETHERNET=y 682CONFIG_NET_ETHERNET=y
@@ -674,7 +687,12 @@ CONFIG_SUNGEM=y
674# CONFIG_NET_VENDOR_3COM is not set 687# CONFIG_NET_VENDOR_3COM is not set
675# CONFIG_NET_TULIP is not set 688# CONFIG_NET_TULIP is not set
676# CONFIG_HP100 is not set 689# CONFIG_HP100 is not set
690# CONFIG_IBM_NEW_EMAC_ZMII is not set
691# CONFIG_IBM_NEW_EMAC_RGMII is not set
692# CONFIG_IBM_NEW_EMAC_TAH is not set
693# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
677# CONFIG_NET_PCI is not set 694# CONFIG_NET_PCI is not set
695# CONFIG_B44 is not set
678CONFIG_NETDEV_1000=y 696CONFIG_NETDEV_1000=y
679CONFIG_ACENIC=y 697CONFIG_ACENIC=y
680CONFIG_ACENIC_OMIT_TIGON_I=y 698CONFIG_ACENIC_OMIT_TIGON_I=y
@@ -682,6 +700,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
682CONFIG_E1000=y 700CONFIG_E1000=y
683# CONFIG_E1000_NAPI is not set 701# CONFIG_E1000_NAPI is not set
684# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 702# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
703# CONFIG_E1000E is not set
685# CONFIG_NS83820 is not set 704# CONFIG_NS83820 is not set
686# CONFIG_HAMACHI is not set 705# CONFIG_HAMACHI is not set
687# CONFIG_YELLOWFIN is not set 706# CONFIG_YELLOWFIN is not set
@@ -689,6 +708,7 @@ CONFIG_E1000=y
689# CONFIG_SIS190 is not set 708# CONFIG_SIS190 is not set
690# CONFIG_SKGE is not set 709# CONFIG_SKGE is not set
691# CONFIG_SKY2 is not set 710# CONFIG_SKY2 is not set
711# CONFIG_SK98LIN is not set
692# CONFIG_VIA_VELOCITY is not set 712# CONFIG_VIA_VELOCITY is not set
693CONFIG_TIGON3=y 713CONFIG_TIGON3=y
694# CONFIG_BNX2 is not set 714# CONFIG_BNX2 is not set
@@ -697,12 +717,15 @@ CONFIG_TIGON3=y
697CONFIG_NETDEV_10000=y 717CONFIG_NETDEV_10000=y
698# CONFIG_CHELSIO_T1 is not set 718# CONFIG_CHELSIO_T1 is not set
699# CONFIG_CHELSIO_T3 is not set 719# CONFIG_CHELSIO_T3 is not set
720# CONFIG_IXGBE is not set
700# CONFIG_IXGB is not set 721# CONFIG_IXGB is not set
701# CONFIG_S2IO is not set 722# CONFIG_S2IO is not set
702# CONFIG_MYRI10GE is not set 723# CONFIG_MYRI10GE is not set
703# CONFIG_NETXEN_NIC is not set 724# CONFIG_NETXEN_NIC is not set
725# CONFIG_NIU is not set
704# CONFIG_PASEMI_MAC is not set 726# CONFIG_PASEMI_MAC is not set
705# CONFIG_MLX4_CORE is not set 727# CONFIG_MLX4_CORE is not set
728# CONFIG_TEHUTI is not set
706CONFIG_TR=y 729CONFIG_TR=y
707CONFIG_IBMOL=y 730CONFIG_IBMOL=y
708# CONFIG_3C359 is not set 731# CONFIG_3C359 is not set
@@ -721,7 +744,6 @@ CONFIG_USB_CATC=m
721CONFIG_USB_KAWETH=m 744CONFIG_USB_KAWETH=m
722CONFIG_USB_PEGASUS=m 745CONFIG_USB_PEGASUS=m
723CONFIG_USB_RTL8150=m 746CONFIG_USB_RTL8150=m
724# CONFIG_USB_USBNET_MII is not set
725CONFIG_USB_USBNET=m 747CONFIG_USB_USBNET=m
726# CONFIG_USB_NET_AX8817X is not set 748# CONFIG_USB_NET_AX8817X is not set
727CONFIG_USB_NET_CDCETHER=m 749CONFIG_USB_NET_CDCETHER=m
@@ -771,7 +793,6 @@ CONFIG_INPUT_MOUSEDEV=y
771CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 793CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
772CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 794CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
773CONFIG_INPUT_JOYDEV=m 795CONFIG_INPUT_JOYDEV=m
774# CONFIG_INPUT_TSDEV is not set
775CONFIG_INPUT_EVDEV=y 796CONFIG_INPUT_EVDEV=y
776# CONFIG_INPUT_EVBUG is not set 797# CONFIG_INPUT_EVBUG is not set
777 798
@@ -828,15 +849,11 @@ CONFIG_UNIX98_PTYS=y
828CONFIG_LEGACY_PTYS=y 849CONFIG_LEGACY_PTYS=y
829CONFIG_LEGACY_PTY_COUNT=256 850CONFIG_LEGACY_PTY_COUNT=256
830# CONFIG_IPMI_HANDLER is not set 851# CONFIG_IPMI_HANDLER is not set
831# CONFIG_WATCHDOG is not set
832# CONFIG_HW_RANDOM is not set 852# CONFIG_HW_RANDOM is not set
833CONFIG_GEN_RTC=y 853CONFIG_GEN_RTC=y
834# CONFIG_GEN_RTC_X is not set 854# CONFIG_GEN_RTC_X is not set
835# CONFIG_R3964 is not set 855# CONFIG_R3964 is not set
836# CONFIG_APPLICOM is not set 856# CONFIG_APPLICOM is not set
837CONFIG_AGP=m
838CONFIG_AGP_UNINORTH=m
839# CONFIG_DRM is not set
840CONFIG_RAW_DRIVER=y 857CONFIG_RAW_DRIVER=y
841CONFIG_MAX_RAW_DEVS=256 858CONFIG_MAX_RAW_DEVS=256
842# CONFIG_HANGCHECK_TIMER is not set 859# CONFIG_HANGCHECK_TIMER is not set
@@ -906,6 +923,13 @@ CONFIG_I2C_POWERMAC=y
906# CONFIG_W1 is not set 923# CONFIG_W1 is not set
907# CONFIG_POWER_SUPPLY is not set 924# CONFIG_POWER_SUPPLY is not set
908# CONFIG_HWMON is not set 925# CONFIG_HWMON is not set
926# CONFIG_WATCHDOG is not set
927
928#
929# Sonics Silicon Backplane
930#
931CONFIG_SSB_POSSIBLE=y
932# CONFIG_SSB is not set
909 933
910# 934#
911# Multifunction device drivers 935# Multifunction device drivers
@@ -923,14 +947,9 @@ CONFIG_DAB=y
923# 947#
924# Graphics support 948# Graphics support
925# 949#
926CONFIG_BACKLIGHT_LCD_SUPPORT=y 950CONFIG_AGP=m
927CONFIG_LCD_CLASS_DEVICE=m 951CONFIG_AGP_UNINORTH=m
928CONFIG_BACKLIGHT_CLASS_DEVICE=y 952# CONFIG_DRM is not set
929
930#
931# Display device support
932#
933# CONFIG_DISPLAY_SUPPORT is not set
934CONFIG_VGASTATE=y 953CONFIG_VGASTATE=y
935CONFIG_VIDEO_OUTPUT_CONTROL=m 954CONFIG_VIDEO_OUTPUT_CONTROL=m
936CONFIG_FB=y 955CONFIG_FB=y
@@ -939,6 +958,7 @@ CONFIG_FB_DDC=y
939CONFIG_FB_CFB_FILLRECT=y 958CONFIG_FB_CFB_FILLRECT=y
940CONFIG_FB_CFB_COPYAREA=y 959CONFIG_FB_CFB_COPYAREA=y
941CONFIG_FB_CFB_IMAGEBLIT=y 960CONFIG_FB_CFB_IMAGEBLIT=y
961# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
942# CONFIG_FB_SYS_FILLRECT is not set 962# CONFIG_FB_SYS_FILLRECT is not set
943# CONFIG_FB_SYS_COPYAREA is not set 963# CONFIG_FB_SYS_COPYAREA is not set
944# CONFIG_FB_SYS_IMAGEBLIT is not set 964# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -986,6 +1006,15 @@ CONFIG_FB_RADEON_BACKLIGHT=y
986# CONFIG_FB_PM3 is not set 1006# CONFIG_FB_PM3 is not set
987# CONFIG_FB_IBM_GXT4500 is not set 1007# CONFIG_FB_IBM_GXT4500 is not set
988# CONFIG_FB_VIRTUAL is not set 1008# CONFIG_FB_VIRTUAL is not set
1009CONFIG_BACKLIGHT_LCD_SUPPORT=y
1010CONFIG_LCD_CLASS_DEVICE=m
1011CONFIG_BACKLIGHT_CLASS_DEVICE=y
1012# CONFIG_BACKLIGHT_CORGI is not set
1013
1014#
1015# Display device support
1016#
1017# CONFIG_DISPLAY_SUPPORT is not set
989 1018
990# 1019#
991# Console display driver support 1020# Console display driver support
@@ -1143,6 +1172,7 @@ CONFIG_SND_USB_AUDIO=m
1143CONFIG_HID_SUPPORT=y 1172CONFIG_HID_SUPPORT=y
1144CONFIG_HID=y 1173CONFIG_HID=y
1145# CONFIG_HID_DEBUG is not set 1174# CONFIG_HID_DEBUG is not set
1175# CONFIG_HIDRAW is not set
1146 1176
1147# 1177#
1148# USB Input Devices 1178# USB Input Devices
@@ -1239,6 +1269,7 @@ CONFIG_USB_SERIAL_GENERIC=y
1239# CONFIG_USB_SERIAL_AIRPRIME is not set 1269# CONFIG_USB_SERIAL_AIRPRIME is not set
1240# CONFIG_USB_SERIAL_ARK3116 is not set 1270# CONFIG_USB_SERIAL_ARK3116 is not set
1241CONFIG_USB_SERIAL_BELKIN=m 1271CONFIG_USB_SERIAL_BELKIN=m
1272# CONFIG_USB_SERIAL_CH341 is not set
1242# CONFIG_USB_SERIAL_WHITEHEAT is not set 1273# CONFIG_USB_SERIAL_WHITEHEAT is not set
1243CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m 1274CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1244# CONFIG_USB_SERIAL_CP2101 is not set 1275# CONFIG_USB_SERIAL_CP2101 is not set
@@ -1326,19 +1357,6 @@ CONFIG_USB_APPLEDISPLAY=m
1326# CONFIG_RTC_CLASS is not set 1357# CONFIG_RTC_CLASS is not set
1327 1358
1328# 1359#
1329# DMA Engine support
1330#
1331# CONFIG_DMA_ENGINE is not set
1332
1333#
1334# DMA Clients
1335#
1336
1337#
1338# DMA Devices
1339#
1340
1341#
1342# Userspace I/O 1360# Userspace I/O
1343# 1361#
1344# CONFIG_UIO is not set 1362# CONFIG_UIO is not set
@@ -1415,7 +1433,6 @@ CONFIG_TMPFS=y
1415# CONFIG_TMPFS_POSIX_ACL is not set 1433# CONFIG_TMPFS_POSIX_ACL is not set
1416CONFIG_HUGETLBFS=y 1434CONFIG_HUGETLBFS=y
1417CONFIG_HUGETLB_PAGE=y 1435CONFIG_HUGETLB_PAGE=y
1418CONFIG_RAMFS=y
1419# CONFIG_CONFIGFS_FS is not set 1436# CONFIG_CONFIGFS_FS is not set
1420 1437
1421# 1438#
@@ -1434,10 +1451,7 @@ CONFIG_CRAMFS=y
1434# CONFIG_QNX4FS_FS is not set 1451# CONFIG_QNX4FS_FS is not set
1435# CONFIG_SYSV_FS is not set 1452# CONFIG_SYSV_FS is not set
1436# CONFIG_UFS_FS is not set 1453# CONFIG_UFS_FS is not set
1437 1454CONFIG_NETWORK_FILESYSTEMS=y
1438#
1439# Network File Systems
1440#
1441CONFIG_NFS_FS=y 1455CONFIG_NFS_FS=y
1442CONFIG_NFS_V3=y 1456CONFIG_NFS_V3=y
1443CONFIG_NFS_V3_ACL=y 1457CONFIG_NFS_V3_ACL=y
@@ -1491,10 +1505,6 @@ CONFIG_MSDOS_PARTITION=y
1491# CONFIG_KARMA_PARTITION is not set 1505# CONFIG_KARMA_PARTITION is not set
1492# CONFIG_EFI_PARTITION is not set 1506# CONFIG_EFI_PARTITION is not set
1493# CONFIG_SYSV68_PARTITION is not set 1507# CONFIG_SYSV68_PARTITION is not set
1494
1495#
1496# Native Language Support
1497#
1498CONFIG_NLS=y 1508CONFIG_NLS=y
1499CONFIG_NLS_DEFAULT="iso8859-1" 1509CONFIG_NLS_DEFAULT="iso8859-1"
1500CONFIG_NLS_CODEPAGE_437=y 1510CONFIG_NLS_CODEPAGE_437=y
@@ -1535,10 +1545,6 @@ CONFIG_NLS_ISO8859_15=y
1535# CONFIG_NLS_KOI8_R is not set 1545# CONFIG_NLS_KOI8_R is not set
1536# CONFIG_NLS_KOI8_U is not set 1546# CONFIG_NLS_KOI8_U is not set
1537CONFIG_NLS_UTF8=y 1547CONFIG_NLS_UTF8=y
1538
1539#
1540# Distributed Lock Manager
1541#
1542# CONFIG_DLM is not set 1548# CONFIG_DLM is not set
1543# CONFIG_UCC_SLOW is not set 1549# CONFIG_UCC_SLOW is not set
1544 1550
@@ -1558,18 +1564,17 @@ CONFIG_PLIST=y
1558CONFIG_HAS_IOMEM=y 1564CONFIG_HAS_IOMEM=y
1559CONFIG_HAS_IOPORT=y 1565CONFIG_HAS_IOPORT=y
1560CONFIG_HAS_DMA=y 1566CONFIG_HAS_DMA=y
1561 1567CONFIG_INSTRUMENTATION=y
1562#
1563# Instrumentation Support
1564#
1565CONFIG_PROFILING=y 1568CONFIG_PROFILING=y
1566CONFIG_OPROFILE=y 1569CONFIG_OPROFILE=y
1567# CONFIG_KPROBES is not set 1570# CONFIG_KPROBES is not set
1571# CONFIG_MARKERS is not set
1568 1572
1569# 1573#
1570# Kernel hacking 1574# Kernel hacking
1571# 1575#
1572# CONFIG_PRINTK_TIME is not set 1576# CONFIG_PRINTK_TIME is not set
1577CONFIG_ENABLE_WARN_DEPRECATED=y
1573CONFIG_ENABLE_MUST_CHECK=y 1578CONFIG_ENABLE_MUST_CHECK=y
1574CONFIG_MAGIC_SYSRQ=y 1579CONFIG_MAGIC_SYSRQ=y
1575# CONFIG_UNUSED_SYMBOLS is not set 1580# CONFIG_UNUSED_SYMBOLS is not set
@@ -1593,14 +1598,18 @@ CONFIG_DEBUG_BUGVERBOSE=y
1593# CONFIG_DEBUG_INFO is not set 1598# CONFIG_DEBUG_INFO is not set
1594# CONFIG_DEBUG_VM is not set 1599# CONFIG_DEBUG_VM is not set
1595# CONFIG_DEBUG_LIST is not set 1600# CONFIG_DEBUG_LIST is not set
1601# CONFIG_DEBUG_SG is not set
1596CONFIG_FORCED_INLINING=y 1602CONFIG_FORCED_INLINING=y
1603# CONFIG_BOOT_PRINTK_DELAY is not set
1597# CONFIG_RCU_TORTURE_TEST is not set 1604# CONFIG_RCU_TORTURE_TEST is not set
1598# CONFIG_FAULT_INJECTION is not set 1605# CONFIG_FAULT_INJECTION is not set
1606# CONFIG_SAMPLES is not set
1599# CONFIG_DEBUG_STACKOVERFLOW is not set 1607# CONFIG_DEBUG_STACKOVERFLOW is not set
1600# CONFIG_DEBUG_STACK_USAGE is not set 1608# CONFIG_DEBUG_STACK_USAGE is not set
1601# CONFIG_DEBUG_PAGEALLOC is not set 1609# CONFIG_DEBUG_PAGEALLOC is not set
1602# CONFIG_DEBUGGER is not set 1610# CONFIG_DEBUGGER is not set
1603CONFIG_IRQSTACKS=y 1611CONFIG_IRQSTACKS=y
1612# CONFIG_VIRQ_DEBUG is not set
1604CONFIG_BOOTX_TEXT=y 1613CONFIG_BOOTX_TEXT=y
1605# CONFIG_PPC_EARLY_DEBUG is not set 1614# CONFIG_PPC_EARLY_DEBUG is not set
1606 1615
@@ -1609,6 +1618,7 @@ CONFIG_BOOTX_TEXT=y
1609# 1618#
1610# CONFIG_KEYS is not set 1619# CONFIG_KEYS is not set
1611# CONFIG_SECURITY is not set 1620# CONFIG_SECURITY is not set
1621# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1612CONFIG_CRYPTO=y 1622CONFIG_CRYPTO=y
1613CONFIG_CRYPTO_ALGAPI=y 1623CONFIG_CRYPTO_ALGAPI=y
1614CONFIG_CRYPTO_BLKCIPHER=y 1624CONFIG_CRYPTO_BLKCIPHER=y
@@ -1629,6 +1639,7 @@ CONFIG_CRYPTO_ECB=m
1629CONFIG_CRYPTO_CBC=y 1639CONFIG_CRYPTO_CBC=y
1630CONFIG_CRYPTO_PCBC=m 1640CONFIG_CRYPTO_PCBC=m
1631# CONFIG_CRYPTO_LRW is not set 1641# CONFIG_CRYPTO_LRW is not set
1642# CONFIG_CRYPTO_XTS is not set
1632# CONFIG_CRYPTO_CRYPTD is not set 1643# CONFIG_CRYPTO_CRYPTD is not set
1633CONFIG_CRYPTO_DES=y 1644CONFIG_CRYPTO_DES=y
1634# CONFIG_CRYPTO_FCRYPT is not set 1645# CONFIG_CRYPTO_FCRYPT is not set
@@ -1643,9 +1654,12 @@ CONFIG_CRYPTO_TEA=m
1643CONFIG_CRYPTO_ARC4=m 1654CONFIG_CRYPTO_ARC4=m
1644CONFIG_CRYPTO_KHAZAD=m 1655CONFIG_CRYPTO_KHAZAD=m
1645CONFIG_CRYPTO_ANUBIS=m 1656CONFIG_CRYPTO_ANUBIS=m
1657# CONFIG_CRYPTO_SEED is not set
1646CONFIG_CRYPTO_DEFLATE=m 1658CONFIG_CRYPTO_DEFLATE=m
1647CONFIG_CRYPTO_MICHAEL_MIC=m 1659CONFIG_CRYPTO_MICHAEL_MIC=m
1648CONFIG_CRYPTO_CRC32C=m 1660CONFIG_CRYPTO_CRC32C=m
1649# CONFIG_CRYPTO_CAMELLIA is not set 1661# CONFIG_CRYPTO_CAMELLIA is not set
1650CONFIG_CRYPTO_TEST=m 1662CONFIG_CRYPTO_TEST=m
1663# CONFIG_CRYPTO_AUTHENC is not set
1651# CONFIG_CRYPTO_HW is not set 1664# CONFIG_CRYPTO_HW is not set
1665# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig
index 11009185d230..a211a79959ca 100644
--- a/arch/powerpc/configs/holly_defconfig
+++ b/arch/powerpc/configs/holly_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:35:41 2007 4# Thu Dec 6 16:48:17 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,13 +15,19 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set 22# CONFIG_SMP is not set
22CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
23CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
24CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
25CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
26CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
27CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -61,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
61# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
62# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
63# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
64# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
65# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
66CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
67CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
68# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
69CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -84,7 +93,6 @@ CONFIG_FUTEX=y
84CONFIG_ANON_INODES=y 93CONFIG_ANON_INODES=y
85CONFIG_EPOLL=y 94CONFIG_EPOLL=y
86CONFIG_SIGNALFD=y 95CONFIG_SIGNALFD=y
87CONFIG_TIMERFD=y
88CONFIG_EVENTFD=y 96CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 97CONFIG_SHMEM=y
90CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
@@ -122,16 +130,21 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
122# 130#
123# Platform support 131# Platform support
124# 132#
125# CONFIG_PPC_MULTIPLATFORM is not set 133CONFIG_PPC_MULTIPLATFORM=y
126CONFIG_EMBEDDED6xx=y
127# CONFIG_PPC_82xx is not set 134# CONFIG_PPC_82xx is not set
128# CONFIG_PPC_83xx is not set 135# CONFIG_PPC_83xx is not set
129# CONFIG_PPC_86xx is not set 136# CONFIG_PPC_86xx is not set
137CONFIG_CLASSIC32=y
138# CONFIG_PPC_CHRP is not set
130# CONFIG_PPC_MPC52xx is not set 139# CONFIG_PPC_MPC52xx is not set
131# CONFIG_PPC_MPC5200 is not set 140# CONFIG_PPC_MPC5200 is not set
141# CONFIG_PPC_EFIKA is not set
142# CONFIG_PPC_LITE5200 is not set
143# CONFIG_PPC_PMAC is not set
132# CONFIG_PPC_CELL is not set 144# CONFIG_PPC_CELL is not set
133# CONFIG_PPC_CELL_NATIVE is not set 145# CONFIG_PPC_CELL_NATIVE is not set
134# CONFIG_PQ2ADS is not set 146# CONFIG_PQ2ADS is not set
147CONFIG_EMBEDDED6xx=y
135# CONFIG_LINKSTATION is not set 148# CONFIG_LINKSTATION is not set
136# CONFIG_MPC7448HPC2 is not set 149# CONFIG_MPC7448HPC2 is not set
137CONFIG_PPC_HOLLY=y 150CONFIG_PPC_HOLLY=y
@@ -147,6 +160,7 @@ CONFIG_MPIC_WEIRD=y
147# CONFIG_PPC_INDIRECT_IO is not set 160# CONFIG_PPC_INDIRECT_IO is not set
148# CONFIG_GENERIC_IOMAP is not set 161# CONFIG_GENERIC_IOMAP is not set
149# CONFIG_CPU_FREQ is not set 162# CONFIG_CPU_FREQ is not set
163# CONFIG_TAU is not set
150# CONFIG_CPM2 is not set 164# CONFIG_CPM2 is not set
151# CONFIG_FSL_ULI1575 is not set 165# CONFIG_FSL_ULI1575 is not set
152 166
@@ -154,6 +168,10 @@ CONFIG_MPIC_WEIRD=y
154# Kernel options 168# Kernel options
155# 169#
156# CONFIG_HIGHMEM is not set 170# CONFIG_HIGHMEM is not set
171CONFIG_TICK_ONESHOT=y
172CONFIG_NO_HZ=y
173CONFIG_HIGH_RES_TIMERS=y
174CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
157# CONFIG_HZ_100 is not set 175# CONFIG_HZ_100 is not set
158CONFIG_HZ_250=y 176CONFIG_HZ_250=y
159# CONFIG_HZ_300 is not set 177# CONFIG_HZ_300 is not set
@@ -165,6 +183,7 @@ CONFIG_PREEMPT_NONE=y
165CONFIG_BINFMT_ELF=y 183CONFIG_BINFMT_ELF=y
166CONFIG_BINFMT_MISC=y 184CONFIG_BINFMT_MISC=y
167CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 185CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
186# CONFIG_KEXEC is not set
168CONFIG_ARCH_FLATMEM_ENABLE=y 187CONFIG_ARCH_FLATMEM_ENABLE=y
169CONFIG_ARCH_POPULATES_NODE_MAP=y 188CONFIG_ARCH_POPULATES_NODE_MAP=y
170CONFIG_SELECT_MEMORY_MODEL=y 189CONFIG_SELECT_MEMORY_MODEL=y
@@ -174,6 +193,7 @@ CONFIG_FLATMEM_MANUAL=y
174CONFIG_FLATMEM=y 193CONFIG_FLATMEM=y
175CONFIG_FLAT_NODE_MEM_MAP=y 194CONFIG_FLAT_NODE_MEM_MAP=y
176# CONFIG_SPARSEMEM_STATIC is not set 195# CONFIG_SPARSEMEM_STATIC is not set
196# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
177CONFIG_SPLIT_PTLOCK_CPUS=4 197CONFIG_SPLIT_PTLOCK_CPUS=4
178# CONFIG_RESOURCES_64BIT is not set 198# CONFIG_RESOURCES_64BIT is not set
179CONFIG_ZONE_DMA_FLAG=1 199CONFIG_ZONE_DMA_FLAG=1
@@ -183,6 +203,8 @@ CONFIG_PROC_DEVICETREE=y
183CONFIG_CMDLINE_BOOL=y 203CONFIG_CMDLINE_BOOL=y
184CONFIG_CMDLINE="console=ttyS0,115200" 204CONFIG_CMDLINE="console=ttyS0,115200"
185# CONFIG_PM is not set 205# CONFIG_PM is not set
206CONFIG_SUSPEND_UP_POSSIBLE=y
207CONFIG_HIBERNATION_UP_POSSIBLE=y
186# CONFIG_SECCOMP is not set 208# CONFIG_SECCOMP is not set
187CONFIG_WANT_DEVICE_TREE=y 209CONFIG_WANT_DEVICE_TREE=y
188CONFIG_DEVICE_TREE="holly.dts" 210CONFIG_DEVICE_TREE="holly.dts"
@@ -200,11 +222,8 @@ CONFIG_PCI_SYSCALL=y
200# CONFIG_PCIEPORTBUS is not set 222# CONFIG_PCIEPORTBUS is not set
201CONFIG_ARCH_SUPPORTS_MSI=y 223CONFIG_ARCH_SUPPORTS_MSI=y
202# CONFIG_PCI_MSI is not set 224# CONFIG_PCI_MSI is not set
225CONFIG_PCI_LEGACY=y
203# CONFIG_PCI_DEBUG is not set 226# CONFIG_PCI_DEBUG is not set
204
205#
206# PCCARD (PCMCIA/CardBus) support
207#
208# CONFIG_PCCARD is not set 227# CONFIG_PCCARD is not set
209# CONFIG_HOTPLUG_PCI is not set 228# CONFIG_HOTPLUG_PCI is not set
210 229
@@ -219,7 +238,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
219CONFIG_HIGHMEM_START=0xfe000000 238CONFIG_HIGHMEM_START=0xfe000000
220CONFIG_LOWMEM_SIZE=0x30000000 239CONFIG_LOWMEM_SIZE=0x30000000
221CONFIG_KERNEL_START=0xc0000000 240CONFIG_KERNEL_START=0xc0000000
222CONFIG_TASK_SIZE=0x80000000 241CONFIG_TASK_SIZE=0xc0000000
223CONFIG_BOOT_LOAD=0x00800000 242CONFIG_BOOT_LOAD=0x00800000
224 243
225# 244#
@@ -259,6 +278,7 @@ CONFIG_SYN_COOKIES=y
259CONFIG_INET_XFRM_MODE_TRANSPORT=y 278CONFIG_INET_XFRM_MODE_TRANSPORT=y
260CONFIG_INET_XFRM_MODE_TUNNEL=y 279CONFIG_INET_XFRM_MODE_TUNNEL=y
261CONFIG_INET_XFRM_MODE_BEET=y 280CONFIG_INET_XFRM_MODE_BEET=y
281# CONFIG_INET_LRO is not set
262CONFIG_INET_DIAG=y 282CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 283CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 284# CONFIG_TCP_CONG_ADVANCED is not set
@@ -284,10 +304,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
284# CONFIG_LAPB is not set 304# CONFIG_LAPB is not set
285# CONFIG_ECONET is not set 305# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set 306# CONFIG_WAN_ROUTER is not set
287
288#
289# QoS and/or fair queueing
290#
291# CONFIG_NET_SCHED is not set 307# CONFIG_NET_SCHED is not set
292 308
293# 309#
@@ -316,6 +332,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# 332#
317# Generic Driver Options 333# Generic Driver Options
318# 334#
335CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
319CONFIG_STANDALONE=y 336CONFIG_STANDALONE=y
320CONFIG_PREVENT_FIRMWARE_BUILD=y 337CONFIG_PREVENT_FIRMWARE_BUILD=y
321# CONFIG_FW_LOADER is not set 338# CONFIG_FW_LOADER is not set
@@ -386,6 +403,7 @@ CONFIG_SCSI_WAIT_SCAN=m
386# CONFIG_SCSI_FC_ATTRS is not set 403# CONFIG_SCSI_FC_ATTRS is not set
387# CONFIG_SCSI_ISCSI_ATTRS is not set 404# CONFIG_SCSI_ISCSI_ATTRS is not set
388# CONFIG_SCSI_SAS_LIBSAS is not set 405# CONFIG_SCSI_SAS_LIBSAS is not set
406# CONFIG_SCSI_SRP_ATTRS is not set
389CONFIG_SCSI_LOWLEVEL=y 407CONFIG_SCSI_LOWLEVEL=y
390# CONFIG_ISCSI_TCP is not set 408# CONFIG_ISCSI_TCP is not set
391# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 409# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -397,6 +415,7 @@ CONFIG_SCSI_LOWLEVEL=y
397# CONFIG_SCSI_AIC79XX is not set 415# CONFIG_SCSI_AIC79XX is not set
398# CONFIG_SCSI_AIC94XX is not set 416# CONFIG_SCSI_AIC94XX is not set
399# CONFIG_SCSI_DPT_I2O is not set 417# CONFIG_SCSI_DPT_I2O is not set
418# CONFIG_SCSI_ADVANSYS is not set
400# CONFIG_SCSI_ARCMSR is not set 419# CONFIG_SCSI_ARCMSR is not set
401# CONFIG_MEGARAID_NEWGEN is not set 420# CONFIG_MEGARAID_NEWGEN is not set
402# CONFIG_MEGARAID_LEGACY is not set 421# CONFIG_MEGARAID_LEGACY is not set
@@ -464,6 +483,7 @@ CONFIG_ATA=y
464# CONFIG_PATA_OLDPIIX is not set 483# CONFIG_PATA_OLDPIIX is not set
465# CONFIG_PATA_NETCELL is not set 484# CONFIG_PATA_NETCELL is not set
466# CONFIG_PATA_NS87410 is not set 485# CONFIG_PATA_NS87410 is not set
486# CONFIG_PATA_NS87415 is not set
467# CONFIG_PATA_OPTI is not set 487# CONFIG_PATA_OPTI is not set
468# CONFIG_PATA_OPTIDMA is not set 488# CONFIG_PATA_OPTIDMA is not set
469# CONFIG_PATA_PDC_OLD is not set 489# CONFIG_PATA_PDC_OLD is not set
@@ -478,14 +498,7 @@ CONFIG_ATA=y
478# CONFIG_PATA_WINBOND is not set 498# CONFIG_PATA_WINBOND is not set
479# CONFIG_PATA_PLATFORM is not set 499# CONFIG_PATA_PLATFORM is not set
480# CONFIG_MD is not set 500# CONFIG_MD is not set
481
482#
483# Fusion MPT device support
484#
485# CONFIG_FUSION is not set 501# CONFIG_FUSION is not set
486# CONFIG_FUSION_SPI is not set
487# CONFIG_FUSION_FC is not set
488# CONFIG_FUSION_SAS is not set
489 502
490# 503#
491# IEEE 1394 (FireWire) support 504# IEEE 1394 (FireWire) support
@@ -501,6 +514,8 @@ CONFIG_NETDEVICES=y
501# CONFIG_MACVLAN is not set 514# CONFIG_MACVLAN is not set
502# CONFIG_EQUALIZER is not set 515# CONFIG_EQUALIZER is not set
503# CONFIG_TUN is not set 516# CONFIG_TUN is not set
517# CONFIG_VETH is not set
518# CONFIG_IP1000 is not set
504# CONFIG_ARCNET is not set 519# CONFIG_ARCNET is not set
505CONFIG_PHYLIB=y 520CONFIG_PHYLIB=y
506 521
@@ -517,6 +532,7 @@ CONFIG_PHYLIB=y
517# CONFIG_BROADCOM_PHY is not set 532# CONFIG_BROADCOM_PHY is not set
518# CONFIG_ICPLUS_PHY is not set 533# CONFIG_ICPLUS_PHY is not set
519# CONFIG_FIXED_PHY is not set 534# CONFIG_FIXED_PHY is not set
535# CONFIG_MDIO_BITBANG is not set
520CONFIG_NET_ETHERNET=y 536CONFIG_NET_ETHERNET=y
521CONFIG_MII=y 537CONFIG_MII=y
522# CONFIG_HAPPYMEAL is not set 538# CONFIG_HAPPYMEAL is not set
@@ -527,11 +543,17 @@ CONFIG_VORTEX=y
527# CONFIG_TYPHOON is not set 543# CONFIG_TYPHOON is not set
528# CONFIG_NET_TULIP is not set 544# CONFIG_NET_TULIP is not set
529# CONFIG_HP100 is not set 545# CONFIG_HP100 is not set
546# CONFIG_IBM_NEW_EMAC_ZMII is not set
547# CONFIG_IBM_NEW_EMAC_RGMII is not set
548# CONFIG_IBM_NEW_EMAC_TAH is not set
549# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
530# CONFIG_NET_PCI is not set 550# CONFIG_NET_PCI is not set
551# CONFIG_B44 is not set
531CONFIG_NETDEV_1000=y 552CONFIG_NETDEV_1000=y
532# CONFIG_ACENIC is not set 553# CONFIG_ACENIC is not set
533# CONFIG_DL2K is not set 554# CONFIG_DL2K is not set
534# CONFIG_E1000 is not set 555# CONFIG_E1000 is not set
556# CONFIG_E1000E is not set
535# CONFIG_NS83820 is not set 557# CONFIG_NS83820 is not set
536# CONFIG_HAMACHI is not set 558# CONFIG_HAMACHI is not set
537# CONFIG_YELLOWFIN is not set 559# CONFIG_YELLOWFIN is not set
@@ -539,20 +561,25 @@ CONFIG_NETDEV_1000=y
539# CONFIG_SIS190 is not set 561# CONFIG_SIS190 is not set
540# CONFIG_SKGE is not set 562# CONFIG_SKGE is not set
541# CONFIG_SKY2 is not set 563# CONFIG_SKY2 is not set
564# CONFIG_SK98LIN is not set
542# CONFIG_VIA_VELOCITY is not set 565# CONFIG_VIA_VELOCITY is not set
543# CONFIG_TIGON3 is not set 566# CONFIG_TIGON3 is not set
544# CONFIG_BNX2 is not set 567# CONFIG_BNX2 is not set
545CONFIG_TSI108_ETH=y 568CONFIG_TSI108_ETH=y
569# CONFIG_MV643XX_ETH is not set
546# CONFIG_QLA3XXX is not set 570# CONFIG_QLA3XXX is not set
547# CONFIG_ATL1 is not set 571# CONFIG_ATL1 is not set
548CONFIG_NETDEV_10000=y 572CONFIG_NETDEV_10000=y
549# CONFIG_CHELSIO_T1 is not set 573# CONFIG_CHELSIO_T1 is not set
550# CONFIG_CHELSIO_T3 is not set 574# CONFIG_CHELSIO_T3 is not set
575# CONFIG_IXGBE is not set
551# CONFIG_IXGB is not set 576# CONFIG_IXGB is not set
552# CONFIG_S2IO is not set 577# CONFIG_S2IO is not set
553# CONFIG_MYRI10GE is not set 578# CONFIG_MYRI10GE is not set
554# CONFIG_NETXEN_NIC is not set 579# CONFIG_NETXEN_NIC is not set
580# CONFIG_NIU is not set
555# CONFIG_MLX4_CORE is not set 581# CONFIG_MLX4_CORE is not set
582# CONFIG_TEHUTI is not set
556# CONFIG_TR is not set 583# CONFIG_TR is not set
557 584
558# 585#
@@ -585,7 +612,6 @@ CONFIG_INPUT=y
585# 612#
586# CONFIG_INPUT_MOUSEDEV is not set 613# CONFIG_INPUT_MOUSEDEV is not set
587# CONFIG_INPUT_JOYDEV is not set 614# CONFIG_INPUT_JOYDEV is not set
588# CONFIG_INPUT_TSDEV is not set
589# CONFIG_INPUT_EVDEV is not set 615# CONFIG_INPUT_EVDEV is not set
590# CONFIG_INPUT_EVBUG is not set 616# CONFIG_INPUT_EVBUG is not set
591 617
@@ -637,15 +663,12 @@ CONFIG_UNIX98_PTYS=y
637CONFIG_LEGACY_PTYS=y 663CONFIG_LEGACY_PTYS=y
638CONFIG_LEGACY_PTY_COUNT=256 664CONFIG_LEGACY_PTY_COUNT=256
639# CONFIG_IPMI_HANDLER is not set 665# CONFIG_IPMI_HANDLER is not set
640# CONFIG_WATCHDOG is not set
641# CONFIG_HW_RANDOM is not set 666# CONFIG_HW_RANDOM is not set
642# CONFIG_NVRAM is not set 667# CONFIG_NVRAM is not set
643CONFIG_GEN_RTC=y 668CONFIG_GEN_RTC=y
644# CONFIG_GEN_RTC_X is not set 669# CONFIG_GEN_RTC_X is not set
645# CONFIG_R3964 is not set 670# CONFIG_R3964 is not set
646# CONFIG_APPLICOM is not set 671# CONFIG_APPLICOM is not set
647# CONFIG_AGP is not set
648# CONFIG_DRM is not set
649# CONFIG_RAW_DRIVER is not set 672# CONFIG_RAW_DRIVER is not set
650# CONFIG_TCG_TPM is not set 673# CONFIG_TCG_TPM is not set
651CONFIG_DEVPORT=y 674CONFIG_DEVPORT=y
@@ -660,9 +683,9 @@ CONFIG_DEVPORT=y
660# CONFIG_POWER_SUPPLY is not set 683# CONFIG_POWER_SUPPLY is not set
661CONFIG_HWMON=y 684CONFIG_HWMON=y
662# CONFIG_HWMON_VID is not set 685# CONFIG_HWMON_VID is not set
663# CONFIG_SENSORS_ABITUGURU is not set 686# CONFIG_SENSORS_I5K_AMB is not set
664# CONFIG_SENSORS_ABITUGURU3 is not set
665# CONFIG_SENSORS_F71805F is not set 687# CONFIG_SENSORS_F71805F is not set
688# CONFIG_SENSORS_F71882FG is not set
666# CONFIG_SENSORS_IT87 is not set 689# CONFIG_SENSORS_IT87 is not set
667# CONFIG_SENSORS_PC87360 is not set 690# CONFIG_SENSORS_PC87360 is not set
668# CONFIG_SENSORS_PC87427 is not set 691# CONFIG_SENSORS_PC87427 is not set
@@ -675,6 +698,13 @@ CONFIG_HWMON=y
675# CONFIG_SENSORS_W83627HF is not set 698# CONFIG_SENSORS_W83627HF is not set
676# CONFIG_SENSORS_W83627EHF is not set 699# CONFIG_SENSORS_W83627EHF is not set
677# CONFIG_HWMON_DEBUG_CHIP is not set 700# CONFIG_HWMON_DEBUG_CHIP is not set
701# CONFIG_WATCHDOG is not set
702
703#
704# Sonics Silicon Backplane
705#
706CONFIG_SSB_POSSIBLE=y
707# CONFIG_SSB is not set
678 708
679# 709#
680# Multifunction device drivers 710# Multifunction device drivers
@@ -691,16 +721,17 @@ CONFIG_HWMON=y
691# 721#
692# Graphics support 722# Graphics support
693# 723#
724# CONFIG_AGP is not set
725# CONFIG_DRM is not set
726# CONFIG_VGASTATE is not set
727# CONFIG_VIDEO_OUTPUT_CONTROL is not set
728# CONFIG_FB is not set
694# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 729# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
695 730
696# 731#
697# Display device support 732# Display device support
698# 733#
699# CONFIG_DISPLAY_SUPPORT is not set 734# CONFIG_DISPLAY_SUPPORT is not set
700# CONFIG_VGASTATE is not set
701# CONFIG_VIDEO_OUTPUT_CONTROL is not set
702# CONFIG_FB is not set
703# CONFIG_FB_IBM_GXT4500 is not set
704 735
705# 736#
706# Sound 737# Sound
@@ -709,6 +740,7 @@ CONFIG_HWMON=y
709CONFIG_HID_SUPPORT=y 740CONFIG_HID_SUPPORT=y
710CONFIG_HID=y 741CONFIG_HID=y
711# CONFIG_HID_DEBUG is not set 742# CONFIG_HID_DEBUG is not set
743# CONFIG_HIDRAW is not set
712CONFIG_USB_SUPPORT=y 744CONFIG_USB_SUPPORT=y
713CONFIG_USB_ARCH_HAS_HCD=y 745CONFIG_USB_ARCH_HAS_HCD=y
714CONFIG_USB_ARCH_HAS_OHCI=y 746CONFIG_USB_ARCH_HAS_OHCI=y
@@ -730,19 +762,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
730# CONFIG_RTC_CLASS is not set 762# CONFIG_RTC_CLASS is not set
731 763
732# 764#
733# DMA Engine support
734#
735# CONFIG_DMA_ENGINE is not set
736
737#
738# DMA Clients
739#
740
741#
742# DMA Devices
743#
744
745#
746# Userspace I/O 765# Userspace I/O
747# 766#
748# CONFIG_UIO is not set 767# CONFIG_UIO is not set
@@ -759,7 +778,6 @@ CONFIG_EXT3_FS_XATTR=y
759# CONFIG_EXT3_FS_SECURITY is not set 778# CONFIG_EXT3_FS_SECURITY is not set
760# CONFIG_EXT4DEV_FS is not set 779# CONFIG_EXT4DEV_FS is not set
761CONFIG_JBD=y 780CONFIG_JBD=y
762# CONFIG_JBD_DEBUG is not set
763CONFIG_FS_MBCACHE=y 781CONFIG_FS_MBCACHE=y
764# CONFIG_REISERFS_FS is not set 782# CONFIG_REISERFS_FS is not set
765# CONFIG_JFS_FS is not set 783# CONFIG_JFS_FS is not set
@@ -800,7 +818,6 @@ CONFIG_SYSFS=y
800CONFIG_TMPFS=y 818CONFIG_TMPFS=y
801# CONFIG_TMPFS_POSIX_ACL is not set 819# CONFIG_TMPFS_POSIX_ACL is not set
802# CONFIG_HUGETLB_PAGE is not set 820# CONFIG_HUGETLB_PAGE is not set
803CONFIG_RAMFS=y
804# CONFIG_CONFIGFS_FS is not set 821# CONFIG_CONFIGFS_FS is not set
805 822
806# 823#
@@ -819,10 +836,7 @@ CONFIG_RAMFS=y
819# CONFIG_QNX4FS_FS is not set 836# CONFIG_QNX4FS_FS is not set
820# CONFIG_SYSV_FS is not set 837# CONFIG_SYSV_FS is not set
821# CONFIG_UFS_FS is not set 838# CONFIG_UFS_FS is not set
822 839CONFIG_NETWORK_FILESYSTEMS=y
823#
824# Network File Systems
825#
826CONFIG_NFS_FS=y 840CONFIG_NFS_FS=y
827# CONFIG_NFS_V3 is not set 841# CONFIG_NFS_V3 is not set
828# CONFIG_NFS_V4 is not set 842# CONFIG_NFS_V4 is not set
@@ -862,15 +876,7 @@ CONFIG_MSDOS_PARTITION=y
862# CONFIG_KARMA_PARTITION is not set 876# CONFIG_KARMA_PARTITION is not set
863# CONFIG_EFI_PARTITION is not set 877# CONFIG_EFI_PARTITION is not set
864# CONFIG_SYSV68_PARTITION is not set 878# CONFIG_SYSV68_PARTITION is not set
865
866#
867# Native Language Support
868#
869# CONFIG_NLS is not set 879# CONFIG_NLS is not set
870
871#
872# Distributed Lock Manager
873#
874# CONFIG_DLM is not set 880# CONFIG_DLM is not set
875# CONFIG_UCC_SLOW is not set 881# CONFIG_UCC_SLOW is not set
876 882
@@ -888,17 +894,13 @@ CONFIG_PLIST=y
888CONFIG_HAS_IOMEM=y 894CONFIG_HAS_IOMEM=y
889CONFIG_HAS_IOPORT=y 895CONFIG_HAS_IOPORT=y
890CONFIG_HAS_DMA=y 896CONFIG_HAS_DMA=y
891 897# CONFIG_INSTRUMENTATION is not set
892#
893# Instrumentation Support
894#
895# CONFIG_PROFILING is not set
896# CONFIG_KPROBES is not set
897 898
898# 899#
899# Kernel hacking 900# Kernel hacking
900# 901#
901# CONFIG_PRINTK_TIME is not set 902# CONFIG_PRINTK_TIME is not set
903CONFIG_ENABLE_WARN_DEPRECATED=y
902CONFIG_ENABLE_MUST_CHECK=y 904CONFIG_ENABLE_MUST_CHECK=y
903CONFIG_MAGIC_SYSRQ=y 905CONFIG_MAGIC_SYSRQ=y
904# CONFIG_UNUSED_SYMBOLS is not set 906# CONFIG_UNUSED_SYMBOLS is not set
@@ -922,9 +924,12 @@ CONFIG_DETECT_SOFTLOCKUP=y
922# CONFIG_DEBUG_INFO is not set 924# CONFIG_DEBUG_INFO is not set
923# CONFIG_DEBUG_VM is not set 925# CONFIG_DEBUG_VM is not set
924# CONFIG_DEBUG_LIST is not set 926# CONFIG_DEBUG_LIST is not set
927# CONFIG_DEBUG_SG is not set
925CONFIG_FORCED_INLINING=y 928CONFIG_FORCED_INLINING=y
929# CONFIG_BOOT_PRINTK_DELAY is not set
926# CONFIG_RCU_TORTURE_TEST is not set 930# CONFIG_RCU_TORTURE_TEST is not set
927# CONFIG_FAULT_INJECTION is not set 931# CONFIG_FAULT_INJECTION is not set
932# CONFIG_SAMPLES is not set
928# CONFIG_DEBUG_STACKOVERFLOW is not set 933# CONFIG_DEBUG_STACKOVERFLOW is not set
929# CONFIG_DEBUG_STACK_USAGE is not set 934# CONFIG_DEBUG_STACK_USAGE is not set
930# CONFIG_DEBUG_PAGEALLOC is not set 935# CONFIG_DEBUG_PAGEALLOC is not set
@@ -933,6 +938,7 @@ CONFIG_XMON=y
933CONFIG_XMON_DEFAULT=y 938CONFIG_XMON_DEFAULT=y
934CONFIG_XMON_DISASSEMBLY=y 939CONFIG_XMON_DISASSEMBLY=y
935# CONFIG_BDI_SWITCH is not set 940# CONFIG_BDI_SWITCH is not set
941# CONFIG_BOOTX_TEXT is not set
936# CONFIG_PPC_EARLY_DEBUG is not set 942# CONFIG_PPC_EARLY_DEBUG is not set
937 943
938# 944#
@@ -940,4 +946,6 @@ CONFIG_XMON_DISASSEMBLY=y
940# 946#
941# CONFIG_KEYS is not set 947# CONFIG_KEYS is not set
942# CONFIG_SECURITY is not set 948# CONFIG_SECURITY is not set
949# CONFIG_SECURITY_FILE_CAPABILITIES is not set
943# CONFIG_CRYPTO is not set 950# CONFIG_CRYPTO is not set
951# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index d78e3a6fc68c..4a87745c7803 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc3
4# Thu Aug 30 16:37:16 2007 4# Wed Nov 21 11:19:59 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14# CONFIG_TUNE_CELL is not set
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15# CONFIG_ALTIVEC is not set 16# CONFIG_ALTIVEC is not set
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=32 21CONFIG_NR_CPUS=32
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,12 +69,17 @@ CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
66CONFIG_AUDIT=y 73CONFIG_AUDIT=y
67CONFIG_AUDITSYSCALL=y 74CONFIG_AUDITSYSCALL=y
75CONFIG_AUDIT_TREE=y
68CONFIG_IKCONFIG=y 76CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 77CONFIG_IKCONFIG_PROC=y
70CONFIG_LOG_BUF_SHIFT=17 78CONFIG_LOG_BUF_SHIFT=17
71# CONFIG_CPUSETS is not set 79# CONFIG_CGROUPS is not set
80CONFIG_FAIR_GROUP_SCHED=y
81CONFIG_FAIR_USER_SCHED=y
82# CONFIG_FAIR_CGROUP_SCHED is not set
72CONFIG_SYSFS_DEPRECATED=y 83CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 84# CONFIG_RELAY is not set
74CONFIG_BLK_DEV_INITRD=y 85CONFIG_BLK_DEV_INITRD=y
@@ -89,7 +100,6 @@ CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 101CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 104CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y 105CONFIG_VM_EVENT_COUNTERS=y
@@ -110,6 +120,7 @@ CONFIG_STOP_MACHINE=y
110CONFIG_BLOCK=y 120CONFIG_BLOCK=y
111# CONFIG_BLK_DEV_IO_TRACE is not set 121# CONFIG_BLK_DEV_IO_TRACE is not set
112CONFIG_BLK_DEV_BSG=y 122CONFIG_BLK_DEV_BSG=y
123CONFIG_BLOCK_COMPAT=y
113 124
114# 125#
115# IO Schedulers 126# IO Schedulers
@@ -128,7 +139,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
128# Platform support 139# Platform support
129# 140#
130CONFIG_PPC_MULTIPLATFORM=y 141CONFIG_PPC_MULTIPLATFORM=y
131# CONFIG_EMBEDDED6xx is not set
132# CONFIG_PPC_82xx is not set 142# CONFIG_PPC_82xx is not set
133# CONFIG_PPC_83xx is not set 143# CONFIG_PPC_83xx is not set
134# CONFIG_PPC_86xx is not set 144# CONFIG_PPC_86xx is not set
@@ -172,6 +182,10 @@ CONFIG_GENERIC_IOMAP=y
172# 182#
173# Kernel options 183# Kernel options
174# 184#
185CONFIG_TICK_ONESHOT=y
186CONFIG_NO_HZ=y
187CONFIG_HIGH_RES_TIMERS=y
188CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
175# CONFIG_HZ_100 is not set 189# CONFIG_HZ_100 is not set
176CONFIG_HZ_250=y 190CONFIG_HZ_250=y
177# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
@@ -201,6 +215,7 @@ CONFIG_FLATMEM_MANUAL=y
201CONFIG_FLATMEM=y 215CONFIG_FLATMEM=y
202CONFIG_FLAT_NODE_MEM_MAP=y 216CONFIG_FLAT_NODE_MEM_MAP=y
203# CONFIG_SPARSEMEM_STATIC is not set 217# CONFIG_SPARSEMEM_STATIC is not set
218CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
204CONFIG_SPLIT_PTLOCK_CPUS=4 219CONFIG_SPLIT_PTLOCK_CPUS=4
205CONFIG_RESOURCES_64BIT=y 220CONFIG_RESOURCES_64BIT=y
206CONFIG_ZONE_DMA_FLAG=1 221CONFIG_ZONE_DMA_FLAG=1
@@ -227,11 +242,8 @@ CONFIG_PCI_SYSCALL=y
227# CONFIG_PCIEPORTBUS is not set 242# CONFIG_PCIEPORTBUS is not set
228CONFIG_ARCH_SUPPORTS_MSI=y 243CONFIG_ARCH_SUPPORTS_MSI=y
229# CONFIG_PCI_MSI is not set 244# CONFIG_PCI_MSI is not set
245CONFIG_PCI_LEGACY=y
230# CONFIG_PCI_DEBUG is not set 246# CONFIG_PCI_DEBUG is not set
231
232#
233# PCCARD (PCMCIA/CardBus) support
234#
235# CONFIG_PCCARD is not set 247# CONFIG_PCCARD is not set
236# CONFIG_HOTPLUG_PCI is not set 248# CONFIG_HOTPLUG_PCI is not set
237CONFIG_KERNEL_START=0xc000000000000000 249CONFIG_KERNEL_START=0xc000000000000000
@@ -271,6 +283,7 @@ CONFIG_INET_TUNNEL=y
271CONFIG_INET_XFRM_MODE_TRANSPORT=y 283CONFIG_INET_XFRM_MODE_TRANSPORT=y
272CONFIG_INET_XFRM_MODE_TUNNEL=y 284CONFIG_INET_XFRM_MODE_TUNNEL=y
273CONFIG_INET_XFRM_MODE_BEET=m 285CONFIG_INET_XFRM_MODE_BEET=m
286# CONFIG_INET_LRO is not set
274CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -338,6 +351,7 @@ CONFIG_NETFILTER_XT_MATCH_SCTP=m
338# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 351# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
339CONFIG_NETFILTER_XT_MATCH_STRING=m 352CONFIG_NETFILTER_XT_MATCH_STRING=m
340CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 353CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
354CONFIG_NETFILTER_XT_MATCH_TIME=m
341# CONFIG_NETFILTER_XT_MATCH_U32 is not set 355# CONFIG_NETFILTER_XT_MATCH_U32 is not set
342# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 356# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
343 357
@@ -403,10 +417,6 @@ CONFIG_LLC=y
403# CONFIG_LAPB is not set 417# CONFIG_LAPB is not set
404# CONFIG_ECONET is not set 418# CONFIG_ECONET is not set
405# CONFIG_WAN_ROUTER is not set 419# CONFIG_WAN_ROUTER is not set
406
407#
408# QoS and/or fair queueing
409#
410# CONFIG_NET_SCHED is not set 420# CONFIG_NET_SCHED is not set
411CONFIG_NET_CLS_ROUTE=y 421CONFIG_NET_CLS_ROUTE=y
412 422
@@ -436,6 +446,7 @@ CONFIG_NET_CLS_ROUTE=y
436# 446#
437# Generic Driver Options 447# Generic Driver Options
438# 448#
449CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
439CONFIG_STANDALONE=y 450CONFIG_STANDALONE=y
440CONFIG_PREVENT_FIRMWARE_BUILD=y 451CONFIG_PREVENT_FIRMWARE_BUILD=y
441CONFIG_FW_LOADER=m 452CONFIG_FW_LOADER=m
@@ -508,6 +519,7 @@ CONFIG_SCSI_FC_ATTRS=y
508CONFIG_SCSI_SAS_ATTRS=m 519CONFIG_SCSI_SAS_ATTRS=m
509CONFIG_SCSI_SAS_LIBSAS=m 520CONFIG_SCSI_SAS_LIBSAS=m
510CONFIG_SCSI_SAS_LIBSAS_DEBUG=y 521CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
522CONFIG_SCSI_SRP_ATTRS=m
511CONFIG_SCSI_LOWLEVEL=y 523CONFIG_SCSI_LOWLEVEL=y
512# CONFIG_ISCSI_TCP is not set 524# CONFIG_ISCSI_TCP is not set
513# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 525# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -559,14 +571,8 @@ CONFIG_DM_MIRROR=m
559CONFIG_DM_ZERO=m 571CONFIG_DM_ZERO=m
560# CONFIG_DM_MULTIPATH is not set 572# CONFIG_DM_MULTIPATH is not set
561# CONFIG_DM_DELAY is not set 573# CONFIG_DM_DELAY is not set
562 574# CONFIG_DM_UEVENT is not set
563#
564# Fusion MPT device support
565#
566# CONFIG_FUSION is not set 575# CONFIG_FUSION is not set
567# CONFIG_FUSION_SPI is not set
568# CONFIG_FUSION_FC is not set
569# CONFIG_FUSION_SAS is not set
570 576
571# 577#
572# IEEE 1394 (FireWire) support 578# IEEE 1394 (FireWire) support
@@ -582,6 +588,8 @@ CONFIG_BONDING=m
582# CONFIG_MACVLAN is not set 588# CONFIG_MACVLAN is not set
583# CONFIG_EQUALIZER is not set 589# CONFIG_EQUALIZER is not set
584CONFIG_TUN=m 590CONFIG_TUN=m
591# CONFIG_VETH is not set
592# CONFIG_IP1000 is not set
585# CONFIG_ARCNET is not set 593# CONFIG_ARCNET is not set
586# CONFIG_PHYLIB is not set 594# CONFIG_PHYLIB is not set
587CONFIG_NET_ETHERNET=y 595CONFIG_NET_ETHERNET=y
@@ -592,6 +600,10 @@ CONFIG_MII=y
592# CONFIG_NET_VENDOR_3COM is not set 600# CONFIG_NET_VENDOR_3COM is not set
593# CONFIG_NET_TULIP is not set 601# CONFIG_NET_TULIP is not set
594# CONFIG_HP100 is not set 602# CONFIG_HP100 is not set
603# CONFIG_IBM_NEW_EMAC_ZMII is not set
604# CONFIG_IBM_NEW_EMAC_RGMII is not set
605# CONFIG_IBM_NEW_EMAC_TAH is not set
606# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
595CONFIG_NET_PCI=y 607CONFIG_NET_PCI=y
596CONFIG_PCNET32=y 608CONFIG_PCNET32=y
597CONFIG_PCNET32_NAPI=y 609CONFIG_PCNET32_NAPI=y
@@ -599,7 +611,6 @@ CONFIG_PCNET32_NAPI=y
599# CONFIG_ADAPTEC_STARFIRE is not set 611# CONFIG_ADAPTEC_STARFIRE is not set
600# CONFIG_B44 is not set 612# CONFIG_B44 is not set
601# CONFIG_FORCEDETH is not set 613# CONFIG_FORCEDETH is not set
602# CONFIG_DGRS is not set
603# CONFIG_EEPRO100 is not set 614# CONFIG_EEPRO100 is not set
604CONFIG_E100=y 615CONFIG_E100=y
605# CONFIG_FEALNX is not set 616# CONFIG_FEALNX is not set
@@ -619,6 +630,7 @@ CONFIG_ACENIC=m
619CONFIG_E1000=m 630CONFIG_E1000=m
620# CONFIG_E1000_NAPI is not set 631# CONFIG_E1000_NAPI is not set
621# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 632# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
633# CONFIG_E1000E is not set
622# CONFIG_NS83820 is not set 634# CONFIG_NS83820 is not set
623# CONFIG_HAMACHI is not set 635# CONFIG_HAMACHI is not set
624# CONFIG_YELLOWFIN is not set 636# CONFIG_YELLOWFIN is not set
@@ -626,6 +638,7 @@ CONFIG_E1000=m
626# CONFIG_SIS190 is not set 638# CONFIG_SIS190 is not set
627# CONFIG_SKGE is not set 639# CONFIG_SKGE is not set
628# CONFIG_SKY2 is not set 640# CONFIG_SKY2 is not set
641# CONFIG_SK98LIN is not set
629# CONFIG_VIA_VELOCITY is not set 642# CONFIG_VIA_VELOCITY is not set
630# CONFIG_TIGON3 is not set 643# CONFIG_TIGON3 is not set
631# CONFIG_BNX2 is not set 644# CONFIG_BNX2 is not set
@@ -634,12 +647,15 @@ CONFIG_E1000=m
634CONFIG_NETDEV_10000=y 647CONFIG_NETDEV_10000=y
635# CONFIG_CHELSIO_T1 is not set 648# CONFIG_CHELSIO_T1 is not set
636# CONFIG_CHELSIO_T3 is not set 649# CONFIG_CHELSIO_T3 is not set
650# CONFIG_IXGBE is not set
637# CONFIG_IXGB is not set 651# CONFIG_IXGB is not set
638# CONFIG_S2IO is not set 652# CONFIG_S2IO is not set
639# CONFIG_MYRI10GE is not set 653# CONFIG_MYRI10GE is not set
640# CONFIG_NETXEN_NIC is not set 654# CONFIG_NETXEN_NIC is not set
655# CONFIG_NIU is not set
641# CONFIG_PASEMI_MAC is not set 656# CONFIG_PASEMI_MAC is not set
642# CONFIG_MLX4_CORE is not set 657# CONFIG_MLX4_CORE is not set
658# CONFIG_TEHUTI is not set
643CONFIG_TR=y 659CONFIG_TR=y
644CONFIG_IBMOL=y 660CONFIG_IBMOL=y
645# CONFIG_3C359 is not set 661# CONFIG_3C359 is not set
@@ -669,6 +685,7 @@ CONFIG_SLHC=m
669# CONFIG_NET_FC is not set 685# CONFIG_NET_FC is not set
670# CONFIG_SHAPER is not set 686# CONFIG_SHAPER is not set
671CONFIG_NETCONSOLE=y 687CONFIG_NETCONSOLE=y
688# CONFIG_NETCONSOLE_DYNAMIC is not set
672CONFIG_NETPOLL=y 689CONFIG_NETPOLL=y
673CONFIG_NETPOLL_TRAP=y 690CONFIG_NETPOLL_TRAP=y
674CONFIG_NET_POLL_CONTROLLER=y 691CONFIG_NET_POLL_CONTROLLER=y
@@ -690,7 +707,6 @@ CONFIG_INPUT_MOUSEDEV=y
690CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 707CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
691CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 708CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
692# CONFIG_INPUT_JOYDEV is not set 709# CONFIG_INPUT_JOYDEV is not set
693# CONFIG_INPUT_TSDEV is not set
694# CONFIG_INPUT_EVDEV is not set 710# CONFIG_INPUT_EVDEV is not set
695# CONFIG_INPUT_EVBUG is not set 711# CONFIG_INPUT_EVBUG is not set
696 712
@@ -736,14 +752,11 @@ CONFIG_LEGACY_PTY_COUNT=256
736CONFIG_HVC_DRIVER=y 752CONFIG_HVC_DRIVER=y
737CONFIG_HVC_ISERIES=y 753CONFIG_HVC_ISERIES=y
738# CONFIG_IPMI_HANDLER is not set 754# CONFIG_IPMI_HANDLER is not set
739# CONFIG_WATCHDOG is not set
740# CONFIG_HW_RANDOM is not set 755# CONFIG_HW_RANDOM is not set
741CONFIG_GEN_RTC=y 756CONFIG_GEN_RTC=y
742# CONFIG_GEN_RTC_X is not set 757# CONFIG_GEN_RTC_X is not set
743# CONFIG_R3964 is not set 758# CONFIG_R3964 is not set
744# CONFIG_APPLICOM is not set 759# CONFIG_APPLICOM is not set
745# CONFIG_AGP is not set
746# CONFIG_DRM is not set
747CONFIG_RAW_DRIVER=y 760CONFIG_RAW_DRIVER=y
748CONFIG_MAX_RAW_DEVS=256 761CONFIG_MAX_RAW_DEVS=256
749# CONFIG_HANGCHECK_TIMER is not set 762# CONFIG_HANGCHECK_TIMER is not set
@@ -759,6 +772,13 @@ CONFIG_DEVPORT=y
759# CONFIG_W1 is not set 772# CONFIG_W1 is not set
760# CONFIG_POWER_SUPPLY is not set 773# CONFIG_POWER_SUPPLY is not set
761# CONFIG_HWMON is not set 774# CONFIG_HWMON is not set
775# CONFIG_WATCHDOG is not set
776
777#
778# Sonics Silicon Backplane
779#
780CONFIG_SSB_POSSIBLE=y
781# CONFIG_SSB is not set
762 782
763# 783#
764# Multifunction device drivers 784# Multifunction device drivers
@@ -775,16 +795,17 @@ CONFIG_DEVPORT=y
775# 795#
776# Graphics support 796# Graphics support
777# 797#
798# CONFIG_AGP is not set
799# CONFIG_DRM is not set
800# CONFIG_VGASTATE is not set
801# CONFIG_VIDEO_OUTPUT_CONTROL is not set
802# CONFIG_FB is not set
778# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 803# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
779 804
780# 805#
781# Display device support 806# Display device support
782# 807#
783# CONFIG_DISPLAY_SUPPORT is not set 808# CONFIG_DISPLAY_SUPPORT is not set
784# CONFIG_VGASTATE is not set
785# CONFIG_VIDEO_OUTPUT_CONTROL is not set
786# CONFIG_FB is not set
787# CONFIG_FB_IBM_GXT4500 is not set
788 809
789# 810#
790# Console display driver support 811# Console display driver support
@@ -806,19 +827,6 @@ CONFIG_DUMMY_CONSOLE=y
806# CONFIG_RTC_CLASS is not set 827# CONFIG_RTC_CLASS is not set
807 828
808# 829#
809# DMA Engine support
810#
811# CONFIG_DMA_ENGINE is not set
812
813#
814# DMA Clients
815#
816
817#
818# DMA Devices
819#
820
821#
822# Userspace I/O 830# Userspace I/O
823# 831#
824# CONFIG_UIO is not set 832# CONFIG_UIO is not set
@@ -902,7 +910,6 @@ CONFIG_TMPFS=y
902CONFIG_TMPFS_POSIX_ACL=y 910CONFIG_TMPFS_POSIX_ACL=y
903# CONFIG_HUGETLBFS is not set 911# CONFIG_HUGETLBFS is not set
904# CONFIG_HUGETLB_PAGE is not set 912# CONFIG_HUGETLB_PAGE is not set
905CONFIG_RAMFS=y
906CONFIG_CONFIGFS_FS=m 913CONFIG_CONFIGFS_FS=m
907 914
908# 915#
@@ -921,10 +928,7 @@ CONFIG_CRAMFS=y
921# CONFIG_QNX4FS_FS is not set 928# CONFIG_QNX4FS_FS is not set
922# CONFIG_SYSV_FS is not set 929# CONFIG_SYSV_FS is not set
923# CONFIG_UFS_FS is not set 930# CONFIG_UFS_FS is not set
924 931CONFIG_NETWORK_FILESYSTEMS=y
925#
926# Network File Systems
927#
928CONFIG_NFS_FS=y 932CONFIG_NFS_FS=y
929CONFIG_NFS_V3=y 933CONFIG_NFS_V3=y
930CONFIG_NFS_V3_ACL=y 934CONFIG_NFS_V3_ACL=y
@@ -963,10 +967,6 @@ CONFIG_CIFS_POSIX=y
963# 967#
964# CONFIG_PARTITION_ADVANCED is not set 968# CONFIG_PARTITION_ADVANCED is not set
965CONFIG_MSDOS_PARTITION=y 969CONFIG_MSDOS_PARTITION=y
966
967#
968# Native Language Support
969#
970CONFIG_NLS=y 970CONFIG_NLS=y
971CONFIG_NLS_DEFAULT="iso8859-1" 971CONFIG_NLS_DEFAULT="iso8859-1"
972CONFIG_NLS_CODEPAGE_437=y 972CONFIG_NLS_CODEPAGE_437=y
@@ -1007,10 +1007,6 @@ CONFIG_NLS_ISO8859_1=y
1007# CONFIG_NLS_KOI8_R is not set 1007# CONFIG_NLS_KOI8_R is not set
1008# CONFIG_NLS_KOI8_U is not set 1008# CONFIG_NLS_KOI8_U is not set
1009# CONFIG_NLS_UTF8 is not set 1009# CONFIG_NLS_UTF8 is not set
1010
1011#
1012# Distributed Lock Manager
1013#
1014CONFIG_DLM=m 1010CONFIG_DLM=m
1015# CONFIG_DLM_DEBUG is not set 1011# CONFIG_DLM_DEBUG is not set
1016# CONFIG_UCC_SLOW is not set 1012# CONFIG_UCC_SLOW is not set
@@ -1035,17 +1031,16 @@ CONFIG_PLIST=y
1035CONFIG_HAS_IOMEM=y 1031CONFIG_HAS_IOMEM=y
1036CONFIG_HAS_IOPORT=y 1032CONFIG_HAS_IOPORT=y
1037CONFIG_HAS_DMA=y 1033CONFIG_HAS_DMA=y
1038 1034CONFIG_INSTRUMENTATION=y
1039#
1040# Instrumentation Support
1041#
1042# CONFIG_PROFILING is not set 1035# CONFIG_PROFILING is not set
1043# CONFIG_KPROBES is not set 1036# CONFIG_KPROBES is not set
1037# CONFIG_MARKERS is not set
1044 1038
1045# 1039#
1046# Kernel hacking 1040# Kernel hacking
1047# 1041#
1048# CONFIG_PRINTK_TIME is not set 1042# CONFIG_PRINTK_TIME is not set
1043CONFIG_ENABLE_WARN_DEPRECATED=y
1049CONFIG_ENABLE_MUST_CHECK=y 1044CONFIG_ENABLE_MUST_CHECK=y
1050CONFIG_MAGIC_SYSRQ=y 1045CONFIG_MAGIC_SYSRQ=y
1051# CONFIG_UNUSED_SYMBOLS is not set 1046# CONFIG_UNUSED_SYMBOLS is not set
@@ -1069,14 +1064,18 @@ CONFIG_DEBUG_BUGVERBOSE=y
1069# CONFIG_DEBUG_INFO is not set 1064# CONFIG_DEBUG_INFO is not set
1070# CONFIG_DEBUG_VM is not set 1065# CONFIG_DEBUG_VM is not set
1071# CONFIG_DEBUG_LIST is not set 1066# CONFIG_DEBUG_LIST is not set
1067# CONFIG_DEBUG_SG is not set
1072# CONFIG_FORCED_INLINING is not set 1068# CONFIG_FORCED_INLINING is not set
1069# CONFIG_BOOT_PRINTK_DELAY is not set
1073# CONFIG_RCU_TORTURE_TEST is not set 1070# CONFIG_RCU_TORTURE_TEST is not set
1074# CONFIG_FAULT_INJECTION is not set 1071# CONFIG_FAULT_INJECTION is not set
1072# CONFIG_SAMPLES is not set
1075CONFIG_DEBUG_STACKOVERFLOW=y 1073CONFIG_DEBUG_STACKOVERFLOW=y
1076CONFIG_DEBUG_STACK_USAGE=y 1074CONFIG_DEBUG_STACK_USAGE=y
1077# CONFIG_DEBUG_PAGEALLOC is not set 1075# CONFIG_DEBUG_PAGEALLOC is not set
1078# CONFIG_DEBUGGER is not set 1076# CONFIG_DEBUGGER is not set
1079CONFIG_IRQSTACKS=y 1077CONFIG_IRQSTACKS=y
1078# CONFIG_VIRQ_DEBUG is not set
1080# CONFIG_BOOTX_TEXT is not set 1079# CONFIG_BOOTX_TEXT is not set
1081# CONFIG_PPC_EARLY_DEBUG is not set 1080# CONFIG_PPC_EARLY_DEBUG is not set
1082 1081
@@ -1085,8 +1084,10 @@ CONFIG_IRQSTACKS=y
1085# 1084#
1086# CONFIG_KEYS is not set 1085# CONFIG_KEYS is not set
1087# CONFIG_SECURITY is not set 1086# CONFIG_SECURITY is not set
1087# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1088CONFIG_CRYPTO=y 1088CONFIG_CRYPTO=y
1089CONFIG_CRYPTO_ALGAPI=y 1089CONFIG_CRYPTO_ALGAPI=y
1090CONFIG_CRYPTO_AEAD=m
1090CONFIG_CRYPTO_BLKCIPHER=y 1091CONFIG_CRYPTO_BLKCIPHER=y
1091CONFIG_CRYPTO_HASH=y 1092CONFIG_CRYPTO_HASH=y
1092CONFIG_CRYPTO_MANAGER=y 1093CONFIG_CRYPTO_MANAGER=y
@@ -1105,6 +1106,7 @@ CONFIG_CRYPTO_ECB=m
1105CONFIG_CRYPTO_CBC=y 1106CONFIG_CRYPTO_CBC=y
1106CONFIG_CRYPTO_PCBC=m 1107CONFIG_CRYPTO_PCBC=m
1107# CONFIG_CRYPTO_LRW is not set 1108# CONFIG_CRYPTO_LRW is not set
1109# CONFIG_CRYPTO_XTS is not set
1108# CONFIG_CRYPTO_CRYPTD is not set 1110# CONFIG_CRYPTO_CRYPTD is not set
1109CONFIG_CRYPTO_DES=y 1111CONFIG_CRYPTO_DES=y
1110# CONFIG_CRYPTO_FCRYPT is not set 1112# CONFIG_CRYPTO_FCRYPT is not set
@@ -1119,9 +1121,12 @@ CONFIG_CRYPTO_TEA=m
1119CONFIG_CRYPTO_ARC4=m 1121CONFIG_CRYPTO_ARC4=m
1120CONFIG_CRYPTO_KHAZAD=m 1122CONFIG_CRYPTO_KHAZAD=m
1121CONFIG_CRYPTO_ANUBIS=m 1123CONFIG_CRYPTO_ANUBIS=m
1124CONFIG_CRYPTO_SEED=m
1122CONFIG_CRYPTO_DEFLATE=m 1125CONFIG_CRYPTO_DEFLATE=m
1123CONFIG_CRYPTO_MICHAEL_MIC=m 1126CONFIG_CRYPTO_MICHAEL_MIC=m
1124CONFIG_CRYPTO_CRC32C=m 1127CONFIG_CRYPTO_CRC32C=m
1125# CONFIG_CRYPTO_CAMELLIA is not set 1128# CONFIG_CRYPTO_CAMELLIA is not set
1126CONFIG_CRYPTO_TEST=m 1129CONFIG_CRYPTO_TEST=m
1130CONFIG_CRYPTO_AUTHENC=m
1127# CONFIG_CRYPTO_HW is not set 1131# CONFIG_CRYPTO_HW is not set
1132# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/kilauea_defconfig b/arch/powerpc/configs/kilauea_defconfig
index fd1c530aa3ec..28dee12031f5 100644
--- a/arch/powerpc/configs/kilauea_defconfig
+++ b/arch/powerpc/configs/kilauea_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc9 3# Linux kernel version: 2.6.24-rc4
4# Thu Oct 11 19:05:15 2007 4# Thu Dec 6 16:48:20 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -65,9 +65,12 @@ CONFIG_POSIX_MQUEUE=y
65# CONFIG_BSD_PROCESS_ACCT is not set 65# CONFIG_BSD_PROCESS_ACCT is not set
66# CONFIG_TASKSTATS is not set 66# CONFIG_TASKSTATS is not set
67# CONFIG_USER_NS is not set 67# CONFIG_USER_NS is not set
68# CONFIG_PID_NS is not set
68# CONFIG_AUDIT is not set 69# CONFIG_AUDIT is not set
69# CONFIG_IKCONFIG is not set 70# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=14 71CONFIG_LOG_BUF_SHIFT=14
72# CONFIG_CGROUPS is not set
73# CONFIG_FAIR_GROUP_SCHED is not set
71CONFIG_SYSFS_DEPRECATED=y 74CONFIG_SYSFS_DEPRECATED=y
72# CONFIG_RELAY is not set 75# CONFIG_RELAY is not set
73CONFIG_BLK_DEV_INITRD=y 76CONFIG_BLK_DEV_INITRD=y
@@ -154,6 +157,7 @@ CONFIG_KILAUEA=y
154# CONFIG_TICK_ONESHOT is not set 157# CONFIG_TICK_ONESHOT is not set
155# CONFIG_NO_HZ is not set 158# CONFIG_NO_HZ is not set
156# CONFIG_HIGH_RES_TIMERS is not set 159# CONFIG_HIGH_RES_TIMERS is not set
160CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
157# CONFIG_HZ_100 is not set 161# CONFIG_HZ_100 is not set
158CONFIG_HZ_250=y 162CONFIG_HZ_250=y
159# CONFIG_HZ_300 is not set 163# CONFIG_HZ_300 is not set
@@ -175,6 +179,7 @@ CONFIG_FLATMEM_MANUAL=y
175CONFIG_FLATMEM=y 179CONFIG_FLATMEM=y
176CONFIG_FLAT_NODE_MEM_MAP=y 180CONFIG_FLAT_NODE_MEM_MAP=y
177# CONFIG_SPARSEMEM_STATIC is not set 181# CONFIG_SPARSEMEM_STATIC is not set
182# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
178CONFIG_SPLIT_PTLOCK_CPUS=4 183CONFIG_SPLIT_PTLOCK_CPUS=4
179# CONFIG_RESOURCES_64BIT is not set 184# CONFIG_RESOURCES_64BIT is not set
180CONFIG_ZONE_DMA_FLAG=1 185CONFIG_ZONE_DMA_FLAG=1
@@ -198,10 +203,6 @@ CONFIG_ZONE_DMA=y
198# CONFIG_PCI_DOMAINS is not set 203# CONFIG_PCI_DOMAINS is not set
199# CONFIG_PCI_SYSCALL is not set 204# CONFIG_PCI_SYSCALL is not set
200# CONFIG_ARCH_SUPPORTS_MSI is not set 205# CONFIG_ARCH_SUPPORTS_MSI is not set
201
202#
203# PCCARD (PCMCIA/CardBus) support
204#
205# CONFIG_PCCARD is not set 206# CONFIG_PCCARD is not set
206 207
207# 208#
@@ -215,7 +216,7 @@ CONFIG_ZONE_DMA=y
215CONFIG_HIGHMEM_START=0xfe000000 216CONFIG_HIGHMEM_START=0xfe000000
216CONFIG_LOWMEM_SIZE=0x30000000 217CONFIG_LOWMEM_SIZE=0x30000000
217CONFIG_KERNEL_START=0xc0000000 218CONFIG_KERNEL_START=0xc0000000
218CONFIG_TASK_SIZE=0x80000000 219CONFIG_TASK_SIZE=0xc0000000
219CONFIG_CONSISTENT_START=0xff100000 220CONFIG_CONSISTENT_START=0xff100000
220CONFIG_CONSISTENT_SIZE=0x00200000 221CONFIG_CONSISTENT_SIZE=0x00200000
221CONFIG_BOOT_LOAD=0x00400000 222CONFIG_BOOT_LOAD=0x00400000
@@ -252,6 +253,7 @@ CONFIG_IP_PNP_BOOTP=y
252# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 253# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
253# CONFIG_INET_XFRM_MODE_TUNNEL is not set 254# CONFIG_INET_XFRM_MODE_TUNNEL is not set
254# CONFIG_INET_XFRM_MODE_BEET is not set 255# CONFIG_INET_XFRM_MODE_BEET is not set
256# CONFIG_INET_LRO is not set
255CONFIG_INET_DIAG=y 257CONFIG_INET_DIAG=y
256CONFIG_INET_TCP_DIAG=y 258CONFIG_INET_TCP_DIAG=y
257# CONFIG_TCP_CONG_ADVANCED is not set 259# CONFIG_TCP_CONG_ADVANCED is not set
@@ -277,10 +279,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
277# CONFIG_LAPB is not set 279# CONFIG_LAPB is not set
278# CONFIG_ECONET is not set 280# CONFIG_ECONET is not set
279# CONFIG_WAN_ROUTER is not set 281# CONFIG_WAN_ROUTER is not set
280
281#
282# QoS and/or fair queueing
283#
284# CONFIG_NET_SCHED is not set 282# CONFIG_NET_SCHED is not set
285 283
286# 284#
@@ -309,6 +307,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# 307#
310# Generic Driver Options 308# Generic Driver Options
311# 309#
310CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
312CONFIG_STANDALONE=y 311CONFIG_STANDALONE=y
313CONFIG_PREVENT_FIRMWARE_BUILD=y 312CONFIG_PREVENT_FIRMWARE_BUILD=y
314CONFIG_FW_LOADER=y 313CONFIG_FW_LOADER=y
@@ -336,6 +335,7 @@ CONFIG_MTD_BLOCK=m
336# CONFIG_INFTL is not set 335# CONFIG_INFTL is not set
337# CONFIG_RFD_FTL is not set 336# CONFIG_RFD_FTL is not set
338# CONFIG_SSFDC is not set 337# CONFIG_SSFDC is not set
338# CONFIG_MTD_OOPS is not set
339 339
340# 340#
341# RAM/ROM/Flash chip drivers 341# RAM/ROM/Flash chip drivers
@@ -425,6 +425,7 @@ CONFIG_NETDEVICES=y
425# CONFIG_MACVLAN is not set 425# CONFIG_MACVLAN is not set
426# CONFIG_EQUALIZER is not set 426# CONFIG_EQUALIZER is not set
427# CONFIG_TUN is not set 427# CONFIG_TUN is not set
428# CONFIG_VETH is not set
428# CONFIG_NET_ETHERNET is not set 429# CONFIG_NET_ETHERNET is not set
429# CONFIG_NETDEV_1000 is not set 430# CONFIG_NETDEV_1000 is not set
430# CONFIG_NETDEV_10000 is not set 431# CONFIG_NETDEV_10000 is not set
@@ -485,7 +486,6 @@ CONFIG_UNIX98_PTYS=y
485CONFIG_LEGACY_PTYS=y 486CONFIG_LEGACY_PTYS=y
486CONFIG_LEGACY_PTY_COUNT=256 487CONFIG_LEGACY_PTY_COUNT=256
487# CONFIG_IPMI_HANDLER is not set 488# CONFIG_IPMI_HANDLER is not set
488# CONFIG_WATCHDOG is not set
489# CONFIG_HW_RANDOM is not set 489# CONFIG_HW_RANDOM is not set
490# CONFIG_NVRAM is not set 490# CONFIG_NVRAM is not set
491# CONFIG_GEN_RTC is not set 491# CONFIG_GEN_RTC is not set
@@ -502,6 +502,13 @@ CONFIG_LEGACY_PTY_COUNT=256
502# CONFIG_W1 is not set 502# CONFIG_W1 is not set
503# CONFIG_POWER_SUPPLY is not set 503# CONFIG_POWER_SUPPLY is not set
504# CONFIG_HWMON is not set 504# CONFIG_HWMON is not set
505# CONFIG_WATCHDOG is not set
506
507#
508# Sonics Silicon Backplane
509#
510CONFIG_SSB_POSSIBLE=y
511# CONFIG_SSB is not set
505 512
506# 513#
507# Multifunction device drivers 514# Multifunction device drivers
@@ -518,16 +525,15 @@ CONFIG_LEGACY_PTY_COUNT=256
518# 525#
519# Graphics support 526# Graphics support
520# 527#
528# CONFIG_VGASTATE is not set
529# CONFIG_VIDEO_OUTPUT_CONTROL is not set
530# CONFIG_FB is not set
521# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 531# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
522 532
523# 533#
524# Display device support 534# Display device support
525# 535#
526# CONFIG_DISPLAY_SUPPORT is not set 536# CONFIG_DISPLAY_SUPPORT is not set
527# CONFIG_VGASTATE is not set
528# CONFIG_VIDEO_OUTPUT_CONTROL is not set
529# CONFIG_FB is not set
530# CONFIG_FB_IBM_GXT4500 is not set
531 537
532# 538#
533# Sound 539# Sound
@@ -540,19 +546,6 @@ CONFIG_LEGACY_PTY_COUNT=256
540# CONFIG_RTC_CLASS is not set 546# CONFIG_RTC_CLASS is not set
541 547
542# 548#
543# DMA Engine support
544#
545# CONFIG_DMA_ENGINE is not set
546
547#
548# DMA Clients
549#
550
551#
552# DMA Devices
553#
554
555#
556# Userspace I/O 549# Userspace I/O
557# 550#
558# CONFIG_UIO is not set 551# CONFIG_UIO is not set
@@ -604,7 +597,6 @@ CONFIG_SYSFS=y
604CONFIG_TMPFS=y 597CONFIG_TMPFS=y
605# CONFIG_TMPFS_POSIX_ACL is not set 598# CONFIG_TMPFS_POSIX_ACL is not set
606# CONFIG_HUGETLB_PAGE is not set 599# CONFIG_HUGETLB_PAGE is not set
607CONFIG_RAMFS=y
608# CONFIG_CONFIGFS_FS is not set 600# CONFIG_CONFIGFS_FS is not set
609 601
610# 602#
@@ -624,10 +616,7 @@ CONFIG_CRAMFS=y
624# CONFIG_QNX4FS_FS is not set 616# CONFIG_QNX4FS_FS is not set
625# CONFIG_SYSV_FS is not set 617# CONFIG_SYSV_FS is not set
626# CONFIG_UFS_FS is not set 618# CONFIG_UFS_FS is not set
627 619CONFIG_NETWORK_FILESYSTEMS=y
628#
629# Network File Systems
630#
631CONFIG_NFS_FS=y 620CONFIG_NFS_FS=y
632CONFIG_NFS_V3=y 621CONFIG_NFS_V3=y
633# CONFIG_NFS_V3_ACL is not set 622# CONFIG_NFS_V3_ACL is not set
@@ -653,15 +642,7 @@ CONFIG_SUNRPC=y
653# 642#
654# CONFIG_PARTITION_ADVANCED is not set 643# CONFIG_PARTITION_ADVANCED is not set
655CONFIG_MSDOS_PARTITION=y 644CONFIG_MSDOS_PARTITION=y
656
657#
658# Native Language Support
659#
660# CONFIG_NLS is not set 645# CONFIG_NLS is not set
661
662#
663# Distributed Lock Manager
664#
665# CONFIG_DLM is not set 646# CONFIG_DLM is not set
666# CONFIG_UCC_SLOW is not set 647# CONFIG_UCC_SLOW is not set
667 648
@@ -680,16 +661,13 @@ CONFIG_PLIST=y
680CONFIG_HAS_IOMEM=y 661CONFIG_HAS_IOMEM=y
681CONFIG_HAS_IOPORT=y 662CONFIG_HAS_IOPORT=y
682CONFIG_HAS_DMA=y 663CONFIG_HAS_DMA=y
683 664# CONFIG_INSTRUMENTATION is not set
684#
685# Instrumentation Support
686#
687# CONFIG_PROFILING is not set
688 665
689# 666#
690# Kernel hacking 667# Kernel hacking
691# 668#
692# CONFIG_PRINTK_TIME is not set 669# CONFIG_PRINTK_TIME is not set
670CONFIG_ENABLE_WARN_DEPRECATED=y
693CONFIG_ENABLE_MUST_CHECK=y 671CONFIG_ENABLE_MUST_CHECK=y
694CONFIG_MAGIC_SYSRQ=y 672CONFIG_MAGIC_SYSRQ=y
695# CONFIG_UNUSED_SYMBOLS is not set 673# CONFIG_UNUSED_SYMBOLS is not set
@@ -713,9 +691,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
713# CONFIG_DEBUG_INFO is not set 691# CONFIG_DEBUG_INFO is not set
714# CONFIG_DEBUG_VM is not set 692# CONFIG_DEBUG_VM is not set
715# CONFIG_DEBUG_LIST is not set 693# CONFIG_DEBUG_LIST is not set
694# CONFIG_DEBUG_SG is not set
716CONFIG_FORCED_INLINING=y 695CONFIG_FORCED_INLINING=y
696# CONFIG_BOOT_PRINTK_DELAY is not set
717# CONFIG_RCU_TORTURE_TEST is not set 697# CONFIG_RCU_TORTURE_TEST is not set
718# CONFIG_FAULT_INJECTION is not set 698# CONFIG_FAULT_INJECTION is not set
699# CONFIG_SAMPLES is not set
719# CONFIG_DEBUG_STACKOVERFLOW is not set 700# CONFIG_DEBUG_STACKOVERFLOW is not set
720# CONFIG_DEBUG_STACK_USAGE is not set 701# CONFIG_DEBUG_STACK_USAGE is not set
721# CONFIG_DEBUG_PAGEALLOC is not set 702# CONFIG_DEBUG_PAGEALLOC is not set
@@ -728,6 +709,7 @@ CONFIG_FORCED_INLINING=y
728# 709#
729# CONFIG_KEYS is not set 710# CONFIG_KEYS is not set
730# CONFIG_SECURITY is not set 711# CONFIG_SECURITY is not set
712# CONFIG_SECURITY_FILE_CAPABILITIES is not set
731CONFIG_CRYPTO=y 713CONFIG_CRYPTO=y
732CONFIG_CRYPTO_ALGAPI=y 714CONFIG_CRYPTO_ALGAPI=y
733CONFIG_CRYPTO_BLKCIPHER=y 715CONFIG_CRYPTO_BLKCIPHER=y
@@ -747,6 +729,7 @@ CONFIG_CRYPTO_ECB=y
747CONFIG_CRYPTO_CBC=y 729CONFIG_CRYPTO_CBC=y
748CONFIG_CRYPTO_PCBC=y 730CONFIG_CRYPTO_PCBC=y
749# CONFIG_CRYPTO_LRW is not set 731# CONFIG_CRYPTO_LRW is not set
732# CONFIG_CRYPTO_XTS is not set
750# CONFIG_CRYPTO_CRYPTD is not set 733# CONFIG_CRYPTO_CRYPTD is not set
751CONFIG_CRYPTO_DES=y 734CONFIG_CRYPTO_DES=y
752# CONFIG_CRYPTO_FCRYPT is not set 735# CONFIG_CRYPTO_FCRYPT is not set
@@ -760,10 +743,12 @@ CONFIG_CRYPTO_DES=y
760# CONFIG_CRYPTO_ARC4 is not set 743# CONFIG_CRYPTO_ARC4 is not set
761# CONFIG_CRYPTO_KHAZAD is not set 744# CONFIG_CRYPTO_KHAZAD is not set
762# CONFIG_CRYPTO_ANUBIS is not set 745# CONFIG_CRYPTO_ANUBIS is not set
746# CONFIG_CRYPTO_SEED is not set
763# CONFIG_CRYPTO_DEFLATE is not set 747# CONFIG_CRYPTO_DEFLATE is not set
764# CONFIG_CRYPTO_MICHAEL_MIC is not set 748# CONFIG_CRYPTO_MICHAEL_MIC is not set
765# CONFIG_CRYPTO_CRC32C is not set 749# CONFIG_CRYPTO_CRC32C is not set
766# CONFIG_CRYPTO_CAMELLIA is not set 750# CONFIG_CRYPTO_CAMELLIA is not set
767# CONFIG_CRYPTO_TEST is not set 751# CONFIG_CRYPTO_TEST is not set
752# CONFIG_CRYPTO_AUTHENC is not set
768CONFIG_CRYPTO_HW=y 753CONFIG_CRYPTO_HW=y
769# CONFIG_PPC_CLOCK is not set 754# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 401033aefd40..7b4280811fb9 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:38 2007 4# Thu Dec 6 16:48:22 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,13 +15,19 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set 22# CONFIG_SMP is not set
22CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
23CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
24CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
25CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
26CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
27CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -61,10 +67,13 @@ CONFIG_POSIX_MQUEUE=y
61# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
62# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
63# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
64# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
65CONFIG_IKCONFIG=y 72CONFIG_IKCONFIG=y
66CONFIG_IKCONFIG_PROC=y 73CONFIG_IKCONFIG_PROC=y
67CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 79CONFIG_BLK_DEV_INITRD=y
@@ -85,7 +94,6 @@ CONFIG_FUTEX=y
85CONFIG_ANON_INODES=y 94CONFIG_ANON_INODES=y
86CONFIG_EPOLL=y 95CONFIG_EPOLL=y
87CONFIG_SIGNALFD=y 96CONFIG_SIGNALFD=y
88CONFIG_TIMERFD=y
89CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
90CONFIG_SHMEM=y 98CONFIG_SHMEM=y
91CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
@@ -124,16 +132,21 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
124# 132#
125# Platform support 133# Platform support
126# 134#
127# CONFIG_PPC_MULTIPLATFORM is not set 135CONFIG_PPC_MULTIPLATFORM=y
128CONFIG_EMBEDDED6xx=y
129# CONFIG_PPC_82xx is not set 136# CONFIG_PPC_82xx is not set
130# CONFIG_PPC_83xx is not set 137# CONFIG_PPC_83xx is not set
131# CONFIG_PPC_86xx is not set 138# CONFIG_PPC_86xx is not set
139CONFIG_CLASSIC32=y
140# CONFIG_PPC_CHRP is not set
132# CONFIG_PPC_MPC52xx is not set 141# CONFIG_PPC_MPC52xx is not set
133# CONFIG_PPC_MPC5200 is not set 142# CONFIG_PPC_MPC5200 is not set
143# CONFIG_PPC_EFIKA is not set
144# CONFIG_PPC_LITE5200 is not set
145# CONFIG_PPC_PMAC is not set
134# CONFIG_PPC_CELL is not set 146# CONFIG_PPC_CELL is not set
135# CONFIG_PPC_CELL_NATIVE is not set 147# CONFIG_PPC_CELL_NATIVE is not set
136# CONFIG_PQ2ADS is not set 148# CONFIG_PQ2ADS is not set
149CONFIG_EMBEDDED6xx=y
137CONFIG_LINKSTATION=y 150CONFIG_LINKSTATION=y
138# CONFIG_MPC7448HPC2 is not set 151# CONFIG_MPC7448HPC2 is not set
139# CONFIG_PPC_HOLLY is not set 152# CONFIG_PPC_HOLLY is not set
@@ -151,6 +164,7 @@ CONFIG_MPIC=y
151# CONFIG_PPC_INDIRECT_IO is not set 164# CONFIG_PPC_INDIRECT_IO is not set
152# CONFIG_GENERIC_IOMAP is not set 165# CONFIG_GENERIC_IOMAP is not set
153# CONFIG_CPU_FREQ is not set 166# CONFIG_CPU_FREQ is not set
167# CONFIG_TAU is not set
154# CONFIG_CPM2 is not set 168# CONFIG_CPM2 is not set
155# CONFIG_FSL_ULI1575 is not set 169# CONFIG_FSL_ULI1575 is not set
156 170
@@ -158,6 +172,10 @@ CONFIG_MPIC=y
158# Kernel options 172# Kernel options
159# 173#
160# CONFIG_HIGHMEM is not set 174# CONFIG_HIGHMEM is not set
175CONFIG_TICK_ONESHOT=y
176CONFIG_NO_HZ=y
177CONFIG_HIGH_RES_TIMERS=y
178CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
161CONFIG_HZ_100=y 179CONFIG_HZ_100=y
162# CONFIG_HZ_250 is not set 180# CONFIG_HZ_250 is not set
163# CONFIG_HZ_300 is not set 181# CONFIG_HZ_300 is not set
@@ -169,6 +187,7 @@ CONFIG_PREEMPT_NONE=y
169CONFIG_BINFMT_ELF=y 187CONFIG_BINFMT_ELF=y
170# CONFIG_BINFMT_MISC is not set 188# CONFIG_BINFMT_MISC is not set
171CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 189CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
190# CONFIG_KEXEC is not set
172CONFIG_ARCH_FLATMEM_ENABLE=y 191CONFIG_ARCH_FLATMEM_ENABLE=y
173CONFIG_ARCH_POPULATES_NODE_MAP=y 192CONFIG_ARCH_POPULATES_NODE_MAP=y
174CONFIG_SELECT_MEMORY_MODEL=y 193CONFIG_SELECT_MEMORY_MODEL=y
@@ -178,6 +197,7 @@ CONFIG_FLATMEM_MANUAL=y
178CONFIG_FLATMEM=y 197CONFIG_FLATMEM=y
179CONFIG_FLAT_NODE_MEM_MAP=y 198CONFIG_FLAT_NODE_MEM_MAP=y
180# CONFIG_SPARSEMEM_STATIC is not set 199# CONFIG_SPARSEMEM_STATIC is not set
200# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
181CONFIG_SPLIT_PTLOCK_CPUS=4 201CONFIG_SPLIT_PTLOCK_CPUS=4
182# CONFIG_RESOURCES_64BIT is not set 202# CONFIG_RESOURCES_64BIT is not set
183CONFIG_ZONE_DMA_FLAG=1 203CONFIG_ZONE_DMA_FLAG=1
@@ -186,6 +206,8 @@ CONFIG_VIRT_TO_BUS=y
186CONFIG_PROC_DEVICETREE=y 206CONFIG_PROC_DEVICETREE=y
187# CONFIG_CMDLINE_BOOL is not set 207# CONFIG_CMDLINE_BOOL is not set
188# CONFIG_PM is not set 208# CONFIG_PM is not set
209CONFIG_SUSPEND_UP_POSSIBLE=y
210CONFIG_HIBERNATION_UP_POSSIBLE=y
189CONFIG_SECCOMP=y 211CONFIG_SECCOMP=y
190# CONFIG_WANT_DEVICE_TREE is not set 212# CONFIG_WANT_DEVICE_TREE is not set
191CONFIG_ISA_DMA_API=y 213CONFIG_ISA_DMA_API=y
@@ -203,11 +225,8 @@ CONFIG_PCI_SYSCALL=y
203# CONFIG_PCIEPORTBUS is not set 225# CONFIG_PCIEPORTBUS is not set
204CONFIG_ARCH_SUPPORTS_MSI=y 226CONFIG_ARCH_SUPPORTS_MSI=y
205# CONFIG_PCI_MSI is not set 227# CONFIG_PCI_MSI is not set
228CONFIG_PCI_LEGACY=y
206# CONFIG_PCI_DEBUG is not set 229# CONFIG_PCI_DEBUG is not set
207
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 230# CONFIG_PCCARD is not set
212# CONFIG_HOTPLUG_PCI is not set 231# CONFIG_HOTPLUG_PCI is not set
213 232
@@ -222,7 +241,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_HIGHMEM_START=0xfe000000 241CONFIG_HIGHMEM_START=0xfe000000
223CONFIG_LOWMEM_SIZE=0x30000000 242CONFIG_LOWMEM_SIZE=0x30000000
224CONFIG_KERNEL_START=0xc0000000 243CONFIG_KERNEL_START=0xc0000000
225CONFIG_TASK_SIZE=0x80000000 244CONFIG_TASK_SIZE=0xc0000000
226CONFIG_BOOT_LOAD=0x00800000 245CONFIG_BOOT_LOAD=0x00800000
227 246
228# 247#
@@ -262,6 +281,7 @@ CONFIG_IP_PNP_BOOTP=y
262CONFIG_INET_XFRM_MODE_TRANSPORT=y 281CONFIG_INET_XFRM_MODE_TRANSPORT=y
263CONFIG_INET_XFRM_MODE_TUNNEL=y 282CONFIG_INET_XFRM_MODE_TUNNEL=y
264CONFIG_INET_XFRM_MODE_BEET=y 283CONFIG_INET_XFRM_MODE_BEET=y
284# CONFIG_INET_LRO is not set
265CONFIG_INET_DIAG=y 285CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 286CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 287# CONFIG_TCP_CONG_ADVANCED is not set
@@ -330,6 +350,7 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m
330# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 350# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
331# CONFIG_NETFILTER_XT_MATCH_STRING is not set 351# CONFIG_NETFILTER_XT_MATCH_STRING is not set
332# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 352# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
353# CONFIG_NETFILTER_XT_MATCH_TIME is not set
333# CONFIG_NETFILTER_XT_MATCH_U32 is not set 354# CONFIG_NETFILTER_XT_MATCH_U32 is not set
334# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 355# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
335 356
@@ -390,10 +411,6 @@ CONFIG_IP_NF_ARP_MANGLE=m
390# CONFIG_LAPB is not set 411# CONFIG_LAPB is not set
391# CONFIG_ECONET is not set 412# CONFIG_ECONET is not set
392# CONFIG_WAN_ROUTER is not set 413# CONFIG_WAN_ROUTER is not set
393
394#
395# QoS and/or fair queueing
396#
397# CONFIG_NET_SCHED is not set 414# CONFIG_NET_SCHED is not set
398 415
399# 416#
@@ -428,6 +445,7 @@ CONFIG_IEEE80211_SOFTMAC_DEBUG=y
428# 445#
429# Generic Driver Options 446# Generic Driver Options
430# 447#
448CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
431CONFIG_STANDALONE=y 449CONFIG_STANDALONE=y
432CONFIG_PREVENT_FIRMWARE_BUILD=y 450CONFIG_PREVENT_FIRMWARE_BUILD=y
433CONFIG_FW_LOADER=m 451CONFIG_FW_LOADER=m
@@ -453,6 +471,7 @@ CONFIG_MTD_BLOCK=y
453# CONFIG_INFTL is not set 471# CONFIG_INFTL is not set
454# CONFIG_RFD_FTL is not set 472# CONFIG_RFD_FTL is not set
455# CONFIG_SSFDC is not set 473# CONFIG_SSFDC is not set
474# CONFIG_MTD_OOPS is not set
456 475
457# 476#
458# RAM/ROM/Flash chip drivers 477# RAM/ROM/Flash chip drivers
@@ -493,6 +512,7 @@ CONFIG_MTD_PHYSMAP_START=0xffc00000
493CONFIG_MTD_PHYSMAP_LEN=0x400000 512CONFIG_MTD_PHYSMAP_LEN=0x400000
494CONFIG_MTD_PHYSMAP_BANKWIDTH=1 513CONFIG_MTD_PHYSMAP_BANKWIDTH=1
495# CONFIG_MTD_PHYSMAP_OF is not set 514# CONFIG_MTD_PHYSMAP_OF is not set
515# CONFIG_MTD_INTEL_VR_NOR is not set
496# CONFIG_MTD_PLATRAM is not set 516# CONFIG_MTD_PLATRAM is not set
497 517
498# 518#
@@ -580,6 +600,7 @@ CONFIG_SCSI_WAIT_SCAN=m
580# CONFIG_SCSI_FC_ATTRS is not set 600# CONFIG_SCSI_FC_ATTRS is not set
581# CONFIG_SCSI_ISCSI_ATTRS is not set 601# CONFIG_SCSI_ISCSI_ATTRS is not set
582# CONFIG_SCSI_SAS_LIBSAS is not set 602# CONFIG_SCSI_SAS_LIBSAS is not set
603# CONFIG_SCSI_SRP_ATTRS is not set
583CONFIG_SCSI_LOWLEVEL=y 604CONFIG_SCSI_LOWLEVEL=y
584# CONFIG_ISCSI_TCP is not set 605# CONFIG_ISCSI_TCP is not set
585# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 606# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -591,6 +612,7 @@ CONFIG_SCSI_LOWLEVEL=y
591# CONFIG_SCSI_AIC79XX is not set 612# CONFIG_SCSI_AIC79XX is not set
592# CONFIG_SCSI_AIC94XX is not set 613# CONFIG_SCSI_AIC94XX is not set
593# CONFIG_SCSI_DPT_I2O is not set 614# CONFIG_SCSI_DPT_I2O is not set
615# CONFIG_SCSI_ADVANSYS is not set
594# CONFIG_SCSI_ARCMSR is not set 616# CONFIG_SCSI_ARCMSR is not set
595# CONFIG_MEGARAID_NEWGEN is not set 617# CONFIG_MEGARAID_NEWGEN is not set
596# CONFIG_MEGARAID_LEGACY is not set 618# CONFIG_MEGARAID_LEGACY is not set
@@ -658,6 +680,7 @@ CONFIG_PATA_IT821X=y
658# CONFIG_PATA_OLDPIIX is not set 680# CONFIG_PATA_OLDPIIX is not set
659# CONFIG_PATA_NETCELL is not set 681# CONFIG_PATA_NETCELL is not set
660# CONFIG_PATA_NS87410 is not set 682# CONFIG_PATA_NS87410 is not set
683# CONFIG_PATA_NS87415 is not set
661# CONFIG_PATA_OPTI is not set 684# CONFIG_PATA_OPTI is not set
662# CONFIG_PATA_OPTIDMA is not set 685# CONFIG_PATA_OPTIDMA is not set
663# CONFIG_PATA_PDC_OLD is not set 686# CONFIG_PATA_PDC_OLD is not set
@@ -671,14 +694,7 @@ CONFIG_PATA_SIL680=y
671# CONFIG_PATA_VIA is not set 694# CONFIG_PATA_VIA is not set
672# CONFIG_PATA_WINBOND is not set 695# CONFIG_PATA_WINBOND is not set
673# CONFIG_MD is not set 696# CONFIG_MD is not set
674
675#
676# Fusion MPT device support
677#
678# CONFIG_FUSION is not set 697# CONFIG_FUSION is not set
679# CONFIG_FUSION_SPI is not set
680# CONFIG_FUSION_FC is not set
681# CONFIG_FUSION_SAS is not set
682 698
683# 699#
684# IEEE 1394 (FireWire) support 700# IEEE 1394 (FireWire) support
@@ -694,6 +710,8 @@ CONFIG_NETDEVICES=y
694# CONFIG_MACVLAN is not set 710# CONFIG_MACVLAN is not set
695# CONFIG_EQUALIZER is not set 711# CONFIG_EQUALIZER is not set
696CONFIG_TUN=m 712CONFIG_TUN=m
713# CONFIG_VETH is not set
714# CONFIG_IP1000 is not set
697# CONFIG_ARCNET is not set 715# CONFIG_ARCNET is not set
698# CONFIG_PHYLIB is not set 716# CONFIG_PHYLIB is not set
699CONFIG_NET_ETHERNET=y 717CONFIG_NET_ETHERNET=y
@@ -713,11 +731,17 @@ CONFIG_TULIP_MMIO=y
713# CONFIG_DM9102 is not set 731# CONFIG_DM9102 is not set
714# CONFIG_ULI526X is not set 732# CONFIG_ULI526X is not set
715# CONFIG_HP100 is not set 733# CONFIG_HP100 is not set
734# CONFIG_IBM_NEW_EMAC_ZMII is not set
735# CONFIG_IBM_NEW_EMAC_RGMII is not set
736# CONFIG_IBM_NEW_EMAC_TAH is not set
737# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
716# CONFIG_NET_PCI is not set 738# CONFIG_NET_PCI is not set
739# CONFIG_B44 is not set
717CONFIG_NETDEV_1000=y 740CONFIG_NETDEV_1000=y
718# CONFIG_ACENIC is not set 741# CONFIG_ACENIC is not set
719# CONFIG_DL2K is not set 742# CONFIG_DL2K is not set
720# CONFIG_E1000 is not set 743# CONFIG_E1000 is not set
744# CONFIG_E1000E is not set
721# CONFIG_NS83820 is not set 745# CONFIG_NS83820 is not set
722# CONFIG_HAMACHI is not set 746# CONFIG_HAMACHI is not set
723# CONFIG_YELLOWFIN is not set 747# CONFIG_YELLOWFIN is not set
@@ -726,19 +750,24 @@ CONFIG_R8169=y
726# CONFIG_SIS190 is not set 750# CONFIG_SIS190 is not set
727# CONFIG_SKGE is not set 751# CONFIG_SKGE is not set
728# CONFIG_SKY2 is not set 752# CONFIG_SKY2 is not set
753# CONFIG_SK98LIN is not set
729# CONFIG_VIA_VELOCITY is not set 754# CONFIG_VIA_VELOCITY is not set
730# CONFIG_TIGON3 is not set 755# CONFIG_TIGON3 is not set
731# CONFIG_BNX2 is not set 756# CONFIG_BNX2 is not set
757# CONFIG_MV643XX_ETH is not set
732# CONFIG_QLA3XXX is not set 758# CONFIG_QLA3XXX is not set
733# CONFIG_ATL1 is not set 759# CONFIG_ATL1 is not set
734CONFIG_NETDEV_10000=y 760CONFIG_NETDEV_10000=y
735# CONFIG_CHELSIO_T1 is not set 761# CONFIG_CHELSIO_T1 is not set
736# CONFIG_CHELSIO_T3 is not set 762# CONFIG_CHELSIO_T3 is not set
763# CONFIG_IXGBE is not set
737# CONFIG_IXGB is not set 764# CONFIG_IXGB is not set
738# CONFIG_S2IO is not set 765# CONFIG_S2IO is not set
739# CONFIG_MYRI10GE is not set 766# CONFIG_MYRI10GE is not set
740# CONFIG_NETXEN_NIC is not set 767# CONFIG_NETXEN_NIC is not set
768# CONFIG_NIU is not set
741# CONFIG_MLX4_CORE is not set 769# CONFIG_MLX4_CORE is not set
770# CONFIG_TEHUTI is not set
742# CONFIG_TR is not set 771# CONFIG_TR is not set
743 772
744# 773#
@@ -754,7 +783,6 @@ CONFIG_NETDEV_10000=y
754# CONFIG_USB_KAWETH is not set 783# CONFIG_USB_KAWETH is not set
755# CONFIG_USB_PEGASUS is not set 784# CONFIG_USB_PEGASUS is not set
756# CONFIG_USB_RTL8150 is not set 785# CONFIG_USB_RTL8150 is not set
757# CONFIG_USB_USBNET_MII is not set
758# CONFIG_USB_USBNET is not set 786# CONFIG_USB_USBNET is not set
759# CONFIG_WAN is not set 787# CONFIG_WAN is not set
760# CONFIG_FDDI is not set 788# CONFIG_FDDI is not set
@@ -764,6 +792,7 @@ CONFIG_NETDEV_10000=y
764# CONFIG_NET_FC is not set 792# CONFIG_NET_FC is not set
765# CONFIG_SHAPER is not set 793# CONFIG_SHAPER is not set
766CONFIG_NETCONSOLE=y 794CONFIG_NETCONSOLE=y
795# CONFIG_NETCONSOLE_DYNAMIC is not set
767CONFIG_NETPOLL=y 796CONFIG_NETPOLL=y
768# CONFIG_NETPOLL_TRAP is not set 797# CONFIG_NETPOLL_TRAP is not set
769CONFIG_NET_POLL_CONTROLLER=y 798CONFIG_NET_POLL_CONTROLLER=y
@@ -785,7 +814,6 @@ CONFIG_INPUT_MOUSEDEV=y
785CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 814CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
786CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 815CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
787# CONFIG_INPUT_JOYDEV is not set 816# CONFIG_INPUT_JOYDEV is not set
788# CONFIG_INPUT_TSDEV is not set
789CONFIG_INPUT_EVDEV=m 817CONFIG_INPUT_EVDEV=m
790# CONFIG_INPUT_EVBUG is not set 818# CONFIG_INPUT_EVBUG is not set
791 819
@@ -846,14 +874,11 @@ CONFIG_UNIX98_PTYS=y
846CONFIG_LEGACY_PTYS=y 874CONFIG_LEGACY_PTYS=y
847CONFIG_LEGACY_PTY_COUNT=256 875CONFIG_LEGACY_PTY_COUNT=256
848# CONFIG_IPMI_HANDLER is not set 876# CONFIG_IPMI_HANDLER is not set
849# CONFIG_WATCHDOG is not set
850CONFIG_HW_RANDOM=y 877CONFIG_HW_RANDOM=y
851# CONFIG_NVRAM is not set 878# CONFIG_NVRAM is not set
852# CONFIG_GEN_RTC is not set 879# CONFIG_GEN_RTC is not set
853# CONFIG_R3964 is not set 880# CONFIG_R3964 is not set
854# CONFIG_APPLICOM is not set 881# CONFIG_APPLICOM is not set
855# CONFIG_AGP is not set
856# CONFIG_DRM is not set
857# CONFIG_RAW_DRIVER is not set 882# CONFIG_RAW_DRIVER is not set
858# CONFIG_TCG_TPM is not set 883# CONFIG_TCG_TPM is not set
859CONFIG_DEVPORT=y 884CONFIG_DEVPORT=y
@@ -923,8 +948,6 @@ CONFIG_SENSORS_EEPROM=m
923# CONFIG_POWER_SUPPLY is not set 948# CONFIG_POWER_SUPPLY is not set
924CONFIG_HWMON=y 949CONFIG_HWMON=y
925# CONFIG_HWMON_VID is not set 950# CONFIG_HWMON_VID is not set
926# CONFIG_SENSORS_ABITUGURU is not set
927# CONFIG_SENSORS_ABITUGURU3 is not set
928# CONFIG_SENSORS_AD7418 is not set 951# CONFIG_SENSORS_AD7418 is not set
929# CONFIG_SENSORS_ADM1021 is not set 952# CONFIG_SENSORS_ADM1021 is not set
930# CONFIG_SENSORS_ADM1025 is not set 953# CONFIG_SENSORS_ADM1025 is not set
@@ -932,12 +955,13 @@ CONFIG_HWMON=y
932# CONFIG_SENSORS_ADM1029 is not set 955# CONFIG_SENSORS_ADM1029 is not set
933# CONFIG_SENSORS_ADM1031 is not set 956# CONFIG_SENSORS_ADM1031 is not set
934# CONFIG_SENSORS_ADM9240 is not set 957# CONFIG_SENSORS_ADM9240 is not set
935# CONFIG_SENSORS_ASB100 is not set 958# CONFIG_SENSORS_ADT7470 is not set
936# CONFIG_SENSORS_ATXP1 is not set 959# CONFIG_SENSORS_ATXP1 is not set
937# CONFIG_SENSORS_DS1621 is not set 960# CONFIG_SENSORS_DS1621 is not set
961# CONFIG_SENSORS_I5K_AMB is not set
938# CONFIG_SENSORS_F71805F is not set 962# CONFIG_SENSORS_F71805F is not set
939# CONFIG_SENSORS_FSCHER is not set 963# CONFIG_SENSORS_F71882FG is not set
940# CONFIG_SENSORS_FSCPOS is not set 964# CONFIG_SENSORS_F75375S is not set
941# CONFIG_SENSORS_GL518SM is not set 965# CONFIG_SENSORS_GL518SM is not set
942# CONFIG_SENSORS_GL520SM is not set 966# CONFIG_SENSORS_GL520SM is not set
943# CONFIG_SENSORS_IT87 is not set 967# CONFIG_SENSORS_IT87 is not set
@@ -973,6 +997,13 @@ CONFIG_HWMON=y
973# CONFIG_SENSORS_W83627HF is not set 997# CONFIG_SENSORS_W83627HF is not set
974# CONFIG_SENSORS_W83627EHF is not set 998# CONFIG_SENSORS_W83627EHF is not set
975# CONFIG_HWMON_DEBUG_CHIP is not set 999# CONFIG_HWMON_DEBUG_CHIP is not set
1000# CONFIG_WATCHDOG is not set
1001
1002#
1003# Sonics Silicon Backplane
1004#
1005CONFIG_SSB_POSSIBLE=y
1006# CONFIG_SSB is not set
976 1007
977# 1008#
978# Multifunction device drivers 1009# Multifunction device drivers
@@ -989,16 +1020,17 @@ CONFIG_HWMON=y
989# 1020#
990# Graphics support 1021# Graphics support
991# 1022#
1023# CONFIG_AGP is not set
1024# CONFIG_DRM is not set
1025# CONFIG_VGASTATE is not set
1026CONFIG_VIDEO_OUTPUT_CONTROL=m
1027# CONFIG_FB is not set
992# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1028# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
993 1029
994# 1030#
995# Display device support 1031# Display device support
996# 1032#
997# CONFIG_DISPLAY_SUPPORT is not set 1033# CONFIG_DISPLAY_SUPPORT is not set
998# CONFIG_VGASTATE is not set
999CONFIG_VIDEO_OUTPUT_CONTROL=m
1000# CONFIG_FB is not set
1001# CONFIG_FB_IBM_GXT4500 is not set
1002 1034
1003# 1035#
1004# Console display driver support 1036# Console display driver support
@@ -1013,6 +1045,7 @@ CONFIG_DUMMY_CONSOLE=y
1013CONFIG_HID_SUPPORT=y 1045CONFIG_HID_SUPPORT=y
1014CONFIG_HID=m 1046CONFIG_HID=m
1015# CONFIG_HID_DEBUG is not set 1047# CONFIG_HID_DEBUG is not set
1048# CONFIG_HIDRAW is not set
1016 1049
1017# 1050#
1018# USB Input Devices 1051# USB Input Devices
@@ -1076,6 +1109,7 @@ CONFIG_USB_STORAGE=m
1076# CONFIG_USB_STORAGE_DEBUG is not set 1109# CONFIG_USB_STORAGE_DEBUG is not set
1077# CONFIG_USB_STORAGE_DATAFAB is not set 1110# CONFIG_USB_STORAGE_DATAFAB is not set
1078# CONFIG_USB_STORAGE_FREECOM is not set 1111# CONFIG_USB_STORAGE_FREECOM is not set
1112# CONFIG_USB_STORAGE_ISD200 is not set
1079# CONFIG_USB_STORAGE_DPCM is not set 1113# CONFIG_USB_STORAGE_DPCM is not set
1080# CONFIG_USB_STORAGE_USBAT is not set 1114# CONFIG_USB_STORAGE_USBAT is not set
1081# CONFIG_USB_STORAGE_SDDR09 is not set 1115# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1107,6 +1141,7 @@ CONFIG_USB_SERIAL_CONSOLE=y
1107# CONFIG_USB_SERIAL_AIRPRIME is not set 1141# CONFIG_USB_SERIAL_AIRPRIME is not set
1108# CONFIG_USB_SERIAL_ARK3116 is not set 1142# CONFIG_USB_SERIAL_ARK3116 is not set
1109# CONFIG_USB_SERIAL_BELKIN is not set 1143# CONFIG_USB_SERIAL_BELKIN is not set
1144# CONFIG_USB_SERIAL_CH341 is not set
1110# CONFIG_USB_SERIAL_WHITEHEAT is not set 1145# CONFIG_USB_SERIAL_WHITEHEAT is not set
1111# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set 1146# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1112# CONFIG_USB_SERIAL_CP2101 is not set 1147# CONFIG_USB_SERIAL_CP2101 is not set
@@ -1196,6 +1231,7 @@ CONFIG_RTC_INTF_DEV=y
1196# I2C RTC drivers 1231# I2C RTC drivers
1197# 1232#
1198# CONFIG_RTC_DRV_DS1307 is not set 1233# CONFIG_RTC_DRV_DS1307 is not set
1234# CONFIG_RTC_DRV_DS1374 is not set
1199# CONFIG_RTC_DRV_DS1672 is not set 1235# CONFIG_RTC_DRV_DS1672 is not set
1200# CONFIG_RTC_DRV_MAX6900 is not set 1236# CONFIG_RTC_DRV_MAX6900 is not set
1201CONFIG_RTC_DRV_RS5C372=y 1237CONFIG_RTC_DRV_RS5C372=y
@@ -1225,19 +1261,6 @@ CONFIG_RTC_DRV_RS5C372=y
1225# 1261#
1226 1262
1227# 1263#
1228# DMA Engine support
1229#
1230# CONFIG_DMA_ENGINE is not set
1231
1232#
1233# DMA Clients
1234#
1235
1236#
1237# DMA Devices
1238#
1239
1240#
1241# Userspace I/O 1264# Userspace I/O
1242# 1265#
1243# CONFIG_UIO is not set 1266# CONFIG_UIO is not set
@@ -1254,7 +1277,6 @@ CONFIG_EXT3_FS_XATTR=y
1254# CONFIG_EXT3_FS_SECURITY is not set 1277# CONFIG_EXT3_FS_SECURITY is not set
1255# CONFIG_EXT4DEV_FS is not set 1278# CONFIG_EXT4DEV_FS is not set
1256CONFIG_JBD=y 1279CONFIG_JBD=y
1257# CONFIG_JBD_DEBUG is not set
1258CONFIG_FS_MBCACHE=y 1280CONFIG_FS_MBCACHE=y
1259# CONFIG_REISERFS_FS is not set 1281# CONFIG_REISERFS_FS is not set
1260# CONFIG_JFS_FS is not set 1282# CONFIG_JFS_FS is not set
@@ -1307,7 +1329,6 @@ CONFIG_SYSFS=y
1307CONFIG_TMPFS=y 1329CONFIG_TMPFS=y
1308# CONFIG_TMPFS_POSIX_ACL is not set 1330# CONFIG_TMPFS_POSIX_ACL is not set
1309# CONFIG_HUGETLB_PAGE is not set 1331# CONFIG_HUGETLB_PAGE is not set
1310CONFIG_RAMFS=y
1311# CONFIG_CONFIGFS_FS is not set 1332# CONFIG_CONFIGFS_FS is not set
1312 1333
1313# 1334#
@@ -1327,10 +1348,7 @@ CONFIG_RAMFS=y
1327# CONFIG_QNX4FS_FS is not set 1348# CONFIG_QNX4FS_FS is not set
1328# CONFIG_SYSV_FS is not set 1349# CONFIG_SYSV_FS is not set
1329# CONFIG_UFS_FS is not set 1350# CONFIG_UFS_FS is not set
1330 1351CONFIG_NETWORK_FILESYSTEMS=y
1331#
1332# Network File Systems
1333#
1334CONFIG_NFS_FS=y 1352CONFIG_NFS_FS=y
1335CONFIG_NFS_V3=y 1353CONFIG_NFS_V3=y
1336CONFIG_NFS_V3_ACL=y 1354CONFIG_NFS_V3_ACL=y
@@ -1368,10 +1386,6 @@ CONFIG_CIFS=m
1368# 1386#
1369# CONFIG_PARTITION_ADVANCED is not set 1387# CONFIG_PARTITION_ADVANCED is not set
1370CONFIG_MSDOS_PARTITION=y 1388CONFIG_MSDOS_PARTITION=y
1371
1372#
1373# Native Language Support
1374#
1375CONFIG_NLS=m 1389CONFIG_NLS=m
1376CONFIG_NLS_DEFAULT="iso8859-1" 1390CONFIG_NLS_DEFAULT="iso8859-1"
1377CONFIG_NLS_CODEPAGE_437=m 1391CONFIG_NLS_CODEPAGE_437=m
@@ -1412,10 +1426,6 @@ CONFIG_NLS_ISO8859_1=m
1412# CONFIG_NLS_KOI8_R is not set 1426# CONFIG_NLS_KOI8_R is not set
1413# CONFIG_NLS_KOI8_U is not set 1427# CONFIG_NLS_KOI8_U is not set
1414CONFIG_NLS_UTF8=m 1428CONFIG_NLS_UTF8=m
1415
1416#
1417# Distributed Lock Manager
1418#
1419# CONFIG_DLM is not set 1429# CONFIG_DLM is not set
1420# CONFIG_UCC_SLOW is not set 1430# CONFIG_UCC_SLOW is not set
1421 1431
@@ -1437,18 +1447,13 @@ CONFIG_PLIST=y
1437CONFIG_HAS_IOMEM=y 1447CONFIG_HAS_IOMEM=y
1438CONFIG_HAS_IOPORT=y 1448CONFIG_HAS_IOPORT=y
1439CONFIG_HAS_DMA=y 1449CONFIG_HAS_DMA=y
1440 1450# CONFIG_INSTRUMENTATION is not set
1441#
1442# Instrumentation Support
1443#
1444CONFIG_PROFILING=y
1445CONFIG_OPROFILE=m
1446# CONFIG_KPROBES is not set
1447 1451
1448# 1452#
1449# Kernel hacking 1453# Kernel hacking
1450# 1454#
1451# CONFIG_PRINTK_TIME is not set 1455# CONFIG_PRINTK_TIME is not set
1456CONFIG_ENABLE_WARN_DEPRECATED=y
1452CONFIG_ENABLE_MUST_CHECK=y 1457CONFIG_ENABLE_MUST_CHECK=y
1453CONFIG_MAGIC_SYSRQ=y 1458CONFIG_MAGIC_SYSRQ=y
1454# CONFIG_UNUSED_SYMBOLS is not set 1459# CONFIG_UNUSED_SYMBOLS is not set
@@ -1472,14 +1477,18 @@ CONFIG_DEBUG_BUGVERBOSE=y
1472# CONFIG_DEBUG_INFO is not set 1477# CONFIG_DEBUG_INFO is not set
1473# CONFIG_DEBUG_VM is not set 1478# CONFIG_DEBUG_VM is not set
1474# CONFIG_DEBUG_LIST is not set 1479# CONFIG_DEBUG_LIST is not set
1480# CONFIG_DEBUG_SG is not set
1475CONFIG_FORCED_INLINING=y 1481CONFIG_FORCED_INLINING=y
1482# CONFIG_BOOT_PRINTK_DELAY is not set
1476# CONFIG_RCU_TORTURE_TEST is not set 1483# CONFIG_RCU_TORTURE_TEST is not set
1477# CONFIG_FAULT_INJECTION is not set 1484# CONFIG_FAULT_INJECTION is not set
1485# CONFIG_SAMPLES is not set
1478# CONFIG_DEBUG_STACKOVERFLOW is not set 1486# CONFIG_DEBUG_STACKOVERFLOW is not set
1479# CONFIG_DEBUG_STACK_USAGE is not set 1487# CONFIG_DEBUG_STACK_USAGE is not set
1480# CONFIG_DEBUG_PAGEALLOC is not set 1488# CONFIG_DEBUG_PAGEALLOC is not set
1481# CONFIG_DEBUGGER is not set 1489# CONFIG_DEBUGGER is not set
1482# CONFIG_BDI_SWITCH is not set 1490# CONFIG_BDI_SWITCH is not set
1491# CONFIG_BOOTX_TEXT is not set
1483# CONFIG_PPC_EARLY_DEBUG is not set 1492# CONFIG_PPC_EARLY_DEBUG is not set
1484 1493
1485# 1494#
@@ -1487,6 +1496,7 @@ CONFIG_FORCED_INLINING=y
1487# 1496#
1488# CONFIG_KEYS is not set 1497# CONFIG_KEYS is not set
1489# CONFIG_SECURITY is not set 1498# CONFIG_SECURITY is not set
1499# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1490CONFIG_CRYPTO=y 1500CONFIG_CRYPTO=y
1491CONFIG_CRYPTO_ALGAPI=y 1501CONFIG_CRYPTO_ALGAPI=y
1492CONFIG_CRYPTO_BLKCIPHER=y 1502CONFIG_CRYPTO_BLKCIPHER=y
@@ -1506,6 +1516,7 @@ CONFIG_CRYPTO_ECB=m
1506CONFIG_CRYPTO_CBC=y 1516CONFIG_CRYPTO_CBC=y
1507CONFIG_CRYPTO_PCBC=m 1517CONFIG_CRYPTO_PCBC=m
1508# CONFIG_CRYPTO_LRW is not set 1518# CONFIG_CRYPTO_LRW is not set
1519# CONFIG_CRYPTO_XTS is not set
1509# CONFIG_CRYPTO_CRYPTD is not set 1520# CONFIG_CRYPTO_CRYPTD is not set
1510CONFIG_CRYPTO_DES=y 1521CONFIG_CRYPTO_DES=y
1511# CONFIG_CRYPTO_FCRYPT is not set 1522# CONFIG_CRYPTO_FCRYPT is not set
@@ -1520,9 +1531,12 @@ CONFIG_CRYPTO_AES=m
1520CONFIG_CRYPTO_ARC4=m 1531CONFIG_CRYPTO_ARC4=m
1521# CONFIG_CRYPTO_KHAZAD is not set 1532# CONFIG_CRYPTO_KHAZAD is not set
1522# CONFIG_CRYPTO_ANUBIS is not set 1533# CONFIG_CRYPTO_ANUBIS is not set
1534# CONFIG_CRYPTO_SEED is not set
1523CONFIG_CRYPTO_DEFLATE=m 1535CONFIG_CRYPTO_DEFLATE=m
1524CONFIG_CRYPTO_MICHAEL_MIC=m 1536CONFIG_CRYPTO_MICHAEL_MIC=m
1525CONFIG_CRYPTO_CRC32C=m 1537CONFIG_CRYPTO_CRC32C=m
1526# CONFIG_CRYPTO_CAMELLIA is not set 1538# CONFIG_CRYPTO_CAMELLIA is not set
1527# CONFIG_CRYPTO_TEST is not set 1539# CONFIG_CRYPTO_TEST is not set
1540# CONFIG_CRYPTO_AUTHENC is not set
1528CONFIG_CRYPTO_HW=y 1541CONFIG_CRYPTO_HW=y
1542# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/lite5200_defconfig b/arch/powerpc/configs/lite5200_defconfig
index dd78ed955eb0..02bb7e5d8ed5 100644
--- a/arch/powerpc/configs/lite5200_defconfig
+++ b/arch/powerpc/configs/lite5200_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:38 2007 4# Thu Dec 6 16:48:24 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125CONFIG_PPC_MULTIPLATFORM=y 132CONFIG_PPC_MULTIPLATFORM=y
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128# CONFIG_PPC_83xx is not set 134# CONFIG_PPC_83xx is not set
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -138,6 +144,7 @@ CONFIG_PPC_LITE5200=y
138# CONFIG_PPC_CELL is not set 144# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 145# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 146# CONFIG_PQ2ADS is not set
147# CONFIG_EMBEDDED6xx is not set
141# CONFIG_MPIC is not set 148# CONFIG_MPIC is not set
142# CONFIG_MPIC_WEIRD is not set 149# CONFIG_MPIC_WEIRD is not set
143# CONFIG_PPC_I8259 is not set 150# CONFIG_PPC_I8259 is not set
@@ -151,11 +158,19 @@ CONFIG_PPC_LITE5200=y
151# CONFIG_TAU is not set 158# CONFIG_TAU is not set
152# CONFIG_CPM2 is not set 159# CONFIG_CPM2 is not set
153# CONFIG_FSL_ULI1575 is not set 160# CONFIG_FSL_ULI1575 is not set
161CONFIG_PPC_BESTCOMM=y
162CONFIG_PPC_BESTCOMM_ATA=y
163CONFIG_PPC_BESTCOMM_FEC=y
164CONFIG_PPC_BESTCOMM_GEN_BD=y
154 165
155# 166#
156# Kernel options 167# Kernel options
157# 168#
158# CONFIG_HIGHMEM is not set 169# CONFIG_HIGHMEM is not set
170CONFIG_TICK_ONESHOT=y
171CONFIG_NO_HZ=y
172CONFIG_HIGH_RES_TIMERS=y
173CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 174# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 175CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 176# CONFIG_HZ_300 is not set
@@ -177,6 +192,7 @@ CONFIG_FLATMEM_MANUAL=y
177CONFIG_FLATMEM=y 192CONFIG_FLATMEM=y
178CONFIG_FLAT_NODE_MEM_MAP=y 193CONFIG_FLAT_NODE_MEM_MAP=y
179# CONFIG_SPARSEMEM_STATIC is not set 194# CONFIG_SPARSEMEM_STATIC is not set
195# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
180CONFIG_SPLIT_PTLOCK_CPUS=4 196CONFIG_SPLIT_PTLOCK_CPUS=4
181# CONFIG_RESOURCES_64BIT is not set 197# CONFIG_RESOURCES_64BIT is not set
182CONFIG_ZONE_DMA_FLAG=1 198CONFIG_ZONE_DMA_FLAG=1
@@ -188,10 +204,13 @@ CONFIG_PM=y
188# CONFIG_PM_LEGACY is not set 204# CONFIG_PM_LEGACY is not set
189# CONFIG_PM_DEBUG is not set 205# CONFIG_PM_DEBUG is not set
190CONFIG_PM_SLEEP=y 206CONFIG_PM_SLEEP=y
207CONFIG_SUSPEND_UP_POSSIBLE=y
191CONFIG_SUSPEND=y 208CONFIG_SUSPEND=y
209CONFIG_HIBERNATION_UP_POSSIBLE=y
192# CONFIG_HIBERNATION is not set 210# CONFIG_HIBERNATION is not set
193CONFIG_SECCOMP=y 211CONFIG_SECCOMP=y
194# CONFIG_WANT_DEVICE_TREE is not set 212CONFIG_WANT_DEVICE_TREE=y
213CONFIG_DEVICE_TREE=""
195CONFIG_ISA_DMA_API=y 214CONFIG_ISA_DMA_API=y
196 215
197# 216#
@@ -207,11 +226,8 @@ CONFIG_PCI_SYSCALL=y
207# CONFIG_PCIEPORTBUS is not set 226# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y 227CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set 228# CONFIG_PCI_MSI is not set
229CONFIG_PCI_LEGACY=y
210# CONFIG_PCI_DEBUG is not set 230# CONFIG_PCI_DEBUG is not set
211
212#
213# PCCARD (PCMCIA/CardBus) support
214#
215# CONFIG_PCCARD is not set 231# CONFIG_PCCARD is not set
216# CONFIG_HOTPLUG_PCI is not set 232# CONFIG_HOTPLUG_PCI is not set
217 233
@@ -226,7 +242,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
226CONFIG_HIGHMEM_START=0xfe000000 242CONFIG_HIGHMEM_START=0xfe000000
227CONFIG_LOWMEM_SIZE=0x30000000 243CONFIG_LOWMEM_SIZE=0x30000000
228CONFIG_KERNEL_START=0xc0000000 244CONFIG_KERNEL_START=0xc0000000
229CONFIG_TASK_SIZE=0x80000000 245CONFIG_TASK_SIZE=0xc0000000
230CONFIG_BOOT_LOAD=0x00800000 246CONFIG_BOOT_LOAD=0x00800000
231 247
232# 248#
@@ -266,6 +282,7 @@ CONFIG_SYN_COOKIES=y
266CONFIG_INET_XFRM_MODE_TRANSPORT=y 282CONFIG_INET_XFRM_MODE_TRANSPORT=y
267CONFIG_INET_XFRM_MODE_TUNNEL=y 283CONFIG_INET_XFRM_MODE_TUNNEL=y
268CONFIG_INET_XFRM_MODE_BEET=y 284CONFIG_INET_XFRM_MODE_BEET=y
285# CONFIG_INET_LRO is not set
269CONFIG_INET_DIAG=y 286CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y 287CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set 288# CONFIG_TCP_CONG_ADVANCED is not set
@@ -291,10 +308,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_LAPB is not set 308# CONFIG_LAPB is not set
292# CONFIG_ECONET is not set 309# CONFIG_ECONET is not set
293# CONFIG_WAN_ROUTER is not set 310# CONFIG_WAN_ROUTER is not set
294
295#
296# QoS and/or fair queueing
297#
298# CONFIG_NET_SCHED is not set 311# CONFIG_NET_SCHED is not set
299 312
300# 313#
@@ -323,6 +336,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
323# 336#
324# Generic Driver Options 337# Generic Driver Options
325# 338#
339CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
326CONFIG_STANDALONE=y 340CONFIG_STANDALONE=y
327CONFIG_PREVENT_FIRMWARE_BUILD=y 341CONFIG_PREVENT_FIRMWARE_BUILD=y
328# CONFIG_FW_LOADER is not set 342# CONFIG_FW_LOADER is not set
@@ -393,6 +407,7 @@ CONFIG_SCSI_WAIT_SCAN=m
393# CONFIG_SCSI_FC_ATTRS is not set 407# CONFIG_SCSI_FC_ATTRS is not set
394# CONFIG_SCSI_ISCSI_ATTRS is not set 408# CONFIG_SCSI_ISCSI_ATTRS is not set
395# CONFIG_SCSI_SAS_LIBSAS is not set 409# CONFIG_SCSI_SAS_LIBSAS is not set
410# CONFIG_SCSI_SRP_ATTRS is not set
396CONFIG_SCSI_LOWLEVEL=y 411CONFIG_SCSI_LOWLEVEL=y
397# CONFIG_ISCSI_TCP is not set 412# CONFIG_ISCSI_TCP is not set
398# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 413# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -404,6 +419,7 @@ CONFIG_SCSI_LOWLEVEL=y
404# CONFIG_SCSI_AIC79XX is not set 419# CONFIG_SCSI_AIC79XX is not set
405# CONFIG_SCSI_AIC94XX is not set 420# CONFIG_SCSI_AIC94XX is not set
406# CONFIG_SCSI_DPT_I2O is not set 421# CONFIG_SCSI_DPT_I2O is not set
422# CONFIG_SCSI_ADVANSYS is not set
407# CONFIG_SCSI_ARCMSR is not set 423# CONFIG_SCSI_ARCMSR is not set
408# CONFIG_MEGARAID_NEWGEN is not set 424# CONFIG_MEGARAID_NEWGEN is not set
409# CONFIG_MEGARAID_LEGACY is not set 425# CONFIG_MEGARAID_LEGACY is not set
@@ -472,6 +488,7 @@ CONFIG_PATA_MPC52xx=y
472# CONFIG_PATA_OLDPIIX is not set 488# CONFIG_PATA_OLDPIIX is not set
473# CONFIG_PATA_NETCELL is not set 489# CONFIG_PATA_NETCELL is not set
474# CONFIG_PATA_NS87410 is not set 490# CONFIG_PATA_NS87410 is not set
491# CONFIG_PATA_NS87415 is not set
475# CONFIG_PATA_OPTI is not set 492# CONFIG_PATA_OPTI is not set
476# CONFIG_PATA_OPTIDMA is not set 493# CONFIG_PATA_OPTIDMA is not set
477# CONFIG_PATA_PDC_OLD is not set 494# CONFIG_PATA_PDC_OLD is not set
@@ -486,14 +503,7 @@ CONFIG_PATA_MPC52xx=y
486# CONFIG_PATA_WINBOND is not set 503# CONFIG_PATA_WINBOND is not set
487# CONFIG_PATA_PLATFORM is not set 504# CONFIG_PATA_PLATFORM is not set
488# CONFIG_MD is not set 505# CONFIG_MD is not set
489
490#
491# Fusion MPT device support
492#
493# CONFIG_FUSION is not set 506# CONFIG_FUSION is not set
494# CONFIG_FUSION_SPI is not set
495# CONFIG_FUSION_FC is not set
496# CONFIG_FUSION_SAS is not set
497 507
498# 508#
499# IEEE 1394 (FireWire) support 509# IEEE 1394 (FireWire) support
@@ -509,12 +519,15 @@ CONFIG_NETDEVICES=y
509# CONFIG_MACVLAN is not set 519# CONFIG_MACVLAN is not set
510# CONFIG_EQUALIZER is not set 520# CONFIG_EQUALIZER is not set
511# CONFIG_TUN is not set 521# CONFIG_TUN is not set
522# CONFIG_VETH is not set
523# CONFIG_IP1000 is not set
512# CONFIG_ARCNET is not set 524# CONFIG_ARCNET is not set
513# CONFIG_NET_ETHERNET is not set 525# CONFIG_NET_ETHERNET is not set
514CONFIG_NETDEV_1000=y 526CONFIG_NETDEV_1000=y
515# CONFIG_ACENIC is not set 527# CONFIG_ACENIC is not set
516# CONFIG_DL2K is not set 528# CONFIG_DL2K is not set
517# CONFIG_E1000 is not set 529# CONFIG_E1000 is not set
530# CONFIG_E1000E is not set
518# CONFIG_NS83820 is not set 531# CONFIG_NS83820 is not set
519# CONFIG_HAMACHI is not set 532# CONFIG_HAMACHI is not set
520# CONFIG_YELLOWFIN is not set 533# CONFIG_YELLOWFIN is not set
@@ -522,6 +535,7 @@ CONFIG_NETDEV_1000=y
522# CONFIG_SIS190 is not set 535# CONFIG_SIS190 is not set
523# CONFIG_SKGE is not set 536# CONFIG_SKGE is not set
524# CONFIG_SKY2 is not set 537# CONFIG_SKY2 is not set
538# CONFIG_SK98LIN is not set
525# CONFIG_VIA_VELOCITY is not set 539# CONFIG_VIA_VELOCITY is not set
526# CONFIG_TIGON3 is not set 540# CONFIG_TIGON3 is not set
527# CONFIG_BNX2 is not set 541# CONFIG_BNX2 is not set
@@ -531,11 +545,14 @@ CONFIG_NETDEV_1000=y
531CONFIG_NETDEV_10000=y 545CONFIG_NETDEV_10000=y
532# CONFIG_CHELSIO_T1 is not set 546# CONFIG_CHELSIO_T1 is not set
533# CONFIG_CHELSIO_T3 is not set 547# CONFIG_CHELSIO_T3 is not set
548# CONFIG_IXGBE is not set
534# CONFIG_IXGB is not set 549# CONFIG_IXGB is not set
535# CONFIG_S2IO is not set 550# CONFIG_S2IO is not set
536# CONFIG_MYRI10GE is not set 551# CONFIG_MYRI10GE is not set
537# CONFIG_NETXEN_NIC is not set 552# CONFIG_NETXEN_NIC is not set
553# CONFIG_NIU is not set
538# CONFIG_MLX4_CORE is not set 554# CONFIG_MLX4_CORE is not set
555# CONFIG_TEHUTI is not set
539# CONFIG_TR is not set 556# CONFIG_TR is not set
540 557
541# 558#
@@ -592,14 +609,11 @@ CONFIG_UNIX98_PTYS=y
592CONFIG_LEGACY_PTYS=y 609CONFIG_LEGACY_PTYS=y
593CONFIG_LEGACY_PTY_COUNT=256 610CONFIG_LEGACY_PTY_COUNT=256
594# CONFIG_IPMI_HANDLER is not set 611# CONFIG_IPMI_HANDLER is not set
595# CONFIG_WATCHDOG is not set
596# CONFIG_HW_RANDOM is not set 612# CONFIG_HW_RANDOM is not set
597# CONFIG_NVRAM is not set 613# CONFIG_NVRAM is not set
598# CONFIG_GEN_RTC is not set 614# CONFIG_GEN_RTC is not set
599# CONFIG_R3964 is not set 615# CONFIG_R3964 is not set
600# CONFIG_APPLICOM is not set 616# CONFIG_APPLICOM is not set
601# CONFIG_AGP is not set
602# CONFIG_DRM is not set
603# CONFIG_RAW_DRIVER is not set 617# CONFIG_RAW_DRIVER is not set
604# CONFIG_TCG_TPM is not set 618# CONFIG_TCG_TPM is not set
605CONFIG_DEVPORT=y 619CONFIG_DEVPORT=y
@@ -613,6 +627,13 @@ CONFIG_DEVPORT=y
613# CONFIG_W1 is not set 627# CONFIG_W1 is not set
614# CONFIG_POWER_SUPPLY is not set 628# CONFIG_POWER_SUPPLY is not set
615# CONFIG_HWMON is not set 629# CONFIG_HWMON is not set
630# CONFIG_WATCHDOG is not set
631
632#
633# Sonics Silicon Backplane
634#
635CONFIG_SSB_POSSIBLE=y
636# CONFIG_SSB is not set
616 637
617# 638#
618# Multifunction device drivers 639# Multifunction device drivers
@@ -629,16 +650,17 @@ CONFIG_DEVPORT=y
629# 650#
630# Graphics support 651# Graphics support
631# 652#
653# CONFIG_AGP is not set
654# CONFIG_DRM is not set
655# CONFIG_VGASTATE is not set
656CONFIG_VIDEO_OUTPUT_CONTROL=m
657# CONFIG_FB is not set
632# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 658# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
633 659
634# 660#
635# Display device support 661# Display device support
636# 662#
637# CONFIG_DISPLAY_SUPPORT is not set 663# CONFIG_DISPLAY_SUPPORT is not set
638# CONFIG_VGASTATE is not set
639CONFIG_VIDEO_OUTPUT_CONTROL=m
640# CONFIG_FB is not set
641# CONFIG_FB_IBM_GXT4500 is not set
642 664
643# 665#
644# Sound 666# Sound
@@ -665,19 +687,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
665# CONFIG_RTC_CLASS is not set 687# CONFIG_RTC_CLASS is not set
666 688
667# 689#
668# DMA Engine support
669#
670# CONFIG_DMA_ENGINE is not set
671
672#
673# DMA Clients
674#
675
676#
677# DMA Devices
678#
679
680#
681# Userspace I/O 690# Userspace I/O
682# 691#
683# CONFIG_UIO is not set 692# CONFIG_UIO is not set
@@ -694,7 +703,6 @@ CONFIG_EXT3_FS_XATTR=y
694# CONFIG_EXT3_FS_SECURITY is not set 703# CONFIG_EXT3_FS_SECURITY is not set
695# CONFIG_EXT4DEV_FS is not set 704# CONFIG_EXT4DEV_FS is not set
696CONFIG_JBD=y 705CONFIG_JBD=y
697# CONFIG_JBD_DEBUG is not set
698CONFIG_FS_MBCACHE=y 706CONFIG_FS_MBCACHE=y
699# CONFIG_REISERFS_FS is not set 707# CONFIG_REISERFS_FS is not set
700# CONFIG_JFS_FS is not set 708# CONFIG_JFS_FS is not set
@@ -735,7 +743,6 @@ CONFIG_SYSFS=y
735CONFIG_TMPFS=y 743CONFIG_TMPFS=y
736# CONFIG_TMPFS_POSIX_ACL is not set 744# CONFIG_TMPFS_POSIX_ACL is not set
737# CONFIG_HUGETLB_PAGE is not set 745# CONFIG_HUGETLB_PAGE is not set
738CONFIG_RAMFS=y
739# CONFIG_CONFIGFS_FS is not set 746# CONFIG_CONFIGFS_FS is not set
740 747
741# 748#
@@ -754,10 +761,7 @@ CONFIG_RAMFS=y
754# CONFIG_QNX4FS_FS is not set 761# CONFIG_QNX4FS_FS is not set
755# CONFIG_SYSV_FS is not set 762# CONFIG_SYSV_FS is not set
756# CONFIG_UFS_FS is not set 763# CONFIG_UFS_FS is not set
757 764CONFIG_NETWORK_FILESYSTEMS=y
758#
759# Network File Systems
760#
761# CONFIG_NFS_FS is not set 765# CONFIG_NFS_FS is not set
762# CONFIG_NFSD is not set 766# CONFIG_NFSD is not set
763# CONFIG_SMB_FS is not set 767# CONFIG_SMB_FS is not set
@@ -771,15 +775,7 @@ CONFIG_RAMFS=y
771# 775#
772# CONFIG_PARTITION_ADVANCED is not set 776# CONFIG_PARTITION_ADVANCED is not set
773CONFIG_MSDOS_PARTITION=y 777CONFIG_MSDOS_PARTITION=y
774
775#
776# Native Language Support
777#
778# CONFIG_NLS is not set 778# CONFIG_NLS is not set
779
780#
781# Distributed Lock Manager
782#
783# CONFIG_DLM is not set 779# CONFIG_DLM is not set
784# CONFIG_UCC_SLOW is not set 780# CONFIG_UCC_SLOW is not set
785 781
@@ -796,16 +792,13 @@ CONFIG_PLIST=y
796CONFIG_HAS_IOMEM=y 792CONFIG_HAS_IOMEM=y
797CONFIG_HAS_IOPORT=y 793CONFIG_HAS_IOPORT=y
798CONFIG_HAS_DMA=y 794CONFIG_HAS_DMA=y
799 795# CONFIG_INSTRUMENTATION is not set
800#
801# Instrumentation Support
802#
803# CONFIG_PROFILING is not set
804 796
805# 797#
806# Kernel hacking 798# Kernel hacking
807# 799#
808CONFIG_PRINTK_TIME=y 800CONFIG_PRINTK_TIME=y
801CONFIG_ENABLE_WARN_DEPRECATED=y
809CONFIG_ENABLE_MUST_CHECK=y 802CONFIG_ENABLE_MUST_CHECK=y
810# CONFIG_MAGIC_SYSRQ is not set 803# CONFIG_MAGIC_SYSRQ is not set
811# CONFIG_UNUSED_SYMBOLS is not set 804# CONFIG_UNUSED_SYMBOLS is not set
@@ -829,9 +822,12 @@ CONFIG_SCHED_DEBUG=y
829CONFIG_DEBUG_INFO=y 822CONFIG_DEBUG_INFO=y
830# CONFIG_DEBUG_VM is not set 823# CONFIG_DEBUG_VM is not set
831# CONFIG_DEBUG_LIST is not set 824# CONFIG_DEBUG_LIST is not set
825# CONFIG_DEBUG_SG is not set
832CONFIG_FORCED_INLINING=y 826CONFIG_FORCED_INLINING=y
827# CONFIG_BOOT_PRINTK_DELAY is not set
833# CONFIG_RCU_TORTURE_TEST is not set 828# CONFIG_RCU_TORTURE_TEST is not set
834# CONFIG_FAULT_INJECTION is not set 829# CONFIG_FAULT_INJECTION is not set
830# CONFIG_SAMPLES is not set
835# CONFIG_DEBUG_STACKOVERFLOW is not set 831# CONFIG_DEBUG_STACKOVERFLOW is not set
836# CONFIG_DEBUG_STACK_USAGE is not set 832# CONFIG_DEBUG_STACK_USAGE is not set
837# CONFIG_DEBUG_PAGEALLOC is not set 833# CONFIG_DEBUG_PAGEALLOC is not set
@@ -845,4 +841,7 @@ CONFIG_FORCED_INLINING=y
845# 841#
846# CONFIG_KEYS is not set 842# CONFIG_KEYS is not set
847# CONFIG_SECURITY is not set 843# CONFIG_SECURITY is not set
844# CONFIG_SECURITY_FILE_CAPABILITIES is not set
848# CONFIG_CRYPTO is not set 845# CONFIG_CRYPTO is not set
846CONFIG_PPC_CLOCK=y
847CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 84b9ab4a5a92..8b810d056440 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:38:16 2007 4# Thu Dec 6 16:48:26 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -10,6 +10,7 @@ CONFIG_PPC64=y
10# 10#
11CONFIG_POWER4_ONLY=y 11CONFIG_POWER4_ONLY=y
12CONFIG_POWER4=y 12CONFIG_POWER4=y
13# CONFIG_TUNE_CELL is not set
13CONFIG_PPC_FPU=y 14CONFIG_PPC_FPU=y
14# CONFIG_ALTIVEC is not set 15# CONFIG_ALTIVEC is not set
15CONFIG_PPC_STD_MMU=y 16CONFIG_PPC_STD_MMU=y
@@ -18,8 +19,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
18CONFIG_SMP=y 19CONFIG_SMP=y
19CONFIG_NR_CPUS=4 20CONFIG_NR_CPUS=4
20CONFIG_64BIT=y 21CONFIG_64BIT=y
22CONFIG_WORD_SIZE=64
21CONFIG_PPC_MERGE=y 23CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 24CONFIG_MMU=y
25CONFIG_GENERIC_CMOS_UPDATE=y
26CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,11 +68,13 @@ CONFIG_POSIX_MQUEUE=y
62# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
66CONFIG_IKCONFIG=y 73CONFIG_IKCONFIG=y
67CONFIG_IKCONFIG_PROC=y 74CONFIG_IKCONFIG_PROC=y
68CONFIG_LOG_BUF_SHIFT=17 75CONFIG_LOG_BUF_SHIFT=17
69# CONFIG_CPUSETS is not set 76# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set
70CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
72# CONFIG_BLK_DEV_INITRD is not set 80# CONFIG_BLK_DEV_INITRD is not set
@@ -86,7 +94,6 @@ CONFIG_FUTEX=y
86CONFIG_ANON_INODES=y 94CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 95CONFIG_EPOLL=y
88CONFIG_SIGNALFD=y 96CONFIG_SIGNALFD=y
89CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 98CONFIG_SHMEM=y
92CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
@@ -107,6 +114,7 @@ CONFIG_STOP_MACHINE=y
107CONFIG_BLOCK=y 114CONFIG_BLOCK=y
108# CONFIG_BLK_DEV_IO_TRACE is not set 115# CONFIG_BLK_DEV_IO_TRACE is not set
109# CONFIG_BLK_DEV_BSG is not set 116# CONFIG_BLK_DEV_BSG is not set
117CONFIG_BLOCK_COMPAT=y
110 118
111# 119#
112# IO Schedulers 120# IO Schedulers
@@ -125,7 +133,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
125# Platform support 133# Platform support
126# 134#
127CONFIG_PPC_MULTIPLATFORM=y 135CONFIG_PPC_MULTIPLATFORM=y
128# CONFIG_EMBEDDED6xx is not set
129# CONFIG_PPC_82xx is not set 136# CONFIG_PPC_82xx is not set
130# CONFIG_PPC_83xx is not set 137# CONFIG_PPC_83xx is not set
131# CONFIG_PPC_86xx is not set 138# CONFIG_PPC_86xx is not set
@@ -165,6 +172,10 @@ CONFIG_PPC_970_NAP=y
165# 172#
166# Kernel options 173# Kernel options
167# 174#
175CONFIG_TICK_ONESHOT=y
176CONFIG_NO_HZ=y
177CONFIG_HIGH_RES_TIMERS=y
178CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
168# CONFIG_HZ_100 is not set 179# CONFIG_HZ_100 is not set
169CONFIG_HZ_250=y 180CONFIG_HZ_250=y
170# CONFIG_HZ_300 is not set 181# CONFIG_HZ_300 is not set
@@ -177,6 +188,7 @@ CONFIG_PREEMPT_NONE=y
177CONFIG_BINFMT_ELF=y 188CONFIG_BINFMT_ELF=y
178# CONFIG_BINFMT_MISC is not set 189# CONFIG_BINFMT_MISC is not set
179CONFIG_FORCE_MAX_ZONEORDER=13 190CONFIG_FORCE_MAX_ZONEORDER=13
191CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
180CONFIG_IOMMU_VMERGE=y 192CONFIG_IOMMU_VMERGE=y
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 193CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
182CONFIG_KEXEC=y 194CONFIG_KEXEC=y
@@ -194,6 +206,7 @@ CONFIG_FLATMEM_MANUAL=y
194CONFIG_FLATMEM=y 206CONFIG_FLATMEM=y
195CONFIG_FLAT_NODE_MEM_MAP=y 207CONFIG_FLAT_NODE_MEM_MAP=y
196# CONFIG_SPARSEMEM_STATIC is not set 208# CONFIG_SPARSEMEM_STATIC is not set
209CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
197CONFIG_SPLIT_PTLOCK_CPUS=4 210CONFIG_SPLIT_PTLOCK_CPUS=4
198CONFIG_RESOURCES_64BIT=y 211CONFIG_RESOURCES_64BIT=y
199CONFIG_ZONE_DMA_FLAG=1 212CONFIG_ZONE_DMA_FLAG=1
@@ -220,11 +233,8 @@ CONFIG_PCI_SYSCALL=y
220# CONFIG_PCIEPORTBUS is not set 233# CONFIG_PCIEPORTBUS is not set
221CONFIG_ARCH_SUPPORTS_MSI=y 234CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_PCI_MSI=y 235CONFIG_PCI_MSI=y
236CONFIG_PCI_LEGACY=y
223# CONFIG_PCI_DEBUG is not set 237# CONFIG_PCI_DEBUG is not set
224
225#
226# PCCARD (PCMCIA/CardBus) support
227#
228# CONFIG_PCCARD is not set 238# CONFIG_PCCARD is not set
229# CONFIG_HOTPLUG_PCI is not set 239# CONFIG_HOTPLUG_PCI is not set
230CONFIG_KERNEL_START=0xc000000000000000 240CONFIG_KERNEL_START=0xc000000000000000
@@ -266,6 +276,7 @@ CONFIG_IP_PNP_DHCP=y
266CONFIG_INET_XFRM_MODE_TRANSPORT=y 276CONFIG_INET_XFRM_MODE_TRANSPORT=y
267CONFIG_INET_XFRM_MODE_TUNNEL=y 277CONFIG_INET_XFRM_MODE_TUNNEL=y
268CONFIG_INET_XFRM_MODE_BEET=y 278CONFIG_INET_XFRM_MODE_BEET=y
279# CONFIG_INET_LRO is not set
269CONFIG_INET_DIAG=y 280CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y 281CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set 282# CONFIG_TCP_CONG_ADVANCED is not set
@@ -291,10 +302,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_LAPB is not set 302# CONFIG_LAPB is not set
292# CONFIG_ECONET is not set 303# CONFIG_ECONET is not set
293# CONFIG_WAN_ROUTER is not set 304# CONFIG_WAN_ROUTER is not set
294
295#
296# QoS and/or fair queueing
297#
298# CONFIG_NET_SCHED is not set 305# CONFIG_NET_SCHED is not set
299 306
300# 307#
@@ -323,6 +330,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
323# 330#
324# Generic Driver Options 331# Generic Driver Options
325# 332#
333CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
326CONFIG_STANDALONE=y 334CONFIG_STANDALONE=y
327CONFIG_PREVENT_FIRMWARE_BUILD=y 335CONFIG_PREVENT_FIRMWARE_BUILD=y
328# CONFIG_FW_LOADER is not set 336# CONFIG_FW_LOADER is not set
@@ -373,6 +381,11 @@ CONFIG_IDE_PROC_FS=y
373# IDE chipset support/bugfixes 381# IDE chipset support/bugfixes
374# 382#
375CONFIG_IDE_GENERIC=y 383CONFIG_IDE_GENERIC=y
384# CONFIG_BLK_DEV_PLATFORM is not set
385
386#
387# PCI IDE chipsets support
388#
376CONFIG_BLK_DEV_IDEPCI=y 389CONFIG_BLK_DEV_IDEPCI=y
377CONFIG_IDEPCI_SHARE_IRQ=y 390CONFIG_IDEPCI_SHARE_IRQ=y
378CONFIG_IDEPCI_PCIBUS_ORDER=y 391CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -380,8 +393,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
380CONFIG_BLK_DEV_GENERIC=y 393CONFIG_BLK_DEV_GENERIC=y
381# CONFIG_BLK_DEV_OPTI621 is not set 394# CONFIG_BLK_DEV_OPTI621 is not set
382CONFIG_BLK_DEV_IDEDMA_PCI=y 395CONFIG_BLK_DEV_IDEDMA_PCI=y
383# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
384# CONFIG_IDEDMA_ONLYDISK is not set
385# CONFIG_BLK_DEV_AEC62XX is not set 396# CONFIG_BLK_DEV_AEC62XX is not set
386# CONFIG_BLK_DEV_ALI15X3 is not set 397# CONFIG_BLK_DEV_ALI15X3 is not set
387CONFIG_BLK_DEV_AMD74XX=y 398CONFIG_BLK_DEV_AMD74XX=y
@@ -409,7 +420,7 @@ CONFIG_BLK_DEV_AMD74XX=y
409# CONFIG_BLK_DEV_TC86C001 is not set 420# CONFIG_BLK_DEV_TC86C001 is not set
410# CONFIG_IDE_ARM is not set 421# CONFIG_IDE_ARM is not set
411CONFIG_BLK_DEV_IDEDMA=y 422CONFIG_BLK_DEV_IDEDMA=y
412# CONFIG_IDEDMA_IVB is not set 423CONFIG_IDE_ARCH_OBSOLETE_INIT=y
413# CONFIG_BLK_DEV_HD is not set 424# CONFIG_BLK_DEV_HD is not set
414 425
415# 426#
@@ -421,10 +432,6 @@ CONFIG_BLK_DEV_IDEDMA=y
421# CONFIG_SCSI_NETLINK is not set 432# CONFIG_SCSI_NETLINK is not set
422# CONFIG_ATA is not set 433# CONFIG_ATA is not set
423# CONFIG_MD is not set 434# CONFIG_MD is not set
424
425#
426# Fusion MPT device support
427#
428# CONFIG_FUSION is not set 435# CONFIG_FUSION is not set
429 436
430# 437#
@@ -441,6 +448,8 @@ CONFIG_NETDEVICES=y
441# CONFIG_MACVLAN is not set 448# CONFIG_MACVLAN is not set
442# CONFIG_EQUALIZER is not set 449# CONFIG_EQUALIZER is not set
443# CONFIG_TUN is not set 450# CONFIG_TUN is not set
451# CONFIG_VETH is not set
452# CONFIG_IP1000 is not set
444# CONFIG_ARCNET is not set 453# CONFIG_ARCNET is not set
445# CONFIG_PHYLIB is not set 454# CONFIG_PHYLIB is not set
446CONFIG_NET_ETHERNET=y 455CONFIG_NET_ETHERNET=y
@@ -451,6 +460,10 @@ CONFIG_MII=y
451# CONFIG_NET_VENDOR_3COM is not set 460# CONFIG_NET_VENDOR_3COM is not set
452# CONFIG_NET_TULIP is not set 461# CONFIG_NET_TULIP is not set
453# CONFIG_HP100 is not set 462# CONFIG_HP100 is not set
463# CONFIG_IBM_NEW_EMAC_ZMII is not set
464# CONFIG_IBM_NEW_EMAC_RGMII is not set
465# CONFIG_IBM_NEW_EMAC_TAH is not set
466# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
454CONFIG_NET_PCI=y 467CONFIG_NET_PCI=y
455# CONFIG_PCNET32 is not set 468# CONFIG_PCNET32 is not set
456CONFIG_AMD8111_ETH=y 469CONFIG_AMD8111_ETH=y
@@ -458,7 +471,6 @@ CONFIG_AMD8111_ETH=y
458# CONFIG_ADAPTEC_STARFIRE is not set 471# CONFIG_ADAPTEC_STARFIRE is not set
459# CONFIG_B44 is not set 472# CONFIG_B44 is not set
460# CONFIG_FORCEDETH is not set 473# CONFIG_FORCEDETH is not set
461# CONFIG_DGRS is not set
462# CONFIG_EEPRO100 is not set 474# CONFIG_EEPRO100 is not set
463# CONFIG_E100 is not set 475# CONFIG_E100 is not set
464# CONFIG_FEALNX is not set 476# CONFIG_FEALNX is not set
@@ -477,6 +489,7 @@ CONFIG_NETDEV_1000=y
477CONFIG_E1000=y 489CONFIG_E1000=y
478# CONFIG_E1000_NAPI is not set 490# CONFIG_E1000_NAPI is not set
479# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 491# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
492# CONFIG_E1000E is not set
480# CONFIG_NS83820 is not set 493# CONFIG_NS83820 is not set
481# CONFIG_HAMACHI is not set 494# CONFIG_HAMACHI is not set
482# CONFIG_YELLOWFIN is not set 495# CONFIG_YELLOWFIN is not set
@@ -484,6 +497,7 @@ CONFIG_E1000=y
484# CONFIG_SIS190 is not set 497# CONFIG_SIS190 is not set
485# CONFIG_SKGE is not set 498# CONFIG_SKGE is not set
486# CONFIG_SKY2 is not set 499# CONFIG_SKY2 is not set
500# CONFIG_SK98LIN is not set
487# CONFIG_VIA_VELOCITY is not set 501# CONFIG_VIA_VELOCITY is not set
488CONFIG_TIGON3=y 502CONFIG_TIGON3=y
489# CONFIG_BNX2 is not set 503# CONFIG_BNX2 is not set
@@ -492,12 +506,15 @@ CONFIG_TIGON3=y
492CONFIG_NETDEV_10000=y 506CONFIG_NETDEV_10000=y
493# CONFIG_CHELSIO_T1 is not set 507# CONFIG_CHELSIO_T1 is not set
494# CONFIG_CHELSIO_T3 is not set 508# CONFIG_CHELSIO_T3 is not set
509# CONFIG_IXGBE is not set
495# CONFIG_IXGB is not set 510# CONFIG_IXGB is not set
496# CONFIG_S2IO is not set 511# CONFIG_S2IO is not set
497# CONFIG_MYRI10GE is not set 512# CONFIG_MYRI10GE is not set
498# CONFIG_NETXEN_NIC is not set 513# CONFIG_NETXEN_NIC is not set
514# CONFIG_NIU is not set
499# CONFIG_PASEMI_MAC is not set 515# CONFIG_PASEMI_MAC is not set
500# CONFIG_MLX4_CORE is not set 516# CONFIG_MLX4_CORE is not set
517# CONFIG_TEHUTI is not set
501# CONFIG_TR is not set 518# CONFIG_TR is not set
502 519
503# 520#
@@ -513,7 +530,6 @@ CONFIG_NETDEV_10000=y
513# CONFIG_USB_KAWETH is not set 530# CONFIG_USB_KAWETH is not set
514CONFIG_USB_PEGASUS=y 531CONFIG_USB_PEGASUS=y
515# CONFIG_USB_RTL8150 is not set 532# CONFIG_USB_RTL8150 is not set
516# CONFIG_USB_USBNET_MII is not set
517# CONFIG_USB_USBNET is not set 533# CONFIG_USB_USBNET is not set
518# CONFIG_WAN is not set 534# CONFIG_WAN is not set
519# CONFIG_FDDI is not set 535# CONFIG_FDDI is not set
@@ -542,7 +558,6 @@ CONFIG_INPUT_MOUSEDEV=y
542CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600 558CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
543CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200 559CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
544# CONFIG_INPUT_JOYDEV is not set 560# CONFIG_INPUT_JOYDEV is not set
545# CONFIG_INPUT_TSDEV is not set
546# CONFIG_INPUT_EVDEV is not set 561# CONFIG_INPUT_EVDEV is not set
547# CONFIG_INPUT_EVBUG is not set 562# CONFIG_INPUT_EVBUG is not set
548 563
@@ -594,14 +609,11 @@ CONFIG_LEGACY_PTY_COUNT=256
594CONFIG_HVC_DRIVER=y 609CONFIG_HVC_DRIVER=y
595CONFIG_HVC_RTAS=y 610CONFIG_HVC_RTAS=y
596# CONFIG_IPMI_HANDLER is not set 611# CONFIG_IPMI_HANDLER is not set
597# CONFIG_WATCHDOG is not set
598# CONFIG_HW_RANDOM is not set 612# CONFIG_HW_RANDOM is not set
599CONFIG_GEN_RTC=y 613CONFIG_GEN_RTC=y
600# CONFIG_GEN_RTC_X is not set 614# CONFIG_GEN_RTC_X is not set
601# CONFIG_R3964 is not set 615# CONFIG_R3964 is not set
602# CONFIG_APPLICOM is not set 616# CONFIG_APPLICOM is not set
603# CONFIG_AGP is not set
604# CONFIG_DRM is not set
605# CONFIG_RAW_DRIVER is not set 617# CONFIG_RAW_DRIVER is not set
606# CONFIG_HANGCHECK_TIMER is not set 618# CONFIG_HANGCHECK_TIMER is not set
607# CONFIG_TCG_TPM is not set 619# CONFIG_TCG_TPM is not set
@@ -669,6 +681,13 @@ CONFIG_I2C_AMD8111=y
669# CONFIG_W1 is not set 681# CONFIG_W1 is not set
670# CONFIG_POWER_SUPPLY is not set 682# CONFIG_POWER_SUPPLY is not set
671# CONFIG_HWMON is not set 683# CONFIG_HWMON is not set
684# CONFIG_WATCHDOG is not set
685
686#
687# Sonics Silicon Backplane
688#
689CONFIG_SSB_POSSIBLE=y
690# CONFIG_SSB is not set
672 691
673# 692#
674# Multifunction device drivers 693# Multifunction device drivers
@@ -685,16 +704,17 @@ CONFIG_I2C_AMD8111=y
685# 704#
686# Graphics support 705# Graphics support
687# 706#
707# CONFIG_AGP is not set
708# CONFIG_DRM is not set
709# CONFIG_VGASTATE is not set
710# CONFIG_VIDEO_OUTPUT_CONTROL is not set
711# CONFIG_FB is not set
688# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 712# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
689 713
690# 714#
691# Display device support 715# Display device support
692# 716#
693# CONFIG_DISPLAY_SUPPORT is not set 717# CONFIG_DISPLAY_SUPPORT is not set
694# CONFIG_VGASTATE is not set
695# CONFIG_VIDEO_OUTPUT_CONTROL is not set
696# CONFIG_FB is not set
697# CONFIG_FB_IBM_GXT4500 is not set
698 718
699# 719#
700# Console display driver support 720# Console display driver support
@@ -709,6 +729,7 @@ CONFIG_DUMMY_CONSOLE=y
709CONFIG_HID_SUPPORT=y 729CONFIG_HID_SUPPORT=y
710CONFIG_HID=y 730CONFIG_HID=y
711# CONFIG_HID_DEBUG is not set 731# CONFIG_HID_DEBUG is not set
732# CONFIG_HIDRAW is not set
712 733
713# 734#
714# USB Input Devices 735# USB Input Devices
@@ -784,6 +805,7 @@ CONFIG_USB_SERIAL_GENERIC=y
784# CONFIG_USB_SERIAL_AIRPRIME is not set 805# CONFIG_USB_SERIAL_AIRPRIME is not set
785# CONFIG_USB_SERIAL_ARK3116 is not set 806# CONFIG_USB_SERIAL_ARK3116 is not set
786# CONFIG_USB_SERIAL_BELKIN is not set 807# CONFIG_USB_SERIAL_BELKIN is not set
808# CONFIG_USB_SERIAL_CH341 is not set
787# CONFIG_USB_SERIAL_WHITEHEAT is not set 809# CONFIG_USB_SERIAL_WHITEHEAT is not set
788# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set 810# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
789# CONFIG_USB_SERIAL_CP2101 is not set 811# CONFIG_USB_SERIAL_CP2101 is not set
@@ -870,19 +892,6 @@ CONFIG_USB_EZUSB=y
870# CONFIG_RTC_CLASS is not set 892# CONFIG_RTC_CLASS is not set
871 893
872# 894#
873# DMA Engine support
874#
875# CONFIG_DMA_ENGINE is not set
876
877#
878# DMA Clients
879#
880
881#
882# DMA Devices
883#
884
885#
886# Userspace I/O 895# Userspace I/O
887# 896#
888# CONFIG_UIO is not set 897# CONFIG_UIO is not set
@@ -942,7 +951,6 @@ CONFIG_TMPFS=y
942# CONFIG_TMPFS_POSIX_ACL is not set 951# CONFIG_TMPFS_POSIX_ACL is not set
943CONFIG_HUGETLBFS=y 952CONFIG_HUGETLBFS=y
944CONFIG_HUGETLB_PAGE=y 953CONFIG_HUGETLB_PAGE=y
945CONFIG_RAMFS=y
946# CONFIG_CONFIGFS_FS is not set 954# CONFIG_CONFIGFS_FS is not set
947 955
948# 956#
@@ -961,10 +969,7 @@ CONFIG_CRAMFS=y
961# CONFIG_QNX4FS_FS is not set 969# CONFIG_QNX4FS_FS is not set
962# CONFIG_SYSV_FS is not set 970# CONFIG_SYSV_FS is not set
963# CONFIG_UFS_FS is not set 971# CONFIG_UFS_FS is not set
964 972CONFIG_NETWORK_FILESYSTEMS=y
965#
966# Network File Systems
967#
968CONFIG_NFS_FS=y 973CONFIG_NFS_FS=y
969CONFIG_NFS_V3=y 974CONFIG_NFS_V3=y
970CONFIG_NFS_V3_ACL=y 975CONFIG_NFS_V3_ACL=y
@@ -1008,10 +1013,6 @@ CONFIG_MSDOS_PARTITION=y
1008# CONFIG_KARMA_PARTITION is not set 1013# CONFIG_KARMA_PARTITION is not set
1009# CONFIG_EFI_PARTITION is not set 1014# CONFIG_EFI_PARTITION is not set
1010# CONFIG_SYSV68_PARTITION is not set 1015# CONFIG_SYSV68_PARTITION is not set
1011
1012#
1013# Native Language Support
1014#
1015CONFIG_NLS=y 1016CONFIG_NLS=y
1016CONFIG_NLS_DEFAULT="utf-8" 1017CONFIG_NLS_DEFAULT="utf-8"
1017# CONFIG_NLS_CODEPAGE_437 is not set 1018# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1052,10 +1053,6 @@ CONFIG_NLS_DEFAULT="utf-8"
1052# CONFIG_NLS_KOI8_R is not set 1053# CONFIG_NLS_KOI8_R is not set
1053# CONFIG_NLS_KOI8_U is not set 1054# CONFIG_NLS_KOI8_U is not set
1054CONFIG_NLS_UTF8=y 1055CONFIG_NLS_UTF8=y
1055
1056#
1057# Distributed Lock Manager
1058#
1059# CONFIG_DLM is not set 1056# CONFIG_DLM is not set
1060# CONFIG_UCC_SLOW is not set 1057# CONFIG_UCC_SLOW is not set
1061 1058
@@ -1074,17 +1071,13 @@ CONFIG_PLIST=y
1074CONFIG_HAS_IOMEM=y 1071CONFIG_HAS_IOMEM=y
1075CONFIG_HAS_IOPORT=y 1072CONFIG_HAS_IOPORT=y
1076CONFIG_HAS_DMA=y 1073CONFIG_HAS_DMA=y
1077 1074# CONFIG_INSTRUMENTATION is not set
1078#
1079# Instrumentation Support
1080#
1081# CONFIG_PROFILING is not set
1082# CONFIG_KPROBES is not set
1083 1075
1084# 1076#
1085# Kernel hacking 1077# Kernel hacking
1086# 1078#
1087# CONFIG_PRINTK_TIME is not set 1079# CONFIG_PRINTK_TIME is not set
1080CONFIG_ENABLE_WARN_DEPRECATED=y
1088CONFIG_ENABLE_MUST_CHECK=y 1081CONFIG_ENABLE_MUST_CHECK=y
1089CONFIG_MAGIC_SYSRQ=y 1082CONFIG_MAGIC_SYSRQ=y
1090# CONFIG_UNUSED_SYMBOLS is not set 1083# CONFIG_UNUSED_SYMBOLS is not set
@@ -1108,9 +1101,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1108# CONFIG_DEBUG_INFO is not set 1101# CONFIG_DEBUG_INFO is not set
1109# CONFIG_DEBUG_VM is not set 1102# CONFIG_DEBUG_VM is not set
1110# CONFIG_DEBUG_LIST is not set 1103# CONFIG_DEBUG_LIST is not set
1104# CONFIG_DEBUG_SG is not set
1111# CONFIG_FORCED_INLINING is not set 1105# CONFIG_FORCED_INLINING is not set
1106# CONFIG_BOOT_PRINTK_DELAY is not set
1112# CONFIG_RCU_TORTURE_TEST is not set 1107# CONFIG_RCU_TORTURE_TEST is not set
1113# CONFIG_FAULT_INJECTION is not set 1108# CONFIG_FAULT_INJECTION is not set
1109# CONFIG_SAMPLES is not set
1114CONFIG_DEBUG_STACKOVERFLOW=y 1110CONFIG_DEBUG_STACKOVERFLOW=y
1115CONFIG_DEBUG_STACK_USAGE=y 1111CONFIG_DEBUG_STACK_USAGE=y
1116# CONFIG_DEBUG_PAGEALLOC is not set 1112# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1119,6 +1115,7 @@ CONFIG_XMON=y
1119CONFIG_XMON_DEFAULT=y 1115CONFIG_XMON_DEFAULT=y
1120CONFIG_XMON_DISASSEMBLY=y 1116CONFIG_XMON_DISASSEMBLY=y
1121# CONFIG_IRQSTACKS is not set 1117# CONFIG_IRQSTACKS is not set
1118# CONFIG_VIRQ_DEBUG is not set
1122CONFIG_BOOTX_TEXT=y 1119CONFIG_BOOTX_TEXT=y
1123# CONFIG_PPC_EARLY_DEBUG is not set 1120# CONFIG_PPC_EARLY_DEBUG is not set
1124 1121
@@ -1127,6 +1124,7 @@ CONFIG_BOOTX_TEXT=y
1127# 1124#
1128# CONFIG_KEYS is not set 1125# CONFIG_KEYS is not set
1129# CONFIG_SECURITY is not set 1126# CONFIG_SECURITY is not set
1127# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1130CONFIG_CRYPTO=y 1128CONFIG_CRYPTO=y
1131CONFIG_CRYPTO_ALGAPI=y 1129CONFIG_CRYPTO_ALGAPI=y
1132CONFIG_CRYPTO_BLKCIPHER=y 1130CONFIG_CRYPTO_BLKCIPHER=y
@@ -1146,6 +1144,7 @@ CONFIG_CRYPTO_ECB=m
1146CONFIG_CRYPTO_CBC=y 1144CONFIG_CRYPTO_CBC=y
1147CONFIG_CRYPTO_PCBC=m 1145CONFIG_CRYPTO_PCBC=m
1148# CONFIG_CRYPTO_LRW is not set 1146# CONFIG_CRYPTO_LRW is not set
1147# CONFIG_CRYPTO_XTS is not set
1149# CONFIG_CRYPTO_CRYPTD is not set 1148# CONFIG_CRYPTO_CRYPTD is not set
1150CONFIG_CRYPTO_DES=y 1149CONFIG_CRYPTO_DES=y
1151# CONFIG_CRYPTO_FCRYPT is not set 1150# CONFIG_CRYPTO_FCRYPT is not set
@@ -1159,9 +1158,12 @@ CONFIG_CRYPTO_DES=y
1159# CONFIG_CRYPTO_ARC4 is not set 1158# CONFIG_CRYPTO_ARC4 is not set
1160# CONFIG_CRYPTO_KHAZAD is not set 1159# CONFIG_CRYPTO_KHAZAD is not set
1161# CONFIG_CRYPTO_ANUBIS is not set 1160# CONFIG_CRYPTO_ANUBIS is not set
1161# CONFIG_CRYPTO_SEED is not set
1162# CONFIG_CRYPTO_DEFLATE is not set 1162# CONFIG_CRYPTO_DEFLATE is not set
1163# CONFIG_CRYPTO_MICHAEL_MIC is not set 1163# CONFIG_CRYPTO_MICHAEL_MIC is not set
1164# CONFIG_CRYPTO_CRC32C is not set 1164# CONFIG_CRYPTO_CRC32C is not set
1165# CONFIG_CRYPTO_CAMELLIA is not set 1165# CONFIG_CRYPTO_CAMELLIA is not set
1166# CONFIG_CRYPTO_TEST is not set 1166# CONFIG_CRYPTO_TEST is not set
1167# CONFIG_CRYPTO_AUTHENC is not set
1167# CONFIG_CRYPTO_HW is not set 1168# CONFIG_CRYPTO_HW is not set
1169# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 87ae894551b7..b0266de48491 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:39 2007 4# Thu Dec 6 16:48:28 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,13 +15,19 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18CONFIG_ALTIVEC=y
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set 22# CONFIG_SMP is not set
22CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
23CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
24CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
25CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
26CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
27CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -61,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
61# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
62# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
63# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
64# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
65# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
66CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
67CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
68# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
69CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +92,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 92CONFIG_ANON_INODES=y
84CONFIG_EPOLL=y 93CONFIG_EPOLL=y
85CONFIG_SIGNALFD=y 94CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 95CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 96CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
@@ -117,16 +125,21 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
117# 125#
118# Platform support 126# Platform support
119# 127#
120# CONFIG_PPC_MULTIPLATFORM is not set 128CONFIG_PPC_MULTIPLATFORM=y
121CONFIG_EMBEDDED6xx=y
122# CONFIG_PPC_82xx is not set 129# CONFIG_PPC_82xx is not set
123# CONFIG_PPC_83xx is not set 130# CONFIG_PPC_83xx is not set
124# CONFIG_PPC_86xx is not set 131# CONFIG_PPC_86xx is not set
132CONFIG_CLASSIC32=y
133# CONFIG_PPC_CHRP is not set
125# CONFIG_PPC_MPC52xx is not set 134# CONFIG_PPC_MPC52xx is not set
126# CONFIG_PPC_MPC5200 is not set 135# CONFIG_PPC_MPC5200 is not set
136# CONFIG_PPC_EFIKA is not set
137# CONFIG_PPC_LITE5200 is not set
138# CONFIG_PPC_PMAC is not set
127# CONFIG_PPC_CELL is not set 139# CONFIG_PPC_CELL is not set
128# CONFIG_PPC_CELL_NATIVE is not set 140# CONFIG_PPC_CELL_NATIVE is not set
129# CONFIG_PQ2ADS is not set 141# CONFIG_PQ2ADS is not set
142CONFIG_EMBEDDED6xx=y
130# CONFIG_LINKSTATION is not set 143# CONFIG_LINKSTATION is not set
131CONFIG_MPC7448HPC2=y 144CONFIG_MPC7448HPC2=y
132# CONFIG_PPC_HOLLY is not set 145# CONFIG_PPC_HOLLY is not set
@@ -142,6 +155,7 @@ CONFIG_MPIC_WEIRD=y
142# CONFIG_PPC_INDIRECT_IO is not set 155# CONFIG_PPC_INDIRECT_IO is not set
143# CONFIG_GENERIC_IOMAP is not set 156# CONFIG_GENERIC_IOMAP is not set
144# CONFIG_CPU_FREQ is not set 157# CONFIG_CPU_FREQ is not set
158# CONFIG_TAU is not set
145# CONFIG_CPM2 is not set 159# CONFIG_CPM2 is not set
146# CONFIG_FSL_ULI1575 is not set 160# CONFIG_FSL_ULI1575 is not set
147 161
@@ -149,6 +163,10 @@ CONFIG_MPIC_WEIRD=y
149# Kernel options 163# Kernel options
150# 164#
151# CONFIG_HIGHMEM is not set 165# CONFIG_HIGHMEM is not set
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
152# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
153CONFIG_HZ_250=y 171CONFIG_HZ_250=y
154# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -160,6 +178,7 @@ CONFIG_PREEMPT_NONE=y
160CONFIG_BINFMT_ELF=y 178CONFIG_BINFMT_ELF=y
161CONFIG_BINFMT_MISC=y 179CONFIG_BINFMT_MISC=y
162CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 180CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
181# CONFIG_KEXEC is not set
163CONFIG_ARCH_FLATMEM_ENABLE=y 182CONFIG_ARCH_FLATMEM_ENABLE=y
164CONFIG_ARCH_POPULATES_NODE_MAP=y 183CONFIG_ARCH_POPULATES_NODE_MAP=y
165CONFIG_SELECT_MEMORY_MODEL=y 184CONFIG_SELECT_MEMORY_MODEL=y
@@ -169,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
169CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
170CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
171# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
172CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
173# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
174CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -177,8 +197,11 @@ CONFIG_VIRT_TO_BUS=y
177CONFIG_PROC_DEVICETREE=y 197CONFIG_PROC_DEVICETREE=y
178# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
179# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
180# CONFIG_SECCOMP is not set 202# CONFIG_SECCOMP is not set
181# CONFIG_WANT_DEVICE_TREE is not set 203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
182CONFIG_ISA_DMA_API=y 205CONFIG_ISA_DMA_API=y
183 206
184# 207#
@@ -193,10 +216,7 @@ CONFIG_PCI_SYSCALL=y
193# CONFIG_PCIEPORTBUS is not set 216# CONFIG_PCIEPORTBUS is not set
194CONFIG_ARCH_SUPPORTS_MSI=y 217CONFIG_ARCH_SUPPORTS_MSI=y
195# CONFIG_PCI_MSI is not set 218# CONFIG_PCI_MSI is not set
196 219CONFIG_PCI_LEGACY=y
197#
198# PCCARD (PCMCIA/CardBus) support
199#
200# CONFIG_PCCARD is not set 220# CONFIG_PCCARD is not set
201# CONFIG_HOTPLUG_PCI is not set 221# CONFIG_HOTPLUG_PCI is not set
202 222
@@ -211,7 +231,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
211CONFIG_HIGHMEM_START=0xfe000000 231CONFIG_HIGHMEM_START=0xfe000000
212CONFIG_LOWMEM_SIZE=0x30000000 232CONFIG_LOWMEM_SIZE=0x30000000
213CONFIG_KERNEL_START=0xc0000000 233CONFIG_KERNEL_START=0xc0000000
214CONFIG_TASK_SIZE=0x80000000 234CONFIG_TASK_SIZE=0xc0000000
215CONFIG_BOOT_LOAD=0x00800000 235CONFIG_BOOT_LOAD=0x00800000
216 236
217# 237#
@@ -251,6 +271,7 @@ CONFIG_SYN_COOKIES=y
251CONFIG_INET_XFRM_MODE_TRANSPORT=y 271CONFIG_INET_XFRM_MODE_TRANSPORT=y
252CONFIG_INET_XFRM_MODE_TUNNEL=y 272CONFIG_INET_XFRM_MODE_TUNNEL=y
253CONFIG_INET_XFRM_MODE_BEET=y 273CONFIG_INET_XFRM_MODE_BEET=y
274# CONFIG_INET_LRO is not set
254CONFIG_INET_DIAG=y 275CONFIG_INET_DIAG=y
255CONFIG_INET_TCP_DIAG=y 276CONFIG_INET_TCP_DIAG=y
256# CONFIG_TCP_CONG_ADVANCED is not set 277# CONFIG_TCP_CONG_ADVANCED is not set
@@ -276,10 +297,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
276# CONFIG_LAPB is not set 297# CONFIG_LAPB is not set
277# CONFIG_ECONET is not set 298# CONFIG_ECONET is not set
278# CONFIG_WAN_ROUTER is not set 299# CONFIG_WAN_ROUTER is not set
279
280#
281# QoS and/or fair queueing
282#
283# CONFIG_NET_SCHED is not set 300# CONFIG_NET_SCHED is not set
284 301
285# 302#
@@ -308,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
308# 325#
309# Generic Driver Options 326# Generic Driver Options
310# 327#
328CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
311CONFIG_STANDALONE=y 329CONFIG_STANDALONE=y
312CONFIG_PREVENT_FIRMWARE_BUILD=y 330CONFIG_PREVENT_FIRMWARE_BUILD=y
313# CONFIG_FW_LOADER is not set 331# CONFIG_FW_LOADER is not set
@@ -375,6 +393,7 @@ CONFIG_BLK_DEV_SD=y
375# CONFIG_SCSI_FC_ATTRS is not set 393# CONFIG_SCSI_FC_ATTRS is not set
376# CONFIG_SCSI_ISCSI_ATTRS is not set 394# CONFIG_SCSI_ISCSI_ATTRS is not set
377# CONFIG_SCSI_SAS_LIBSAS is not set 395# CONFIG_SCSI_SAS_LIBSAS is not set
396# CONFIG_SCSI_SRP_ATTRS is not set
378CONFIG_SCSI_LOWLEVEL=y 397CONFIG_SCSI_LOWLEVEL=y
379# CONFIG_ISCSI_TCP is not set 398# CONFIG_ISCSI_TCP is not set
380# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 399# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -386,6 +405,7 @@ CONFIG_SCSI_LOWLEVEL=y
386# CONFIG_SCSI_AIC79XX is not set 405# CONFIG_SCSI_AIC79XX is not set
387# CONFIG_SCSI_AIC94XX is not set 406# CONFIG_SCSI_AIC94XX is not set
388# CONFIG_SCSI_DPT_I2O is not set 407# CONFIG_SCSI_DPT_I2O is not set
408# CONFIG_SCSI_ADVANSYS is not set
389# CONFIG_SCSI_ARCMSR is not set 409# CONFIG_SCSI_ARCMSR is not set
390# CONFIG_MEGARAID_NEWGEN is not set 410# CONFIG_MEGARAID_NEWGEN is not set
391# CONFIG_MEGARAID_LEGACY is not set 411# CONFIG_MEGARAID_LEGACY is not set
@@ -453,6 +473,7 @@ CONFIG_SATA_MV=y
453# CONFIG_PATA_OLDPIIX is not set 473# CONFIG_PATA_OLDPIIX is not set
454# CONFIG_PATA_NETCELL is not set 474# CONFIG_PATA_NETCELL is not set
455# CONFIG_PATA_NS87410 is not set 475# CONFIG_PATA_NS87410 is not set
476# CONFIG_PATA_NS87415 is not set
456# CONFIG_PATA_OPTI is not set 477# CONFIG_PATA_OPTI is not set
457# CONFIG_PATA_OPTIDMA is not set 478# CONFIG_PATA_OPTIDMA is not set
458# CONFIG_PATA_PDC_OLD is not set 479# CONFIG_PATA_PDC_OLD is not set
@@ -467,14 +488,7 @@ CONFIG_SATA_MV=y
467# CONFIG_PATA_WINBOND is not set 488# CONFIG_PATA_WINBOND is not set
468# CONFIG_PATA_PLATFORM is not set 489# CONFIG_PATA_PLATFORM is not set
469# CONFIG_MD is not set 490# CONFIG_MD is not set
470
471#
472# Fusion MPT device support
473#
474# CONFIG_FUSION is not set 491# CONFIG_FUSION is not set
475# CONFIG_FUSION_SPI is not set
476# CONFIG_FUSION_FC is not set
477# CONFIG_FUSION_SAS is not set
478 492
479# 493#
480# IEEE 1394 (FireWire) support 494# IEEE 1394 (FireWire) support
@@ -490,6 +504,8 @@ CONFIG_NETDEVICES=y
490# CONFIG_MACVLAN is not set 504# CONFIG_MACVLAN is not set
491# CONFIG_EQUALIZER is not set 505# CONFIG_EQUALIZER is not set
492# CONFIG_TUN is not set 506# CONFIG_TUN is not set
507# CONFIG_VETH is not set
508# CONFIG_IP1000 is not set
493# CONFIG_ARCNET is not set 509# CONFIG_ARCNET is not set
494CONFIG_PHYLIB=y 510CONFIG_PHYLIB=y
495 511
@@ -506,6 +522,7 @@ CONFIG_PHYLIB=y
506# CONFIG_BROADCOM_PHY is not set 522# CONFIG_BROADCOM_PHY is not set
507# CONFIG_ICPLUS_PHY is not set 523# CONFIG_ICPLUS_PHY is not set
508# CONFIG_FIXED_PHY is not set 524# CONFIG_FIXED_PHY is not set
525# CONFIG_MDIO_BITBANG is not set
509CONFIG_NET_ETHERNET=y 526CONFIG_NET_ETHERNET=y
510CONFIG_MII=y 527CONFIG_MII=y
511# CONFIG_HAPPYMEAL is not set 528# CONFIG_HAPPYMEAL is not set
@@ -514,13 +531,16 @@ CONFIG_MII=y
514# CONFIG_NET_VENDOR_3COM is not set 531# CONFIG_NET_VENDOR_3COM is not set
515# CONFIG_NET_TULIP is not set 532# CONFIG_NET_TULIP is not set
516# CONFIG_HP100 is not set 533# CONFIG_HP100 is not set
534# CONFIG_IBM_NEW_EMAC_ZMII is not set
535# CONFIG_IBM_NEW_EMAC_RGMII is not set
536# CONFIG_IBM_NEW_EMAC_TAH is not set
537# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
517CONFIG_NET_PCI=y 538CONFIG_NET_PCI=y
518# CONFIG_PCNET32 is not set 539# CONFIG_PCNET32 is not set
519# CONFIG_AMD8111_ETH is not set 540# CONFIG_AMD8111_ETH is not set
520# CONFIG_ADAPTEC_STARFIRE is not set 541# CONFIG_ADAPTEC_STARFIRE is not set
521# CONFIG_B44 is not set 542# CONFIG_B44 is not set
522# CONFIG_FORCEDETH is not set 543# CONFIG_FORCEDETH is not set
523# CONFIG_DGRS is not set
524# CONFIG_EEPRO100 is not set 544# CONFIG_EEPRO100 is not set
525CONFIG_E100=y 545CONFIG_E100=y
526# CONFIG_FEALNX is not set 546# CONFIG_FEALNX is not set
@@ -542,6 +562,7 @@ CONFIG_NETDEV_1000=y
542# CONFIG_ACENIC is not set 562# CONFIG_ACENIC is not set
543# CONFIG_DL2K is not set 563# CONFIG_DL2K is not set
544# CONFIG_E1000 is not set 564# CONFIG_E1000 is not set
565# CONFIG_E1000E is not set
545# CONFIG_NS83820 is not set 566# CONFIG_NS83820 is not set
546# CONFIG_HAMACHI is not set 567# CONFIG_HAMACHI is not set
547# CONFIG_YELLOWFIN is not set 568# CONFIG_YELLOWFIN is not set
@@ -549,20 +570,25 @@ CONFIG_NETDEV_1000=y
549# CONFIG_SIS190 is not set 570# CONFIG_SIS190 is not set
550# CONFIG_SKGE is not set 571# CONFIG_SKGE is not set
551# CONFIG_SKY2 is not set 572# CONFIG_SKY2 is not set
573# CONFIG_SK98LIN is not set
552# CONFIG_VIA_VELOCITY is not set 574# CONFIG_VIA_VELOCITY is not set
553# CONFIG_TIGON3 is not set 575# CONFIG_TIGON3 is not set
554# CONFIG_BNX2 is not set 576# CONFIG_BNX2 is not set
555CONFIG_TSI108_ETH=y 577CONFIG_TSI108_ETH=y
578# CONFIG_MV643XX_ETH is not set
556# CONFIG_QLA3XXX is not set 579# CONFIG_QLA3XXX is not set
557# CONFIG_ATL1 is not set 580# CONFIG_ATL1 is not set
558CONFIG_NETDEV_10000=y 581CONFIG_NETDEV_10000=y
559# CONFIG_CHELSIO_T1 is not set 582# CONFIG_CHELSIO_T1 is not set
560# CONFIG_CHELSIO_T3 is not set 583# CONFIG_CHELSIO_T3 is not set
584# CONFIG_IXGBE is not set
561# CONFIG_IXGB is not set 585# CONFIG_IXGB is not set
562# CONFIG_S2IO is not set 586# CONFIG_S2IO is not set
563# CONFIG_MYRI10GE is not set 587# CONFIG_MYRI10GE is not set
564# CONFIG_NETXEN_NIC is not set 588# CONFIG_NETXEN_NIC is not set
589# CONFIG_NIU is not set
565# CONFIG_MLX4_CORE is not set 590# CONFIG_MLX4_CORE is not set
591# CONFIG_TEHUTI is not set
566# CONFIG_TR is not set 592# CONFIG_TR is not set
567 593
568# 594#
@@ -595,7 +621,6 @@ CONFIG_INPUT=y
595# 621#
596# CONFIG_INPUT_MOUSEDEV is not set 622# CONFIG_INPUT_MOUSEDEV is not set
597# CONFIG_INPUT_JOYDEV is not set 623# CONFIG_INPUT_JOYDEV is not set
598# CONFIG_INPUT_TSDEV is not set
599# CONFIG_INPUT_EVDEV is not set 624# CONFIG_INPUT_EVDEV is not set
600# CONFIG_INPUT_EVBUG is not set 625# CONFIG_INPUT_EVBUG is not set
601 626
@@ -643,15 +668,12 @@ CONFIG_UNIX98_PTYS=y
643CONFIG_LEGACY_PTYS=y 668CONFIG_LEGACY_PTYS=y
644CONFIG_LEGACY_PTY_COUNT=256 669CONFIG_LEGACY_PTY_COUNT=256
645# CONFIG_IPMI_HANDLER is not set 670# CONFIG_IPMI_HANDLER is not set
646# CONFIG_WATCHDOG is not set
647# CONFIG_HW_RANDOM is not set 671# CONFIG_HW_RANDOM is not set
648# CONFIG_NVRAM is not set 672# CONFIG_NVRAM is not set
649CONFIG_GEN_RTC=y 673CONFIG_GEN_RTC=y
650# CONFIG_GEN_RTC_X is not set 674# CONFIG_GEN_RTC_X is not set
651# CONFIG_R3964 is not set 675# CONFIG_R3964 is not set
652# CONFIG_APPLICOM is not set 676# CONFIG_APPLICOM is not set
653# CONFIG_AGP is not set
654# CONFIG_DRM is not set
655# CONFIG_RAW_DRIVER is not set 677# CONFIG_RAW_DRIVER is not set
656# CONFIG_TCG_TPM is not set 678# CONFIG_TCG_TPM is not set
657CONFIG_DEVPORT=y 679CONFIG_DEVPORT=y
@@ -666,9 +688,9 @@ CONFIG_DEVPORT=y
666# CONFIG_POWER_SUPPLY is not set 688# CONFIG_POWER_SUPPLY is not set
667CONFIG_HWMON=y 689CONFIG_HWMON=y
668# CONFIG_HWMON_VID is not set 690# CONFIG_HWMON_VID is not set
669# CONFIG_SENSORS_ABITUGURU is not set 691# CONFIG_SENSORS_I5K_AMB is not set
670# CONFIG_SENSORS_ABITUGURU3 is not set
671# CONFIG_SENSORS_F71805F is not set 692# CONFIG_SENSORS_F71805F is not set
693# CONFIG_SENSORS_F71882FG is not set
672# CONFIG_SENSORS_IT87 is not set 694# CONFIG_SENSORS_IT87 is not set
673# CONFIG_SENSORS_PC87360 is not set 695# CONFIG_SENSORS_PC87360 is not set
674# CONFIG_SENSORS_PC87427 is not set 696# CONFIG_SENSORS_PC87427 is not set
@@ -681,6 +703,13 @@ CONFIG_HWMON=y
681# CONFIG_SENSORS_W83627HF is not set 703# CONFIG_SENSORS_W83627HF is not set
682# CONFIG_SENSORS_W83627EHF is not set 704# CONFIG_SENSORS_W83627EHF is not set
683# CONFIG_HWMON_DEBUG_CHIP is not set 705# CONFIG_HWMON_DEBUG_CHIP is not set
706# CONFIG_WATCHDOG is not set
707
708#
709# Sonics Silicon Backplane
710#
711CONFIG_SSB_POSSIBLE=y
712# CONFIG_SSB is not set
684 713
685# 714#
686# Multifunction device drivers 715# Multifunction device drivers
@@ -697,16 +726,17 @@ CONFIG_DAB=y
697# 726#
698# Graphics support 727# Graphics support
699# 728#
729# CONFIG_AGP is not set
730# CONFIG_DRM is not set
731# CONFIG_VGASTATE is not set
732CONFIG_VIDEO_OUTPUT_CONTROL=y
733# CONFIG_FB is not set
700# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 734# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
701 735
702# 736#
703# Display device support 737# Display device support
704# 738#
705# CONFIG_DISPLAY_SUPPORT is not set 739# CONFIG_DISPLAY_SUPPORT is not set
706# CONFIG_VGASTATE is not set
707CONFIG_VIDEO_OUTPUT_CONTROL=y
708# CONFIG_FB is not set
709# CONFIG_FB_IBM_GXT4500 is not set
710 740
711# 741#
712# Sound 742# Sound
@@ -715,6 +745,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
715CONFIG_HID_SUPPORT=y 745CONFIG_HID_SUPPORT=y
716CONFIG_HID=y 746CONFIG_HID=y
717# CONFIG_HID_DEBUG is not set 747# CONFIG_HID_DEBUG is not set
748# CONFIG_HIDRAW is not set
718CONFIG_USB_SUPPORT=y 749CONFIG_USB_SUPPORT=y
719CONFIG_USB_ARCH_HAS_HCD=y 750CONFIG_USB_ARCH_HAS_HCD=y
720CONFIG_USB_ARCH_HAS_OHCI=y 751CONFIG_USB_ARCH_HAS_OHCI=y
@@ -736,19 +767,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
736# CONFIG_RTC_CLASS is not set 767# CONFIG_RTC_CLASS is not set
737 768
738# 769#
739# DMA Engine support
740#
741# CONFIG_DMA_ENGINE is not set
742
743#
744# DMA Clients
745#
746
747#
748# DMA Devices
749#
750
751#
752# Userspace I/O 770# Userspace I/O
753# 771#
754# CONFIG_UIO is not set 772# CONFIG_UIO is not set
@@ -765,7 +783,6 @@ CONFIG_EXT3_FS_XATTR=y
765# CONFIG_EXT3_FS_SECURITY is not set 783# CONFIG_EXT3_FS_SECURITY is not set
766# CONFIG_EXT4DEV_FS is not set 784# CONFIG_EXT4DEV_FS is not set
767CONFIG_JBD=y 785CONFIG_JBD=y
768# CONFIG_JBD_DEBUG is not set
769CONFIG_FS_MBCACHE=y 786CONFIG_FS_MBCACHE=y
770# CONFIG_REISERFS_FS is not set 787# CONFIG_REISERFS_FS is not set
771# CONFIG_JFS_FS is not set 788# CONFIG_JFS_FS is not set
@@ -806,7 +823,6 @@ CONFIG_SYSFS=y
806CONFIG_TMPFS=y 823CONFIG_TMPFS=y
807# CONFIG_TMPFS_POSIX_ACL is not set 824# CONFIG_TMPFS_POSIX_ACL is not set
808# CONFIG_HUGETLB_PAGE is not set 825# CONFIG_HUGETLB_PAGE is not set
809CONFIG_RAMFS=y
810# CONFIG_CONFIGFS_FS is not set 826# CONFIG_CONFIGFS_FS is not set
811 827
812# 828#
@@ -825,10 +841,7 @@ CONFIG_RAMFS=y
825# CONFIG_QNX4FS_FS is not set 841# CONFIG_QNX4FS_FS is not set
826# CONFIG_SYSV_FS is not set 842# CONFIG_SYSV_FS is not set
827# CONFIG_UFS_FS is not set 843# CONFIG_UFS_FS is not set
828 844CONFIG_NETWORK_FILESYSTEMS=y
829#
830# Network File Systems
831#
832CONFIG_NFS_FS=y 845CONFIG_NFS_FS=y
833# CONFIG_NFS_V3 is not set 846# CONFIG_NFS_V3 is not set
834# CONFIG_NFS_V4 is not set 847# CONFIG_NFS_V4 is not set
@@ -868,15 +881,7 @@ CONFIG_MSDOS_PARTITION=y
868# CONFIG_KARMA_PARTITION is not set 881# CONFIG_KARMA_PARTITION is not set
869# CONFIG_EFI_PARTITION is not set 882# CONFIG_EFI_PARTITION is not set
870# CONFIG_SYSV68_PARTITION is not set 883# CONFIG_SYSV68_PARTITION is not set
871
872#
873# Native Language Support
874#
875# CONFIG_NLS is not set 884# CONFIG_NLS is not set
876
877#
878# Distributed Lock Manager
879#
880# CONFIG_DLM is not set 885# CONFIG_DLM is not set
881# CONFIG_UCC_SLOW is not set 886# CONFIG_UCC_SLOW is not set
882 887
@@ -894,23 +899,23 @@ CONFIG_PLIST=y
894CONFIG_HAS_IOMEM=y 899CONFIG_HAS_IOMEM=y
895CONFIG_HAS_IOPORT=y 900CONFIG_HAS_IOPORT=y
896CONFIG_HAS_DMA=y 901CONFIG_HAS_DMA=y
897 902# CONFIG_INSTRUMENTATION is not set
898#
899# Instrumentation Support
900#
901# CONFIG_PROFILING is not set
902 903
903# 904#
904# Kernel hacking 905# Kernel hacking
905# 906#
906# CONFIG_PRINTK_TIME is not set 907# CONFIG_PRINTK_TIME is not set
908CONFIG_ENABLE_WARN_DEPRECATED=y
907CONFIG_ENABLE_MUST_CHECK=y 909CONFIG_ENABLE_MUST_CHECK=y
908# CONFIG_MAGIC_SYSRQ is not set 910# CONFIG_MAGIC_SYSRQ is not set
909# CONFIG_UNUSED_SYMBOLS is not set 911# CONFIG_UNUSED_SYMBOLS is not set
910# CONFIG_DEBUG_FS is not set 912# CONFIG_DEBUG_FS is not set
911# CONFIG_HEADERS_CHECK is not set 913# CONFIG_HEADERS_CHECK is not set
912# CONFIG_DEBUG_KERNEL is not set 914# CONFIG_DEBUG_KERNEL is not set
915# CONFIG_SLUB_DEBUG_ON is not set
913# CONFIG_DEBUG_BUGVERBOSE is not set 916# CONFIG_DEBUG_BUGVERBOSE is not set
917# CONFIG_SAMPLES is not set
918# CONFIG_BOOTX_TEXT is not set
914# CONFIG_PPC_EARLY_DEBUG is not set 919# CONFIG_PPC_EARLY_DEBUG is not set
915 920
916# 921#
@@ -918,4 +923,6 @@ CONFIG_ENABLE_MUST_CHECK=y
918# 923#
919# CONFIG_KEYS is not set 924# CONFIG_KEYS is not set
920# CONFIG_SECURITY is not set 925# CONFIG_SECURITY is not set
926# CONFIG_SECURITY_FILE_CAPABILITIES is not set
921# CONFIG_CRYPTO is not set 927# CONFIG_CRYPTO is not set
928# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 865a942ecc69..a31b7a030a6b 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Wed Sep 5 12:43:23 2007 4# Thu Dec 6 16:48:30 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -20,8 +20,13 @@ CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set 21# CONFIG_SMP is not set
22CONFIG_PPC32=y 22CONFIG_PPC32=y
23CONFIG_WORD_SIZE=32
23CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
24CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
25CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
26CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
27CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,6 +68,8 @@ CONFIG_SYSVIPC_SYSCTL=y
63CONFIG_IKCONFIG=y 68CONFIG_IKCONFIG=y
64CONFIG_IKCONFIG_PROC=y 69CONFIG_IKCONFIG_PROC=y
65CONFIG_LOG_BUF_SHIFT=14 70CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set
72# CONFIG_FAIR_GROUP_SCHED is not set
66CONFIG_SYSFS_DEPRECATED=y 73CONFIG_SYSFS_DEPRECATED=y
67# CONFIG_RELAY is not set 74# CONFIG_RELAY is not set
68# CONFIG_BLK_DEV_INITRD is not set 75# CONFIG_BLK_DEV_INITRD is not set
@@ -81,7 +88,6 @@ CONFIG_FUTEX=y
81CONFIG_ANON_INODES=y 88CONFIG_ANON_INODES=y
82CONFIG_EPOLL=y 89CONFIG_EPOLL=y
83CONFIG_SIGNALFD=y 90CONFIG_SIGNALFD=y
84CONFIG_TIMERFD=y
85CONFIG_EVENTFD=y 91CONFIG_EVENTFD=y
86CONFIG_SHMEM=y 92CONFIG_SHMEM=y
87CONFIG_VM_EVENT_COUNTERS=y 93CONFIG_VM_EVENT_COUNTERS=y
@@ -115,7 +121,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
115# Platform support 121# Platform support
116# 122#
117# CONFIG_PPC_MULTIPLATFORM is not set 123# CONFIG_PPC_MULTIPLATFORM is not set
118# CONFIG_EMBEDDED6xx is not set
119CONFIG_PPC_82xx=y 124CONFIG_PPC_82xx=y
120# CONFIG_PPC_83xx is not set 125# CONFIG_PPC_83xx is not set
121# CONFIG_PPC_86xx is not set 126# CONFIG_PPC_86xx is not set
@@ -124,6 +129,7 @@ CONFIG_PPC_82xx=y
124# CONFIG_PPC_CELL is not set 129# CONFIG_PPC_CELL is not set
125# CONFIG_PPC_CELL_NATIVE is not set 130# CONFIG_PPC_CELL_NATIVE is not set
126CONFIG_MPC8272_ADS=y 131CONFIG_MPC8272_ADS=y
132# CONFIG_PQ2FADS is not set
127CONFIG_PQ2ADS=y 133CONFIG_PQ2ADS=y
128CONFIG_8260=y 134CONFIG_8260=y
129CONFIG_8272=y 135CONFIG_8272=y
@@ -147,6 +153,10 @@ CONFIG_CPM=y
147# Kernel options 153# Kernel options
148# 154#
149# CONFIG_HIGHMEM is not set 155# CONFIG_HIGHMEM is not set
156CONFIG_TICK_ONESHOT=y
157CONFIG_NO_HZ=y
158CONFIG_HIGH_RES_TIMERS=y
159CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
150# CONFIG_HZ_100 is not set 160# CONFIG_HZ_100 is not set
151CONFIG_HZ_250=y 161CONFIG_HZ_250=y
152# CONFIG_HZ_300 is not set 162# CONFIG_HZ_300 is not set
@@ -163,6 +173,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y
163CONFIG_FLATMEM=y 173CONFIG_FLATMEM=y
164CONFIG_FLAT_NODE_MEM_MAP=y 174CONFIG_FLAT_NODE_MEM_MAP=y
165# CONFIG_SPARSEMEM_STATIC is not set 175# CONFIG_SPARSEMEM_STATIC is not set
176# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
166CONFIG_SPLIT_PTLOCK_CPUS=4 177CONFIG_SPLIT_PTLOCK_CPUS=4
167# CONFIG_RESOURCES_64BIT is not set 178# CONFIG_RESOURCES_64BIT is not set
168CONFIG_ZONE_DMA_FLAG=1 179CONFIG_ZONE_DMA_FLAG=1
@@ -171,9 +182,10 @@ CONFIG_VIRT_TO_BUS=y
171CONFIG_PROC_DEVICETREE=y 182CONFIG_PROC_DEVICETREE=y
172# CONFIG_CMDLINE_BOOL is not set 183# CONFIG_CMDLINE_BOOL is not set
173# CONFIG_PM is not set 184# CONFIG_PM is not set
185CONFIG_SUSPEND_UP_POSSIBLE=y
186CONFIG_HIBERNATION_UP_POSSIBLE=y
174CONFIG_SECCOMP=y 187CONFIG_SECCOMP=y
175CONFIG_WANT_DEVICE_TREE=y 188CONFIG_WANT_DEVICE_TREE=y
176# CONFIG_BUILD_RAW_IMAGE is not set
177CONFIG_DEVICE_TREE="mpc8272ads.dts" 189CONFIG_DEVICE_TREE="mpc8272ads.dts"
178CONFIG_ISA_DMA_API=y 190CONFIG_ISA_DMA_API=y
179 191
@@ -190,11 +202,8 @@ CONFIG_PCI_8260=y
190# CONFIG_PCIEPORTBUS is not set 202# CONFIG_PCIEPORTBUS is not set
191CONFIG_ARCH_SUPPORTS_MSI=y 203CONFIG_ARCH_SUPPORTS_MSI=y
192# CONFIG_PCI_MSI is not set 204# CONFIG_PCI_MSI is not set
205CONFIG_PCI_LEGACY=y
193# CONFIG_PCI_DEBUG is not set 206# CONFIG_PCI_DEBUG is not set
194
195#
196# PCCARD (PCMCIA/CardBus) support
197#
198# CONFIG_PCCARD is not set 207# CONFIG_PCCARD is not set
199 208
200# 209#
@@ -208,7 +217,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
208CONFIG_HIGHMEM_START=0xfe000000 217CONFIG_HIGHMEM_START=0xfe000000
209CONFIG_LOWMEM_SIZE=0x30000000 218CONFIG_LOWMEM_SIZE=0x30000000
210CONFIG_KERNEL_START=0xc0000000 219CONFIG_KERNEL_START=0xc0000000
211CONFIG_TASK_SIZE=0x80000000 220CONFIG_TASK_SIZE=0xc0000000
212CONFIG_BOOT_LOAD=0x00400000 221CONFIG_BOOT_LOAD=0x00400000
213 222
214# 223#
@@ -245,6 +254,7 @@ CONFIG_INET_TUNNEL=y
245CONFIG_INET_XFRM_MODE_TRANSPORT=y 254CONFIG_INET_XFRM_MODE_TRANSPORT=y
246CONFIG_INET_XFRM_MODE_TUNNEL=y 255CONFIG_INET_XFRM_MODE_TUNNEL=y
247CONFIG_INET_XFRM_MODE_BEET=y 256CONFIG_INET_XFRM_MODE_BEET=y
257# CONFIG_INET_LRO is not set
248CONFIG_INET_DIAG=y 258CONFIG_INET_DIAG=y
249CONFIG_INET_TCP_DIAG=y 259CONFIG_INET_TCP_DIAG=y
250# CONFIG_TCP_CONG_ADVANCED is not set 260# CONFIG_TCP_CONG_ADVANCED is not set
@@ -288,10 +298,6 @@ CONFIG_NETFILTER=y
288# CONFIG_LLC2 is not set 298# CONFIG_LLC2 is not set
289# CONFIG_IPX is not set 299# CONFIG_IPX is not set
290# CONFIG_ATALK is not set 300# CONFIG_ATALK is not set
291
292#
293# QoS and/or fair queueing
294#
295# CONFIG_NET_SCHED is not set 301# CONFIG_NET_SCHED is not set
296 302
297# 303#
@@ -317,6 +323,7 @@ CONFIG_NETFILTER=y
317# 323#
318# Generic Driver Options 324# Generic Driver Options
319# 325#
326CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
320CONFIG_STANDALONE=y 327CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y 328CONFIG_PREVENT_FIRMWARE_BUILD=y
322# CONFIG_FW_LOADER is not set 329# CONFIG_FW_LOADER is not set
@@ -340,6 +347,7 @@ CONFIG_MTD_BLOCK=y
340# CONFIG_INFTL is not set 347# CONFIG_INFTL is not set
341# CONFIG_RFD_FTL is not set 348# CONFIG_RFD_FTL is not set
342# CONFIG_SSFDC is not set 349# CONFIG_SSFDC is not set
350# CONFIG_MTD_OOPS is not set
343 351
344# 352#
345# RAM/ROM/Flash chip drivers 353# RAM/ROM/Flash chip drivers
@@ -378,6 +386,7 @@ CONFIG_MTD_CFI_UTIL=y
378# CONFIG_MTD_PHYSMAP is not set 386# CONFIG_MTD_PHYSMAP is not set
379CONFIG_MTD_PHYSMAP_OF=y 387CONFIG_MTD_PHYSMAP_OF=y
380# CONFIG_MTD_SBC8240 is not set 388# CONFIG_MTD_SBC8240 is not set
389# CONFIG_MTD_INTEL_VR_NOR is not set
381# CONFIG_MTD_PLATRAM is not set 390# CONFIG_MTD_PLATRAM is not set
382 391
383# 392#
@@ -429,10 +438,6 @@ CONFIG_BLK_DEV_LOOP=y
429# CONFIG_SCSI_NETLINK is not set 438# CONFIG_SCSI_NETLINK is not set
430# CONFIG_ATA is not set 439# CONFIG_ATA is not set
431# CONFIG_MD is not set 440# CONFIG_MD is not set
432
433#
434# Fusion MPT device support
435#
436# CONFIG_FUSION is not set 441# CONFIG_FUSION is not set
437 442
438# 443#
@@ -451,6 +456,7 @@ CONFIG_NETDEVICES=y
451# CONFIG_BONDING is not set 456# CONFIG_BONDING is not set
452# CONFIG_EQUALIZER is not set 457# CONFIG_EQUALIZER is not set
453CONFIG_TUN=y 458CONFIG_TUN=y
459# CONFIG_VETH is not set
454# CONFIG_ARCNET is not set 460# CONFIG_ARCNET is not set
455CONFIG_PHYLIB=y 461CONFIG_PHYLIB=y
456 462
@@ -476,20 +482,28 @@ CONFIG_MII=y
476# CONFIG_NET_VENDOR_3COM is not set 482# CONFIG_NET_VENDOR_3COM is not set
477# CONFIG_NET_TULIP is not set 483# CONFIG_NET_TULIP is not set
478# CONFIG_HP100 is not set 484# CONFIG_HP100 is not set
485# CONFIG_IBM_NEW_EMAC_ZMII is not set
486# CONFIG_IBM_NEW_EMAC_RGMII is not set
487# CONFIG_IBM_NEW_EMAC_TAH is not set
488# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
479# CONFIG_NET_PCI is not set 489# CONFIG_NET_PCI is not set
490# CONFIG_B44 is not set
480CONFIG_FS_ENET=y 491CONFIG_FS_ENET=y
481# CONFIG_FS_ENET_HAS_SCC is not set 492# CONFIG_FS_ENET_HAS_SCC is not set
482CONFIG_FS_ENET_HAS_FCC=y 493CONFIG_FS_ENET_HAS_FCC=y
494# CONFIG_FS_ENET_MDIO_FCC is not set
483CONFIG_NETDEV_1000=y 495CONFIG_NETDEV_1000=y
484# CONFIG_ACENIC is not set 496# CONFIG_ACENIC is not set
485# CONFIG_DL2K is not set 497# CONFIG_DL2K is not set
486# CONFIG_E1000 is not set 498# CONFIG_E1000 is not set
499# CONFIG_E1000E is not set
487# CONFIG_NS83820 is not set 500# CONFIG_NS83820 is not set
488# CONFIG_HAMACHI is not set 501# CONFIG_HAMACHI is not set
489# CONFIG_R8169 is not set 502# CONFIG_R8169 is not set
490# CONFIG_SIS190 is not set 503# CONFIG_SIS190 is not set
491# CONFIG_SKGE is not set 504# CONFIG_SKGE is not set
492# CONFIG_SKY2 is not set 505# CONFIG_SKY2 is not set
506# CONFIG_SK98LIN is not set
493# CONFIG_VIA_VELOCITY is not set 507# CONFIG_VIA_VELOCITY is not set
494# CONFIG_TIGON3 is not set 508# CONFIG_TIGON3 is not set
495# CONFIG_BNX2 is not set 509# CONFIG_BNX2 is not set
@@ -497,11 +511,14 @@ CONFIG_NETDEV_1000=y
497CONFIG_NETDEV_10000=y 511CONFIG_NETDEV_10000=y
498# CONFIG_CHELSIO_T1 is not set 512# CONFIG_CHELSIO_T1 is not set
499# CONFIG_CHELSIO_T3 is not set 513# CONFIG_CHELSIO_T3 is not set
514# CONFIG_IXGBE is not set
500# CONFIG_IXGB is not set 515# CONFIG_IXGB is not set
501# CONFIG_S2IO is not set 516# CONFIG_S2IO is not set
502# CONFIG_MYRI10GE is not set 517# CONFIG_MYRI10GE is not set
503# CONFIG_NETXEN_NIC is not set 518# CONFIG_NETXEN_NIC is not set
519# CONFIG_NIU is not set
504# CONFIG_MLX4_CORE is not set 520# CONFIG_MLX4_CORE is not set
521# CONFIG_TEHUTI is not set
505# CONFIG_TR is not set 522# CONFIG_TR is not set
506 523
507# 524#
@@ -539,7 +556,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
539CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 556CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
540CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 557CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
541# CONFIG_INPUT_JOYDEV is not set 558# CONFIG_INPUT_JOYDEV is not set
542# CONFIG_INPUT_TSDEV is not set
543CONFIG_INPUT_EVDEV=y 559CONFIG_INPUT_EVDEV=y
544# CONFIG_INPUT_EVBUG is not set 560# CONFIG_INPUT_EVBUG is not set
545 561
@@ -609,14 +625,11 @@ CONFIG_UNIX98_PTYS=y
609CONFIG_LEGACY_PTYS=y 625CONFIG_LEGACY_PTYS=y
610CONFIG_LEGACY_PTY_COUNT=256 626CONFIG_LEGACY_PTY_COUNT=256
611# CONFIG_IPMI_HANDLER is not set 627# CONFIG_IPMI_HANDLER is not set
612# CONFIG_WATCHDOG is not set
613CONFIG_HW_RANDOM=y 628CONFIG_HW_RANDOM=y
614# CONFIG_NVRAM is not set 629# CONFIG_NVRAM is not set
615# CONFIG_GEN_RTC is not set 630# CONFIG_GEN_RTC is not set
616# CONFIG_R3964 is not set 631# CONFIG_R3964 is not set
617# CONFIG_APPLICOM is not set 632# CONFIG_APPLICOM is not set
618# CONFIG_AGP is not set
619# CONFIG_DRM is not set
620# CONFIG_RAW_DRIVER is not set 633# CONFIG_RAW_DRIVER is not set
621CONFIG_DEVPORT=y 634CONFIG_DEVPORT=y
622# CONFIG_I2C is not set 635# CONFIG_I2C is not set
@@ -629,6 +642,13 @@ CONFIG_DEVPORT=y
629# CONFIG_W1 is not set 642# CONFIG_W1 is not set
630# CONFIG_POWER_SUPPLY is not set 643# CONFIG_POWER_SUPPLY is not set
631# CONFIG_HWMON is not set 644# CONFIG_HWMON is not set
645# CONFIG_WATCHDOG is not set
646
647#
648# Sonics Silicon Backplane
649#
650CONFIG_SSB_POSSIBLE=y
651# CONFIG_SSB is not set
632 652
633# 653#
634# Multifunction device drivers 654# Multifunction device drivers
@@ -645,16 +665,17 @@ CONFIG_DAB=y
645# 665#
646# Graphics support 666# Graphics support
647# 667#
668# CONFIG_AGP is not set
669# CONFIG_DRM is not set
670# CONFIG_VGASTATE is not set
671# CONFIG_VIDEO_OUTPUT_CONTROL is not set
672# CONFIG_FB is not set
648# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 673# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
649 674
650# 675#
651# Display device support 676# Display device support
652# 677#
653# CONFIG_DISPLAY_SUPPORT is not set 678# CONFIG_DISPLAY_SUPPORT is not set
654# CONFIG_VGASTATE is not set
655# CONFIG_VIDEO_OUTPUT_CONTROL is not set
656# CONFIG_FB is not set
657# CONFIG_FB_IBM_GXT4500 is not set
658 679
659# 680#
660# Sound 681# Sound
@@ -668,19 +689,6 @@ CONFIG_DAB=y
668# CONFIG_RTC_CLASS is not set 689# CONFIG_RTC_CLASS is not set
669 690
670# 691#
671# DMA Engine support
672#
673# CONFIG_DMA_ENGINE is not set
674
675#
676# DMA Clients
677#
678
679#
680# DMA Devices
681#
682
683#
684# Userspace I/O 692# Userspace I/O
685# 693#
686# CONFIG_UIO is not set 694# CONFIG_UIO is not set
@@ -696,7 +704,6 @@ CONFIG_EXT3_FS_XATTR=y
696# CONFIG_EXT3_FS_POSIX_ACL is not set 704# CONFIG_EXT3_FS_POSIX_ACL is not set
697# CONFIG_EXT3_FS_SECURITY is not set 705# CONFIG_EXT3_FS_SECURITY is not set
698CONFIG_JBD=y 706CONFIG_JBD=y
699# CONFIG_JBD_DEBUG is not set
700CONFIG_FS_MBCACHE=y 707CONFIG_FS_MBCACHE=y
701# CONFIG_REISERFS_FS is not set 708# CONFIG_REISERFS_FS is not set
702# CONFIG_JFS_FS is not set 709# CONFIG_JFS_FS is not set
@@ -736,7 +743,6 @@ CONFIG_SYSFS=y
736CONFIG_TMPFS=y 743CONFIG_TMPFS=y
737# CONFIG_TMPFS_POSIX_ACL is not set 744# CONFIG_TMPFS_POSIX_ACL is not set
738# CONFIG_HUGETLB_PAGE is not set 745# CONFIG_HUGETLB_PAGE is not set
739CONFIG_RAMFS=y
740 746
741# 747#
742# Miscellaneous filesystems 748# Miscellaneous filesystems
@@ -749,10 +755,7 @@ CONFIG_CRAMFS=y
749# CONFIG_QNX4FS_FS is not set 755# CONFIG_QNX4FS_FS is not set
750# CONFIG_SYSV_FS is not set 756# CONFIG_SYSV_FS is not set
751# CONFIG_UFS_FS is not set 757# CONFIG_UFS_FS is not set
752 758CONFIG_NETWORK_FILESYSTEMS=y
753#
754# Network File Systems
755#
756CONFIG_NFS_FS=y 759CONFIG_NFS_FS=y
757CONFIG_NFS_V3=y 760CONFIG_NFS_V3=y
758CONFIG_NFS_V3_ACL=y 761CONFIG_NFS_V3_ACL=y
@@ -790,10 +793,6 @@ CONFIG_MSDOS_PARTITION=y
790# CONFIG_KARMA_PARTITION is not set 793# CONFIG_KARMA_PARTITION is not set
791# CONFIG_EFI_PARTITION is not set 794# CONFIG_EFI_PARTITION is not set
792# CONFIG_SYSV68_PARTITION is not set 795# CONFIG_SYSV68_PARTITION is not set
793
794#
795# Native Language Support
796#
797CONFIG_NLS=y 796CONFIG_NLS=y
798CONFIG_NLS_DEFAULT="iso8859-1" 797CONFIG_NLS_DEFAULT="iso8859-1"
799CONFIG_NLS_CODEPAGE_437=y 798CONFIG_NLS_CODEPAGE_437=y
@@ -852,11 +851,13 @@ CONFIG_PLIST=y
852CONFIG_HAS_IOMEM=y 851CONFIG_HAS_IOMEM=y
853CONFIG_HAS_IOPORT=y 852CONFIG_HAS_IOPORT=y
854CONFIG_HAS_DMA=y 853CONFIG_HAS_DMA=y
854# CONFIG_INSTRUMENTATION is not set
855 855
856# 856#
857# Kernel hacking 857# Kernel hacking
858# 858#
859# CONFIG_PRINTK_TIME is not set 859# CONFIG_PRINTK_TIME is not set
860CONFIG_ENABLE_WARN_DEPRECATED=y
860CONFIG_ENABLE_MUST_CHECK=y 861CONFIG_ENABLE_MUST_CHECK=y
861CONFIG_MAGIC_SYSRQ=y 862CONFIG_MAGIC_SYSRQ=y
862# CONFIG_UNUSED_SYMBOLS is not set 863# CONFIG_UNUSED_SYMBOLS is not set
@@ -880,8 +881,11 @@ CONFIG_DEBUG_BUGVERBOSE=y
880CONFIG_DEBUG_INFO=y 881CONFIG_DEBUG_INFO=y
881# CONFIG_DEBUG_VM is not set 882# CONFIG_DEBUG_VM is not set
882# CONFIG_DEBUG_LIST is not set 883# CONFIG_DEBUG_LIST is not set
884# CONFIG_DEBUG_SG is not set
883CONFIG_FORCED_INLINING=y 885CONFIG_FORCED_INLINING=y
886# CONFIG_BOOT_PRINTK_DELAY is not set
884# CONFIG_FAULT_INJECTION is not set 887# CONFIG_FAULT_INJECTION is not set
888# CONFIG_SAMPLES is not set
885# CONFIG_DEBUG_STACKOVERFLOW is not set 889# CONFIG_DEBUG_STACKOVERFLOW is not set
886# CONFIG_DEBUG_STACK_USAGE is not set 890# CONFIG_DEBUG_STACK_USAGE is not set
887# CONFIG_DEBUG_PAGEALLOC is not set 891# CONFIG_DEBUG_PAGEALLOC is not set
@@ -924,8 +928,12 @@ CONFIG_CRYPTO_DES=y
924# CONFIG_CRYPTO_ARC4 is not set 928# CONFIG_CRYPTO_ARC4 is not set
925# CONFIG_CRYPTO_KHAZAD is not set 929# CONFIG_CRYPTO_KHAZAD is not set
926# CONFIG_CRYPTO_ANUBIS is not set 930# CONFIG_CRYPTO_ANUBIS is not set
931# CONFIG_CRYPTO_SEED is not set
927# CONFIG_CRYPTO_DEFLATE is not set 932# CONFIG_CRYPTO_DEFLATE is not set
928# CONFIG_CRYPTO_MICHAEL_MIC is not set 933# CONFIG_CRYPTO_MICHAEL_MIC is not set
929# CONFIG_CRYPTO_CRC32C is not set 934# CONFIG_CRYPTO_CRC32C is not set
930# CONFIG_CRYPTO_CAMELLIA is not set 935# CONFIG_CRYPTO_CAMELLIA is not set
936# CONFIG_CRYPTO_AUTHENC is not set
931# CONFIG_CRYPTO_HW is not set 937# CONFIG_CRYPTO_HW is not set
938# CONFIG_PPC_CLOCK is not set
939CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8313_rdb_defconfig b/arch/powerpc/configs/mpc8313_rdb_defconfig
index 259d40d1eb5a..c9af905bbb1d 100644
--- a/arch/powerpc/configs/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/mpc8313_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:39 2007 4# Thu Dec 6 16:48:31 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -156,6 +162,10 @@ CONFIG_PPC_MPC831x=y
156# Kernel options 162# Kernel options
157# 163#
158# CONFIG_HIGHMEM is not set 164# CONFIG_HIGHMEM is not set
165CONFIG_TICK_ONESHOT=y
166CONFIG_NO_HZ=y
167CONFIG_HIGH_RES_TIMERS=y
168CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 169# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 170CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 171# CONFIG_HZ_300 is not set
@@ -176,6 +186,7 @@ CONFIG_FLATMEM_MANUAL=y
176CONFIG_FLATMEM=y 186CONFIG_FLATMEM=y
177CONFIG_FLAT_NODE_MEM_MAP=y 187CONFIG_FLAT_NODE_MEM_MAP=y
178# CONFIG_SPARSEMEM_STATIC is not set 188# CONFIG_SPARSEMEM_STATIC is not set
189# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
179CONFIG_SPLIT_PTLOCK_CPUS=4 190CONFIG_SPLIT_PTLOCK_CPUS=4
180# CONFIG_RESOURCES_64BIT is not set 191# CONFIG_RESOURCES_64BIT is not set
181CONFIG_ZONE_DMA_FLAG=1 192CONFIG_ZONE_DMA_FLAG=1
@@ -184,6 +195,8 @@ CONFIG_VIRT_TO_BUS=y
184CONFIG_PROC_DEVICETREE=y 195CONFIG_PROC_DEVICETREE=y
185# CONFIG_CMDLINE_BOOL is not set 196# CONFIG_CMDLINE_BOOL is not set
186# CONFIG_PM is not set 197# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 200CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y 201CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="" 202CONFIG_DEVICE_TREE=""
@@ -202,11 +215,8 @@ CONFIG_PCI_SYSCALL=y
202# CONFIG_PCIEPORTBUS is not set 215# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y 216CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set 217# CONFIG_PCI_MSI is not set
218CONFIG_PCI_LEGACY=y
205# CONFIG_PCI_DEBUG is not set 219# CONFIG_PCI_DEBUG is not set
206
207#
208# PCCARD (PCMCIA/CardBus) support
209#
210# CONFIG_PCCARD is not set 220# CONFIG_PCCARD is not set
211# CONFIG_HOTPLUG_PCI is not set 221# CONFIG_HOTPLUG_PCI is not set
212 222
@@ -221,7 +231,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
221CONFIG_HIGHMEM_START=0xfe000000 231CONFIG_HIGHMEM_START=0xfe000000
222CONFIG_LOWMEM_SIZE=0x30000000 232CONFIG_LOWMEM_SIZE=0x30000000
223CONFIG_KERNEL_START=0xc0000000 233CONFIG_KERNEL_START=0xc0000000
224CONFIG_TASK_SIZE=0x80000000 234CONFIG_TASK_SIZE=0xc0000000
225CONFIG_BOOT_LOAD=0x00800000 235CONFIG_BOOT_LOAD=0x00800000
226 236
227# 237#
@@ -261,6 +271,7 @@ CONFIG_SYN_COOKIES=y
261CONFIG_INET_XFRM_MODE_TRANSPORT=y 271CONFIG_INET_XFRM_MODE_TRANSPORT=y
262CONFIG_INET_XFRM_MODE_TUNNEL=y 272CONFIG_INET_XFRM_MODE_TUNNEL=y
263CONFIG_INET_XFRM_MODE_BEET=y 273CONFIG_INET_XFRM_MODE_BEET=y
274# CONFIG_INET_LRO is not set
264CONFIG_INET_DIAG=y 275CONFIG_INET_DIAG=y
265CONFIG_INET_TCP_DIAG=y 276CONFIG_INET_TCP_DIAG=y
266# CONFIG_TCP_CONG_ADVANCED is not set 277# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,10 +297,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
286# CONFIG_LAPB is not set 297# CONFIG_LAPB is not set
287# CONFIG_ECONET is not set 298# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set 299# CONFIG_WAN_ROUTER is not set
289
290#
291# QoS and/or fair queueing
292#
293# CONFIG_NET_SCHED is not set 300# CONFIG_NET_SCHED is not set
294 301
295# 302#
@@ -318,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# 325#
319# Generic Driver Options 326# Generic Driver Options
320# 327#
328CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
321CONFIG_STANDALONE=y 329CONFIG_STANDALONE=y
322CONFIG_PREVENT_FIRMWARE_BUILD=y 330CONFIG_PREVENT_FIRMWARE_BUILD=y
323# CONFIG_FW_LOADER is not set 331# CONFIG_FW_LOADER is not set
@@ -342,6 +350,7 @@ CONFIG_MTD_CHAR=y
342# CONFIG_INFTL is not set 350# CONFIG_INFTL is not set
343# CONFIG_RFD_FTL is not set 351# CONFIG_RFD_FTL is not set
344# CONFIG_SSFDC is not set 352# CONFIG_SSFDC is not set
353# CONFIG_MTD_OOPS is not set
345 354
346# 355#
347# RAM/ROM/Flash chip drivers 356# RAM/ROM/Flash chip drivers
@@ -377,6 +386,7 @@ CONFIG_MTD_PHYSMAP_START=0xfe000000
377CONFIG_MTD_PHYSMAP_LEN=0x1000000 386CONFIG_MTD_PHYSMAP_LEN=0x1000000
378CONFIG_MTD_PHYSMAP_BANKWIDTH=2 387CONFIG_MTD_PHYSMAP_BANKWIDTH=2
379# CONFIG_MTD_PHYSMAP_OF is not set 388# CONFIG_MTD_PHYSMAP_OF is not set
389# CONFIG_MTD_INTEL_VR_NOR is not set
380# CONFIG_MTD_PLATRAM is not set 390# CONFIG_MTD_PLATRAM is not set
381 391
382# 392#
@@ -466,6 +476,7 @@ CONFIG_SCSI_SPI_ATTRS=y
466# CONFIG_SCSI_FC_ATTRS is not set 476# CONFIG_SCSI_FC_ATTRS is not set
467# CONFIG_SCSI_ISCSI_ATTRS is not set 477# CONFIG_SCSI_ISCSI_ATTRS is not set
468# CONFIG_SCSI_SAS_LIBSAS is not set 478# CONFIG_SCSI_SAS_LIBSAS is not set
479# CONFIG_SCSI_SRP_ATTRS is not set
469CONFIG_SCSI_LOWLEVEL=y 480CONFIG_SCSI_LOWLEVEL=y
470# CONFIG_ISCSI_TCP is not set 481# CONFIG_ISCSI_TCP is not set
471# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 482# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -477,6 +488,7 @@ CONFIG_SCSI_LOWLEVEL=y
477# CONFIG_SCSI_AIC79XX is not set 488# CONFIG_SCSI_AIC79XX is not set
478# CONFIG_SCSI_AIC94XX is not set 489# CONFIG_SCSI_AIC94XX is not set
479# CONFIG_SCSI_DPT_I2O is not set 490# CONFIG_SCSI_DPT_I2O is not set
491# CONFIG_SCSI_ADVANSYS is not set
480# CONFIG_SCSI_ARCMSR is not set 492# CONFIG_SCSI_ARCMSR is not set
481# CONFIG_MEGARAID_NEWGEN is not set 493# CONFIG_MEGARAID_NEWGEN is not set
482# CONFIG_MEGARAID_LEGACY is not set 494# CONFIG_MEGARAID_LEGACY is not set
@@ -512,14 +524,7 @@ CONFIG_MD_RAID1=y
512# CONFIG_MD_MULTIPATH is not set 524# CONFIG_MD_MULTIPATH is not set
513# CONFIG_MD_FAULTY is not set 525# CONFIG_MD_FAULTY is not set
514# CONFIG_BLK_DEV_DM is not set 526# CONFIG_BLK_DEV_DM is not set
515
516#
517# Fusion MPT device support
518#
519# CONFIG_FUSION is not set 527# CONFIG_FUSION is not set
520# CONFIG_FUSION_SPI is not set
521# CONFIG_FUSION_FC is not set
522# CONFIG_FUSION_SAS is not set
523 528
524# 529#
525# IEEE 1394 (FireWire) support 530# IEEE 1394 (FireWire) support
@@ -535,6 +540,8 @@ CONFIG_NETDEVICES=y
535# CONFIG_MACVLAN is not set 540# CONFIG_MACVLAN is not set
536# CONFIG_EQUALIZER is not set 541# CONFIG_EQUALIZER is not set
537# CONFIG_TUN is not set 542# CONFIG_TUN is not set
543# CONFIG_VETH is not set
544# CONFIG_IP1000 is not set
538# CONFIG_ARCNET is not set 545# CONFIG_ARCNET is not set
539CONFIG_PHYLIB=y 546CONFIG_PHYLIB=y
540 547
@@ -551,6 +558,7 @@ CONFIG_CICADA_PHY=y
551# CONFIG_BROADCOM_PHY is not set 558# CONFIG_BROADCOM_PHY is not set
552# CONFIG_ICPLUS_PHY is not set 559# CONFIG_ICPLUS_PHY is not set
553# CONFIG_FIXED_PHY is not set 560# CONFIG_FIXED_PHY is not set
561# CONFIG_MDIO_BITBANG is not set
554CONFIG_NET_ETHERNET=y 562CONFIG_NET_ETHERNET=y
555CONFIG_MII=y 563CONFIG_MII=y
556# CONFIG_HAPPYMEAL is not set 564# CONFIG_HAPPYMEAL is not set
@@ -559,13 +567,16 @@ CONFIG_MII=y
559# CONFIG_NET_VENDOR_3COM is not set 567# CONFIG_NET_VENDOR_3COM is not set
560# CONFIG_NET_TULIP is not set 568# CONFIG_NET_TULIP is not set
561# CONFIG_HP100 is not set 569# CONFIG_HP100 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
562CONFIG_NET_PCI=y 574CONFIG_NET_PCI=y
563# CONFIG_PCNET32 is not set 575# CONFIG_PCNET32 is not set
564# CONFIG_AMD8111_ETH is not set 576# CONFIG_AMD8111_ETH is not set
565# CONFIG_ADAPTEC_STARFIRE is not set 577# CONFIG_ADAPTEC_STARFIRE is not set
566# CONFIG_B44 is not set 578# CONFIG_B44 is not set
567# CONFIG_FORCEDETH is not set 579# CONFIG_FORCEDETH is not set
568# CONFIG_DGRS is not set
569# CONFIG_EEPRO100 is not set 580# CONFIG_EEPRO100 is not set
570CONFIG_E100=y 581CONFIG_E100=y
571# CONFIG_FEALNX is not set 582# CONFIG_FEALNX is not set
@@ -583,6 +594,7 @@ CONFIG_NETDEV_1000=y
583# CONFIG_ACENIC is not set 594# CONFIG_ACENIC is not set
584# CONFIG_DL2K is not set 595# CONFIG_DL2K is not set
585# CONFIG_E1000 is not set 596# CONFIG_E1000 is not set
597# CONFIG_E1000E is not set
586# CONFIG_NS83820 is not set 598# CONFIG_NS83820 is not set
587# CONFIG_HAMACHI is not set 599# CONFIG_HAMACHI is not set
588# CONFIG_YELLOWFIN is not set 600# CONFIG_YELLOWFIN is not set
@@ -590,6 +602,7 @@ CONFIG_NETDEV_1000=y
590# CONFIG_SIS190 is not set 602# CONFIG_SIS190 is not set
591# CONFIG_SKGE is not set 603# CONFIG_SKGE is not set
592# CONFIG_SKY2 is not set 604# CONFIG_SKY2 is not set
605# CONFIG_SK98LIN is not set
593# CONFIG_VIA_VELOCITY is not set 606# CONFIG_VIA_VELOCITY is not set
594# CONFIG_TIGON3 is not set 607# CONFIG_TIGON3 is not set
595# CONFIG_BNX2 is not set 608# CONFIG_BNX2 is not set
@@ -600,11 +613,14 @@ CONFIG_GFAR_NAPI=y
600CONFIG_NETDEV_10000=y 613CONFIG_NETDEV_10000=y
601# CONFIG_CHELSIO_T1 is not set 614# CONFIG_CHELSIO_T1 is not set
602# CONFIG_CHELSIO_T3 is not set 615# CONFIG_CHELSIO_T3 is not set
616# CONFIG_IXGBE is not set
603# CONFIG_IXGB is not set 617# CONFIG_IXGB is not set
604# CONFIG_S2IO is not set 618# CONFIG_S2IO is not set
605# CONFIG_MYRI10GE is not set 619# CONFIG_MYRI10GE is not set
606# CONFIG_NETXEN_NIC is not set 620# CONFIG_NETXEN_NIC is not set
621# CONFIG_NIU is not set
607# CONFIG_MLX4_CORE is not set 622# CONFIG_MLX4_CORE is not set
623# CONFIG_TEHUTI is not set
608# CONFIG_TR is not set 624# CONFIG_TR is not set
609 625
610# 626#
@@ -620,7 +636,6 @@ CONFIG_NETDEV_10000=y
620# CONFIG_USB_KAWETH is not set 636# CONFIG_USB_KAWETH is not set
621# CONFIG_USB_PEGASUS is not set 637# CONFIG_USB_PEGASUS is not set
622# CONFIG_USB_RTL8150 is not set 638# CONFIG_USB_RTL8150 is not set
623# CONFIG_USB_USBNET_MII is not set
624# CONFIG_USB_USBNET is not set 639# CONFIG_USB_USBNET is not set
625# CONFIG_WAN is not set 640# CONFIG_WAN is not set
626# CONFIG_FDDI is not set 641# CONFIG_FDDI is not set
@@ -647,7 +662,6 @@ CONFIG_INPUT=y
647# 662#
648# CONFIG_INPUT_MOUSEDEV is not set 663# CONFIG_INPUT_MOUSEDEV is not set
649# CONFIG_INPUT_JOYDEV is not set 664# CONFIG_INPUT_JOYDEV is not set
650# CONFIG_INPUT_TSDEV is not set
651# CONFIG_INPUT_EVDEV is not set 665# CONFIG_INPUT_EVDEV is not set
652# CONFIG_INPUT_EVBUG is not set 666# CONFIG_INPUT_EVBUG is not set
653 667
@@ -695,32 +709,11 @@ CONFIG_UNIX98_PTYS=y
695CONFIG_LEGACY_PTYS=y 709CONFIG_LEGACY_PTYS=y
696CONFIG_LEGACY_PTY_COUNT=256 710CONFIG_LEGACY_PTY_COUNT=256
697# CONFIG_IPMI_HANDLER is not set 711# CONFIG_IPMI_HANDLER is not set
698CONFIG_WATCHDOG=y
699# CONFIG_WATCHDOG_NOWAYOUT is not set
700
701#
702# Watchdog Device Drivers
703#
704# CONFIG_SOFT_WATCHDOG is not set
705CONFIG_83xx_WDT=y
706
707#
708# PCI-based Watchdog Cards
709#
710# CONFIG_PCIPCWATCHDOG is not set
711# CONFIG_WDTPCI is not set
712
713#
714# USB-based Watchdog Cards
715#
716# CONFIG_USBPCWATCHDOG is not set
717CONFIG_HW_RANDOM=y 712CONFIG_HW_RANDOM=y
718# CONFIG_NVRAM is not set 713# CONFIG_NVRAM is not set
719# CONFIG_GEN_RTC is not set 714# CONFIG_GEN_RTC is not set
720# CONFIG_R3964 is not set 715# CONFIG_R3964 is not set
721# CONFIG_APPLICOM is not set 716# CONFIG_APPLICOM is not set
722# CONFIG_AGP is not set
723# CONFIG_DRM is not set
724# CONFIG_RAW_DRIVER is not set 717# CONFIG_RAW_DRIVER is not set
725# CONFIG_TCG_TPM is not set 718# CONFIG_TCG_TPM is not set
726CONFIG_DEVPORT=y 719CONFIG_DEVPORT=y
@@ -804,8 +797,6 @@ CONFIG_SPI_MPC83xx=y
804# CONFIG_POWER_SUPPLY is not set 797# CONFIG_POWER_SUPPLY is not set
805CONFIG_HWMON=y 798CONFIG_HWMON=y
806# CONFIG_HWMON_VID is not set 799# CONFIG_HWMON_VID is not set
807# CONFIG_SENSORS_ABITUGURU is not set
808# CONFIG_SENSORS_ABITUGURU3 is not set
809# CONFIG_SENSORS_AD7418 is not set 800# CONFIG_SENSORS_AD7418 is not set
810# CONFIG_SENSORS_ADM1021 is not set 801# CONFIG_SENSORS_ADM1021 is not set
811# CONFIG_SENSORS_ADM1025 is not set 802# CONFIG_SENSORS_ADM1025 is not set
@@ -813,12 +804,13 @@ CONFIG_HWMON=y
813# CONFIG_SENSORS_ADM1029 is not set 804# CONFIG_SENSORS_ADM1029 is not set
814# CONFIG_SENSORS_ADM1031 is not set 805# CONFIG_SENSORS_ADM1031 is not set
815# CONFIG_SENSORS_ADM9240 is not set 806# CONFIG_SENSORS_ADM9240 is not set
816# CONFIG_SENSORS_ASB100 is not set 807# CONFIG_SENSORS_ADT7470 is not set
817# CONFIG_SENSORS_ATXP1 is not set 808# CONFIG_SENSORS_ATXP1 is not set
818# CONFIG_SENSORS_DS1621 is not set 809# CONFIG_SENSORS_DS1621 is not set
810# CONFIG_SENSORS_I5K_AMB is not set
819# CONFIG_SENSORS_F71805F is not set 811# CONFIG_SENSORS_F71805F is not set
820# CONFIG_SENSORS_FSCHER is not set 812# CONFIG_SENSORS_F71882FG is not set
821# CONFIG_SENSORS_FSCPOS is not set 813# CONFIG_SENSORS_F75375S is not set
822# CONFIG_SENSORS_GL518SM is not set 814# CONFIG_SENSORS_GL518SM is not set
823# CONFIG_SENSORS_GL520SM is not set 815# CONFIG_SENSORS_GL520SM is not set
824# CONFIG_SENSORS_IT87 is not set 816# CONFIG_SENSORS_IT87 is not set
@@ -855,6 +847,31 @@ CONFIG_HWMON=y
855# CONFIG_SENSORS_W83627HF is not set 847# CONFIG_SENSORS_W83627HF is not set
856# CONFIG_SENSORS_W83627EHF is not set 848# CONFIG_SENSORS_W83627EHF is not set
857# CONFIG_HWMON_DEBUG_CHIP is not set 849# CONFIG_HWMON_DEBUG_CHIP is not set
850CONFIG_WATCHDOG=y
851# CONFIG_WATCHDOG_NOWAYOUT is not set
852
853#
854# Watchdog Device Drivers
855#
856# CONFIG_SOFT_WATCHDOG is not set
857CONFIG_83xx_WDT=y
858
859#
860# PCI-based Watchdog Cards
861#
862# CONFIG_PCIPCWATCHDOG is not set
863# CONFIG_WDTPCI is not set
864
865#
866# USB-based Watchdog Cards
867#
868# CONFIG_USBPCWATCHDOG is not set
869
870#
871# Sonics Silicon Backplane
872#
873CONFIG_SSB_POSSIBLE=y
874# CONFIG_SSB is not set
858 875
859# 876#
860# Multifunction device drivers 877# Multifunction device drivers
@@ -872,16 +889,17 @@ CONFIG_DAB=y
872# 889#
873# Graphics support 890# Graphics support
874# 891#
892# CONFIG_AGP is not set
893# CONFIG_DRM is not set
894# CONFIG_VGASTATE is not set
895CONFIG_VIDEO_OUTPUT_CONTROL=m
896# CONFIG_FB is not set
875# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 897# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
876 898
877# 899#
878# Display device support 900# Display device support
879# 901#
880# CONFIG_DISPLAY_SUPPORT is not set 902# CONFIG_DISPLAY_SUPPORT is not set
881# CONFIG_VGASTATE is not set
882CONFIG_VIDEO_OUTPUT_CONTROL=m
883# CONFIG_FB is not set
884# CONFIG_FB_IBM_GXT4500 is not set
885 903
886# 904#
887# Sound 905# Sound
@@ -890,6 +908,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
890CONFIG_HID_SUPPORT=y 908CONFIG_HID_SUPPORT=y
891CONFIG_HID=y 909CONFIG_HID=y
892# CONFIG_HID_DEBUG is not set 910# CONFIG_HID_DEBUG is not set
911# CONFIG_HIDRAW is not set
893 912
894# 913#
895# USB Input Devices 914# USB Input Devices
@@ -954,6 +973,7 @@ CONFIG_USB_STORAGE=y
954# CONFIG_USB_STORAGE_DEBUG is not set 973# CONFIG_USB_STORAGE_DEBUG is not set
955# CONFIG_USB_STORAGE_DATAFAB is not set 974# CONFIG_USB_STORAGE_DATAFAB is not set
956# CONFIG_USB_STORAGE_FREECOM is not set 975# CONFIG_USB_STORAGE_FREECOM is not set
976# CONFIG_USB_STORAGE_ISD200 is not set
957# CONFIG_USB_STORAGE_DPCM is not set 977# CONFIG_USB_STORAGE_DPCM is not set
958# CONFIG_USB_STORAGE_USBAT is not set 978# CONFIG_USB_STORAGE_USBAT is not set
959# CONFIG_USB_STORAGE_SDDR09 is not set 979# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1015,6 +1035,7 @@ CONFIG_USB_GADGET=y
1015# CONFIG_USB_GADGET_DEBUG_FILES is not set 1035# CONFIG_USB_GADGET_DEBUG_FILES is not set
1016CONFIG_USB_GADGET_SELECTED=y 1036CONFIG_USB_GADGET_SELECTED=y
1017# CONFIG_USB_GADGET_AMD5536UDC is not set 1037# CONFIG_USB_GADGET_AMD5536UDC is not set
1038# CONFIG_USB_GADGET_ATMEL_USBA is not set
1018# CONFIG_USB_GADGET_FSL_USB2 is not set 1039# CONFIG_USB_GADGET_FSL_USB2 is not set
1019CONFIG_USB_GADGET_NET2280=y 1040CONFIG_USB_GADGET_NET2280=y
1020CONFIG_USB_NET2280=y 1041CONFIG_USB_NET2280=y
@@ -1057,6 +1078,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
1057# I2C RTC drivers 1078# I2C RTC drivers
1058# 1079#
1059CONFIG_RTC_DRV_DS1307=y 1080CONFIG_RTC_DRV_DS1307=y
1081# CONFIG_RTC_DRV_DS1374 is not set
1060# CONFIG_RTC_DRV_DS1672 is not set 1082# CONFIG_RTC_DRV_DS1672 is not set
1061# CONFIG_RTC_DRV_MAX6900 is not set 1083# CONFIG_RTC_DRV_MAX6900 is not set
1062# CONFIG_RTC_DRV_RS5C372 is not set 1084# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1088,21 +1110,6 @@ CONFIG_RTC_DRV_DS1307=y
1088# 1110#
1089 1111
1090# 1112#
1091# DMA Engine support
1092#
1093CONFIG_DMA_ENGINE=y
1094
1095#
1096# DMA Clients
1097#
1098CONFIG_NET_DMA=y
1099
1100#
1101# DMA Devices
1102#
1103CONFIG_INTEL_IOATDMA=y
1104
1105#
1106# Userspace I/O 1113# Userspace I/O
1107# 1114#
1108# CONFIG_UIO is not set 1115# CONFIG_UIO is not set
@@ -1119,7 +1126,6 @@ CONFIG_EXT3_FS_XATTR=y
1119# CONFIG_EXT3_FS_SECURITY is not set 1126# CONFIG_EXT3_FS_SECURITY is not set
1120# CONFIG_EXT4DEV_FS is not set 1127# CONFIG_EXT4DEV_FS is not set
1121CONFIG_JBD=y 1128CONFIG_JBD=y
1122# CONFIG_JBD_DEBUG is not set
1123CONFIG_FS_MBCACHE=y 1129CONFIG_FS_MBCACHE=y
1124# CONFIG_REISERFS_FS is not set 1130# CONFIG_REISERFS_FS is not set
1125# CONFIG_JFS_FS is not set 1131# CONFIG_JFS_FS is not set
@@ -1160,7 +1166,6 @@ CONFIG_SYSFS=y
1160CONFIG_TMPFS=y 1166CONFIG_TMPFS=y
1161# CONFIG_TMPFS_POSIX_ACL is not set 1167# CONFIG_TMPFS_POSIX_ACL is not set
1162# CONFIG_HUGETLB_PAGE is not set 1168# CONFIG_HUGETLB_PAGE is not set
1163CONFIG_RAMFS=y
1164# CONFIG_CONFIGFS_FS is not set 1169# CONFIG_CONFIGFS_FS is not set
1165 1170
1166# 1171#
@@ -1180,10 +1185,7 @@ CONFIG_RAMFS=y
1180# CONFIG_QNX4FS_FS is not set 1185# CONFIG_QNX4FS_FS is not set
1181# CONFIG_SYSV_FS is not set 1186# CONFIG_SYSV_FS is not set
1182# CONFIG_UFS_FS is not set 1187# CONFIG_UFS_FS is not set
1183 1188CONFIG_NETWORK_FILESYSTEMS=y
1184#
1185# Network File Systems
1186#
1187CONFIG_NFS_FS=y 1189CONFIG_NFS_FS=y
1188CONFIG_NFS_V3=y 1190CONFIG_NFS_V3=y
1189# CONFIG_NFS_V3_ACL is not set 1191# CONFIG_NFS_V3_ACL is not set
@@ -1226,15 +1228,7 @@ CONFIG_MSDOS_PARTITION=y
1226# CONFIG_KARMA_PARTITION is not set 1228# CONFIG_KARMA_PARTITION is not set
1227# CONFIG_EFI_PARTITION is not set 1229# CONFIG_EFI_PARTITION is not set
1228# CONFIG_SYSV68_PARTITION is not set 1230# CONFIG_SYSV68_PARTITION is not set
1229
1230#
1231# Native Language Support
1232#
1233# CONFIG_NLS is not set 1231# CONFIG_NLS is not set
1234
1235#
1236# Distributed Lock Manager
1237#
1238# CONFIG_DLM is not set 1232# CONFIG_DLM is not set
1239# CONFIG_UCC_SLOW is not set 1233# CONFIG_UCC_SLOW is not set
1240 1234
@@ -1252,16 +1246,13 @@ CONFIG_PLIST=y
1252CONFIG_HAS_IOMEM=y 1246CONFIG_HAS_IOMEM=y
1253CONFIG_HAS_IOPORT=y 1247CONFIG_HAS_IOPORT=y
1254CONFIG_HAS_DMA=y 1248CONFIG_HAS_DMA=y
1255 1249# CONFIG_INSTRUMENTATION is not set
1256#
1257# Instrumentation Support
1258#
1259# CONFIG_PROFILING is not set
1260 1250
1261# 1251#
1262# Kernel hacking 1252# Kernel hacking
1263# 1253#
1264# CONFIG_PRINTK_TIME is not set 1254# CONFIG_PRINTK_TIME is not set
1255CONFIG_ENABLE_WARN_DEPRECATED=y
1265CONFIG_ENABLE_MUST_CHECK=y 1256CONFIG_ENABLE_MUST_CHECK=y
1266# CONFIG_MAGIC_SYSRQ is not set 1257# CONFIG_MAGIC_SYSRQ is not set
1267# CONFIG_UNUSED_SYMBOLS is not set 1258# CONFIG_UNUSED_SYMBOLS is not set
@@ -1285,9 +1276,12 @@ CONFIG_SCHED_DEBUG=y
1285# CONFIG_DEBUG_INFO is not set 1276# CONFIG_DEBUG_INFO is not set
1286# CONFIG_DEBUG_VM is not set 1277# CONFIG_DEBUG_VM is not set
1287# CONFIG_DEBUG_LIST is not set 1278# CONFIG_DEBUG_LIST is not set
1279# CONFIG_DEBUG_SG is not set
1288CONFIG_FORCED_INLINING=y 1280CONFIG_FORCED_INLINING=y
1281# CONFIG_BOOT_PRINTK_DELAY is not set
1289# CONFIG_RCU_TORTURE_TEST is not set 1282# CONFIG_RCU_TORTURE_TEST is not set
1290# CONFIG_FAULT_INJECTION is not set 1283# CONFIG_FAULT_INJECTION is not set
1284# CONFIG_SAMPLES is not set
1291# CONFIG_DEBUG_STACKOVERFLOW is not set 1285# CONFIG_DEBUG_STACKOVERFLOW is not set
1292# CONFIG_DEBUG_STACK_USAGE is not set 1286# CONFIG_DEBUG_STACK_USAGE is not set
1293# CONFIG_DEBUG_PAGEALLOC is not set 1287# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1300,6 +1294,7 @@ CONFIG_FORCED_INLINING=y
1300# 1294#
1301# CONFIG_KEYS is not set 1295# CONFIG_KEYS is not set
1302# CONFIG_SECURITY is not set 1296# CONFIG_SECURITY is not set
1297# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1303CONFIG_CRYPTO=y 1298CONFIG_CRYPTO=y
1304CONFIG_CRYPTO_ALGAPI=y 1299CONFIG_CRYPTO_ALGAPI=y
1305CONFIG_CRYPTO_BLKCIPHER=y 1300CONFIG_CRYPTO_BLKCIPHER=y
@@ -1319,6 +1314,7 @@ CONFIG_CRYPTO_MD5=y
1319CONFIG_CRYPTO_CBC=y 1314CONFIG_CRYPTO_CBC=y
1320CONFIG_CRYPTO_PCBC=m 1315CONFIG_CRYPTO_PCBC=m
1321# CONFIG_CRYPTO_LRW is not set 1316# CONFIG_CRYPTO_LRW is not set
1317# CONFIG_CRYPTO_XTS is not set
1322# CONFIG_CRYPTO_CRYPTD is not set 1318# CONFIG_CRYPTO_CRYPTD is not set
1323CONFIG_CRYPTO_DES=y 1319CONFIG_CRYPTO_DES=y
1324# CONFIG_CRYPTO_FCRYPT is not set 1320# CONFIG_CRYPTO_FCRYPT is not set
@@ -1332,9 +1328,12 @@ CONFIG_CRYPTO_DES=y
1332# CONFIG_CRYPTO_ARC4 is not set 1328# CONFIG_CRYPTO_ARC4 is not set
1333# CONFIG_CRYPTO_KHAZAD is not set 1329# CONFIG_CRYPTO_KHAZAD is not set
1334# CONFIG_CRYPTO_ANUBIS is not set 1330# CONFIG_CRYPTO_ANUBIS is not set
1331# CONFIG_CRYPTO_SEED is not set
1335# CONFIG_CRYPTO_DEFLATE is not set 1332# CONFIG_CRYPTO_DEFLATE is not set
1336# CONFIG_CRYPTO_MICHAEL_MIC is not set 1333# CONFIG_CRYPTO_MICHAEL_MIC is not set
1337# CONFIG_CRYPTO_CRC32C is not set 1334# CONFIG_CRYPTO_CRC32C is not set
1338# CONFIG_CRYPTO_CAMELLIA is not set 1335# CONFIG_CRYPTO_CAMELLIA is not set
1339# CONFIG_CRYPTO_TEST is not set 1336# CONFIG_CRYPTO_TEST is not set
1337# CONFIG_CRYPTO_AUTHENC is not set
1340CONFIG_CRYPTO_HW=y 1338CONFIG_CRYPTO_HW=y
1339# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc832x_mds_defconfig b/arch/powerpc/configs/mpc832x_mds_defconfig
index e069018276ca..2d8951b1096e 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:40 2007 4# Thu Dec 6 16:48:33 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -157,6 +163,10 @@ CONFIG_QUICC_ENGINE=y
157# Kernel options 163# Kernel options
158# 164#
159# CONFIG_HIGHMEM is not set 165# CONFIG_HIGHMEM is not set
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
160# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
161CONFIG_HZ_250=y 171CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -178,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
178CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
179CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
180# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
181CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
182# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
183CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -186,6 +197,8 @@ CONFIG_VIRT_TO_BUS=y
186CONFIG_PROC_DEVICETREE=y 197CONFIG_PROC_DEVICETREE=y
187# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
188# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
189CONFIG_SECCOMP=y 202CONFIG_SECCOMP=y
190CONFIG_WANT_DEVICE_TREE=y 203CONFIG_WANT_DEVICE_TREE=y
191CONFIG_DEVICE_TREE="" 204CONFIG_DEVICE_TREE=""
@@ -204,10 +217,7 @@ CONFIG_PCI_SYSCALL=y
204# CONFIG_PCIEPORTBUS is not set 217# CONFIG_PCIEPORTBUS is not set
205CONFIG_ARCH_SUPPORTS_MSI=y 218CONFIG_ARCH_SUPPORTS_MSI=y
206# CONFIG_PCI_MSI is not set 219# CONFIG_PCI_MSI is not set
207 220CONFIG_PCI_LEGACY=y
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 221# CONFIG_PCCARD is not set
212# CONFIG_HOTPLUG_PCI is not set 222# CONFIG_HOTPLUG_PCI is not set
213 223
@@ -222,7 +232,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_HIGHMEM_START=0xfe000000 232CONFIG_HIGHMEM_START=0xfe000000
223CONFIG_LOWMEM_SIZE=0x30000000 233CONFIG_LOWMEM_SIZE=0x30000000
224CONFIG_KERNEL_START=0xc0000000 234CONFIG_KERNEL_START=0xc0000000
225CONFIG_TASK_SIZE=0x80000000 235CONFIG_TASK_SIZE=0xc0000000
226CONFIG_BOOT_LOAD=0x00800000 236CONFIG_BOOT_LOAD=0x00800000
227 237
228# 238#
@@ -262,6 +272,7 @@ CONFIG_SYN_COOKIES=y
262CONFIG_INET_XFRM_MODE_TRANSPORT=y 272CONFIG_INET_XFRM_MODE_TRANSPORT=y
263CONFIG_INET_XFRM_MODE_TUNNEL=y 273CONFIG_INET_XFRM_MODE_TUNNEL=y
264CONFIG_INET_XFRM_MODE_BEET=y 274CONFIG_INET_XFRM_MODE_BEET=y
275# CONFIG_INET_LRO is not set
265CONFIG_INET_DIAG=y 276CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 277CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 278# CONFIG_TCP_CONG_ADVANCED is not set
@@ -287,10 +298,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
287# CONFIG_LAPB is not set 298# CONFIG_LAPB is not set
288# CONFIG_ECONET is not set 299# CONFIG_ECONET is not set
289# CONFIG_WAN_ROUTER is not set 300# CONFIG_WAN_ROUTER is not set
290
291#
292# QoS and/or fair queueing
293#
294# CONFIG_NET_SCHED is not set 301# CONFIG_NET_SCHED is not set
295 302
296# 303#
@@ -319,6 +326,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# 326#
320# Generic Driver Options 327# Generic Driver Options
321# 328#
329CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
322CONFIG_STANDALONE=y 330CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 331CONFIG_PREVENT_FIRMWARE_BUILD=y
324# CONFIG_FW_LOADER is not set 332# CONFIG_FW_LOADER is not set
@@ -387,6 +395,7 @@ CONFIG_SCSI_WAIT_SCAN=m
387# CONFIG_SCSI_FC_ATTRS is not set 395# CONFIG_SCSI_FC_ATTRS is not set
388# CONFIG_SCSI_ISCSI_ATTRS is not set 396# CONFIG_SCSI_ISCSI_ATTRS is not set
389# CONFIG_SCSI_SAS_LIBSAS is not set 397# CONFIG_SCSI_SAS_LIBSAS is not set
398# CONFIG_SCSI_SRP_ATTRS is not set
390CONFIG_SCSI_LOWLEVEL=y 399CONFIG_SCSI_LOWLEVEL=y
391# CONFIG_ISCSI_TCP is not set 400# CONFIG_ISCSI_TCP is not set
392# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 401# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -398,6 +407,7 @@ CONFIG_SCSI_LOWLEVEL=y
398# CONFIG_SCSI_AIC79XX is not set 407# CONFIG_SCSI_AIC79XX is not set
399# CONFIG_SCSI_AIC94XX is not set 408# CONFIG_SCSI_AIC94XX is not set
400# CONFIG_SCSI_DPT_I2O is not set 409# CONFIG_SCSI_DPT_I2O is not set
410# CONFIG_SCSI_ADVANSYS is not set
401# CONFIG_SCSI_ARCMSR is not set 411# CONFIG_SCSI_ARCMSR is not set
402# CONFIG_MEGARAID_NEWGEN is not set 412# CONFIG_MEGARAID_NEWGEN is not set
403# CONFIG_MEGARAID_LEGACY is not set 413# CONFIG_MEGARAID_LEGACY is not set
@@ -424,14 +434,7 @@ CONFIG_SCSI_LOWLEVEL=y
424# CONFIG_SCSI_SRP is not set 434# CONFIG_SCSI_SRP is not set
425# CONFIG_ATA is not set 435# CONFIG_ATA is not set
426# CONFIG_MD is not set 436# CONFIG_MD is not set
427
428#
429# Fusion MPT device support
430#
431# CONFIG_FUSION is not set 437# CONFIG_FUSION is not set
432# CONFIG_FUSION_SPI is not set
433# CONFIG_FUSION_FC is not set
434# CONFIG_FUSION_SAS is not set
435 438
436# 439#
437# IEEE 1394 (FireWire) support 440# IEEE 1394 (FireWire) support
@@ -447,6 +450,8 @@ CONFIG_NETDEVICES=y
447# CONFIG_MACVLAN is not set 450# CONFIG_MACVLAN is not set
448# CONFIG_EQUALIZER is not set 451# CONFIG_EQUALIZER is not set
449# CONFIG_TUN is not set 452# CONFIG_TUN is not set
453# CONFIG_VETH is not set
454# CONFIG_IP1000 is not set
450# CONFIG_ARCNET is not set 455# CONFIG_ARCNET is not set
451CONFIG_PHYLIB=y 456CONFIG_PHYLIB=y
452 457
@@ -463,6 +468,7 @@ CONFIG_DAVICOM_PHY=y
463# CONFIG_BROADCOM_PHY is not set 468# CONFIG_BROADCOM_PHY is not set
464# CONFIG_ICPLUS_PHY is not set 469# CONFIG_ICPLUS_PHY is not set
465# CONFIG_FIXED_PHY is not set 470# CONFIG_FIXED_PHY is not set
471# CONFIG_MDIO_BITBANG is not set
466CONFIG_NET_ETHERNET=y 472CONFIG_NET_ETHERNET=y
467CONFIG_MII=y 473CONFIG_MII=y
468# CONFIG_HAPPYMEAL is not set 474# CONFIG_HAPPYMEAL is not set
@@ -471,11 +477,17 @@ CONFIG_MII=y
471# CONFIG_NET_VENDOR_3COM is not set 477# CONFIG_NET_VENDOR_3COM is not set
472# CONFIG_NET_TULIP is not set 478# CONFIG_NET_TULIP is not set
473# CONFIG_HP100 is not set 479# CONFIG_HP100 is not set
480# CONFIG_IBM_NEW_EMAC_ZMII is not set
481# CONFIG_IBM_NEW_EMAC_RGMII is not set
482# CONFIG_IBM_NEW_EMAC_TAH is not set
483# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
474# CONFIG_NET_PCI is not set 484# CONFIG_NET_PCI is not set
485# CONFIG_B44 is not set
475CONFIG_NETDEV_1000=y 486CONFIG_NETDEV_1000=y
476# CONFIG_ACENIC is not set 487# CONFIG_ACENIC is not set
477# CONFIG_DL2K is not set 488# CONFIG_DL2K is not set
478# CONFIG_E1000 is not set 489# CONFIG_E1000 is not set
490# CONFIG_E1000E is not set
479# CONFIG_NS83820 is not set 491# CONFIG_NS83820 is not set
480# CONFIG_HAMACHI is not set 492# CONFIG_HAMACHI is not set
481# CONFIG_YELLOWFIN is not set 493# CONFIG_YELLOWFIN is not set
@@ -483,6 +495,7 @@ CONFIG_NETDEV_1000=y
483# CONFIG_SIS190 is not set 495# CONFIG_SIS190 is not set
484# CONFIG_SKGE is not set 496# CONFIG_SKGE is not set
485# CONFIG_SKY2 is not set 497# CONFIG_SKY2 is not set
498# CONFIG_SK98LIN is not set
486# CONFIG_VIA_VELOCITY is not set 499# CONFIG_VIA_VELOCITY is not set
487# CONFIG_TIGON3 is not set 500# CONFIG_TIGON3 is not set
488# CONFIG_BNX2 is not set 501# CONFIG_BNX2 is not set
@@ -497,11 +510,14 @@ CONFIG_UCC_GETH=y
497CONFIG_NETDEV_10000=y 510CONFIG_NETDEV_10000=y
498# CONFIG_CHELSIO_T1 is not set 511# CONFIG_CHELSIO_T1 is not set
499# CONFIG_CHELSIO_T3 is not set 512# CONFIG_CHELSIO_T3 is not set
513# CONFIG_IXGBE is not set
500# CONFIG_IXGB is not set 514# CONFIG_IXGB is not set
501# CONFIG_S2IO is not set 515# CONFIG_S2IO is not set
502# CONFIG_MYRI10GE is not set 516# CONFIG_MYRI10GE is not set
503# CONFIG_NETXEN_NIC is not set 517# CONFIG_NETXEN_NIC is not set
518# CONFIG_NIU is not set
504# CONFIG_MLX4_CORE is not set 519# CONFIG_MLX4_CORE is not set
520# CONFIG_TEHUTI is not set
505# CONFIG_TR is not set 521# CONFIG_TR is not set
506 522
507# 523#
@@ -534,7 +550,6 @@ CONFIG_INPUT=y
534# 550#
535# CONFIG_INPUT_MOUSEDEV is not set 551# CONFIG_INPUT_MOUSEDEV is not set
536# CONFIG_INPUT_JOYDEV is not set 552# CONFIG_INPUT_JOYDEV is not set
537# CONFIG_INPUT_TSDEV is not set
538# CONFIG_INPUT_EVDEV is not set 553# CONFIG_INPUT_EVDEV is not set
539# CONFIG_INPUT_EVBUG is not set 554# CONFIG_INPUT_EVBUG is not set
540 555
@@ -582,28 +597,12 @@ CONFIG_UNIX98_PTYS=y
582CONFIG_LEGACY_PTYS=y 597CONFIG_LEGACY_PTYS=y
583CONFIG_LEGACY_PTY_COUNT=256 598CONFIG_LEGACY_PTY_COUNT=256
584# CONFIG_IPMI_HANDLER is not set 599# CONFIG_IPMI_HANDLER is not set
585CONFIG_WATCHDOG=y
586# CONFIG_WATCHDOG_NOWAYOUT is not set
587
588#
589# Watchdog Device Drivers
590#
591# CONFIG_SOFT_WATCHDOG is not set
592CONFIG_83xx_WDT=y
593
594#
595# PCI-based Watchdog Cards
596#
597# CONFIG_PCIPCWATCHDOG is not set
598# CONFIG_WDTPCI is not set
599CONFIG_HW_RANDOM=y 600CONFIG_HW_RANDOM=y
600# CONFIG_NVRAM is not set 601# CONFIG_NVRAM is not set
601CONFIG_GEN_RTC=y 602CONFIG_GEN_RTC=y
602# CONFIG_GEN_RTC_X is not set 603# CONFIG_GEN_RTC_X is not set
603# CONFIG_R3964 is not set 604# CONFIG_R3964 is not set
604# CONFIG_APPLICOM is not set 605# CONFIG_APPLICOM is not set
605# CONFIG_AGP is not set
606# CONFIG_DRM is not set
607# CONFIG_RAW_DRIVER is not set 606# CONFIG_RAW_DRIVER is not set
608# CONFIG_TCG_TPM is not set 607# CONFIG_TCG_TPM is not set
609CONFIG_DEVPORT=y 608CONFIG_DEVPORT=y
@@ -672,8 +671,6 @@ CONFIG_I2C_MPC=y
672# CONFIG_POWER_SUPPLY is not set 671# CONFIG_POWER_SUPPLY is not set
673CONFIG_HWMON=y 672CONFIG_HWMON=y
674# CONFIG_HWMON_VID is not set 673# CONFIG_HWMON_VID is not set
675# CONFIG_SENSORS_ABITUGURU is not set
676# CONFIG_SENSORS_ABITUGURU3 is not set
677# CONFIG_SENSORS_AD7418 is not set 674# CONFIG_SENSORS_AD7418 is not set
678# CONFIG_SENSORS_ADM1021 is not set 675# CONFIG_SENSORS_ADM1021 is not set
679# CONFIG_SENSORS_ADM1025 is not set 676# CONFIG_SENSORS_ADM1025 is not set
@@ -681,12 +678,13 @@ CONFIG_HWMON=y
681# CONFIG_SENSORS_ADM1029 is not set 678# CONFIG_SENSORS_ADM1029 is not set
682# CONFIG_SENSORS_ADM1031 is not set 679# CONFIG_SENSORS_ADM1031 is not set
683# CONFIG_SENSORS_ADM9240 is not set 680# CONFIG_SENSORS_ADM9240 is not set
684# CONFIG_SENSORS_ASB100 is not set 681# CONFIG_SENSORS_ADT7470 is not set
685# CONFIG_SENSORS_ATXP1 is not set 682# CONFIG_SENSORS_ATXP1 is not set
686# CONFIG_SENSORS_DS1621 is not set 683# CONFIG_SENSORS_DS1621 is not set
684# CONFIG_SENSORS_I5K_AMB is not set
687# CONFIG_SENSORS_F71805F is not set 685# CONFIG_SENSORS_F71805F is not set
688# CONFIG_SENSORS_FSCHER is not set 686# CONFIG_SENSORS_F71882FG is not set
689# CONFIG_SENSORS_FSCPOS is not set 687# CONFIG_SENSORS_F75375S is not set
690# CONFIG_SENSORS_GL518SM is not set 688# CONFIG_SENSORS_GL518SM is not set
691# CONFIG_SENSORS_GL520SM is not set 689# CONFIG_SENSORS_GL520SM is not set
692# CONFIG_SENSORS_IT87 is not set 690# CONFIG_SENSORS_IT87 is not set
@@ -722,6 +720,26 @@ CONFIG_HWMON=y
722# CONFIG_SENSORS_W83627HF is not set 720# CONFIG_SENSORS_W83627HF is not set
723# CONFIG_SENSORS_W83627EHF is not set 721# CONFIG_SENSORS_W83627EHF is not set
724# CONFIG_HWMON_DEBUG_CHIP is not set 722# CONFIG_HWMON_DEBUG_CHIP is not set
723CONFIG_WATCHDOG=y
724# CONFIG_WATCHDOG_NOWAYOUT is not set
725
726#
727# Watchdog Device Drivers
728#
729# CONFIG_SOFT_WATCHDOG is not set
730CONFIG_83xx_WDT=y
731
732#
733# PCI-based Watchdog Cards
734#
735# CONFIG_PCIPCWATCHDOG is not set
736# CONFIG_WDTPCI is not set
737
738#
739# Sonics Silicon Backplane
740#
741CONFIG_SSB_POSSIBLE=y
742# CONFIG_SSB is not set
725 743
726# 744#
727# Multifunction device drivers 745# Multifunction device drivers
@@ -738,16 +756,17 @@ CONFIG_DAB=y
738# 756#
739# Graphics support 757# Graphics support
740# 758#
759# CONFIG_AGP is not set
760# CONFIG_DRM is not set
761# CONFIG_VGASTATE is not set
762CONFIG_VIDEO_OUTPUT_CONTROL=m
763# CONFIG_FB is not set
741# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 764# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
742 765
743# 766#
744# Display device support 767# Display device support
745# 768#
746# CONFIG_DISPLAY_SUPPORT is not set 769# CONFIG_DISPLAY_SUPPORT is not set
747# CONFIG_VGASTATE is not set
748CONFIG_VIDEO_OUTPUT_CONTROL=m
749# CONFIG_FB is not set
750# CONFIG_FB_IBM_GXT4500 is not set
751 770
752# 771#
753# Sound 772# Sound
@@ -756,6 +775,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
756CONFIG_HID_SUPPORT=y 775CONFIG_HID_SUPPORT=y
757CONFIG_HID=y 776CONFIG_HID=y
758# CONFIG_HID_DEBUG is not set 777# CONFIG_HID_DEBUG is not set
778# CONFIG_HIDRAW is not set
759CONFIG_USB_SUPPORT=y 779CONFIG_USB_SUPPORT=y
760CONFIG_USB_ARCH_HAS_HCD=y 780CONFIG_USB_ARCH_HAS_HCD=y
761CONFIG_USB_ARCH_HAS_OHCI=y 781CONFIG_USB_ARCH_HAS_OHCI=y
@@ -823,19 +843,6 @@ CONFIG_RTC_DRV_DS1374=y
823# 843#
824 844
825# 845#
826# DMA Engine support
827#
828# CONFIG_DMA_ENGINE is not set
829
830#
831# DMA Clients
832#
833
834#
835# DMA Devices
836#
837
838#
839# Userspace I/O 846# Userspace I/O
840# 847#
841# CONFIG_UIO is not set 848# CONFIG_UIO is not set
@@ -852,7 +859,6 @@ CONFIG_EXT3_FS_XATTR=y
852# CONFIG_EXT3_FS_SECURITY is not set 859# CONFIG_EXT3_FS_SECURITY is not set
853# CONFIG_EXT4DEV_FS is not set 860# CONFIG_EXT4DEV_FS is not set
854CONFIG_JBD=y 861CONFIG_JBD=y
855# CONFIG_JBD_DEBUG is not set
856CONFIG_FS_MBCACHE=y 862CONFIG_FS_MBCACHE=y
857# CONFIG_REISERFS_FS is not set 863# CONFIG_REISERFS_FS is not set
858# CONFIG_JFS_FS is not set 864# CONFIG_JFS_FS is not set
@@ -893,7 +899,6 @@ CONFIG_SYSFS=y
893CONFIG_TMPFS=y 899CONFIG_TMPFS=y
894# CONFIG_TMPFS_POSIX_ACL is not set 900# CONFIG_TMPFS_POSIX_ACL is not set
895# CONFIG_HUGETLB_PAGE is not set 901# CONFIG_HUGETLB_PAGE is not set
896CONFIG_RAMFS=y
897# CONFIG_CONFIGFS_FS is not set 902# CONFIG_CONFIGFS_FS is not set
898 903
899# 904#
@@ -912,10 +917,7 @@ CONFIG_RAMFS=y
912# CONFIG_QNX4FS_FS is not set 917# CONFIG_QNX4FS_FS is not set
913# CONFIG_SYSV_FS is not set 918# CONFIG_SYSV_FS is not set
914# CONFIG_UFS_FS is not set 919# CONFIG_UFS_FS is not set
915 920CONFIG_NETWORK_FILESYSTEMS=y
916#
917# Network File Systems
918#
919CONFIG_NFS_FS=y 921CONFIG_NFS_FS=y
920CONFIG_NFS_V3=y 922CONFIG_NFS_V3=y
921# CONFIG_NFS_V3_ACL is not set 923# CONFIG_NFS_V3_ACL is not set
@@ -954,15 +956,7 @@ CONFIG_PARTITION_ADVANCED=y
954# CONFIG_KARMA_PARTITION is not set 956# CONFIG_KARMA_PARTITION is not set
955# CONFIG_EFI_PARTITION is not set 957# CONFIG_EFI_PARTITION is not set
956# CONFIG_SYSV68_PARTITION is not set 958# CONFIG_SYSV68_PARTITION is not set
957
958#
959# Native Language Support
960#
961# CONFIG_NLS is not set 959# CONFIG_NLS is not set
962
963#
964# Distributed Lock Manager
965#
966# CONFIG_DLM is not set 960# CONFIG_DLM is not set
967# CONFIG_UCC_SLOW is not set 961# CONFIG_UCC_SLOW is not set
968CONFIG_UCC_FAST=y 962CONFIG_UCC_FAST=y
@@ -982,23 +976,22 @@ CONFIG_PLIST=y
982CONFIG_HAS_IOMEM=y 976CONFIG_HAS_IOMEM=y
983CONFIG_HAS_IOPORT=y 977CONFIG_HAS_IOPORT=y
984CONFIG_HAS_DMA=y 978CONFIG_HAS_DMA=y
985 979# CONFIG_INSTRUMENTATION is not set
986#
987# Instrumentation Support
988#
989# CONFIG_PROFILING is not set
990 980
991# 981#
992# Kernel hacking 982# Kernel hacking
993# 983#
994# CONFIG_PRINTK_TIME is not set 984# CONFIG_PRINTK_TIME is not set
985CONFIG_ENABLE_WARN_DEPRECATED=y
995CONFIG_ENABLE_MUST_CHECK=y 986CONFIG_ENABLE_MUST_CHECK=y
996# CONFIG_MAGIC_SYSRQ is not set 987# CONFIG_MAGIC_SYSRQ is not set
997# CONFIG_UNUSED_SYMBOLS is not set 988# CONFIG_UNUSED_SYMBOLS is not set
998# CONFIG_DEBUG_FS is not set 989# CONFIG_DEBUG_FS is not set
999# CONFIG_HEADERS_CHECK is not set 990# CONFIG_HEADERS_CHECK is not set
1000# CONFIG_DEBUG_KERNEL is not set 991# CONFIG_DEBUG_KERNEL is not set
992# CONFIG_SLUB_DEBUG_ON is not set
1001# CONFIG_DEBUG_BUGVERBOSE is not set 993# CONFIG_DEBUG_BUGVERBOSE is not set
994# CONFIG_SAMPLES is not set
1002# CONFIG_PPC_EARLY_DEBUG is not set 995# CONFIG_PPC_EARLY_DEBUG is not set
1003 996
1004# 997#
@@ -1006,6 +999,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1006# 999#
1007# CONFIG_KEYS is not set 1000# CONFIG_KEYS is not set
1008# CONFIG_SECURITY is not set 1001# CONFIG_SECURITY is not set
1002# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1009CONFIG_CRYPTO=y 1003CONFIG_CRYPTO=y
1010CONFIG_CRYPTO_ALGAPI=y 1004CONFIG_CRYPTO_ALGAPI=y
1011CONFIG_CRYPTO_BLKCIPHER=y 1005CONFIG_CRYPTO_BLKCIPHER=y
@@ -1025,6 +1019,7 @@ CONFIG_CRYPTO_ECB=m
1025CONFIG_CRYPTO_CBC=y 1019CONFIG_CRYPTO_CBC=y
1026CONFIG_CRYPTO_PCBC=m 1020CONFIG_CRYPTO_PCBC=m
1027# CONFIG_CRYPTO_LRW is not set 1021# CONFIG_CRYPTO_LRW is not set
1022# CONFIG_CRYPTO_XTS is not set
1028# CONFIG_CRYPTO_CRYPTD is not set 1023# CONFIG_CRYPTO_CRYPTD is not set
1029CONFIG_CRYPTO_DES=y 1024CONFIG_CRYPTO_DES=y
1030# CONFIG_CRYPTO_FCRYPT is not set 1025# CONFIG_CRYPTO_FCRYPT is not set
@@ -1038,9 +1033,13 @@ CONFIG_CRYPTO_DES=y
1038# CONFIG_CRYPTO_ARC4 is not set 1033# CONFIG_CRYPTO_ARC4 is not set
1039# CONFIG_CRYPTO_KHAZAD is not set 1034# CONFIG_CRYPTO_KHAZAD is not set
1040# CONFIG_CRYPTO_ANUBIS is not set 1035# CONFIG_CRYPTO_ANUBIS is not set
1036# CONFIG_CRYPTO_SEED is not set
1041# CONFIG_CRYPTO_DEFLATE is not set 1037# CONFIG_CRYPTO_DEFLATE is not set
1042# CONFIG_CRYPTO_MICHAEL_MIC is not set 1038# CONFIG_CRYPTO_MICHAEL_MIC is not set
1043# CONFIG_CRYPTO_CRC32C is not set 1039# CONFIG_CRYPTO_CRC32C is not set
1044# CONFIG_CRYPTO_CAMELLIA is not set 1040# CONFIG_CRYPTO_CAMELLIA is not set
1045# CONFIG_CRYPTO_TEST is not set 1041# CONFIG_CRYPTO_TEST is not set
1042# CONFIG_CRYPTO_AUTHENC is not set
1046CONFIG_CRYPTO_HW=y 1043CONFIG_CRYPTO_HW=y
1044# CONFIG_PPC_CLOCK is not set
1045CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc832x_rdb_defconfig b/arch/powerpc/configs/mpc832x_rdb_defconfig
index 7a5b13f4140f..761718a63b7c 100644
--- a/arch/powerpc/configs/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/mpc832x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:27:19 2007 4# Thu Dec 6 16:48:35 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -157,6 +163,10 @@ CONFIG_QUICC_ENGINE=y
157# Kernel options 163# Kernel options
158# 164#
159# CONFIG_HIGHMEM is not set 165# CONFIG_HIGHMEM is not set
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
160# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
161CONFIG_HZ_250=y 171CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -178,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
178CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
179CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
180# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
181CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
182# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
183CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -186,6 +197,8 @@ CONFIG_VIRT_TO_BUS=y
186CONFIG_PROC_DEVICETREE=y 197CONFIG_PROC_DEVICETREE=y
187# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
188# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
189CONFIG_SECCOMP=y 202CONFIG_SECCOMP=y
190CONFIG_WANT_DEVICE_TREE=y 203CONFIG_WANT_DEVICE_TREE=y
191CONFIG_DEVICE_TREE="" 204CONFIG_DEVICE_TREE=""
@@ -204,10 +217,7 @@ CONFIG_PCI_SYSCALL=y
204# CONFIG_PCIEPORTBUS is not set 217# CONFIG_PCIEPORTBUS is not set
205CONFIG_ARCH_SUPPORTS_MSI=y 218CONFIG_ARCH_SUPPORTS_MSI=y
206# CONFIG_PCI_MSI is not set 219# CONFIG_PCI_MSI is not set
207 220CONFIG_PCI_LEGACY=y
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 221# CONFIG_PCCARD is not set
212# CONFIG_HOTPLUG_PCI is not set 222# CONFIG_HOTPLUG_PCI is not set
213 223
@@ -222,7 +232,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_HIGHMEM_START=0xfe000000 232CONFIG_HIGHMEM_START=0xfe000000
223CONFIG_LOWMEM_SIZE=0x30000000 233CONFIG_LOWMEM_SIZE=0x30000000
224CONFIG_KERNEL_START=0xc0000000 234CONFIG_KERNEL_START=0xc0000000
225CONFIG_TASK_SIZE=0x80000000 235CONFIG_TASK_SIZE=0xc0000000
226CONFIG_BOOT_LOAD=0x00800000 236CONFIG_BOOT_LOAD=0x00800000
227 237
228# 238#
@@ -262,6 +272,7 @@ CONFIG_SYN_COOKIES=y
262CONFIG_INET_XFRM_MODE_TRANSPORT=y 272CONFIG_INET_XFRM_MODE_TRANSPORT=y
263CONFIG_INET_XFRM_MODE_TUNNEL=y 273CONFIG_INET_XFRM_MODE_TUNNEL=y
264CONFIG_INET_XFRM_MODE_BEET=y 274CONFIG_INET_XFRM_MODE_BEET=y
275# CONFIG_INET_LRO is not set
265CONFIG_INET_DIAG=y 276CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 277CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 278# CONFIG_TCP_CONG_ADVANCED is not set
@@ -287,10 +298,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
287# CONFIG_LAPB is not set 298# CONFIG_LAPB is not set
288# CONFIG_ECONET is not set 299# CONFIG_ECONET is not set
289# CONFIG_WAN_ROUTER is not set 300# CONFIG_WAN_ROUTER is not set
290
291#
292# QoS and/or fair queueing
293#
294# CONFIG_NET_SCHED is not set 301# CONFIG_NET_SCHED is not set
295 302
296# 303#
@@ -319,6 +326,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# 326#
320# Generic Driver Options 327# Generic Driver Options
321# 328#
329CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
322CONFIG_STANDALONE=y 330CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 331CONFIG_PREVENT_FIRMWARE_BUILD=y
324# CONFIG_FW_LOADER is not set 332# CONFIG_FW_LOADER is not set
@@ -388,6 +396,7 @@ CONFIG_SCSI_WAIT_SCAN=m
388# CONFIG_SCSI_FC_ATTRS is not set 396# CONFIG_SCSI_FC_ATTRS is not set
389# CONFIG_SCSI_ISCSI_ATTRS is not set 397# CONFIG_SCSI_ISCSI_ATTRS is not set
390# CONFIG_SCSI_SAS_LIBSAS is not set 398# CONFIG_SCSI_SAS_LIBSAS is not set
399# CONFIG_SCSI_SRP_ATTRS is not set
391CONFIG_SCSI_LOWLEVEL=y 400CONFIG_SCSI_LOWLEVEL=y
392# CONFIG_ISCSI_TCP is not set 401# CONFIG_ISCSI_TCP is not set
393# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 402# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -399,6 +408,7 @@ CONFIG_SCSI_LOWLEVEL=y
399# CONFIG_SCSI_AIC79XX is not set 408# CONFIG_SCSI_AIC79XX is not set
400# CONFIG_SCSI_AIC94XX is not set 409# CONFIG_SCSI_AIC94XX is not set
401# CONFIG_SCSI_DPT_I2O is not set 410# CONFIG_SCSI_DPT_I2O is not set
411# CONFIG_SCSI_ADVANSYS is not set
402# CONFIG_SCSI_ARCMSR is not set 412# CONFIG_SCSI_ARCMSR is not set
403# CONFIG_MEGARAID_NEWGEN is not set 413# CONFIG_MEGARAID_NEWGEN is not set
404# CONFIG_MEGARAID_LEGACY is not set 414# CONFIG_MEGARAID_LEGACY is not set
@@ -425,14 +435,7 @@ CONFIG_SCSI_LOWLEVEL=y
425# CONFIG_SCSI_SRP is not set 435# CONFIG_SCSI_SRP is not set
426# CONFIG_ATA is not set 436# CONFIG_ATA is not set
427# CONFIG_MD is not set 437# CONFIG_MD is not set
428
429#
430# Fusion MPT device support
431#
432# CONFIG_FUSION is not set 438# CONFIG_FUSION is not set
433# CONFIG_FUSION_SPI is not set
434# CONFIG_FUSION_FC is not set
435# CONFIG_FUSION_SAS is not set
436 439
437# 440#
438# IEEE 1394 (FireWire) support 441# IEEE 1394 (FireWire) support
@@ -448,6 +451,8 @@ CONFIG_NETDEVICES=y
448# CONFIG_MACVLAN is not set 451# CONFIG_MACVLAN is not set
449# CONFIG_EQUALIZER is not set 452# CONFIG_EQUALIZER is not set
450# CONFIG_TUN is not set 453# CONFIG_TUN is not set
454# CONFIG_VETH is not set
455# CONFIG_IP1000 is not set
451# CONFIG_ARCNET is not set 456# CONFIG_ARCNET is not set
452CONFIG_PHYLIB=y 457CONFIG_PHYLIB=y
453 458
@@ -464,6 +469,7 @@ CONFIG_PHYLIB=y
464# CONFIG_BROADCOM_PHY is not set 469# CONFIG_BROADCOM_PHY is not set
465CONFIG_ICPLUS_PHY=y 470CONFIG_ICPLUS_PHY=y
466# CONFIG_FIXED_PHY is not set 471# CONFIG_FIXED_PHY is not set
472# CONFIG_MDIO_BITBANG is not set
467CONFIG_NET_ETHERNET=y 473CONFIG_NET_ETHERNET=y
468CONFIG_MII=y 474CONFIG_MII=y
469# CONFIG_HAPPYMEAL is not set 475# CONFIG_HAPPYMEAL is not set
@@ -472,13 +478,19 @@ CONFIG_MII=y
472# CONFIG_NET_VENDOR_3COM is not set 478# CONFIG_NET_VENDOR_3COM is not set
473# CONFIG_NET_TULIP is not set 479# CONFIG_NET_TULIP is not set
474# CONFIG_HP100 is not set 480# CONFIG_HP100 is not set
481# CONFIG_IBM_NEW_EMAC_ZMII is not set
482# CONFIG_IBM_NEW_EMAC_RGMII is not set
483# CONFIG_IBM_NEW_EMAC_TAH is not set
484# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
475# CONFIG_NET_PCI is not set 485# CONFIG_NET_PCI is not set
486# CONFIG_B44 is not set
476CONFIG_NETDEV_1000=y 487CONFIG_NETDEV_1000=y
477# CONFIG_ACENIC is not set 488# CONFIG_ACENIC is not set
478# CONFIG_DL2K is not set 489# CONFIG_DL2K is not set
479CONFIG_E1000=y 490CONFIG_E1000=y
480# CONFIG_E1000_NAPI is not set 491# CONFIG_E1000_NAPI is not set
481# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 492# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
493# CONFIG_E1000E is not set
482# CONFIG_NS83820 is not set 494# CONFIG_NS83820 is not set
483# CONFIG_HAMACHI is not set 495# CONFIG_HAMACHI is not set
484# CONFIG_YELLOWFIN is not set 496# CONFIG_YELLOWFIN is not set
@@ -486,6 +498,7 @@ CONFIG_E1000=y
486# CONFIG_SIS190 is not set 498# CONFIG_SIS190 is not set
487# CONFIG_SKGE is not set 499# CONFIG_SKGE is not set
488# CONFIG_SKY2 is not set 500# CONFIG_SKY2 is not set
501# CONFIG_SK98LIN is not set
489# CONFIG_VIA_VELOCITY is not set 502# CONFIG_VIA_VELOCITY is not set
490# CONFIG_TIGON3 is not set 503# CONFIG_TIGON3 is not set
491# CONFIG_BNX2 is not set 504# CONFIG_BNX2 is not set
@@ -500,11 +513,14 @@ CONFIG_UGETH_NAPI=y
500CONFIG_NETDEV_10000=y 513CONFIG_NETDEV_10000=y
501# CONFIG_CHELSIO_T1 is not set 514# CONFIG_CHELSIO_T1 is not set
502# CONFIG_CHELSIO_T3 is not set 515# CONFIG_CHELSIO_T3 is not set
516# CONFIG_IXGBE is not set
503# CONFIG_IXGB is not set 517# CONFIG_IXGB is not set
504# CONFIG_S2IO is not set 518# CONFIG_S2IO is not set
505# CONFIG_MYRI10GE is not set 519# CONFIG_MYRI10GE is not set
506# CONFIG_NETXEN_NIC is not set 520# CONFIG_NETXEN_NIC is not set
521# CONFIG_NIU is not set
507# CONFIG_MLX4_CORE is not set 522# CONFIG_MLX4_CORE is not set
523# CONFIG_TEHUTI is not set
508# CONFIG_TR is not set 524# CONFIG_TR is not set
509 525
510# 526#
@@ -520,7 +536,6 @@ CONFIG_NETDEV_10000=y
520# CONFIG_USB_KAWETH is not set 536# CONFIG_USB_KAWETH is not set
521# CONFIG_USB_PEGASUS is not set 537# CONFIG_USB_PEGASUS is not set
522# CONFIG_USB_RTL8150 is not set 538# CONFIG_USB_RTL8150 is not set
523# CONFIG_USB_USBNET_MII is not set
524# CONFIG_USB_USBNET is not set 539# CONFIG_USB_USBNET is not set
525# CONFIG_WAN is not set 540# CONFIG_WAN is not set
526# CONFIG_FDDI is not set 541# CONFIG_FDDI is not set
@@ -547,7 +562,6 @@ CONFIG_INPUT=y
547# 562#
548# CONFIG_INPUT_MOUSEDEV is not set 563# CONFIG_INPUT_MOUSEDEV is not set
549# CONFIG_INPUT_JOYDEV is not set 564# CONFIG_INPUT_JOYDEV is not set
550# CONFIG_INPUT_TSDEV is not set
551# CONFIG_INPUT_EVDEV is not set 565# CONFIG_INPUT_EVDEV is not set
552# CONFIG_INPUT_EVBUG is not set 566# CONFIG_INPUT_EVBUG is not set
553 567
@@ -595,33 +609,12 @@ CONFIG_UNIX98_PTYS=y
595CONFIG_LEGACY_PTYS=y 609CONFIG_LEGACY_PTYS=y
596CONFIG_LEGACY_PTY_COUNT=256 610CONFIG_LEGACY_PTY_COUNT=256
597# CONFIG_IPMI_HANDLER is not set 611# CONFIG_IPMI_HANDLER is not set
598CONFIG_WATCHDOG=y
599# CONFIG_WATCHDOG_NOWAYOUT is not set
600
601#
602# Watchdog Device Drivers
603#
604# CONFIG_SOFT_WATCHDOG is not set
605CONFIG_83xx_WDT=y
606
607#
608# PCI-based Watchdog Cards
609#
610# CONFIG_PCIPCWATCHDOG is not set
611# CONFIG_WDTPCI is not set
612
613#
614# USB-based Watchdog Cards
615#
616# CONFIG_USBPCWATCHDOG is not set
617CONFIG_HW_RANDOM=y 612CONFIG_HW_RANDOM=y
618# CONFIG_NVRAM is not set 613# CONFIG_NVRAM is not set
619CONFIG_GEN_RTC=y 614CONFIG_GEN_RTC=y
620# CONFIG_GEN_RTC_X is not set 615# CONFIG_GEN_RTC_X is not set
621# CONFIG_R3964 is not set 616# CONFIG_R3964 is not set
622# CONFIG_APPLICOM is not set 617# CONFIG_APPLICOM is not set
623# CONFIG_AGP is not set
624# CONFIG_DRM is not set
625# CONFIG_RAW_DRIVER is not set 618# CONFIG_RAW_DRIVER is not set
626# CONFIG_TCG_TPM is not set 619# CONFIG_TCG_TPM is not set
627CONFIG_DEVPORT=y 620CONFIG_DEVPORT=y
@@ -704,8 +697,6 @@ CONFIG_SPI_MPC83xx=y
704# CONFIG_POWER_SUPPLY is not set 697# CONFIG_POWER_SUPPLY is not set
705CONFIG_HWMON=y 698CONFIG_HWMON=y
706# CONFIG_HWMON_VID is not set 699# CONFIG_HWMON_VID is not set
707# CONFIG_SENSORS_ABITUGURU is not set
708# CONFIG_SENSORS_ABITUGURU3 is not set
709# CONFIG_SENSORS_AD7418 is not set 700# CONFIG_SENSORS_AD7418 is not set
710# CONFIG_SENSORS_ADM1021 is not set 701# CONFIG_SENSORS_ADM1021 is not set
711# CONFIG_SENSORS_ADM1025 is not set 702# CONFIG_SENSORS_ADM1025 is not set
@@ -713,12 +704,13 @@ CONFIG_HWMON=y
713# CONFIG_SENSORS_ADM1029 is not set 704# CONFIG_SENSORS_ADM1029 is not set
714# CONFIG_SENSORS_ADM1031 is not set 705# CONFIG_SENSORS_ADM1031 is not set
715# CONFIG_SENSORS_ADM9240 is not set 706# CONFIG_SENSORS_ADM9240 is not set
716# CONFIG_SENSORS_ASB100 is not set 707# CONFIG_SENSORS_ADT7470 is not set
717# CONFIG_SENSORS_ATXP1 is not set 708# CONFIG_SENSORS_ATXP1 is not set
718# CONFIG_SENSORS_DS1621 is not set 709# CONFIG_SENSORS_DS1621 is not set
710# CONFIG_SENSORS_I5K_AMB is not set
719# CONFIG_SENSORS_F71805F is not set 711# CONFIG_SENSORS_F71805F is not set
720# CONFIG_SENSORS_FSCHER is not set 712# CONFIG_SENSORS_F71882FG is not set
721# CONFIG_SENSORS_FSCPOS is not set 713# CONFIG_SENSORS_F75375S is not set
722# CONFIG_SENSORS_GL518SM is not set 714# CONFIG_SENSORS_GL518SM is not set
723# CONFIG_SENSORS_GL520SM is not set 715# CONFIG_SENSORS_GL520SM is not set
724# CONFIG_SENSORS_IT87 is not set 716# CONFIG_SENSORS_IT87 is not set
@@ -755,6 +747,31 @@ CONFIG_HWMON=y
755# CONFIG_SENSORS_W83627HF is not set 747# CONFIG_SENSORS_W83627HF is not set
756# CONFIG_SENSORS_W83627EHF is not set 748# CONFIG_SENSORS_W83627EHF is not set
757# CONFIG_HWMON_DEBUG_CHIP is not set 749# CONFIG_HWMON_DEBUG_CHIP is not set
750CONFIG_WATCHDOG=y
751# CONFIG_WATCHDOG_NOWAYOUT is not set
752
753#
754# Watchdog Device Drivers
755#
756# CONFIG_SOFT_WATCHDOG is not set
757CONFIG_83xx_WDT=y
758
759#
760# PCI-based Watchdog Cards
761#
762# CONFIG_PCIPCWATCHDOG is not set
763# CONFIG_WDTPCI is not set
764
765#
766# USB-based Watchdog Cards
767#
768# CONFIG_USBPCWATCHDOG is not set
769
770#
771# Sonics Silicon Backplane
772#
773CONFIG_SSB_POSSIBLE=y
774# CONFIG_SSB is not set
758 775
759# 776#
760# Multifunction device drivers 777# Multifunction device drivers
@@ -772,16 +789,17 @@ CONFIG_DAB=y
772# 789#
773# Graphics support 790# Graphics support
774# 791#
792# CONFIG_AGP is not set
793# CONFIG_DRM is not set
794# CONFIG_VGASTATE is not set
795CONFIG_VIDEO_OUTPUT_CONTROL=m
796# CONFIG_FB is not set
775# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 797# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
776 798
777# 799#
778# Display device support 800# Display device support
779# 801#
780# CONFIG_DISPLAY_SUPPORT is not set 802# CONFIG_DISPLAY_SUPPORT is not set
781# CONFIG_VGASTATE is not set
782CONFIG_VIDEO_OUTPUT_CONTROL=m
783# CONFIG_FB is not set
784# CONFIG_FB_IBM_GXT4500 is not set
785 803
786# 804#
787# Sound 805# Sound
@@ -790,6 +808,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
790CONFIG_HID_SUPPORT=y 808CONFIG_HID_SUPPORT=y
791CONFIG_HID=y 809CONFIG_HID=y
792# CONFIG_HID_DEBUG is not set 810# CONFIG_HID_DEBUG is not set
811# CONFIG_HIDRAW is not set
793 812
794# 813#
795# USB Input Devices 814# USB Input Devices
@@ -853,6 +872,7 @@ CONFIG_USB_STORAGE=y
853# CONFIG_USB_STORAGE_DEBUG is not set 872# CONFIG_USB_STORAGE_DEBUG is not set
854# CONFIG_USB_STORAGE_DATAFAB is not set 873# CONFIG_USB_STORAGE_DATAFAB is not set
855# CONFIG_USB_STORAGE_FREECOM is not set 874# CONFIG_USB_STORAGE_FREECOM is not set
875# CONFIG_USB_STORAGE_ISD200 is not set
856# CONFIG_USB_STORAGE_DPCM is not set 876# CONFIG_USB_STORAGE_DPCM is not set
857# CONFIG_USB_STORAGE_USBAT is not set 877# CONFIG_USB_STORAGE_USBAT is not set
858# CONFIG_USB_STORAGE_SDDR09 is not set 878# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -934,19 +954,6 @@ CONFIG_MMC_SPI=y
934# CONFIG_RTC_CLASS is not set 954# CONFIG_RTC_CLASS is not set
935 955
936# 956#
937# DMA Engine support
938#
939# CONFIG_DMA_ENGINE is not set
940
941#
942# DMA Clients
943#
944
945#
946# DMA Devices
947#
948
949#
950# Userspace I/O 957# Userspace I/O
951# 958#
952# CONFIG_UIO is not set 959# CONFIG_UIO is not set
@@ -963,7 +970,6 @@ CONFIG_EXT3_FS_XATTR=y
963# CONFIG_EXT3_FS_SECURITY is not set 970# CONFIG_EXT3_FS_SECURITY is not set
964# CONFIG_EXT4DEV_FS is not set 971# CONFIG_EXT4DEV_FS is not set
965CONFIG_JBD=y 972CONFIG_JBD=y
966# CONFIG_JBD_DEBUG is not set
967CONFIG_FS_MBCACHE=y 973CONFIG_FS_MBCACHE=y
968# CONFIG_REISERFS_FS is not set 974# CONFIG_REISERFS_FS is not set
969# CONFIG_JFS_FS is not set 975# CONFIG_JFS_FS is not set
@@ -1007,7 +1013,6 @@ CONFIG_SYSFS=y
1007CONFIG_TMPFS=y 1013CONFIG_TMPFS=y
1008# CONFIG_TMPFS_POSIX_ACL is not set 1014# CONFIG_TMPFS_POSIX_ACL is not set
1009# CONFIG_HUGETLB_PAGE is not set 1015# CONFIG_HUGETLB_PAGE is not set
1010CONFIG_RAMFS=y
1011# CONFIG_CONFIGFS_FS is not set 1016# CONFIG_CONFIGFS_FS is not set
1012 1017
1013# 1018#
@@ -1026,10 +1031,7 @@ CONFIG_RAMFS=y
1026# CONFIG_QNX4FS_FS is not set 1031# CONFIG_QNX4FS_FS is not set
1027# CONFIG_SYSV_FS is not set 1032# CONFIG_SYSV_FS is not set
1028# CONFIG_UFS_FS is not set 1033# CONFIG_UFS_FS is not set
1029 1034CONFIG_NETWORK_FILESYSTEMS=y
1030#
1031# Network File Systems
1032#
1033CONFIG_NFS_FS=y 1035CONFIG_NFS_FS=y
1034CONFIG_NFS_V3=y 1036CONFIG_NFS_V3=y
1035# CONFIG_NFS_V3_ACL is not set 1037# CONFIG_NFS_V3_ACL is not set
@@ -1073,10 +1075,6 @@ CONFIG_LDM_PARTITION=y
1073# CONFIG_KARMA_PARTITION is not set 1075# CONFIG_KARMA_PARTITION is not set
1074# CONFIG_EFI_PARTITION is not set 1076# CONFIG_EFI_PARTITION is not set
1075# CONFIG_SYSV68_PARTITION is not set 1077# CONFIG_SYSV68_PARTITION is not set
1076
1077#
1078# Native Language Support
1079#
1080CONFIG_NLS=y 1078CONFIG_NLS=y
1081CONFIG_NLS_DEFAULT="iso8859-1" 1079CONFIG_NLS_DEFAULT="iso8859-1"
1082CONFIG_NLS_CODEPAGE_437=y 1080CONFIG_NLS_CODEPAGE_437=y
@@ -1117,10 +1115,6 @@ CONFIG_NLS_ISO8859_1=y
1117# CONFIG_NLS_KOI8_R is not set 1115# CONFIG_NLS_KOI8_R is not set
1118# CONFIG_NLS_KOI8_U is not set 1116# CONFIG_NLS_KOI8_U is not set
1119# CONFIG_NLS_UTF8 is not set 1117# CONFIG_NLS_UTF8 is not set
1120
1121#
1122# Distributed Lock Manager
1123#
1124# CONFIG_DLM is not set 1118# CONFIG_DLM is not set
1125# CONFIG_UCC_SLOW is not set 1119# CONFIG_UCC_SLOW is not set
1126CONFIG_UCC_FAST=y 1120CONFIG_UCC_FAST=y
@@ -1140,23 +1134,22 @@ CONFIG_PLIST=y
1140CONFIG_HAS_IOMEM=y 1134CONFIG_HAS_IOMEM=y
1141CONFIG_HAS_IOPORT=y 1135CONFIG_HAS_IOPORT=y
1142CONFIG_HAS_DMA=y 1136CONFIG_HAS_DMA=y
1143 1137# CONFIG_INSTRUMENTATION is not set
1144#
1145# Instrumentation Support
1146#
1147# CONFIG_PROFILING is not set
1148 1138
1149# 1139#
1150# Kernel hacking 1140# Kernel hacking
1151# 1141#
1152# CONFIG_PRINTK_TIME is not set 1142# CONFIG_PRINTK_TIME is not set
1143CONFIG_ENABLE_WARN_DEPRECATED=y
1153CONFIG_ENABLE_MUST_CHECK=y 1144CONFIG_ENABLE_MUST_CHECK=y
1154# CONFIG_MAGIC_SYSRQ is not set 1145# CONFIG_MAGIC_SYSRQ is not set
1155# CONFIG_UNUSED_SYMBOLS is not set 1146# CONFIG_UNUSED_SYMBOLS is not set
1156# CONFIG_DEBUG_FS is not set 1147# CONFIG_DEBUG_FS is not set
1157# CONFIG_HEADERS_CHECK is not set 1148# CONFIG_HEADERS_CHECK is not set
1158# CONFIG_DEBUG_KERNEL is not set 1149# CONFIG_DEBUG_KERNEL is not set
1150# CONFIG_SLUB_DEBUG_ON is not set
1159# CONFIG_DEBUG_BUGVERBOSE is not set 1151# CONFIG_DEBUG_BUGVERBOSE is not set
1152# CONFIG_SAMPLES is not set
1160# CONFIG_PPC_EARLY_DEBUG is not set 1153# CONFIG_PPC_EARLY_DEBUG is not set
1161 1154
1162# 1155#
@@ -1164,6 +1157,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1164# 1157#
1165# CONFIG_KEYS is not set 1158# CONFIG_KEYS is not set
1166# CONFIG_SECURITY is not set 1159# CONFIG_SECURITY is not set
1160# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1167CONFIG_CRYPTO=y 1161CONFIG_CRYPTO=y
1168CONFIG_CRYPTO_ALGAPI=y 1162CONFIG_CRYPTO_ALGAPI=y
1169CONFIG_CRYPTO_BLKCIPHER=y 1163CONFIG_CRYPTO_BLKCIPHER=y
@@ -1183,6 +1177,7 @@ CONFIG_CRYPTO_ECB=m
1183CONFIG_CRYPTO_CBC=y 1177CONFIG_CRYPTO_CBC=y
1184CONFIG_CRYPTO_PCBC=m 1178CONFIG_CRYPTO_PCBC=m
1185# CONFIG_CRYPTO_LRW is not set 1179# CONFIG_CRYPTO_LRW is not set
1180# CONFIG_CRYPTO_XTS is not set
1186# CONFIG_CRYPTO_CRYPTD is not set 1181# CONFIG_CRYPTO_CRYPTD is not set
1187CONFIG_CRYPTO_DES=y 1182CONFIG_CRYPTO_DES=y
1188# CONFIG_CRYPTO_FCRYPT is not set 1183# CONFIG_CRYPTO_FCRYPT is not set
@@ -1196,9 +1191,13 @@ CONFIG_CRYPTO_DES=y
1196# CONFIG_CRYPTO_ARC4 is not set 1191# CONFIG_CRYPTO_ARC4 is not set
1197# CONFIG_CRYPTO_KHAZAD is not set 1192# CONFIG_CRYPTO_KHAZAD is not set
1198# CONFIG_CRYPTO_ANUBIS is not set 1193# CONFIG_CRYPTO_ANUBIS is not set
1194# CONFIG_CRYPTO_SEED is not set
1199# CONFIG_CRYPTO_DEFLATE is not set 1195# CONFIG_CRYPTO_DEFLATE is not set
1200# CONFIG_CRYPTO_MICHAEL_MIC is not set 1196# CONFIG_CRYPTO_MICHAEL_MIC is not set
1201# CONFIG_CRYPTO_CRC32C is not set 1197# CONFIG_CRYPTO_CRC32C is not set
1202# CONFIG_CRYPTO_CAMELLIA is not set 1198# CONFIG_CRYPTO_CAMELLIA is not set
1203# CONFIG_CRYPTO_TEST is not set 1199# CONFIG_CRYPTO_TEST is not set
1200# CONFIG_CRYPTO_AUTHENC is not set
1204CONFIG_CRYPTO_HW=y 1201CONFIG_CRYPTO_HW=y
1202# CONFIG_PPC_CLOCK is not set
1203CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc834x_itx_defconfig b/arch/powerpc/configs/mpc834x_itx_defconfig
index ba512d13f3a3..6feb86e2b786 100644
--- a/arch/powerpc/configs/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/mpc834x_itx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:41 2007 4# Thu Dec 6 16:48:37 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -156,6 +162,10 @@ CONFIG_MPC834x=y
156# Kernel options 162# Kernel options
157# 163#
158# CONFIG_HIGHMEM is not set 164# CONFIG_HIGHMEM is not set
165CONFIG_TICK_ONESHOT=y
166CONFIG_NO_HZ=y
167CONFIG_HIGH_RES_TIMERS=y
168CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 169# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 170CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 171# CONFIG_HZ_300 is not set
@@ -176,6 +186,7 @@ CONFIG_FLATMEM_MANUAL=y
176CONFIG_FLATMEM=y 186CONFIG_FLATMEM=y
177CONFIG_FLAT_NODE_MEM_MAP=y 187CONFIG_FLAT_NODE_MEM_MAP=y
178# CONFIG_SPARSEMEM_STATIC is not set 188# CONFIG_SPARSEMEM_STATIC is not set
189# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
179CONFIG_SPLIT_PTLOCK_CPUS=4 190CONFIG_SPLIT_PTLOCK_CPUS=4
180# CONFIG_RESOURCES_64BIT is not set 191# CONFIG_RESOURCES_64BIT is not set
181CONFIG_ZONE_DMA_FLAG=1 192CONFIG_ZONE_DMA_FLAG=1
@@ -184,6 +195,8 @@ CONFIG_VIRT_TO_BUS=y
184CONFIG_PROC_DEVICETREE=y 195CONFIG_PROC_DEVICETREE=y
185# CONFIG_CMDLINE_BOOL is not set 196# CONFIG_CMDLINE_BOOL is not set
186# CONFIG_PM is not set 197# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 200CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y 201CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="" 202CONFIG_DEVICE_TREE=""
@@ -202,10 +215,7 @@ CONFIG_PCI_SYSCALL=y
202# CONFIG_PCIEPORTBUS is not set 215# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y 216CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set 217# CONFIG_PCI_MSI is not set
205 218CONFIG_PCI_LEGACY=y
206#
207# PCCARD (PCMCIA/CardBus) support
208#
209# CONFIG_PCCARD is not set 219# CONFIG_PCCARD is not set
210# CONFIG_HOTPLUG_PCI is not set 220# CONFIG_HOTPLUG_PCI is not set
211 221
@@ -220,7 +230,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
220CONFIG_HIGHMEM_START=0xfe000000 230CONFIG_HIGHMEM_START=0xfe000000
221CONFIG_LOWMEM_SIZE=0x30000000 231CONFIG_LOWMEM_SIZE=0x30000000
222CONFIG_KERNEL_START=0xc0000000 232CONFIG_KERNEL_START=0xc0000000
223CONFIG_TASK_SIZE=0x80000000 233CONFIG_TASK_SIZE=0xc0000000
224CONFIG_BOOT_LOAD=0x00800000 234CONFIG_BOOT_LOAD=0x00800000
225 235
226# 236#
@@ -260,6 +270,7 @@ CONFIG_SYN_COOKIES=y
260CONFIG_INET_XFRM_MODE_TRANSPORT=y 270CONFIG_INET_XFRM_MODE_TRANSPORT=y
261CONFIG_INET_XFRM_MODE_TUNNEL=y 271CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_XFRM_MODE_BEET=y 272CONFIG_INET_XFRM_MODE_BEET=y
273# CONFIG_INET_LRO is not set
263CONFIG_INET_DIAG=y 274CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 275CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 276# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,10 +296,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
285# CONFIG_LAPB is not set 296# CONFIG_LAPB is not set
286# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
292# CONFIG_NET_SCHED is not set 299# CONFIG_NET_SCHED is not set
293 300
294# 301#
@@ -317,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# 324#
318# Generic Driver Options 325# Generic Driver Options
319# 326#
327CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
320CONFIG_STANDALONE=y 328CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y 329CONFIG_PREVENT_FIRMWARE_BUILD=y
322# CONFIG_FW_LOADER is not set 330# CONFIG_FW_LOADER is not set
@@ -339,6 +347,7 @@ CONFIG_MTD_CHAR=y
339# CONFIG_INFTL is not set 347# CONFIG_INFTL is not set
340# CONFIG_RFD_FTL is not set 348# CONFIG_RFD_FTL is not set
341# CONFIG_SSFDC is not set 349# CONFIG_SSFDC is not set
350# CONFIG_MTD_OOPS is not set
342 351
343# 352#
344# RAM/ROM/Flash chip drivers 353# RAM/ROM/Flash chip drivers
@@ -374,6 +383,7 @@ CONFIG_MTD_PHYSMAP_START=0xfe000000
374CONFIG_MTD_PHYSMAP_LEN=0x1000000 383CONFIG_MTD_PHYSMAP_LEN=0x1000000
375CONFIG_MTD_PHYSMAP_BANKWIDTH=2 384CONFIG_MTD_PHYSMAP_BANKWIDTH=2
376# CONFIG_MTD_PHYSMAP_OF is not set 385# CONFIG_MTD_PHYSMAP_OF is not set
386# CONFIG_MTD_INTEL_VR_NOR is not set
377# CONFIG_MTD_PLATRAM is not set 387# CONFIG_MTD_PLATRAM is not set
378 388
379# 389#
@@ -467,6 +477,7 @@ CONFIG_SCSI_SPI_ATTRS=y
467# CONFIG_SCSI_FC_ATTRS is not set 477# CONFIG_SCSI_FC_ATTRS is not set
468# CONFIG_SCSI_ISCSI_ATTRS is not set 478# CONFIG_SCSI_ISCSI_ATTRS is not set
469# CONFIG_SCSI_SAS_LIBSAS is not set 479# CONFIG_SCSI_SAS_LIBSAS is not set
480# CONFIG_SCSI_SRP_ATTRS is not set
470CONFIG_SCSI_LOWLEVEL=y 481CONFIG_SCSI_LOWLEVEL=y
471# CONFIG_ISCSI_TCP is not set 482# CONFIG_ISCSI_TCP is not set
472# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 483# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -478,6 +489,7 @@ CONFIG_SCSI_LOWLEVEL=y
478# CONFIG_SCSI_AIC79XX is not set 489# CONFIG_SCSI_AIC79XX is not set
479# CONFIG_SCSI_AIC94XX is not set 490# CONFIG_SCSI_AIC94XX is not set
480# CONFIG_SCSI_DPT_I2O is not set 491# CONFIG_SCSI_DPT_I2O is not set
492# CONFIG_SCSI_ADVANSYS is not set
481# CONFIG_SCSI_ARCMSR is not set 493# CONFIG_SCSI_ARCMSR is not set
482# CONFIG_MEGARAID_NEWGEN is not set 494# CONFIG_MEGARAID_NEWGEN is not set
483# CONFIG_MEGARAID_LEGACY is not set 495# CONFIG_MEGARAID_LEGACY is not set
@@ -545,6 +557,7 @@ CONFIG_SATA_SIL=y
545# CONFIG_PATA_OLDPIIX is not set 557# CONFIG_PATA_OLDPIIX is not set
546# CONFIG_PATA_NETCELL is not set 558# CONFIG_PATA_NETCELL is not set
547# CONFIG_PATA_NS87410 is not set 559# CONFIG_PATA_NS87410 is not set
560# CONFIG_PATA_NS87415 is not set
548# CONFIG_PATA_OPTI is not set 561# CONFIG_PATA_OPTI is not set
549# CONFIG_PATA_OPTIDMA is not set 562# CONFIG_PATA_OPTIDMA is not set
550# CONFIG_PATA_PDC_OLD is not set 563# CONFIG_PATA_PDC_OLD is not set
@@ -568,14 +581,7 @@ CONFIG_MD_RAID1=y
568# CONFIG_MD_MULTIPATH is not set 581# CONFIG_MD_MULTIPATH is not set
569# CONFIG_MD_FAULTY is not set 582# CONFIG_MD_FAULTY is not set
570# CONFIG_BLK_DEV_DM is not set 583# CONFIG_BLK_DEV_DM is not set
571
572#
573# Fusion MPT device support
574#
575# CONFIG_FUSION is not set 584# CONFIG_FUSION is not set
576# CONFIG_FUSION_SPI is not set
577# CONFIG_FUSION_FC is not set
578# CONFIG_FUSION_SAS is not set
579 585
580# 586#
581# IEEE 1394 (FireWire) support 587# IEEE 1394 (FireWire) support
@@ -591,6 +597,8 @@ CONFIG_NETDEVICES=y
591# CONFIG_MACVLAN is not set 597# CONFIG_MACVLAN is not set
592# CONFIG_EQUALIZER is not set 598# CONFIG_EQUALIZER is not set
593# CONFIG_TUN is not set 599# CONFIG_TUN is not set
600# CONFIG_VETH is not set
601# CONFIG_IP1000 is not set
594# CONFIG_ARCNET is not set 602# CONFIG_ARCNET is not set
595CONFIG_PHYLIB=y 603CONFIG_PHYLIB=y
596 604
@@ -607,11 +615,13 @@ CONFIG_CICADA_PHY=y
607# CONFIG_BROADCOM_PHY is not set 615# CONFIG_BROADCOM_PHY is not set
608# CONFIG_ICPLUS_PHY is not set 616# CONFIG_ICPLUS_PHY is not set
609# CONFIG_FIXED_PHY is not set 617# CONFIG_FIXED_PHY is not set
618# CONFIG_MDIO_BITBANG is not set
610# CONFIG_NET_ETHERNET is not set 619# CONFIG_NET_ETHERNET is not set
611CONFIG_NETDEV_1000=y 620CONFIG_NETDEV_1000=y
612# CONFIG_ACENIC is not set 621# CONFIG_ACENIC is not set
613# CONFIG_DL2K is not set 622# CONFIG_DL2K is not set
614# CONFIG_E1000 is not set 623# CONFIG_E1000 is not set
624# CONFIG_E1000E is not set
615# CONFIG_NS83820 is not set 625# CONFIG_NS83820 is not set
616# CONFIG_HAMACHI is not set 626# CONFIG_HAMACHI is not set
617# CONFIG_YELLOWFIN is not set 627# CONFIG_YELLOWFIN is not set
@@ -619,6 +629,7 @@ CONFIG_NETDEV_1000=y
619# CONFIG_SIS190 is not set 629# CONFIG_SIS190 is not set
620# CONFIG_SKGE is not set 630# CONFIG_SKGE is not set
621# CONFIG_SKY2 is not set 631# CONFIG_SKY2 is not set
632# CONFIG_SK98LIN is not set
622# CONFIG_VIA_VELOCITY is not set 633# CONFIG_VIA_VELOCITY is not set
623# CONFIG_TIGON3 is not set 634# CONFIG_TIGON3 is not set
624# CONFIG_BNX2 is not set 635# CONFIG_BNX2 is not set
@@ -629,11 +640,14 @@ CONFIG_GFAR_NAPI=y
629CONFIG_NETDEV_10000=y 640CONFIG_NETDEV_10000=y
630# CONFIG_CHELSIO_T1 is not set 641# CONFIG_CHELSIO_T1 is not set
631# CONFIG_CHELSIO_T3 is not set 642# CONFIG_CHELSIO_T3 is not set
643# CONFIG_IXGBE is not set
632# CONFIG_IXGB is not set 644# CONFIG_IXGB is not set
633# CONFIG_S2IO is not set 645# CONFIG_S2IO is not set
634# CONFIG_MYRI10GE is not set 646# CONFIG_MYRI10GE is not set
635# CONFIG_NETXEN_NIC is not set 647# CONFIG_NETXEN_NIC is not set
648# CONFIG_NIU is not set
636# CONFIG_MLX4_CORE is not set 649# CONFIG_MLX4_CORE is not set
650# CONFIG_TEHUTI is not set
637# CONFIG_TR is not set 651# CONFIG_TR is not set
638 652
639# 653#
@@ -649,7 +663,6 @@ CONFIG_NETDEV_10000=y
649# CONFIG_USB_KAWETH is not set 663# CONFIG_USB_KAWETH is not set
650# CONFIG_USB_PEGASUS is not set 664# CONFIG_USB_PEGASUS is not set
651# CONFIG_USB_RTL8150 is not set 665# CONFIG_USB_RTL8150 is not set
652# CONFIG_USB_USBNET_MII is not set
653# CONFIG_USB_USBNET is not set 666# CONFIG_USB_USBNET is not set
654# CONFIG_WAN is not set 667# CONFIG_WAN is not set
655# CONFIG_FDDI is not set 668# CONFIG_FDDI is not set
@@ -703,32 +716,11 @@ CONFIG_UNIX98_PTYS=y
703CONFIG_LEGACY_PTYS=y 716CONFIG_LEGACY_PTYS=y
704CONFIG_LEGACY_PTY_COUNT=256 717CONFIG_LEGACY_PTY_COUNT=256
705# CONFIG_IPMI_HANDLER is not set 718# CONFIG_IPMI_HANDLER is not set
706CONFIG_WATCHDOG=y
707# CONFIG_WATCHDOG_NOWAYOUT is not set
708
709#
710# Watchdog Device Drivers
711#
712# CONFIG_SOFT_WATCHDOG is not set
713CONFIG_83xx_WDT=y
714
715#
716# PCI-based Watchdog Cards
717#
718# CONFIG_PCIPCWATCHDOG is not set
719# CONFIG_WDTPCI is not set
720
721#
722# USB-based Watchdog Cards
723#
724# CONFIG_USBPCWATCHDOG is not set
725CONFIG_HW_RANDOM=y 719CONFIG_HW_RANDOM=y
726# CONFIG_NVRAM is not set 720# CONFIG_NVRAM is not set
727# CONFIG_GEN_RTC is not set 721# CONFIG_GEN_RTC is not set
728# CONFIG_R3964 is not set 722# CONFIG_R3964 is not set
729# CONFIG_APPLICOM is not set 723# CONFIG_APPLICOM is not set
730# CONFIG_AGP is not set
731# CONFIG_DRM is not set
732# CONFIG_RAW_DRIVER is not set 724# CONFIG_RAW_DRIVER is not set
733# CONFIG_TCG_TPM is not set 725# CONFIG_TCG_TPM is not set
734CONFIG_DEVPORT=y 726CONFIG_DEVPORT=y
@@ -810,6 +802,31 @@ CONFIG_SPI_MPC83xx=y
810# CONFIG_W1 is not set 802# CONFIG_W1 is not set
811# CONFIG_POWER_SUPPLY is not set 803# CONFIG_POWER_SUPPLY is not set
812# CONFIG_HWMON is not set 804# CONFIG_HWMON is not set
805CONFIG_WATCHDOG=y
806# CONFIG_WATCHDOG_NOWAYOUT is not set
807
808#
809# Watchdog Device Drivers
810#
811# CONFIG_SOFT_WATCHDOG is not set
812CONFIG_83xx_WDT=y
813
814#
815# PCI-based Watchdog Cards
816#
817# CONFIG_PCIPCWATCHDOG is not set
818# CONFIG_WDTPCI is not set
819
820#
821# USB-based Watchdog Cards
822#
823# CONFIG_USBPCWATCHDOG is not set
824
825#
826# Sonics Silicon Backplane
827#
828CONFIG_SSB_POSSIBLE=y
829# CONFIG_SSB is not set
813 830
814# 831#
815# Multifunction device drivers 832# Multifunction device drivers
@@ -827,16 +844,17 @@ CONFIG_DAB=y
827# 844#
828# Graphics support 845# Graphics support
829# 846#
847# CONFIG_AGP is not set
848# CONFIG_DRM is not set
849# CONFIG_VGASTATE is not set
850CONFIG_VIDEO_OUTPUT_CONTROL=m
851# CONFIG_FB is not set
830# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 852# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
831 853
832# 854#
833# Display device support 855# Display device support
834# 856#
835# CONFIG_DISPLAY_SUPPORT is not set 857# CONFIG_DISPLAY_SUPPORT is not set
836# CONFIG_VGASTATE is not set
837CONFIG_VIDEO_OUTPUT_CONTROL=m
838# CONFIG_FB is not set
839# CONFIG_FB_IBM_GXT4500 is not set
840 858
841# 859#
842# Sound 860# Sound
@@ -888,6 +906,7 @@ CONFIG_USB_STORAGE=y
888# CONFIG_USB_STORAGE_DEBUG is not set 906# CONFIG_USB_STORAGE_DEBUG is not set
889# CONFIG_USB_STORAGE_DATAFAB is not set 907# CONFIG_USB_STORAGE_DATAFAB is not set
890# CONFIG_USB_STORAGE_FREECOM is not set 908# CONFIG_USB_STORAGE_FREECOM is not set
909# CONFIG_USB_STORAGE_ISD200 is not set
891# CONFIG_USB_STORAGE_DPCM is not set 910# CONFIG_USB_STORAGE_DPCM is not set
892# CONFIG_USB_STORAGE_USBAT is not set 911# CONFIG_USB_STORAGE_USBAT is not set
893# CONFIG_USB_STORAGE_SDDR09 is not set 912# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -968,6 +987,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
968# I2C RTC drivers 987# I2C RTC drivers
969# 988#
970CONFIG_RTC_DRV_DS1307=y 989CONFIG_RTC_DRV_DS1307=y
990# CONFIG_RTC_DRV_DS1374 is not set
971# CONFIG_RTC_DRV_DS1672 is not set 991# CONFIG_RTC_DRV_DS1672 is not set
972# CONFIG_RTC_DRV_MAX6900 is not set 992# CONFIG_RTC_DRV_MAX6900 is not set
973# CONFIG_RTC_DRV_RS5C372 is not set 993# CONFIG_RTC_DRV_RS5C372 is not set
@@ -999,21 +1019,6 @@ CONFIG_RTC_DRV_DS1307=y
999# 1019#
1000 1020
1001# 1021#
1002# DMA Engine support
1003#
1004CONFIG_DMA_ENGINE=y
1005
1006#
1007# DMA Clients
1008#
1009CONFIG_NET_DMA=y
1010
1011#
1012# DMA Devices
1013#
1014CONFIG_INTEL_IOATDMA=y
1015
1016#
1017# Userspace I/O 1022# Userspace I/O
1018# 1023#
1019# CONFIG_UIO is not set 1024# CONFIG_UIO is not set
@@ -1030,7 +1035,6 @@ CONFIG_EXT3_FS_XATTR=y
1030# CONFIG_EXT3_FS_SECURITY is not set 1035# CONFIG_EXT3_FS_SECURITY is not set
1031# CONFIG_EXT4DEV_FS is not set 1036# CONFIG_EXT4DEV_FS is not set
1032CONFIG_JBD=y 1037CONFIG_JBD=y
1033# CONFIG_JBD_DEBUG is not set
1034CONFIG_FS_MBCACHE=y 1038CONFIG_FS_MBCACHE=y
1035# CONFIG_REISERFS_FS is not set 1039# CONFIG_REISERFS_FS is not set
1036# CONFIG_JFS_FS is not set 1040# CONFIG_JFS_FS is not set
@@ -1074,7 +1078,6 @@ CONFIG_SYSFS=y
1074CONFIG_TMPFS=y 1078CONFIG_TMPFS=y
1075# CONFIG_TMPFS_POSIX_ACL is not set 1079# CONFIG_TMPFS_POSIX_ACL is not set
1076# CONFIG_HUGETLB_PAGE is not set 1080# CONFIG_HUGETLB_PAGE is not set
1077CONFIG_RAMFS=y
1078# CONFIG_CONFIGFS_FS is not set 1081# CONFIG_CONFIGFS_FS is not set
1079 1082
1080# 1083#
@@ -1094,10 +1097,7 @@ CONFIG_RAMFS=y
1094# CONFIG_QNX4FS_FS is not set 1097# CONFIG_QNX4FS_FS is not set
1095# CONFIG_SYSV_FS is not set 1098# CONFIG_SYSV_FS is not set
1096# CONFIG_UFS_FS is not set 1099# CONFIG_UFS_FS is not set
1097 1100CONFIG_NETWORK_FILESYSTEMS=y
1098#
1099# Network File Systems
1100#
1101CONFIG_NFS_FS=y 1101CONFIG_NFS_FS=y
1102CONFIG_NFS_V3=y 1102CONFIG_NFS_V3=y
1103# CONFIG_NFS_V3_ACL is not set 1103# CONFIG_NFS_V3_ACL is not set
@@ -1140,10 +1140,6 @@ CONFIG_MSDOS_PARTITION=y
1140# CONFIG_KARMA_PARTITION is not set 1140# CONFIG_KARMA_PARTITION is not set
1141# CONFIG_EFI_PARTITION is not set 1141# CONFIG_EFI_PARTITION is not set
1142# CONFIG_SYSV68_PARTITION is not set 1142# CONFIG_SYSV68_PARTITION is not set
1143
1144#
1145# Native Language Support
1146#
1147CONFIG_NLS=y 1143CONFIG_NLS=y
1148CONFIG_NLS_DEFAULT="iso8859-1" 1144CONFIG_NLS_DEFAULT="iso8859-1"
1149# CONFIG_NLS_CODEPAGE_437 is not set 1145# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1184,10 +1180,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1184# CONFIG_NLS_KOI8_R is not set 1180# CONFIG_NLS_KOI8_R is not set
1185# CONFIG_NLS_KOI8_U is not set 1181# CONFIG_NLS_KOI8_U is not set
1186# CONFIG_NLS_UTF8 is not set 1182# CONFIG_NLS_UTF8 is not set
1187
1188#
1189# Distributed Lock Manager
1190#
1191# CONFIG_DLM is not set 1183# CONFIG_DLM is not set
1192# CONFIG_UCC_SLOW is not set 1184# CONFIG_UCC_SLOW is not set
1193 1185
@@ -1205,23 +1197,22 @@ CONFIG_PLIST=y
1205CONFIG_HAS_IOMEM=y 1197CONFIG_HAS_IOMEM=y
1206CONFIG_HAS_IOPORT=y 1198CONFIG_HAS_IOPORT=y
1207CONFIG_HAS_DMA=y 1199CONFIG_HAS_DMA=y
1208 1200# CONFIG_INSTRUMENTATION is not set
1209#
1210# Instrumentation Support
1211#
1212# CONFIG_PROFILING is not set
1213 1201
1214# 1202#
1215# Kernel hacking 1203# Kernel hacking
1216# 1204#
1217# CONFIG_PRINTK_TIME is not set 1205# CONFIG_PRINTK_TIME is not set
1206CONFIG_ENABLE_WARN_DEPRECATED=y
1218CONFIG_ENABLE_MUST_CHECK=y 1207CONFIG_ENABLE_MUST_CHECK=y
1219# CONFIG_MAGIC_SYSRQ is not set 1208# CONFIG_MAGIC_SYSRQ is not set
1220# CONFIG_UNUSED_SYMBOLS is not set 1209# CONFIG_UNUSED_SYMBOLS is not set
1221# CONFIG_DEBUG_FS is not set 1210# CONFIG_DEBUG_FS is not set
1222# CONFIG_HEADERS_CHECK is not set 1211# CONFIG_HEADERS_CHECK is not set
1223# CONFIG_DEBUG_KERNEL is not set 1212# CONFIG_DEBUG_KERNEL is not set
1213# CONFIG_SLUB_DEBUG_ON is not set
1224# CONFIG_DEBUG_BUGVERBOSE is not set 1214# CONFIG_DEBUG_BUGVERBOSE is not set
1215# CONFIG_SAMPLES is not set
1225# CONFIG_PPC_EARLY_DEBUG is not set 1216# CONFIG_PPC_EARLY_DEBUG is not set
1226 1217
1227# 1218#
@@ -1229,6 +1220,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1229# 1220#
1230# CONFIG_KEYS is not set 1221# CONFIG_KEYS is not set
1231# CONFIG_SECURITY is not set 1222# CONFIG_SECURITY is not set
1223# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1232CONFIG_CRYPTO=y 1224CONFIG_CRYPTO=y
1233CONFIG_CRYPTO_ALGAPI=y 1225CONFIG_CRYPTO_ALGAPI=y
1234CONFIG_CRYPTO_BLKCIPHER=y 1226CONFIG_CRYPTO_BLKCIPHER=y
@@ -1248,6 +1240,7 @@ CONFIG_CRYPTO_MD5=y
1248CONFIG_CRYPTO_CBC=y 1240CONFIG_CRYPTO_CBC=y
1249CONFIG_CRYPTO_PCBC=m 1241CONFIG_CRYPTO_PCBC=m
1250# CONFIG_CRYPTO_LRW is not set 1242# CONFIG_CRYPTO_LRW is not set
1243# CONFIG_CRYPTO_XTS is not set
1251# CONFIG_CRYPTO_CRYPTD is not set 1244# CONFIG_CRYPTO_CRYPTD is not set
1252CONFIG_CRYPTO_DES=y 1245CONFIG_CRYPTO_DES=y
1253# CONFIG_CRYPTO_FCRYPT is not set 1246# CONFIG_CRYPTO_FCRYPT is not set
@@ -1261,9 +1254,12 @@ CONFIG_CRYPTO_DES=y
1261# CONFIG_CRYPTO_ARC4 is not set 1254# CONFIG_CRYPTO_ARC4 is not set
1262# CONFIG_CRYPTO_KHAZAD is not set 1255# CONFIG_CRYPTO_KHAZAD is not set
1263# CONFIG_CRYPTO_ANUBIS is not set 1256# CONFIG_CRYPTO_ANUBIS is not set
1257# CONFIG_CRYPTO_SEED is not set
1264# CONFIG_CRYPTO_DEFLATE is not set 1258# CONFIG_CRYPTO_DEFLATE is not set
1265# CONFIG_CRYPTO_MICHAEL_MIC is not set 1259# CONFIG_CRYPTO_MICHAEL_MIC is not set
1266# CONFIG_CRYPTO_CRC32C is not set 1260# CONFIG_CRYPTO_CRC32C is not set
1267# CONFIG_CRYPTO_CAMELLIA is not set 1261# CONFIG_CRYPTO_CAMELLIA is not set
1268# CONFIG_CRYPTO_TEST is not set 1262# CONFIG_CRYPTO_TEST is not set
1263# CONFIG_CRYPTO_AUTHENC is not set
1269CONFIG_CRYPTO_HW=y 1264CONFIG_CRYPTO_HW=y
1265# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc834x_itxgp_defconfig b/arch/powerpc/configs/mpc834x_itxgp_defconfig
index 9faa948c22ad..67cb09cc3ace 100644
--- a/arch/powerpc/configs/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/mpc834x_itxgp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:41 2007 4# Thu Dec 6 16:48:39 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -156,6 +162,10 @@ CONFIG_MPC834x=y
156# Kernel options 162# Kernel options
157# 163#
158# CONFIG_HIGHMEM is not set 164# CONFIG_HIGHMEM is not set
165CONFIG_TICK_ONESHOT=y
166CONFIG_NO_HZ=y
167CONFIG_HIGH_RES_TIMERS=y
168CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 169# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 170CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 171# CONFIG_HZ_300 is not set
@@ -176,6 +186,7 @@ CONFIG_FLATMEM_MANUAL=y
176CONFIG_FLATMEM=y 186CONFIG_FLATMEM=y
177CONFIG_FLAT_NODE_MEM_MAP=y 187CONFIG_FLAT_NODE_MEM_MAP=y
178# CONFIG_SPARSEMEM_STATIC is not set 188# CONFIG_SPARSEMEM_STATIC is not set
189# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
179CONFIG_SPLIT_PTLOCK_CPUS=4 190CONFIG_SPLIT_PTLOCK_CPUS=4
180# CONFIG_RESOURCES_64BIT is not set 191# CONFIG_RESOURCES_64BIT is not set
181CONFIG_ZONE_DMA_FLAG=1 192CONFIG_ZONE_DMA_FLAG=1
@@ -184,6 +195,8 @@ CONFIG_VIRT_TO_BUS=y
184CONFIG_PROC_DEVICETREE=y 195CONFIG_PROC_DEVICETREE=y
185# CONFIG_CMDLINE_BOOL is not set 196# CONFIG_CMDLINE_BOOL is not set
186# CONFIG_PM is not set 197# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 200CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y 201CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="" 202CONFIG_DEVICE_TREE=""
@@ -202,10 +215,7 @@ CONFIG_PCI_SYSCALL=y
202# CONFIG_PCIEPORTBUS is not set 215# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y 216CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set 217# CONFIG_PCI_MSI is not set
205 218CONFIG_PCI_LEGACY=y
206#
207# PCCARD (PCMCIA/CardBus) support
208#
209# CONFIG_PCCARD is not set 219# CONFIG_PCCARD is not set
210# CONFIG_HOTPLUG_PCI is not set 220# CONFIG_HOTPLUG_PCI is not set
211 221
@@ -220,7 +230,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
220CONFIG_HIGHMEM_START=0xfe000000 230CONFIG_HIGHMEM_START=0xfe000000
221CONFIG_LOWMEM_SIZE=0x30000000 231CONFIG_LOWMEM_SIZE=0x30000000
222CONFIG_KERNEL_START=0xc0000000 232CONFIG_KERNEL_START=0xc0000000
223CONFIG_TASK_SIZE=0x80000000 233CONFIG_TASK_SIZE=0xc0000000
224CONFIG_BOOT_LOAD=0x00800000 234CONFIG_BOOT_LOAD=0x00800000
225 235
226# 236#
@@ -260,6 +270,7 @@ CONFIG_SYN_COOKIES=y
260CONFIG_INET_XFRM_MODE_TRANSPORT=y 270CONFIG_INET_XFRM_MODE_TRANSPORT=y
261CONFIG_INET_XFRM_MODE_TUNNEL=y 271CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_XFRM_MODE_BEET=y 272CONFIG_INET_XFRM_MODE_BEET=y
273# CONFIG_INET_LRO is not set
263CONFIG_INET_DIAG=y 274CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 275CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 276# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,10 +296,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
285# CONFIG_LAPB is not set 296# CONFIG_LAPB is not set
286# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
292# CONFIG_NET_SCHED is not set 299# CONFIG_NET_SCHED is not set
293 300
294# 301#
@@ -317,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# 324#
318# Generic Driver Options 325# Generic Driver Options
319# 326#
327CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
320CONFIG_STANDALONE=y 328CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y 329CONFIG_PREVENT_FIRMWARE_BUILD=y
322# CONFIG_FW_LOADER is not set 330# CONFIG_FW_LOADER is not set
@@ -339,6 +347,7 @@ CONFIG_MTD_CHAR=y
339# CONFIG_INFTL is not set 347# CONFIG_INFTL is not set
340# CONFIG_RFD_FTL is not set 348# CONFIG_RFD_FTL is not set
341# CONFIG_SSFDC is not set 349# CONFIG_SSFDC is not set
350# CONFIG_MTD_OOPS is not set
342 351
343# 352#
344# RAM/ROM/Flash chip drivers 353# RAM/ROM/Flash chip drivers
@@ -374,6 +383,7 @@ CONFIG_MTD_PHYSMAP_START=0xfe000000
374CONFIG_MTD_PHYSMAP_LEN=0x800000 383CONFIG_MTD_PHYSMAP_LEN=0x800000
375CONFIG_MTD_PHYSMAP_BANKWIDTH=2 384CONFIG_MTD_PHYSMAP_BANKWIDTH=2
376# CONFIG_MTD_PHYSMAP_OF is not set 385# CONFIG_MTD_PHYSMAP_OF is not set
386# CONFIG_MTD_INTEL_VR_NOR is not set
377# CONFIG_MTD_PLATRAM is not set 387# CONFIG_MTD_PLATRAM is not set
378 388
379# 389#
@@ -413,6 +423,7 @@ CONFIG_BLK_DEV_LOOP=y
413# CONFIG_BLK_DEV_CRYPTOLOOP is not set 423# CONFIG_BLK_DEV_CRYPTOLOOP is not set
414# CONFIG_BLK_DEV_NBD is not set 424# CONFIG_BLK_DEV_NBD is not set
415# CONFIG_BLK_DEV_SX8 is not set 425# CONFIG_BLK_DEV_SX8 is not set
426# CONFIG_BLK_DEV_UB is not set
416CONFIG_BLK_DEV_RAM=y 427CONFIG_BLK_DEV_RAM=y
417CONFIG_BLK_DEV_RAM_COUNT=16 428CONFIG_BLK_DEV_RAM_COUNT=16
418CONFIG_BLK_DEV_RAM_SIZE=32768 429CONFIG_BLK_DEV_RAM_SIZE=32768
@@ -462,6 +473,7 @@ CONFIG_SCSI_SPI_ATTRS=y
462# CONFIG_SCSI_FC_ATTRS is not set 473# CONFIG_SCSI_FC_ATTRS is not set
463# CONFIG_SCSI_ISCSI_ATTRS is not set 474# CONFIG_SCSI_ISCSI_ATTRS is not set
464# CONFIG_SCSI_SAS_LIBSAS is not set 475# CONFIG_SCSI_SAS_LIBSAS is not set
476# CONFIG_SCSI_SRP_ATTRS is not set
465CONFIG_SCSI_LOWLEVEL=y 477CONFIG_SCSI_LOWLEVEL=y
466# CONFIG_ISCSI_TCP is not set 478# CONFIG_ISCSI_TCP is not set
467# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 479# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -473,6 +485,7 @@ CONFIG_SCSI_LOWLEVEL=y
473# CONFIG_SCSI_AIC79XX is not set 485# CONFIG_SCSI_AIC79XX is not set
474# CONFIG_SCSI_AIC94XX is not set 486# CONFIG_SCSI_AIC94XX is not set
475# CONFIG_SCSI_DPT_I2O is not set 487# CONFIG_SCSI_DPT_I2O is not set
488# CONFIG_SCSI_ADVANSYS is not set
476# CONFIG_SCSI_ARCMSR is not set 489# CONFIG_SCSI_ARCMSR is not set
477# CONFIG_MEGARAID_NEWGEN is not set 490# CONFIG_MEGARAID_NEWGEN is not set
478# CONFIG_MEGARAID_LEGACY is not set 491# CONFIG_MEGARAID_LEGACY is not set
@@ -499,14 +512,7 @@ CONFIG_SCSI_LOWLEVEL=y
499# CONFIG_SCSI_SRP is not set 512# CONFIG_SCSI_SRP is not set
500# CONFIG_ATA is not set 513# CONFIG_ATA is not set
501# CONFIG_MD is not set 514# CONFIG_MD is not set
502
503#
504# Fusion MPT device support
505#
506# CONFIG_FUSION is not set 515# CONFIG_FUSION is not set
507# CONFIG_FUSION_SPI is not set
508# CONFIG_FUSION_FC is not set
509# CONFIG_FUSION_SAS is not set
510 516
511# 517#
512# IEEE 1394 (FireWire) support 518# IEEE 1394 (FireWire) support
@@ -522,6 +528,8 @@ CONFIG_NETDEVICES=y
522# CONFIG_MACVLAN is not set 528# CONFIG_MACVLAN is not set
523# CONFIG_EQUALIZER is not set 529# CONFIG_EQUALIZER is not set
524# CONFIG_TUN is not set 530# CONFIG_TUN is not set
531# CONFIG_VETH is not set
532# CONFIG_IP1000 is not set
525# CONFIG_ARCNET is not set 533# CONFIG_ARCNET is not set
526CONFIG_PHYLIB=y 534CONFIG_PHYLIB=y
527 535
@@ -538,11 +546,13 @@ CONFIG_CICADA_PHY=y
538# CONFIG_BROADCOM_PHY is not set 546# CONFIG_BROADCOM_PHY is not set
539# CONFIG_ICPLUS_PHY is not set 547# CONFIG_ICPLUS_PHY is not set
540# CONFIG_FIXED_PHY is not set 548# CONFIG_FIXED_PHY is not set
549# CONFIG_MDIO_BITBANG is not set
541# CONFIG_NET_ETHERNET is not set 550# CONFIG_NET_ETHERNET is not set
542CONFIG_NETDEV_1000=y 551CONFIG_NETDEV_1000=y
543# CONFIG_ACENIC is not set 552# CONFIG_ACENIC is not set
544# CONFIG_DL2K is not set 553# CONFIG_DL2K is not set
545# CONFIG_E1000 is not set 554# CONFIG_E1000 is not set
555# CONFIG_E1000E is not set
546# CONFIG_NS83820 is not set 556# CONFIG_NS83820 is not set
547# CONFIG_HAMACHI is not set 557# CONFIG_HAMACHI is not set
548# CONFIG_YELLOWFIN is not set 558# CONFIG_YELLOWFIN is not set
@@ -550,6 +560,7 @@ CONFIG_NETDEV_1000=y
550# CONFIG_SIS190 is not set 560# CONFIG_SIS190 is not set
551# CONFIG_SKGE is not set 561# CONFIG_SKGE is not set
552# CONFIG_SKY2 is not set 562# CONFIG_SKY2 is not set
563# CONFIG_SK98LIN is not set
553# CONFIG_VIA_VELOCITY is not set 564# CONFIG_VIA_VELOCITY is not set
554# CONFIG_TIGON3 is not set 565# CONFIG_TIGON3 is not set
555# CONFIG_BNX2 is not set 566# CONFIG_BNX2 is not set
@@ -560,11 +571,14 @@ CONFIG_GFAR_NAPI=y
560CONFIG_NETDEV_10000=y 571CONFIG_NETDEV_10000=y
561# CONFIG_CHELSIO_T1 is not set 572# CONFIG_CHELSIO_T1 is not set
562# CONFIG_CHELSIO_T3 is not set 573# CONFIG_CHELSIO_T3 is not set
574# CONFIG_IXGBE is not set
563# CONFIG_IXGB is not set 575# CONFIG_IXGB is not set
564# CONFIG_S2IO is not set 576# CONFIG_S2IO is not set
565# CONFIG_MYRI10GE is not set 577# CONFIG_MYRI10GE is not set
566# CONFIG_NETXEN_NIC is not set 578# CONFIG_NETXEN_NIC is not set
579# CONFIG_NIU is not set
567# CONFIG_MLX4_CORE is not set 580# CONFIG_MLX4_CORE is not set
581# CONFIG_TEHUTI is not set
568# CONFIG_TR is not set 582# CONFIG_TR is not set
569 583
570# 584#
@@ -572,6 +586,15 @@ CONFIG_NETDEV_10000=y
572# 586#
573# CONFIG_WLAN_PRE80211 is not set 587# CONFIG_WLAN_PRE80211 is not set
574# CONFIG_WLAN_80211 is not set 588# CONFIG_WLAN_80211 is not set
589
590#
591# USB Network Adapters
592#
593# CONFIG_USB_CATC is not set
594# CONFIG_USB_KAWETH is not set
595# CONFIG_USB_PEGASUS is not set
596# CONFIG_USB_RTL8150 is not set
597# CONFIG_USB_USBNET is not set
575# CONFIG_WAN is not set 598# CONFIG_WAN is not set
576# CONFIG_FDDI is not set 599# CONFIG_FDDI is not set
577# CONFIG_HIPPI is not set 600# CONFIG_HIPPI is not set
@@ -624,27 +647,11 @@ CONFIG_UNIX98_PTYS=y
624CONFIG_LEGACY_PTYS=y 647CONFIG_LEGACY_PTYS=y
625CONFIG_LEGACY_PTY_COUNT=256 648CONFIG_LEGACY_PTY_COUNT=256
626# CONFIG_IPMI_HANDLER is not set 649# CONFIG_IPMI_HANDLER is not set
627CONFIG_WATCHDOG=y
628# CONFIG_WATCHDOG_NOWAYOUT is not set
629
630#
631# Watchdog Device Drivers
632#
633# CONFIG_SOFT_WATCHDOG is not set
634CONFIG_83xx_WDT=y
635
636#
637# PCI-based Watchdog Cards
638#
639# CONFIG_PCIPCWATCHDOG is not set
640# CONFIG_WDTPCI is not set
641CONFIG_HW_RANDOM=y 650CONFIG_HW_RANDOM=y
642# CONFIG_NVRAM is not set 651# CONFIG_NVRAM is not set
643# CONFIG_GEN_RTC is not set 652# CONFIG_GEN_RTC is not set
644# CONFIG_R3964 is not set 653# CONFIG_R3964 is not set
645# CONFIG_APPLICOM is not set 654# CONFIG_APPLICOM is not set
646# CONFIG_AGP is not set
647# CONFIG_DRM is not set
648# CONFIG_RAW_DRIVER is not set 655# CONFIG_RAW_DRIVER is not set
649# CONFIG_TCG_TPM is not set 656# CONFIG_TCG_TPM is not set
650CONFIG_DEVPORT=y 657CONFIG_DEVPORT=y
@@ -682,6 +689,7 @@ CONFIG_I2C_MPC=y
682# CONFIG_I2C_SIS96X is not set 689# CONFIG_I2C_SIS96X is not set
683# CONFIG_I2C_TAOS_EVM is not set 690# CONFIG_I2C_TAOS_EVM is not set
684# CONFIG_I2C_STUB is not set 691# CONFIG_I2C_STUB is not set
692# CONFIG_I2C_TINY_USB is not set
685# CONFIG_I2C_VIA is not set 693# CONFIG_I2C_VIA is not set
686# CONFIG_I2C_VIAPRO is not set 694# CONFIG_I2C_VIAPRO is not set
687# CONFIG_I2C_VOODOO3 is not set 695# CONFIG_I2C_VOODOO3 is not set
@@ -725,6 +733,31 @@ CONFIG_SPI_MPC83xx=y
725# CONFIG_W1 is not set 733# CONFIG_W1 is not set
726# CONFIG_POWER_SUPPLY is not set 734# CONFIG_POWER_SUPPLY is not set
727# CONFIG_HWMON is not set 735# CONFIG_HWMON is not set
736CONFIG_WATCHDOG=y
737# CONFIG_WATCHDOG_NOWAYOUT is not set
738
739#
740# Watchdog Device Drivers
741#
742# CONFIG_SOFT_WATCHDOG is not set
743CONFIG_83xx_WDT=y
744
745#
746# PCI-based Watchdog Cards
747#
748# CONFIG_PCIPCWATCHDOG is not set
749# CONFIG_WDTPCI is not set
750
751#
752# USB-based Watchdog Cards
753#
754# CONFIG_USBPCWATCHDOG is not set
755
756#
757# Sonics Silicon Backplane
758#
759CONFIG_SSB_POSSIBLE=y
760# CONFIG_SSB is not set
728 761
729# 762#
730# Multifunction device drivers 763# Multifunction device drivers
@@ -737,20 +770,22 @@ CONFIG_SPI_MPC83xx=y
737# CONFIG_VIDEO_DEV is not set 770# CONFIG_VIDEO_DEV is not set
738# CONFIG_DVB_CORE is not set 771# CONFIG_DVB_CORE is not set
739CONFIG_DAB=y 772CONFIG_DAB=y
773# CONFIG_USB_DABUSB is not set
740 774
741# 775#
742# Graphics support 776# Graphics support
743# 777#
778# CONFIG_AGP is not set
779# CONFIG_DRM is not set
780# CONFIG_VGASTATE is not set
781CONFIG_VIDEO_OUTPUT_CONTROL=m
782# CONFIG_FB is not set
744# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 783# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
745 784
746# 785#
747# Display device support 786# Display device support
748# 787#
749# CONFIG_DISPLAY_SUPPORT is not set 788# CONFIG_DISPLAY_SUPPORT is not set
750# CONFIG_VGASTATE is not set
751CONFIG_VIDEO_OUTPUT_CONTROL=m
752# CONFIG_FB is not set
753# CONFIG_FB_IBM_GXT4500 is not set
754 789
755# 790#
756# Sound 791# Sound
@@ -802,6 +837,7 @@ CONFIG_USB_STORAGE=y
802# CONFIG_USB_STORAGE_DEBUG is not set 837# CONFIG_USB_STORAGE_DEBUG is not set
803# CONFIG_USB_STORAGE_DATAFAB is not set 838# CONFIG_USB_STORAGE_DATAFAB is not set
804# CONFIG_USB_STORAGE_FREECOM is not set 839# CONFIG_USB_STORAGE_FREECOM is not set
840# CONFIG_USB_STORAGE_ISD200 is not set
805# CONFIG_USB_STORAGE_DPCM is not set 841# CONFIG_USB_STORAGE_DPCM is not set
806# CONFIG_USB_STORAGE_USBAT is not set 842# CONFIG_USB_STORAGE_USBAT is not set
807# CONFIG_USB_STORAGE_SDDR09 is not set 843# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -881,6 +917,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
881# I2C RTC drivers 917# I2C RTC drivers
882# 918#
883CONFIG_RTC_DRV_DS1307=y 919CONFIG_RTC_DRV_DS1307=y
920# CONFIG_RTC_DRV_DS1374 is not set
884# CONFIG_RTC_DRV_DS1672 is not set 921# CONFIG_RTC_DRV_DS1672 is not set
885# CONFIG_RTC_DRV_MAX6900 is not set 922# CONFIG_RTC_DRV_MAX6900 is not set
886# CONFIG_RTC_DRV_RS5C372 is not set 923# CONFIG_RTC_DRV_RS5C372 is not set
@@ -912,21 +949,6 @@ CONFIG_RTC_DRV_DS1307=y
912# 949#
913 950
914# 951#
915# DMA Engine support
916#
917CONFIG_DMA_ENGINE=y
918
919#
920# DMA Clients
921#
922CONFIG_NET_DMA=y
923
924#
925# DMA Devices
926#
927CONFIG_INTEL_IOATDMA=y
928
929#
930# Userspace I/O 952# Userspace I/O
931# 953#
932# CONFIG_UIO is not set 954# CONFIG_UIO is not set
@@ -943,7 +965,6 @@ CONFIG_EXT3_FS_XATTR=y
943# CONFIG_EXT3_FS_SECURITY is not set 965# CONFIG_EXT3_FS_SECURITY is not set
944# CONFIG_EXT4DEV_FS is not set 966# CONFIG_EXT4DEV_FS is not set
945CONFIG_JBD=y 967CONFIG_JBD=y
946# CONFIG_JBD_DEBUG is not set
947CONFIG_FS_MBCACHE=y 968CONFIG_FS_MBCACHE=y
948# CONFIG_REISERFS_FS is not set 969# CONFIG_REISERFS_FS is not set
949# CONFIG_JFS_FS is not set 970# CONFIG_JFS_FS is not set
@@ -987,7 +1008,6 @@ CONFIG_SYSFS=y
987CONFIG_TMPFS=y 1008CONFIG_TMPFS=y
988# CONFIG_TMPFS_POSIX_ACL is not set 1009# CONFIG_TMPFS_POSIX_ACL is not set
989# CONFIG_HUGETLB_PAGE is not set 1010# CONFIG_HUGETLB_PAGE is not set
990CONFIG_RAMFS=y
991# CONFIG_CONFIGFS_FS is not set 1011# CONFIG_CONFIGFS_FS is not set
992 1012
993# 1013#
@@ -1007,10 +1027,7 @@ CONFIG_RAMFS=y
1007# CONFIG_QNX4FS_FS is not set 1027# CONFIG_QNX4FS_FS is not set
1008# CONFIG_SYSV_FS is not set 1028# CONFIG_SYSV_FS is not set
1009# CONFIG_UFS_FS is not set 1029# CONFIG_UFS_FS is not set
1010 1030CONFIG_NETWORK_FILESYSTEMS=y
1011#
1012# Network File Systems
1013#
1014CONFIG_NFS_FS=y 1031CONFIG_NFS_FS=y
1015CONFIG_NFS_V3=y 1032CONFIG_NFS_V3=y
1016# CONFIG_NFS_V3_ACL is not set 1033# CONFIG_NFS_V3_ACL is not set
@@ -1053,10 +1070,6 @@ CONFIG_MSDOS_PARTITION=y
1053# CONFIG_KARMA_PARTITION is not set 1070# CONFIG_KARMA_PARTITION is not set
1054# CONFIG_EFI_PARTITION is not set 1071# CONFIG_EFI_PARTITION is not set
1055# CONFIG_SYSV68_PARTITION is not set 1072# CONFIG_SYSV68_PARTITION is not set
1056
1057#
1058# Native Language Support
1059#
1060CONFIG_NLS=y 1073CONFIG_NLS=y
1061CONFIG_NLS_DEFAULT="iso8859-1" 1074CONFIG_NLS_DEFAULT="iso8859-1"
1062# CONFIG_NLS_CODEPAGE_437 is not set 1075# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1097,10 +1110,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1097# CONFIG_NLS_KOI8_R is not set 1110# CONFIG_NLS_KOI8_R is not set
1098# CONFIG_NLS_KOI8_U is not set 1111# CONFIG_NLS_KOI8_U is not set
1099# CONFIG_NLS_UTF8 is not set 1112# CONFIG_NLS_UTF8 is not set
1100
1101#
1102# Distributed Lock Manager
1103#
1104# CONFIG_DLM is not set 1113# CONFIG_DLM is not set
1105# CONFIG_UCC_SLOW is not set 1114# CONFIG_UCC_SLOW is not set
1106 1115
@@ -1118,23 +1127,22 @@ CONFIG_PLIST=y
1118CONFIG_HAS_IOMEM=y 1127CONFIG_HAS_IOMEM=y
1119CONFIG_HAS_IOPORT=y 1128CONFIG_HAS_IOPORT=y
1120CONFIG_HAS_DMA=y 1129CONFIG_HAS_DMA=y
1121 1130# CONFIG_INSTRUMENTATION is not set
1122#
1123# Instrumentation Support
1124#
1125# CONFIG_PROFILING is not set
1126 1131
1127# 1132#
1128# Kernel hacking 1133# Kernel hacking
1129# 1134#
1130# CONFIG_PRINTK_TIME is not set 1135# CONFIG_PRINTK_TIME is not set
1136CONFIG_ENABLE_WARN_DEPRECATED=y
1131CONFIG_ENABLE_MUST_CHECK=y 1137CONFIG_ENABLE_MUST_CHECK=y
1132# CONFIG_MAGIC_SYSRQ is not set 1138# CONFIG_MAGIC_SYSRQ is not set
1133# CONFIG_UNUSED_SYMBOLS is not set 1139# CONFIG_UNUSED_SYMBOLS is not set
1134# CONFIG_DEBUG_FS is not set 1140# CONFIG_DEBUG_FS is not set
1135# CONFIG_HEADERS_CHECK is not set 1141# CONFIG_HEADERS_CHECK is not set
1136# CONFIG_DEBUG_KERNEL is not set 1142# CONFIG_DEBUG_KERNEL is not set
1143# CONFIG_SLUB_DEBUG_ON is not set
1137# CONFIG_DEBUG_BUGVERBOSE is not set 1144# CONFIG_DEBUG_BUGVERBOSE is not set
1145# CONFIG_SAMPLES is not set
1138# CONFIG_PPC_EARLY_DEBUG is not set 1146# CONFIG_PPC_EARLY_DEBUG is not set
1139 1147
1140# 1148#
@@ -1142,6 +1150,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1142# 1150#
1143# CONFIG_KEYS is not set 1151# CONFIG_KEYS is not set
1144# CONFIG_SECURITY is not set 1152# CONFIG_SECURITY is not set
1153# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1145CONFIG_CRYPTO=y 1154CONFIG_CRYPTO=y
1146CONFIG_CRYPTO_ALGAPI=y 1155CONFIG_CRYPTO_ALGAPI=y
1147CONFIG_CRYPTO_BLKCIPHER=y 1156CONFIG_CRYPTO_BLKCIPHER=y
@@ -1161,6 +1170,7 @@ CONFIG_CRYPTO_MD5=y
1161CONFIG_CRYPTO_CBC=y 1170CONFIG_CRYPTO_CBC=y
1162CONFIG_CRYPTO_PCBC=m 1171CONFIG_CRYPTO_PCBC=m
1163# CONFIG_CRYPTO_LRW is not set 1172# CONFIG_CRYPTO_LRW is not set
1173# CONFIG_CRYPTO_XTS is not set
1164# CONFIG_CRYPTO_CRYPTD is not set 1174# CONFIG_CRYPTO_CRYPTD is not set
1165CONFIG_CRYPTO_DES=y 1175CONFIG_CRYPTO_DES=y
1166# CONFIG_CRYPTO_FCRYPT is not set 1176# CONFIG_CRYPTO_FCRYPT is not set
@@ -1174,9 +1184,12 @@ CONFIG_CRYPTO_DES=y
1174# CONFIG_CRYPTO_ARC4 is not set 1184# CONFIG_CRYPTO_ARC4 is not set
1175# CONFIG_CRYPTO_KHAZAD is not set 1185# CONFIG_CRYPTO_KHAZAD is not set
1176# CONFIG_CRYPTO_ANUBIS is not set 1186# CONFIG_CRYPTO_ANUBIS is not set
1187# CONFIG_CRYPTO_SEED is not set
1177# CONFIG_CRYPTO_DEFLATE is not set 1188# CONFIG_CRYPTO_DEFLATE is not set
1178# CONFIG_CRYPTO_MICHAEL_MIC is not set 1189# CONFIG_CRYPTO_MICHAEL_MIC is not set
1179# CONFIG_CRYPTO_CRC32C is not set 1190# CONFIG_CRYPTO_CRC32C is not set
1180# CONFIG_CRYPTO_CAMELLIA is not set 1191# CONFIG_CRYPTO_CAMELLIA is not set
1181# CONFIG_CRYPTO_TEST is not set 1192# CONFIG_CRYPTO_TEST is not set
1193# CONFIG_CRYPTO_AUTHENC is not set
1182CONFIG_CRYPTO_HW=y 1194CONFIG_CRYPTO_HW=y
1195# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig
index 356f736a5d3d..217539f3ecef 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:41 2007 4# Thu Dec 6 16:48:41 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -156,6 +162,10 @@ CONFIG_MPC834x=y
156# Kernel options 162# Kernel options
157# 163#
158# CONFIG_HIGHMEM is not set 164# CONFIG_HIGHMEM is not set
165CONFIG_TICK_ONESHOT=y
166CONFIG_NO_HZ=y
167CONFIG_HIGH_RES_TIMERS=y
168CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 169# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 170CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 171# CONFIG_HZ_300 is not set
@@ -176,6 +186,7 @@ CONFIG_FLATMEM_MANUAL=y
176CONFIG_FLATMEM=y 186CONFIG_FLATMEM=y
177CONFIG_FLAT_NODE_MEM_MAP=y 187CONFIG_FLAT_NODE_MEM_MAP=y
178# CONFIG_SPARSEMEM_STATIC is not set 188# CONFIG_SPARSEMEM_STATIC is not set
189# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
179CONFIG_SPLIT_PTLOCK_CPUS=4 190CONFIG_SPLIT_PTLOCK_CPUS=4
180# CONFIG_RESOURCES_64BIT is not set 191# CONFIG_RESOURCES_64BIT is not set
181CONFIG_ZONE_DMA_FLAG=1 192CONFIG_ZONE_DMA_FLAG=1
@@ -184,6 +195,8 @@ CONFIG_VIRT_TO_BUS=y
184CONFIG_PROC_DEVICETREE=y 195CONFIG_PROC_DEVICETREE=y
185# CONFIG_CMDLINE_BOOL is not set 196# CONFIG_CMDLINE_BOOL is not set
186# CONFIG_PM is not set 197# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 200CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y 201CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="" 202CONFIG_DEVICE_TREE=""
@@ -202,10 +215,7 @@ CONFIG_PCI_SYSCALL=y
202# CONFIG_PCIEPORTBUS is not set 215# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y 216CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set 217# CONFIG_PCI_MSI is not set
205 218CONFIG_PCI_LEGACY=y
206#
207# PCCARD (PCMCIA/CardBus) support
208#
209# CONFIG_PCCARD is not set 219# CONFIG_PCCARD is not set
210# CONFIG_HOTPLUG_PCI is not set 220# CONFIG_HOTPLUG_PCI is not set
211 221
@@ -220,7 +230,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
220CONFIG_HIGHMEM_START=0xfe000000 230CONFIG_HIGHMEM_START=0xfe000000
221CONFIG_LOWMEM_SIZE=0x30000000 231CONFIG_LOWMEM_SIZE=0x30000000
222CONFIG_KERNEL_START=0xc0000000 232CONFIG_KERNEL_START=0xc0000000
223CONFIG_TASK_SIZE=0x80000000 233CONFIG_TASK_SIZE=0xc0000000
224CONFIG_BOOT_LOAD=0x00800000 234CONFIG_BOOT_LOAD=0x00800000
225 235
226# 236#
@@ -260,6 +270,7 @@ CONFIG_SYN_COOKIES=y
260CONFIG_INET_XFRM_MODE_TRANSPORT=y 270CONFIG_INET_XFRM_MODE_TRANSPORT=y
261CONFIG_INET_XFRM_MODE_TUNNEL=y 271CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_XFRM_MODE_BEET=y 272CONFIG_INET_XFRM_MODE_BEET=y
273# CONFIG_INET_LRO is not set
263CONFIG_INET_DIAG=y 274CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 275CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 276# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,10 +296,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
285# CONFIG_LAPB is not set 296# CONFIG_LAPB is not set
286# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
292# CONFIG_NET_SCHED is not set 299# CONFIG_NET_SCHED is not set
293 300
294# 301#
@@ -317,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# 324#
318# Generic Driver Options 325# Generic Driver Options
319# 326#
327CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
320CONFIG_STANDALONE=y 328CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y 329CONFIG_PREVENT_FIRMWARE_BUILD=y
322# CONFIG_FW_LOADER is not set 330# CONFIG_FW_LOADER is not set
@@ -358,10 +366,6 @@ CONFIG_MISC_DEVICES=y
358# CONFIG_SCSI_NETLINK is not set 366# CONFIG_SCSI_NETLINK is not set
359# CONFIG_ATA is not set 367# CONFIG_ATA is not set
360# CONFIG_MD is not set 368# CONFIG_MD is not set
361
362#
363# Fusion MPT device support
364#
365# CONFIG_FUSION is not set 369# CONFIG_FUSION is not set
366 370
367# 371#
@@ -378,6 +382,8 @@ CONFIG_NETDEVICES=y
378# CONFIG_MACVLAN is not set 382# CONFIG_MACVLAN is not set
379# CONFIG_EQUALIZER is not set 383# CONFIG_EQUALIZER is not set
380# CONFIG_TUN is not set 384# CONFIG_TUN is not set
385# CONFIG_VETH is not set
386# CONFIG_IP1000 is not set
381# CONFIG_ARCNET is not set 387# CONFIG_ARCNET is not set
382CONFIG_PHYLIB=y 388CONFIG_PHYLIB=y
383 389
@@ -394,6 +400,7 @@ CONFIG_MARVELL_PHY=y
394# CONFIG_BROADCOM_PHY is not set 400# CONFIG_BROADCOM_PHY is not set
395# CONFIG_ICPLUS_PHY is not set 401# CONFIG_ICPLUS_PHY is not set
396# CONFIG_FIXED_PHY is not set 402# CONFIG_FIXED_PHY is not set
403# CONFIG_MDIO_BITBANG is not set
397CONFIG_NET_ETHERNET=y 404CONFIG_NET_ETHERNET=y
398CONFIG_MII=y 405CONFIG_MII=y
399# CONFIG_HAPPYMEAL is not set 406# CONFIG_HAPPYMEAL is not set
@@ -402,13 +409,16 @@ CONFIG_MII=y
402# CONFIG_NET_VENDOR_3COM is not set 409# CONFIG_NET_VENDOR_3COM is not set
403# CONFIG_NET_TULIP is not set 410# CONFIG_NET_TULIP is not set
404# CONFIG_HP100 is not set 411# CONFIG_HP100 is not set
412# CONFIG_IBM_NEW_EMAC_ZMII is not set
413# CONFIG_IBM_NEW_EMAC_RGMII is not set
414# CONFIG_IBM_NEW_EMAC_TAH is not set
415# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
405CONFIG_NET_PCI=y 416CONFIG_NET_PCI=y
406# CONFIG_PCNET32 is not set 417# CONFIG_PCNET32 is not set
407# CONFIG_AMD8111_ETH is not set 418# CONFIG_AMD8111_ETH is not set
408# CONFIG_ADAPTEC_STARFIRE is not set 419# CONFIG_ADAPTEC_STARFIRE is not set
409# CONFIG_B44 is not set 420# CONFIG_B44 is not set
410# CONFIG_FORCEDETH is not set 421# CONFIG_FORCEDETH is not set
411# CONFIG_DGRS is not set
412# CONFIG_EEPRO100 is not set 422# CONFIG_EEPRO100 is not set
413CONFIG_E100=y 423CONFIG_E100=y
414# CONFIG_FEALNX is not set 424# CONFIG_FEALNX is not set
@@ -426,6 +436,7 @@ CONFIG_NETDEV_1000=y
426# CONFIG_ACENIC is not set 436# CONFIG_ACENIC is not set
427# CONFIG_DL2K is not set 437# CONFIG_DL2K is not set
428# CONFIG_E1000 is not set 438# CONFIG_E1000 is not set
439# CONFIG_E1000E is not set
429# CONFIG_NS83820 is not set 440# CONFIG_NS83820 is not set
430# CONFIG_HAMACHI is not set 441# CONFIG_HAMACHI is not set
431# CONFIG_YELLOWFIN is not set 442# CONFIG_YELLOWFIN is not set
@@ -433,6 +444,7 @@ CONFIG_NETDEV_1000=y
433# CONFIG_SIS190 is not set 444# CONFIG_SIS190 is not set
434# CONFIG_SKGE is not set 445# CONFIG_SKGE is not set
435# CONFIG_SKY2 is not set 446# CONFIG_SKY2 is not set
447# CONFIG_SK98LIN is not set
436# CONFIG_VIA_VELOCITY is not set 448# CONFIG_VIA_VELOCITY is not set
437# CONFIG_TIGON3 is not set 449# CONFIG_TIGON3 is not set
438# CONFIG_BNX2 is not set 450# CONFIG_BNX2 is not set
@@ -443,11 +455,14 @@ CONFIG_GIANFAR=y
443CONFIG_NETDEV_10000=y 455CONFIG_NETDEV_10000=y
444# CONFIG_CHELSIO_T1 is not set 456# CONFIG_CHELSIO_T1 is not set
445# CONFIG_CHELSIO_T3 is not set 457# CONFIG_CHELSIO_T3 is not set
458# CONFIG_IXGBE is not set
446# CONFIG_IXGB is not set 459# CONFIG_IXGB is not set
447# CONFIG_S2IO is not set 460# CONFIG_S2IO is not set
448# CONFIG_MYRI10GE is not set 461# CONFIG_MYRI10GE is not set
449# CONFIG_NETXEN_NIC is not set 462# CONFIG_NETXEN_NIC is not set
463# CONFIG_NIU is not set
450# CONFIG_MLX4_CORE is not set 464# CONFIG_MLX4_CORE is not set
465# CONFIG_TEHUTI is not set
451# CONFIG_TR is not set 466# CONFIG_TR is not set
452 467
453# 468#
@@ -479,7 +494,6 @@ CONFIG_INPUT=y
479# 494#
480# CONFIG_INPUT_MOUSEDEV is not set 495# CONFIG_INPUT_MOUSEDEV is not set
481# CONFIG_INPUT_JOYDEV is not set 496# CONFIG_INPUT_JOYDEV is not set
482# CONFIG_INPUT_TSDEV is not set
483# CONFIG_INPUT_EVDEV is not set 497# CONFIG_INPUT_EVDEV is not set
484# CONFIG_INPUT_EVBUG is not set 498# CONFIG_INPUT_EVBUG is not set
485 499
@@ -527,28 +541,12 @@ CONFIG_UNIX98_PTYS=y
527CONFIG_LEGACY_PTYS=y 541CONFIG_LEGACY_PTYS=y
528CONFIG_LEGACY_PTY_COUNT=256 542CONFIG_LEGACY_PTY_COUNT=256
529# CONFIG_IPMI_HANDLER is not set 543# CONFIG_IPMI_HANDLER is not set
530CONFIG_WATCHDOG=y
531# CONFIG_WATCHDOG_NOWAYOUT is not set
532
533#
534# Watchdog Device Drivers
535#
536# CONFIG_SOFT_WATCHDOG is not set
537CONFIG_83xx_WDT=y
538
539#
540# PCI-based Watchdog Cards
541#
542# CONFIG_PCIPCWATCHDOG is not set
543# CONFIG_WDTPCI is not set
544# CONFIG_HW_RANDOM is not set 544# CONFIG_HW_RANDOM is not set
545# CONFIG_NVRAM is not set 545# CONFIG_NVRAM is not set
546CONFIG_GEN_RTC=y 546CONFIG_GEN_RTC=y
547# CONFIG_GEN_RTC_X is not set 547# CONFIG_GEN_RTC_X is not set
548# CONFIG_R3964 is not set 548# CONFIG_R3964 is not set
549# CONFIG_APPLICOM is not set 549# CONFIG_APPLICOM is not set
550# CONFIG_AGP is not set
551# CONFIG_DRM is not set
552# CONFIG_RAW_DRIVER is not set 550# CONFIG_RAW_DRIVER is not set
553# CONFIG_TCG_TPM is not set 551# CONFIG_TCG_TPM is not set
554CONFIG_DEVPORT=y 552CONFIG_DEVPORT=y
@@ -617,8 +615,6 @@ CONFIG_I2C_MPC=y
617# CONFIG_POWER_SUPPLY is not set 615# CONFIG_POWER_SUPPLY is not set
618CONFIG_HWMON=y 616CONFIG_HWMON=y
619# CONFIG_HWMON_VID is not set 617# CONFIG_HWMON_VID is not set
620# CONFIG_SENSORS_ABITUGURU is not set
621# CONFIG_SENSORS_ABITUGURU3 is not set
622# CONFIG_SENSORS_AD7418 is not set 618# CONFIG_SENSORS_AD7418 is not set
623# CONFIG_SENSORS_ADM1021 is not set 619# CONFIG_SENSORS_ADM1021 is not set
624# CONFIG_SENSORS_ADM1025 is not set 620# CONFIG_SENSORS_ADM1025 is not set
@@ -626,12 +622,13 @@ CONFIG_HWMON=y
626# CONFIG_SENSORS_ADM1029 is not set 622# CONFIG_SENSORS_ADM1029 is not set
627# CONFIG_SENSORS_ADM1031 is not set 623# CONFIG_SENSORS_ADM1031 is not set
628# CONFIG_SENSORS_ADM9240 is not set 624# CONFIG_SENSORS_ADM9240 is not set
629# CONFIG_SENSORS_ASB100 is not set 625# CONFIG_SENSORS_ADT7470 is not set
630# CONFIG_SENSORS_ATXP1 is not set 626# CONFIG_SENSORS_ATXP1 is not set
631# CONFIG_SENSORS_DS1621 is not set 627# CONFIG_SENSORS_DS1621 is not set
628# CONFIG_SENSORS_I5K_AMB is not set
632# CONFIG_SENSORS_F71805F is not set 629# CONFIG_SENSORS_F71805F is not set
633# CONFIG_SENSORS_FSCHER is not set 630# CONFIG_SENSORS_F71882FG is not set
634# CONFIG_SENSORS_FSCPOS is not set 631# CONFIG_SENSORS_F75375S is not set
635# CONFIG_SENSORS_GL518SM is not set 632# CONFIG_SENSORS_GL518SM is not set
636# CONFIG_SENSORS_GL520SM is not set 633# CONFIG_SENSORS_GL520SM is not set
637# CONFIG_SENSORS_IT87 is not set 634# CONFIG_SENSORS_IT87 is not set
@@ -667,6 +664,26 @@ CONFIG_HWMON=y
667# CONFIG_SENSORS_W83627HF is not set 664# CONFIG_SENSORS_W83627HF is not set
668# CONFIG_SENSORS_W83627EHF is not set 665# CONFIG_SENSORS_W83627EHF is not set
669# CONFIG_HWMON_DEBUG_CHIP is not set 666# CONFIG_HWMON_DEBUG_CHIP is not set
667CONFIG_WATCHDOG=y
668# CONFIG_WATCHDOG_NOWAYOUT is not set
669
670#
671# Watchdog Device Drivers
672#
673# CONFIG_SOFT_WATCHDOG is not set
674CONFIG_83xx_WDT=y
675
676#
677# PCI-based Watchdog Cards
678#
679# CONFIG_PCIPCWATCHDOG is not set
680# CONFIG_WDTPCI is not set
681
682#
683# Sonics Silicon Backplane
684#
685CONFIG_SSB_POSSIBLE=y
686# CONFIG_SSB is not set
670 687
671# 688#
672# Multifunction device drivers 689# Multifunction device drivers
@@ -683,16 +700,17 @@ CONFIG_DAB=y
683# 700#
684# Graphics support 701# Graphics support
685# 702#
703# CONFIG_AGP is not set
704# CONFIG_DRM is not set
705# CONFIG_VGASTATE is not set
706CONFIG_VIDEO_OUTPUT_CONTROL=m
707# CONFIG_FB is not set
686# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 708# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
687 709
688# 710#
689# Display device support 711# Display device support
690# 712#
691# CONFIG_DISPLAY_SUPPORT is not set 713# CONFIG_DISPLAY_SUPPORT is not set
692# CONFIG_VGASTATE is not set
693CONFIG_VIDEO_OUTPUT_CONTROL=m
694# CONFIG_FB is not set
695# CONFIG_FB_IBM_GXT4500 is not set
696 714
697# 715#
698# Sound 716# Sound
@@ -701,6 +719,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
701CONFIG_HID_SUPPORT=y 719CONFIG_HID_SUPPORT=y
702CONFIG_HID=y 720CONFIG_HID=y
703# CONFIG_HID_DEBUG is not set 721# CONFIG_HID_DEBUG is not set
722# CONFIG_HIDRAW is not set
704CONFIG_USB_SUPPORT=y 723CONFIG_USB_SUPPORT=y
705CONFIG_USB_ARCH_HAS_HCD=y 724CONFIG_USB_ARCH_HAS_HCD=y
706CONFIG_USB_ARCH_HAS_OHCI=y 725CONFIG_USB_ARCH_HAS_OHCI=y
@@ -770,19 +789,6 @@ CONFIG_RTC_DRV_DS1374=y
770# 789#
771 790
772# 791#
773# DMA Engine support
774#
775# CONFIG_DMA_ENGINE is not set
776
777#
778# DMA Clients
779#
780
781#
782# DMA Devices
783#
784
785#
786# Userspace I/O 792# Userspace I/O
787# 793#
788# CONFIG_UIO is not set 794# CONFIG_UIO is not set
@@ -799,7 +805,6 @@ CONFIG_EXT3_FS_XATTR=y
799# CONFIG_EXT3_FS_SECURITY is not set 805# CONFIG_EXT3_FS_SECURITY is not set
800# CONFIG_EXT4DEV_FS is not set 806# CONFIG_EXT4DEV_FS is not set
801CONFIG_JBD=y 807CONFIG_JBD=y
802# CONFIG_JBD_DEBUG is not set
803CONFIG_FS_MBCACHE=y 808CONFIG_FS_MBCACHE=y
804# CONFIG_REISERFS_FS is not set 809# CONFIG_REISERFS_FS is not set
805# CONFIG_JFS_FS is not set 810# CONFIG_JFS_FS is not set
@@ -840,7 +845,6 @@ CONFIG_SYSFS=y
840CONFIG_TMPFS=y 845CONFIG_TMPFS=y
841# CONFIG_TMPFS_POSIX_ACL is not set 846# CONFIG_TMPFS_POSIX_ACL is not set
842# CONFIG_HUGETLB_PAGE is not set 847# CONFIG_HUGETLB_PAGE is not set
843CONFIG_RAMFS=y
844# CONFIG_CONFIGFS_FS is not set 848# CONFIG_CONFIGFS_FS is not set
845 849
846# 850#
@@ -859,10 +863,7 @@ CONFIG_RAMFS=y
859# CONFIG_QNX4FS_FS is not set 863# CONFIG_QNX4FS_FS is not set
860# CONFIG_SYSV_FS is not set 864# CONFIG_SYSV_FS is not set
861# CONFIG_UFS_FS is not set 865# CONFIG_UFS_FS is not set
862 866CONFIG_NETWORK_FILESYSTEMS=y
863#
864# Network File Systems
865#
866CONFIG_NFS_FS=y 867CONFIG_NFS_FS=y
867CONFIG_NFS_V3=y 868CONFIG_NFS_V3=y
868# CONFIG_NFS_V3_ACL is not set 869# CONFIG_NFS_V3_ACL is not set
@@ -901,15 +902,7 @@ CONFIG_PARTITION_ADVANCED=y
901# CONFIG_KARMA_PARTITION is not set 902# CONFIG_KARMA_PARTITION is not set
902# CONFIG_EFI_PARTITION is not set 903# CONFIG_EFI_PARTITION is not set
903# CONFIG_SYSV68_PARTITION is not set 904# CONFIG_SYSV68_PARTITION is not set
904
905#
906# Native Language Support
907#
908# CONFIG_NLS is not set 905# CONFIG_NLS is not set
909
910#
911# Distributed Lock Manager
912#
913# CONFIG_DLM is not set 906# CONFIG_DLM is not set
914# CONFIG_UCC_SLOW is not set 907# CONFIG_UCC_SLOW is not set
915 908
@@ -927,23 +920,22 @@ CONFIG_PLIST=y
927CONFIG_HAS_IOMEM=y 920CONFIG_HAS_IOMEM=y
928CONFIG_HAS_IOPORT=y 921CONFIG_HAS_IOPORT=y
929CONFIG_HAS_DMA=y 922CONFIG_HAS_DMA=y
930 923# CONFIG_INSTRUMENTATION is not set
931#
932# Instrumentation Support
933#
934# CONFIG_PROFILING is not set
935 924
936# 925#
937# Kernel hacking 926# Kernel hacking
938# 927#
939# CONFIG_PRINTK_TIME is not set 928# CONFIG_PRINTK_TIME is not set
929CONFIG_ENABLE_WARN_DEPRECATED=y
940CONFIG_ENABLE_MUST_CHECK=y 930CONFIG_ENABLE_MUST_CHECK=y
941# CONFIG_MAGIC_SYSRQ is not set 931# CONFIG_MAGIC_SYSRQ is not set
942# CONFIG_UNUSED_SYMBOLS is not set 932# CONFIG_UNUSED_SYMBOLS is not set
943# CONFIG_DEBUG_FS is not set 933# CONFIG_DEBUG_FS is not set
944# CONFIG_HEADERS_CHECK is not set 934# CONFIG_HEADERS_CHECK is not set
945# CONFIG_DEBUG_KERNEL is not set 935# CONFIG_DEBUG_KERNEL is not set
936# CONFIG_SLUB_DEBUG_ON is not set
946# CONFIG_DEBUG_BUGVERBOSE is not set 937# CONFIG_DEBUG_BUGVERBOSE is not set
938# CONFIG_SAMPLES is not set
947# CONFIG_PPC_EARLY_DEBUG is not set 939# CONFIG_PPC_EARLY_DEBUG is not set
948 940
949# 941#
@@ -951,6 +943,7 @@ CONFIG_ENABLE_MUST_CHECK=y
951# 943#
952# CONFIG_KEYS is not set 944# CONFIG_KEYS is not set
953# CONFIG_SECURITY is not set 945# CONFIG_SECURITY is not set
946# CONFIG_SECURITY_FILE_CAPABILITIES is not set
954CONFIG_CRYPTO=y 947CONFIG_CRYPTO=y
955CONFIG_CRYPTO_ALGAPI=y 948CONFIG_CRYPTO_ALGAPI=y
956CONFIG_CRYPTO_BLKCIPHER=y 949CONFIG_CRYPTO_BLKCIPHER=y
@@ -970,6 +963,7 @@ CONFIG_CRYPTO_ECB=m
970CONFIG_CRYPTO_CBC=y 963CONFIG_CRYPTO_CBC=y
971CONFIG_CRYPTO_PCBC=m 964CONFIG_CRYPTO_PCBC=m
972# CONFIG_CRYPTO_LRW is not set 965# CONFIG_CRYPTO_LRW is not set
966# CONFIG_CRYPTO_XTS is not set
973# CONFIG_CRYPTO_CRYPTD is not set 967# CONFIG_CRYPTO_CRYPTD is not set
974CONFIG_CRYPTO_DES=y 968CONFIG_CRYPTO_DES=y
975# CONFIG_CRYPTO_FCRYPT is not set 969# CONFIG_CRYPTO_FCRYPT is not set
@@ -983,9 +977,12 @@ CONFIG_CRYPTO_DES=y
983# CONFIG_CRYPTO_ARC4 is not set 977# CONFIG_CRYPTO_ARC4 is not set
984# CONFIG_CRYPTO_KHAZAD is not set 978# CONFIG_CRYPTO_KHAZAD is not set
985# CONFIG_CRYPTO_ANUBIS is not set 979# CONFIG_CRYPTO_ANUBIS is not set
980# CONFIG_CRYPTO_SEED is not set
986# CONFIG_CRYPTO_DEFLATE is not set 981# CONFIG_CRYPTO_DEFLATE is not set
987# CONFIG_CRYPTO_MICHAEL_MIC is not set 982# CONFIG_CRYPTO_MICHAEL_MIC is not set
988# CONFIG_CRYPTO_CRC32C is not set 983# CONFIG_CRYPTO_CRC32C is not set
989# CONFIG_CRYPTO_CAMELLIA is not set 984# CONFIG_CRYPTO_CAMELLIA is not set
990# CONFIG_CRYPTO_TEST is not set 985# CONFIG_CRYPTO_TEST is not set
986# CONFIG_CRYPTO_AUTHENC is not set
991CONFIG_CRYPTO_HW=y 987CONFIG_CRYPTO_HW=y
988# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
index 1b4d37570eb1..c44fc56263e2 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:42 2007 4# Thu Dec 6 16:48:43 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,12 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set 69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +91,6 @@ CONFIG_FUTEX=y
83CONFIG_ANON_INODES=y 91CONFIG_ANON_INODES=y
84# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
85CONFIG_SIGNALFD=y 93CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
@@ -123,7 +130,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
123# Platform support 130# Platform support
124# 131#
125# CONFIG_PPC_MULTIPLATFORM is not set 132# CONFIG_PPC_MULTIPLATFORM is not set
126# CONFIG_EMBEDDED6xx is not set
127# CONFIG_PPC_82xx is not set 133# CONFIG_PPC_82xx is not set
128CONFIG_PPC_83xx=y 134CONFIG_PPC_83xx=y
129# CONFIG_PPC_86xx is not set 135# CONFIG_PPC_86xx is not set
@@ -157,6 +163,10 @@ CONFIG_QUICC_ENGINE=y
157# Kernel options 163# Kernel options
158# 164#
159# CONFIG_HIGHMEM is not set 165# CONFIG_HIGHMEM is not set
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
160# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
161CONFIG_HZ_250=y 171CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -177,6 +187,7 @@ CONFIG_FLATMEM_MANUAL=y
177CONFIG_FLATMEM=y 187CONFIG_FLATMEM=y
178CONFIG_FLAT_NODE_MEM_MAP=y 188CONFIG_FLAT_NODE_MEM_MAP=y
179# CONFIG_SPARSEMEM_STATIC is not set 189# CONFIG_SPARSEMEM_STATIC is not set
190# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
180CONFIG_SPLIT_PTLOCK_CPUS=4 191CONFIG_SPLIT_PTLOCK_CPUS=4
181# CONFIG_RESOURCES_64BIT is not set 192# CONFIG_RESOURCES_64BIT is not set
182CONFIG_ZONE_DMA_FLAG=1 193CONFIG_ZONE_DMA_FLAG=1
@@ -185,6 +196,8 @@ CONFIG_VIRT_TO_BUS=y
185CONFIG_PROC_DEVICETREE=y 196CONFIG_PROC_DEVICETREE=y
186# CONFIG_CMDLINE_BOOL is not set 197# CONFIG_CMDLINE_BOOL is not set
187# CONFIG_PM is not set 198# CONFIG_PM is not set
199CONFIG_SUSPEND_UP_POSSIBLE=y
200CONFIG_HIBERNATION_UP_POSSIBLE=y
188CONFIG_SECCOMP=y 201CONFIG_SECCOMP=y
189CONFIG_WANT_DEVICE_TREE=y 202CONFIG_WANT_DEVICE_TREE=y
190CONFIG_DEVICE_TREE="" 203CONFIG_DEVICE_TREE=""
@@ -203,10 +216,7 @@ CONFIG_PCI_SYSCALL=y
203# CONFIG_PCIEPORTBUS is not set 216# CONFIG_PCIEPORTBUS is not set
204CONFIG_ARCH_SUPPORTS_MSI=y 217CONFIG_ARCH_SUPPORTS_MSI=y
205# CONFIG_PCI_MSI is not set 218# CONFIG_PCI_MSI is not set
206 219CONFIG_PCI_LEGACY=y
207#
208# PCCARD (PCMCIA/CardBus) support
209#
210# CONFIG_PCCARD is not set 220# CONFIG_PCCARD is not set
211# CONFIG_HOTPLUG_PCI is not set 221# CONFIG_HOTPLUG_PCI is not set
212 222
@@ -221,7 +231,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
221CONFIG_HIGHMEM_START=0xfe000000 231CONFIG_HIGHMEM_START=0xfe000000
222CONFIG_LOWMEM_SIZE=0x30000000 232CONFIG_LOWMEM_SIZE=0x30000000
223CONFIG_KERNEL_START=0xc0000000 233CONFIG_KERNEL_START=0xc0000000
224CONFIG_TASK_SIZE=0x80000000 234CONFIG_TASK_SIZE=0xc0000000
225CONFIG_BOOT_LOAD=0x00800000 235CONFIG_BOOT_LOAD=0x00800000
226 236
227# 237#
@@ -261,6 +271,7 @@ CONFIG_SYN_COOKIES=y
261CONFIG_INET_XFRM_MODE_TRANSPORT=y 271CONFIG_INET_XFRM_MODE_TRANSPORT=y
262CONFIG_INET_XFRM_MODE_TUNNEL=y 272CONFIG_INET_XFRM_MODE_TUNNEL=y
263CONFIG_INET_XFRM_MODE_BEET=y 273CONFIG_INET_XFRM_MODE_BEET=y
274# CONFIG_INET_LRO is not set
264CONFIG_INET_DIAG=y 275CONFIG_INET_DIAG=y
265CONFIG_INET_TCP_DIAG=y 276CONFIG_INET_TCP_DIAG=y
266# CONFIG_TCP_CONG_ADVANCED is not set 277# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,10 +297,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
286# CONFIG_LAPB is not set 297# CONFIG_LAPB is not set
287# CONFIG_ECONET is not set 298# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set 299# CONFIG_WAN_ROUTER is not set
289
290#
291# QoS and/or fair queueing
292#
293# CONFIG_NET_SCHED is not set 300# CONFIG_NET_SCHED is not set
294 301
295# 302#
@@ -318,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# 325#
319# Generic Driver Options 326# Generic Driver Options
320# 327#
328CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
321CONFIG_STANDALONE=y 329CONFIG_STANDALONE=y
322CONFIG_PREVENT_FIRMWARE_BUILD=y 330CONFIG_PREVENT_FIRMWARE_BUILD=y
323# CONFIG_FW_LOADER is not set 331# CONFIG_FW_LOADER is not set
@@ -386,6 +394,7 @@ CONFIG_SCSI_WAIT_SCAN=m
386# CONFIG_SCSI_FC_ATTRS is not set 394# CONFIG_SCSI_FC_ATTRS is not set
387# CONFIG_SCSI_ISCSI_ATTRS is not set 395# CONFIG_SCSI_ISCSI_ATTRS is not set
388# CONFIG_SCSI_SAS_LIBSAS is not set 396# CONFIG_SCSI_SAS_LIBSAS is not set
397# CONFIG_SCSI_SRP_ATTRS is not set
389CONFIG_SCSI_LOWLEVEL=y 398CONFIG_SCSI_LOWLEVEL=y
390# CONFIG_ISCSI_TCP is not set 399# CONFIG_ISCSI_TCP is not set
391# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 400# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -397,6 +406,7 @@ CONFIG_SCSI_LOWLEVEL=y
397# CONFIG_SCSI_AIC79XX is not set 406# CONFIG_SCSI_AIC79XX is not set
398# CONFIG_SCSI_AIC94XX is not set 407# CONFIG_SCSI_AIC94XX is not set
399# CONFIG_SCSI_DPT_I2O is not set 408# CONFIG_SCSI_DPT_I2O is not set
409# CONFIG_SCSI_ADVANSYS is not set
400# CONFIG_SCSI_ARCMSR is not set 410# CONFIG_SCSI_ARCMSR is not set
401# CONFIG_MEGARAID_NEWGEN is not set 411# CONFIG_MEGARAID_NEWGEN is not set
402# CONFIG_MEGARAID_LEGACY is not set 412# CONFIG_MEGARAID_LEGACY is not set
@@ -423,14 +433,7 @@ CONFIG_SCSI_LOWLEVEL=y
423# CONFIG_SCSI_SRP is not set 433# CONFIG_SCSI_SRP is not set
424# CONFIG_ATA is not set 434# CONFIG_ATA is not set
425# CONFIG_MD is not set 435# CONFIG_MD is not set
426
427#
428# Fusion MPT device support
429#
430# CONFIG_FUSION is not set 436# CONFIG_FUSION is not set
431# CONFIG_FUSION_SPI is not set
432# CONFIG_FUSION_FC is not set
433# CONFIG_FUSION_SAS is not set
434 437
435# 438#
436# IEEE 1394 (FireWire) support 439# IEEE 1394 (FireWire) support
@@ -446,6 +449,8 @@ CONFIG_NETDEVICES=y
446# CONFIG_MACVLAN is not set 449# CONFIG_MACVLAN is not set
447# CONFIG_EQUALIZER is not set 450# CONFIG_EQUALIZER is not set
448# CONFIG_TUN is not set 451# CONFIG_TUN is not set
452# CONFIG_VETH is not set
453# CONFIG_IP1000 is not set
449# CONFIG_ARCNET is not set 454# CONFIG_ARCNET is not set
450CONFIG_PHYLIB=y 455CONFIG_PHYLIB=y
451 456
@@ -462,6 +467,7 @@ CONFIG_MARVELL_PHY=y
462# CONFIG_BROADCOM_PHY is not set 467# CONFIG_BROADCOM_PHY is not set
463# CONFIG_ICPLUS_PHY is not set 468# CONFIG_ICPLUS_PHY is not set
464# CONFIG_FIXED_PHY is not set 469# CONFIG_FIXED_PHY is not set
470# CONFIG_MDIO_BITBANG is not set
465CONFIG_NET_ETHERNET=y 471CONFIG_NET_ETHERNET=y
466CONFIG_MII=y 472CONFIG_MII=y
467# CONFIG_HAPPYMEAL is not set 473# CONFIG_HAPPYMEAL is not set
@@ -470,11 +476,17 @@ CONFIG_MII=y
470# CONFIG_NET_VENDOR_3COM is not set 476# CONFIG_NET_VENDOR_3COM is not set
471# CONFIG_NET_TULIP is not set 477# CONFIG_NET_TULIP is not set
472# CONFIG_HP100 is not set 478# CONFIG_HP100 is not set
479# CONFIG_IBM_NEW_EMAC_ZMII is not set
480# CONFIG_IBM_NEW_EMAC_RGMII is not set
481# CONFIG_IBM_NEW_EMAC_TAH is not set
482# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
473# CONFIG_NET_PCI is not set 483# CONFIG_NET_PCI is not set
484# CONFIG_B44 is not set
474CONFIG_NETDEV_1000=y 485CONFIG_NETDEV_1000=y
475# CONFIG_ACENIC is not set 486# CONFIG_ACENIC is not set
476# CONFIG_DL2K is not set 487# CONFIG_DL2K is not set
477# CONFIG_E1000 is not set 488# CONFIG_E1000 is not set
489# CONFIG_E1000E is not set
478# CONFIG_NS83820 is not set 490# CONFIG_NS83820 is not set
479# CONFIG_HAMACHI is not set 491# CONFIG_HAMACHI is not set
480# CONFIG_YELLOWFIN is not set 492# CONFIG_YELLOWFIN is not set
@@ -482,6 +494,7 @@ CONFIG_NETDEV_1000=y
482# CONFIG_SIS190 is not set 494# CONFIG_SIS190 is not set
483# CONFIG_SKGE is not set 495# CONFIG_SKGE is not set
484# CONFIG_SKY2 is not set 496# CONFIG_SKY2 is not set
497# CONFIG_SK98LIN is not set
485# CONFIG_VIA_VELOCITY is not set 498# CONFIG_VIA_VELOCITY is not set
486# CONFIG_TIGON3 is not set 499# CONFIG_TIGON3 is not set
487# CONFIG_BNX2 is not set 500# CONFIG_BNX2 is not set
@@ -496,11 +509,14 @@ CONFIG_UCC_GETH=y
496CONFIG_NETDEV_10000=y 509CONFIG_NETDEV_10000=y
497# CONFIG_CHELSIO_T1 is not set 510# CONFIG_CHELSIO_T1 is not set
498# CONFIG_CHELSIO_T3 is not set 511# CONFIG_CHELSIO_T3 is not set
512# CONFIG_IXGBE is not set
499# CONFIG_IXGB is not set 513# CONFIG_IXGB is not set
500# CONFIG_S2IO is not set 514# CONFIG_S2IO is not set
501# CONFIG_MYRI10GE is not set 515# CONFIG_MYRI10GE is not set
502# CONFIG_NETXEN_NIC is not set 516# CONFIG_NETXEN_NIC is not set
517# CONFIG_NIU is not set
503# CONFIG_MLX4_CORE is not set 518# CONFIG_MLX4_CORE is not set
519# CONFIG_TEHUTI is not set
504# CONFIG_TR is not set 520# CONFIG_TR is not set
505 521
506# 522#
@@ -533,7 +549,6 @@ CONFIG_INPUT=y
533# 549#
534# CONFIG_INPUT_MOUSEDEV is not set 550# CONFIG_INPUT_MOUSEDEV is not set
535# CONFIG_INPUT_JOYDEV is not set 551# CONFIG_INPUT_JOYDEV is not set
536# CONFIG_INPUT_TSDEV is not set
537# CONFIG_INPUT_EVDEV is not set 552# CONFIG_INPUT_EVDEV is not set
538# CONFIG_INPUT_EVBUG is not set 553# CONFIG_INPUT_EVBUG is not set
539 554
@@ -581,28 +596,12 @@ CONFIG_UNIX98_PTYS=y
581CONFIG_LEGACY_PTYS=y 596CONFIG_LEGACY_PTYS=y
582CONFIG_LEGACY_PTY_COUNT=256 597CONFIG_LEGACY_PTY_COUNT=256
583# CONFIG_IPMI_HANDLER is not set 598# CONFIG_IPMI_HANDLER is not set
584CONFIG_WATCHDOG=y
585# CONFIG_WATCHDOG_NOWAYOUT is not set
586
587#
588# Watchdog Device Drivers
589#
590# CONFIG_SOFT_WATCHDOG is not set
591CONFIG_83xx_WDT=y
592
593#
594# PCI-based Watchdog Cards
595#
596# CONFIG_PCIPCWATCHDOG is not set
597# CONFIG_WDTPCI is not set
598CONFIG_HW_RANDOM=y 599CONFIG_HW_RANDOM=y
599# CONFIG_NVRAM is not set 600# CONFIG_NVRAM is not set
600CONFIG_GEN_RTC=y 601CONFIG_GEN_RTC=y
601# CONFIG_GEN_RTC_X is not set 602# CONFIG_GEN_RTC_X is not set
602# CONFIG_R3964 is not set 603# CONFIG_R3964 is not set
603# CONFIG_APPLICOM is not set 604# CONFIG_APPLICOM is not set
604# CONFIG_AGP is not set
605# CONFIG_DRM is not set
606# CONFIG_RAW_DRIVER is not set 605# CONFIG_RAW_DRIVER is not set
607# CONFIG_TCG_TPM is not set 606# CONFIG_TCG_TPM is not set
608CONFIG_DEVPORT=y 607CONFIG_DEVPORT=y
@@ -671,8 +670,6 @@ CONFIG_I2C_MPC=y
671# CONFIG_POWER_SUPPLY is not set 670# CONFIG_POWER_SUPPLY is not set
672CONFIG_HWMON=y 671CONFIG_HWMON=y
673# CONFIG_HWMON_VID is not set 672# CONFIG_HWMON_VID is not set
674# CONFIG_SENSORS_ABITUGURU is not set
675# CONFIG_SENSORS_ABITUGURU3 is not set
676# CONFIG_SENSORS_AD7418 is not set 673# CONFIG_SENSORS_AD7418 is not set
677# CONFIG_SENSORS_ADM1021 is not set 674# CONFIG_SENSORS_ADM1021 is not set
678# CONFIG_SENSORS_ADM1025 is not set 675# CONFIG_SENSORS_ADM1025 is not set
@@ -680,12 +677,13 @@ CONFIG_HWMON=y
680# CONFIG_SENSORS_ADM1029 is not set 677# CONFIG_SENSORS_ADM1029 is not set
681# CONFIG_SENSORS_ADM1031 is not set 678# CONFIG_SENSORS_ADM1031 is not set
682# CONFIG_SENSORS_ADM9240 is not set 679# CONFIG_SENSORS_ADM9240 is not set
683# CONFIG_SENSORS_ASB100 is not set 680# CONFIG_SENSORS_ADT7470 is not set
684# CONFIG_SENSORS_ATXP1 is not set 681# CONFIG_SENSORS_ATXP1 is not set
685# CONFIG_SENSORS_DS1621 is not set 682# CONFIG_SENSORS_DS1621 is not set
683# CONFIG_SENSORS_I5K_AMB is not set
686# CONFIG_SENSORS_F71805F is not set 684# CONFIG_SENSORS_F71805F is not set
687# CONFIG_SENSORS_FSCHER is not set 685# CONFIG_SENSORS_F71882FG is not set
688# CONFIG_SENSORS_FSCPOS is not set 686# CONFIG_SENSORS_F75375S is not set
689# CONFIG_SENSORS_GL518SM is not set 687# CONFIG_SENSORS_GL518SM is not set
690# CONFIG_SENSORS_GL520SM is not set 688# CONFIG_SENSORS_GL520SM is not set
691# CONFIG_SENSORS_IT87 is not set 689# CONFIG_SENSORS_IT87 is not set
@@ -721,6 +719,26 @@ CONFIG_HWMON=y
721# CONFIG_SENSORS_W83627HF is not set 719# CONFIG_SENSORS_W83627HF is not set
722# CONFIG_SENSORS_W83627EHF is not set 720# CONFIG_SENSORS_W83627EHF is not set
723# CONFIG_HWMON_DEBUG_CHIP is not set 721# CONFIG_HWMON_DEBUG_CHIP is not set
722CONFIG_WATCHDOG=y
723# CONFIG_WATCHDOG_NOWAYOUT is not set
724
725#
726# Watchdog Device Drivers
727#
728# CONFIG_SOFT_WATCHDOG is not set
729CONFIG_83xx_WDT=y
730
731#
732# PCI-based Watchdog Cards
733#
734# CONFIG_PCIPCWATCHDOG is not set
735# CONFIG_WDTPCI is not set
736
737#
738# Sonics Silicon Backplane
739#
740CONFIG_SSB_POSSIBLE=y
741# CONFIG_SSB is not set
724 742
725# 743#
726# Multifunction device drivers 744# Multifunction device drivers
@@ -737,16 +755,17 @@ CONFIG_DAB=y
737# 755#
738# Graphics support 756# Graphics support
739# 757#
758# CONFIG_AGP is not set
759# CONFIG_DRM is not set
760# CONFIG_VGASTATE is not set
761CONFIG_VIDEO_OUTPUT_CONTROL=m
762# CONFIG_FB is not set
740# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 763# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
741 764
742# 765#
743# Display device support 766# Display device support
744# 767#
745# CONFIG_DISPLAY_SUPPORT is not set 768# CONFIG_DISPLAY_SUPPORT is not set
746# CONFIG_VGASTATE is not set
747CONFIG_VIDEO_OUTPUT_CONTROL=m
748# CONFIG_FB is not set
749# CONFIG_FB_IBM_GXT4500 is not set
750 769
751# 770#
752# Sound 771# Sound
@@ -755,6 +774,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
755CONFIG_HID_SUPPORT=y 774CONFIG_HID_SUPPORT=y
756CONFIG_HID=y 775CONFIG_HID=y
757# CONFIG_HID_DEBUG is not set 776# CONFIG_HID_DEBUG is not set
777# CONFIG_HIDRAW is not set
758CONFIG_USB_SUPPORT=y 778CONFIG_USB_SUPPORT=y
759CONFIG_USB_ARCH_HAS_HCD=y 779CONFIG_USB_ARCH_HAS_HCD=y
760CONFIG_USB_ARCH_HAS_OHCI=y 780CONFIG_USB_ARCH_HAS_OHCI=y
@@ -822,19 +842,6 @@ CONFIG_RTC_DRV_DS1374=y
822# 842#
823 843
824# 844#
825# DMA Engine support
826#
827# CONFIG_DMA_ENGINE is not set
828
829#
830# DMA Clients
831#
832
833#
834# DMA Devices
835#
836
837#
838# Userspace I/O 845# Userspace I/O
839# 846#
840# CONFIG_UIO is not set 847# CONFIG_UIO is not set
@@ -851,7 +858,6 @@ CONFIG_EXT3_FS_XATTR=y
851# CONFIG_EXT3_FS_SECURITY is not set 858# CONFIG_EXT3_FS_SECURITY is not set
852# CONFIG_EXT4DEV_FS is not set 859# CONFIG_EXT4DEV_FS is not set
853CONFIG_JBD=y 860CONFIG_JBD=y
854# CONFIG_JBD_DEBUG is not set
855CONFIG_FS_MBCACHE=y 861CONFIG_FS_MBCACHE=y
856# CONFIG_REISERFS_FS is not set 862# CONFIG_REISERFS_FS is not set
857# CONFIG_JFS_FS is not set 863# CONFIG_JFS_FS is not set
@@ -892,7 +898,6 @@ CONFIG_SYSFS=y
892CONFIG_TMPFS=y 898CONFIG_TMPFS=y
893# CONFIG_TMPFS_POSIX_ACL is not set 899# CONFIG_TMPFS_POSIX_ACL is not set
894# CONFIG_HUGETLB_PAGE is not set 900# CONFIG_HUGETLB_PAGE is not set
895CONFIG_RAMFS=y
896# CONFIG_CONFIGFS_FS is not set 901# CONFIG_CONFIGFS_FS is not set
897 902
898# 903#
@@ -911,10 +916,7 @@ CONFIG_RAMFS=y
911# CONFIG_QNX4FS_FS is not set 916# CONFIG_QNX4FS_FS is not set
912# CONFIG_SYSV_FS is not set 917# CONFIG_SYSV_FS is not set
913# CONFIG_UFS_FS is not set 918# CONFIG_UFS_FS is not set
914 919CONFIG_NETWORK_FILESYSTEMS=y
915#
916# Network File Systems
917#
918CONFIG_NFS_FS=y 920CONFIG_NFS_FS=y
919CONFIG_NFS_V3=y 921CONFIG_NFS_V3=y
920# CONFIG_NFS_V3_ACL is not set 922# CONFIG_NFS_V3_ACL is not set
@@ -953,15 +955,7 @@ CONFIG_PARTITION_ADVANCED=y
953# CONFIG_KARMA_PARTITION is not set 955# CONFIG_KARMA_PARTITION is not set
954# CONFIG_EFI_PARTITION is not set 956# CONFIG_EFI_PARTITION is not set
955# CONFIG_SYSV68_PARTITION is not set 957# CONFIG_SYSV68_PARTITION is not set
956
957#
958# Native Language Support
959#
960# CONFIG_NLS is not set 958# CONFIG_NLS is not set
961
962#
963# Distributed Lock Manager
964#
965# CONFIG_DLM is not set 959# CONFIG_DLM is not set
966# CONFIG_UCC_SLOW is not set 960# CONFIG_UCC_SLOW is not set
967CONFIG_UCC_FAST=y 961CONFIG_UCC_FAST=y
@@ -981,23 +975,22 @@ CONFIG_PLIST=y
981CONFIG_HAS_IOMEM=y 975CONFIG_HAS_IOMEM=y
982CONFIG_HAS_IOPORT=y 976CONFIG_HAS_IOPORT=y
983CONFIG_HAS_DMA=y 977CONFIG_HAS_DMA=y
984 978# CONFIG_INSTRUMENTATION is not set
985#
986# Instrumentation Support
987#
988# CONFIG_PROFILING is not set
989 979
990# 980#
991# Kernel hacking 981# Kernel hacking
992# 982#
993# CONFIG_PRINTK_TIME is not set 983# CONFIG_PRINTK_TIME is not set
984CONFIG_ENABLE_WARN_DEPRECATED=y
994CONFIG_ENABLE_MUST_CHECK=y 985CONFIG_ENABLE_MUST_CHECK=y
995# CONFIG_MAGIC_SYSRQ is not set 986# CONFIG_MAGIC_SYSRQ is not set
996# CONFIG_UNUSED_SYMBOLS is not set 987# CONFIG_UNUSED_SYMBOLS is not set
997# CONFIG_DEBUG_FS is not set 988# CONFIG_DEBUG_FS is not set
998# CONFIG_HEADERS_CHECK is not set 989# CONFIG_HEADERS_CHECK is not set
999# CONFIG_DEBUG_KERNEL is not set 990# CONFIG_DEBUG_KERNEL is not set
991# CONFIG_SLUB_DEBUG_ON is not set
1000# CONFIG_DEBUG_BUGVERBOSE is not set 992# CONFIG_DEBUG_BUGVERBOSE is not set
993# CONFIG_SAMPLES is not set
1001# CONFIG_PPC_EARLY_DEBUG is not set 994# CONFIG_PPC_EARLY_DEBUG is not set
1002 995
1003# 996#
@@ -1005,6 +998,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1005# 998#
1006# CONFIG_KEYS is not set 999# CONFIG_KEYS is not set
1007# CONFIG_SECURITY is not set 1000# CONFIG_SECURITY is not set
1001# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1008CONFIG_CRYPTO=y 1002CONFIG_CRYPTO=y
1009CONFIG_CRYPTO_ALGAPI=y 1003CONFIG_CRYPTO_ALGAPI=y
1010CONFIG_CRYPTO_BLKCIPHER=y 1004CONFIG_CRYPTO_BLKCIPHER=y
@@ -1024,6 +1018,7 @@ CONFIG_CRYPTO_ECB=m
1024CONFIG_CRYPTO_CBC=y 1018CONFIG_CRYPTO_CBC=y
1025CONFIG_CRYPTO_PCBC=m 1019CONFIG_CRYPTO_PCBC=m
1026# CONFIG_CRYPTO_LRW is not set 1020# CONFIG_CRYPTO_LRW is not set
1021# CONFIG_CRYPTO_XTS is not set
1027# CONFIG_CRYPTO_CRYPTD is not set 1022# CONFIG_CRYPTO_CRYPTD is not set
1028CONFIG_CRYPTO_DES=y 1023CONFIG_CRYPTO_DES=y
1029# CONFIG_CRYPTO_FCRYPT is not set 1024# CONFIG_CRYPTO_FCRYPT is not set
@@ -1037,9 +1032,13 @@ CONFIG_CRYPTO_DES=y
1037# CONFIG_CRYPTO_ARC4 is not set 1032# CONFIG_CRYPTO_ARC4 is not set
1038# CONFIG_CRYPTO_KHAZAD is not set 1033# CONFIG_CRYPTO_KHAZAD is not set
1039# CONFIG_CRYPTO_ANUBIS is not set 1034# CONFIG_CRYPTO_ANUBIS is not set
1035# CONFIG_CRYPTO_SEED is not set
1040# CONFIG_CRYPTO_DEFLATE is not set 1036# CONFIG_CRYPTO_DEFLATE is not set
1041# CONFIG_CRYPTO_MICHAEL_MIC is not set 1037# CONFIG_CRYPTO_MICHAEL_MIC is not set
1042# CONFIG_CRYPTO_CRC32C is not set 1038# CONFIG_CRYPTO_CRC32C is not set
1043# CONFIG_CRYPTO_CAMELLIA is not set 1039# CONFIG_CRYPTO_CAMELLIA is not set
1044# CONFIG_CRYPTO_TEST is not set 1040# CONFIG_CRYPTO_TEST is not set
1041# CONFIG_CRYPTO_AUTHENC is not set
1045CONFIG_CRYPTO_HW=y 1042CONFIG_CRYPTO_HW=y
1043# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8540_ads_defconfig b/arch/powerpc/configs/mpc8540_ads_defconfig
index b953b2c51453..3791e29e7d06 100644
--- a/arch/powerpc/configs/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/mpc8540_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:42 2007 4# Thu Dec 6 16:48:44 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_FSL_BOOKE=y
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,9 +68,12 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
67# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
68CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
69CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
70# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
71CONFIG_BLK_DEV_INITRD=y 79CONFIG_BLK_DEV_INITRD=y
@@ -86,7 +94,6 @@ CONFIG_FUTEX=y
86CONFIG_ANON_INODES=y 94CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 95CONFIG_EPOLL=y
88CONFIG_SIGNALFD=y 96CONFIG_SIGNALFD=y
89CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 98CONFIG_SHMEM=y
92CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
@@ -129,7 +136,7 @@ CONFIG_MPC8540_ADS=y
129# CONFIG_MPC8560_ADS is not set 136# CONFIG_MPC8560_ADS is not set
130# CONFIG_MPC85xx_CDS is not set 137# CONFIG_MPC85xx_CDS is not set
131# CONFIG_MPC85xx_MDS is not set 138# CONFIG_MPC85xx_MDS is not set
132# CONFIG_MPC8544_DS is not set 139# CONFIG_MPC85xx_DS is not set
133CONFIG_MPC8540=y 140CONFIG_MPC8540=y
134CONFIG_MPC85xx=y 141CONFIG_MPC85xx=y
135CONFIG_MPIC=y 142CONFIG_MPIC=y
@@ -149,6 +156,10 @@ CONFIG_MPIC=y
149# Kernel options 156# Kernel options
150# 157#
151# CONFIG_HIGHMEM is not set 158# CONFIG_HIGHMEM is not set
159CONFIG_TICK_ONESHOT=y
160CONFIG_NO_HZ=y
161CONFIG_HIGH_RES_TIMERS=y
162CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
152# CONFIG_HZ_100 is not set 163# CONFIG_HZ_100 is not set
153CONFIG_HZ_250=y 164CONFIG_HZ_250=y
154# CONFIG_HZ_300 is not set 165# CONFIG_HZ_300 is not set
@@ -170,6 +181,7 @@ CONFIG_FLATMEM_MANUAL=y
170CONFIG_FLATMEM=y 181CONFIG_FLATMEM=y
171CONFIG_FLAT_NODE_MEM_MAP=y 182CONFIG_FLAT_NODE_MEM_MAP=y
172# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
184# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
173CONFIG_SPLIT_PTLOCK_CPUS=4 185CONFIG_SPLIT_PTLOCK_CPUS=4
174# CONFIG_RESOURCES_64BIT is not set 186# CONFIG_RESOURCES_64BIT is not set
175CONFIG_ZONE_DMA_FLAG=1 187CONFIG_ZONE_DMA_FLAG=1
@@ -178,6 +190,8 @@ CONFIG_VIRT_TO_BUS=y
178CONFIG_PROC_DEVICETREE=y 190CONFIG_PROC_DEVICETREE=y
179# CONFIG_CMDLINE_BOOL is not set 191# CONFIG_CMDLINE_BOOL is not set
180# CONFIG_PM is not set 192# CONFIG_PM is not set
193CONFIG_SUSPEND_UP_POSSIBLE=y
194CONFIG_HIBERNATION_UP_POSSIBLE=y
181# CONFIG_SECCOMP is not set 195# CONFIG_SECCOMP is not set
182CONFIG_WANT_DEVICE_TREE=y 196CONFIG_WANT_DEVICE_TREE=y
183CONFIG_DEVICE_TREE="" 197CONFIG_DEVICE_TREE=""
@@ -193,10 +207,6 @@ CONFIG_FSL_SOC=y
193# CONFIG_PCI_DOMAINS is not set 207# CONFIG_PCI_DOMAINS is not set
194# CONFIG_PCI_SYSCALL is not set 208# CONFIG_PCI_SYSCALL is not set
195# CONFIG_ARCH_SUPPORTS_MSI is not set 209# CONFIG_ARCH_SUPPORTS_MSI is not set
196
197#
198# PCCARD (PCMCIA/CardBus) support
199#
200# CONFIG_PCCARD is not set 210# CONFIG_PCCARD is not set
201 211
202# 212#
@@ -210,7 +220,7 @@ CONFIG_FSL_SOC=y
210CONFIG_HIGHMEM_START=0xfe000000 220CONFIG_HIGHMEM_START=0xfe000000
211CONFIG_LOWMEM_SIZE=0x30000000 221CONFIG_LOWMEM_SIZE=0x30000000
212CONFIG_KERNEL_START=0xc0000000 222CONFIG_KERNEL_START=0xc0000000
213CONFIG_TASK_SIZE=0x80000000 223CONFIG_TASK_SIZE=0xc0000000
214CONFIG_BOOT_LOAD=0x00800000 224CONFIG_BOOT_LOAD=0x00800000
215 225
216# 226#
@@ -250,6 +260,7 @@ CONFIG_SYN_COOKIES=y
250CONFIG_INET_XFRM_MODE_TRANSPORT=y 260CONFIG_INET_XFRM_MODE_TRANSPORT=y
251CONFIG_INET_XFRM_MODE_TUNNEL=y 261CONFIG_INET_XFRM_MODE_TUNNEL=y
252CONFIG_INET_XFRM_MODE_BEET=y 262CONFIG_INET_XFRM_MODE_BEET=y
263# CONFIG_INET_LRO is not set
253CONFIG_INET_DIAG=y 264CONFIG_INET_DIAG=y
254CONFIG_INET_TCP_DIAG=y 265CONFIG_INET_TCP_DIAG=y
255# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
@@ -275,10 +286,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
275# CONFIG_LAPB is not set 286# CONFIG_LAPB is not set
276# CONFIG_ECONET is not set 287# CONFIG_ECONET is not set
277# CONFIG_WAN_ROUTER is not set 288# CONFIG_WAN_ROUTER is not set
278
279#
280# QoS and/or fair queueing
281#
282# CONFIG_NET_SCHED is not set 289# CONFIG_NET_SCHED is not set
283 290
284# 291#
@@ -307,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
307# 314#
308# Generic Driver Options 315# Generic Driver Options
309# 316#
317CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
310CONFIG_STANDALONE=y 318CONFIG_STANDALONE=y
311CONFIG_PREVENT_FIRMWARE_BUILD=y 319CONFIG_PREVENT_FIRMWARE_BUILD=y
312# CONFIG_FW_LOADER is not set 320# CONFIG_FW_LOADER is not set
@@ -350,6 +358,7 @@ CONFIG_NETDEVICES=y
350# CONFIG_MACVLAN is not set 358# CONFIG_MACVLAN is not set
351# CONFIG_EQUALIZER is not set 359# CONFIG_EQUALIZER is not set
352# CONFIG_TUN is not set 360# CONFIG_TUN is not set
361# CONFIG_VETH is not set
353CONFIG_PHYLIB=y 362CONFIG_PHYLIB=y
354 363
355# 364#
@@ -365,8 +374,14 @@ CONFIG_PHYLIB=y
365# CONFIG_BROADCOM_PHY is not set 374# CONFIG_BROADCOM_PHY is not set
366# CONFIG_ICPLUS_PHY is not set 375# CONFIG_ICPLUS_PHY is not set
367# CONFIG_FIXED_PHY is not set 376# CONFIG_FIXED_PHY is not set
377# CONFIG_MDIO_BITBANG is not set
368CONFIG_NET_ETHERNET=y 378CONFIG_NET_ETHERNET=y
369CONFIG_MII=y 379CONFIG_MII=y
380# CONFIG_IBM_NEW_EMAC_ZMII is not set
381# CONFIG_IBM_NEW_EMAC_RGMII is not set
382# CONFIG_IBM_NEW_EMAC_TAH is not set
383# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
384# CONFIG_B44 is not set
370CONFIG_NETDEV_1000=y 385CONFIG_NETDEV_1000=y
371CONFIG_GIANFAR=y 386CONFIG_GIANFAR=y
372CONFIG_GFAR_NAPI=y 387CONFIG_GFAR_NAPI=y
@@ -399,7 +414,6 @@ CONFIG_INPUT=y
399# 414#
400# CONFIG_INPUT_MOUSEDEV is not set 415# CONFIG_INPUT_MOUSEDEV is not set
401# CONFIG_INPUT_JOYDEV is not set 416# CONFIG_INPUT_JOYDEV is not set
402# CONFIG_INPUT_TSDEV is not set
403# CONFIG_INPUT_EVDEV is not set 417# CONFIG_INPUT_EVDEV is not set
404# CONFIG_INPUT_EVBUG is not set 418# CONFIG_INPUT_EVBUG is not set
405 419
@@ -446,7 +460,6 @@ CONFIG_UNIX98_PTYS=y
446CONFIG_LEGACY_PTYS=y 460CONFIG_LEGACY_PTYS=y
447CONFIG_LEGACY_PTY_COUNT=256 461CONFIG_LEGACY_PTY_COUNT=256
448# CONFIG_IPMI_HANDLER is not set 462# CONFIG_IPMI_HANDLER is not set
449# CONFIG_WATCHDOG is not set
450# CONFIG_HW_RANDOM is not set 463# CONFIG_HW_RANDOM is not set
451# CONFIG_NVRAM is not set 464# CONFIG_NVRAM is not set
452CONFIG_GEN_RTC=y 465CONFIG_GEN_RTC=y
@@ -465,9 +478,8 @@ CONFIG_GEN_RTC=y
465# CONFIG_POWER_SUPPLY is not set 478# CONFIG_POWER_SUPPLY is not set
466CONFIG_HWMON=y 479CONFIG_HWMON=y
467# CONFIG_HWMON_VID is not set 480# CONFIG_HWMON_VID is not set
468# CONFIG_SENSORS_ABITUGURU is not set
469# CONFIG_SENSORS_ABITUGURU3 is not set
470# CONFIG_SENSORS_F71805F is not set 481# CONFIG_SENSORS_F71805F is not set
482# CONFIG_SENSORS_F71882FG is not set
471# CONFIG_SENSORS_IT87 is not set 483# CONFIG_SENSORS_IT87 is not set
472# CONFIG_SENSORS_PC87360 is not set 484# CONFIG_SENSORS_PC87360 is not set
473# CONFIG_SENSORS_PC87427 is not set 485# CONFIG_SENSORS_PC87427 is not set
@@ -477,6 +489,13 @@ CONFIG_HWMON=y
477# CONFIG_SENSORS_W83627HF is not set 489# CONFIG_SENSORS_W83627HF is not set
478# CONFIG_SENSORS_W83627EHF is not set 490# CONFIG_SENSORS_W83627EHF is not set
479# CONFIG_HWMON_DEBUG_CHIP is not set 491# CONFIG_HWMON_DEBUG_CHIP is not set
492# CONFIG_WATCHDOG is not set
493
494#
495# Sonics Silicon Backplane
496#
497CONFIG_SSB_POSSIBLE=y
498# CONFIG_SSB is not set
480 499
481# 500#
482# Multifunction device drivers 501# Multifunction device drivers
@@ -493,16 +512,15 @@ CONFIG_DAB=y
493# 512#
494# Graphics support 513# Graphics support
495# 514#
515# CONFIG_VGASTATE is not set
516CONFIG_VIDEO_OUTPUT_CONTROL=y
517# CONFIG_FB is not set
496# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 518# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
497 519
498# 520#
499# Display device support 521# Display device support
500# 522#
501# CONFIG_DISPLAY_SUPPORT is not set 523# CONFIG_DISPLAY_SUPPORT is not set
502# CONFIG_VGASTATE is not set
503CONFIG_VIDEO_OUTPUT_CONTROL=y
504# CONFIG_FB is not set
505# CONFIG_FB_IBM_GXT4500 is not set
506 524
507# 525#
508# Sound 526# Sound
@@ -511,6 +529,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
511CONFIG_HID_SUPPORT=y 529CONFIG_HID_SUPPORT=y
512CONFIG_HID=y 530CONFIG_HID=y
513# CONFIG_HID_DEBUG is not set 531# CONFIG_HID_DEBUG is not set
532# CONFIG_HIDRAW is not set
514CONFIG_USB_SUPPORT=y 533CONFIG_USB_SUPPORT=y
515# CONFIG_USB_ARCH_HAS_HCD is not set 534# CONFIG_USB_ARCH_HAS_HCD is not set
516# CONFIG_USB_ARCH_HAS_OHCI is not set 535# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -530,19 +549,6 @@ CONFIG_USB_SUPPORT=y
530# CONFIG_RTC_CLASS is not set 549# CONFIG_RTC_CLASS is not set
531 550
532# 551#
533# DMA Engine support
534#
535# CONFIG_DMA_ENGINE is not set
536
537#
538# DMA Clients
539#
540
541#
542# DMA Devices
543#
544
545#
546# Userspace I/O 552# Userspace I/O
547# 553#
548# CONFIG_UIO is not set 554# CONFIG_UIO is not set
@@ -559,7 +565,6 @@ CONFIG_EXT3_FS_XATTR=y
559# CONFIG_EXT3_FS_SECURITY is not set 565# CONFIG_EXT3_FS_SECURITY is not set
560# CONFIG_EXT4DEV_FS is not set 566# CONFIG_EXT4DEV_FS is not set
561CONFIG_JBD=y 567CONFIG_JBD=y
562# CONFIG_JBD_DEBUG is not set
563CONFIG_FS_MBCACHE=y 568CONFIG_FS_MBCACHE=y
564# CONFIG_REISERFS_FS is not set 569# CONFIG_REISERFS_FS is not set
565# CONFIG_JFS_FS is not set 570# CONFIG_JFS_FS is not set
@@ -600,7 +605,6 @@ CONFIG_SYSFS=y
600CONFIG_TMPFS=y 605CONFIG_TMPFS=y
601# CONFIG_TMPFS_POSIX_ACL is not set 606# CONFIG_TMPFS_POSIX_ACL is not set
602# CONFIG_HUGETLB_PAGE is not set 607# CONFIG_HUGETLB_PAGE is not set
603CONFIG_RAMFS=y
604# CONFIG_CONFIGFS_FS is not set 608# CONFIG_CONFIGFS_FS is not set
605 609
606# 610#
@@ -619,10 +623,7 @@ CONFIG_RAMFS=y
619# CONFIG_QNX4FS_FS is not set 623# CONFIG_QNX4FS_FS is not set
620# CONFIG_SYSV_FS is not set 624# CONFIG_SYSV_FS is not set
621# CONFIG_UFS_FS is not set 625# CONFIG_UFS_FS is not set
622 626CONFIG_NETWORK_FILESYSTEMS=y
623#
624# Network File Systems
625#
626CONFIG_NFS_FS=y 627CONFIG_NFS_FS=y
627# CONFIG_NFS_V3 is not set 628# CONFIG_NFS_V3 is not set
628# CONFIG_NFS_V4 is not set 629# CONFIG_NFS_V4 is not set
@@ -658,15 +659,7 @@ CONFIG_PARTITION_ADVANCED=y
658# CONFIG_KARMA_PARTITION is not set 659# CONFIG_KARMA_PARTITION is not set
659# CONFIG_EFI_PARTITION is not set 660# CONFIG_EFI_PARTITION is not set
660# CONFIG_SYSV68_PARTITION is not set 661# CONFIG_SYSV68_PARTITION is not set
661
662#
663# Native Language Support
664#
665# CONFIG_NLS is not set 662# CONFIG_NLS is not set
666
667#
668# Distributed Lock Manager
669#
670# CONFIG_DLM is not set 663# CONFIG_DLM is not set
671# CONFIG_UCC_SLOW is not set 664# CONFIG_UCC_SLOW is not set
672 665
@@ -684,16 +677,13 @@ CONFIG_PLIST=y
684CONFIG_HAS_IOMEM=y 677CONFIG_HAS_IOMEM=y
685CONFIG_HAS_IOPORT=y 678CONFIG_HAS_IOPORT=y
686CONFIG_HAS_DMA=y 679CONFIG_HAS_DMA=y
687 680# CONFIG_INSTRUMENTATION is not set
688#
689# Instrumentation Support
690#
691# CONFIG_PROFILING is not set
692 681
693# 682#
694# Kernel hacking 683# Kernel hacking
695# 684#
696# CONFIG_PRINTK_TIME is not set 685# CONFIG_PRINTK_TIME is not set
686CONFIG_ENABLE_WARN_DEPRECATED=y
697CONFIG_ENABLE_MUST_CHECK=y 687CONFIG_ENABLE_MUST_CHECK=y
698# CONFIG_MAGIC_SYSRQ is not set 688# CONFIG_MAGIC_SYSRQ is not set
699# CONFIG_UNUSED_SYMBOLS is not set 689# CONFIG_UNUSED_SYMBOLS is not set
@@ -717,8 +707,11 @@ CONFIG_DEBUG_MUTEXES=y
717# CONFIG_DEBUG_INFO is not set 707# CONFIG_DEBUG_INFO is not set
718# CONFIG_DEBUG_VM is not set 708# CONFIG_DEBUG_VM is not set
719# CONFIG_DEBUG_LIST is not set 709# CONFIG_DEBUG_LIST is not set
710# CONFIG_DEBUG_SG is not set
720CONFIG_FORCED_INLINING=y 711CONFIG_FORCED_INLINING=y
712# CONFIG_BOOT_PRINTK_DELAY is not set
721# CONFIG_FAULT_INJECTION is not set 713# CONFIG_FAULT_INJECTION is not set
714# CONFIG_SAMPLES is not set
722# CONFIG_DEBUG_STACKOVERFLOW is not set 715# CONFIG_DEBUG_STACKOVERFLOW is not set
723# CONFIG_DEBUG_STACK_USAGE is not set 716# CONFIG_DEBUG_STACK_USAGE is not set
724# CONFIG_DEBUG_PAGEALLOC is not set 717# CONFIG_DEBUG_PAGEALLOC is not set
@@ -731,4 +724,6 @@ CONFIG_FORCED_INLINING=y
731# 724#
732# CONFIG_KEYS is not set 725# CONFIG_KEYS is not set
733# CONFIG_SECURITY is not set 726# CONFIG_SECURITY is not set
727# CONFIG_SECURITY_FILE_CAPABILITIES is not set
734# CONFIG_CRYPTO is not set 728# CONFIG_CRYPTO is not set
729# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8544_ds_defconfig b/arch/powerpc/configs/mpc8544_ds_defconfig
index 9a3e08bcd188..18623a8ee75c 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Wed Aug 29 16:41:04 2007 4# Thu Dec 6 16:48:46 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_FSL_BOOKE=y
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -64,11 +69,14 @@ CONFIG_BSD_PROCESS_ACCT=y
64# CONFIG_BSD_PROCESS_ACCT_V3 is not set 69# CONFIG_BSD_PROCESS_ACCT_V3 is not set
65# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
67CONFIG_AUDIT=y 73CONFIG_AUDIT=y
68# CONFIG_AUDITSYSCALL is not set 74# CONFIG_AUDITSYSCALL is not set
69CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
70CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
71CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set
79# CONFIG_FAIR_GROUP_SCHED is not set
72CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
74CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -89,7 +97,6 @@ CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 98CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 101CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -156,6 +163,10 @@ CONFIG_FSL_ULI1575=y
156# Kernel options 163# Kernel options
157# 164#
158CONFIG_HIGHMEM=y 165CONFIG_HIGHMEM=y
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 171CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -177,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
177CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
178CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
179# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
180CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
181# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
182CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -185,6 +197,8 @@ CONFIG_VIRT_TO_BUS=y
185CONFIG_PROC_DEVICETREE=y 197CONFIG_PROC_DEVICETREE=y
186# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
187# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
188CONFIG_SECCOMP=y 202CONFIG_SECCOMP=y
189CONFIG_WANT_DEVICE_TREE=y 203CONFIG_WANT_DEVICE_TREE=y
190CONFIG_DEVICE_TREE="" 204CONFIG_DEVICE_TREE=""
@@ -194,6 +208,7 @@ CONFIG_ISA_DMA_API=y
194# Bus options 208# Bus options
195# 209#
196CONFIG_ZONE_DMA=y 210CONFIG_ZONE_DMA=y
211CONFIG_GENERIC_ISA_DMA=y
197CONFIG_PPC_INDIRECT_PCI=y 212CONFIG_PPC_INDIRECT_PCI=y
198CONFIG_FSL_SOC=y 213CONFIG_FSL_SOC=y
199CONFIG_FSL_PCI=y 214CONFIG_FSL_PCI=y
@@ -203,11 +218,8 @@ CONFIG_PCI_SYSCALL=y
203# CONFIG_PCIEPORTBUS is not set 218# CONFIG_PCIEPORTBUS is not set
204CONFIG_ARCH_SUPPORTS_MSI=y 219CONFIG_ARCH_SUPPORTS_MSI=y
205# CONFIG_PCI_MSI is not set 220# CONFIG_PCI_MSI is not set
221CONFIG_PCI_LEGACY=y
206# CONFIG_PCI_DEBUG is not set 222# CONFIG_PCI_DEBUG is not set
207
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 223# CONFIG_PCCARD is not set
212# CONFIG_HOTPLUG_PCI is not set 224# CONFIG_HOTPLUG_PCI is not set
213 225
@@ -222,7 +234,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_HIGHMEM_START=0xfe000000 234CONFIG_HIGHMEM_START=0xfe000000
223CONFIG_LOWMEM_SIZE=0x30000000 235CONFIG_LOWMEM_SIZE=0x30000000
224CONFIG_KERNEL_START=0xc0000000 236CONFIG_KERNEL_START=0xc0000000
225CONFIG_TASK_SIZE=0x80000000 237CONFIG_TASK_SIZE=0xc0000000
226CONFIG_BOOT_LOAD=0x00800000 238CONFIG_BOOT_LOAD=0x00800000
227 239
228# 240#
@@ -271,6 +283,7 @@ CONFIG_INET_TUNNEL=y
271# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 283# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
272# CONFIG_INET_XFRM_MODE_TUNNEL is not set 284# CONFIG_INET_XFRM_MODE_TUNNEL is not set
273# CONFIG_INET_XFRM_MODE_BEET is not set 285# CONFIG_INET_XFRM_MODE_BEET is not set
286# CONFIG_INET_LRO is not set
274CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -315,10 +328,6 @@ CONFIG_SCTP_HMAC_MD5=y
315# CONFIG_LAPB is not set 328# CONFIG_LAPB is not set
316# CONFIG_ECONET is not set 329# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set 330# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set 331# CONFIG_NET_SCHED is not set
323 332
324# 333#
@@ -348,6 +357,7 @@ CONFIG_FIB_RULES=y
348# 357#
349# Generic Driver Options 358# Generic Driver Options
350# 359#
360CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
351CONFIG_STANDALONE=y 361CONFIG_STANDALONE=y
352CONFIG_PREVENT_FIRMWARE_BUILD=y 362CONFIG_PREVENT_FIRMWARE_BUILD=y
353CONFIG_FW_LOADER=y 363CONFIG_FW_LOADER=y
@@ -420,6 +430,7 @@ CONFIG_SCSI_WAIT_SCAN=m
420# CONFIG_SCSI_FC_ATTRS is not set 430# CONFIG_SCSI_FC_ATTRS is not set
421# CONFIG_SCSI_ISCSI_ATTRS is not set 431# CONFIG_SCSI_ISCSI_ATTRS is not set
422# CONFIG_SCSI_SAS_LIBSAS is not set 432# CONFIG_SCSI_SAS_LIBSAS is not set
433# CONFIG_SCSI_SRP_ATTRS is not set
423CONFIG_SCSI_LOWLEVEL=y 434CONFIG_SCSI_LOWLEVEL=y
424# CONFIG_ISCSI_TCP is not set 435# CONFIG_ISCSI_TCP is not set
425# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 436# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -431,6 +442,7 @@ CONFIG_SCSI_LOWLEVEL=y
431# CONFIG_SCSI_AIC79XX is not set 442# CONFIG_SCSI_AIC79XX is not set
432# CONFIG_SCSI_AIC94XX is not set 443# CONFIG_SCSI_AIC94XX is not set
433# CONFIG_SCSI_DPT_I2O is not set 444# CONFIG_SCSI_DPT_I2O is not set
445# CONFIG_SCSI_ADVANSYS is not set
434# CONFIG_SCSI_ARCMSR is not set 446# CONFIG_SCSI_ARCMSR is not set
435# CONFIG_MEGARAID_NEWGEN is not set 447# CONFIG_MEGARAID_NEWGEN is not set
436# CONFIG_MEGARAID_LEGACY is not set 448# CONFIG_MEGARAID_LEGACY is not set
@@ -498,6 +510,7 @@ CONFIG_PATA_ALI=y
498# CONFIG_PATA_OLDPIIX is not set 510# CONFIG_PATA_OLDPIIX is not set
499# CONFIG_PATA_NETCELL is not set 511# CONFIG_PATA_NETCELL is not set
500# CONFIG_PATA_NS87410 is not set 512# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set
501# CONFIG_PATA_OPTI is not set 514# CONFIG_PATA_OPTI is not set
502# CONFIG_PATA_OPTIDMA is not set 515# CONFIG_PATA_OPTIDMA is not set
503# CONFIG_PATA_PDC_OLD is not set 516# CONFIG_PATA_PDC_OLD is not set
@@ -512,14 +525,7 @@ CONFIG_PATA_ALI=y
512# CONFIG_PATA_WINBOND is not set 525# CONFIG_PATA_WINBOND is not set
513# CONFIG_PATA_PLATFORM is not set 526# CONFIG_PATA_PLATFORM is not set
514# CONFIG_MD is not set 527# CONFIG_MD is not set
515
516#
517# Fusion MPT device support
518#
519# CONFIG_FUSION is not set 528# CONFIG_FUSION is not set
520# CONFIG_FUSION_SPI is not set
521# CONFIG_FUSION_FC is not set
522# CONFIG_FUSION_SAS is not set
523 529
524# 530#
525# IEEE 1394 (FireWire) support 531# IEEE 1394 (FireWire) support
@@ -535,6 +541,8 @@ CONFIG_DUMMY=y
535# CONFIG_MACVLAN is not set 541# CONFIG_MACVLAN is not set
536# CONFIG_EQUALIZER is not set 542# CONFIG_EQUALIZER is not set
537# CONFIG_TUN is not set 543# CONFIG_TUN is not set
544# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
538# CONFIG_ARCNET is not set 546# CONFIG_ARCNET is not set
539CONFIG_PHYLIB=y 547CONFIG_PHYLIB=y
540 548
@@ -551,6 +559,7 @@ CONFIG_VITESSE_PHY=y
551# CONFIG_BROADCOM_PHY is not set 559# CONFIG_BROADCOM_PHY is not set
552# CONFIG_ICPLUS_PHY is not set 560# CONFIG_ICPLUS_PHY is not set
553# CONFIG_FIXED_PHY is not set 561# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set
554CONFIG_NET_ETHERNET=y 563CONFIG_NET_ETHERNET=y
555CONFIG_MII=y 564CONFIG_MII=y
556# CONFIG_HAPPYMEAL is not set 565# CONFIG_HAPPYMEAL is not set
@@ -559,11 +568,17 @@ CONFIG_MII=y
559# CONFIG_NET_VENDOR_3COM is not set 568# CONFIG_NET_VENDOR_3COM is not set
560# CONFIG_NET_TULIP is not set 569# CONFIG_NET_TULIP is not set
561# CONFIG_HP100 is not set 570# CONFIG_HP100 is not set
571# CONFIG_IBM_NEW_EMAC_ZMII is not set
572# CONFIG_IBM_NEW_EMAC_RGMII is not set
573# CONFIG_IBM_NEW_EMAC_TAH is not set
574# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
562# CONFIG_NET_PCI is not set 575# CONFIG_NET_PCI is not set
576# CONFIG_B44 is not set
563CONFIG_NETDEV_1000=y 577CONFIG_NETDEV_1000=y
564# CONFIG_ACENIC is not set 578# CONFIG_ACENIC is not set
565# CONFIG_DL2K is not set 579# CONFIG_DL2K is not set
566# CONFIG_E1000 is not set 580# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set
567# CONFIG_NS83820 is not set 582# CONFIG_NS83820 is not set
568# CONFIG_HAMACHI is not set 583# CONFIG_HAMACHI is not set
569# CONFIG_YELLOWFIN is not set 584# CONFIG_YELLOWFIN is not set
@@ -571,6 +586,7 @@ CONFIG_NETDEV_1000=y
571# CONFIG_SIS190 is not set 586# CONFIG_SIS190 is not set
572# CONFIG_SKGE is not set 587# CONFIG_SKGE is not set
573# CONFIG_SKY2 is not set 588# CONFIG_SKY2 is not set
589# CONFIG_SK98LIN is not set
574# CONFIG_VIA_VELOCITY is not set 590# CONFIG_VIA_VELOCITY is not set
575# CONFIG_TIGON3 is not set 591# CONFIG_TIGON3 is not set
576# CONFIG_BNX2 is not set 592# CONFIG_BNX2 is not set
@@ -581,11 +597,14 @@ CONFIG_GFAR_NAPI=y
581CONFIG_NETDEV_10000=y 597CONFIG_NETDEV_10000=y
582# CONFIG_CHELSIO_T1 is not set 598# CONFIG_CHELSIO_T1 is not set
583# CONFIG_CHELSIO_T3 is not set 599# CONFIG_CHELSIO_T3 is not set
600# CONFIG_IXGBE is not set
584# CONFIG_IXGB is not set 601# CONFIG_IXGB is not set
585# CONFIG_S2IO is not set 602# CONFIG_S2IO is not set
586# CONFIG_MYRI10GE is not set 603# CONFIG_MYRI10GE is not set
587# CONFIG_NETXEN_NIC is not set 604# CONFIG_NETXEN_NIC is not set
605# CONFIG_NIU is not set
588# CONFIG_MLX4_CORE is not set 606# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set
589# CONFIG_TR is not set 608# CONFIG_TR is not set
590 609
591# 610#
@@ -601,7 +620,6 @@ CONFIG_NETDEV_10000=y
601# CONFIG_USB_KAWETH is not set 620# CONFIG_USB_KAWETH is not set
602# CONFIG_USB_PEGASUS is not set 621# CONFIG_USB_PEGASUS is not set
603# CONFIG_USB_RTL8150 is not set 622# CONFIG_USB_RTL8150 is not set
604# CONFIG_USB_USBNET_MII is not set
605# CONFIG_USB_USBNET is not set 623# CONFIG_USB_USBNET is not set
606# CONFIG_WAN is not set 624# CONFIG_WAN is not set
607# CONFIG_FDDI is not set 625# CONFIG_FDDI is not set
@@ -628,7 +646,6 @@ CONFIG_INPUT=y
628# 646#
629# CONFIG_INPUT_MOUSEDEV is not set 647# CONFIG_INPUT_MOUSEDEV is not set
630# CONFIG_INPUT_JOYDEV is not set 648# CONFIG_INPUT_JOYDEV is not set
631# CONFIG_INPUT_TSDEV is not set
632# CONFIG_INPUT_EVDEV is not set 649# CONFIG_INPUT_EVDEV is not set
633# CONFIG_INPUT_EVBUG is not set 650# CONFIG_INPUT_EVBUG is not set
634 651
@@ -688,15 +705,12 @@ CONFIG_UNIX98_PTYS=y
688CONFIG_LEGACY_PTYS=y 705CONFIG_LEGACY_PTYS=y
689CONFIG_LEGACY_PTY_COUNT=256 706CONFIG_LEGACY_PTY_COUNT=256
690# CONFIG_IPMI_HANDLER is not set 707# CONFIG_IPMI_HANDLER is not set
691# CONFIG_WATCHDOG is not set
692# CONFIG_HW_RANDOM is not set 708# CONFIG_HW_RANDOM is not set
693CONFIG_NVRAM=y 709CONFIG_NVRAM=y
694CONFIG_GEN_RTC=y 710CONFIG_GEN_RTC=y
695CONFIG_GEN_RTC_X=y 711CONFIG_GEN_RTC_X=y
696# CONFIG_R3964 is not set 712# CONFIG_R3964 is not set
697# CONFIG_APPLICOM is not set 713# CONFIG_APPLICOM is not set
698# CONFIG_AGP is not set
699# CONFIG_DRM is not set
700# CONFIG_RAW_DRIVER is not set 714# CONFIG_RAW_DRIVER is not set
701# CONFIG_TCG_TPM is not set 715# CONFIG_TCG_TPM is not set
702CONFIG_DEVPORT=y 716CONFIG_DEVPORT=y
@@ -765,6 +779,13 @@ CONFIG_SENSORS_EEPROM=y
765# CONFIG_W1 is not set 779# CONFIG_W1 is not set
766# CONFIG_POWER_SUPPLY is not set 780# CONFIG_POWER_SUPPLY is not set
767# CONFIG_HWMON is not set 781# CONFIG_HWMON is not set
782# CONFIG_WATCHDOG is not set
783
784#
785# Sonics Silicon Backplane
786#
787CONFIG_SSB_POSSIBLE=y
788# CONFIG_SSB is not set
768 789
769# 790#
770# Multifunction device drivers 791# Multifunction device drivers
@@ -859,6 +880,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
859# CONFIG_DVB_OR51132 is not set 880# CONFIG_DVB_OR51132 is not set
860# CONFIG_DVB_BCM3510 is not set 881# CONFIG_DVB_BCM3510 is not set
861# CONFIG_DVB_LGDT330X is not set 882# CONFIG_DVB_LGDT330X is not set
883# CONFIG_DVB_S5H1409 is not set
862 884
863# 885#
864# Tuners/PLL support 886# Tuners/PLL support
@@ -868,6 +890,9 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
868# CONFIG_DVB_TDA827X is not set 890# CONFIG_DVB_TDA827X is not set
869# CONFIG_DVB_TUNER_QT1010 is not set 891# CONFIG_DVB_TUNER_QT1010 is not set
870# CONFIG_DVB_TUNER_MT2060 is not set 892# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set
871 896
872# 897#
873# Miscellaneous devices 898# Miscellaneous devices
@@ -881,16 +906,17 @@ CONFIG_DAB=y
881# 906#
882# Graphics support 907# Graphics support
883# 908#
909# CONFIG_AGP is not set
910# CONFIG_DRM is not set
911# CONFIG_VGASTATE is not set
912CONFIG_VIDEO_OUTPUT_CONTROL=y
913# CONFIG_FB is not set
884# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 914# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
885 915
886# 916#
887# Display device support 917# Display device support
888# 918#
889# CONFIG_DISPLAY_SUPPORT is not set 919# CONFIG_DISPLAY_SUPPORT is not set
890# CONFIG_VGASTATE is not set
891CONFIG_VIDEO_OUTPUT_CONTROL=y
892# CONFIG_FB is not set
893# CONFIG_FB_IBM_GXT4500 is not set
894 920
895# 921#
896# Console display driver support 922# Console display driver support
@@ -1022,6 +1048,7 @@ CONFIG_AC97_BUS=y
1022CONFIG_HID_SUPPORT=y 1048CONFIG_HID_SUPPORT=y
1023CONFIG_HID=y 1049CONFIG_HID=y
1024# CONFIG_HID_DEBUG is not set 1050# CONFIG_HID_DEBUG is not set
1051# CONFIG_HIDRAW is not set
1025 1052
1026# 1053#
1027# USB Input Devices 1054# USB Input Devices
@@ -1082,6 +1109,7 @@ CONFIG_USB_STORAGE=y
1082# CONFIG_USB_STORAGE_DEBUG is not set 1109# CONFIG_USB_STORAGE_DEBUG is not set
1083# CONFIG_USB_STORAGE_DATAFAB is not set 1110# CONFIG_USB_STORAGE_DATAFAB is not set
1084# CONFIG_USB_STORAGE_FREECOM is not set 1111# CONFIG_USB_STORAGE_FREECOM is not set
1112# CONFIG_USB_STORAGE_ISD200 is not set
1085# CONFIG_USB_STORAGE_DPCM is not set 1113# CONFIG_USB_STORAGE_DPCM is not set
1086# CONFIG_USB_STORAGE_USBAT is not set 1114# CONFIG_USB_STORAGE_USBAT is not set
1087# CONFIG_USB_STORAGE_SDDR09 is not set 1115# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1162,6 +1190,7 @@ CONFIG_RTC_INTF_DEV=y
1162# I2C RTC drivers 1190# I2C RTC drivers
1163# 1191#
1164# CONFIG_RTC_DRV_DS1307 is not set 1192# CONFIG_RTC_DRV_DS1307 is not set
1193# CONFIG_RTC_DRV_DS1374 is not set
1165# CONFIG_RTC_DRV_DS1672 is not set 1194# CONFIG_RTC_DRV_DS1672 is not set
1166# CONFIG_RTC_DRV_MAX6900 is not set 1195# CONFIG_RTC_DRV_MAX6900 is not set
1167# CONFIG_RTC_DRV_RS5C372 is not set 1196# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1191,19 +1220,6 @@ CONFIG_RTC_DRV_CMOS=y
1191# 1220#
1192 1221
1193# 1222#
1194# DMA Engine support
1195#
1196# CONFIG_DMA_ENGINE is not set
1197
1198#
1199# DMA Clients
1200#
1201
1202#
1203# DMA Devices
1204#
1205
1206#
1207# Userspace I/O 1223# Userspace I/O
1208# 1224#
1209# CONFIG_UIO is not set 1225# CONFIG_UIO is not set
@@ -1220,7 +1236,6 @@ CONFIG_EXT3_FS_XATTR=y
1220# CONFIG_EXT3_FS_SECURITY is not set 1236# CONFIG_EXT3_FS_SECURITY is not set
1221# CONFIG_EXT4DEV_FS is not set 1237# CONFIG_EXT4DEV_FS is not set
1222CONFIG_JBD=y 1238CONFIG_JBD=y
1223# CONFIG_JBD_DEBUG is not set
1224CONFIG_FS_MBCACHE=y 1239CONFIG_FS_MBCACHE=y
1225# CONFIG_REISERFS_FS is not set 1240# CONFIG_REISERFS_FS is not set
1226# CONFIG_JFS_FS is not set 1241# CONFIG_JFS_FS is not set
@@ -1269,7 +1284,6 @@ CONFIG_SYSFS=y
1269CONFIG_TMPFS=y 1284CONFIG_TMPFS=y
1270# CONFIG_TMPFS_POSIX_ACL is not set 1285# CONFIG_TMPFS_POSIX_ACL is not set
1271# CONFIG_HUGETLB_PAGE is not set 1286# CONFIG_HUGETLB_PAGE is not set
1272CONFIG_RAMFS=y
1273# CONFIG_CONFIGFS_FS is not set 1287# CONFIG_CONFIGFS_FS is not set
1274 1288
1275# 1289#
@@ -1292,10 +1306,7 @@ CONFIG_SYSV_FS=m
1292CONFIG_UFS_FS=m 1306CONFIG_UFS_FS=m
1293# CONFIG_UFS_FS_WRITE is not set 1307# CONFIG_UFS_FS_WRITE is not set
1294# CONFIG_UFS_DEBUG is not set 1308# CONFIG_UFS_DEBUG is not set
1295 1309CONFIG_NETWORK_FILESYSTEMS=y
1296#
1297# Network File Systems
1298#
1299CONFIG_NFS_FS=y 1310CONFIG_NFS_FS=y
1300CONFIG_NFS_V3=y 1311CONFIG_NFS_V3=y
1301# CONFIG_NFS_V3_ACL is not set 1312# CONFIG_NFS_V3_ACL is not set
@@ -1341,10 +1352,6 @@ CONFIG_MSDOS_PARTITION=y
1341# CONFIG_KARMA_PARTITION is not set 1352# CONFIG_KARMA_PARTITION is not set
1342# CONFIG_EFI_PARTITION is not set 1353# CONFIG_EFI_PARTITION is not set
1343# CONFIG_SYSV68_PARTITION is not set 1354# CONFIG_SYSV68_PARTITION is not set
1344
1345#
1346# Native Language Support
1347#
1348CONFIG_NLS=y 1355CONFIG_NLS=y
1349CONFIG_NLS_DEFAULT="iso8859-1" 1356CONFIG_NLS_DEFAULT="iso8859-1"
1350# CONFIG_NLS_CODEPAGE_437 is not set 1357# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1385,10 +1392,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1385# CONFIG_NLS_KOI8_R is not set 1392# CONFIG_NLS_KOI8_R is not set
1386# CONFIG_NLS_KOI8_U is not set 1393# CONFIG_NLS_KOI8_U is not set
1387CONFIG_NLS_UTF8=m 1394CONFIG_NLS_UTF8=m
1388
1389#
1390# Distributed Lock Manager
1391#
1392# CONFIG_DLM is not set 1395# CONFIG_DLM is not set
1393# CONFIG_UCC_SLOW is not set 1396# CONFIG_UCC_SLOW is not set
1394 1397
@@ -1407,16 +1410,13 @@ CONFIG_PLIST=y
1407CONFIG_HAS_IOMEM=y 1410CONFIG_HAS_IOMEM=y
1408CONFIG_HAS_IOPORT=y 1411CONFIG_HAS_IOPORT=y
1409CONFIG_HAS_DMA=y 1412CONFIG_HAS_DMA=y
1410 1413# CONFIG_INSTRUMENTATION is not set
1411#
1412# Instrumentation Support
1413#
1414# CONFIG_PROFILING is not set
1415 1414
1416# 1415#
1417# Kernel hacking 1416# Kernel hacking
1418# 1417#
1419# CONFIG_PRINTK_TIME is not set 1418# CONFIG_PRINTK_TIME is not set
1419CONFIG_ENABLE_WARN_DEPRECATED=y
1420CONFIG_ENABLE_MUST_CHECK=y 1420CONFIG_ENABLE_MUST_CHECK=y
1421# CONFIG_MAGIC_SYSRQ is not set 1421# CONFIG_MAGIC_SYSRQ is not set
1422# CONFIG_UNUSED_SYMBOLS is not set 1422# CONFIG_UNUSED_SYMBOLS is not set
@@ -1441,9 +1441,12 @@ CONFIG_SCHED_DEBUG=y
1441CONFIG_DEBUG_INFO=y 1441CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1442# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1443# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set
1444CONFIG_FORCED_INLINING=y 1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set
1445# CONFIG_RCU_TORTURE_TEST is not set 1447# CONFIG_RCU_TORTURE_TEST is not set
1446# CONFIG_FAULT_INJECTION is not set 1448# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set
1447# CONFIG_DEBUG_STACKOVERFLOW is not set 1450# CONFIG_DEBUG_STACKOVERFLOW is not set
1448# CONFIG_DEBUG_STACK_USAGE is not set 1451# CONFIG_DEBUG_STACK_USAGE is not set
1449# CONFIG_DEBUG_PAGEALLOC is not set 1452# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1456,6 +1459,7 @@ CONFIG_FORCED_INLINING=y
1456# 1459#
1457# CONFIG_KEYS is not set 1460# CONFIG_KEYS is not set
1458# CONFIG_SECURITY is not set 1461# CONFIG_SECURITY is not set
1462# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1459CONFIG_CRYPTO=y 1463CONFIG_CRYPTO=y
1460CONFIG_CRYPTO_ALGAPI=y 1464CONFIG_CRYPTO_ALGAPI=y
1461CONFIG_CRYPTO_BLKCIPHER=y 1465CONFIG_CRYPTO_BLKCIPHER=y
@@ -1466,7 +1470,7 @@ CONFIG_CRYPTO_HMAC=y
1466# CONFIG_CRYPTO_NULL is not set 1470# CONFIG_CRYPTO_NULL is not set
1467# CONFIG_CRYPTO_MD4 is not set 1471# CONFIG_CRYPTO_MD4 is not set
1468CONFIG_CRYPTO_MD5=y 1472CONFIG_CRYPTO_MD5=y
1469# CONFIG_CRYPTO_SHA1 is not set 1473CONFIG_CRYPTO_SHA1=m
1470# CONFIG_CRYPTO_SHA256 is not set 1474# CONFIG_CRYPTO_SHA256 is not set
1471# CONFIG_CRYPTO_SHA512 is not set 1475# CONFIG_CRYPTO_SHA512 is not set
1472# CONFIG_CRYPTO_WP512 is not set 1476# CONFIG_CRYPTO_WP512 is not set
@@ -1476,6 +1480,7 @@ CONFIG_CRYPTO_MD5=y
1476CONFIG_CRYPTO_CBC=y 1480CONFIG_CRYPTO_CBC=y
1477CONFIG_CRYPTO_PCBC=m 1481CONFIG_CRYPTO_PCBC=m
1478# CONFIG_CRYPTO_LRW is not set 1482# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set
1479# CONFIG_CRYPTO_CRYPTD is not set 1484# CONFIG_CRYPTO_CRYPTD is not set
1480CONFIG_CRYPTO_DES=y 1485CONFIG_CRYPTO_DES=y
1481# CONFIG_CRYPTO_FCRYPT is not set 1486# CONFIG_CRYPTO_FCRYPT is not set
@@ -1489,9 +1494,12 @@ CONFIG_CRYPTO_DES=y
1489# CONFIG_CRYPTO_ARC4 is not set 1494# CONFIG_CRYPTO_ARC4 is not set
1490# CONFIG_CRYPTO_KHAZAD is not set 1495# CONFIG_CRYPTO_KHAZAD is not set
1491# CONFIG_CRYPTO_ANUBIS is not set 1496# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set
1492# CONFIG_CRYPTO_DEFLATE is not set 1498# CONFIG_CRYPTO_DEFLATE is not set
1493# CONFIG_CRYPTO_MICHAEL_MIC is not set 1499# CONFIG_CRYPTO_MICHAEL_MIC is not set
1494# CONFIG_CRYPTO_CRC32C is not set 1500# CONFIG_CRYPTO_CRC32C is not set
1495# CONFIG_CRYPTO_CAMELLIA is not set 1501# CONFIG_CRYPTO_CAMELLIA is not set
1496# CONFIG_CRYPTO_TEST is not set 1502# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set
1497CONFIG_CRYPTO_HW=y 1504CONFIG_CRYPTO_HW=y
1505# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8560_ads_defconfig b/arch/powerpc/configs/mpc8560_ads_defconfig
index 0211e6b68e1a..51f9693bacd4 100644
--- a/arch/powerpc/configs/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/mpc8560_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc9 3# Linux kernel version: 2.6.24-rc4
4# Thu Oct 11 09:16:32 2007 4# Thu Dec 6 16:48:48 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,9 +68,12 @@ CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
74CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
75# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
76CONFIG_BLK_DEV_INITRD=y 79CONFIG_BLK_DEV_INITRD=y
@@ -158,6 +161,7 @@ CONFIG_CPM=y
158# CONFIG_TICK_ONESHOT is not set 161# CONFIG_TICK_ONESHOT is not set
159# CONFIG_NO_HZ is not set 162# CONFIG_NO_HZ is not set
160# CONFIG_HIGH_RES_TIMERS is not set 163# CONFIG_HIGH_RES_TIMERS is not set
164CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
161# CONFIG_HZ_100 is not set 165# CONFIG_HZ_100 is not set
162CONFIG_HZ_250=y 166CONFIG_HZ_250=y
163# CONFIG_HZ_300 is not set 167# CONFIG_HZ_300 is not set
@@ -179,6 +183,7 @@ CONFIG_FLATMEM_MANUAL=y
179CONFIG_FLATMEM=y 183CONFIG_FLATMEM=y
180CONFIG_FLAT_NODE_MEM_MAP=y 184CONFIG_FLAT_NODE_MEM_MAP=y
181# CONFIG_SPARSEMEM_STATIC is not set 185# CONFIG_SPARSEMEM_STATIC is not set
186# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
182CONFIG_SPLIT_PTLOCK_CPUS=4 187CONFIG_SPLIT_PTLOCK_CPUS=4
183# CONFIG_RESOURCES_64BIT is not set 188# CONFIG_RESOURCES_64BIT is not set
184CONFIG_ZONE_DMA_FLAG=1 189CONFIG_ZONE_DMA_FLAG=1
@@ -207,11 +212,8 @@ CONFIG_PCI_SYSCALL=y
207# CONFIG_PCIEPORTBUS is not set 212# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y 213CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set 214# CONFIG_PCI_MSI is not set
215CONFIG_PCI_LEGACY=y
210CONFIG_PCI_DEBUG=y 216CONFIG_PCI_DEBUG=y
211
212#
213# PCCARD (PCMCIA/CardBus) support
214#
215# CONFIG_PCCARD is not set 217# CONFIG_PCCARD is not set
216# CONFIG_HOTPLUG_PCI is not set 218# CONFIG_HOTPLUG_PCI is not set
217 219
@@ -226,7 +228,7 @@ CONFIG_PCI_DEBUG=y
226CONFIG_HIGHMEM_START=0xfe000000 228CONFIG_HIGHMEM_START=0xfe000000
227CONFIG_LOWMEM_SIZE=0x30000000 229CONFIG_LOWMEM_SIZE=0x30000000
228CONFIG_KERNEL_START=0xc0000000 230CONFIG_KERNEL_START=0xc0000000
229CONFIG_TASK_SIZE=0x80000000 231CONFIG_TASK_SIZE=0xc0000000
230CONFIG_BOOT_LOAD=0x00800000 232CONFIG_BOOT_LOAD=0x00800000
231 233
232# 234#
@@ -266,6 +268,7 @@ CONFIG_SYN_COOKIES=y
266CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
267CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
268CONFIG_INET_XFRM_MODE_BEET=y 270CONFIG_INET_XFRM_MODE_BEET=y
271# CONFIG_INET_LRO is not set
269CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -291,10 +294,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_LAPB is not set 294# CONFIG_LAPB is not set
292# CONFIG_ECONET is not set 295# CONFIG_ECONET is not set
293# CONFIG_WAN_ROUTER is not set 296# CONFIG_WAN_ROUTER is not set
294
295#
296# QoS and/or fair queueing
297#
298# CONFIG_NET_SCHED is not set 297# CONFIG_NET_SCHED is not set
299 298
300# 299#
@@ -323,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
323# 322#
324# Generic Driver Options 323# Generic Driver Options
325# 324#
325CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
326CONFIG_STANDALONE=y 326CONFIG_STANDALONE=y
327CONFIG_PREVENT_FIRMWARE_BUILD=y 327CONFIG_PREVENT_FIRMWARE_BUILD=y
328# CONFIG_FW_LOADER is not set 328# CONFIG_FW_LOADER is not set
@@ -366,10 +366,6 @@ CONFIG_MISC_DEVICES=y
366# CONFIG_SCSI_NETLINK is not set 366# CONFIG_SCSI_NETLINK is not set
367# CONFIG_ATA is not set 367# CONFIG_ATA is not set
368# CONFIG_MD is not set 368# CONFIG_MD is not set
369
370#
371# Fusion MPT device support
372#
373# CONFIG_FUSION is not set 369# CONFIG_FUSION is not set
374 370
375# 371#
@@ -386,6 +382,8 @@ CONFIG_NETDEVICES=y
386# CONFIG_MACVLAN is not set 382# CONFIG_MACVLAN is not set
387# CONFIG_EQUALIZER is not set 383# CONFIG_EQUALIZER is not set
388# CONFIG_TUN is not set 384# CONFIG_TUN is not set
385# CONFIG_VETH is not set
386# CONFIG_IP1000 is not set
389# CONFIG_ARCNET is not set 387# CONFIG_ARCNET is not set
390CONFIG_PHYLIB=y 388CONFIG_PHYLIB=y
391 389
@@ -402,6 +400,7 @@ CONFIG_DAVICOM_PHY=y
402# CONFIG_BROADCOM_PHY is not set 400# CONFIG_BROADCOM_PHY is not set
403# CONFIG_ICPLUS_PHY is not set 401# CONFIG_ICPLUS_PHY is not set
404# CONFIG_FIXED_PHY is not set 402# CONFIG_FIXED_PHY is not set
403# CONFIG_MDIO_BITBANG is not set
405CONFIG_NET_ETHERNET=y 404CONFIG_NET_ETHERNET=y
406CONFIG_MII=y 405CONFIG_MII=y
407# CONFIG_HAPPYMEAL is not set 406# CONFIG_HAPPYMEAL is not set
@@ -410,16 +409,23 @@ CONFIG_MII=y
410# CONFIG_NET_VENDOR_3COM is not set 409# CONFIG_NET_VENDOR_3COM is not set
411# CONFIG_NET_TULIP is not set 410# CONFIG_NET_TULIP is not set
412# CONFIG_HP100 is not set 411# CONFIG_HP100 is not set
412# CONFIG_IBM_NEW_EMAC_ZMII is not set
413# CONFIG_IBM_NEW_EMAC_RGMII is not set
414# CONFIG_IBM_NEW_EMAC_TAH is not set
415# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
413# CONFIG_NET_PCI is not set 416# CONFIG_NET_PCI is not set
417# CONFIG_B44 is not set
414CONFIG_FS_ENET=y 418CONFIG_FS_ENET=y
415# CONFIG_FS_ENET_HAS_SCC is not set 419# CONFIG_FS_ENET_HAS_SCC is not set
416CONFIG_FS_ENET_HAS_FCC=y 420CONFIG_FS_ENET_HAS_FCC=y
421# CONFIG_FS_ENET_MDIO_FCC is not set
417CONFIG_NETDEV_1000=y 422CONFIG_NETDEV_1000=y
418# CONFIG_ACENIC is not set 423# CONFIG_ACENIC is not set
419# CONFIG_DL2K is not set 424# CONFIG_DL2K is not set
420CONFIG_E1000=y 425CONFIG_E1000=y
421CONFIG_E1000_NAPI=y 426CONFIG_E1000_NAPI=y
422# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 427# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
428# CONFIG_E1000E is not set
423# CONFIG_NS83820 is not set 429# CONFIG_NS83820 is not set
424# CONFIG_HAMACHI is not set 430# CONFIG_HAMACHI is not set
425# CONFIG_YELLOWFIN is not set 431# CONFIG_YELLOWFIN is not set
@@ -438,11 +444,14 @@ CONFIG_GFAR_NAPI=y
438CONFIG_NETDEV_10000=y 444CONFIG_NETDEV_10000=y
439# CONFIG_CHELSIO_T1 is not set 445# CONFIG_CHELSIO_T1 is not set
440# CONFIG_CHELSIO_T3 is not set 446# CONFIG_CHELSIO_T3 is not set
447# CONFIG_IXGBE is not set
441# CONFIG_IXGB is not set 448# CONFIG_IXGB is not set
442# CONFIG_S2IO is not set 449# CONFIG_S2IO is not set
443# CONFIG_MYRI10GE is not set 450# CONFIG_MYRI10GE is not set
444# CONFIG_NETXEN_NIC is not set 451# CONFIG_NETXEN_NIC is not set
452# CONFIG_NIU is not set
445# CONFIG_MLX4_CORE is not set 453# CONFIG_MLX4_CORE is not set
454# CONFIG_TEHUTI is not set
446# CONFIG_TR is not set 455# CONFIG_TR is not set
447 456
448# 457#
@@ -474,7 +483,6 @@ CONFIG_INPUT=y
474# 483#
475# CONFIG_INPUT_MOUSEDEV is not set 484# CONFIG_INPUT_MOUSEDEV is not set
476# CONFIG_INPUT_JOYDEV is not set 485# CONFIG_INPUT_JOYDEV is not set
477# CONFIG_INPUT_TSDEV is not set
478# CONFIG_INPUT_EVDEV is not set 486# CONFIG_INPUT_EVDEV is not set
479# CONFIG_INPUT_EVBUG is not set 487# CONFIG_INPUT_EVBUG is not set
480 488
@@ -524,15 +532,12 @@ CONFIG_UNIX98_PTYS=y
524CONFIG_LEGACY_PTYS=y 532CONFIG_LEGACY_PTYS=y
525CONFIG_LEGACY_PTY_COUNT=256 533CONFIG_LEGACY_PTY_COUNT=256
526# CONFIG_IPMI_HANDLER is not set 534# CONFIG_IPMI_HANDLER is not set
527# CONFIG_WATCHDOG is not set
528CONFIG_HW_RANDOM=y 535CONFIG_HW_RANDOM=y
529# CONFIG_NVRAM is not set 536# CONFIG_NVRAM is not set
530CONFIG_GEN_RTC=y 537CONFIG_GEN_RTC=y
531# CONFIG_GEN_RTC_X is not set 538# CONFIG_GEN_RTC_X is not set
532# CONFIG_R3964 is not set 539# CONFIG_R3964 is not set
533# CONFIG_APPLICOM is not set 540# CONFIG_APPLICOM is not set
534# CONFIG_AGP is not set
535# CONFIG_DRM is not set
536# CONFIG_RAW_DRIVER is not set 541# CONFIG_RAW_DRIVER is not set
537# CONFIG_TCG_TPM is not set 542# CONFIG_TCG_TPM is not set
538CONFIG_DEVPORT=y 543CONFIG_DEVPORT=y
@@ -547,9 +552,9 @@ CONFIG_DEVPORT=y
547# CONFIG_POWER_SUPPLY is not set 552# CONFIG_POWER_SUPPLY is not set
548CONFIG_HWMON=y 553CONFIG_HWMON=y
549# CONFIG_HWMON_VID is not set 554# CONFIG_HWMON_VID is not set
550# CONFIG_SENSORS_ABITUGURU is not set 555# CONFIG_SENSORS_I5K_AMB is not set
551# CONFIG_SENSORS_ABITUGURU3 is not set
552# CONFIG_SENSORS_F71805F is not set 556# CONFIG_SENSORS_F71805F is not set
557# CONFIG_SENSORS_F71882FG is not set
553# CONFIG_SENSORS_IT87 is not set 558# CONFIG_SENSORS_IT87 is not set
554# CONFIG_SENSORS_PC87360 is not set 559# CONFIG_SENSORS_PC87360 is not set
555# CONFIG_SENSORS_PC87427 is not set 560# CONFIG_SENSORS_PC87427 is not set
@@ -562,6 +567,13 @@ CONFIG_HWMON=y
562# CONFIG_SENSORS_W83627HF is not set 567# CONFIG_SENSORS_W83627HF is not set
563# CONFIG_SENSORS_W83627EHF is not set 568# CONFIG_SENSORS_W83627EHF is not set
564# CONFIG_HWMON_DEBUG_CHIP is not set 569# CONFIG_HWMON_DEBUG_CHIP is not set
570# CONFIG_WATCHDOG is not set
571
572#
573# Sonics Silicon Backplane
574#
575CONFIG_SSB_POSSIBLE=y
576# CONFIG_SSB is not set
565 577
566# 578#
567# Multifunction device drivers 579# Multifunction device drivers
@@ -578,16 +590,17 @@ CONFIG_DAB=y
578# 590#
579# Graphics support 591# Graphics support
580# 592#
593# CONFIG_AGP is not set
594# CONFIG_DRM is not set
595# CONFIG_VGASTATE is not set
596CONFIG_VIDEO_OUTPUT_CONTROL=y
597# CONFIG_FB is not set
581# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 598# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
582 599
583# 600#
584# Display device support 601# Display device support
585# 602#
586# CONFIG_DISPLAY_SUPPORT is not set 603# CONFIG_DISPLAY_SUPPORT is not set
587# CONFIG_VGASTATE is not set
588CONFIG_VIDEO_OUTPUT_CONTROL=y
589# CONFIG_FB is not set
590# CONFIG_FB_IBM_GXT4500 is not set
591 604
592# 605#
593# Sound 606# Sound
@@ -596,6 +609,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
596CONFIG_HID_SUPPORT=y 609CONFIG_HID_SUPPORT=y
597CONFIG_HID=y 610CONFIG_HID=y
598# CONFIG_HID_DEBUG is not set 611# CONFIG_HID_DEBUG is not set
612# CONFIG_HIDRAW is not set
599CONFIG_USB_SUPPORT=y 613CONFIG_USB_SUPPORT=y
600CONFIG_USB_ARCH_HAS_HCD=y 614CONFIG_USB_ARCH_HAS_HCD=y
601CONFIG_USB_ARCH_HAS_OHCI=y 615CONFIG_USB_ARCH_HAS_OHCI=y
@@ -617,19 +631,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
617# CONFIG_RTC_CLASS is not set 631# CONFIG_RTC_CLASS is not set
618 632
619# 633#
620# DMA Engine support
621#
622# CONFIG_DMA_ENGINE is not set
623
624#
625# DMA Clients
626#
627
628#
629# DMA Devices
630#
631
632#
633# Userspace I/O 634# Userspace I/O
634# 635#
635# CONFIG_UIO is not set 636# CONFIG_UIO is not set
@@ -646,7 +647,6 @@ CONFIG_EXT3_FS_XATTR=y
646# CONFIG_EXT3_FS_SECURITY is not set 647# CONFIG_EXT3_FS_SECURITY is not set
647# CONFIG_EXT4DEV_FS is not set 648# CONFIG_EXT4DEV_FS is not set
648CONFIG_JBD=y 649CONFIG_JBD=y
649# CONFIG_JBD_DEBUG is not set
650CONFIG_FS_MBCACHE=y 650CONFIG_FS_MBCACHE=y
651# CONFIG_REISERFS_FS is not set 651# CONFIG_REISERFS_FS is not set
652# CONFIG_JFS_FS is not set 652# CONFIG_JFS_FS is not set
@@ -687,7 +687,6 @@ CONFIG_SYSFS=y
687CONFIG_TMPFS=y 687CONFIG_TMPFS=y
688# CONFIG_TMPFS_POSIX_ACL is not set 688# CONFIG_TMPFS_POSIX_ACL is not set
689# CONFIG_HUGETLB_PAGE is not set 689# CONFIG_HUGETLB_PAGE is not set
690CONFIG_RAMFS=y
691# CONFIG_CONFIGFS_FS is not set 690# CONFIG_CONFIGFS_FS is not set
692 691
693# 692#
@@ -706,10 +705,7 @@ CONFIG_RAMFS=y
706# CONFIG_QNX4FS_FS is not set 705# CONFIG_QNX4FS_FS is not set
707# CONFIG_SYSV_FS is not set 706# CONFIG_SYSV_FS is not set
708# CONFIG_UFS_FS is not set 707# CONFIG_UFS_FS is not set
709 708CONFIG_NETWORK_FILESYSTEMS=y
710#
711# Network File Systems
712#
713CONFIG_NFS_FS=y 709CONFIG_NFS_FS=y
714# CONFIG_NFS_V3 is not set 710# CONFIG_NFS_V3 is not set
715# CONFIG_NFS_V4 is not set 711# CONFIG_NFS_V4 is not set
@@ -745,15 +741,7 @@ CONFIG_PARTITION_ADVANCED=y
745# CONFIG_KARMA_PARTITION is not set 741# CONFIG_KARMA_PARTITION is not set
746# CONFIG_EFI_PARTITION is not set 742# CONFIG_EFI_PARTITION is not set
747# CONFIG_SYSV68_PARTITION is not set 743# CONFIG_SYSV68_PARTITION is not set
748
749#
750# Native Language Support
751#
752# CONFIG_NLS is not set 744# CONFIG_NLS is not set
753
754#
755# Distributed Lock Manager
756#
757# CONFIG_DLM is not set 745# CONFIG_DLM is not set
758# CONFIG_UCC_SLOW is not set 746# CONFIG_UCC_SLOW is not set
759 747
@@ -771,16 +759,13 @@ CONFIG_PLIST=y
771CONFIG_HAS_IOMEM=y 759CONFIG_HAS_IOMEM=y
772CONFIG_HAS_IOPORT=y 760CONFIG_HAS_IOPORT=y
773CONFIG_HAS_DMA=y 761CONFIG_HAS_DMA=y
774 762# CONFIG_INSTRUMENTATION is not set
775#
776# Instrumentation Support
777#
778# CONFIG_PROFILING is not set
779 763
780# 764#
781# Kernel hacking 765# Kernel hacking
782# 766#
783# CONFIG_PRINTK_TIME is not set 767# CONFIG_PRINTK_TIME is not set
768CONFIG_ENABLE_WARN_DEPRECATED=y
784CONFIG_ENABLE_MUST_CHECK=y 769CONFIG_ENABLE_MUST_CHECK=y
785# CONFIG_MAGIC_SYSRQ is not set 770# CONFIG_MAGIC_SYSRQ is not set
786# CONFIG_UNUSED_SYMBOLS is not set 771# CONFIG_UNUSED_SYMBOLS is not set
@@ -804,8 +789,11 @@ CONFIG_DEBUG_MUTEXES=y
804# CONFIG_DEBUG_INFO is not set 789# CONFIG_DEBUG_INFO is not set
805# CONFIG_DEBUG_VM is not set 790# CONFIG_DEBUG_VM is not set
806# CONFIG_DEBUG_LIST is not set 791# CONFIG_DEBUG_LIST is not set
792# CONFIG_DEBUG_SG is not set
807CONFIG_FORCED_INLINING=y 793CONFIG_FORCED_INLINING=y
794# CONFIG_BOOT_PRINTK_DELAY is not set
808# CONFIG_FAULT_INJECTION is not set 795# CONFIG_FAULT_INJECTION is not set
796# CONFIG_SAMPLES is not set
809# CONFIG_DEBUG_STACKOVERFLOW is not set 797# CONFIG_DEBUG_STACKOVERFLOW is not set
810# CONFIG_DEBUG_STACK_USAGE is not set 798# CONFIG_DEBUG_STACK_USAGE is not set
811# CONFIG_DEBUG_PAGEALLOC is not set 799# CONFIG_DEBUG_PAGEALLOC is not set
@@ -819,5 +807,7 @@ CONFIG_FORCED_INLINING=y
819# 807#
820# CONFIG_KEYS is not set 808# CONFIG_KEYS is not set
821# CONFIG_SECURITY is not set 809# CONFIG_SECURITY is not set
810# CONFIG_SECURITY_FILE_CAPABILITIES is not set
822# CONFIG_CRYPTO is not set 811# CONFIG_CRYPTO is not set
823# CONFIG_PPC_CLOCK is not set 812# CONFIG_PPC_CLOCK is not set
813CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
index d665e7a797c0..f51b58ae329a 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:43 2007 4# Thu Dec 6 16:48:50 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_FSL_BOOKE=y
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,9 +68,12 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
67# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
68CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
69CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
70# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
71CONFIG_BLK_DEV_INITRD=y 79CONFIG_BLK_DEV_INITRD=y
@@ -84,7 +92,6 @@ CONFIG_FUTEX=y
84CONFIG_ANON_INODES=y 92CONFIG_ANON_INODES=y
85# CONFIG_EPOLL is not set 93# CONFIG_EPOLL is not set
86CONFIG_SIGNALFD=y 94CONFIG_SIGNALFD=y
87CONFIG_TIMERFD=y
88CONFIG_EVENTFD=y 95CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 96CONFIG_SHMEM=y
90CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
@@ -132,7 +139,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
132# CONFIG_MPC8560_ADS is not set 139# CONFIG_MPC8560_ADS is not set
133# CONFIG_MPC85xx_CDS is not set 140# CONFIG_MPC85xx_CDS is not set
134CONFIG_MPC85xx_MDS=y 141CONFIG_MPC85xx_MDS=y
135# CONFIG_MPC8544_DS is not set 142# CONFIG_MPC85xx_DS is not set
136CONFIG_MPC85xx=y 143CONFIG_MPC85xx=y
137CONFIG_MPIC=y 144CONFIG_MPIC=y
138# CONFIG_MPIC_WEIRD is not set 145# CONFIG_MPIC_WEIRD is not set
@@ -144,6 +151,7 @@ CONFIG_MPIC=y
144# CONFIG_PPC_INDIRECT_IO is not set 151# CONFIG_PPC_INDIRECT_IO is not set
145# CONFIG_GENERIC_IOMAP is not set 152# CONFIG_GENERIC_IOMAP is not set
146# CONFIG_CPU_FREQ is not set 153# CONFIG_CPU_FREQ is not set
154CONFIG_QUICC_ENGINE=y
147# CONFIG_CPM2 is not set 155# CONFIG_CPM2 is not set
148# CONFIG_FSL_ULI1575 is not set 156# CONFIG_FSL_ULI1575 is not set
149 157
@@ -151,6 +159,10 @@ CONFIG_MPIC=y
151# Kernel options 159# Kernel options
152# 160#
153# CONFIG_HIGHMEM is not set 161# CONFIG_HIGHMEM is not set
162CONFIG_TICK_ONESHOT=y
163CONFIG_NO_HZ=y
164CONFIG_HIGH_RES_TIMERS=y
165CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
154# CONFIG_HZ_100 is not set 166# CONFIG_HZ_100 is not set
155CONFIG_HZ_250=y 167CONFIG_HZ_250=y
156# CONFIG_HZ_300 is not set 168# CONFIG_HZ_300 is not set
@@ -172,6 +184,7 @@ CONFIG_FLATMEM_MANUAL=y
172CONFIG_FLATMEM=y 184CONFIG_FLATMEM=y
173CONFIG_FLAT_NODE_MEM_MAP=y 185CONFIG_FLAT_NODE_MEM_MAP=y
174# CONFIG_SPARSEMEM_STATIC is not set 186# CONFIG_SPARSEMEM_STATIC is not set
187# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
175CONFIG_SPLIT_PTLOCK_CPUS=4 188CONFIG_SPLIT_PTLOCK_CPUS=4
176# CONFIG_RESOURCES_64BIT is not set 189# CONFIG_RESOURCES_64BIT is not set
177CONFIG_ZONE_DMA_FLAG=1 190CONFIG_ZONE_DMA_FLAG=1
@@ -180,6 +193,8 @@ CONFIG_VIRT_TO_BUS=y
180CONFIG_PROC_DEVICETREE=y 193CONFIG_PROC_DEVICETREE=y
181# CONFIG_CMDLINE_BOOL is not set 194# CONFIG_CMDLINE_BOOL is not set
182# CONFIG_PM is not set 195# CONFIG_PM is not set
196CONFIG_SUSPEND_UP_POSSIBLE=y
197CONFIG_HIBERNATION_UP_POSSIBLE=y
183CONFIG_SECCOMP=y 198CONFIG_SECCOMP=y
184CONFIG_WANT_DEVICE_TREE=y 199CONFIG_WANT_DEVICE_TREE=y
185CONFIG_DEVICE_TREE="" 200CONFIG_DEVICE_TREE=""
@@ -198,11 +213,8 @@ CONFIG_PCI_SYSCALL=y
198# CONFIG_PCIEPORTBUS is not set 213# CONFIG_PCIEPORTBUS is not set
199CONFIG_ARCH_SUPPORTS_MSI=y 214CONFIG_ARCH_SUPPORTS_MSI=y
200# CONFIG_PCI_MSI is not set 215# CONFIG_PCI_MSI is not set
216CONFIG_PCI_LEGACY=y
201# CONFIG_PCI_DEBUG is not set 217# CONFIG_PCI_DEBUG is not set
202
203#
204# PCCARD (PCMCIA/CardBus) support
205#
206# CONFIG_PCCARD is not set 218# CONFIG_PCCARD is not set
207# CONFIG_HOTPLUG_PCI is not set 219# CONFIG_HOTPLUG_PCI is not set
208 220
@@ -217,7 +229,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
217CONFIG_HIGHMEM_START=0xfe000000 229CONFIG_HIGHMEM_START=0xfe000000
218CONFIG_LOWMEM_SIZE=0x30000000 230CONFIG_LOWMEM_SIZE=0x30000000
219CONFIG_KERNEL_START=0xc0000000 231CONFIG_KERNEL_START=0xc0000000
220CONFIG_TASK_SIZE=0x80000000 232CONFIG_TASK_SIZE=0xc0000000
221CONFIG_BOOT_LOAD=0x00800000 233CONFIG_BOOT_LOAD=0x00800000
222 234
223# 235#
@@ -257,6 +269,7 @@ CONFIG_SYN_COOKIES=y
257CONFIG_INET_XFRM_MODE_TRANSPORT=y 269CONFIG_INET_XFRM_MODE_TRANSPORT=y
258CONFIG_INET_XFRM_MODE_TUNNEL=y 270CONFIG_INET_XFRM_MODE_TUNNEL=y
259CONFIG_INET_XFRM_MODE_BEET=y 271CONFIG_INET_XFRM_MODE_BEET=y
272# CONFIG_INET_LRO is not set
260CONFIG_INET_DIAG=y 273CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 274CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 275# CONFIG_TCP_CONG_ADVANCED is not set
@@ -282,10 +295,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
282# CONFIG_LAPB is not set 295# CONFIG_LAPB is not set
283# CONFIG_ECONET is not set 296# CONFIG_ECONET is not set
284# CONFIG_WAN_ROUTER is not set 297# CONFIG_WAN_ROUTER is not set
285
286#
287# QoS and/or fair queueing
288#
289# CONFIG_NET_SCHED is not set 298# CONFIG_NET_SCHED is not set
290 299
291# 300#
@@ -314,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
314# 323#
315# Generic Driver Options 324# Generic Driver Options
316# 325#
326CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
317CONFIG_STANDALONE=y 327CONFIG_STANDALONE=y
318CONFIG_PREVENT_FIRMWARE_BUILD=y 328CONFIG_PREVENT_FIRMWARE_BUILD=y
319# CONFIG_FW_LOADER is not set 329# CONFIG_FW_LOADER is not set
@@ -384,6 +394,7 @@ CONFIG_SCSI_WAIT_SCAN=m
384# CONFIG_SCSI_FC_ATTRS is not set 394# CONFIG_SCSI_FC_ATTRS is not set
385# CONFIG_SCSI_ISCSI_ATTRS is not set 395# CONFIG_SCSI_ISCSI_ATTRS is not set
386# CONFIG_SCSI_SAS_LIBSAS is not set 396# CONFIG_SCSI_SAS_LIBSAS is not set
397# CONFIG_SCSI_SRP_ATTRS is not set
387CONFIG_SCSI_LOWLEVEL=y 398CONFIG_SCSI_LOWLEVEL=y
388# CONFIG_ISCSI_TCP is not set 399# CONFIG_ISCSI_TCP is not set
389# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 400# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -395,6 +406,7 @@ CONFIG_SCSI_LOWLEVEL=y
395# CONFIG_SCSI_AIC79XX is not set 406# CONFIG_SCSI_AIC79XX is not set
396# CONFIG_SCSI_AIC94XX is not set 407# CONFIG_SCSI_AIC94XX is not set
397# CONFIG_SCSI_DPT_I2O is not set 408# CONFIG_SCSI_DPT_I2O is not set
409# CONFIG_SCSI_ADVANSYS is not set
398# CONFIG_SCSI_ARCMSR is not set 410# CONFIG_SCSI_ARCMSR is not set
399# CONFIG_MEGARAID_NEWGEN is not set 411# CONFIG_MEGARAID_NEWGEN is not set
400# CONFIG_MEGARAID_LEGACY is not set 412# CONFIG_MEGARAID_LEGACY is not set
@@ -421,14 +433,7 @@ CONFIG_SCSI_LOWLEVEL=y
421# CONFIG_SCSI_SRP is not set 433# CONFIG_SCSI_SRP is not set
422# CONFIG_ATA is not set 434# CONFIG_ATA is not set
423# CONFIG_MD is not set 435# CONFIG_MD is not set
424
425#
426# Fusion MPT device support
427#
428# CONFIG_FUSION is not set 436# CONFIG_FUSION is not set
429# CONFIG_FUSION_SPI is not set
430# CONFIG_FUSION_FC is not set
431# CONFIG_FUSION_SAS is not set
432 437
433# 438#
434# IEEE 1394 (FireWire) support 439# IEEE 1394 (FireWire) support
@@ -444,6 +449,8 @@ CONFIG_NETDEVICES=y
444# CONFIG_MACVLAN is not set 449# CONFIG_MACVLAN is not set
445# CONFIG_EQUALIZER is not set 450# CONFIG_EQUALIZER is not set
446# CONFIG_TUN is not set 451# CONFIG_TUN is not set
452# CONFIG_VETH is not set
453# CONFIG_IP1000 is not set
447# CONFIG_ARCNET is not set 454# CONFIG_ARCNET is not set
448CONFIG_PHYLIB=y 455CONFIG_PHYLIB=y
449 456
@@ -460,6 +467,7 @@ CONFIG_MARVELL_PHY=y
460# CONFIG_BROADCOM_PHY is not set 467# CONFIG_BROADCOM_PHY is not set
461# CONFIG_ICPLUS_PHY is not set 468# CONFIG_ICPLUS_PHY is not set
462# CONFIG_FIXED_PHY is not set 469# CONFIG_FIXED_PHY is not set
470# CONFIG_MDIO_BITBANG is not set
463CONFIG_NET_ETHERNET=y 471CONFIG_NET_ETHERNET=y
464CONFIG_MII=y 472CONFIG_MII=y
465# CONFIG_HAPPYMEAL is not set 473# CONFIG_HAPPYMEAL is not set
@@ -468,11 +476,17 @@ CONFIG_MII=y
468# CONFIG_NET_VENDOR_3COM is not set 476# CONFIG_NET_VENDOR_3COM is not set
469# CONFIG_NET_TULIP is not set 477# CONFIG_NET_TULIP is not set
470# CONFIG_HP100 is not set 478# CONFIG_HP100 is not set
479# CONFIG_IBM_NEW_EMAC_ZMII is not set
480# CONFIG_IBM_NEW_EMAC_RGMII is not set
481# CONFIG_IBM_NEW_EMAC_TAH is not set
482# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
471# CONFIG_NET_PCI is not set 483# CONFIG_NET_PCI is not set
484# CONFIG_B44 is not set
472CONFIG_NETDEV_1000=y 485CONFIG_NETDEV_1000=y
473# CONFIG_ACENIC is not set 486# CONFIG_ACENIC is not set
474# CONFIG_DL2K is not set 487# CONFIG_DL2K is not set
475# CONFIG_E1000 is not set 488# CONFIG_E1000 is not set
489# CONFIG_E1000E is not set
476# CONFIG_NS83820 is not set 490# CONFIG_NS83820 is not set
477# CONFIG_HAMACHI is not set 491# CONFIG_HAMACHI is not set
478# CONFIG_YELLOWFIN is not set 492# CONFIG_YELLOWFIN is not set
@@ -480,21 +494,26 @@ CONFIG_NETDEV_1000=y
480# CONFIG_SIS190 is not set 494# CONFIG_SIS190 is not set
481# CONFIG_SKGE is not set 495# CONFIG_SKGE is not set
482# CONFIG_SKY2 is not set 496# CONFIG_SKY2 is not set
497# CONFIG_SK98LIN is not set
483# CONFIG_VIA_VELOCITY is not set 498# CONFIG_VIA_VELOCITY is not set
484# CONFIG_TIGON3 is not set 499# CONFIG_TIGON3 is not set
485# CONFIG_BNX2 is not set 500# CONFIG_BNX2 is not set
486CONFIG_GIANFAR=y 501CONFIG_GIANFAR=y
487CONFIG_GFAR_NAPI=y 502CONFIG_GFAR_NAPI=y
503# CONFIG_UCC_GETH is not set
488# CONFIG_QLA3XXX is not set 504# CONFIG_QLA3XXX is not set
489# CONFIG_ATL1 is not set 505# CONFIG_ATL1 is not set
490CONFIG_NETDEV_10000=y 506CONFIG_NETDEV_10000=y
491# CONFIG_CHELSIO_T1 is not set 507# CONFIG_CHELSIO_T1 is not set
492# CONFIG_CHELSIO_T3 is not set 508# CONFIG_CHELSIO_T3 is not set
509# CONFIG_IXGBE is not set
493# CONFIG_IXGB is not set 510# CONFIG_IXGB is not set
494# CONFIG_S2IO is not set 511# CONFIG_S2IO is not set
495# CONFIG_MYRI10GE is not set 512# CONFIG_MYRI10GE is not set
496# CONFIG_NETXEN_NIC is not set 513# CONFIG_NETXEN_NIC is not set
514# CONFIG_NIU is not set
497# CONFIG_MLX4_CORE is not set 515# CONFIG_MLX4_CORE is not set
516# CONFIG_TEHUTI is not set
498# CONFIG_TR is not set 517# CONFIG_TR is not set
499 518
500# 519#
@@ -527,7 +546,6 @@ CONFIG_INPUT=y
527# 546#
528# CONFIG_INPUT_MOUSEDEV is not set 547# CONFIG_INPUT_MOUSEDEV is not set
529# CONFIG_INPUT_JOYDEV is not set 548# CONFIG_INPUT_JOYDEV is not set
530# CONFIG_INPUT_TSDEV is not set
531# CONFIG_INPUT_EVDEV is not set 549# CONFIG_INPUT_EVDEV is not set
532# CONFIG_INPUT_EVBUG is not set 550# CONFIG_INPUT_EVBUG is not set
533 551
@@ -576,28 +594,12 @@ CONFIG_UNIX98_PTYS=y
576CONFIG_LEGACY_PTYS=y 594CONFIG_LEGACY_PTYS=y
577CONFIG_LEGACY_PTY_COUNT=256 595CONFIG_LEGACY_PTY_COUNT=256
578# CONFIG_IPMI_HANDLER is not set 596# CONFIG_IPMI_HANDLER is not set
579CONFIG_WATCHDOG=y
580# CONFIG_WATCHDOG_NOWAYOUT is not set
581
582#
583# Watchdog Device Drivers
584#
585# CONFIG_SOFT_WATCHDOG is not set
586# CONFIG_BOOKE_WDT is not set
587
588#
589# PCI-based Watchdog Cards
590#
591# CONFIG_PCIPCWATCHDOG is not set
592# CONFIG_WDTPCI is not set
593CONFIG_HW_RANDOM=y 597CONFIG_HW_RANDOM=y
594# CONFIG_NVRAM is not set 598# CONFIG_NVRAM is not set
595CONFIG_GEN_RTC=y 599CONFIG_GEN_RTC=y
596# CONFIG_GEN_RTC_X is not set 600# CONFIG_GEN_RTC_X is not set
597# CONFIG_R3964 is not set 601# CONFIG_R3964 is not set
598# CONFIG_APPLICOM is not set 602# CONFIG_APPLICOM is not set
599# CONFIG_AGP is not set
600# CONFIG_DRM is not set
601# CONFIG_RAW_DRIVER is not set 603# CONFIG_RAW_DRIVER is not set
602# CONFIG_TCG_TPM is not set 604# CONFIG_TCG_TPM is not set
603CONFIG_DEVPORT=y 605CONFIG_DEVPORT=y
@@ -666,8 +668,6 @@ CONFIG_I2C_MPC=y
666# CONFIG_POWER_SUPPLY is not set 668# CONFIG_POWER_SUPPLY is not set
667CONFIG_HWMON=y 669CONFIG_HWMON=y
668# CONFIG_HWMON_VID is not set 670# CONFIG_HWMON_VID is not set
669# CONFIG_SENSORS_ABITUGURU is not set
670# CONFIG_SENSORS_ABITUGURU3 is not set
671# CONFIG_SENSORS_AD7418 is not set 671# CONFIG_SENSORS_AD7418 is not set
672# CONFIG_SENSORS_ADM1021 is not set 672# CONFIG_SENSORS_ADM1021 is not set
673# CONFIG_SENSORS_ADM1025 is not set 673# CONFIG_SENSORS_ADM1025 is not set
@@ -675,12 +675,13 @@ CONFIG_HWMON=y
675# CONFIG_SENSORS_ADM1029 is not set 675# CONFIG_SENSORS_ADM1029 is not set
676# CONFIG_SENSORS_ADM1031 is not set 676# CONFIG_SENSORS_ADM1031 is not set
677# CONFIG_SENSORS_ADM9240 is not set 677# CONFIG_SENSORS_ADM9240 is not set
678# CONFIG_SENSORS_ASB100 is not set 678# CONFIG_SENSORS_ADT7470 is not set
679# CONFIG_SENSORS_ATXP1 is not set 679# CONFIG_SENSORS_ATXP1 is not set
680# CONFIG_SENSORS_DS1621 is not set 680# CONFIG_SENSORS_DS1621 is not set
681# CONFIG_SENSORS_I5K_AMB is not set
681# CONFIG_SENSORS_F71805F is not set 682# CONFIG_SENSORS_F71805F is not set
682# CONFIG_SENSORS_FSCHER is not set 683# CONFIG_SENSORS_F71882FG is not set
683# CONFIG_SENSORS_FSCPOS is not set 684# CONFIG_SENSORS_F75375S is not set
684# CONFIG_SENSORS_GL518SM is not set 685# CONFIG_SENSORS_GL518SM is not set
685# CONFIG_SENSORS_GL520SM is not set 686# CONFIG_SENSORS_GL520SM is not set
686# CONFIG_SENSORS_IT87 is not set 687# CONFIG_SENSORS_IT87 is not set
@@ -716,6 +717,26 @@ CONFIG_HWMON=y
716# CONFIG_SENSORS_W83627HF is not set 717# CONFIG_SENSORS_W83627HF is not set
717# CONFIG_SENSORS_W83627EHF is not set 718# CONFIG_SENSORS_W83627EHF is not set
718# CONFIG_HWMON_DEBUG_CHIP is not set 719# CONFIG_HWMON_DEBUG_CHIP is not set
720CONFIG_WATCHDOG=y
721# CONFIG_WATCHDOG_NOWAYOUT is not set
722
723#
724# Watchdog Device Drivers
725#
726# CONFIG_SOFT_WATCHDOG is not set
727# CONFIG_BOOKE_WDT is not set
728
729#
730# PCI-based Watchdog Cards
731#
732# CONFIG_PCIPCWATCHDOG is not set
733# CONFIG_WDTPCI is not set
734
735#
736# Sonics Silicon Backplane
737#
738CONFIG_SSB_POSSIBLE=y
739# CONFIG_SSB is not set
719 740
720# 741#
721# Multifunction device drivers 742# Multifunction device drivers
@@ -732,16 +753,17 @@ CONFIG_DAB=y
732# 753#
733# Graphics support 754# Graphics support
734# 755#
756# CONFIG_AGP is not set
757# CONFIG_DRM is not set
758# CONFIG_VGASTATE is not set
759CONFIG_VIDEO_OUTPUT_CONTROL=m
760# CONFIG_FB is not set
735# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 761# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
736 762
737# 763#
738# Display device support 764# Display device support
739# 765#
740# CONFIG_DISPLAY_SUPPORT is not set 766# CONFIG_DISPLAY_SUPPORT is not set
741# CONFIG_VGASTATE is not set
742CONFIG_VIDEO_OUTPUT_CONTROL=m
743# CONFIG_FB is not set
744# CONFIG_FB_IBM_GXT4500 is not set
745 767
746# 768#
747# Sound 769# Sound
@@ -750,6 +772,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
750CONFIG_HID_SUPPORT=y 772CONFIG_HID_SUPPORT=y
751CONFIG_HID=y 773CONFIG_HID=y
752# CONFIG_HID_DEBUG is not set 774# CONFIG_HID_DEBUG is not set
775# CONFIG_HIDRAW is not set
753CONFIG_USB_SUPPORT=y 776CONFIG_USB_SUPPORT=y
754CONFIG_USB_ARCH_HAS_HCD=y 777CONFIG_USB_ARCH_HAS_HCD=y
755CONFIG_USB_ARCH_HAS_OHCI=y 778CONFIG_USB_ARCH_HAS_OHCI=y
@@ -817,19 +840,6 @@ CONFIG_RTC_DRV_DS1374=y
817# 840#
818 841
819# 842#
820# DMA Engine support
821#
822# CONFIG_DMA_ENGINE is not set
823
824#
825# DMA Clients
826#
827
828#
829# DMA Devices
830#
831
832#
833# Userspace I/O 843# Userspace I/O
834# 844#
835# CONFIG_UIO is not set 845# CONFIG_UIO is not set
@@ -846,7 +856,6 @@ CONFIG_EXT3_FS_XATTR=y
846# CONFIG_EXT3_FS_SECURITY is not set 856# CONFIG_EXT3_FS_SECURITY is not set
847# CONFIG_EXT4DEV_FS is not set 857# CONFIG_EXT4DEV_FS is not set
848CONFIG_JBD=y 858CONFIG_JBD=y
849# CONFIG_JBD_DEBUG is not set
850CONFIG_FS_MBCACHE=y 859CONFIG_FS_MBCACHE=y
851# CONFIG_REISERFS_FS is not set 860# CONFIG_REISERFS_FS is not set
852# CONFIG_JFS_FS is not set 861# CONFIG_JFS_FS is not set
@@ -887,7 +896,6 @@ CONFIG_SYSFS=y
887CONFIG_TMPFS=y 896CONFIG_TMPFS=y
888# CONFIG_TMPFS_POSIX_ACL is not set 897# CONFIG_TMPFS_POSIX_ACL is not set
889# CONFIG_HUGETLB_PAGE is not set 898# CONFIG_HUGETLB_PAGE is not set
890CONFIG_RAMFS=y
891# CONFIG_CONFIGFS_FS is not set 899# CONFIG_CONFIGFS_FS is not set
892 900
893# 901#
@@ -906,10 +914,7 @@ CONFIG_RAMFS=y
906# CONFIG_QNX4FS_FS is not set 914# CONFIG_QNX4FS_FS is not set
907# CONFIG_SYSV_FS is not set 915# CONFIG_SYSV_FS is not set
908# CONFIG_UFS_FS is not set 916# CONFIG_UFS_FS is not set
909 917CONFIG_NETWORK_FILESYSTEMS=y
910#
911# Network File Systems
912#
913CONFIG_NFS_FS=y 918CONFIG_NFS_FS=y
914CONFIG_NFS_V3=y 919CONFIG_NFS_V3=y
915# CONFIG_NFS_V3_ACL is not set 920# CONFIG_NFS_V3_ACL is not set
@@ -948,15 +953,7 @@ CONFIG_PARTITION_ADVANCED=y
948# CONFIG_KARMA_PARTITION is not set 953# CONFIG_KARMA_PARTITION is not set
949# CONFIG_EFI_PARTITION is not set 954# CONFIG_EFI_PARTITION is not set
950# CONFIG_SYSV68_PARTITION is not set 955# CONFIG_SYSV68_PARTITION is not set
951
952#
953# Native Language Support
954#
955# CONFIG_NLS is not set 956# CONFIG_NLS is not set
956
957#
958# Distributed Lock Manager
959#
960# CONFIG_DLM is not set 957# CONFIG_DLM is not set
961# CONFIG_UCC_SLOW is not set 958# CONFIG_UCC_SLOW is not set
962 959
@@ -974,17 +971,13 @@ CONFIG_PLIST=y
974CONFIG_HAS_IOMEM=y 971CONFIG_HAS_IOMEM=y
975CONFIG_HAS_IOPORT=y 972CONFIG_HAS_IOPORT=y
976CONFIG_HAS_DMA=y 973CONFIG_HAS_DMA=y
977 974# CONFIG_INSTRUMENTATION is not set
978#
979# Instrumentation Support
980#
981CONFIG_PROFILING=y
982CONFIG_OPROFILE=y
983 975
984# 976#
985# Kernel hacking 977# Kernel hacking
986# 978#
987# CONFIG_PRINTK_TIME is not set 979# CONFIG_PRINTK_TIME is not set
980CONFIG_ENABLE_WARN_DEPRECATED=y
988CONFIG_ENABLE_MUST_CHECK=y 981CONFIG_ENABLE_MUST_CHECK=y
989# CONFIG_MAGIC_SYSRQ is not set 982# CONFIG_MAGIC_SYSRQ is not set
990# CONFIG_UNUSED_SYMBOLS is not set 983# CONFIG_UNUSED_SYMBOLS is not set
@@ -1008,9 +1001,12 @@ CONFIG_SCHED_DEBUG=y
1008# CONFIG_DEBUG_INFO is not set 1001# CONFIG_DEBUG_INFO is not set
1009# CONFIG_DEBUG_VM is not set 1002# CONFIG_DEBUG_VM is not set
1010# CONFIG_DEBUG_LIST is not set 1003# CONFIG_DEBUG_LIST is not set
1004# CONFIG_DEBUG_SG is not set
1011CONFIG_FORCED_INLINING=y 1005CONFIG_FORCED_INLINING=y
1006# CONFIG_BOOT_PRINTK_DELAY is not set
1012# CONFIG_RCU_TORTURE_TEST is not set 1007# CONFIG_RCU_TORTURE_TEST is not set
1013# CONFIG_FAULT_INJECTION is not set 1008# CONFIG_FAULT_INJECTION is not set
1009# CONFIG_SAMPLES is not set
1014# CONFIG_DEBUG_STACKOVERFLOW is not set 1010# CONFIG_DEBUG_STACKOVERFLOW is not set
1015# CONFIG_DEBUG_STACK_USAGE is not set 1011# CONFIG_DEBUG_STACK_USAGE is not set
1016# CONFIG_DEBUG_PAGEALLOC is not set 1012# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1027,12 +1023,14 @@ CONFIG_PPC_EARLY_DEBUG=y
1027# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 1023# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
1028# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 1024# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
1029# CONFIG_PPC_EARLY_DEBUG_44x is not set 1025# CONFIG_PPC_EARLY_DEBUG_44x is not set
1026# CONFIG_PPC_EARLY_DEBUG_CPM is not set
1030 1027
1031# 1028#
1032# Security options 1029# Security options
1033# 1030#
1034# CONFIG_KEYS is not set 1031# CONFIG_KEYS is not set
1035# CONFIG_SECURITY is not set 1032# CONFIG_SECURITY is not set
1033# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1036CONFIG_CRYPTO=y 1034CONFIG_CRYPTO=y
1037CONFIG_CRYPTO_ALGAPI=y 1035CONFIG_CRYPTO_ALGAPI=y
1038CONFIG_CRYPTO_BLKCIPHER=y 1036CONFIG_CRYPTO_BLKCIPHER=y
@@ -1052,6 +1050,7 @@ CONFIG_CRYPTO_ECB=m
1052CONFIG_CRYPTO_CBC=y 1050CONFIG_CRYPTO_CBC=y
1053CONFIG_CRYPTO_PCBC=m 1051CONFIG_CRYPTO_PCBC=m
1054# CONFIG_CRYPTO_LRW is not set 1052# CONFIG_CRYPTO_LRW is not set
1053# CONFIG_CRYPTO_XTS is not set
1055# CONFIG_CRYPTO_CRYPTD is not set 1054# CONFIG_CRYPTO_CRYPTD is not set
1056CONFIG_CRYPTO_DES=y 1055CONFIG_CRYPTO_DES=y
1057# CONFIG_CRYPTO_FCRYPT is not set 1056# CONFIG_CRYPTO_FCRYPT is not set
@@ -1065,9 +1064,13 @@ CONFIG_CRYPTO_DES=y
1065# CONFIG_CRYPTO_ARC4 is not set 1064# CONFIG_CRYPTO_ARC4 is not set
1066# CONFIG_CRYPTO_KHAZAD is not set 1065# CONFIG_CRYPTO_KHAZAD is not set
1067# CONFIG_CRYPTO_ANUBIS is not set 1066# CONFIG_CRYPTO_ANUBIS is not set
1067# CONFIG_CRYPTO_SEED is not set
1068# CONFIG_CRYPTO_DEFLATE is not set 1068# CONFIG_CRYPTO_DEFLATE is not set
1069# CONFIG_CRYPTO_MICHAEL_MIC is not set 1069# CONFIG_CRYPTO_MICHAEL_MIC is not set
1070# CONFIG_CRYPTO_CRC32C is not set 1070# CONFIG_CRYPTO_CRC32C is not set
1071# CONFIG_CRYPTO_CAMELLIA is not set 1071# CONFIG_CRYPTO_CAMELLIA is not set
1072# CONFIG_CRYPTO_TEST is not set 1072# CONFIG_CRYPTO_TEST is not set
1073# CONFIG_CRYPTO_AUTHENC is not set
1073CONFIG_CRYPTO_HW=y 1074CONFIG_CRYPTO_HW=y
1075# CONFIG_PPC_CLOCK is not set
1076CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8572_ds_defconfig b/arch/powerpc/configs/mpc8572_ds_defconfig
index 4e85b2e88525..b40802d17e03 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Sep 11 01:19:35 2007 4# Thu Dec 6 16:48:52 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_FSL_BOOKE=y
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -64,11 +69,14 @@ CONFIG_BSD_PROCESS_ACCT=y
64# CONFIG_BSD_PROCESS_ACCT_V3 is not set 69# CONFIG_BSD_PROCESS_ACCT_V3 is not set
65# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
67CONFIG_AUDIT=y 73CONFIG_AUDIT=y
68# CONFIG_AUDITSYSCALL is not set 74# CONFIG_AUDITSYSCALL is not set
69CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
70CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
71CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set
79# CONFIG_FAIR_GROUP_SCHED is not set
72CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
74CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -89,7 +97,6 @@ CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 98CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 101CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -156,6 +163,10 @@ CONFIG_FSL_ULI1575=y
156# Kernel options 163# Kernel options
157# 164#
158CONFIG_HIGHMEM=y 165CONFIG_HIGHMEM=y
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
159# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y 171CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -177,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
177CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
178CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
179# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
180CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
181# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
182CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -185,6 +197,8 @@ CONFIG_VIRT_TO_BUS=y
185CONFIG_PROC_DEVICETREE=y 197CONFIG_PROC_DEVICETREE=y
186# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
187# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
188CONFIG_SECCOMP=y 202CONFIG_SECCOMP=y
189CONFIG_WANT_DEVICE_TREE=y 203CONFIG_WANT_DEVICE_TREE=y
190CONFIG_DEVICE_TREE="" 204CONFIG_DEVICE_TREE=""
@@ -194,6 +208,7 @@ CONFIG_ISA_DMA_API=y
194# Bus options 208# Bus options
195# 209#
196CONFIG_ZONE_DMA=y 210CONFIG_ZONE_DMA=y
211CONFIG_GENERIC_ISA_DMA=y
197CONFIG_PPC_INDIRECT_PCI=y 212CONFIG_PPC_INDIRECT_PCI=y
198CONFIG_FSL_SOC=y 213CONFIG_FSL_SOC=y
199CONFIG_FSL_PCI=y 214CONFIG_FSL_PCI=y
@@ -203,11 +218,8 @@ CONFIG_PCI_SYSCALL=y
203# CONFIG_PCIEPORTBUS is not set 218# CONFIG_PCIEPORTBUS is not set
204CONFIG_ARCH_SUPPORTS_MSI=y 219CONFIG_ARCH_SUPPORTS_MSI=y
205# CONFIG_PCI_MSI is not set 220# CONFIG_PCI_MSI is not set
221CONFIG_PCI_LEGACY=y
206# CONFIG_PCI_DEBUG is not set 222# CONFIG_PCI_DEBUG is not set
207
208#
209# PCCARD (PCMCIA/CardBus) support
210#
211# CONFIG_PCCARD is not set 223# CONFIG_PCCARD is not set
212# CONFIG_HOTPLUG_PCI is not set 224# CONFIG_HOTPLUG_PCI is not set
213 225
@@ -222,7 +234,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
222CONFIG_HIGHMEM_START=0xfe000000 234CONFIG_HIGHMEM_START=0xfe000000
223CONFIG_LOWMEM_SIZE=0x30000000 235CONFIG_LOWMEM_SIZE=0x30000000
224CONFIG_KERNEL_START=0xc0000000 236CONFIG_KERNEL_START=0xc0000000
225CONFIG_TASK_SIZE=0x80000000 237CONFIG_TASK_SIZE=0xc0000000
226CONFIG_BOOT_LOAD=0x00800000 238CONFIG_BOOT_LOAD=0x00800000
227 239
228# 240#
@@ -271,6 +283,7 @@ CONFIG_INET_TUNNEL=y
271# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 283# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
272# CONFIG_INET_XFRM_MODE_TUNNEL is not set 284# CONFIG_INET_XFRM_MODE_TUNNEL is not set
273# CONFIG_INET_XFRM_MODE_BEET is not set 285# CONFIG_INET_XFRM_MODE_BEET is not set
286# CONFIG_INET_LRO is not set
274CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -315,10 +328,6 @@ CONFIG_SCTP_HMAC_MD5=y
315# CONFIG_LAPB is not set 328# CONFIG_LAPB is not set
316# CONFIG_ECONET is not set 329# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set 330# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set 331# CONFIG_NET_SCHED is not set
323 332
324# 333#
@@ -348,6 +357,7 @@ CONFIG_FIB_RULES=y
348# 357#
349# Generic Driver Options 358# Generic Driver Options
350# 359#
360CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
351CONFIG_STANDALONE=y 361CONFIG_STANDALONE=y
352CONFIG_PREVENT_FIRMWARE_BUILD=y 362CONFIG_PREVENT_FIRMWARE_BUILD=y
353CONFIG_FW_LOADER=y 363CONFIG_FW_LOADER=y
@@ -420,6 +430,7 @@ CONFIG_SCSI_WAIT_SCAN=m
420# CONFIG_SCSI_FC_ATTRS is not set 430# CONFIG_SCSI_FC_ATTRS is not set
421# CONFIG_SCSI_ISCSI_ATTRS is not set 431# CONFIG_SCSI_ISCSI_ATTRS is not set
422# CONFIG_SCSI_SAS_LIBSAS is not set 432# CONFIG_SCSI_SAS_LIBSAS is not set
433# CONFIG_SCSI_SRP_ATTRS is not set
423CONFIG_SCSI_LOWLEVEL=y 434CONFIG_SCSI_LOWLEVEL=y
424# CONFIG_ISCSI_TCP is not set 435# CONFIG_ISCSI_TCP is not set
425# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 436# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -431,6 +442,7 @@ CONFIG_SCSI_LOWLEVEL=y
431# CONFIG_SCSI_AIC79XX is not set 442# CONFIG_SCSI_AIC79XX is not set
432# CONFIG_SCSI_AIC94XX is not set 443# CONFIG_SCSI_AIC94XX is not set
433# CONFIG_SCSI_DPT_I2O is not set 444# CONFIG_SCSI_DPT_I2O is not set
445# CONFIG_SCSI_ADVANSYS is not set
434# CONFIG_SCSI_ARCMSR is not set 446# CONFIG_SCSI_ARCMSR is not set
435# CONFIG_MEGARAID_NEWGEN is not set 447# CONFIG_MEGARAID_NEWGEN is not set
436# CONFIG_MEGARAID_LEGACY is not set 448# CONFIG_MEGARAID_LEGACY is not set
@@ -498,6 +510,7 @@ CONFIG_PATA_ALI=y
498# CONFIG_PATA_OLDPIIX is not set 510# CONFIG_PATA_OLDPIIX is not set
499# CONFIG_PATA_NETCELL is not set 511# CONFIG_PATA_NETCELL is not set
500# CONFIG_PATA_NS87410 is not set 512# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set
501# CONFIG_PATA_OPTI is not set 514# CONFIG_PATA_OPTI is not set
502# CONFIG_PATA_OPTIDMA is not set 515# CONFIG_PATA_OPTIDMA is not set
503# CONFIG_PATA_PDC_OLD is not set 516# CONFIG_PATA_PDC_OLD is not set
@@ -512,14 +525,7 @@ CONFIG_PATA_ALI=y
512# CONFIG_PATA_WINBOND is not set 525# CONFIG_PATA_WINBOND is not set
513# CONFIG_PATA_PLATFORM is not set 526# CONFIG_PATA_PLATFORM is not set
514# CONFIG_MD is not set 527# CONFIG_MD is not set
515
516#
517# Fusion MPT device support
518#
519# CONFIG_FUSION is not set 528# CONFIG_FUSION is not set
520# CONFIG_FUSION_SPI is not set
521# CONFIG_FUSION_FC is not set
522# CONFIG_FUSION_SAS is not set
523 529
524# 530#
525# IEEE 1394 (FireWire) support 531# IEEE 1394 (FireWire) support
@@ -535,6 +541,8 @@ CONFIG_DUMMY=y
535# CONFIG_MACVLAN is not set 541# CONFIG_MACVLAN is not set
536# CONFIG_EQUALIZER is not set 542# CONFIG_EQUALIZER is not set
537# CONFIG_TUN is not set 543# CONFIG_TUN is not set
544# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
538# CONFIG_ARCNET is not set 546# CONFIG_ARCNET is not set
539CONFIG_PHYLIB=y 547CONFIG_PHYLIB=y
540 548
@@ -551,6 +559,7 @@ CONFIG_VITESSE_PHY=y
551# CONFIG_BROADCOM_PHY is not set 559# CONFIG_BROADCOM_PHY is not set
552# CONFIG_ICPLUS_PHY is not set 560# CONFIG_ICPLUS_PHY is not set
553# CONFIG_FIXED_PHY is not set 561# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set
554CONFIG_NET_ETHERNET=y 563CONFIG_NET_ETHERNET=y
555CONFIG_MII=y 564CONFIG_MII=y
556# CONFIG_HAPPYMEAL is not set 565# CONFIG_HAPPYMEAL is not set
@@ -559,11 +568,17 @@ CONFIG_MII=y
559# CONFIG_NET_VENDOR_3COM is not set 568# CONFIG_NET_VENDOR_3COM is not set
560# CONFIG_NET_TULIP is not set 569# CONFIG_NET_TULIP is not set
561# CONFIG_HP100 is not set 570# CONFIG_HP100 is not set
571# CONFIG_IBM_NEW_EMAC_ZMII is not set
572# CONFIG_IBM_NEW_EMAC_RGMII is not set
573# CONFIG_IBM_NEW_EMAC_TAH is not set
574# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
562# CONFIG_NET_PCI is not set 575# CONFIG_NET_PCI is not set
576# CONFIG_B44 is not set
563CONFIG_NETDEV_1000=y 577CONFIG_NETDEV_1000=y
564# CONFIG_ACENIC is not set 578# CONFIG_ACENIC is not set
565# CONFIG_DL2K is not set 579# CONFIG_DL2K is not set
566# CONFIG_E1000 is not set 580# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set
567# CONFIG_NS83820 is not set 582# CONFIG_NS83820 is not set
568# CONFIG_HAMACHI is not set 583# CONFIG_HAMACHI is not set
569# CONFIG_YELLOWFIN is not set 584# CONFIG_YELLOWFIN is not set
@@ -571,6 +586,7 @@ CONFIG_NETDEV_1000=y
571# CONFIG_SIS190 is not set 586# CONFIG_SIS190 is not set
572# CONFIG_SKGE is not set 587# CONFIG_SKGE is not set
573# CONFIG_SKY2 is not set 588# CONFIG_SKY2 is not set
589# CONFIG_SK98LIN is not set
574# CONFIG_VIA_VELOCITY is not set 590# CONFIG_VIA_VELOCITY is not set
575# CONFIG_TIGON3 is not set 591# CONFIG_TIGON3 is not set
576# CONFIG_BNX2 is not set 592# CONFIG_BNX2 is not set
@@ -581,11 +597,14 @@ CONFIG_GFAR_NAPI=y
581CONFIG_NETDEV_10000=y 597CONFIG_NETDEV_10000=y
582# CONFIG_CHELSIO_T1 is not set 598# CONFIG_CHELSIO_T1 is not set
583# CONFIG_CHELSIO_T3 is not set 599# CONFIG_CHELSIO_T3 is not set
600# CONFIG_IXGBE is not set
584# CONFIG_IXGB is not set 601# CONFIG_IXGB is not set
585# CONFIG_S2IO is not set 602# CONFIG_S2IO is not set
586# CONFIG_MYRI10GE is not set 603# CONFIG_MYRI10GE is not set
587# CONFIG_NETXEN_NIC is not set 604# CONFIG_NETXEN_NIC is not set
605# CONFIG_NIU is not set
588# CONFIG_MLX4_CORE is not set 606# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set
589# CONFIG_TR is not set 608# CONFIG_TR is not set
590 609
591# 610#
@@ -601,7 +620,6 @@ CONFIG_NETDEV_10000=y
601# CONFIG_USB_KAWETH is not set 620# CONFIG_USB_KAWETH is not set
602# CONFIG_USB_PEGASUS is not set 621# CONFIG_USB_PEGASUS is not set
603# CONFIG_USB_RTL8150 is not set 622# CONFIG_USB_RTL8150 is not set
604# CONFIG_USB_USBNET_MII is not set
605# CONFIG_USB_USBNET is not set 623# CONFIG_USB_USBNET is not set
606# CONFIG_WAN is not set 624# CONFIG_WAN is not set
607# CONFIG_FDDI is not set 625# CONFIG_FDDI is not set
@@ -628,7 +646,6 @@ CONFIG_INPUT=y
628# 646#
629# CONFIG_INPUT_MOUSEDEV is not set 647# CONFIG_INPUT_MOUSEDEV is not set
630# CONFIG_INPUT_JOYDEV is not set 648# CONFIG_INPUT_JOYDEV is not set
631# CONFIG_INPUT_TSDEV is not set
632# CONFIG_INPUT_EVDEV is not set 649# CONFIG_INPUT_EVDEV is not set
633# CONFIG_INPUT_EVBUG is not set 650# CONFIG_INPUT_EVBUG is not set
634 651
@@ -688,15 +705,12 @@ CONFIG_UNIX98_PTYS=y
688CONFIG_LEGACY_PTYS=y 705CONFIG_LEGACY_PTYS=y
689CONFIG_LEGACY_PTY_COUNT=256 706CONFIG_LEGACY_PTY_COUNT=256
690# CONFIG_IPMI_HANDLER is not set 707# CONFIG_IPMI_HANDLER is not set
691# CONFIG_WATCHDOG is not set
692# CONFIG_HW_RANDOM is not set 708# CONFIG_HW_RANDOM is not set
693CONFIG_NVRAM=y 709CONFIG_NVRAM=y
694CONFIG_GEN_RTC=y 710CONFIG_GEN_RTC=y
695CONFIG_GEN_RTC_X=y 711CONFIG_GEN_RTC_X=y
696# CONFIG_R3964 is not set 712# CONFIG_R3964 is not set
697# CONFIG_APPLICOM is not set 713# CONFIG_APPLICOM is not set
698# CONFIG_AGP is not set
699# CONFIG_DRM is not set
700# CONFIG_RAW_DRIVER is not set 714# CONFIG_RAW_DRIVER is not set
701# CONFIG_TCG_TPM is not set 715# CONFIG_TCG_TPM is not set
702CONFIG_DEVPORT=y 716CONFIG_DEVPORT=y
@@ -765,6 +779,13 @@ CONFIG_SENSORS_EEPROM=y
765# CONFIG_W1 is not set 779# CONFIG_W1 is not set
766# CONFIG_POWER_SUPPLY is not set 780# CONFIG_POWER_SUPPLY is not set
767# CONFIG_HWMON is not set 781# CONFIG_HWMON is not set
782# CONFIG_WATCHDOG is not set
783
784#
785# Sonics Silicon Backplane
786#
787CONFIG_SSB_POSSIBLE=y
788# CONFIG_SSB is not set
768 789
769# 790#
770# Multifunction device drivers 791# Multifunction device drivers
@@ -859,6 +880,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
859# CONFIG_DVB_OR51132 is not set 880# CONFIG_DVB_OR51132 is not set
860# CONFIG_DVB_BCM3510 is not set 881# CONFIG_DVB_BCM3510 is not set
861# CONFIG_DVB_LGDT330X is not set 882# CONFIG_DVB_LGDT330X is not set
883# CONFIG_DVB_S5H1409 is not set
862 884
863# 885#
864# Tuners/PLL support 886# Tuners/PLL support
@@ -868,6 +890,9 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
868# CONFIG_DVB_TDA827X is not set 890# CONFIG_DVB_TDA827X is not set
869# CONFIG_DVB_TUNER_QT1010 is not set 891# CONFIG_DVB_TUNER_QT1010 is not set
870# CONFIG_DVB_TUNER_MT2060 is not set 892# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set
871 896
872# 897#
873# Miscellaneous devices 898# Miscellaneous devices
@@ -881,16 +906,17 @@ CONFIG_DAB=y
881# 906#
882# Graphics support 907# Graphics support
883# 908#
909# CONFIG_AGP is not set
910# CONFIG_DRM is not set
911# CONFIG_VGASTATE is not set
912CONFIG_VIDEO_OUTPUT_CONTROL=y
913# CONFIG_FB is not set
884# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 914# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
885 915
886# 916#
887# Display device support 917# Display device support
888# 918#
889# CONFIG_DISPLAY_SUPPORT is not set 919# CONFIG_DISPLAY_SUPPORT is not set
890# CONFIG_VGASTATE is not set
891CONFIG_VIDEO_OUTPUT_CONTROL=y
892# CONFIG_FB is not set
893# CONFIG_FB_IBM_GXT4500 is not set
894 920
895# 921#
896# Console display driver support 922# Console display driver support
@@ -1022,6 +1048,7 @@ CONFIG_AC97_BUS=y
1022CONFIG_HID_SUPPORT=y 1048CONFIG_HID_SUPPORT=y
1023CONFIG_HID=y 1049CONFIG_HID=y
1024# CONFIG_HID_DEBUG is not set 1050# CONFIG_HID_DEBUG is not set
1051# CONFIG_HIDRAW is not set
1025 1052
1026# 1053#
1027# USB Input Devices 1054# USB Input Devices
@@ -1082,6 +1109,7 @@ CONFIG_USB_STORAGE=y
1082# CONFIG_USB_STORAGE_DEBUG is not set 1109# CONFIG_USB_STORAGE_DEBUG is not set
1083# CONFIG_USB_STORAGE_DATAFAB is not set 1110# CONFIG_USB_STORAGE_DATAFAB is not set
1084# CONFIG_USB_STORAGE_FREECOM is not set 1111# CONFIG_USB_STORAGE_FREECOM is not set
1112# CONFIG_USB_STORAGE_ISD200 is not set
1085# CONFIG_USB_STORAGE_DPCM is not set 1113# CONFIG_USB_STORAGE_DPCM is not set
1086# CONFIG_USB_STORAGE_USBAT is not set 1114# CONFIG_USB_STORAGE_USBAT is not set
1087# CONFIG_USB_STORAGE_SDDR09 is not set 1115# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1162,6 +1190,7 @@ CONFIG_RTC_INTF_DEV=y
1162# I2C RTC drivers 1190# I2C RTC drivers
1163# 1191#
1164# CONFIG_RTC_DRV_DS1307 is not set 1192# CONFIG_RTC_DRV_DS1307 is not set
1193# CONFIG_RTC_DRV_DS1374 is not set
1165# CONFIG_RTC_DRV_DS1672 is not set 1194# CONFIG_RTC_DRV_DS1672 is not set
1166# CONFIG_RTC_DRV_MAX6900 is not set 1195# CONFIG_RTC_DRV_MAX6900 is not set
1167# CONFIG_RTC_DRV_RS5C372 is not set 1196# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1191,19 +1220,6 @@ CONFIG_RTC_DRV_CMOS=y
1191# 1220#
1192 1221
1193# 1222#
1194# DMA Engine support
1195#
1196# CONFIG_DMA_ENGINE is not set
1197
1198#
1199# DMA Clients
1200#
1201
1202#
1203# DMA Devices
1204#
1205
1206#
1207# Userspace I/O 1223# Userspace I/O
1208# 1224#
1209# CONFIG_UIO is not set 1225# CONFIG_UIO is not set
@@ -1220,7 +1236,6 @@ CONFIG_EXT3_FS_XATTR=y
1220# CONFIG_EXT3_FS_SECURITY is not set 1236# CONFIG_EXT3_FS_SECURITY is not set
1221# CONFIG_EXT4DEV_FS is not set 1237# CONFIG_EXT4DEV_FS is not set
1222CONFIG_JBD=y 1238CONFIG_JBD=y
1223# CONFIG_JBD_DEBUG is not set
1224CONFIG_FS_MBCACHE=y 1239CONFIG_FS_MBCACHE=y
1225# CONFIG_REISERFS_FS is not set 1240# CONFIG_REISERFS_FS is not set
1226# CONFIG_JFS_FS is not set 1241# CONFIG_JFS_FS is not set
@@ -1269,7 +1284,6 @@ CONFIG_SYSFS=y
1269CONFIG_TMPFS=y 1284CONFIG_TMPFS=y
1270# CONFIG_TMPFS_POSIX_ACL is not set 1285# CONFIG_TMPFS_POSIX_ACL is not set
1271# CONFIG_HUGETLB_PAGE is not set 1286# CONFIG_HUGETLB_PAGE is not set
1272CONFIG_RAMFS=y
1273# CONFIG_CONFIGFS_FS is not set 1287# CONFIG_CONFIGFS_FS is not set
1274 1288
1275# 1289#
@@ -1292,10 +1306,7 @@ CONFIG_SYSV_FS=m
1292CONFIG_UFS_FS=m 1306CONFIG_UFS_FS=m
1293# CONFIG_UFS_FS_WRITE is not set 1307# CONFIG_UFS_FS_WRITE is not set
1294# CONFIG_UFS_DEBUG is not set 1308# CONFIG_UFS_DEBUG is not set
1295 1309CONFIG_NETWORK_FILESYSTEMS=y
1296#
1297# Network File Systems
1298#
1299CONFIG_NFS_FS=y 1310CONFIG_NFS_FS=y
1300CONFIG_NFS_V3=y 1311CONFIG_NFS_V3=y
1301# CONFIG_NFS_V3_ACL is not set 1312# CONFIG_NFS_V3_ACL is not set
@@ -1341,10 +1352,6 @@ CONFIG_MSDOS_PARTITION=y
1341# CONFIG_KARMA_PARTITION is not set 1352# CONFIG_KARMA_PARTITION is not set
1342# CONFIG_EFI_PARTITION is not set 1353# CONFIG_EFI_PARTITION is not set
1343# CONFIG_SYSV68_PARTITION is not set 1354# CONFIG_SYSV68_PARTITION is not set
1344
1345#
1346# Native Language Support
1347#
1348CONFIG_NLS=y 1355CONFIG_NLS=y
1349CONFIG_NLS_DEFAULT="iso8859-1" 1356CONFIG_NLS_DEFAULT="iso8859-1"
1350# CONFIG_NLS_CODEPAGE_437 is not set 1357# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1385,10 +1392,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1385# CONFIG_NLS_KOI8_R is not set 1392# CONFIG_NLS_KOI8_R is not set
1386# CONFIG_NLS_KOI8_U is not set 1393# CONFIG_NLS_KOI8_U is not set
1387CONFIG_NLS_UTF8=m 1394CONFIG_NLS_UTF8=m
1388
1389#
1390# Distributed Lock Manager
1391#
1392# CONFIG_DLM is not set 1395# CONFIG_DLM is not set
1393# CONFIG_UCC_SLOW is not set 1396# CONFIG_UCC_SLOW is not set
1394 1397
@@ -1407,16 +1410,13 @@ CONFIG_PLIST=y
1407CONFIG_HAS_IOMEM=y 1410CONFIG_HAS_IOMEM=y
1408CONFIG_HAS_IOPORT=y 1411CONFIG_HAS_IOPORT=y
1409CONFIG_HAS_DMA=y 1412CONFIG_HAS_DMA=y
1410 1413# CONFIG_INSTRUMENTATION is not set
1411#
1412# Instrumentation Support
1413#
1414# CONFIG_PROFILING is not set
1415 1414
1416# 1415#
1417# Kernel hacking 1416# Kernel hacking
1418# 1417#
1419# CONFIG_PRINTK_TIME is not set 1418# CONFIG_PRINTK_TIME is not set
1419CONFIG_ENABLE_WARN_DEPRECATED=y
1420CONFIG_ENABLE_MUST_CHECK=y 1420CONFIG_ENABLE_MUST_CHECK=y
1421# CONFIG_MAGIC_SYSRQ is not set 1421# CONFIG_MAGIC_SYSRQ is not set
1422# CONFIG_UNUSED_SYMBOLS is not set 1422# CONFIG_UNUSED_SYMBOLS is not set
@@ -1441,9 +1441,12 @@ CONFIG_SCHED_DEBUG=y
1441CONFIG_DEBUG_INFO=y 1441CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1442# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1443# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set
1444CONFIG_FORCED_INLINING=y 1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set
1445# CONFIG_RCU_TORTURE_TEST is not set 1447# CONFIG_RCU_TORTURE_TEST is not set
1446# CONFIG_FAULT_INJECTION is not set 1448# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set
1447# CONFIG_DEBUG_STACKOVERFLOW is not set 1450# CONFIG_DEBUG_STACKOVERFLOW is not set
1448# CONFIG_DEBUG_STACK_USAGE is not set 1451# CONFIG_DEBUG_STACK_USAGE is not set
1449# CONFIG_DEBUG_PAGEALLOC is not set 1452# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1456,6 +1459,7 @@ CONFIG_FORCED_INLINING=y
1456# 1459#
1457# CONFIG_KEYS is not set 1460# CONFIG_KEYS is not set
1458# CONFIG_SECURITY is not set 1461# CONFIG_SECURITY is not set
1462# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1459CONFIG_CRYPTO=y 1463CONFIG_CRYPTO=y
1460CONFIG_CRYPTO_ALGAPI=y 1464CONFIG_CRYPTO_ALGAPI=y
1461CONFIG_CRYPTO_BLKCIPHER=y 1465CONFIG_CRYPTO_BLKCIPHER=y
@@ -1466,7 +1470,7 @@ CONFIG_CRYPTO_HMAC=y
1466# CONFIG_CRYPTO_NULL is not set 1470# CONFIG_CRYPTO_NULL is not set
1467# CONFIG_CRYPTO_MD4 is not set 1471# CONFIG_CRYPTO_MD4 is not set
1468CONFIG_CRYPTO_MD5=y 1472CONFIG_CRYPTO_MD5=y
1469# CONFIG_CRYPTO_SHA1 is not set 1473CONFIG_CRYPTO_SHA1=m
1470# CONFIG_CRYPTO_SHA256 is not set 1474# CONFIG_CRYPTO_SHA256 is not set
1471# CONFIG_CRYPTO_SHA512 is not set 1475# CONFIG_CRYPTO_SHA512 is not set
1472# CONFIG_CRYPTO_WP512 is not set 1476# CONFIG_CRYPTO_WP512 is not set
@@ -1476,6 +1480,7 @@ CONFIG_CRYPTO_MD5=y
1476CONFIG_CRYPTO_CBC=y 1480CONFIG_CRYPTO_CBC=y
1477CONFIG_CRYPTO_PCBC=m 1481CONFIG_CRYPTO_PCBC=m
1478# CONFIG_CRYPTO_LRW is not set 1482# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set
1479# CONFIG_CRYPTO_CRYPTD is not set 1484# CONFIG_CRYPTO_CRYPTD is not set
1480CONFIG_CRYPTO_DES=y 1485CONFIG_CRYPTO_DES=y
1481# CONFIG_CRYPTO_FCRYPT is not set 1486# CONFIG_CRYPTO_FCRYPT is not set
@@ -1489,9 +1494,12 @@ CONFIG_CRYPTO_DES=y
1489# CONFIG_CRYPTO_ARC4 is not set 1494# CONFIG_CRYPTO_ARC4 is not set
1490# CONFIG_CRYPTO_KHAZAD is not set 1495# CONFIG_CRYPTO_KHAZAD is not set
1491# CONFIG_CRYPTO_ANUBIS is not set 1496# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set
1492# CONFIG_CRYPTO_DEFLATE is not set 1498# CONFIG_CRYPTO_DEFLATE is not set
1493# CONFIG_CRYPTO_MICHAEL_MIC is not set 1499# CONFIG_CRYPTO_MICHAEL_MIC is not set
1494# CONFIG_CRYPTO_CRC32C is not set 1500# CONFIG_CRYPTO_CRC32C is not set
1495# CONFIG_CRYPTO_CAMELLIA is not set 1501# CONFIG_CRYPTO_CAMELLIA is not set
1496# CONFIG_CRYPTO_TEST is not set 1502# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set
1497CONFIG_CRYPTO_HW=y 1504CONFIG_CRYPTO_HW=y
1505# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc85xx_cds_defconfig b/arch/powerpc/configs/mpc85xx_cds_defconfig
index a4f33d110542..2f9ad589b004 100644
--- a/arch/powerpc/configs/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/mpc85xx_cds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:43 2007 4# Thu Dec 6 16:48:54 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_FSL_BOOKE=y
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,9 +68,12 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
67# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
68CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set
76# CONFIG_FAIR_GROUP_SCHED is not set
69CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
70# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
71CONFIG_BLK_DEV_INITRD=y 79CONFIG_BLK_DEV_INITRD=y
@@ -86,7 +94,6 @@ CONFIG_FUTEX=y
86CONFIG_ANON_INODES=y 94CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 95CONFIG_EPOLL=y
88CONFIG_SIGNALFD=y 96CONFIG_SIGNALFD=y
89CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 98CONFIG_SHMEM=y
92CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
@@ -129,7 +136,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
129# CONFIG_MPC8560_ADS is not set 136# CONFIG_MPC8560_ADS is not set
130CONFIG_MPC85xx_CDS=y 137CONFIG_MPC85xx_CDS=y
131# CONFIG_MPC85xx_MDS is not set 138# CONFIG_MPC85xx_MDS is not set
132# CONFIG_MPC8544_DS is not set 139# CONFIG_MPC85xx_DS is not set
133CONFIG_MPC8540=y 140CONFIG_MPC8540=y
134CONFIG_MPC85xx=y 141CONFIG_MPC85xx=y
135CONFIG_MPIC=y 142CONFIG_MPIC=y
@@ -149,6 +156,10 @@ CONFIG_PPC_I8259=y
149# Kernel options 156# Kernel options
150# 157#
151# CONFIG_HIGHMEM is not set 158# CONFIG_HIGHMEM is not set
159CONFIG_TICK_ONESHOT=y
160CONFIG_NO_HZ=y
161CONFIG_HIGH_RES_TIMERS=y
162CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
152# CONFIG_HZ_100 is not set 163# CONFIG_HZ_100 is not set
153CONFIG_HZ_250=y 164CONFIG_HZ_250=y
154# CONFIG_HZ_300 is not set 165# CONFIG_HZ_300 is not set
@@ -170,6 +181,7 @@ CONFIG_FLATMEM_MANUAL=y
170CONFIG_FLATMEM=y 181CONFIG_FLATMEM=y
171CONFIG_FLAT_NODE_MEM_MAP=y 182CONFIG_FLAT_NODE_MEM_MAP=y
172# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
184# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
173CONFIG_SPLIT_PTLOCK_CPUS=4 185CONFIG_SPLIT_PTLOCK_CPUS=4
174# CONFIG_RESOURCES_64BIT is not set 186# CONFIG_RESOURCES_64BIT is not set
175CONFIG_ZONE_DMA_FLAG=1 187CONFIG_ZONE_DMA_FLAG=1
@@ -178,6 +190,8 @@ CONFIG_VIRT_TO_BUS=y
178CONFIG_PROC_DEVICETREE=y 190CONFIG_PROC_DEVICETREE=y
179# CONFIG_CMDLINE_BOOL is not set 191# CONFIG_CMDLINE_BOOL is not set
180# CONFIG_PM is not set 192# CONFIG_PM is not set
193CONFIG_SUSPEND_UP_POSSIBLE=y
194CONFIG_HIBERNATION_UP_POSSIBLE=y
181# CONFIG_SECCOMP is not set 195# CONFIG_SECCOMP is not set
182CONFIG_WANT_DEVICE_TREE=y 196CONFIG_WANT_DEVICE_TREE=y
183CONFIG_DEVICE_TREE="" 197CONFIG_DEVICE_TREE=""
@@ -196,11 +210,8 @@ CONFIG_PCI_SYSCALL=y
196# CONFIG_PCIEPORTBUS is not set 210# CONFIG_PCIEPORTBUS is not set
197CONFIG_ARCH_SUPPORTS_MSI=y 211CONFIG_ARCH_SUPPORTS_MSI=y
198# CONFIG_PCI_MSI is not set 212# CONFIG_PCI_MSI is not set
213CONFIG_PCI_LEGACY=y
199# CONFIG_PCI_DEBUG is not set 214# CONFIG_PCI_DEBUG is not set
200
201#
202# PCCARD (PCMCIA/CardBus) support
203#
204# CONFIG_PCCARD is not set 215# CONFIG_PCCARD is not set
205# CONFIG_HOTPLUG_PCI is not set 216# CONFIG_HOTPLUG_PCI is not set
206 217
@@ -215,7 +226,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
215CONFIG_HIGHMEM_START=0xfe000000 226CONFIG_HIGHMEM_START=0xfe000000
216CONFIG_LOWMEM_SIZE=0x30000000 227CONFIG_LOWMEM_SIZE=0x30000000
217CONFIG_KERNEL_START=0xc0000000 228CONFIG_KERNEL_START=0xc0000000
218CONFIG_TASK_SIZE=0x80000000 229CONFIG_TASK_SIZE=0xc0000000
219CONFIG_BOOT_LOAD=0x00800000 230CONFIG_BOOT_LOAD=0x00800000
220 231
221# 232#
@@ -255,6 +266,7 @@ CONFIG_SYN_COOKIES=y
255CONFIG_INET_XFRM_MODE_TRANSPORT=y 266CONFIG_INET_XFRM_MODE_TRANSPORT=y
256CONFIG_INET_XFRM_MODE_TUNNEL=y 267CONFIG_INET_XFRM_MODE_TUNNEL=y
257CONFIG_INET_XFRM_MODE_BEET=y 268CONFIG_INET_XFRM_MODE_BEET=y
269# CONFIG_INET_LRO is not set
258CONFIG_INET_DIAG=y 270CONFIG_INET_DIAG=y
259CONFIG_INET_TCP_DIAG=y 271CONFIG_INET_TCP_DIAG=y
260# CONFIG_TCP_CONG_ADVANCED is not set 272# CONFIG_TCP_CONG_ADVANCED is not set
@@ -280,10 +292,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
280# CONFIG_LAPB is not set 292# CONFIG_LAPB is not set
281# CONFIG_ECONET is not set 293# CONFIG_ECONET is not set
282# CONFIG_WAN_ROUTER is not set 294# CONFIG_WAN_ROUTER is not set
283
284#
285# QoS and/or fair queueing
286#
287# CONFIG_NET_SCHED is not set 295# CONFIG_NET_SCHED is not set
288 296
289# 297#
@@ -312,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
312# 320#
313# Generic Driver Options 321# Generic Driver Options
314# 322#
323CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
315CONFIG_STANDALONE=y 324CONFIG_STANDALONE=y
316CONFIG_PREVENT_FIRMWARE_BUILD=y 325CONFIG_PREVENT_FIRMWARE_BUILD=y
317# CONFIG_FW_LOADER is not set 326# CONFIG_FW_LOADER is not set
@@ -364,6 +373,11 @@ CONFIG_IDE_PROC_FS=y
364# IDE chipset support/bugfixes 373# IDE chipset support/bugfixes
365# 374#
366CONFIG_IDE_GENERIC=y 375CONFIG_IDE_GENERIC=y
376# CONFIG_BLK_DEV_PLATFORM is not set
377
378#
379# PCI IDE chipsets support
380#
367CONFIG_BLK_DEV_IDEPCI=y 381CONFIG_BLK_DEV_IDEPCI=y
368CONFIG_IDEPCI_SHARE_IRQ=y 382CONFIG_IDEPCI_SHARE_IRQ=y
369CONFIG_IDEPCI_PCIBUS_ORDER=y 383CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -371,8 +385,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
371CONFIG_BLK_DEV_GENERIC=y 385CONFIG_BLK_DEV_GENERIC=y
372# CONFIG_BLK_DEV_OPTI621 is not set 386# CONFIG_BLK_DEV_OPTI621 is not set
373CONFIG_BLK_DEV_IDEDMA_PCI=y 387CONFIG_BLK_DEV_IDEDMA_PCI=y
374# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
375# CONFIG_IDEDMA_ONLYDISK is not set
376# CONFIG_BLK_DEV_AEC62XX is not set 388# CONFIG_BLK_DEV_AEC62XX is not set
377# CONFIG_BLK_DEV_ALI15X3 is not set 389# CONFIG_BLK_DEV_ALI15X3 is not set
378# CONFIG_BLK_DEV_AMD74XX is not set 390# CONFIG_BLK_DEV_AMD74XX is not set
@@ -400,7 +412,7 @@ CONFIG_BLK_DEV_VIA82CXXX=y
400# CONFIG_BLK_DEV_TC86C001 is not set 412# CONFIG_BLK_DEV_TC86C001 is not set
401# CONFIG_IDE_ARM is not set 413# CONFIG_IDE_ARM is not set
402CONFIG_BLK_DEV_IDEDMA=y 414CONFIG_BLK_DEV_IDEDMA=y
403# CONFIG_IDEDMA_IVB is not set 415CONFIG_IDE_ARCH_OBSOLETE_INIT=y
404# CONFIG_BLK_DEV_HD is not set 416# CONFIG_BLK_DEV_HD is not set
405 417
406# 418#
@@ -412,10 +424,6 @@ CONFIG_BLK_DEV_IDEDMA=y
412# CONFIG_SCSI_NETLINK is not set 424# CONFIG_SCSI_NETLINK is not set
413# CONFIG_ATA is not set 425# CONFIG_ATA is not set
414# CONFIG_MD is not set 426# CONFIG_MD is not set
415
416#
417# Fusion MPT device support
418#
419# CONFIG_FUSION is not set 427# CONFIG_FUSION is not set
420 428
421# 429#
@@ -432,6 +440,8 @@ CONFIG_NETDEVICES=y
432# CONFIG_MACVLAN is not set 440# CONFIG_MACVLAN is not set
433# CONFIG_EQUALIZER is not set 441# CONFIG_EQUALIZER is not set
434# CONFIG_TUN is not set 442# CONFIG_TUN is not set
443# CONFIG_VETH is not set
444# CONFIG_IP1000 is not set
435# CONFIG_ARCNET is not set 445# CONFIG_ARCNET is not set
436CONFIG_PHYLIB=y 446CONFIG_PHYLIB=y
437 447
@@ -448,6 +458,7 @@ CONFIG_PHYLIB=y
448# CONFIG_BROADCOM_PHY is not set 458# CONFIG_BROADCOM_PHY is not set
449# CONFIG_ICPLUS_PHY is not set 459# CONFIG_ICPLUS_PHY is not set
450# CONFIG_FIXED_PHY is not set 460# CONFIG_FIXED_PHY is not set
461# CONFIG_MDIO_BITBANG is not set
451CONFIG_NET_ETHERNET=y 462CONFIG_NET_ETHERNET=y
452CONFIG_MII=y 463CONFIG_MII=y
453# CONFIG_HAPPYMEAL is not set 464# CONFIG_HAPPYMEAL is not set
@@ -456,13 +467,19 @@ CONFIG_MII=y
456# CONFIG_NET_VENDOR_3COM is not set 467# CONFIG_NET_VENDOR_3COM is not set
457# CONFIG_NET_TULIP is not set 468# CONFIG_NET_TULIP is not set
458# CONFIG_HP100 is not set 469# CONFIG_HP100 is not set
470# CONFIG_IBM_NEW_EMAC_ZMII is not set
471# CONFIG_IBM_NEW_EMAC_RGMII is not set
472# CONFIG_IBM_NEW_EMAC_TAH is not set
473# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
459# CONFIG_NET_PCI is not set 474# CONFIG_NET_PCI is not set
475# CONFIG_B44 is not set
460CONFIG_NETDEV_1000=y 476CONFIG_NETDEV_1000=y
461# CONFIG_ACENIC is not set 477# CONFIG_ACENIC is not set
462# CONFIG_DL2K is not set 478# CONFIG_DL2K is not set
463CONFIG_E1000=y 479CONFIG_E1000=y
464CONFIG_E1000_NAPI=y 480CONFIG_E1000_NAPI=y
465# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 481# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
482# CONFIG_E1000E is not set
466# CONFIG_NS83820 is not set 483# CONFIG_NS83820 is not set
467# CONFIG_HAMACHI is not set 484# CONFIG_HAMACHI is not set
468# CONFIG_YELLOWFIN is not set 485# CONFIG_YELLOWFIN is not set
@@ -470,6 +487,7 @@ CONFIG_E1000_NAPI=y
470# CONFIG_SIS190 is not set 487# CONFIG_SIS190 is not set
471# CONFIG_SKGE is not set 488# CONFIG_SKGE is not set
472# CONFIG_SKY2 is not set 489# CONFIG_SKY2 is not set
490# CONFIG_SK98LIN is not set
473# CONFIG_VIA_VELOCITY is not set 491# CONFIG_VIA_VELOCITY is not set
474# CONFIG_TIGON3 is not set 492# CONFIG_TIGON3 is not set
475# CONFIG_BNX2 is not set 493# CONFIG_BNX2 is not set
@@ -480,11 +498,14 @@ CONFIG_GFAR_NAPI=y
480CONFIG_NETDEV_10000=y 498CONFIG_NETDEV_10000=y
481# CONFIG_CHELSIO_T1 is not set 499# CONFIG_CHELSIO_T1 is not set
482# CONFIG_CHELSIO_T3 is not set 500# CONFIG_CHELSIO_T3 is not set
501# CONFIG_IXGBE is not set
483# CONFIG_IXGB is not set 502# CONFIG_IXGB is not set
484# CONFIG_S2IO is not set 503# CONFIG_S2IO is not set
485# CONFIG_MYRI10GE is not set 504# CONFIG_MYRI10GE is not set
486# CONFIG_NETXEN_NIC is not set 505# CONFIG_NETXEN_NIC is not set
506# CONFIG_NIU is not set
487# CONFIG_MLX4_CORE is not set 507# CONFIG_MLX4_CORE is not set
508# CONFIG_TEHUTI is not set
488# CONFIG_TR is not set 509# CONFIG_TR is not set
489 510
490# 511#
@@ -516,7 +537,6 @@ CONFIG_INPUT=y
516# 537#
517# CONFIG_INPUT_MOUSEDEV is not set 538# CONFIG_INPUT_MOUSEDEV is not set
518# CONFIG_INPUT_JOYDEV is not set 539# CONFIG_INPUT_JOYDEV is not set
519# CONFIG_INPUT_TSDEV is not set
520# CONFIG_INPUT_EVDEV is not set 540# CONFIG_INPUT_EVDEV is not set
521# CONFIG_INPUT_EVBUG is not set 541# CONFIG_INPUT_EVBUG is not set
522 542
@@ -565,15 +585,12 @@ CONFIG_UNIX98_PTYS=y
565CONFIG_LEGACY_PTYS=y 585CONFIG_LEGACY_PTYS=y
566CONFIG_LEGACY_PTY_COUNT=256 586CONFIG_LEGACY_PTY_COUNT=256
567# CONFIG_IPMI_HANDLER is not set 587# CONFIG_IPMI_HANDLER is not set
568# CONFIG_WATCHDOG is not set
569# CONFIG_HW_RANDOM is not set 588# CONFIG_HW_RANDOM is not set
570# CONFIG_NVRAM is not set 589# CONFIG_NVRAM is not set
571CONFIG_GEN_RTC=y 590CONFIG_GEN_RTC=y
572# CONFIG_GEN_RTC_X is not set 591# CONFIG_GEN_RTC_X is not set
573# CONFIG_R3964 is not set 592# CONFIG_R3964 is not set
574# CONFIG_APPLICOM is not set 593# CONFIG_APPLICOM is not set
575# CONFIG_AGP is not set
576# CONFIG_DRM is not set
577# CONFIG_RAW_DRIVER is not set 594# CONFIG_RAW_DRIVER is not set
578# CONFIG_TCG_TPM is not set 595# CONFIG_TCG_TPM is not set
579CONFIG_DEVPORT=y 596CONFIG_DEVPORT=y
@@ -588,9 +605,9 @@ CONFIG_DEVPORT=y
588# CONFIG_POWER_SUPPLY is not set 605# CONFIG_POWER_SUPPLY is not set
589CONFIG_HWMON=y 606CONFIG_HWMON=y
590# CONFIG_HWMON_VID is not set 607# CONFIG_HWMON_VID is not set
591# CONFIG_SENSORS_ABITUGURU is not set 608# CONFIG_SENSORS_I5K_AMB is not set
592# CONFIG_SENSORS_ABITUGURU3 is not set
593# CONFIG_SENSORS_F71805F is not set 609# CONFIG_SENSORS_F71805F is not set
610# CONFIG_SENSORS_F71882FG is not set
594# CONFIG_SENSORS_IT87 is not set 611# CONFIG_SENSORS_IT87 is not set
595# CONFIG_SENSORS_PC87360 is not set 612# CONFIG_SENSORS_PC87360 is not set
596# CONFIG_SENSORS_PC87427 is not set 613# CONFIG_SENSORS_PC87427 is not set
@@ -603,6 +620,13 @@ CONFIG_HWMON=y
603# CONFIG_SENSORS_W83627HF is not set 620# CONFIG_SENSORS_W83627HF is not set
604# CONFIG_SENSORS_W83627EHF is not set 621# CONFIG_SENSORS_W83627EHF is not set
605# CONFIG_HWMON_DEBUG_CHIP is not set 622# CONFIG_HWMON_DEBUG_CHIP is not set
623# CONFIG_WATCHDOG is not set
624
625#
626# Sonics Silicon Backplane
627#
628CONFIG_SSB_POSSIBLE=y
629# CONFIG_SSB is not set
606 630
607# 631#
608# Multifunction device drivers 632# Multifunction device drivers
@@ -619,16 +643,17 @@ CONFIG_DAB=y
619# 643#
620# Graphics support 644# Graphics support
621# 645#
646# CONFIG_AGP is not set
647# CONFIG_DRM is not set
648# CONFIG_VGASTATE is not set
649CONFIG_VIDEO_OUTPUT_CONTROL=y
650# CONFIG_FB is not set
622# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 651# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
623 652
624# 653#
625# Display device support 654# Display device support
626# 655#
627# CONFIG_DISPLAY_SUPPORT is not set 656# CONFIG_DISPLAY_SUPPORT is not set
628# CONFIG_VGASTATE is not set
629CONFIG_VIDEO_OUTPUT_CONTROL=y
630# CONFIG_FB is not set
631# CONFIG_FB_IBM_GXT4500 is not set
632 657
633# 658#
634# Sound 659# Sound
@@ -637,6 +662,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
637CONFIG_HID_SUPPORT=y 662CONFIG_HID_SUPPORT=y
638CONFIG_HID=y 663CONFIG_HID=y
639# CONFIG_HID_DEBUG is not set 664# CONFIG_HID_DEBUG is not set
665# CONFIG_HIDRAW is not set
640CONFIG_USB_SUPPORT=y 666CONFIG_USB_SUPPORT=y
641CONFIG_USB_ARCH_HAS_HCD=y 667CONFIG_USB_ARCH_HAS_HCD=y
642CONFIG_USB_ARCH_HAS_OHCI=y 668CONFIG_USB_ARCH_HAS_OHCI=y
@@ -658,19 +684,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
658# CONFIG_RTC_CLASS is not set 684# CONFIG_RTC_CLASS is not set
659 685
660# 686#
661# DMA Engine support
662#
663# CONFIG_DMA_ENGINE is not set
664
665#
666# DMA Clients
667#
668
669#
670# DMA Devices
671#
672
673#
674# Userspace I/O 687# Userspace I/O
675# 688#
676# CONFIG_UIO is not set 689# CONFIG_UIO is not set
@@ -687,7 +700,6 @@ CONFIG_EXT3_FS_XATTR=y
687# CONFIG_EXT3_FS_SECURITY is not set 700# CONFIG_EXT3_FS_SECURITY is not set
688# CONFIG_EXT4DEV_FS is not set 701# CONFIG_EXT4DEV_FS is not set
689CONFIG_JBD=y 702CONFIG_JBD=y
690# CONFIG_JBD_DEBUG is not set
691CONFIG_FS_MBCACHE=y 703CONFIG_FS_MBCACHE=y
692# CONFIG_REISERFS_FS is not set 704# CONFIG_REISERFS_FS is not set
693# CONFIG_JFS_FS is not set 705# CONFIG_JFS_FS is not set
@@ -728,7 +740,6 @@ CONFIG_SYSFS=y
728CONFIG_TMPFS=y 740CONFIG_TMPFS=y
729# CONFIG_TMPFS_POSIX_ACL is not set 741# CONFIG_TMPFS_POSIX_ACL is not set
730# CONFIG_HUGETLB_PAGE is not set 742# CONFIG_HUGETLB_PAGE is not set
731CONFIG_RAMFS=y
732# CONFIG_CONFIGFS_FS is not set 743# CONFIG_CONFIGFS_FS is not set
733 744
734# 745#
@@ -747,10 +758,7 @@ CONFIG_RAMFS=y
747# CONFIG_QNX4FS_FS is not set 758# CONFIG_QNX4FS_FS is not set
748# CONFIG_SYSV_FS is not set 759# CONFIG_SYSV_FS is not set
749# CONFIG_UFS_FS is not set 760# CONFIG_UFS_FS is not set
750 761CONFIG_NETWORK_FILESYSTEMS=y
751#
752# Network File Systems
753#
754CONFIG_NFS_FS=y 762CONFIG_NFS_FS=y
755# CONFIG_NFS_V3 is not set 763# CONFIG_NFS_V3 is not set
756# CONFIG_NFS_V4 is not set 764# CONFIG_NFS_V4 is not set
@@ -786,15 +794,7 @@ CONFIG_PARTITION_ADVANCED=y
786# CONFIG_KARMA_PARTITION is not set 794# CONFIG_KARMA_PARTITION is not set
787# CONFIG_EFI_PARTITION is not set 795# CONFIG_EFI_PARTITION is not set
788# CONFIG_SYSV68_PARTITION is not set 796# CONFIG_SYSV68_PARTITION is not set
789
790#
791# Native Language Support
792#
793# CONFIG_NLS is not set 797# CONFIG_NLS is not set
794
795#
796# Distributed Lock Manager
797#
798# CONFIG_DLM is not set 798# CONFIG_DLM is not set
799# CONFIG_UCC_SLOW is not set 799# CONFIG_UCC_SLOW is not set
800 800
@@ -812,16 +812,13 @@ CONFIG_PLIST=y
812CONFIG_HAS_IOMEM=y 812CONFIG_HAS_IOMEM=y
813CONFIG_HAS_IOPORT=y 813CONFIG_HAS_IOPORT=y
814CONFIG_HAS_DMA=y 814CONFIG_HAS_DMA=y
815 815# CONFIG_INSTRUMENTATION is not set
816#
817# Instrumentation Support
818#
819# CONFIG_PROFILING is not set
820 816
821# 817#
822# Kernel hacking 818# Kernel hacking
823# 819#
824# CONFIG_PRINTK_TIME is not set 820# CONFIG_PRINTK_TIME is not set
821CONFIG_ENABLE_WARN_DEPRECATED=y
825CONFIG_ENABLE_MUST_CHECK=y 822CONFIG_ENABLE_MUST_CHECK=y
826# CONFIG_MAGIC_SYSRQ is not set 823# CONFIG_MAGIC_SYSRQ is not set
827# CONFIG_UNUSED_SYMBOLS is not set 824# CONFIG_UNUSED_SYMBOLS is not set
@@ -845,8 +842,11 @@ CONFIG_DEBUG_MUTEXES=y
845# CONFIG_DEBUG_INFO is not set 842# CONFIG_DEBUG_INFO is not set
846# CONFIG_DEBUG_VM is not set 843# CONFIG_DEBUG_VM is not set
847# CONFIG_DEBUG_LIST is not set 844# CONFIG_DEBUG_LIST is not set
845# CONFIG_DEBUG_SG is not set
848CONFIG_FORCED_INLINING=y 846CONFIG_FORCED_INLINING=y
847# CONFIG_BOOT_PRINTK_DELAY is not set
849# CONFIG_FAULT_INJECTION is not set 848# CONFIG_FAULT_INJECTION is not set
849# CONFIG_SAMPLES is not set
850# CONFIG_DEBUG_STACKOVERFLOW is not set 850# CONFIG_DEBUG_STACKOVERFLOW is not set
851# CONFIG_DEBUG_STACK_USAGE is not set 851# CONFIG_DEBUG_STACK_USAGE is not set
852# CONFIG_DEBUG_PAGEALLOC is not set 852# CONFIG_DEBUG_PAGEALLOC is not set
@@ -859,4 +859,6 @@ CONFIG_FORCED_INLINING=y
859# 859#
860# CONFIG_KEYS is not set 860# CONFIG_KEYS is not set
861# CONFIG_SECURITY is not set 861# CONFIG_SECURITY is not set
862# CONFIG_SECURITY_FILE_CAPABILITIES is not set
862# CONFIG_CRYPTO is not set 863# CONFIG_CRYPTO is not set
864# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8610_hpcd_defconfig b/arch/powerpc/configs/mpc8610_hpcd_defconfig
index 0483211f52be..9614d24f832a 100644
--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6 3# Linux kernel version: 2.6.24-rc4
4# Tue Oct 2 11:42:56 2007 4# Thu Dec 6 16:48:56 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -61,10 +66,13 @@ CONFIG_LOCALVERSION=""
61# CONFIG_BSD_PROCESS_ACCT is not set 66# CONFIG_BSD_PROCESS_ACCT is not set
62# CONFIG_TASKSTATS is not set 67# CONFIG_TASKSTATS is not set
63# CONFIG_USER_NS is not set 68# CONFIG_USER_NS is not set
69# CONFIG_PID_NS is not set
64# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
65CONFIG_IKCONFIG=y 71CONFIG_IKCONFIG=y
66CONFIG_IKCONFIG_PROC=y 72CONFIG_IKCONFIG_PROC=y
67CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
70CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -119,7 +127,6 @@ CONFIG_DEFAULT_IOSCHED="deadline"
119# Platform support 127# Platform support
120# 128#
121# CONFIG_PPC_MULTIPLATFORM is not set 129# CONFIG_PPC_MULTIPLATFORM is not set
122# CONFIG_EMBEDDED6xx is not set
123# CONFIG_PPC_82xx is not set 130# CONFIG_PPC_82xx is not set
124# CONFIG_PPC_83xx is not set 131# CONFIG_PPC_83xx is not set
125CONFIG_PPC_86xx=y 132CONFIG_PPC_86xx=y
@@ -148,6 +155,10 @@ CONFIG_MPIC=y
148# Kernel options 155# Kernel options
149# 156#
150CONFIG_HIGHMEM=y 157CONFIG_HIGHMEM=y
158CONFIG_TICK_ONESHOT=y
159CONFIG_NO_HZ=y
160CONFIG_HIGH_RES_TIMERS=y
161CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
151# CONFIG_HZ_100 is not set 162# CONFIG_HZ_100 is not set
152# CONFIG_HZ_250 is not set 163# CONFIG_HZ_250 is not set
153# CONFIG_HZ_300 is not set 164# CONFIG_HZ_300 is not set
@@ -168,6 +179,7 @@ CONFIG_FLATMEM_MANUAL=y
168CONFIG_FLATMEM=y 179CONFIG_FLATMEM=y
169CONFIG_FLAT_NODE_MEM_MAP=y 180CONFIG_FLAT_NODE_MEM_MAP=y
170# CONFIG_SPARSEMEM_STATIC is not set 181# CONFIG_SPARSEMEM_STATIC is not set
182# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
171CONFIG_SPLIT_PTLOCK_CPUS=4 183CONFIG_SPLIT_PTLOCK_CPUS=4
172# CONFIG_RESOURCES_64BIT is not set 184# CONFIG_RESOURCES_64BIT is not set
173CONFIG_ZONE_DMA_FLAG=1 185CONFIG_ZONE_DMA_FLAG=1
@@ -197,11 +209,8 @@ CONFIG_PCIEPORTBUS=y
197CONFIG_PCIEAER=y 209CONFIG_PCIEAER=y
198CONFIG_ARCH_SUPPORTS_MSI=y 210CONFIG_ARCH_SUPPORTS_MSI=y
199# CONFIG_PCI_MSI is not set 211# CONFIG_PCI_MSI is not set
212CONFIG_PCI_LEGACY=y
200CONFIG_PCI_DEBUG=y 213CONFIG_PCI_DEBUG=y
201
202#
203# PCCARD (PCMCIA/CardBus) support
204#
205# CONFIG_PCCARD is not set 214# CONFIG_PCCARD is not set
206# CONFIG_HOTPLUG_PCI is not set 215# CONFIG_HOTPLUG_PCI is not set
207 216
@@ -216,7 +225,7 @@ CONFIG_PCI_DEBUG=y
216CONFIG_HIGHMEM_START=0xfe000000 225CONFIG_HIGHMEM_START=0xfe000000
217CONFIG_LOWMEM_SIZE=0x30000000 226CONFIG_LOWMEM_SIZE=0x30000000
218CONFIG_KERNEL_START=0xc0000000 227CONFIG_KERNEL_START=0xc0000000
219CONFIG_TASK_SIZE=0x80000000 228CONFIG_TASK_SIZE=0xc0000000
220CONFIG_BOOT_LOAD=0x00800000 229CONFIG_BOOT_LOAD=0x00800000
221 230
222# 231#
@@ -255,6 +264,7 @@ CONFIG_INET_TUNNEL=y
255CONFIG_INET_XFRM_MODE_TRANSPORT=y 264CONFIG_INET_XFRM_MODE_TRANSPORT=y
256CONFIG_INET_XFRM_MODE_TUNNEL=y 265CONFIG_INET_XFRM_MODE_TUNNEL=y
257CONFIG_INET_XFRM_MODE_BEET=y 266CONFIG_INET_XFRM_MODE_BEET=y
267# CONFIG_INET_LRO is not set
258CONFIG_INET_DIAG=y 268CONFIG_INET_DIAG=y
259CONFIG_INET_TCP_DIAG=y 269CONFIG_INET_TCP_DIAG=y
260# CONFIG_TCP_CONG_ADVANCED is not set 270# CONFIG_TCP_CONG_ADVANCED is not set
@@ -294,10 +304,6 @@ CONFIG_IPV6_SIT=y
294# CONFIG_LAPB is not set 304# CONFIG_LAPB is not set
295# CONFIG_ECONET is not set 305# CONFIG_ECONET is not set
296# CONFIG_WAN_ROUTER is not set 306# CONFIG_WAN_ROUTER is not set
297
298#
299# QoS and/or fair queueing
300#
301# CONFIG_NET_SCHED is not set 307# CONFIG_NET_SCHED is not set
302 308
303# 309#
@@ -326,6 +332,7 @@ CONFIG_IPV6_SIT=y
326# 332#
327# Generic Driver Options 333# Generic Driver Options
328# 334#
335CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
329CONFIG_STANDALONE=y 336CONFIG_STANDALONE=y
330CONFIG_PREVENT_FIRMWARE_BUILD=y 337CONFIG_PREVENT_FIRMWARE_BUILD=y
331CONFIG_FW_LOADER=y 338CONFIG_FW_LOADER=y
@@ -399,6 +406,7 @@ CONFIG_CHR_DEV_SG=y
399# CONFIG_SCSI_FC_ATTRS is not set 406# CONFIG_SCSI_FC_ATTRS is not set
400# CONFIG_SCSI_ISCSI_ATTRS is not set 407# CONFIG_SCSI_ISCSI_ATTRS is not set
401# CONFIG_SCSI_SAS_LIBSAS is not set 408# CONFIG_SCSI_SAS_LIBSAS is not set
409# CONFIG_SCSI_SRP_ATTRS is not set
402CONFIG_SCSI_LOWLEVEL=y 410CONFIG_SCSI_LOWLEVEL=y
403# CONFIG_ISCSI_TCP is not set 411# CONFIG_ISCSI_TCP is not set
404# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 412# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -410,6 +418,7 @@ CONFIG_SCSI_LOWLEVEL=y
410# CONFIG_SCSI_AIC79XX is not set 418# CONFIG_SCSI_AIC79XX is not set
411# CONFIG_SCSI_AIC94XX is not set 419# CONFIG_SCSI_AIC94XX is not set
412# CONFIG_SCSI_DPT_I2O is not set 420# CONFIG_SCSI_DPT_I2O is not set
421# CONFIG_SCSI_ADVANSYS is not set
413# CONFIG_SCSI_ARCMSR is not set 422# CONFIG_SCSI_ARCMSR is not set
414# CONFIG_MEGARAID_NEWGEN is not set 423# CONFIG_MEGARAID_NEWGEN is not set
415# CONFIG_MEGARAID_LEGACY is not set 424# CONFIG_MEGARAID_LEGACY is not set
@@ -477,6 +486,7 @@ CONFIG_PATA_ALI=y
477# CONFIG_PATA_OLDPIIX is not set 486# CONFIG_PATA_OLDPIIX is not set
478# CONFIG_PATA_NETCELL is not set 487# CONFIG_PATA_NETCELL is not set
479# CONFIG_PATA_NS87410 is not set 488# CONFIG_PATA_NS87410 is not set
489# CONFIG_PATA_NS87415 is not set
480# CONFIG_PATA_OPTI is not set 490# CONFIG_PATA_OPTI is not set
481# CONFIG_PATA_OPTIDMA is not set 491# CONFIG_PATA_OPTIDMA is not set
482# CONFIG_PATA_PDC_OLD is not set 492# CONFIG_PATA_PDC_OLD is not set
@@ -491,14 +501,7 @@ CONFIG_PATA_ALI=y
491# CONFIG_PATA_WINBOND is not set 501# CONFIG_PATA_WINBOND is not set
492# CONFIG_PATA_PLATFORM is not set 502# CONFIG_PATA_PLATFORM is not set
493# CONFIG_MD is not set 503# CONFIG_MD is not set
494
495#
496# Fusion MPT device support
497#
498# CONFIG_FUSION is not set 504# CONFIG_FUSION is not set
499# CONFIG_FUSION_SPI is not set
500# CONFIG_FUSION_FC is not set
501# CONFIG_FUSION_SAS is not set
502 505
503# 506#
504# IEEE 1394 (FireWire) support 507# IEEE 1394 (FireWire) support
@@ -514,6 +517,8 @@ CONFIG_DUMMY=y
514# CONFIG_MACVLAN is not set 517# CONFIG_MACVLAN is not set
515# CONFIG_EQUALIZER is not set 518# CONFIG_EQUALIZER is not set
516# CONFIG_TUN is not set 519# CONFIG_TUN is not set
520# CONFIG_VETH is not set
521# CONFIG_IP1000 is not set
517# CONFIG_ARCNET is not set 522# CONFIG_ARCNET is not set
518CONFIG_PHYLIB=y 523CONFIG_PHYLIB=y
519 524
@@ -530,6 +535,7 @@ CONFIG_PHYLIB=y
530# CONFIG_BROADCOM_PHY is not set 535# CONFIG_BROADCOM_PHY is not set
531# CONFIG_ICPLUS_PHY is not set 536# CONFIG_ICPLUS_PHY is not set
532# CONFIG_FIXED_PHY is not set 537# CONFIG_FIXED_PHY is not set
538# CONFIG_MDIO_BITBANG is not set
533CONFIG_NET_ETHERNET=y 539CONFIG_NET_ETHERNET=y
534CONFIG_MII=y 540CONFIG_MII=y
535# CONFIG_HAPPYMEAL is not set 541# CONFIG_HAPPYMEAL is not set
@@ -547,13 +553,16 @@ CONFIG_TULIP_MMIO=y
547# CONFIG_DM9102 is not set 553# CONFIG_DM9102 is not set
548# CONFIG_ULI526X is not set 554# CONFIG_ULI526X is not set
549# CONFIG_HP100 is not set 555# CONFIG_HP100 is not set
556# CONFIG_IBM_NEW_EMAC_ZMII is not set
557# CONFIG_IBM_NEW_EMAC_RGMII is not set
558# CONFIG_IBM_NEW_EMAC_TAH is not set
559# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
550CONFIG_NET_PCI=y 560CONFIG_NET_PCI=y
551# CONFIG_PCNET32 is not set 561# CONFIG_PCNET32 is not set
552# CONFIG_AMD8111_ETH is not set 562# CONFIG_AMD8111_ETH is not set
553# CONFIG_ADAPTEC_STARFIRE is not set 563# CONFIG_ADAPTEC_STARFIRE is not set
554# CONFIG_B44 is not set 564# CONFIG_B44 is not set
555# CONFIG_FORCEDETH is not set 565# CONFIG_FORCEDETH is not set
556# CONFIG_DGRS is not set
557# CONFIG_EEPRO100 is not set 566# CONFIG_EEPRO100 is not set
558# CONFIG_E100 is not set 567# CONFIG_E100 is not set
559# CONFIG_FEALNX is not set 568# CONFIG_FEALNX is not set
@@ -575,6 +584,7 @@ CONFIG_NETDEV_1000=y
575# CONFIG_ACENIC is not set 584# CONFIG_ACENIC is not set
576# CONFIG_DL2K is not set 585# CONFIG_DL2K is not set
577# CONFIG_E1000 is not set 586# CONFIG_E1000 is not set
587# CONFIG_E1000E is not set
578# CONFIG_NS83820 is not set 588# CONFIG_NS83820 is not set
579# CONFIG_HAMACHI is not set 589# CONFIG_HAMACHI is not set
580# CONFIG_YELLOWFIN is not set 590# CONFIG_YELLOWFIN is not set
@@ -592,11 +602,14 @@ CONFIG_NETDEV_1000=y
592CONFIG_NETDEV_10000=y 602CONFIG_NETDEV_10000=y
593# CONFIG_CHELSIO_T1 is not set 603# CONFIG_CHELSIO_T1 is not set
594# CONFIG_CHELSIO_T3 is not set 604# CONFIG_CHELSIO_T3 is not set
605# CONFIG_IXGBE is not set
595# CONFIG_IXGB is not set 606# CONFIG_IXGB is not set
596# CONFIG_S2IO is not set 607# CONFIG_S2IO is not set
597# CONFIG_MYRI10GE is not set 608# CONFIG_MYRI10GE is not set
598# CONFIG_NETXEN_NIC is not set 609# CONFIG_NETXEN_NIC is not set
610# CONFIG_NIU is not set
599# CONFIG_MLX4_CORE is not set 611# CONFIG_MLX4_CORE is not set
612# CONFIG_TEHUTI is not set
600# CONFIG_TR is not set 613# CONFIG_TR is not set
601 614
602# 615#
@@ -629,7 +642,6 @@ CONFIG_INPUT=y
629# 642#
630# CONFIG_INPUT_MOUSEDEV is not set 643# CONFIG_INPUT_MOUSEDEV is not set
631# CONFIG_INPUT_JOYDEV is not set 644# CONFIG_INPUT_JOYDEV is not set
632# CONFIG_INPUT_TSDEV is not set
633# CONFIG_INPUT_EVDEV is not set 645# CONFIG_INPUT_EVDEV is not set
634# CONFIG_INPUT_EVBUG is not set 646# CONFIG_INPUT_EVBUG is not set
635 647
@@ -688,14 +700,11 @@ CONFIG_SERIAL_OF_PLATFORM=y
688CONFIG_UNIX98_PTYS=y 700CONFIG_UNIX98_PTYS=y
689# CONFIG_LEGACY_PTYS is not set 701# CONFIG_LEGACY_PTYS is not set
690# CONFIG_IPMI_HANDLER is not set 702# CONFIG_IPMI_HANDLER is not set
691# CONFIG_WATCHDOG is not set
692# CONFIG_HW_RANDOM is not set 703# CONFIG_HW_RANDOM is not set
693# CONFIG_NVRAM is not set 704# CONFIG_NVRAM is not set
694# CONFIG_GEN_RTC is not set 705# CONFIG_GEN_RTC is not set
695# CONFIG_R3964 is not set 706# CONFIG_R3964 is not set
696# CONFIG_APPLICOM is not set 707# CONFIG_APPLICOM is not set
697# CONFIG_AGP is not set
698# CONFIG_DRM is not set
699# CONFIG_RAW_DRIVER is not set 708# CONFIG_RAW_DRIVER is not set
700# CONFIG_TCG_TPM is not set 709# CONFIG_TCG_TPM is not set
701CONFIG_DEVPORT=y 710CONFIG_DEVPORT=y
@@ -709,6 +718,13 @@ CONFIG_DEVPORT=y
709# CONFIG_W1 is not set 718# CONFIG_W1 is not set
710# CONFIG_POWER_SUPPLY is not set 719# CONFIG_POWER_SUPPLY is not set
711# CONFIG_HWMON is not set 720# CONFIG_HWMON is not set
721# CONFIG_WATCHDOG is not set
722
723#
724# Sonics Silicon Backplane
725#
726CONFIG_SSB_POSSIBLE=y
727# CONFIG_SSB is not set
712 728
713# 729#
714# Multifunction device drivers 730# Multifunction device drivers
@@ -725,16 +741,17 @@ CONFIG_DAB=y
725# 741#
726# Graphics support 742# Graphics support
727# 743#
744# CONFIG_AGP is not set
745# CONFIG_DRM is not set
746# CONFIG_VGASTATE is not set
747CONFIG_VIDEO_OUTPUT_CONTROL=y
748# CONFIG_FB is not set
728# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 749# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
729 750
730# 751#
731# Display device support 752# Display device support
732# 753#
733# CONFIG_DISPLAY_SUPPORT is not set 754# CONFIG_DISPLAY_SUPPORT is not set
734# CONFIG_VGASTATE is not set
735CONFIG_VIDEO_OUTPUT_CONTROL=y
736# CONFIG_FB is not set
737# CONFIG_FB_IBM_GXT4500 is not set
738 755
739# 756#
740# Console display driver support 757# Console display driver support
@@ -750,6 +767,7 @@ CONFIG_DUMMY_CONSOLE=y
750CONFIG_HID_SUPPORT=y 767CONFIG_HID_SUPPORT=y
751CONFIG_HID=y 768CONFIG_HID=y
752# CONFIG_HID_DEBUG is not set 769# CONFIG_HID_DEBUG is not set
770# CONFIG_HIDRAW is not set
753CONFIG_USB_SUPPORT=y 771CONFIG_USB_SUPPORT=y
754CONFIG_USB_ARCH_HAS_HCD=y 772CONFIG_USB_ARCH_HAS_HCD=y
755CONFIG_USB_ARCH_HAS_OHCI=y 773CONFIG_USB_ARCH_HAS_OHCI=y
@@ -771,19 +789,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
771# CONFIG_RTC_CLASS is not set 789# CONFIG_RTC_CLASS is not set
772 790
773# 791#
774# DMA Engine support
775#
776# CONFIG_DMA_ENGINE is not set
777
778#
779# DMA Clients
780#
781
782#
783# DMA Devices
784#
785
786#
787# Userspace I/O 792# Userspace I/O
788# 793#
789# CONFIG_UIO is not set 794# CONFIG_UIO is not set
@@ -800,7 +805,6 @@ CONFIG_EXT3_FS_XATTR=y
800# CONFIG_EXT3_FS_SECURITY is not set 805# CONFIG_EXT3_FS_SECURITY is not set
801# CONFIG_EXT4DEV_FS is not set 806# CONFIG_EXT4DEV_FS is not set
802CONFIG_JBD=y 807CONFIG_JBD=y
803# CONFIG_JBD_DEBUG is not set
804CONFIG_FS_MBCACHE=y 808CONFIG_FS_MBCACHE=y
805# CONFIG_REISERFS_FS is not set 809# CONFIG_REISERFS_FS is not set
806# CONFIG_JFS_FS is not set 810# CONFIG_JFS_FS is not set
@@ -840,7 +844,6 @@ CONFIG_SYSFS=y
840CONFIG_TMPFS=y 844CONFIG_TMPFS=y
841# CONFIG_TMPFS_POSIX_ACL is not set 845# CONFIG_TMPFS_POSIX_ACL is not set
842# CONFIG_HUGETLB_PAGE is not set 846# CONFIG_HUGETLB_PAGE is not set
843CONFIG_RAMFS=y
844# CONFIG_CONFIGFS_FS is not set 847# CONFIG_CONFIGFS_FS is not set
845 848
846# 849#
@@ -859,10 +862,7 @@ CONFIG_RAMFS=y
859# CONFIG_QNX4FS_FS is not set 862# CONFIG_QNX4FS_FS is not set
860# CONFIG_SYSV_FS is not set 863# CONFIG_SYSV_FS is not set
861# CONFIG_UFS_FS is not set 864# CONFIG_UFS_FS is not set
862 865CONFIG_NETWORK_FILESYSTEMS=y
863#
864# Network File Systems
865#
866CONFIG_NFS_FS=y 866CONFIG_NFS_FS=y
867CONFIG_NFS_V3=y 867CONFIG_NFS_V3=y
868# CONFIG_NFS_V3_ACL is not set 868# CONFIG_NFS_V3_ACL is not set
@@ -908,10 +908,6 @@ CONFIG_LDM_PARTITION=y
908# CONFIG_KARMA_PARTITION is not set 908# CONFIG_KARMA_PARTITION is not set
909# CONFIG_EFI_PARTITION is not set 909# CONFIG_EFI_PARTITION is not set
910# CONFIG_SYSV68_PARTITION is not set 910# CONFIG_SYSV68_PARTITION is not set
911
912#
913# Native Language Support
914#
915CONFIG_NLS=y 911CONFIG_NLS=y
916CONFIG_NLS_DEFAULT="iso8859-1" 912CONFIG_NLS_DEFAULT="iso8859-1"
917# CONFIG_NLS_CODEPAGE_437 is not set 913# CONFIG_NLS_CODEPAGE_437 is not set
@@ -952,10 +948,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
952# CONFIG_NLS_KOI8_R is not set 948# CONFIG_NLS_KOI8_R is not set
953# CONFIG_NLS_KOI8_U is not set 949# CONFIG_NLS_KOI8_U is not set
954# CONFIG_NLS_UTF8 is not set 950# CONFIG_NLS_UTF8 is not set
955
956#
957# Distributed Lock Manager
958#
959# CONFIG_DLM is not set 951# CONFIG_DLM is not set
960# CONFIG_UCC_SLOW is not set 952# CONFIG_UCC_SLOW is not set
961 953
@@ -973,16 +965,13 @@ CONFIG_PLIST=y
973CONFIG_HAS_IOMEM=y 965CONFIG_HAS_IOMEM=y
974CONFIG_HAS_IOPORT=y 966CONFIG_HAS_IOPORT=y
975CONFIG_HAS_DMA=y 967CONFIG_HAS_DMA=y
976 968# CONFIG_INSTRUMENTATION is not set
977#
978# Instrumentation Support
979#
980# CONFIG_PROFILING is not set
981 969
982# 970#
983# Kernel hacking 971# Kernel hacking
984# 972#
985# CONFIG_PRINTK_TIME is not set 973# CONFIG_PRINTK_TIME is not set
974CONFIG_ENABLE_WARN_DEPRECATED=y
986CONFIG_ENABLE_MUST_CHECK=y 975CONFIG_ENABLE_MUST_CHECK=y
987# CONFIG_MAGIC_SYSRQ is not set 976# CONFIG_MAGIC_SYSRQ is not set
988# CONFIG_UNUSED_SYMBOLS is not set 977# CONFIG_UNUSED_SYMBOLS is not set
@@ -1007,8 +996,11 @@ CONFIG_DEBUG_BUGVERBOSE=y
1007CONFIG_DEBUG_INFO=y 996CONFIG_DEBUG_INFO=y
1008# CONFIG_DEBUG_VM is not set 997# CONFIG_DEBUG_VM is not set
1009# CONFIG_DEBUG_LIST is not set 998# CONFIG_DEBUG_LIST is not set
999# CONFIG_DEBUG_SG is not set
1010CONFIG_FORCED_INLINING=y 1000CONFIG_FORCED_INLINING=y
1001# CONFIG_BOOT_PRINTK_DELAY is not set
1011# CONFIG_FAULT_INJECTION is not set 1002# CONFIG_FAULT_INJECTION is not set
1003# CONFIG_SAMPLES is not set
1012# CONFIG_DEBUG_STACKOVERFLOW is not set 1004# CONFIG_DEBUG_STACKOVERFLOW is not set
1013# CONFIG_DEBUG_STACK_USAGE is not set 1005# CONFIG_DEBUG_STACK_USAGE is not set
1014# CONFIG_DEBUG_PAGEALLOC is not set 1006# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1021,4 +1013,6 @@ CONFIG_FORCED_INLINING=y
1021# 1013#
1022# CONFIG_KEYS is not set 1014# CONFIG_KEYS is not set
1023# CONFIG_SECURITY is not set 1015# CONFIG_SECURITY is not set
1016# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1024# CONFIG_CRYPTO is not set 1017# CONFIG_CRYPTO is not set
1018# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
index ed214fcd8abe..ff092fc4c6be 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Wed Aug 29 16:16:23 2007 4# Thu Dec 6 16:48:58 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_PPC_STD_MMU_32=y
22CONFIG_SMP=y 22CONFIG_SMP=y
23CONFIG_NR_CPUS=2 23CONFIG_NR_CPUS=2
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -64,12 +69,14 @@ CONFIG_BSD_PROCESS_ACCT=y
64# CONFIG_BSD_PROCESS_ACCT_V3 is not set 69# CONFIG_BSD_PROCESS_ACCT_V3 is not set
65# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
67CONFIG_AUDIT=y 73CONFIG_AUDIT=y
68# CONFIG_AUDITSYSCALL is not set 74# CONFIG_AUDITSYSCALL is not set
69CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
70CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
71CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
72# CONFIG_CPUSETS is not set 78# CONFIG_CGROUPS is not set
79# CONFIG_FAIR_GROUP_SCHED is not set
73CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -90,7 +97,6 @@ CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
91CONFIG_EPOLL=y 98CONFIG_EPOLL=y
92CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 101CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -131,7 +137,6 @@ CONFIG_DEFAULT_IOSCHED="cfq"
131# Platform support 137# Platform support
132# 138#
133# CONFIG_PPC_MULTIPLATFORM is not set 139# CONFIG_PPC_MULTIPLATFORM is not set
134# CONFIG_EMBEDDED6xx is not set
135# CONFIG_PPC_82xx is not set 140# CONFIG_PPC_82xx is not set
136# CONFIG_PPC_83xx is not set 141# CONFIG_PPC_83xx is not set
137CONFIG_PPC_86xx=y 142CONFIG_PPC_86xx=y
@@ -141,6 +146,7 @@ CONFIG_PPC_86xx=y
141# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
143CONFIG_MPC8641_HPCN=y 148CONFIG_MPC8641_HPCN=y
149# CONFIG_MPC8610_HPCD is not set
144CONFIG_MPC8641=y 150CONFIG_MPC8641=y
145CONFIG_MPIC=y 151CONFIG_MPIC=y
146# CONFIG_MPIC_WEIRD is not set 152# CONFIG_MPIC_WEIRD is not set
@@ -159,6 +165,10 @@ CONFIG_FSL_ULI1575=y
159# Kernel options 165# Kernel options
160# 166#
161CONFIG_HIGHMEM=y 167CONFIG_HIGHMEM=y
168CONFIG_TICK_ONESHOT=y
169CONFIG_NO_HZ=y
170CONFIG_HIGH_RES_TIMERS=y
171CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
162# CONFIG_HZ_100 is not set 172# CONFIG_HZ_100 is not set
163# CONFIG_HZ_250 is not set 173# CONFIG_HZ_250 is not set
164# CONFIG_HZ_300 is not set 174# CONFIG_HZ_300 is not set
@@ -181,6 +191,7 @@ CONFIG_FLATMEM_MANUAL=y
181CONFIG_FLATMEM=y 191CONFIG_FLATMEM=y
182CONFIG_FLAT_NODE_MEM_MAP=y 192CONFIG_FLAT_NODE_MEM_MAP=y
183# CONFIG_SPARSEMEM_STATIC is not set 193# CONFIG_SPARSEMEM_STATIC is not set
194# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
184CONFIG_SPLIT_PTLOCK_CPUS=4 195CONFIG_SPLIT_PTLOCK_CPUS=4
185# CONFIG_RESOURCES_64BIT is not set 196# CONFIG_RESOURCES_64BIT is not set
186CONFIG_ZONE_DMA_FLAG=1 197CONFIG_ZONE_DMA_FLAG=1
@@ -207,11 +218,8 @@ CONFIG_PCI_SYSCALL=y
207# CONFIG_PCIEPORTBUS is not set 218# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y 219CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set 220# CONFIG_PCI_MSI is not set
221CONFIG_PCI_LEGACY=y
210# CONFIG_PCI_DEBUG is not set 222# CONFIG_PCI_DEBUG is not set
211
212#
213# PCCARD (PCMCIA/CardBus) support
214#
215# CONFIG_PCCARD is not set 223# CONFIG_PCCARD is not set
216# CONFIG_HOTPLUG_PCI is not set 224# CONFIG_HOTPLUG_PCI is not set
217 225
@@ -226,7 +234,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
226CONFIG_HIGHMEM_START=0xfe000000 234CONFIG_HIGHMEM_START=0xfe000000
227CONFIG_LOWMEM_SIZE=0x30000000 235CONFIG_LOWMEM_SIZE=0x30000000
228CONFIG_KERNEL_START=0xc0000000 236CONFIG_KERNEL_START=0xc0000000
229CONFIG_TASK_SIZE=0x80000000 237CONFIG_TASK_SIZE=0xc0000000
230CONFIG_BOOT_LOAD=0x00800000 238CONFIG_BOOT_LOAD=0x00800000
231 239
232# 240#
@@ -275,6 +283,7 @@ CONFIG_INET_TUNNEL=y
275# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 283# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
276# CONFIG_INET_XFRM_MODE_TUNNEL is not set 284# CONFIG_INET_XFRM_MODE_TUNNEL is not set
277# CONFIG_INET_XFRM_MODE_BEET is not set 285# CONFIG_INET_XFRM_MODE_BEET is not set
286# CONFIG_INET_LRO is not set
278CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
279CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
280# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -319,10 +328,6 @@ CONFIG_SCTP_HMAC_MD5=y
319# CONFIG_LAPB is not set 328# CONFIG_LAPB is not set
320# CONFIG_ECONET is not set 329# CONFIG_ECONET is not set
321# CONFIG_WAN_ROUTER is not set 330# CONFIG_WAN_ROUTER is not set
322
323#
324# QoS and/or fair queueing
325#
326# CONFIG_NET_SCHED is not set 331# CONFIG_NET_SCHED is not set
327 332
328# 333#
@@ -352,6 +357,7 @@ CONFIG_FIB_RULES=y
352# 357#
353# Generic Driver Options 358# Generic Driver Options
354# 359#
360CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
355CONFIG_STANDALONE=y 361CONFIG_STANDALONE=y
356CONFIG_PREVENT_FIRMWARE_BUILD=y 362CONFIG_PREVENT_FIRMWARE_BUILD=y
357CONFIG_FW_LOADER=y 363CONFIG_FW_LOADER=y
@@ -424,6 +430,7 @@ CONFIG_SCSI_WAIT_SCAN=m
424# CONFIG_SCSI_FC_ATTRS is not set 430# CONFIG_SCSI_FC_ATTRS is not set
425# CONFIG_SCSI_ISCSI_ATTRS is not set 431# CONFIG_SCSI_ISCSI_ATTRS is not set
426# CONFIG_SCSI_SAS_LIBSAS is not set 432# CONFIG_SCSI_SAS_LIBSAS is not set
433# CONFIG_SCSI_SRP_ATTRS is not set
427CONFIG_SCSI_LOWLEVEL=y 434CONFIG_SCSI_LOWLEVEL=y
428# CONFIG_ISCSI_TCP is not set 435# CONFIG_ISCSI_TCP is not set
429# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 436# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -435,6 +442,7 @@ CONFIG_SCSI_LOWLEVEL=y
435# CONFIG_SCSI_AIC79XX is not set 442# CONFIG_SCSI_AIC79XX is not set
436# CONFIG_SCSI_AIC94XX is not set 443# CONFIG_SCSI_AIC94XX is not set
437# CONFIG_SCSI_DPT_I2O is not set 444# CONFIG_SCSI_DPT_I2O is not set
445# CONFIG_SCSI_ADVANSYS is not set
438# CONFIG_SCSI_ARCMSR is not set 446# CONFIG_SCSI_ARCMSR is not set
439# CONFIG_MEGARAID_NEWGEN is not set 447# CONFIG_MEGARAID_NEWGEN is not set
440# CONFIG_MEGARAID_LEGACY is not set 448# CONFIG_MEGARAID_LEGACY is not set
@@ -502,6 +510,7 @@ CONFIG_PATA_ALI=y
502# CONFIG_PATA_OLDPIIX is not set 510# CONFIG_PATA_OLDPIIX is not set
503# CONFIG_PATA_NETCELL is not set 511# CONFIG_PATA_NETCELL is not set
504# CONFIG_PATA_NS87410 is not set 512# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set
505# CONFIG_PATA_OPTI is not set 514# CONFIG_PATA_OPTI is not set
506# CONFIG_PATA_OPTIDMA is not set 515# CONFIG_PATA_OPTIDMA is not set
507# CONFIG_PATA_PDC_OLD is not set 516# CONFIG_PATA_PDC_OLD is not set
@@ -516,14 +525,7 @@ CONFIG_PATA_ALI=y
516# CONFIG_PATA_WINBOND is not set 525# CONFIG_PATA_WINBOND is not set
517# CONFIG_PATA_PLATFORM is not set 526# CONFIG_PATA_PLATFORM is not set
518# CONFIG_MD is not set 527# CONFIG_MD is not set
519
520#
521# Fusion MPT device support
522#
523# CONFIG_FUSION is not set 528# CONFIG_FUSION is not set
524# CONFIG_FUSION_SPI is not set
525# CONFIG_FUSION_FC is not set
526# CONFIG_FUSION_SAS is not set
527 529
528# 530#
529# IEEE 1394 (FireWire) support 531# IEEE 1394 (FireWire) support
@@ -539,6 +541,8 @@ CONFIG_DUMMY=y
539# CONFIG_MACVLAN is not set 541# CONFIG_MACVLAN is not set
540# CONFIG_EQUALIZER is not set 542# CONFIG_EQUALIZER is not set
541# CONFIG_TUN is not set 543# CONFIG_TUN is not set
544# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
542# CONFIG_ARCNET is not set 546# CONFIG_ARCNET is not set
543CONFIG_PHYLIB=y 547CONFIG_PHYLIB=y
544 548
@@ -555,6 +559,7 @@ CONFIG_VITESSE_PHY=y
555# CONFIG_BROADCOM_PHY is not set 559# CONFIG_BROADCOM_PHY is not set
556# CONFIG_ICPLUS_PHY is not set 560# CONFIG_ICPLUS_PHY is not set
557# CONFIG_FIXED_PHY is not set 561# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set
558CONFIG_NET_ETHERNET=y 563CONFIG_NET_ETHERNET=y
559CONFIG_MII=y 564CONFIG_MII=y
560# CONFIG_HAPPYMEAL is not set 565# CONFIG_HAPPYMEAL is not set
@@ -563,11 +568,17 @@ CONFIG_MII=y
563# CONFIG_NET_VENDOR_3COM is not set 568# CONFIG_NET_VENDOR_3COM is not set
564# CONFIG_NET_TULIP is not set 569# CONFIG_NET_TULIP is not set
565# CONFIG_HP100 is not set 570# CONFIG_HP100 is not set
571# CONFIG_IBM_NEW_EMAC_ZMII is not set
572# CONFIG_IBM_NEW_EMAC_RGMII is not set
573# CONFIG_IBM_NEW_EMAC_TAH is not set
574# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
566# CONFIG_NET_PCI is not set 575# CONFIG_NET_PCI is not set
576# CONFIG_B44 is not set
567CONFIG_NETDEV_1000=y 577CONFIG_NETDEV_1000=y
568# CONFIG_ACENIC is not set 578# CONFIG_ACENIC is not set
569# CONFIG_DL2K is not set 579# CONFIG_DL2K is not set
570# CONFIG_E1000 is not set 580# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set
571# CONFIG_NS83820 is not set 582# CONFIG_NS83820 is not set
572# CONFIG_HAMACHI is not set 583# CONFIG_HAMACHI is not set
573# CONFIG_YELLOWFIN is not set 584# CONFIG_YELLOWFIN is not set
@@ -575,6 +586,7 @@ CONFIG_NETDEV_1000=y
575# CONFIG_SIS190 is not set 586# CONFIG_SIS190 is not set
576# CONFIG_SKGE is not set 587# CONFIG_SKGE is not set
577# CONFIG_SKY2 is not set 588# CONFIG_SKY2 is not set
589# CONFIG_SK98LIN is not set
578# CONFIG_VIA_VELOCITY is not set 590# CONFIG_VIA_VELOCITY is not set
579# CONFIG_TIGON3 is not set 591# CONFIG_TIGON3 is not set
580# CONFIG_BNX2 is not set 592# CONFIG_BNX2 is not set
@@ -585,11 +597,14 @@ CONFIG_GFAR_NAPI=y
585CONFIG_NETDEV_10000=y 597CONFIG_NETDEV_10000=y
586# CONFIG_CHELSIO_T1 is not set 598# CONFIG_CHELSIO_T1 is not set
587# CONFIG_CHELSIO_T3 is not set 599# CONFIG_CHELSIO_T3 is not set
600# CONFIG_IXGBE is not set
588# CONFIG_IXGB is not set 601# CONFIG_IXGB is not set
589# CONFIG_S2IO is not set 602# CONFIG_S2IO is not set
590# CONFIG_MYRI10GE is not set 603# CONFIG_MYRI10GE is not set
591# CONFIG_NETXEN_NIC is not set 604# CONFIG_NETXEN_NIC is not set
605# CONFIG_NIU is not set
592# CONFIG_MLX4_CORE is not set 606# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set
593# CONFIG_TR is not set 608# CONFIG_TR is not set
594 609
595# 610#
@@ -605,7 +620,6 @@ CONFIG_NETDEV_10000=y
605# CONFIG_USB_KAWETH is not set 620# CONFIG_USB_KAWETH is not set
606# CONFIG_USB_PEGASUS is not set 621# CONFIG_USB_PEGASUS is not set
607# CONFIG_USB_RTL8150 is not set 622# CONFIG_USB_RTL8150 is not set
608# CONFIG_USB_USBNET_MII is not set
609# CONFIG_USB_USBNET is not set 623# CONFIG_USB_USBNET is not set
610# CONFIG_WAN is not set 624# CONFIG_WAN is not set
611# CONFIG_FDDI is not set 625# CONFIG_FDDI is not set
@@ -632,7 +646,6 @@ CONFIG_INPUT=y
632# 646#
633# CONFIG_INPUT_MOUSEDEV is not set 647# CONFIG_INPUT_MOUSEDEV is not set
634# CONFIG_INPUT_JOYDEV is not set 648# CONFIG_INPUT_JOYDEV is not set
635# CONFIG_INPUT_TSDEV is not set
636# CONFIG_INPUT_EVDEV is not set 649# CONFIG_INPUT_EVDEV is not set
637# CONFIG_INPUT_EVBUG is not set 650# CONFIG_INPUT_EVBUG is not set
638 651
@@ -692,15 +705,12 @@ CONFIG_UNIX98_PTYS=y
692CONFIG_LEGACY_PTYS=y 705CONFIG_LEGACY_PTYS=y
693CONFIG_LEGACY_PTY_COUNT=256 706CONFIG_LEGACY_PTY_COUNT=256
694# CONFIG_IPMI_HANDLER is not set 707# CONFIG_IPMI_HANDLER is not set
695# CONFIG_WATCHDOG is not set
696# CONFIG_HW_RANDOM is not set 708# CONFIG_HW_RANDOM is not set
697CONFIG_NVRAM=y 709CONFIG_NVRAM=y
698CONFIG_GEN_RTC=y 710CONFIG_GEN_RTC=y
699CONFIG_GEN_RTC_X=y 711CONFIG_GEN_RTC_X=y
700# CONFIG_R3964 is not set 712# CONFIG_R3964 is not set
701# CONFIG_APPLICOM is not set 713# CONFIG_APPLICOM is not set
702# CONFIG_AGP is not set
703# CONFIG_DRM is not set
704# CONFIG_RAW_DRIVER is not set 714# CONFIG_RAW_DRIVER is not set
705# CONFIG_TCG_TPM is not set 715# CONFIG_TCG_TPM is not set
706CONFIG_DEVPORT=y 716CONFIG_DEVPORT=y
@@ -769,6 +779,13 @@ CONFIG_SENSORS_EEPROM=y
769# CONFIG_W1 is not set 779# CONFIG_W1 is not set
770# CONFIG_POWER_SUPPLY is not set 780# CONFIG_POWER_SUPPLY is not set
771# CONFIG_HWMON is not set 781# CONFIG_HWMON is not set
782# CONFIG_WATCHDOG is not set
783
784#
785# Sonics Silicon Backplane
786#
787CONFIG_SSB_POSSIBLE=y
788# CONFIG_SSB is not set
772 789
773# 790#
774# Multifunction device drivers 791# Multifunction device drivers
@@ -863,6 +880,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
863# CONFIG_DVB_OR51132 is not set 880# CONFIG_DVB_OR51132 is not set
864# CONFIG_DVB_BCM3510 is not set 881# CONFIG_DVB_BCM3510 is not set
865# CONFIG_DVB_LGDT330X is not set 882# CONFIG_DVB_LGDT330X is not set
883# CONFIG_DVB_S5H1409 is not set
866 884
867# 885#
868# Tuners/PLL support 886# Tuners/PLL support
@@ -872,6 +890,9 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
872# CONFIG_DVB_TDA827X is not set 890# CONFIG_DVB_TDA827X is not set
873# CONFIG_DVB_TUNER_QT1010 is not set 891# CONFIG_DVB_TUNER_QT1010 is not set
874# CONFIG_DVB_TUNER_MT2060 is not set 892# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set
875 896
876# 897#
877# Miscellaneous devices 898# Miscellaneous devices
@@ -885,16 +906,17 @@ CONFIG_DAB=y
885# 906#
886# Graphics support 907# Graphics support
887# 908#
909# CONFIG_AGP is not set
910# CONFIG_DRM is not set
911# CONFIG_VGASTATE is not set
912CONFIG_VIDEO_OUTPUT_CONTROL=y
913# CONFIG_FB is not set
888# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 914# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
889 915
890# 916#
891# Display device support 917# Display device support
892# 918#
893# CONFIG_DISPLAY_SUPPORT is not set 919# CONFIG_DISPLAY_SUPPORT is not set
894# CONFIG_VGASTATE is not set
895CONFIG_VIDEO_OUTPUT_CONTROL=y
896# CONFIG_FB is not set
897# CONFIG_FB_IBM_GXT4500 is not set
898 920
899# 921#
900# Console display driver support 922# Console display driver support
@@ -1026,6 +1048,7 @@ CONFIG_AC97_BUS=y
1026CONFIG_HID_SUPPORT=y 1048CONFIG_HID_SUPPORT=y
1027CONFIG_HID=y 1049CONFIG_HID=y
1028# CONFIG_HID_DEBUG is not set 1050# CONFIG_HID_DEBUG is not set
1051# CONFIG_HIDRAW is not set
1029 1052
1030# 1053#
1031# USB Input Devices 1054# USB Input Devices
@@ -1086,6 +1109,7 @@ CONFIG_USB_STORAGE=y
1086# CONFIG_USB_STORAGE_DEBUG is not set 1109# CONFIG_USB_STORAGE_DEBUG is not set
1087# CONFIG_USB_STORAGE_DATAFAB is not set 1110# CONFIG_USB_STORAGE_DATAFAB is not set
1088# CONFIG_USB_STORAGE_FREECOM is not set 1111# CONFIG_USB_STORAGE_FREECOM is not set
1112# CONFIG_USB_STORAGE_ISD200 is not set
1089# CONFIG_USB_STORAGE_DPCM is not set 1113# CONFIG_USB_STORAGE_DPCM is not set
1090# CONFIG_USB_STORAGE_USBAT is not set 1114# CONFIG_USB_STORAGE_USBAT is not set
1091# CONFIG_USB_STORAGE_SDDR09 is not set 1115# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1166,6 +1190,7 @@ CONFIG_RTC_INTF_DEV=y
1166# I2C RTC drivers 1190# I2C RTC drivers
1167# 1191#
1168# CONFIG_RTC_DRV_DS1307 is not set 1192# CONFIG_RTC_DRV_DS1307 is not set
1193# CONFIG_RTC_DRV_DS1374 is not set
1169# CONFIG_RTC_DRV_DS1672 is not set 1194# CONFIG_RTC_DRV_DS1672 is not set
1170# CONFIG_RTC_DRV_MAX6900 is not set 1195# CONFIG_RTC_DRV_MAX6900 is not set
1171# CONFIG_RTC_DRV_RS5C372 is not set 1196# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1195,19 +1220,6 @@ CONFIG_RTC_DRV_CMOS=y
1195# 1220#
1196 1221
1197# 1222#
1198# DMA Engine support
1199#
1200# CONFIG_DMA_ENGINE is not set
1201
1202#
1203# DMA Clients
1204#
1205
1206#
1207# DMA Devices
1208#
1209
1210#
1211# Userspace I/O 1223# Userspace I/O
1212# 1224#
1213# CONFIG_UIO is not set 1225# CONFIG_UIO is not set
@@ -1224,7 +1236,6 @@ CONFIG_EXT3_FS_XATTR=y
1224# CONFIG_EXT3_FS_SECURITY is not set 1236# CONFIG_EXT3_FS_SECURITY is not set
1225# CONFIG_EXT4DEV_FS is not set 1237# CONFIG_EXT4DEV_FS is not set
1226CONFIG_JBD=y 1238CONFIG_JBD=y
1227# CONFIG_JBD_DEBUG is not set
1228CONFIG_FS_MBCACHE=y 1239CONFIG_FS_MBCACHE=y
1229# CONFIG_REISERFS_FS is not set 1240# CONFIG_REISERFS_FS is not set
1230# CONFIG_JFS_FS is not set 1241# CONFIG_JFS_FS is not set
@@ -1273,7 +1284,6 @@ CONFIG_SYSFS=y
1273CONFIG_TMPFS=y 1284CONFIG_TMPFS=y
1274# CONFIG_TMPFS_POSIX_ACL is not set 1285# CONFIG_TMPFS_POSIX_ACL is not set
1275# CONFIG_HUGETLB_PAGE is not set 1286# CONFIG_HUGETLB_PAGE is not set
1276CONFIG_RAMFS=y
1277# CONFIG_CONFIGFS_FS is not set 1287# CONFIG_CONFIGFS_FS is not set
1278 1288
1279# 1289#
@@ -1296,10 +1306,7 @@ CONFIG_SYSV_FS=m
1296CONFIG_UFS_FS=m 1306CONFIG_UFS_FS=m
1297# CONFIG_UFS_FS_WRITE is not set 1307# CONFIG_UFS_FS_WRITE is not set
1298# CONFIG_UFS_DEBUG is not set 1308# CONFIG_UFS_DEBUG is not set
1299 1309CONFIG_NETWORK_FILESYSTEMS=y
1300#
1301# Network File Systems
1302#
1303CONFIG_NFS_FS=y 1310CONFIG_NFS_FS=y
1304CONFIG_NFS_V3=y 1311CONFIG_NFS_V3=y
1305# CONFIG_NFS_V3_ACL is not set 1312# CONFIG_NFS_V3_ACL is not set
@@ -1345,10 +1352,6 @@ CONFIG_MSDOS_PARTITION=y
1345# CONFIG_KARMA_PARTITION is not set 1352# CONFIG_KARMA_PARTITION is not set
1346# CONFIG_EFI_PARTITION is not set 1353# CONFIG_EFI_PARTITION is not set
1347# CONFIG_SYSV68_PARTITION is not set 1354# CONFIG_SYSV68_PARTITION is not set
1348
1349#
1350# Native Language Support
1351#
1352CONFIG_NLS=y 1355CONFIG_NLS=y
1353CONFIG_NLS_DEFAULT="iso8859-1" 1356CONFIG_NLS_DEFAULT="iso8859-1"
1354# CONFIG_NLS_CODEPAGE_437 is not set 1357# CONFIG_NLS_CODEPAGE_437 is not set
@@ -1389,10 +1392,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1389# CONFIG_NLS_KOI8_R is not set 1392# CONFIG_NLS_KOI8_R is not set
1390# CONFIG_NLS_KOI8_U is not set 1393# CONFIG_NLS_KOI8_U is not set
1391CONFIG_NLS_UTF8=m 1394CONFIG_NLS_UTF8=m
1392
1393#
1394# Distributed Lock Manager
1395#
1396# CONFIG_DLM is not set 1395# CONFIG_DLM is not set
1397# CONFIG_UCC_SLOW is not set 1396# CONFIG_UCC_SLOW is not set
1398 1397
@@ -1411,17 +1410,13 @@ CONFIG_PLIST=y
1411CONFIG_HAS_IOMEM=y 1410CONFIG_HAS_IOMEM=y
1412CONFIG_HAS_IOPORT=y 1411CONFIG_HAS_IOPORT=y
1413CONFIG_HAS_DMA=y 1412CONFIG_HAS_DMA=y
1414 1413# CONFIG_INSTRUMENTATION is not set
1415#
1416# Instrumentation Support
1417#
1418# CONFIG_PROFILING is not set
1419# CONFIG_KPROBES is not set
1420 1414
1421# 1415#
1422# Kernel hacking 1416# Kernel hacking
1423# 1417#
1424# CONFIG_PRINTK_TIME is not set 1418# CONFIG_PRINTK_TIME is not set
1419CONFIG_ENABLE_WARN_DEPRECATED=y
1425CONFIG_ENABLE_MUST_CHECK=y 1420CONFIG_ENABLE_MUST_CHECK=y
1426# CONFIG_MAGIC_SYSRQ is not set 1421# CONFIG_MAGIC_SYSRQ is not set
1427# CONFIG_UNUSED_SYMBOLS is not set 1422# CONFIG_UNUSED_SYMBOLS is not set
@@ -1446,9 +1441,12 @@ CONFIG_SCHED_DEBUG=y
1446CONFIG_DEBUG_INFO=y 1441CONFIG_DEBUG_INFO=y
1447# CONFIG_DEBUG_VM is not set 1442# CONFIG_DEBUG_VM is not set
1448# CONFIG_DEBUG_LIST is not set 1443# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set
1449CONFIG_FORCED_INLINING=y 1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set
1450# CONFIG_RCU_TORTURE_TEST is not set 1447# CONFIG_RCU_TORTURE_TEST is not set
1451# CONFIG_FAULT_INJECTION is not set 1448# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set
1452# CONFIG_DEBUG_STACKOVERFLOW is not set 1450# CONFIG_DEBUG_STACKOVERFLOW is not set
1453# CONFIG_DEBUG_STACK_USAGE is not set 1451# CONFIG_DEBUG_STACK_USAGE is not set
1454# CONFIG_DEBUG_PAGEALLOC is not set 1452# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1461,6 +1459,7 @@ CONFIG_FORCED_INLINING=y
1461# 1459#
1462# CONFIG_KEYS is not set 1460# CONFIG_KEYS is not set
1463# CONFIG_SECURITY is not set 1461# CONFIG_SECURITY is not set
1462# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1464CONFIG_CRYPTO=y 1463CONFIG_CRYPTO=y
1465CONFIG_CRYPTO_ALGAPI=y 1464CONFIG_CRYPTO_ALGAPI=y
1466CONFIG_CRYPTO_BLKCIPHER=y 1465CONFIG_CRYPTO_BLKCIPHER=y
@@ -1471,7 +1470,7 @@ CONFIG_CRYPTO_HMAC=y
1471# CONFIG_CRYPTO_NULL is not set 1470# CONFIG_CRYPTO_NULL is not set
1472# CONFIG_CRYPTO_MD4 is not set 1471# CONFIG_CRYPTO_MD4 is not set
1473CONFIG_CRYPTO_MD5=y 1472CONFIG_CRYPTO_MD5=y
1474# CONFIG_CRYPTO_SHA1 is not set 1473CONFIG_CRYPTO_SHA1=m
1475# CONFIG_CRYPTO_SHA256 is not set 1474# CONFIG_CRYPTO_SHA256 is not set
1476# CONFIG_CRYPTO_SHA512 is not set 1475# CONFIG_CRYPTO_SHA512 is not set
1477# CONFIG_CRYPTO_WP512 is not set 1476# CONFIG_CRYPTO_WP512 is not set
@@ -1481,6 +1480,7 @@ CONFIG_CRYPTO_MD5=y
1481CONFIG_CRYPTO_CBC=y 1480CONFIG_CRYPTO_CBC=y
1482CONFIG_CRYPTO_PCBC=m 1481CONFIG_CRYPTO_PCBC=m
1483# CONFIG_CRYPTO_LRW is not set 1482# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1484# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1485CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1486# CONFIG_CRYPTO_FCRYPT is not set
@@ -1494,9 +1494,12 @@ CONFIG_CRYPTO_DES=y
1494# CONFIG_CRYPTO_ARC4 is not set 1494# CONFIG_CRYPTO_ARC4 is not set
1495# CONFIG_CRYPTO_KHAZAD is not set 1495# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1496# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set
1497# CONFIG_CRYPTO_DEFLATE is not set 1498# CONFIG_CRYPTO_DEFLATE is not set
1498# CONFIG_CRYPTO_MICHAEL_MIC is not set 1499# CONFIG_CRYPTO_MICHAEL_MIC is not set
1499# CONFIG_CRYPTO_CRC32C is not set 1500# CONFIG_CRYPTO_CRC32C is not set
1500# CONFIG_CRYPTO_CAMELLIA is not set 1501# CONFIG_CRYPTO_CAMELLIA is not set
1501# CONFIG_CRYPTO_TEST is not set 1502# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set
1502CONFIG_CRYPTO_HW=y 1504CONFIG_CRYPTO_HW=y
1505# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 070b0a5b9c0d..a7ef231f2ab2 100644
--- a/arch/powerpc/configs/mpc866_ads_defconfig
+++ b/arch/powerpc/configs/mpc866_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:44 2007 4# Thu Dec 6 16:48:59 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -18,8 +18,13 @@ CONFIG_8xx=y
18# CONFIG_PPC_MM_SLICES is not set 18# CONFIG_PPC_MM_SLICES is not set
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32
21CONFIG_PPC_MERGE=y 22CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 29CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 30CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -58,9 +63,12 @@ CONFIG_SYSVIPC_SYSCTL=y
58# CONFIG_BSD_PROCESS_ACCT is not set 63# CONFIG_BSD_PROCESS_ACCT is not set
59# CONFIG_TASKSTATS is not set 64# CONFIG_TASKSTATS is not set
60# CONFIG_USER_NS is not set 65# CONFIG_USER_NS is not set
66# CONFIG_PID_NS is not set
61# CONFIG_AUDIT is not set 67# CONFIG_AUDIT is not set
62# CONFIG_IKCONFIG is not set 68# CONFIG_IKCONFIG is not set
63CONFIG_LOG_BUF_SHIFT=14 69CONFIG_LOG_BUF_SHIFT=14
70# CONFIG_CGROUPS is not set
71# CONFIG_FAIR_GROUP_SCHED is not set
64CONFIG_SYSFS_DEPRECATED=y 72CONFIG_SYSFS_DEPRECATED=y
65# CONFIG_RELAY is not set 73# CONFIG_RELAY is not set
66# CONFIG_BLK_DEV_INITRD is not set 74# CONFIG_BLK_DEV_INITRD is not set
@@ -79,7 +87,6 @@ CONFIG_FUTEX=y
79CONFIG_ANON_INODES=y 87CONFIG_ANON_INODES=y
80# CONFIG_EPOLL is not set 88# CONFIG_EPOLL is not set
81CONFIG_SIGNALFD=y 89CONFIG_SIGNALFD=y
82CONFIG_TIMERFD=y
83CONFIG_EVENTFD=y 90CONFIG_EVENTFD=y
84CONFIG_SHMEM=y 91CONFIG_SHMEM=y
85# CONFIG_VM_EVENT_COUNTERS is not set 92# CONFIG_VM_EVENT_COUNTERS is not set
@@ -121,6 +128,7 @@ CONFIG_CPM1=y
121# CONFIG_MPC8XXFADS is not set 128# CONFIG_MPC8XXFADS is not set
122CONFIG_MPC86XADS=y 129CONFIG_MPC86XADS=y
123# CONFIG_MPC885ADS is not set 130# CONFIG_MPC885ADS is not set
131# CONFIG_PPC_EP88XC is not set
124 132
125# 133#
126# MPC8xx CPM Options 134# MPC8xx CPM Options
@@ -131,6 +139,7 @@ CONFIG_MPC86XADS=y
131# 139#
132CONFIG_8xx_COPYBACK=y 140CONFIG_8xx_COPYBACK=y
133CONFIG_8xx_CPU6=y 141CONFIG_8xx_CPU6=y
142CONFIG_8xx_CPU15=y
134CONFIG_NO_UCODE_PATCH=y 143CONFIG_NO_UCODE_PATCH=y
135# CONFIG_USB_SOF_UCODE_PATCH is not set 144# CONFIG_USB_SOF_UCODE_PATCH is not set
136# CONFIG_I2C_SPI_UCODE_PATCH is not set 145# CONFIG_I2C_SPI_UCODE_PATCH is not set
@@ -148,11 +157,16 @@ CONFIG_NO_UCODE_PATCH=y
148# CONFIG_CPU_FREQ is not set 157# CONFIG_CPU_FREQ is not set
149# CONFIG_CPM2 is not set 158# CONFIG_CPM2 is not set
150# CONFIG_FSL_ULI1575 is not set 159# CONFIG_FSL_ULI1575 is not set
160CONFIG_CPM=y
151 161
152# 162#
153# Kernel options 163# Kernel options
154# 164#
155# CONFIG_HIGHMEM is not set 165# CONFIG_HIGHMEM is not set
166CONFIG_TICK_ONESHOT=y
167CONFIG_NO_HZ=y
168CONFIG_HIGH_RES_TIMERS=y
169CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
156# CONFIG_HZ_100 is not set 170# CONFIG_HZ_100 is not set
157# CONFIG_HZ_250 is not set 171# CONFIG_HZ_250 is not set
158# CONFIG_HZ_300 is not set 172# CONFIG_HZ_300 is not set
@@ -174,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
174CONFIG_FLATMEM=y 188CONFIG_FLATMEM=y
175CONFIG_FLAT_NODE_MEM_MAP=y 189CONFIG_FLAT_NODE_MEM_MAP=y
176# CONFIG_SPARSEMEM_STATIC is not set 190# CONFIG_SPARSEMEM_STATIC is not set
191# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
177CONFIG_SPLIT_PTLOCK_CPUS=4 192CONFIG_SPLIT_PTLOCK_CPUS=4
178# CONFIG_RESOURCES_64BIT is not set 193# CONFIG_RESOURCES_64BIT is not set
179CONFIG_ZONE_DMA_FLAG=1 194CONFIG_ZONE_DMA_FLAG=1
@@ -182,8 +197,11 @@ CONFIG_VIRT_TO_BUS=y
182# CONFIG_PROC_DEVICETREE is not set 197# CONFIG_PROC_DEVICETREE is not set
183# CONFIG_CMDLINE_BOOL is not set 198# CONFIG_CMDLINE_BOOL is not set
184# CONFIG_PM is not set 199# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
185# CONFIG_SECCOMP is not set 202# CONFIG_SECCOMP is not set
186# CONFIG_WANT_DEVICE_TREE is not set 203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
187CONFIG_ISA_DMA_API=y 205CONFIG_ISA_DMA_API=y
188 206
189# 207#
@@ -198,10 +216,6 @@ CONFIG_FSL_SOC=y
198# CONFIG_ARCH_SUPPORTS_MSI is not set 216# CONFIG_ARCH_SUPPORTS_MSI is not set
199 217
200# 218#
201# PCCARD (PCMCIA/CardBus) support
202#
203
204#
205# Advanced setup 219# Advanced setup
206# 220#
207# CONFIG_ADVANCED_OPTIONS is not set 221# CONFIG_ADVANCED_OPTIONS is not set
@@ -213,7 +227,7 @@ CONFIG_HIGHMEM_START=0xfe000000
213CONFIG_LOWMEM_SIZE=0x30000000 227CONFIG_LOWMEM_SIZE=0x30000000
214CONFIG_KERNEL_START=0xc0000000 228CONFIG_KERNEL_START=0xc0000000
215CONFIG_TASK_SIZE=0x80000000 229CONFIG_TASK_SIZE=0x80000000
216CONFIG_CONSISTENT_START=0xff100000 230CONFIG_CONSISTENT_START=0xfd000000
217CONFIG_CONSISTENT_SIZE=0x00200000 231CONFIG_CONSISTENT_SIZE=0x00200000
218CONFIG_BOOT_LOAD=0x00400000 232CONFIG_BOOT_LOAD=0x00400000
219 233
@@ -254,6 +268,7 @@ CONFIG_SYN_COOKIES=y
254CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
255CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
256CONFIG_INET_XFRM_MODE_BEET=y 270CONFIG_INET_XFRM_MODE_BEET=y
271# CONFIG_INET_LRO is not set
257CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
258CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
259# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -279,10 +294,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
279# CONFIG_LAPB is not set 294# CONFIG_LAPB is not set
280# CONFIG_ECONET is not set 295# CONFIG_ECONET is not set
281# CONFIG_WAN_ROUTER is not set 296# CONFIG_WAN_ROUTER is not set
282
283#
284# QoS and/or fair queueing
285#
286# CONFIG_NET_SCHED is not set 297# CONFIG_NET_SCHED is not set
287 298
288# 299#
@@ -348,6 +359,7 @@ CONFIG_NETDEVICES=y
348# CONFIG_MACVLAN is not set 359# CONFIG_MACVLAN is not set
349# CONFIG_EQUALIZER is not set 360# CONFIG_EQUALIZER is not set
350# CONFIG_TUN is not set 361# CONFIG_TUN is not set
362# CONFIG_VETH is not set
351CONFIG_PHYLIB=y 363CONFIG_PHYLIB=y
352 364
353# 365#
@@ -365,11 +377,20 @@ CONFIG_PHYLIB=y
365CONFIG_FIXED_PHY=y 377CONFIG_FIXED_PHY=y
366CONFIG_FIXED_MII_10_FDX=y 378CONFIG_FIXED_MII_10_FDX=y
367CONFIG_FIXED_MII_100_FDX=y 379CONFIG_FIXED_MII_100_FDX=y
380# CONFIG_FIXED_MII_1000_FDX is not set
381CONFIG_FIXED_MII_AMNT=1
382# CONFIG_MDIO_BITBANG is not set
368CONFIG_NET_ETHERNET=y 383CONFIG_NET_ETHERNET=y
369CONFIG_MII=y 384CONFIG_MII=y
385# CONFIG_IBM_NEW_EMAC_ZMII is not set
386# CONFIG_IBM_NEW_EMAC_RGMII is not set
387# CONFIG_IBM_NEW_EMAC_TAH is not set
388# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
389# CONFIG_B44 is not set
370CONFIG_FS_ENET=y 390CONFIG_FS_ENET=y
371CONFIG_FS_ENET_HAS_SCC=y 391CONFIG_FS_ENET_HAS_SCC=y
372CONFIG_FS_ENET_HAS_FEC=y 392CONFIG_FS_ENET_HAS_FEC=y
393CONFIG_FS_ENET_MDIO_FEC=y
373CONFIG_NETDEV_1000=y 394CONFIG_NETDEV_1000=y
374CONFIG_NETDEV_10000=y 395CONFIG_NETDEV_10000=y
375 396
@@ -403,7 +424,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
403CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 424CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
404CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 425CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
405# CONFIG_INPUT_JOYDEV is not set 426# CONFIG_INPUT_JOYDEV is not set
406# CONFIG_INPUT_TSDEV is not set
407# CONFIG_INPUT_EVDEV is not set 427# CONFIG_INPUT_EVDEV is not set
408# CONFIG_INPUT_EVBUG is not set 428# CONFIG_INPUT_EVBUG is not set
409 429
@@ -470,7 +490,6 @@ CONFIG_SERIAL_CPM_SMC2=y
470CONFIG_UNIX98_PTYS=y 490CONFIG_UNIX98_PTYS=y
471# CONFIG_LEGACY_PTYS is not set 491# CONFIG_LEGACY_PTYS is not set
472# CONFIG_IPMI_HANDLER is not set 492# CONFIG_IPMI_HANDLER is not set
473# CONFIG_WATCHDOG is not set
474CONFIG_HW_RANDOM=y 493CONFIG_HW_RANDOM=y
475# CONFIG_NVRAM is not set 494# CONFIG_NVRAM is not set
476CONFIG_GEN_RTC=y 495CONFIG_GEN_RTC=y
@@ -489,9 +508,8 @@ CONFIG_GEN_RTC=y
489# CONFIG_POWER_SUPPLY is not set 508# CONFIG_POWER_SUPPLY is not set
490CONFIG_HWMON=y 509CONFIG_HWMON=y
491# CONFIG_HWMON_VID is not set 510# CONFIG_HWMON_VID is not set
492# CONFIG_SENSORS_ABITUGURU is not set
493# CONFIG_SENSORS_ABITUGURU3 is not set
494# CONFIG_SENSORS_F71805F is not set 511# CONFIG_SENSORS_F71805F is not set
512# CONFIG_SENSORS_F71882FG is not set
495# CONFIG_SENSORS_IT87 is not set 513# CONFIG_SENSORS_IT87 is not set
496# CONFIG_SENSORS_PC87360 is not set 514# CONFIG_SENSORS_PC87360 is not set
497# CONFIG_SENSORS_PC87427 is not set 515# CONFIG_SENSORS_PC87427 is not set
@@ -501,6 +519,13 @@ CONFIG_HWMON=y
501# CONFIG_SENSORS_W83627HF is not set 519# CONFIG_SENSORS_W83627HF is not set
502# CONFIG_SENSORS_W83627EHF is not set 520# CONFIG_SENSORS_W83627EHF is not set
503# CONFIG_HWMON_DEBUG_CHIP is not set 521# CONFIG_HWMON_DEBUG_CHIP is not set
522# CONFIG_WATCHDOG is not set
523
524#
525# Sonics Silicon Backplane
526#
527CONFIG_SSB_POSSIBLE=y
528# CONFIG_SSB is not set
504 529
505# 530#
506# Multifunction device drivers 531# Multifunction device drivers
@@ -517,16 +542,15 @@ CONFIG_DAB=y
517# 542#
518# Graphics support 543# Graphics support
519# 544#
545# CONFIG_VGASTATE is not set
546CONFIG_VIDEO_OUTPUT_CONTROL=y
547# CONFIG_FB is not set
520# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 548# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
521 549
522# 550#
523# Display device support 551# Display device support
524# 552#
525# CONFIG_DISPLAY_SUPPORT is not set 553# CONFIG_DISPLAY_SUPPORT is not set
526# CONFIG_VGASTATE is not set
527CONFIG_VIDEO_OUTPUT_CONTROL=y
528# CONFIG_FB is not set
529# CONFIG_FB_IBM_GXT4500 is not set
530 554
531# 555#
532# Sound 556# Sound
@@ -535,6 +559,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
535CONFIG_HID_SUPPORT=y 559CONFIG_HID_SUPPORT=y
536CONFIG_HID=y 560CONFIG_HID=y
537# CONFIG_HID_DEBUG is not set 561# CONFIG_HID_DEBUG is not set
562# CONFIG_HIDRAW is not set
538CONFIG_USB_SUPPORT=y 563CONFIG_USB_SUPPORT=y
539# CONFIG_USB_ARCH_HAS_HCD is not set 564# CONFIG_USB_ARCH_HAS_HCD is not set
540# CONFIG_USB_ARCH_HAS_OHCI is not set 565# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -554,19 +579,6 @@ CONFIG_USB_SUPPORT=y
554# CONFIG_RTC_CLASS is not set 579# CONFIG_RTC_CLASS is not set
555 580
556# 581#
557# DMA Engine support
558#
559# CONFIG_DMA_ENGINE is not set
560
561#
562# DMA Clients
563#
564
565#
566# DMA Devices
567#
568
569#
570# Userspace I/O 582# Userspace I/O
571# 583#
572# CONFIG_UIO is not set 584# CONFIG_UIO is not set
@@ -585,7 +597,6 @@ CONFIG_EXT3_FS_XATTR=y
585# CONFIG_EXT3_FS_SECURITY is not set 597# CONFIG_EXT3_FS_SECURITY is not set
586# CONFIG_EXT4DEV_FS is not set 598# CONFIG_EXT4DEV_FS is not set
587CONFIG_JBD=y 599CONFIG_JBD=y
588# CONFIG_JBD_DEBUG is not set
589CONFIG_FS_MBCACHE=y 600CONFIG_FS_MBCACHE=y
590# CONFIG_REISERFS_FS is not set 601# CONFIG_REISERFS_FS is not set
591# CONFIG_JFS_FS is not set 602# CONFIG_JFS_FS is not set
@@ -626,7 +637,6 @@ CONFIG_SYSFS=y
626CONFIG_TMPFS=y 637CONFIG_TMPFS=y
627# CONFIG_TMPFS_POSIX_ACL is not set 638# CONFIG_TMPFS_POSIX_ACL is not set
628# CONFIG_HUGETLB_PAGE is not set 639# CONFIG_HUGETLB_PAGE is not set
629CONFIG_RAMFS=y
630# CONFIG_CONFIGFS_FS is not set 640# CONFIG_CONFIGFS_FS is not set
631 641
632# 642#
@@ -645,10 +655,7 @@ CONFIG_CRAMFS=y
645# CONFIG_QNX4FS_FS is not set 655# CONFIG_QNX4FS_FS is not set
646# CONFIG_SYSV_FS is not set 656# CONFIG_SYSV_FS is not set
647# CONFIG_UFS_FS is not set 657# CONFIG_UFS_FS is not set
648 658CONFIG_NETWORK_FILESYSTEMS=y
649#
650# Network File Systems
651#
652CONFIG_NFS_FS=y 659CONFIG_NFS_FS=y
653CONFIG_NFS_V3=y 660CONFIG_NFS_V3=y
654# CONFIG_NFS_V3_ACL is not set 661# CONFIG_NFS_V3_ACL is not set
@@ -690,15 +697,7 @@ CONFIG_MSDOS_PARTITION=y
690# CONFIG_KARMA_PARTITION is not set 697# CONFIG_KARMA_PARTITION is not set
691# CONFIG_EFI_PARTITION is not set 698# CONFIG_EFI_PARTITION is not set
692# CONFIG_SYSV68_PARTITION is not set 699# CONFIG_SYSV68_PARTITION is not set
693
694#
695# Native Language Support
696#
697# CONFIG_NLS is not set 700# CONFIG_NLS is not set
698
699#
700# Distributed Lock Manager
701#
702# CONFIG_DLM is not set 701# CONFIG_DLM is not set
703# CONFIG_UCC_SLOW is not set 702# CONFIG_UCC_SLOW is not set
704 703
@@ -717,22 +716,21 @@ CONFIG_PLIST=y
717CONFIG_HAS_IOMEM=y 716CONFIG_HAS_IOMEM=y
718CONFIG_HAS_IOPORT=y 717CONFIG_HAS_IOPORT=y
719CONFIG_HAS_DMA=y 718CONFIG_HAS_DMA=y
720 719# CONFIG_INSTRUMENTATION is not set
721#
722# Instrumentation Support
723#
724# CONFIG_PROFILING is not set
725 720
726# 721#
727# Kernel hacking 722# Kernel hacking
728# 723#
729# CONFIG_PRINTK_TIME is not set 724# CONFIG_PRINTK_TIME is not set
725CONFIG_ENABLE_WARN_DEPRECATED=y
730CONFIG_ENABLE_MUST_CHECK=y 726CONFIG_ENABLE_MUST_CHECK=y
731# CONFIG_MAGIC_SYSRQ is not set 727# CONFIG_MAGIC_SYSRQ is not set
732# CONFIG_UNUSED_SYMBOLS is not set 728# CONFIG_UNUSED_SYMBOLS is not set
733# CONFIG_DEBUG_FS is not set 729# CONFIG_DEBUG_FS is not set
734# CONFIG_HEADERS_CHECK is not set 730# CONFIG_HEADERS_CHECK is not set
735# CONFIG_DEBUG_KERNEL is not set 731# CONFIG_DEBUG_KERNEL is not set
732# CONFIG_SLUB_DEBUG_ON is not set
733# CONFIG_SAMPLES is not set
736# CONFIG_PPC_EARLY_DEBUG is not set 734# CONFIG_PPC_EARLY_DEBUG is not set
737 735
738# 736#
@@ -740,4 +738,7 @@ CONFIG_ENABLE_MUST_CHECK=y
740# 738#
741# CONFIG_KEYS is not set 739# CONFIG_KEYS is not set
742# CONFIG_SECURITY is not set 740# CONFIG_SECURITY is not set
741# CONFIG_SECURITY_FILE_CAPABILITIES is not set
743# CONFIG_CRYPTO is not set 742# CONFIG_CRYPTO is not set
743# CONFIG_PPC_CLOCK is not set
744CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index 482d99db6870..22f8171d6d45 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc3 3# Linux kernel version: 2.6.24-rc4
4# Mon Aug 27 15:23:16 2007 4# Thu Dec 6 16:49:01 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -18,8 +18,13 @@ CONFIG_8xx=y
18# CONFIG_PPC_MM_SLICES is not set 18# CONFIG_PPC_MM_SLICES is not set
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32
21CONFIG_PPC_MERGE=y 22CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 29CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 30CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -59,9 +64,12 @@ CONFIG_SYSVIPC_SYSCTL=y
59# CONFIG_BSD_PROCESS_ACCT is not set 64# CONFIG_BSD_PROCESS_ACCT is not set
60# CONFIG_TASKSTATS is not set 65# CONFIG_TASKSTATS is not set
61# CONFIG_USER_NS is not set 66# CONFIG_USER_NS is not set
67# CONFIG_PID_NS is not set
62# CONFIG_AUDIT is not set 68# CONFIG_AUDIT is not set
63# CONFIG_IKCONFIG is not set 69# CONFIG_IKCONFIG is not set
64CONFIG_LOG_BUF_SHIFT=14 70CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set
72# CONFIG_FAIR_GROUP_SCHED is not set
65CONFIG_SYSFS_DEPRECATED=y 73CONFIG_SYSFS_DEPRECATED=y
66# CONFIG_RELAY is not set 74# CONFIG_RELAY is not set
67# CONFIG_BLK_DEV_INITRD is not set 75# CONFIG_BLK_DEV_INITRD is not set
@@ -81,7 +89,6 @@ CONFIG_BUG=y
81CONFIG_ANON_INODES=y 89CONFIG_ANON_INODES=y
82CONFIG_EPOLL=y 90CONFIG_EPOLL=y
83CONFIG_SIGNALFD=y 91CONFIG_SIGNALFD=y
84CONFIG_TIMERFD=y
85CONFIG_EVENTFD=y 92CONFIG_EVENTFD=y
86CONFIG_SHMEM=y 93CONFIG_SHMEM=y
87# CONFIG_VM_EVENT_COUNTERS is not set 94# CONFIG_VM_EVENT_COUNTERS is not set
@@ -158,11 +165,17 @@ CONFIG_NO_UCODE_PATCH=y
158# CONFIG_CPU_FREQ is not set 165# CONFIG_CPU_FREQ is not set
159# CONFIG_CPM2 is not set 166# CONFIG_CPM2 is not set
160CONFIG_PPC_CPM_NEW_BINDING=y 167CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y
161 170
162# 171#
163# Kernel options 172# Kernel options
164# 173#
165# CONFIG_HIGHMEM is not set 174# CONFIG_HIGHMEM is not set
175CONFIG_TICK_ONESHOT=y
176CONFIG_NO_HZ=y
177CONFIG_HIGH_RES_TIMERS=y
178CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
166CONFIG_HZ_100=y 179CONFIG_HZ_100=y
167# CONFIG_HZ_250 is not set 180# CONFIG_HZ_250 is not set
168# CONFIG_HZ_300 is not set 181# CONFIG_HZ_300 is not set
@@ -174,6 +187,7 @@ CONFIG_PREEMPT_NONE=y
174CONFIG_BINFMT_ELF=y 187CONFIG_BINFMT_ELF=y
175# CONFIG_BINFMT_MISC is not set 188# CONFIG_BINFMT_MISC is not set
176# CONFIG_MATH_EMULATION is not set 189# CONFIG_MATH_EMULATION is not set
190CONFIG_8XX_MINIMAL_FPEMU=y
177CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 191CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
178CONFIG_ARCH_FLATMEM_ENABLE=y 192CONFIG_ARCH_FLATMEM_ENABLE=y
179CONFIG_ARCH_POPULATES_NODE_MAP=y 193CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -184,6 +198,7 @@ CONFIG_FLATMEM_MANUAL=y
184CONFIG_FLATMEM=y 198CONFIG_FLATMEM=y
185CONFIG_FLAT_NODE_MEM_MAP=y 199CONFIG_FLAT_NODE_MEM_MAP=y
186# CONFIG_SPARSEMEM_STATIC is not set 200# CONFIG_SPARSEMEM_STATIC is not set
201# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
187CONFIG_SPLIT_PTLOCK_CPUS=4 202CONFIG_SPLIT_PTLOCK_CPUS=4
188# CONFIG_RESOURCES_64BIT is not set 203# CONFIG_RESOURCES_64BIT is not set
189CONFIG_ZONE_DMA_FLAG=1 204CONFIG_ZONE_DMA_FLAG=1
@@ -192,6 +207,8 @@ CONFIG_VIRT_TO_BUS=y
192CONFIG_PROC_DEVICETREE=y 207CONFIG_PROC_DEVICETREE=y
193# CONFIG_CMDLINE_BOOL is not set 208# CONFIG_CMDLINE_BOOL is not set
194# CONFIG_PM is not set 209# CONFIG_PM is not set
210CONFIG_SUSPEND_UP_POSSIBLE=y
211CONFIG_HIBERNATION_UP_POSSIBLE=y
195# CONFIG_SECCOMP is not set 212# CONFIG_SECCOMP is not set
196CONFIG_WANT_DEVICE_TREE=y 213CONFIG_WANT_DEVICE_TREE=y
197CONFIG_DEVICE_TREE="mpc885ads.dts" 214CONFIG_DEVICE_TREE="mpc885ads.dts"
@@ -207,10 +224,6 @@ CONFIG_FSL_SOC=y
207# CONFIG_PCI_SYSCALL is not set 224# CONFIG_PCI_SYSCALL is not set
208# CONFIG_PCI_QSPAN is not set 225# CONFIG_PCI_QSPAN is not set
209# CONFIG_ARCH_SUPPORTS_MSI is not set 226# CONFIG_ARCH_SUPPORTS_MSI is not set
210
211#
212# PCCARD (PCMCIA/CardBus) support
213#
214# CONFIG_PCCARD is not set 227# CONFIG_PCCARD is not set
215 228
216# 229#
@@ -225,7 +238,7 @@ CONFIG_HIGHMEM_START=0xfe000000
225CONFIG_LOWMEM_SIZE=0x30000000 238CONFIG_LOWMEM_SIZE=0x30000000
226CONFIG_KERNEL_START=0xc0000000 239CONFIG_KERNEL_START=0xc0000000
227CONFIG_TASK_SIZE=0x80000000 240CONFIG_TASK_SIZE=0x80000000
228CONFIG_CONSISTENT_START=0xff100000 241CONFIG_CONSISTENT_START=0xfd000000
229CONFIG_CONSISTENT_SIZE=0x00200000 242CONFIG_CONSISTENT_SIZE=0x00200000
230CONFIG_BOOT_LOAD=0x00400000 243CONFIG_BOOT_LOAD=0x00400000
231 244
@@ -262,6 +275,7 @@ CONFIG_SYN_COOKIES=y
262# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 275# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
263# CONFIG_INET_XFRM_MODE_TUNNEL is not set 276# CONFIG_INET_XFRM_MODE_TUNNEL is not set
264# CONFIG_INET_XFRM_MODE_BEET is not set 277# CONFIG_INET_XFRM_MODE_BEET is not set
278# CONFIG_INET_LRO is not set
265CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -287,10 +301,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
287# CONFIG_LAPB is not set 301# CONFIG_LAPB is not set
288# CONFIG_ECONET is not set 302# CONFIG_ECONET is not set
289# CONFIG_WAN_ROUTER is not set 303# CONFIG_WAN_ROUTER is not set
290
291#
292# QoS and/or fair queueing
293#
294# CONFIG_NET_SCHED is not set 304# CONFIG_NET_SCHED is not set
295 305
296# 306#
@@ -319,6 +329,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# 329#
320# Generic Driver Options 330# Generic Driver Options
321# 331#
332CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
322CONFIG_STANDALONE=y 333CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 334CONFIG_PREVENT_FIRMWARE_BUILD=y
324# CONFIG_FW_LOADER is not set 335# CONFIG_FW_LOADER is not set
@@ -342,6 +353,7 @@ CONFIG_MTD_BLOCK=y
342# CONFIG_INFTL is not set 353# CONFIG_INFTL is not set
343# CONFIG_RFD_FTL is not set 354# CONFIG_RFD_FTL is not set
344# CONFIG_SSFDC is not set 355# CONFIG_SSFDC is not set
356# CONFIG_MTD_OOPS is not set
345 357
346# 358#
347# RAM/ROM/Flash chip drivers 359# RAM/ROM/Flash chip drivers
@@ -425,6 +437,7 @@ CONFIG_NETDEVICES=y
425# CONFIG_MACVLAN is not set 437# CONFIG_MACVLAN is not set
426# CONFIG_EQUALIZER is not set 438# CONFIG_EQUALIZER is not set
427# CONFIG_TUN is not set 439# CONFIG_TUN is not set
440# CONFIG_VETH is not set
428CONFIG_PHYLIB=y 441CONFIG_PHYLIB=y
429 442
430# 443#
@@ -443,9 +456,15 @@ CONFIG_DAVICOM_PHY=y
443# CONFIG_MDIO_BITBANG is not set 456# CONFIG_MDIO_BITBANG is not set
444CONFIG_NET_ETHERNET=y 457CONFIG_NET_ETHERNET=y
445CONFIG_MII=y 458CONFIG_MII=y
459# CONFIG_IBM_NEW_EMAC_ZMII is not set
460# CONFIG_IBM_NEW_EMAC_RGMII is not set
461# CONFIG_IBM_NEW_EMAC_TAH is not set
462# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
463# CONFIG_B44 is not set
446CONFIG_FS_ENET=y 464CONFIG_FS_ENET=y
447# CONFIG_FS_ENET_HAS_SCC is not set 465# CONFIG_FS_ENET_HAS_SCC is not set
448CONFIG_FS_ENET_HAS_FEC=y 466CONFIG_FS_ENET_HAS_FEC=y
467CONFIG_FS_ENET_MDIO_FEC=y
449# CONFIG_NETDEV_1000 is not set 468# CONFIG_NETDEV_1000 is not set
450# CONFIG_NETDEV_10000 is not set 469# CONFIG_NETDEV_10000 is not set
451 470
@@ -503,7 +522,6 @@ CONFIG_SERIAL_CPM_SMC2=y
503CONFIG_UNIX98_PTYS=y 522CONFIG_UNIX98_PTYS=y
504# CONFIG_LEGACY_PTYS is not set 523# CONFIG_LEGACY_PTYS is not set
505# CONFIG_IPMI_HANDLER is not set 524# CONFIG_IPMI_HANDLER is not set
506# CONFIG_WATCHDOG is not set
507CONFIG_HW_RANDOM=y 525CONFIG_HW_RANDOM=y
508# CONFIG_NVRAM is not set 526# CONFIG_NVRAM is not set
509CONFIG_GEN_RTC=y 527CONFIG_GEN_RTC=y
@@ -521,6 +539,13 @@ CONFIG_GEN_RTC=y
521# CONFIG_W1 is not set 539# CONFIG_W1 is not set
522# CONFIG_POWER_SUPPLY is not set 540# CONFIG_POWER_SUPPLY is not set
523# CONFIG_HWMON is not set 541# CONFIG_HWMON is not set
542# CONFIG_WATCHDOG is not set
543
544#
545# Sonics Silicon Backplane
546#
547CONFIG_SSB_POSSIBLE=y
548# CONFIG_SSB is not set
524 549
525# 550#
526# Multifunction device drivers 551# Multifunction device drivers
@@ -537,16 +562,15 @@ CONFIG_DAB=y
537# 562#
538# Graphics support 563# Graphics support
539# 564#
565# CONFIG_VGASTATE is not set
566# CONFIG_VIDEO_OUTPUT_CONTROL is not set
567# CONFIG_FB is not set
540# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 568# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
541 569
542# 570#
543# Display device support 571# Display device support
544# 572#
545# CONFIG_DISPLAY_SUPPORT is not set 573# CONFIG_DISPLAY_SUPPORT is not set
546# CONFIG_VGASTATE is not set
547# CONFIG_VIDEO_OUTPUT_CONTROL is not set
548# CONFIG_FB is not set
549# CONFIG_FB_IBM_GXT4500 is not set
550 574
551# 575#
552# Sound 576# Sound
@@ -559,19 +583,6 @@ CONFIG_DAB=y
559# CONFIG_RTC_CLASS is not set 583# CONFIG_RTC_CLASS is not set
560 584
561# 585#
562# DMA Engine support
563#
564# CONFIG_DMA_ENGINE is not set
565
566#
567# DMA Clients
568#
569
570#
571# DMA Devices
572#
573
574#
575# Userspace I/O 586# Userspace I/O
576# 587#
577# CONFIG_UIO is not set 588# CONFIG_UIO is not set
@@ -620,7 +631,6 @@ CONFIG_SYSFS=y
620CONFIG_TMPFS=y 631CONFIG_TMPFS=y
621# CONFIG_TMPFS_POSIX_ACL is not set 632# CONFIG_TMPFS_POSIX_ACL is not set
622# CONFIG_HUGETLB_PAGE is not set 633# CONFIG_HUGETLB_PAGE is not set
623CONFIG_RAMFS=y
624# CONFIG_CONFIGFS_FS is not set 634# CONFIG_CONFIGFS_FS is not set
625 635
626# 636#
@@ -640,10 +650,7 @@ CONFIG_CRAMFS=y
640# CONFIG_QNX4FS_FS is not set 650# CONFIG_QNX4FS_FS is not set
641# CONFIG_SYSV_FS is not set 651# CONFIG_SYSV_FS is not set
642# CONFIG_UFS_FS is not set 652# CONFIG_UFS_FS is not set
643 653CONFIG_NETWORK_FILESYSTEMS=y
644#
645# Network File Systems
646#
647CONFIG_NFS_FS=y 654CONFIG_NFS_FS=y
648CONFIG_NFS_V3=y 655CONFIG_NFS_V3=y
649# CONFIG_NFS_V3_ACL is not set 656# CONFIG_NFS_V3_ACL is not set
@@ -685,15 +692,7 @@ CONFIG_MSDOS_PARTITION=y
685# CONFIG_KARMA_PARTITION is not set 692# CONFIG_KARMA_PARTITION is not set
686# CONFIG_EFI_PARTITION is not set 693# CONFIG_EFI_PARTITION is not set
687# CONFIG_SYSV68_PARTITION is not set 694# CONFIG_SYSV68_PARTITION is not set
688
689#
690# Native Language Support
691#
692# CONFIG_NLS is not set 695# CONFIG_NLS is not set
693
694#
695# Distributed Lock Manager
696#
697# CONFIG_DLM is not set 696# CONFIG_DLM is not set
698# CONFIG_UCC_SLOW is not set 697# CONFIG_UCC_SLOW is not set
699 698
@@ -710,16 +709,13 @@ CONFIG_ZLIB_INFLATE=y
710CONFIG_HAS_IOMEM=y 709CONFIG_HAS_IOMEM=y
711CONFIG_HAS_IOPORT=y 710CONFIG_HAS_IOPORT=y
712CONFIG_HAS_DMA=y 711CONFIG_HAS_DMA=y
713 712# CONFIG_INSTRUMENTATION is not set
714#
715# Instrumentation Support
716#
717# CONFIG_PROFILING is not set
718 713
719# 714#
720# Kernel hacking 715# Kernel hacking
721# 716#
722# CONFIG_PRINTK_TIME is not set 717# CONFIG_PRINTK_TIME is not set
718CONFIG_ENABLE_WARN_DEPRECATED=y
723CONFIG_ENABLE_MUST_CHECK=y 719CONFIG_ENABLE_MUST_CHECK=y
724CONFIG_MAGIC_SYSRQ=y 720CONFIG_MAGIC_SYSRQ=y
725# CONFIG_UNUSED_SYMBOLS is not set 721# CONFIG_UNUSED_SYMBOLS is not set
@@ -741,8 +737,11 @@ CONFIG_DEBUG_BUGVERBOSE=y
741CONFIG_DEBUG_INFO=y 737CONFIG_DEBUG_INFO=y
742# CONFIG_DEBUG_VM is not set 738# CONFIG_DEBUG_VM is not set
743# CONFIG_DEBUG_LIST is not set 739# CONFIG_DEBUG_LIST is not set
740# CONFIG_DEBUG_SG is not set
744CONFIG_FORCED_INLINING=y 741CONFIG_FORCED_INLINING=y
742# CONFIG_BOOT_PRINTK_DELAY is not set
745# CONFIG_FAULT_INJECTION is not set 743# CONFIG_FAULT_INJECTION is not set
744# CONFIG_SAMPLES is not set
746# CONFIG_DEBUG_STACKOVERFLOW is not set 745# CONFIG_DEBUG_STACKOVERFLOW is not set
747# CONFIG_DEBUG_STACK_USAGE is not set 746# CONFIG_DEBUG_STACK_USAGE is not set
748# CONFIG_DEBUG_PAGEALLOC is not set 747# CONFIG_DEBUG_PAGEALLOC is not set
@@ -755,4 +754,7 @@ CONFIG_FORCED_INLINING=y
755# 754#
756# CONFIG_KEYS is not set 755# CONFIG_KEYS is not set
757# CONFIG_SECURITY is not set 756# CONFIG_SECURITY is not set
757# CONFIG_SECURITY_FILE_CAPABILITIES is not set
758# CONFIG_CRYPTO is not set 758# CONFIG_CRYPTO is not set
759# CONFIG_PPC_CLOCK is not set
760CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 78c968aade4e..292de3d6ce92 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc2 3# Linux kernel version: 2.6.24-rc4
4# Tue Nov 6 23:23:50 2007 4# Thu Dec 6 16:49:03 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -68,6 +68,7 @@ CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=17 74CONFIG_LOG_BUF_SHIFT=17
@@ -211,6 +212,7 @@ CONFIG_PREEMPT_NONE=y
211CONFIG_BINFMT_ELF=y 212CONFIG_BINFMT_ELF=y
212# CONFIG_BINFMT_MISC is not set 213# CONFIG_BINFMT_MISC is not set
213CONFIG_FORCE_MAX_ZONEORDER=9 214CONFIG_FORCE_MAX_ZONEORDER=9
215CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
214CONFIG_IOMMU_VMERGE=y 216CONFIG_IOMMU_VMERGE=y
215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 217CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
216# CONFIG_KEXEC is not set 218# CONFIG_KEXEC is not set
@@ -774,7 +776,6 @@ CONFIG_PASEMI_MAC=y
774# CONFIG_USB_KAWETH is not set 776# CONFIG_USB_KAWETH is not set
775# CONFIG_USB_PEGASUS is not set 777# CONFIG_USB_PEGASUS is not set
776# CONFIG_USB_RTL8150 is not set 778# CONFIG_USB_RTL8150 is not set
777# CONFIG_USB_USBNET_MII is not set
778# CONFIG_USB_USBNET is not set 779# CONFIG_USB_USBNET is not set
779# CONFIG_NET_PCMCIA is not set 780# CONFIG_NET_PCMCIA is not set
780# CONFIG_WAN is not set 781# CONFIG_WAN is not set
@@ -958,6 +959,7 @@ CONFIG_HWMON_VID=y
958# CONFIG_SENSORS_ADT7470 is not set 959# CONFIG_SENSORS_ADT7470 is not set
959# CONFIG_SENSORS_ATXP1 is not set 960# CONFIG_SENSORS_ATXP1 is not set
960# CONFIG_SENSORS_DS1621 is not set 961# CONFIG_SENSORS_DS1621 is not set
962# CONFIG_SENSORS_I5K_AMB is not set
961# CONFIG_SENSORS_F71805F is not set 963# CONFIG_SENSORS_F71805F is not set
962# CONFIG_SENSORS_F71882FG is not set 964# CONFIG_SENSORS_F71882FG is not set
963# CONFIG_SENSORS_F75375S is not set 965# CONFIG_SENSORS_F75375S is not set
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 8e5988c4a164..5416be4419bb 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:44:46 2007 4# Thu Dec 6 16:49:05 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
27CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,10 +68,15 @@ CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 73CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 74CONFIG_IKCONFIG_PROC=y
69CONFIG_LOG_BUF_SHIFT=14 75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_FAIR_USER_SCHED=y
79# CONFIG_FAIR_CGROUP_SCHED is not set
70CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
72CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -87,7 +97,6 @@ CONFIG_FUTEX=y
87CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 98CONFIG_EPOLL=y
89CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
90CONFIG_TIMERFD=y
91CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
92CONFIG_SHMEM=y 101CONFIG_SHMEM=y
93CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -127,7 +136,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
127# Platform support 136# Platform support
128# 137#
129CONFIG_PPC_MULTIPLATFORM=y 138CONFIG_PPC_MULTIPLATFORM=y
130# CONFIG_EMBEDDED6xx is not set
131# CONFIG_PPC_82xx is not set 139# CONFIG_PPC_82xx is not set
132# CONFIG_PPC_83xx is not set 140# CONFIG_PPC_83xx is not set
133# CONFIG_PPC_86xx is not set 141# CONFIG_PPC_86xx is not set
@@ -141,6 +149,7 @@ CONFIG_PPC_PMAC=y
141# CONFIG_PPC_CELL is not set 149# CONFIG_PPC_CELL is not set
142# CONFIG_PPC_CELL_NATIVE is not set 150# CONFIG_PPC_CELL_NATIVE is not set
143# CONFIG_PQ2ADS is not set 151# CONFIG_PQ2ADS is not set
152# CONFIG_EMBEDDED6xx is not set
144CONFIG_PPC_NATIVE=y 153CONFIG_PPC_NATIVE=y
145CONFIG_MPIC=y 154CONFIG_MPIC=y
146# CONFIG_MPIC_WEIRD is not set 155# CONFIG_MPIC_WEIRD is not set
@@ -158,6 +167,8 @@ CONFIG_CPU_FREQ_STAT=y
158# CONFIG_CPU_FREQ_STAT_DETAILS is not set 167# CONFIG_CPU_FREQ_STAT_DETAILS is not set
159CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y 168CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
160# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 169# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
170# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
171# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
161CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 172CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
162CONFIG_CPU_FREQ_GOV_POWERSAVE=y 173CONFIG_CPU_FREQ_GOV_POWERSAVE=y
163CONFIG_CPU_FREQ_GOV_USERSPACE=y 174CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -177,6 +188,10 @@ CONFIG_PPC601_SYNC_FIX=y
177# Kernel options 188# Kernel options
178# 189#
179# CONFIG_HIGHMEM is not set 190# CONFIG_HIGHMEM is not set
191CONFIG_TICK_ONESHOT=y
192CONFIG_NO_HZ=y
193CONFIG_HIGH_RES_TIMERS=y
194CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
180# CONFIG_HZ_100 is not set 195# CONFIG_HZ_100 is not set
181CONFIG_HZ_250=y 196CONFIG_HZ_250=y
182# CONFIG_HZ_300 is not set 197# CONFIG_HZ_300 is not set
@@ -198,6 +213,7 @@ CONFIG_FLATMEM_MANUAL=y
198CONFIG_FLATMEM=y 213CONFIG_FLATMEM=y
199CONFIG_FLAT_NODE_MEM_MAP=y 214CONFIG_FLAT_NODE_MEM_MAP=y
200# CONFIG_SPARSEMEM_STATIC is not set 215# CONFIG_SPARSEMEM_STATIC is not set
216# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
201CONFIG_SPLIT_PTLOCK_CPUS=4 217CONFIG_SPLIT_PTLOCK_CPUS=4
202# CONFIG_RESOURCES_64BIT is not set 218# CONFIG_RESOURCES_64BIT is not set
203CONFIG_ZONE_DMA_FLAG=1 219CONFIG_ZONE_DMA_FLAG=1
@@ -210,7 +226,9 @@ CONFIG_PM=y
210CONFIG_PM_DEBUG=y 226CONFIG_PM_DEBUG=y
211# CONFIG_PM_VERBOSE is not set 227# CONFIG_PM_VERBOSE is not set
212CONFIG_PM_SLEEP=y 228CONFIG_PM_SLEEP=y
229CONFIG_SUSPEND_UP_POSSIBLE=y
213CONFIG_SUSPEND=y 230CONFIG_SUSPEND=y
231CONFIG_HIBERNATION_UP_POSSIBLE=y
214CONFIG_HIBERNATION=y 232CONFIG_HIBERNATION=y
215CONFIG_PM_STD_PARTITION="" 233CONFIG_PM_STD_PARTITION=""
216CONFIG_APM_EMULATION=y 234CONFIG_APM_EMULATION=y
@@ -230,11 +248,8 @@ CONFIG_PCI_SYSCALL=y
230# CONFIG_PCIEPORTBUS is not set 248# CONFIG_PCIEPORTBUS is not set
231CONFIG_ARCH_SUPPORTS_MSI=y 249CONFIG_ARCH_SUPPORTS_MSI=y
232# CONFIG_PCI_MSI is not set 250# CONFIG_PCI_MSI is not set
251CONFIG_PCI_LEGACY=y
233# CONFIG_PCI_DEBUG is not set 252# CONFIG_PCI_DEBUG is not set
234
235#
236# PCCARD (PCMCIA/CardBus) support
237#
238CONFIG_PCCARD=m 253CONFIG_PCCARD=m
239# CONFIG_PCMCIA_DEBUG is not set 254# CONFIG_PCMCIA_DEBUG is not set
240CONFIG_PCMCIA=m 255CONFIG_PCMCIA=m
@@ -267,7 +282,7 @@ CONFIG_PCCARD_NONSTATIC=m
267CONFIG_HIGHMEM_START=0xfe000000 282CONFIG_HIGHMEM_START=0xfe000000
268CONFIG_LOWMEM_SIZE=0x30000000 283CONFIG_LOWMEM_SIZE=0x30000000
269CONFIG_KERNEL_START=0xc0000000 284CONFIG_KERNEL_START=0xc0000000
270CONFIG_TASK_SIZE=0x80000000 285CONFIG_TASK_SIZE=0xc0000000
271CONFIG_BOOT_LOAD=0x00800000 286CONFIG_BOOT_LOAD=0x00800000
272 287
273# 288#
@@ -305,6 +320,7 @@ CONFIG_INET_ESP=y
305# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 320# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
306# CONFIG_INET_XFRM_MODE_TUNNEL is not set 321# CONFIG_INET_XFRM_MODE_TUNNEL is not set
307CONFIG_INET_XFRM_MODE_BEET=y 322CONFIG_INET_XFRM_MODE_BEET=y
323# CONFIG_INET_LRO is not set
308CONFIG_INET_DIAG=y 324CONFIG_INET_DIAG=y
309CONFIG_INET_TCP_DIAG=y 325CONFIG_INET_TCP_DIAG=y
310# CONFIG_TCP_CONG_ADVANCED is not set 326# CONFIG_TCP_CONG_ADVANCED is not set
@@ -372,6 +388,7 @@ CONFIG_NETFILTER_XT_MATCH_SCTP=m
372# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 388# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
373CONFIG_NETFILTER_XT_MATCH_STRING=m 389CONFIG_NETFILTER_XT_MATCH_STRING=m
374CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 390CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
391CONFIG_NETFILTER_XT_MATCH_TIME=m
375CONFIG_NETFILTER_XT_MATCH_U32=m 392CONFIG_NETFILTER_XT_MATCH_U32=m
376# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 393# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
377 394
@@ -448,13 +465,9 @@ CONFIG_IP_DCCP_CCID3_RTO=100
448# CONFIG_LAPB is not set 465# CONFIG_LAPB is not set
449# CONFIG_ECONET is not set 466# CONFIG_ECONET is not set
450# CONFIG_WAN_ROUTER is not set 467# CONFIG_WAN_ROUTER is not set
451
452#
453# QoS and/or fair queueing
454#
455# CONFIG_NET_SCHED is not set 468# CONFIG_NET_SCHED is not set
456CONFIG_NET_SCH_FIFO=y
457CONFIG_NET_CLS_ROUTE=y 469CONFIG_NET_CLS_ROUTE=y
470CONFIG_NET_SCH_FIFO=y
458 471
459# 472#
460# Network testing 473# Network testing
@@ -492,6 +505,8 @@ CONFIG_IRTTY_SIR=m
492# 505#
493# CONFIG_DONGLE is not set 506# CONFIG_DONGLE is not set
494# CONFIG_KINGSUN_DONGLE is not set 507# CONFIG_KINGSUN_DONGLE is not set
508# CONFIG_KSDAZZLE_DONGLE is not set
509# CONFIG_KS959_DONGLE is not set
495 510
496# 511#
497# Old SIR device drivers 512# Old SIR device drivers
@@ -545,8 +560,10 @@ CONFIG_BT_HCIBFUSB=m
545# Wireless 560# Wireless
546# 561#
547CONFIG_CFG80211=m 562CONFIG_CFG80211=m
563CONFIG_NL80211=y
548CONFIG_WIRELESS_EXT=y 564CONFIG_WIRELESS_EXT=y
549CONFIG_MAC80211=m 565CONFIG_MAC80211=m
566CONFIG_MAC80211_RCSIMPLE=y
550CONFIG_MAC80211_LEDS=y 567CONFIG_MAC80211_LEDS=y
551# CONFIG_MAC80211_DEBUG is not set 568# CONFIG_MAC80211_DEBUG is not set
552CONFIG_IEEE80211=m 569CONFIG_IEEE80211=m
@@ -565,6 +582,7 @@ CONFIG_IEEE80211_CRYPT_TKIP=m
565# 582#
566# Generic Driver Options 583# Generic Driver Options
567# 584#
585CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
568# CONFIG_STANDALONE is not set 586# CONFIG_STANDALONE is not set
569CONFIG_PREVENT_FIRMWARE_BUILD=y 587CONFIG_PREVENT_FIRMWARE_BUILD=y
570CONFIG_FW_LOADER=y 588CONFIG_FW_LOADER=y
@@ -622,6 +640,11 @@ CONFIG_IDE_PROC_FS=y
622# IDE chipset support/bugfixes 640# IDE chipset support/bugfixes
623# 641#
624# CONFIG_IDE_GENERIC is not set 642# CONFIG_IDE_GENERIC is not set
643# CONFIG_BLK_DEV_PLATFORM is not set
644
645#
646# PCI IDE chipsets support
647#
625CONFIG_BLK_DEV_IDEPCI=y 648CONFIG_BLK_DEV_IDEPCI=y
626CONFIG_IDEPCI_SHARE_IRQ=y 649CONFIG_IDEPCI_SHARE_IRQ=y
627CONFIG_IDEPCI_PCIBUS_ORDER=y 650CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -629,8 +652,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
629CONFIG_BLK_DEV_GENERIC=y 652CONFIG_BLK_DEV_GENERIC=y
630# CONFIG_BLK_DEV_OPTI621 is not set 653# CONFIG_BLK_DEV_OPTI621 is not set
631CONFIG_BLK_DEV_IDEDMA_PCI=y 654CONFIG_BLK_DEV_IDEDMA_PCI=y
632# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
633# CONFIG_IDEDMA_ONLYDISK is not set
634# CONFIG_BLK_DEV_AEC62XX is not set 655# CONFIG_BLK_DEV_AEC62XX is not set
635# CONFIG_BLK_DEV_ALI15X3 is not set 656# CONFIG_BLK_DEV_ALI15X3 is not set
636# CONFIG_BLK_DEV_AMD74XX is not set 657# CONFIG_BLK_DEV_AMD74XX is not set
@@ -661,7 +682,7 @@ CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
661CONFIG_BLK_DEV_IDEDMA_PMAC=y 682CONFIG_BLK_DEV_IDEDMA_PMAC=y
662# CONFIG_IDE_ARM is not set 683# CONFIG_IDE_ARM is not set
663CONFIG_BLK_DEV_IDEDMA=y 684CONFIG_BLK_DEV_IDEDMA=y
664# CONFIG_IDEDMA_IVB is not set 685CONFIG_IDE_ARCH_OBSOLETE_INIT=y
665# CONFIG_BLK_DEV_HD is not set 686# CONFIG_BLK_DEV_HD is not set
666 687
667# 688#
@@ -702,6 +723,7 @@ CONFIG_SCSI_FC_ATTRS=y
702# CONFIG_SCSI_ISCSI_ATTRS is not set 723# CONFIG_SCSI_ISCSI_ATTRS is not set
703# CONFIG_SCSI_SAS_ATTRS is not set 724# CONFIG_SCSI_SAS_ATTRS is not set
704# CONFIG_SCSI_SAS_LIBSAS is not set 725# CONFIG_SCSI_SAS_LIBSAS is not set
726# CONFIG_SCSI_SRP_ATTRS is not set
705CONFIG_SCSI_LOWLEVEL=y 727CONFIG_SCSI_LOWLEVEL=y
706# CONFIG_ISCSI_TCP is not set 728# CONFIG_ISCSI_TCP is not set
707# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 729# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -718,6 +740,7 @@ CONFIG_SCSI_AIC7XXX_OLD=m
718# CONFIG_SCSI_AIC79XX is not set 740# CONFIG_SCSI_AIC79XX is not set
719# CONFIG_SCSI_AIC94XX is not set 741# CONFIG_SCSI_AIC94XX is not set
720# CONFIG_SCSI_DPT_I2O is not set 742# CONFIG_SCSI_DPT_I2O is not set
743# CONFIG_SCSI_ADVANSYS is not set
721# CONFIG_SCSI_ARCMSR is not set 744# CONFIG_SCSI_ARCMSR is not set
722# CONFIG_MEGARAID_NEWGEN is not set 745# CONFIG_MEGARAID_NEWGEN is not set
723# CONFIG_MEGARAID_LEGACY is not set 746# CONFIG_MEGARAID_LEGACY is not set
@@ -769,14 +792,8 @@ CONFIG_DM_MIRROR=m
769CONFIG_DM_ZERO=m 792CONFIG_DM_ZERO=m
770# CONFIG_DM_MULTIPATH is not set 793# CONFIG_DM_MULTIPATH is not set
771# CONFIG_DM_DELAY is not set 794# CONFIG_DM_DELAY is not set
772 795# CONFIG_DM_UEVENT is not set
773#
774# Fusion MPT device support
775#
776# CONFIG_FUSION is not set 796# CONFIG_FUSION is not set
777# CONFIG_FUSION_SPI is not set
778# CONFIG_FUSION_FC is not set
779# CONFIG_FUSION_SAS is not set
780 797
781# 798#
782# IEEE 1394 (FireWire) support 799# IEEE 1394 (FireWire) support
@@ -830,6 +847,8 @@ CONFIG_DUMMY=m
830# CONFIG_MACVLAN is not set 847# CONFIG_MACVLAN is not set
831# CONFIG_EQUALIZER is not set 848# CONFIG_EQUALIZER is not set
832CONFIG_TUN=m 849CONFIG_TUN=m
850# CONFIG_VETH is not set
851# CONFIG_IP1000 is not set
833# CONFIG_ARCNET is not set 852# CONFIG_ARCNET is not set
834# CONFIG_PHYLIB is not set 853# CONFIG_PHYLIB is not set
835CONFIG_NET_ETHERNET=y 854CONFIG_NET_ETHERNET=y
@@ -843,6 +862,10 @@ CONFIG_SUNGEM=y
843# CONFIG_NET_VENDOR_3COM is not set 862# CONFIG_NET_VENDOR_3COM is not set
844# CONFIG_NET_TULIP is not set 863# CONFIG_NET_TULIP is not set
845# CONFIG_HP100 is not set 864# CONFIG_HP100 is not set
865# CONFIG_IBM_NEW_EMAC_ZMII is not set
866# CONFIG_IBM_NEW_EMAC_RGMII is not set
867# CONFIG_IBM_NEW_EMAC_TAH is not set
868# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
846CONFIG_NET_PCI=y 869CONFIG_NET_PCI=y
847CONFIG_PCNET32=y 870CONFIG_PCNET32=y
848# CONFIG_PCNET32_NAPI is not set 871# CONFIG_PCNET32_NAPI is not set
@@ -850,7 +873,6 @@ CONFIG_PCNET32=y
850# CONFIG_ADAPTEC_STARFIRE is not set 873# CONFIG_ADAPTEC_STARFIRE is not set
851# CONFIG_B44 is not set 874# CONFIG_B44 is not set
852# CONFIG_FORCEDETH is not set 875# CONFIG_FORCEDETH is not set
853# CONFIG_DGRS is not set
854# CONFIG_EEPRO100 is not set 876# CONFIG_EEPRO100 is not set
855# CONFIG_E100 is not set 877# CONFIG_E100 is not set
856# CONFIG_FEALNX is not set 878# CONFIG_FEALNX is not set
@@ -868,6 +890,7 @@ CONFIG_NETDEV_1000=y
868# CONFIG_ACENIC is not set 890# CONFIG_ACENIC is not set
869# CONFIG_DL2K is not set 891# CONFIG_DL2K is not set
870# CONFIG_E1000 is not set 892# CONFIG_E1000 is not set
893# CONFIG_E1000E is not set
871# CONFIG_NS83820 is not set 894# CONFIG_NS83820 is not set
872# CONFIG_HAMACHI is not set 895# CONFIG_HAMACHI is not set
873# CONFIG_YELLOWFIN is not set 896# CONFIG_YELLOWFIN is not set
@@ -875,6 +898,7 @@ CONFIG_NETDEV_1000=y
875# CONFIG_SIS190 is not set 898# CONFIG_SIS190 is not set
876# CONFIG_SKGE is not set 899# CONFIG_SKGE is not set
877# CONFIG_SKY2 is not set 900# CONFIG_SKY2 is not set
901# CONFIG_SK98LIN is not set
878# CONFIG_VIA_VELOCITY is not set 902# CONFIG_VIA_VELOCITY is not set
879# CONFIG_TIGON3 is not set 903# CONFIG_TIGON3 is not set
880# CONFIG_BNX2 is not set 904# CONFIG_BNX2 is not set
@@ -884,11 +908,14 @@ CONFIG_NETDEV_1000=y
884CONFIG_NETDEV_10000=y 908CONFIG_NETDEV_10000=y
885# CONFIG_CHELSIO_T1 is not set 909# CONFIG_CHELSIO_T1 is not set
886# CONFIG_CHELSIO_T3 is not set 910# CONFIG_CHELSIO_T3 is not set
911# CONFIG_IXGBE is not set
887# CONFIG_IXGB is not set 912# CONFIG_IXGB is not set
888# CONFIG_S2IO is not set 913# CONFIG_S2IO is not set
889# CONFIG_MYRI10GE is not set 914# CONFIG_MYRI10GE is not set
890# CONFIG_NETXEN_NIC is not set 915# CONFIG_NETXEN_NIC is not set
916# CONFIG_NIU is not set
891# CONFIG_MLX4_CORE is not set 917# CONFIG_MLX4_CORE is not set
918# CONFIG_TEHUTI is not set
892# CONFIG_TR is not set 919# CONFIG_TR is not set
893 920
894# 921#
@@ -907,15 +934,41 @@ CONFIG_APPLE_AIRPORT=m
907# CONFIG_TMD_HERMES is not set 934# CONFIG_TMD_HERMES is not set
908# CONFIG_NORTEL_HERMES is not set 935# CONFIG_NORTEL_HERMES is not set
909CONFIG_PCI_HERMES=m 936CONFIG_PCI_HERMES=m
910# CONFIG_ATMEL is not set
911CONFIG_PCMCIA_HERMES=m 937CONFIG_PCMCIA_HERMES=m
912# CONFIG_PCMCIA_SPECTRUM is not set 938# CONFIG_PCMCIA_SPECTRUM is not set
939# CONFIG_ATMEL is not set
913# CONFIG_AIRO_CS is not set 940# CONFIG_AIRO_CS is not set
914# CONFIG_PCMCIA_WL3501 is not set 941# CONFIG_PCMCIA_WL3501 is not set
915CONFIG_PRISM54=m 942CONFIG_PRISM54=m
916# CONFIG_USB_ZD1201 is not set 943# CONFIG_USB_ZD1201 is not set
917# CONFIG_RTL8187 is not set 944# CONFIG_RTL8187 is not set
945# CONFIG_ADM8211 is not set
946CONFIG_P54_COMMON=m
947# CONFIG_P54_USB is not set
948# CONFIG_P54_PCI is not set
949# CONFIG_IWLWIFI is not set
918# CONFIG_HOSTAP is not set 950# CONFIG_HOSTAP is not set
951CONFIG_B43=m
952CONFIG_B43_PCI_AUTOSELECT=y
953CONFIG_B43_PCICORE_AUTOSELECT=y
954# CONFIG_B43_PCMCIA is not set
955CONFIG_B43_LEDS=y
956# CONFIG_B43_DEBUG is not set
957CONFIG_B43_DMA=y
958CONFIG_B43_PIO=y
959CONFIG_B43_DMA_AND_PIO_MODE=y
960# CONFIG_B43_DMA_MODE is not set
961# CONFIG_B43_PIO_MODE is not set
962CONFIG_B43LEGACY=m
963CONFIG_B43LEGACY_PCI_AUTOSELECT=y
964CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
965CONFIG_B43LEGACY_DEBUG=y
966CONFIG_B43LEGACY_DMA=y
967CONFIG_B43LEGACY_PIO=y
968CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
969# CONFIG_B43LEGACY_DMA_MODE is not set
970# CONFIG_B43LEGACY_PIO_MODE is not set
971# CONFIG_RT2X00 is not set
919 972
920# 973#
921# USB Network Adapters 974# USB Network Adapters
@@ -924,7 +977,6 @@ CONFIG_PRISM54=m
924# CONFIG_USB_KAWETH is not set 977# CONFIG_USB_KAWETH is not set
925# CONFIG_USB_PEGASUS is not set 978# CONFIG_USB_PEGASUS is not set
926# CONFIG_USB_RTL8150 is not set 979# CONFIG_USB_RTL8150 is not set
927CONFIG_USB_USBNET_MII=m
928CONFIG_USB_USBNET=m 980CONFIG_USB_USBNET=m
929CONFIG_USB_NET_AX8817X=m 981CONFIG_USB_NET_AX8817X=m
930CONFIG_USB_NET_CDCETHER=m 982CONFIG_USB_NET_CDCETHER=m
@@ -975,7 +1027,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
975CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 1027CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
976CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 1028CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
977# CONFIG_INPUT_JOYDEV is not set 1029# CONFIG_INPUT_JOYDEV is not set
978# CONFIG_INPUT_TSDEV is not set
979CONFIG_INPUT_EVDEV=y 1030CONFIG_INPUT_EVDEV=y
980# CONFIG_INPUT_EVBUG is not set 1031# CONFIG_INPUT_EVBUG is not set
981 1032
@@ -1034,29 +1085,19 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
1034# CONFIG_SERIAL_UARTLITE is not set 1085# CONFIG_SERIAL_UARTLITE is not set
1035CONFIG_SERIAL_CORE=m 1086CONFIG_SERIAL_CORE=m
1036CONFIG_SERIAL_PMACZILOG=m 1087CONFIG_SERIAL_PMACZILOG=m
1088CONFIG_SERIAL_PMACZILOG_TTYS=y
1037# CONFIG_SERIAL_JSM is not set 1089# CONFIG_SERIAL_JSM is not set
1038# CONFIG_SERIAL_OF_PLATFORM is not set 1090# CONFIG_SERIAL_OF_PLATFORM is not set
1039CONFIG_UNIX98_PTYS=y 1091CONFIG_UNIX98_PTYS=y
1040CONFIG_LEGACY_PTYS=y 1092CONFIG_LEGACY_PTYS=y
1041CONFIG_LEGACY_PTY_COUNT=256 1093CONFIG_LEGACY_PTY_COUNT=256
1042# CONFIG_IPMI_HANDLER is not set 1094# CONFIG_IPMI_HANDLER is not set
1043# CONFIG_WATCHDOG is not set 1095CONFIG_HW_RANDOM=m
1044# CONFIG_HW_RANDOM is not set
1045CONFIG_NVRAM=y 1096CONFIG_NVRAM=y
1046CONFIG_GEN_RTC=y 1097CONFIG_GEN_RTC=y
1047# CONFIG_GEN_RTC_X is not set 1098# CONFIG_GEN_RTC_X is not set
1048# CONFIG_R3964 is not set 1099# CONFIG_R3964 is not set
1049# CONFIG_APPLICOM is not set 1100# CONFIG_APPLICOM is not set
1050CONFIG_AGP=m
1051CONFIG_AGP_UNINORTH=m
1052CONFIG_DRM=m
1053# CONFIG_DRM_TDFX is not set
1054CONFIG_DRM_R128=m
1055CONFIG_DRM_RADEON=m
1056# CONFIG_DRM_MGA is not set
1057# CONFIG_DRM_SIS is not set
1058# CONFIG_DRM_VIA is not set
1059# CONFIG_DRM_SAVAGE is not set
1060 1101
1061# 1102#
1062# PCMCIA character devices 1103# PCMCIA character devices
@@ -1138,6 +1179,20 @@ CONFIG_APM_POWER=y
1138# CONFIG_BATTERY_DS2760 is not set 1179# CONFIG_BATTERY_DS2760 is not set
1139CONFIG_BATTERY_PMU=y 1180CONFIG_BATTERY_PMU=y
1140# CONFIG_HWMON is not set 1181# CONFIG_HWMON is not set
1182# CONFIG_WATCHDOG is not set
1183
1184#
1185# Sonics Silicon Backplane
1186#
1187CONFIG_SSB_POSSIBLE=y
1188CONFIG_SSB=m
1189CONFIG_SSB_PCIHOST_POSSIBLE=y
1190CONFIG_SSB_PCIHOST=y
1191CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
1192# CONFIG_SSB_PCMCIAHOST is not set
1193# CONFIG_SSB_DEBUG is not set
1194CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
1195CONFIG_SSB_DRIVER_PCICORE=y
1141 1196
1142# 1197#
1143# Multifunction device drivers 1198# Multifunction device drivers
@@ -1154,18 +1209,16 @@ CONFIG_BATTERY_PMU=y
1154# 1209#
1155# Graphics support 1210# Graphics support
1156# 1211#
1157CONFIG_BACKLIGHT_LCD_SUPPORT=y 1212CONFIG_AGP=m
1158CONFIG_LCD_CLASS_DEVICE=m 1213CONFIG_AGP_UNINORTH=m
1159CONFIG_BACKLIGHT_CLASS_DEVICE=y 1214CONFIG_DRM=m
1160 1215# CONFIG_DRM_TDFX is not set
1161# 1216CONFIG_DRM_R128=m
1162# Display device support 1217CONFIG_DRM_RADEON=m
1163# 1218# CONFIG_DRM_MGA is not set
1164CONFIG_DISPLAY_SUPPORT=y 1219# CONFIG_DRM_SIS is not set
1165 1220# CONFIG_DRM_VIA is not set
1166# 1221# CONFIG_DRM_SAVAGE is not set
1167# Display hardware drivers
1168#
1169CONFIG_VGASTATE=y 1222CONFIG_VGASTATE=y
1170# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1223# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1171CONFIG_FB=y 1224CONFIG_FB=y
@@ -1174,6 +1227,7 @@ CONFIG_FB_DDC=y
1174CONFIG_FB_CFB_FILLRECT=y 1227CONFIG_FB_CFB_FILLRECT=y
1175CONFIG_FB_CFB_COPYAREA=y 1228CONFIG_FB_CFB_COPYAREA=y
1176CONFIG_FB_CFB_IMAGEBLIT=y 1229CONFIG_FB_CFB_IMAGEBLIT=y
1230# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1177# CONFIG_FB_SYS_FILLRECT is not set 1231# CONFIG_FB_SYS_FILLRECT is not set
1178# CONFIG_FB_SYS_COPYAREA is not set 1232# CONFIG_FB_SYS_COPYAREA is not set
1179# CONFIG_FB_SYS_IMAGEBLIT is not set 1233# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -1199,6 +1253,7 @@ CONFIG_FB_CT65550=y
1199# CONFIG_FB_ASILIANT is not set 1253# CONFIG_FB_ASILIANT is not set
1200CONFIG_FB_IMSTT=y 1254CONFIG_FB_IMSTT=y
1201# CONFIG_FB_VGA16 is not set 1255# CONFIG_FB_VGA16 is not set
1256# CONFIG_FB_UVESA is not set
1202# CONFIG_FB_S1D13XXX is not set 1257# CONFIG_FB_S1D13XXX is not set
1203CONFIG_FB_NVIDIA=y 1258CONFIG_FB_NVIDIA=y
1204CONFIG_FB_NVIDIA_I2C=y 1259CONFIG_FB_NVIDIA_I2C=y
@@ -1236,6 +1291,19 @@ CONFIG_FB_3DFX=y
1236# CONFIG_FB_PM3 is not set 1291# CONFIG_FB_PM3 is not set
1237# CONFIG_FB_IBM_GXT4500 is not set 1292# CONFIG_FB_IBM_GXT4500 is not set
1238# CONFIG_FB_VIRTUAL is not set 1293# CONFIG_FB_VIRTUAL is not set
1294CONFIG_BACKLIGHT_LCD_SUPPORT=y
1295CONFIG_LCD_CLASS_DEVICE=m
1296CONFIG_BACKLIGHT_CLASS_DEVICE=y
1297# CONFIG_BACKLIGHT_CORGI is not set
1298
1299#
1300# Display device support
1301#
1302CONFIG_DISPLAY_SUPPORT=y
1303
1304#
1305# Display hardware drivers
1306#
1239 1307
1240# 1308#
1241# Console display driver support 1309# Console display driver support
@@ -1399,6 +1467,7 @@ CONFIG_SND_USB_AUDIO=m
1399CONFIG_HID_SUPPORT=y 1467CONFIG_HID_SUPPORT=y
1400CONFIG_HID=y 1468CONFIG_HID=y
1401# CONFIG_HID_DEBUG is not set 1469# CONFIG_HID_DEBUG is not set
1470# CONFIG_HIDRAW is not set
1402 1471
1403# 1472#
1404# USB Input Devices 1473# USB Input Devices
@@ -1488,6 +1557,7 @@ CONFIG_USB_SERIAL=m
1488# CONFIG_USB_SERIAL_AIRPRIME is not set 1557# CONFIG_USB_SERIAL_AIRPRIME is not set
1489# CONFIG_USB_SERIAL_ARK3116 is not set 1558# CONFIG_USB_SERIAL_ARK3116 is not set
1490# CONFIG_USB_SERIAL_BELKIN is not set 1559# CONFIG_USB_SERIAL_BELKIN is not set
1560# CONFIG_USB_SERIAL_CH341 is not set
1491# CONFIG_USB_SERIAL_WHITEHEAT is not set 1561# CONFIG_USB_SERIAL_WHITEHEAT is not set
1492# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set 1562# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1493# CONFIG_USB_SERIAL_CP2101 is not set 1563# CONFIG_USB_SERIAL_CP2101 is not set
@@ -1587,19 +1657,6 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
1587# CONFIG_RTC_CLASS is not set 1657# CONFIG_RTC_CLASS is not set
1588 1658
1589# 1659#
1590# DMA Engine support
1591#
1592# CONFIG_DMA_ENGINE is not set
1593
1594#
1595# DMA Clients
1596#
1597
1598#
1599# DMA Devices
1600#
1601
1602#
1603# Userspace I/O 1660# Userspace I/O
1604# 1661#
1605# CONFIG_UIO is not set 1662# CONFIG_UIO is not set
@@ -1616,7 +1673,6 @@ CONFIG_EXT3_FS_POSIX_ACL=y
1616# CONFIG_EXT3_FS_SECURITY is not set 1673# CONFIG_EXT3_FS_SECURITY is not set
1617# CONFIG_EXT4DEV_FS is not set 1674# CONFIG_EXT4DEV_FS is not set
1618CONFIG_JBD=y 1675CONFIG_JBD=y
1619# CONFIG_JBD_DEBUG is not set
1620CONFIG_FS_MBCACHE=y 1676CONFIG_FS_MBCACHE=y
1621# CONFIG_REISERFS_FS is not set 1677# CONFIG_REISERFS_FS is not set
1622# CONFIG_JFS_FS is not set 1678# CONFIG_JFS_FS is not set
@@ -1663,7 +1719,6 @@ CONFIG_SYSFS=y
1663CONFIG_TMPFS=y 1719CONFIG_TMPFS=y
1664# CONFIG_TMPFS_POSIX_ACL is not set 1720# CONFIG_TMPFS_POSIX_ACL is not set
1665# CONFIG_HUGETLB_PAGE is not set 1721# CONFIG_HUGETLB_PAGE is not set
1666CONFIG_RAMFS=y
1667# CONFIG_CONFIGFS_FS is not set 1722# CONFIG_CONFIGFS_FS is not set
1668 1723
1669# 1724#
@@ -1682,10 +1737,7 @@ CONFIG_HFSPLUS_FS=m
1682# CONFIG_QNX4FS_FS is not set 1737# CONFIG_QNX4FS_FS is not set
1683# CONFIG_SYSV_FS is not set 1738# CONFIG_SYSV_FS is not set
1684# CONFIG_UFS_FS is not set 1739# CONFIG_UFS_FS is not set
1685 1740CONFIG_NETWORK_FILESYSTEMS=y
1686#
1687# Network File Systems
1688#
1689CONFIG_NFS_FS=y 1741CONFIG_NFS_FS=y
1690CONFIG_NFS_V3=y 1742CONFIG_NFS_V3=y
1691CONFIG_NFS_V3_ACL=y 1743CONFIG_NFS_V3_ACL=y
@@ -1735,10 +1787,6 @@ CONFIG_MSDOS_PARTITION=y
1735# CONFIG_KARMA_PARTITION is not set 1787# CONFIG_KARMA_PARTITION is not set
1736# CONFIG_EFI_PARTITION is not set 1788# CONFIG_EFI_PARTITION is not set
1737# CONFIG_SYSV68_PARTITION is not set 1789# CONFIG_SYSV68_PARTITION is not set
1738
1739#
1740# Native Language Support
1741#
1742CONFIG_NLS=y 1790CONFIG_NLS=y
1743CONFIG_NLS_DEFAULT="iso8859-1" 1791CONFIG_NLS_DEFAULT="iso8859-1"
1744CONFIG_NLS_CODEPAGE_437=m 1792CONFIG_NLS_CODEPAGE_437=m
@@ -1779,10 +1827,6 @@ CONFIG_NLS_ISO8859_1=m
1779# CONFIG_NLS_KOI8_R is not set 1827# CONFIG_NLS_KOI8_R is not set
1780# CONFIG_NLS_KOI8_U is not set 1828# CONFIG_NLS_KOI8_U is not set
1781CONFIG_NLS_UTF8=m 1829CONFIG_NLS_UTF8=m
1782
1783#
1784# Distributed Lock Manager
1785#
1786# CONFIG_DLM is not set 1830# CONFIG_DLM is not set
1787# CONFIG_UCC_SLOW is not set 1831# CONFIG_UCC_SLOW is not set
1788 1832
@@ -1806,18 +1850,17 @@ CONFIG_PLIST=y
1806CONFIG_HAS_IOMEM=y 1850CONFIG_HAS_IOMEM=y
1807CONFIG_HAS_IOPORT=y 1851CONFIG_HAS_IOPORT=y
1808CONFIG_HAS_DMA=y 1852CONFIG_HAS_DMA=y
1809 1853CONFIG_INSTRUMENTATION=y
1810#
1811# Instrumentation Support
1812#
1813CONFIG_PROFILING=y 1854CONFIG_PROFILING=y
1814CONFIG_OPROFILE=y 1855CONFIG_OPROFILE=y
1815# CONFIG_KPROBES is not set 1856# CONFIG_KPROBES is not set
1857# CONFIG_MARKERS is not set
1816 1858
1817# 1859#
1818# Kernel hacking 1860# Kernel hacking
1819# 1861#
1820# CONFIG_PRINTK_TIME is not set 1862# CONFIG_PRINTK_TIME is not set
1863CONFIG_ENABLE_WARN_DEPRECATED=y
1821CONFIG_ENABLE_MUST_CHECK=y 1864CONFIG_ENABLE_MUST_CHECK=y
1822CONFIG_MAGIC_SYSRQ=y 1865CONFIG_MAGIC_SYSRQ=y
1823# CONFIG_UNUSED_SYMBOLS is not set 1866# CONFIG_UNUSED_SYMBOLS is not set
@@ -1841,9 +1884,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1841# CONFIG_DEBUG_INFO is not set 1884# CONFIG_DEBUG_INFO is not set
1842# CONFIG_DEBUG_VM is not set 1885# CONFIG_DEBUG_VM is not set
1843# CONFIG_DEBUG_LIST is not set 1886# CONFIG_DEBUG_LIST is not set
1887# CONFIG_DEBUG_SG is not set
1844# CONFIG_FORCED_INLINING is not set 1888# CONFIG_FORCED_INLINING is not set
1889# CONFIG_BOOT_PRINTK_DELAY is not set
1845# CONFIG_RCU_TORTURE_TEST is not set 1890# CONFIG_RCU_TORTURE_TEST is not set
1846# CONFIG_FAULT_INJECTION is not set 1891# CONFIG_FAULT_INJECTION is not set
1892# CONFIG_SAMPLES is not set
1847# CONFIG_DEBUG_STACKOVERFLOW is not set 1893# CONFIG_DEBUG_STACKOVERFLOW is not set
1848# CONFIG_DEBUG_STACK_USAGE is not set 1894# CONFIG_DEBUG_STACK_USAGE is not set
1849CONFIG_DEBUGGER=y 1895CONFIG_DEBUGGER=y
@@ -1859,6 +1905,7 @@ CONFIG_BOOTX_TEXT=y
1859# 1905#
1860# CONFIG_KEYS is not set 1906# CONFIG_KEYS is not set
1861# CONFIG_SECURITY is not set 1907# CONFIG_SECURITY is not set
1908# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1862CONFIG_CRYPTO=y 1909CONFIG_CRYPTO=y
1863CONFIG_CRYPTO_ALGAPI=y 1910CONFIG_CRYPTO_ALGAPI=y
1864CONFIG_CRYPTO_BLKCIPHER=y 1911CONFIG_CRYPTO_BLKCIPHER=y
@@ -1879,6 +1926,7 @@ CONFIG_CRYPTO_ECB=m
1879CONFIG_CRYPTO_CBC=y 1926CONFIG_CRYPTO_CBC=y
1880CONFIG_CRYPTO_PCBC=m 1927CONFIG_CRYPTO_PCBC=m
1881# CONFIG_CRYPTO_LRW is not set 1928# CONFIG_CRYPTO_LRW is not set
1929# CONFIG_CRYPTO_XTS is not set
1882# CONFIG_CRYPTO_CRYPTD is not set 1930# CONFIG_CRYPTO_CRYPTD is not set
1883CONFIG_CRYPTO_DES=y 1931CONFIG_CRYPTO_DES=y
1884# CONFIG_CRYPTO_FCRYPT is not set 1932# CONFIG_CRYPTO_FCRYPT is not set
@@ -1893,9 +1941,12 @@ CONFIG_CRYPTO_TEA=m
1893CONFIG_CRYPTO_ARC4=m 1941CONFIG_CRYPTO_ARC4=m
1894CONFIG_CRYPTO_KHAZAD=m 1942CONFIG_CRYPTO_KHAZAD=m
1895CONFIG_CRYPTO_ANUBIS=m 1943CONFIG_CRYPTO_ANUBIS=m
1944# CONFIG_CRYPTO_SEED is not set
1896CONFIG_CRYPTO_DEFLATE=m 1945CONFIG_CRYPTO_DEFLATE=m
1897CONFIG_CRYPTO_MICHAEL_MIC=m 1946CONFIG_CRYPTO_MICHAEL_MIC=m
1898CONFIG_CRYPTO_CRC32C=m 1947CONFIG_CRYPTO_CRC32C=m
1899# CONFIG_CRYPTO_CAMELLIA is not set 1948# CONFIG_CRYPTO_CAMELLIA is not set
1900# CONFIG_CRYPTO_TEST is not set 1949# CONFIG_CRYPTO_TEST is not set
1950# CONFIG_CRYPTO_AUTHENC is not set
1901CONFIG_CRYPTO_HW=y 1951CONFIG_CRYPTO_HW=y
1952# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 3e90c835fe12..5760b9f033ea 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc2 3# Linux kernel version: 2.6.24-rc4
4# Tue Nov 6 23:43:56 2007 4# Thu Dec 6 16:49:07 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -73,6 +73,7 @@ CONFIG_TASKSTATS=y
73CONFIG_TASK_DELAY_ACCT=y 73CONFIG_TASK_DELAY_ACCT=y
74# CONFIG_TASK_XACCT is not set 74# CONFIG_TASK_XACCT is not set
75# CONFIG_USER_NS is not set 75# CONFIG_USER_NS is not set
76# CONFIG_PID_NS is not set
76# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
77CONFIG_IKCONFIG=y 78CONFIG_IKCONFIG=y
78CONFIG_IKCONFIG_PROC=y 79CONFIG_IKCONFIG_PROC=y
@@ -80,11 +81,11 @@ CONFIG_LOG_BUF_SHIFT=17
80CONFIG_CGROUPS=y 81CONFIG_CGROUPS=y
81# CONFIG_CGROUP_DEBUG is not set 82# CONFIG_CGROUP_DEBUG is not set
82# CONFIG_CGROUP_NS is not set 83# CONFIG_CGROUP_NS is not set
83# CONFIG_CGROUP_CPUACCT is not set
84CONFIG_CPUSETS=y 84CONFIG_CPUSETS=y
85CONFIG_FAIR_GROUP_SCHED=y 85CONFIG_FAIR_GROUP_SCHED=y
86CONFIG_FAIR_USER_SCHED=y 86CONFIG_FAIR_USER_SCHED=y
87# CONFIG_FAIR_CGROUP_SCHED is not set 87# CONFIG_FAIR_CGROUP_SCHED is not set
88# CONFIG_CGROUP_CPUACCT is not set
88CONFIG_SYSFS_DEPRECATED=y 89CONFIG_SYSFS_DEPRECATED=y
89CONFIG_PROC_PID_CPUSET=y 90CONFIG_PROC_PID_CPUSET=y
90CONFIG_RELAY=y 91CONFIG_RELAY=y
@@ -258,6 +259,7 @@ CONFIG_PREEMPT_NONE=y
258CONFIG_BINFMT_ELF=y 259CONFIG_BINFMT_ELF=y
259CONFIG_BINFMT_MISC=m 260CONFIG_BINFMT_MISC=m
260CONFIG_FORCE_MAX_ZONEORDER=13 261CONFIG_FORCE_MAX_ZONEORDER=13
262CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
261CONFIG_IOMMU_VMERGE=y 263CONFIG_IOMMU_VMERGE=y
262CONFIG_HOTPLUG_CPU=y 264CONFIG_HOTPLUG_CPU=y
263CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 265CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -955,7 +957,6 @@ CONFIG_IBMOL=y
955# CONFIG_USB_KAWETH is not set 957# CONFIG_USB_KAWETH is not set
956# CONFIG_USB_PEGASUS is not set 958# CONFIG_USB_PEGASUS is not set
957# CONFIG_USB_RTL8150 is not set 959# CONFIG_USB_RTL8150 is not set
958# CONFIG_USB_USBNET_MII is not set
959# CONFIG_USB_USBNET is not set 960# CONFIG_USB_USBNET is not set
960# CONFIG_NET_PCMCIA is not set 961# CONFIG_NET_PCMCIA is not set
961# CONFIG_WAN is not set 962# CONFIG_WAN is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 9191f557b044..142d206d6870 100644
--- a/arch/powerpc/configs/pq2fads_defconfig
+++ b/arch/powerpc/configs/pq2fads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 11:58:17 2007 4# Thu Dec 6 16:49:09 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -20,8 +20,13 @@ CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
21# CONFIG_SMP is not set 21# CONFIG_SMP is not set
22CONFIG_PPC32=y 22CONFIG_PPC32=y
23CONFIG_WORD_SIZE=32
23CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
24CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
25CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
26CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
27CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,6 +68,8 @@ CONFIG_SYSVIPC_SYSCTL=y
63CONFIG_IKCONFIG=y 68CONFIG_IKCONFIG=y
64CONFIG_IKCONFIG_PROC=y 69CONFIG_IKCONFIG_PROC=y
65CONFIG_LOG_BUF_SHIFT=14 70CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set
72# CONFIG_FAIR_GROUP_SCHED is not set
66# CONFIG_SYSFS_DEPRECATED is not set 73# CONFIG_SYSFS_DEPRECATED is not set
67# CONFIG_RELAY is not set 74# CONFIG_RELAY is not set
68CONFIG_BLK_DEV_INITRD=y 75CONFIG_BLK_DEV_INITRD=y
@@ -82,7 +89,6 @@ CONFIG_FUTEX=y
82CONFIG_ANON_INODES=y 89CONFIG_ANON_INODES=y
83CONFIG_EPOLL=y 90CONFIG_EPOLL=y
84CONFIG_SIGNALFD=y 91CONFIG_SIGNALFD=y
85CONFIG_TIMERFD=y
86CONFIG_EVENTFD=y 92CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 93CONFIG_SHMEM=y
88CONFIG_VM_EVENT_COUNTERS=y 94CONFIG_VM_EVENT_COUNTERS=y
@@ -116,7 +122,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
116# Platform support 122# Platform support
117# 123#
118# CONFIG_PPC_MULTIPLATFORM is not set 124# CONFIG_PPC_MULTIPLATFORM is not set
119# CONFIG_EMBEDDED6xx is not set
120CONFIG_PPC_82xx=y 125CONFIG_PPC_82xx=y
121# CONFIG_PPC_83xx is not set 126# CONFIG_PPC_83xx is not set
122# CONFIG_PPC_86xx is not set 127# CONFIG_PPC_86xx is not set
@@ -126,7 +131,6 @@ CONFIG_PPC_82xx=y
126# CONFIG_PPC_CELL_NATIVE is not set 131# CONFIG_PPC_CELL_NATIVE is not set
127# CONFIG_MPC8272_ADS is not set 132# CONFIG_MPC8272_ADS is not set
128CONFIG_PQ2FADS=y 133CONFIG_PQ2FADS=y
129# CONFIG_EP8248E is not set
130CONFIG_PQ2ADS=y 134CONFIG_PQ2ADS=y
131CONFIG_8260=y 135CONFIG_8260=y
132CONFIG_PQ2_ADS_PCI_PIC=y 136CONFIG_PQ2_ADS_PCI_PIC=y
@@ -149,6 +153,10 @@ CONFIG_CPM=y
149# Kernel options 153# Kernel options
150# 154#
151# CONFIG_HIGHMEM is not set 155# CONFIG_HIGHMEM is not set
156CONFIG_TICK_ONESHOT=y
157CONFIG_NO_HZ=y
158CONFIG_HIGH_RES_TIMERS=y
159CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
152# CONFIG_HZ_100 is not set 160# CONFIG_HZ_100 is not set
153CONFIG_HZ_250=y 161CONFIG_HZ_250=y
154# CONFIG_HZ_300 is not set 162# CONFIG_HZ_300 is not set
@@ -165,6 +173,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y
165CONFIG_FLATMEM=y 173CONFIG_FLATMEM=y
166CONFIG_FLAT_NODE_MEM_MAP=y 174CONFIG_FLAT_NODE_MEM_MAP=y
167# CONFIG_SPARSEMEM_STATIC is not set 175# CONFIG_SPARSEMEM_STATIC is not set
176# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
168CONFIG_SPLIT_PTLOCK_CPUS=4 177CONFIG_SPLIT_PTLOCK_CPUS=4
169# CONFIG_RESOURCES_64BIT is not set 178# CONFIG_RESOURCES_64BIT is not set
170CONFIG_ZONE_DMA_FLAG=1 179CONFIG_ZONE_DMA_FLAG=1
@@ -173,6 +182,8 @@ CONFIG_VIRT_TO_BUS=y
173CONFIG_PROC_DEVICETREE=y 182CONFIG_PROC_DEVICETREE=y
174# CONFIG_CMDLINE_BOOL is not set 183# CONFIG_CMDLINE_BOOL is not set
175# CONFIG_PM is not set 184# CONFIG_PM is not set
185CONFIG_SUSPEND_UP_POSSIBLE=y
186CONFIG_HIBERNATION_UP_POSSIBLE=y
176CONFIG_SECCOMP=y 187CONFIG_SECCOMP=y
177CONFIG_WANT_DEVICE_TREE=y 188CONFIG_WANT_DEVICE_TREE=y
178CONFIG_DEVICE_TREE="pq2fads.dts" 189CONFIG_DEVICE_TREE="pq2fads.dts"
@@ -192,11 +203,8 @@ CONFIG_PCI_8260=y
192# CONFIG_PCIEPORTBUS is not set 203# CONFIG_PCIEPORTBUS is not set
193CONFIG_ARCH_SUPPORTS_MSI=y 204CONFIG_ARCH_SUPPORTS_MSI=y
194# CONFIG_PCI_MSI is not set 205# CONFIG_PCI_MSI is not set
206CONFIG_PCI_LEGACY=y
195# CONFIG_PCI_DEBUG is not set 207# CONFIG_PCI_DEBUG is not set
196
197#
198# PCCARD (PCMCIA/CardBus) support
199#
200# CONFIG_PCCARD is not set 208# CONFIG_PCCARD is not set
201 209
202# 210#
@@ -210,7 +218,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
210CONFIG_HIGHMEM_START=0xfe000000 218CONFIG_HIGHMEM_START=0xfe000000
211CONFIG_LOWMEM_SIZE=0x30000000 219CONFIG_LOWMEM_SIZE=0x30000000
212CONFIG_KERNEL_START=0xc0000000 220CONFIG_KERNEL_START=0xc0000000
213CONFIG_TASK_SIZE=0x80000000 221CONFIG_TASK_SIZE=0xc0000000
214CONFIG_BOOT_LOAD=0x00400000 222CONFIG_BOOT_LOAD=0x00400000
215 223
216# 224#
@@ -247,6 +255,7 @@ CONFIG_INET_TUNNEL=y
247CONFIG_INET_XFRM_MODE_TRANSPORT=y 255CONFIG_INET_XFRM_MODE_TRANSPORT=y
248CONFIG_INET_XFRM_MODE_TUNNEL=y 256CONFIG_INET_XFRM_MODE_TUNNEL=y
249CONFIG_INET_XFRM_MODE_BEET=y 257CONFIG_INET_XFRM_MODE_BEET=y
258# CONFIG_INET_LRO is not set
250CONFIG_INET_DIAG=y 259CONFIG_INET_DIAG=y
251CONFIG_INET_TCP_DIAG=y 260CONFIG_INET_TCP_DIAG=y
252# CONFIG_TCP_CONG_ADVANCED is not set 261# CONFIG_TCP_CONG_ADVANCED is not set
@@ -290,10 +299,6 @@ CONFIG_NETFILTER=y
290# CONFIG_LLC2 is not set 299# CONFIG_LLC2 is not set
291# CONFIG_IPX is not set 300# CONFIG_IPX is not set
292# CONFIG_ATALK is not set 301# CONFIG_ATALK is not set
293
294#
295# QoS and/or fair queueing
296#
297# CONFIG_NET_SCHED is not set 302# CONFIG_NET_SCHED is not set
298 303
299# 304#
@@ -319,6 +324,7 @@ CONFIG_NETFILTER=y
319# 324#
320# Generic Driver Options 325# Generic Driver Options
321# 326#
327CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
322CONFIG_STANDALONE=y 328CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 329CONFIG_PREVENT_FIRMWARE_BUILD=y
324# CONFIG_FW_LOADER is not set 330# CONFIG_FW_LOADER is not set
@@ -342,6 +348,7 @@ CONFIG_MTD_BLOCK=y
342# CONFIG_INFTL is not set 348# CONFIG_INFTL is not set
343# CONFIG_RFD_FTL is not set 349# CONFIG_RFD_FTL is not set
344# CONFIG_SSFDC is not set 350# CONFIG_SSFDC is not set
351# CONFIG_MTD_OOPS is not set
345 352
346# 353#
347# RAM/ROM/Flash chip drivers 354# RAM/ROM/Flash chip drivers
@@ -380,6 +387,7 @@ CONFIG_MTD_CFI_UTIL=y
380# CONFIG_MTD_PHYSMAP is not set 387# CONFIG_MTD_PHYSMAP is not set
381CONFIG_MTD_PHYSMAP_OF=y 388CONFIG_MTD_PHYSMAP_OF=y
382# CONFIG_MTD_SBC8240 is not set 389# CONFIG_MTD_SBC8240 is not set
390# CONFIG_MTD_INTEL_VR_NOR is not set
383# CONFIG_MTD_PLATRAM is not set 391# CONFIG_MTD_PLATRAM is not set
384 392
385# 393#
@@ -442,10 +450,40 @@ CONFIG_IDE_PROC_FS=y
442# IDE chipset support/bugfixes 450# IDE chipset support/bugfixes
443# 451#
444# CONFIG_IDE_GENERIC is not set 452# CONFIG_IDE_GENERIC is not set
445# CONFIG_BLK_DEV_IDEPCI is not set 453# CONFIG_BLK_DEV_PLATFORM is not set
454
455#
456# PCI IDE chipsets support
457#
446# CONFIG_IDEPCI_PCIBUS_ORDER is not set 458# CONFIG_IDEPCI_PCIBUS_ORDER is not set
459# CONFIG_BLK_DEV_GENERIC is not set
460# CONFIG_BLK_DEV_AEC62XX is not set
461# CONFIG_BLK_DEV_ALI15X3 is not set
462# CONFIG_BLK_DEV_AMD74XX is not set
463# CONFIG_BLK_DEV_CMD64X is not set
464# CONFIG_BLK_DEV_TRIFLEX is not set
465# CONFIG_BLK_DEV_CY82C693 is not set
466# CONFIG_BLK_DEV_CS5530 is not set
467# CONFIG_BLK_DEV_HPT34X is not set
468# CONFIG_BLK_DEV_HPT366 is not set
469# CONFIG_BLK_DEV_JMICRON is not set
470# CONFIG_BLK_DEV_SC1200 is not set
471# CONFIG_BLK_DEV_PIIX is not set
472# CONFIG_BLK_DEV_IT8213 is not set
473# CONFIG_BLK_DEV_IT821X is not set
474# CONFIG_BLK_DEV_NS87415 is not set
475# CONFIG_BLK_DEV_PDC202XX_OLD is not set
476# CONFIG_BLK_DEV_PDC202XX_NEW is not set
477# CONFIG_BLK_DEV_SVWKS is not set
478# CONFIG_BLK_DEV_SIIMAGE is not set
479# CONFIG_BLK_DEV_SL82C105 is not set
480# CONFIG_BLK_DEV_SLC90E66 is not set
481# CONFIG_BLK_DEV_TRM290 is not set
482# CONFIG_BLK_DEV_VIA82CXXX is not set
483# CONFIG_BLK_DEV_TC86C001 is not set
447# CONFIG_IDE_ARM is not set 484# CONFIG_IDE_ARM is not set
448# CONFIG_BLK_DEV_IDEDMA is not set 485# CONFIG_BLK_DEV_IDEDMA is not set
486CONFIG_IDE_ARCH_OBSOLETE_INIT=y
449# CONFIG_BLK_DEV_HD is not set 487# CONFIG_BLK_DEV_HD is not set
450 488
451# 489#
@@ -457,10 +495,6 @@ CONFIG_IDE_PROC_FS=y
457# CONFIG_SCSI_NETLINK is not set 495# CONFIG_SCSI_NETLINK is not set
458# CONFIG_ATA is not set 496# CONFIG_ATA is not set
459# CONFIG_MD is not set 497# CONFIG_MD is not set
460
461#
462# Fusion MPT device support
463#
464# CONFIG_FUSION is not set 498# CONFIG_FUSION is not set
465 499
466# 500#
@@ -479,6 +513,7 @@ CONFIG_NETDEVICES=y
479# CONFIG_BONDING is not set 513# CONFIG_BONDING is not set
480# CONFIG_EQUALIZER is not set 514# CONFIG_EQUALIZER is not set
481CONFIG_TUN=y 515CONFIG_TUN=y
516# CONFIG_VETH is not set
482# CONFIG_ARCNET is not set 517# CONFIG_ARCNET is not set
483CONFIG_PHYLIB=y 518CONFIG_PHYLIB=y
484 519
@@ -504,20 +539,28 @@ CONFIG_MII=y
504# CONFIG_NET_VENDOR_3COM is not set 539# CONFIG_NET_VENDOR_3COM is not set
505# CONFIG_NET_TULIP is not set 540# CONFIG_NET_TULIP is not set
506# CONFIG_HP100 is not set 541# CONFIG_HP100 is not set
542# CONFIG_IBM_NEW_EMAC_ZMII is not set
543# CONFIG_IBM_NEW_EMAC_RGMII is not set
544# CONFIG_IBM_NEW_EMAC_TAH is not set
545# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
507# CONFIG_NET_PCI is not set 546# CONFIG_NET_PCI is not set
547# CONFIG_B44 is not set
508CONFIG_FS_ENET=y 548CONFIG_FS_ENET=y
509# CONFIG_FS_ENET_HAS_SCC is not set 549# CONFIG_FS_ENET_HAS_SCC is not set
510CONFIG_FS_ENET_HAS_FCC=y 550CONFIG_FS_ENET_HAS_FCC=y
551# CONFIG_FS_ENET_MDIO_FCC is not set
511CONFIG_NETDEV_1000=y 552CONFIG_NETDEV_1000=y
512# CONFIG_ACENIC is not set 553# CONFIG_ACENIC is not set
513# CONFIG_DL2K is not set 554# CONFIG_DL2K is not set
514# CONFIG_E1000 is not set 555# CONFIG_E1000 is not set
556# CONFIG_E1000E is not set
515# CONFIG_NS83820 is not set 557# CONFIG_NS83820 is not set
516# CONFIG_HAMACHI is not set 558# CONFIG_HAMACHI is not set
517# CONFIG_R8169 is not set 559# CONFIG_R8169 is not set
518# CONFIG_SIS190 is not set 560# CONFIG_SIS190 is not set
519# CONFIG_SKGE is not set 561# CONFIG_SKGE is not set
520# CONFIG_SKY2 is not set 562# CONFIG_SKY2 is not set
563# CONFIG_SK98LIN is not set
521# CONFIG_VIA_VELOCITY is not set 564# CONFIG_VIA_VELOCITY is not set
522# CONFIG_TIGON3 is not set 565# CONFIG_TIGON3 is not set
523# CONFIG_BNX2 is not set 566# CONFIG_BNX2 is not set
@@ -525,11 +568,14 @@ CONFIG_NETDEV_1000=y
525CONFIG_NETDEV_10000=y 568CONFIG_NETDEV_10000=y
526# CONFIG_CHELSIO_T1 is not set 569# CONFIG_CHELSIO_T1 is not set
527# CONFIG_CHELSIO_T3 is not set 570# CONFIG_CHELSIO_T3 is not set
571# CONFIG_IXGBE is not set
528# CONFIG_IXGB is not set 572# CONFIG_IXGB is not set
529# CONFIG_S2IO is not set 573# CONFIG_S2IO is not set
530# CONFIG_MYRI10GE is not set 574# CONFIG_MYRI10GE is not set
531# CONFIG_NETXEN_NIC is not set 575# CONFIG_NETXEN_NIC is not set
576# CONFIG_NIU is not set
532# CONFIG_MLX4_CORE is not set 577# CONFIG_MLX4_CORE is not set
578# CONFIG_TEHUTI is not set
533# CONFIG_TR is not set 579# CONFIG_TR is not set
534 580
535# 581#
@@ -567,7 +613,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
567CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 613CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
568CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 614CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
569# CONFIG_INPUT_JOYDEV is not set 615# CONFIG_INPUT_JOYDEV is not set
570# CONFIG_INPUT_TSDEV is not set
571CONFIG_INPUT_EVDEV=y 616CONFIG_INPUT_EVDEV=y
572# CONFIG_INPUT_EVBUG is not set 617# CONFIG_INPUT_EVBUG is not set
573 618
@@ -638,14 +683,11 @@ CONFIG_UNIX98_PTYS=y
638CONFIG_LEGACY_PTYS=y 683CONFIG_LEGACY_PTYS=y
639CONFIG_LEGACY_PTY_COUNT=256 684CONFIG_LEGACY_PTY_COUNT=256
640# CONFIG_IPMI_HANDLER is not set 685# CONFIG_IPMI_HANDLER is not set
641# CONFIG_WATCHDOG is not set
642CONFIG_HW_RANDOM=y 686CONFIG_HW_RANDOM=y
643# CONFIG_NVRAM is not set 687# CONFIG_NVRAM is not set
644# CONFIG_GEN_RTC is not set 688# CONFIG_GEN_RTC is not set
645# CONFIG_R3964 is not set 689# CONFIG_R3964 is not set
646# CONFIG_APPLICOM is not set 690# CONFIG_APPLICOM is not set
647# CONFIG_AGP is not set
648# CONFIG_DRM is not set
649# CONFIG_RAW_DRIVER is not set 691# CONFIG_RAW_DRIVER is not set
650CONFIG_DEVPORT=y 692CONFIG_DEVPORT=y
651# CONFIG_I2C is not set 693# CONFIG_I2C is not set
@@ -658,6 +700,13 @@ CONFIG_DEVPORT=y
658# CONFIG_W1 is not set 700# CONFIG_W1 is not set
659# CONFIG_POWER_SUPPLY is not set 701# CONFIG_POWER_SUPPLY is not set
660# CONFIG_HWMON is not set 702# CONFIG_HWMON is not set
703# CONFIG_WATCHDOG is not set
704
705#
706# Sonics Silicon Backplane
707#
708CONFIG_SSB_POSSIBLE=y
709# CONFIG_SSB is not set
661 710
662# 711#
663# Multifunction device drivers 712# Multifunction device drivers
@@ -674,16 +723,17 @@ CONFIG_DAB=y
674# 723#
675# Graphics support 724# Graphics support
676# 725#
726# CONFIG_AGP is not set
727# CONFIG_DRM is not set
728# CONFIG_VGASTATE is not set
729CONFIG_VIDEO_OUTPUT_CONTROL=y
730# CONFIG_FB is not set
677# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 731# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
678 732
679# 733#
680# Display device support 734# Display device support
681# 735#
682# CONFIG_DISPLAY_SUPPORT is not set 736# CONFIG_DISPLAY_SUPPORT is not set
683# CONFIG_VGASTATE is not set
684CONFIG_VIDEO_OUTPUT_CONTROL=y
685# CONFIG_FB is not set
686# CONFIG_FB_IBM_GXT4500 is not set
687 737
688# 738#
689# Sound 739# Sound
@@ -707,6 +757,7 @@ CONFIG_USB_GADGET=y
707# CONFIG_USB_GADGET_DEBUG_FILES is not set 757# CONFIG_USB_GADGET_DEBUG_FILES is not set
708CONFIG_USB_GADGET_SELECTED=y 758CONFIG_USB_GADGET_SELECTED=y
709# CONFIG_USB_GADGET_AMD5536UDC is not set 759# CONFIG_USB_GADGET_AMD5536UDC is not set
760# CONFIG_USB_GADGET_ATMEL_USBA is not set
710# CONFIG_USB_GADGET_FSL_USB2 is not set 761# CONFIG_USB_GADGET_FSL_USB2 is not set
711# CONFIG_USB_GADGET_NET2280 is not set 762# CONFIG_USB_GADGET_NET2280 is not set
712# CONFIG_USB_GADGET_PXA2XX is not set 763# CONFIG_USB_GADGET_PXA2XX is not set
@@ -731,19 +782,6 @@ CONFIG_USB_ETH=y
731# CONFIG_RTC_CLASS is not set 782# CONFIG_RTC_CLASS is not set
732 783
733# 784#
734# DMA Engine support
735#
736# CONFIG_DMA_ENGINE is not set
737
738#
739# DMA Clients
740#
741
742#
743# DMA Devices
744#
745
746#
747# Userspace I/O 785# Userspace I/O
748# 786#
749# CONFIG_UIO is not set 787# CONFIG_UIO is not set
@@ -759,7 +797,6 @@ CONFIG_EXT3_FS_XATTR=y
759# CONFIG_EXT3_FS_POSIX_ACL is not set 797# CONFIG_EXT3_FS_POSIX_ACL is not set
760# CONFIG_EXT3_FS_SECURITY is not set 798# CONFIG_EXT3_FS_SECURITY is not set
761CONFIG_JBD=y 799CONFIG_JBD=y
762# CONFIG_JBD_DEBUG is not set
763CONFIG_FS_MBCACHE=y 800CONFIG_FS_MBCACHE=y
764# CONFIG_REISERFS_FS is not set 801# CONFIG_REISERFS_FS is not set
765# CONFIG_JFS_FS is not set 802# CONFIG_JFS_FS is not set
@@ -799,7 +836,6 @@ CONFIG_SYSFS=y
799CONFIG_TMPFS=y 836CONFIG_TMPFS=y
800# CONFIG_TMPFS_POSIX_ACL is not set 837# CONFIG_TMPFS_POSIX_ACL is not set
801# CONFIG_HUGETLB_PAGE is not set 838# CONFIG_HUGETLB_PAGE is not set
802CONFIG_RAMFS=y
803 839
804# 840#
805# Miscellaneous filesystems 841# Miscellaneous filesystems
@@ -812,10 +848,7 @@ CONFIG_CRAMFS=y
812# CONFIG_QNX4FS_FS is not set 848# CONFIG_QNX4FS_FS is not set
813# CONFIG_SYSV_FS is not set 849# CONFIG_SYSV_FS is not set
814# CONFIG_UFS_FS is not set 850# CONFIG_UFS_FS is not set
815 851CONFIG_NETWORK_FILESYSTEMS=y
816#
817# Network File Systems
818#
819CONFIG_NFS_FS=y 852CONFIG_NFS_FS=y
820CONFIG_NFS_V3=y 853CONFIG_NFS_V3=y
821CONFIG_NFS_V3_ACL=y 854CONFIG_NFS_V3_ACL=y
@@ -853,10 +886,6 @@ CONFIG_MSDOS_PARTITION=y
853# CONFIG_KARMA_PARTITION is not set 886# CONFIG_KARMA_PARTITION is not set
854# CONFIG_EFI_PARTITION is not set 887# CONFIG_EFI_PARTITION is not set
855# CONFIG_SYSV68_PARTITION is not set 888# CONFIG_SYSV68_PARTITION is not set
856
857#
858# Native Language Support
859#
860CONFIG_NLS=y 889CONFIG_NLS=y
861CONFIG_NLS_DEFAULT="iso8859-1" 890CONFIG_NLS_DEFAULT="iso8859-1"
862CONFIG_NLS_CODEPAGE_437=y 891CONFIG_NLS_CODEPAGE_437=y
@@ -915,11 +944,13 @@ CONFIG_PLIST=y
915CONFIG_HAS_IOMEM=y 944CONFIG_HAS_IOMEM=y
916CONFIG_HAS_IOPORT=y 945CONFIG_HAS_IOPORT=y
917CONFIG_HAS_DMA=y 946CONFIG_HAS_DMA=y
947# CONFIG_INSTRUMENTATION is not set
918 948
919# 949#
920# Kernel hacking 950# Kernel hacking
921# 951#
922# CONFIG_PRINTK_TIME is not set 952# CONFIG_PRINTK_TIME is not set
953CONFIG_ENABLE_WARN_DEPRECATED=y
923CONFIG_ENABLE_MUST_CHECK=y 954CONFIG_ENABLE_MUST_CHECK=y
924CONFIG_MAGIC_SYSRQ=y 955CONFIG_MAGIC_SYSRQ=y
925# CONFIG_UNUSED_SYMBOLS is not set 956# CONFIG_UNUSED_SYMBOLS is not set
@@ -943,8 +974,11 @@ CONFIG_DEBUG_BUGVERBOSE=y
943CONFIG_DEBUG_INFO=y 974CONFIG_DEBUG_INFO=y
944# CONFIG_DEBUG_VM is not set 975# CONFIG_DEBUG_VM is not set
945# CONFIG_DEBUG_LIST is not set 976# CONFIG_DEBUG_LIST is not set
977# CONFIG_DEBUG_SG is not set
946CONFIG_FORCED_INLINING=y 978CONFIG_FORCED_INLINING=y
979# CONFIG_BOOT_PRINTK_DELAY is not set
947# CONFIG_FAULT_INJECTION is not set 980# CONFIG_FAULT_INJECTION is not set
981# CONFIG_SAMPLES is not set
948# CONFIG_DEBUG_STACKOVERFLOW is not set 982# CONFIG_DEBUG_STACKOVERFLOW is not set
949# CONFIG_DEBUG_STACK_USAGE is not set 983# CONFIG_DEBUG_STACK_USAGE is not set
950# CONFIG_DEBUG_PAGEALLOC is not set 984# CONFIG_DEBUG_PAGEALLOC is not set
@@ -952,16 +986,6 @@ CONFIG_FORCED_INLINING=y
952# CONFIG_KGDB_CONSOLE is not set 986# CONFIG_KGDB_CONSOLE is not set
953CONFIG_BDI_SWITCH=y 987CONFIG_BDI_SWITCH=y
954# CONFIG_PPC_EARLY_DEBUG is not set 988# CONFIG_PPC_EARLY_DEBUG is not set
955# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
956# CONFIG_PPC_EARLY_DEBUG_G5 is not set
957# CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set
958# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
959# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
960# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
961# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
962# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
963# CONFIG_PPC_EARLY_DEBUG_44x is not set
964# CONFIG_PPC_EARLY_DEBUG_CPM is not set
965 989
966# 990#
967# Security options 991# Security options
@@ -997,8 +1021,12 @@ CONFIG_CRYPTO_DES=y
997# CONFIG_CRYPTO_ARC4 is not set 1021# CONFIG_CRYPTO_ARC4 is not set
998# CONFIG_CRYPTO_KHAZAD is not set 1022# CONFIG_CRYPTO_KHAZAD is not set
999# CONFIG_CRYPTO_ANUBIS is not set 1023# CONFIG_CRYPTO_ANUBIS is not set
1024# CONFIG_CRYPTO_SEED is not set
1000# CONFIG_CRYPTO_DEFLATE is not set 1025# CONFIG_CRYPTO_DEFLATE is not set
1001# CONFIG_CRYPTO_MICHAEL_MIC is not set 1026# CONFIG_CRYPTO_MICHAEL_MIC is not set
1002# CONFIG_CRYPTO_CRC32C is not set 1027# CONFIG_CRYPTO_CRC32C is not set
1003# CONFIG_CRYPTO_CAMELLIA is not set 1028# CONFIG_CRYPTO_CAMELLIA is not set
1029# CONFIG_CRYPTO_AUTHENC is not set
1004CONFIG_CRYPTO_HW=y 1030CONFIG_CRYPTO_HW=y
1031# CONFIG_PPC_CLOCK is not set
1032CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 3e87faf9b5c2..46b2579d38b1 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.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 28 21:24:45 2007 4# Thu Dec 6 16:49:11 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18CONFIG_ALTIVEC=y
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -22,8 +23,13 @@ CONFIG_PPC_STD_MMU_32=y
22CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
23CONFIG_CHECK_CACHE_COHERENCY=y 24CONFIG_CHECK_CACHE_COHERENCY=y
24CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 27CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,9 +69,12 @@ CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
67# CONFIG_IKCONFIG is not set 74# CONFIG_IKCONFIG is not set
68CONFIG_LOG_BUF_SHIFT=14 75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set
69# CONFIG_SYSFS_DEPRECATED is not set 78# CONFIG_SYSFS_DEPRECATED is not set
70# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
71CONFIG_BLK_DEV_INITRD=y 80CONFIG_BLK_DEV_INITRD=y
@@ -85,7 +94,6 @@ CONFIG_FUTEX=y
85CONFIG_ANON_INODES=y 94CONFIG_ANON_INODES=y
86CONFIG_EPOLL=y 95CONFIG_EPOLL=y
87CONFIG_SIGNALFD=y 96CONFIG_SIGNALFD=y
88CONFIG_TIMERFD=y
89CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
90CONFIG_SHMEM=y 98CONFIG_SHMEM=y
91CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
@@ -119,16 +127,21 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
119# 127#
120# Platform support 128# Platform support
121# 129#
122# CONFIG_PPC_MULTIPLATFORM is not set 130CONFIG_PPC_MULTIPLATFORM=y
123CONFIG_EMBEDDED6xx=y
124# CONFIG_PPC_82xx is not set 131# CONFIG_PPC_82xx is not set
125# CONFIG_PPC_83xx is not set 132# CONFIG_PPC_83xx is not set
126# CONFIG_PPC_86xx is not set 133# CONFIG_PPC_86xx is not set
134CONFIG_CLASSIC32=y
135# CONFIG_PPC_CHRP is not set
127# CONFIG_PPC_MPC52xx is not set 136# CONFIG_PPC_MPC52xx is not set
128# CONFIG_PPC_MPC5200 is not set 137# CONFIG_PPC_MPC5200 is not set
138# CONFIG_PPC_EFIKA is not set
139# CONFIG_PPC_LITE5200 is not set
140# CONFIG_PPC_PMAC is not set
129# CONFIG_PPC_CELL is not set 141# CONFIG_PPC_CELL is not set
130# CONFIG_PPC_CELL_NATIVE is not set 142# CONFIG_PPC_CELL_NATIVE is not set
131# CONFIG_PQ2ADS is not set 143# CONFIG_PQ2ADS is not set
144CONFIG_EMBEDDED6xx=y
132# CONFIG_LINKSTATION is not set 145# CONFIG_LINKSTATION is not set
133# CONFIG_MPC7448HPC2 is not set 146# CONFIG_MPC7448HPC2 is not set
134# CONFIG_PPC_HOLLY is not set 147# CONFIG_PPC_HOLLY is not set
@@ -144,6 +157,7 @@ CONFIG_MV64X60=y
144# CONFIG_PPC_INDIRECT_IO is not set 157# CONFIG_PPC_INDIRECT_IO is not set
145# CONFIG_GENERIC_IOMAP is not set 158# CONFIG_GENERIC_IOMAP is not set
146# CONFIG_CPU_FREQ is not set 159# CONFIG_CPU_FREQ is not set
160# CONFIG_TAU is not set
147# CONFIG_CPM2 is not set 161# CONFIG_CPM2 is not set
148# CONFIG_FSL_ULI1575 is not set 162# CONFIG_FSL_ULI1575 is not set
149 163
@@ -151,6 +165,10 @@ CONFIG_MV64X60=y
151# Kernel options 165# Kernel options
152# 166#
153CONFIG_HIGHMEM=y 167CONFIG_HIGHMEM=y
168CONFIG_TICK_ONESHOT=y
169CONFIG_NO_HZ=y
170CONFIG_HIGH_RES_TIMERS=y
171CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
154# CONFIG_HZ_100 is not set 172# CONFIG_HZ_100 is not set
155CONFIG_HZ_250=y 173CONFIG_HZ_250=y
156# CONFIG_HZ_300 is not set 174# CONFIG_HZ_300 is not set
@@ -172,6 +190,7 @@ CONFIG_FLATMEM_MANUAL=y
172CONFIG_FLATMEM=y 190CONFIG_FLATMEM=y
173CONFIG_FLAT_NODE_MEM_MAP=y 191CONFIG_FLAT_NODE_MEM_MAP=y
174# CONFIG_SPARSEMEM_STATIC is not set 192# CONFIG_SPARSEMEM_STATIC is not set
193# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
175CONFIG_SPLIT_PTLOCK_CPUS=4 194CONFIG_SPLIT_PTLOCK_CPUS=4
176# CONFIG_RESOURCES_64BIT is not set 195# CONFIG_RESOURCES_64BIT is not set
177CONFIG_ZONE_DMA_FLAG=1 196CONFIG_ZONE_DMA_FLAG=1
@@ -180,6 +199,8 @@ CONFIG_VIRT_TO_BUS=y
180CONFIG_PROC_DEVICETREE=y 199CONFIG_PROC_DEVICETREE=y
181# CONFIG_CMDLINE_BOOL is not set 200# CONFIG_CMDLINE_BOOL is not set
182# CONFIG_PM is not set 201# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
183# CONFIG_SECCOMP is not set 204# CONFIG_SECCOMP is not set
184CONFIG_WANT_DEVICE_TREE=y 205CONFIG_WANT_DEVICE_TREE=y
185CONFIG_DEVICE_TREE="prpmc2800.dts" 206CONFIG_DEVICE_TREE="prpmc2800.dts"
@@ -197,10 +218,7 @@ CONFIG_PCI_SYSCALL=y
197# CONFIG_PCIEPORTBUS is not set 218# CONFIG_PCIEPORTBUS is not set
198CONFIG_ARCH_SUPPORTS_MSI=y 219CONFIG_ARCH_SUPPORTS_MSI=y
199# CONFIG_PCI_MSI is not set 220# CONFIG_PCI_MSI is not set
200 221CONFIG_PCI_LEGACY=y
201#
202# PCCARD (PCMCIA/CardBus) support
203#
204# CONFIG_PCCARD is not set 222# CONFIG_PCCARD is not set
205# CONFIG_HOTPLUG_PCI is not set 223# CONFIG_HOTPLUG_PCI is not set
206 224
@@ -215,7 +233,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
215CONFIG_HIGHMEM_START=0xfe000000 233CONFIG_HIGHMEM_START=0xfe000000
216CONFIG_LOWMEM_SIZE=0x30000000 234CONFIG_LOWMEM_SIZE=0x30000000
217CONFIG_KERNEL_START=0xc0000000 235CONFIG_KERNEL_START=0xc0000000
218CONFIG_TASK_SIZE=0x80000000 236CONFIG_TASK_SIZE=0xc0000000
219CONFIG_CONSISTENT_START=0xff100000 237CONFIG_CONSISTENT_START=0xff100000
220CONFIG_CONSISTENT_SIZE=0x00200000 238CONFIG_CONSISTENT_SIZE=0x00200000
221CONFIG_BOOT_LOAD=0x00800000 239CONFIG_BOOT_LOAD=0x00800000
@@ -257,6 +275,7 @@ CONFIG_SYN_COOKIES=y
257CONFIG_INET_XFRM_MODE_TRANSPORT=y 275CONFIG_INET_XFRM_MODE_TRANSPORT=y
258CONFIG_INET_XFRM_MODE_TUNNEL=y 276CONFIG_INET_XFRM_MODE_TUNNEL=y
259CONFIG_INET_XFRM_MODE_BEET=y 277CONFIG_INET_XFRM_MODE_BEET=y
278# CONFIG_INET_LRO is not set
260CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -282,10 +301,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
282# CONFIG_LAPB is not set 301# CONFIG_LAPB is not set
283# CONFIG_ECONET is not set 302# CONFIG_ECONET is not set
284# CONFIG_WAN_ROUTER is not set 303# CONFIG_WAN_ROUTER is not set
285
286#
287# QoS and/or fair queueing
288#
289# CONFIG_NET_SCHED is not set 304# CONFIG_NET_SCHED is not set
290 305
291# 306#
@@ -314,6 +329,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
314# 329#
315# Generic Driver Options 330# Generic Driver Options
316# 331#
332CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
317CONFIG_STANDALONE=y 333CONFIG_STANDALONE=y
318CONFIG_PREVENT_FIRMWARE_BUILD=y 334CONFIG_PREVENT_FIRMWARE_BUILD=y
319# CONFIG_FW_LOADER is not set 335# CONFIG_FW_LOADER is not set
@@ -337,6 +353,7 @@ CONFIG_MTD_BLOCK=y
337# CONFIG_INFTL is not set 353# CONFIG_INFTL is not set
338# CONFIG_RFD_FTL is not set 354# CONFIG_RFD_FTL is not set
339# CONFIG_SSFDC is not set 355# CONFIG_SSFDC is not set
356# CONFIG_MTD_OOPS is not set
340 357
341# 358#
342# RAM/ROM/Flash chip drivers 359# RAM/ROM/Flash chip drivers
@@ -369,6 +386,7 @@ CONFIG_MTD_CFI_UTIL=y
369# CONFIG_MTD_COMPLEX_MAPPINGS is not set 386# CONFIG_MTD_COMPLEX_MAPPINGS is not set
370# CONFIG_MTD_PHYSMAP is not set 387# CONFIG_MTD_PHYSMAP is not set
371CONFIG_MTD_PHYSMAP_OF=y 388CONFIG_MTD_PHYSMAP_OF=y
389# CONFIG_MTD_INTEL_VR_NOR is not set
372# CONFIG_MTD_PLATRAM is not set 390# CONFIG_MTD_PLATRAM is not set
373 391
374# 392#
@@ -438,6 +456,11 @@ CONFIG_IDE_PROC_FS=y
438# IDE chipset support/bugfixes 456# IDE chipset support/bugfixes
439# 457#
440CONFIG_IDE_GENERIC=y 458CONFIG_IDE_GENERIC=y
459# CONFIG_BLK_DEV_PLATFORM is not set
460
461#
462# PCI IDE chipsets support
463#
441CONFIG_BLK_DEV_IDEPCI=y 464CONFIG_BLK_DEV_IDEPCI=y
442# CONFIG_IDEPCI_SHARE_IRQ is not set 465# CONFIG_IDEPCI_SHARE_IRQ is not set
443CONFIG_IDEPCI_PCIBUS_ORDER=y 466CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -445,8 +468,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
445CONFIG_BLK_DEV_GENERIC=y 468CONFIG_BLK_DEV_GENERIC=y
446# CONFIG_BLK_DEV_OPTI621 is not set 469# CONFIG_BLK_DEV_OPTI621 is not set
447CONFIG_BLK_DEV_IDEDMA_PCI=y 470CONFIG_BLK_DEV_IDEDMA_PCI=y
448# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
449# CONFIG_IDEDMA_ONLYDISK is not set
450# CONFIG_BLK_DEV_AEC62XX is not set 471# CONFIG_BLK_DEV_AEC62XX is not set
451# CONFIG_BLK_DEV_ALI15X3 is not set 472# CONFIG_BLK_DEV_ALI15X3 is not set
452# CONFIG_BLK_DEV_AMD74XX is not set 473# CONFIG_BLK_DEV_AMD74XX is not set
@@ -474,7 +495,7 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
474# CONFIG_BLK_DEV_TC86C001 is not set 495# CONFIG_BLK_DEV_TC86C001 is not set
475# CONFIG_IDE_ARM is not set 496# CONFIG_IDE_ARM is not set
476CONFIG_BLK_DEV_IDEDMA=y 497CONFIG_BLK_DEV_IDEDMA=y
477# CONFIG_IDEDMA_IVB is not set 498CONFIG_IDE_ARCH_OBSOLETE_INIT=y
478# CONFIG_BLK_DEV_HD is not set 499# CONFIG_BLK_DEV_HD is not set
479 500
480# 501#
@@ -512,6 +533,7 @@ CONFIG_BLK_DEV_SD=y
512# CONFIG_SCSI_FC_ATTRS is not set 533# CONFIG_SCSI_FC_ATTRS is not set
513# CONFIG_SCSI_ISCSI_ATTRS is not set 534# CONFIG_SCSI_ISCSI_ATTRS is not set
514# CONFIG_SCSI_SAS_LIBSAS is not set 535# CONFIG_SCSI_SAS_LIBSAS is not set
536# CONFIG_SCSI_SRP_ATTRS is not set
515CONFIG_SCSI_LOWLEVEL=y 537CONFIG_SCSI_LOWLEVEL=y
516# CONFIG_ISCSI_TCP is not set 538# CONFIG_ISCSI_TCP is not set
517# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 539# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -523,6 +545,7 @@ CONFIG_SCSI_LOWLEVEL=y
523# CONFIG_SCSI_AIC79XX is not set 545# CONFIG_SCSI_AIC79XX is not set
524# CONFIG_SCSI_AIC94XX is not set 546# CONFIG_SCSI_AIC94XX is not set
525# CONFIG_SCSI_DPT_I2O is not set 547# CONFIG_SCSI_DPT_I2O is not set
548# CONFIG_SCSI_ADVANSYS is not set
526# CONFIG_SCSI_ARCMSR is not set 549# CONFIG_SCSI_ARCMSR is not set
527# CONFIG_MEGARAID_NEWGEN is not set 550# CONFIG_MEGARAID_NEWGEN is not set
528# CONFIG_MEGARAID_LEGACY is not set 551# CONFIG_MEGARAID_LEGACY is not set
@@ -590,6 +613,7 @@ CONFIG_SATA_MV=y
590# CONFIG_PATA_OLDPIIX is not set 613# CONFIG_PATA_OLDPIIX is not set
591# CONFIG_PATA_NETCELL is not set 614# CONFIG_PATA_NETCELL is not set
592# CONFIG_PATA_NS87410 is not set 615# CONFIG_PATA_NS87410 is not set
616# CONFIG_PATA_NS87415 is not set
593# CONFIG_PATA_OPTI is not set 617# CONFIG_PATA_OPTI is not set
594# CONFIG_PATA_OPTIDMA is not set 618# CONFIG_PATA_OPTIDMA is not set
595# CONFIG_PATA_PDC_OLD is not set 619# CONFIG_PATA_PDC_OLD is not set
@@ -603,14 +627,7 @@ CONFIG_SATA_MV=y
603# CONFIG_PATA_VIA is not set 627# CONFIG_PATA_VIA is not set
604# CONFIG_PATA_WINBOND is not set 628# CONFIG_PATA_WINBOND is not set
605# CONFIG_MD is not set 629# CONFIG_MD is not set
606
607#
608# Fusion MPT device support
609#
610# CONFIG_FUSION is not set 630# CONFIG_FUSION is not set
611# CONFIG_FUSION_SPI is not set
612# CONFIG_FUSION_FC is not set
613# CONFIG_FUSION_SAS is not set
614 631
615# 632#
616# IEEE 1394 (FireWire) support 633# IEEE 1394 (FireWire) support
@@ -628,6 +645,8 @@ CONFIG_NETDEVICES=y
628# CONFIG_MACVLAN is not set 645# CONFIG_MACVLAN is not set
629# CONFIG_EQUALIZER is not set 646# CONFIG_EQUALIZER is not set
630# CONFIG_TUN is not set 647# CONFIG_TUN is not set
648# CONFIG_VETH is not set
649# CONFIG_IP1000 is not set
631# CONFIG_ARCNET is not set 650# CONFIG_ARCNET is not set
632CONFIG_PHYLIB=y 651CONFIG_PHYLIB=y
633 652
@@ -644,6 +663,7 @@ CONFIG_PHYLIB=y
644# CONFIG_BROADCOM_PHY is not set 663# CONFIG_BROADCOM_PHY is not set
645# CONFIG_ICPLUS_PHY is not set 664# CONFIG_ICPLUS_PHY is not set
646# CONFIG_FIXED_PHY is not set 665# CONFIG_FIXED_PHY is not set
666# CONFIG_MDIO_BITBANG is not set
647CONFIG_NET_ETHERNET=y 667CONFIG_NET_ETHERNET=y
648CONFIG_MII=y 668CONFIG_MII=y
649# CONFIG_HAPPYMEAL is not set 669# CONFIG_HAPPYMEAL is not set
@@ -652,13 +672,16 @@ CONFIG_MII=y
652# CONFIG_NET_VENDOR_3COM is not set 672# CONFIG_NET_VENDOR_3COM is not set
653# CONFIG_NET_TULIP is not set 673# CONFIG_NET_TULIP is not set
654# CONFIG_HP100 is not set 674# CONFIG_HP100 is not set
675# CONFIG_IBM_NEW_EMAC_ZMII is not set
676# CONFIG_IBM_NEW_EMAC_RGMII is not set
677# CONFIG_IBM_NEW_EMAC_TAH is not set
678# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
655CONFIG_NET_PCI=y 679CONFIG_NET_PCI=y
656# CONFIG_PCNET32 is not set 680# CONFIG_PCNET32 is not set
657# CONFIG_AMD8111_ETH is not set 681# CONFIG_AMD8111_ETH is not set
658# CONFIG_ADAPTEC_STARFIRE is not set 682# CONFIG_ADAPTEC_STARFIRE is not set
659# CONFIG_B44 is not set 683# CONFIG_B44 is not set
660# CONFIG_FORCEDETH is not set 684# CONFIG_FORCEDETH is not set
661# CONFIG_DGRS is not set
662# CONFIG_EEPRO100 is not set 685# CONFIG_EEPRO100 is not set
663CONFIG_E100=y 686CONFIG_E100=y
664# CONFIG_FEALNX is not set 687# CONFIG_FEALNX is not set
@@ -682,6 +705,7 @@ CONFIG_NETDEV_1000=y
682CONFIG_E1000=y 705CONFIG_E1000=y
683# CONFIG_E1000_NAPI is not set 706# CONFIG_E1000_NAPI is not set
684# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 707# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
708# CONFIG_E1000E is not set
685# CONFIG_NS83820 is not set 709# CONFIG_NS83820 is not set
686# CONFIG_HAMACHI is not set 710# CONFIG_HAMACHI is not set
687# CONFIG_YELLOWFIN is not set 711# CONFIG_YELLOWFIN is not set
@@ -689,6 +713,7 @@ CONFIG_E1000=y
689# CONFIG_SIS190 is not set 713# CONFIG_SIS190 is not set
690# CONFIG_SKGE is not set 714# CONFIG_SKGE is not set
691# CONFIG_SKY2 is not set 715# CONFIG_SKY2 is not set
716# CONFIG_SK98LIN is not set
692# CONFIG_VIA_VELOCITY is not set 717# CONFIG_VIA_VELOCITY is not set
693# CONFIG_TIGON3 is not set 718# CONFIG_TIGON3 is not set
694# CONFIG_BNX2 is not set 719# CONFIG_BNX2 is not set
@@ -698,11 +723,14 @@ CONFIG_MV643XX_ETH=y
698CONFIG_NETDEV_10000=y 723CONFIG_NETDEV_10000=y
699# CONFIG_CHELSIO_T1 is not set 724# CONFIG_CHELSIO_T1 is not set
700# CONFIG_CHELSIO_T3 is not set 725# CONFIG_CHELSIO_T3 is not set
726# CONFIG_IXGBE is not set
701# CONFIG_IXGB is not set 727# CONFIG_IXGB is not set
702# CONFIG_S2IO is not set 728# CONFIG_S2IO is not set
703# CONFIG_MYRI10GE is not set 729# CONFIG_MYRI10GE is not set
704# CONFIG_NETXEN_NIC is not set 730# CONFIG_NETXEN_NIC is not set
731# CONFIG_NIU is not set
705# CONFIG_MLX4_CORE is not set 732# CONFIG_MLX4_CORE is not set
733# CONFIG_TEHUTI is not set
706# CONFIG_TR is not set 734# CONFIG_TR is not set
707 735
708# 736#
@@ -718,7 +746,6 @@ CONFIG_NETDEV_10000=y
718# CONFIG_USB_KAWETH is not set 746# CONFIG_USB_KAWETH is not set
719# CONFIG_USB_PEGASUS is not set 747# CONFIG_USB_PEGASUS is not set
720# CONFIG_USB_RTL8150 is not set 748# CONFIG_USB_RTL8150 is not set
721# CONFIG_USB_USBNET_MII is not set
722# CONFIG_USB_USBNET is not set 749# CONFIG_USB_USBNET is not set
723# CONFIG_WAN is not set 750# CONFIG_WAN is not set
724# CONFIG_FDDI is not set 751# CONFIG_FDDI is not set
@@ -748,7 +775,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
748CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 775CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
749CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 776CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
750# CONFIG_INPUT_JOYDEV is not set 777# CONFIG_INPUT_JOYDEV is not set
751# CONFIG_INPUT_TSDEV is not set
752# CONFIG_INPUT_EVDEV is not set 778# CONFIG_INPUT_EVDEV is not set
753# CONFIG_INPUT_EVBUG is not set 779# CONFIG_INPUT_EVBUG is not set
754 780
@@ -795,15 +821,12 @@ CONFIG_UNIX98_PTYS=y
795CONFIG_LEGACY_PTYS=y 821CONFIG_LEGACY_PTYS=y
796CONFIG_LEGACY_PTY_COUNT=256 822CONFIG_LEGACY_PTY_COUNT=256
797# CONFIG_IPMI_HANDLER is not set 823# CONFIG_IPMI_HANDLER is not set
798# CONFIG_WATCHDOG is not set
799# CONFIG_HW_RANDOM is not set 824# CONFIG_HW_RANDOM is not set
800# CONFIG_NVRAM is not set 825# CONFIG_NVRAM is not set
801CONFIG_GEN_RTC=y 826CONFIG_GEN_RTC=y
802# CONFIG_GEN_RTC_X is not set 827# CONFIG_GEN_RTC_X is not set
803# CONFIG_R3964 is not set 828# CONFIG_R3964 is not set
804# CONFIG_APPLICOM is not set 829# CONFIG_APPLICOM is not set
805# CONFIG_AGP is not set
806# CONFIG_DRM is not set
807# CONFIG_RAW_DRIVER is not set 830# CONFIG_RAW_DRIVER is not set
808# CONFIG_TCG_TPM is not set 831# CONFIG_TCG_TPM is not set
809CONFIG_DEVPORT=y 832CONFIG_DEVPORT=y
@@ -873,8 +896,6 @@ CONFIG_I2C_MV64XXX=y
873# CONFIG_POWER_SUPPLY is not set 896# CONFIG_POWER_SUPPLY is not set
874CONFIG_HWMON=y 897CONFIG_HWMON=y
875# CONFIG_HWMON_VID is not set 898# CONFIG_HWMON_VID is not set
876# CONFIG_SENSORS_ABITUGURU is not set
877# CONFIG_SENSORS_ABITUGURU3 is not set
878# CONFIG_SENSORS_AD7418 is not set 899# CONFIG_SENSORS_AD7418 is not set
879# CONFIG_SENSORS_ADM1021 is not set 900# CONFIG_SENSORS_ADM1021 is not set
880# CONFIG_SENSORS_ADM1025 is not set 901# CONFIG_SENSORS_ADM1025 is not set
@@ -882,12 +903,13 @@ CONFIG_HWMON=y
882# CONFIG_SENSORS_ADM1029 is not set 903# CONFIG_SENSORS_ADM1029 is not set
883# CONFIG_SENSORS_ADM1031 is not set 904# CONFIG_SENSORS_ADM1031 is not set
884# CONFIG_SENSORS_ADM9240 is not set 905# CONFIG_SENSORS_ADM9240 is not set
885# CONFIG_SENSORS_ASB100 is not set 906# CONFIG_SENSORS_ADT7470 is not set
886# CONFIG_SENSORS_ATXP1 is not set 907# CONFIG_SENSORS_ATXP1 is not set
887# CONFIG_SENSORS_DS1621 is not set 908# CONFIG_SENSORS_DS1621 is not set
909# CONFIG_SENSORS_I5K_AMB is not set
888# CONFIG_SENSORS_F71805F is not set 910# CONFIG_SENSORS_F71805F is not set
889# CONFIG_SENSORS_FSCHER is not set 911# CONFIG_SENSORS_F71882FG is not set
890# CONFIG_SENSORS_FSCPOS is not set 912# CONFIG_SENSORS_F75375S is not set
891# CONFIG_SENSORS_GL518SM is not set 913# CONFIG_SENSORS_GL518SM is not set
892# CONFIG_SENSORS_GL520SM is not set 914# CONFIG_SENSORS_GL520SM is not set
893# CONFIG_SENSORS_IT87 is not set 915# CONFIG_SENSORS_IT87 is not set
@@ -923,6 +945,13 @@ CONFIG_HWMON=y
923# CONFIG_SENSORS_W83627HF is not set 945# CONFIG_SENSORS_W83627HF is not set
924# CONFIG_SENSORS_W83627EHF is not set 946# CONFIG_SENSORS_W83627EHF is not set
925# CONFIG_HWMON_DEBUG_CHIP is not set 947# CONFIG_HWMON_DEBUG_CHIP is not set
948# CONFIG_WATCHDOG is not set
949
950#
951# Sonics Silicon Backplane
952#
953CONFIG_SSB_POSSIBLE=y
954# CONFIG_SSB is not set
926 955
927# 956#
928# Multifunction device drivers 957# Multifunction device drivers
@@ -939,16 +968,17 @@ CONFIG_HWMON=y
939# 968#
940# Graphics support 969# Graphics support
941# 970#
971# CONFIG_AGP is not set
972# CONFIG_DRM is not set
973# CONFIG_VGASTATE is not set
974CONFIG_VIDEO_OUTPUT_CONTROL=y
975# CONFIG_FB is not set
942# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 976# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
943 977
944# 978#
945# Display device support 979# Display device support
946# 980#
947# CONFIG_DISPLAY_SUPPORT is not set 981# CONFIG_DISPLAY_SUPPORT is not set
948# CONFIG_VGASTATE is not set
949CONFIG_VIDEO_OUTPUT_CONTROL=y
950# CONFIG_FB is not set
951# CONFIG_FB_IBM_GXT4500 is not set
952 982
953# 983#
954# Console display driver support 984# Console display driver support
@@ -964,6 +994,7 @@ CONFIG_DUMMY_CONSOLE=y
964CONFIG_HID_SUPPORT=y 994CONFIG_HID_SUPPORT=y
965CONFIG_HID=y 995CONFIG_HID=y
966# CONFIG_HID_DEBUG is not set 996# CONFIG_HID_DEBUG is not set
997# CONFIG_HIDRAW is not set
967 998
968# 999#
969# USB Input Devices 1000# USB Input Devices
@@ -1091,6 +1122,7 @@ CONFIG_RTC_INTF_DEV=y
1091# I2C RTC drivers 1122# I2C RTC drivers
1092# 1123#
1093# CONFIG_RTC_DRV_DS1307 is not set 1124# CONFIG_RTC_DRV_DS1307 is not set
1125# CONFIG_RTC_DRV_DS1374 is not set
1094# CONFIG_RTC_DRV_DS1672 is not set 1126# CONFIG_RTC_DRV_DS1672 is not set
1095CONFIG_RTC_DRV_MAX6900=y 1127CONFIG_RTC_DRV_MAX6900=y
1096# CONFIG_RTC_DRV_RS5C372 is not set 1128# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1120,19 +1152,6 @@ CONFIG_RTC_DRV_MAX6900=y
1120# 1152#
1121 1153
1122# 1154#
1123# DMA Engine support
1124#
1125# CONFIG_DMA_ENGINE is not set
1126
1127#
1128# DMA Clients
1129#
1130
1131#
1132# DMA Devices
1133#
1134
1135#
1136# Userspace I/O 1155# Userspace I/O
1137# 1156#
1138# CONFIG_UIO is not set 1157# CONFIG_UIO is not set
@@ -1149,7 +1168,6 @@ CONFIG_EXT3_FS_XATTR=y
1149# CONFIG_EXT3_FS_SECURITY is not set 1168# CONFIG_EXT3_FS_SECURITY is not set
1150# CONFIG_EXT4DEV_FS is not set 1169# CONFIG_EXT4DEV_FS is not set
1151CONFIG_JBD=y 1170CONFIG_JBD=y
1152# CONFIG_JBD_DEBUG is not set
1153CONFIG_FS_MBCACHE=y 1171CONFIG_FS_MBCACHE=y
1154# CONFIG_REISERFS_FS is not set 1172# CONFIG_REISERFS_FS is not set
1155# CONFIG_JFS_FS is not set 1173# CONFIG_JFS_FS is not set
@@ -1190,7 +1208,6 @@ CONFIG_SYSFS=y
1190CONFIG_TMPFS=y 1208CONFIG_TMPFS=y
1191# CONFIG_TMPFS_POSIX_ACL is not set 1209# CONFIG_TMPFS_POSIX_ACL is not set
1192# CONFIG_HUGETLB_PAGE is not set 1210# CONFIG_HUGETLB_PAGE is not set
1193CONFIG_RAMFS=y
1194# CONFIG_CONFIGFS_FS is not set 1211# CONFIG_CONFIGFS_FS is not set
1195 1212
1196# 1213#
@@ -1210,10 +1227,7 @@ CONFIG_RAMFS=y
1210# CONFIG_QNX4FS_FS is not set 1227# CONFIG_QNX4FS_FS is not set
1211# CONFIG_SYSV_FS is not set 1228# CONFIG_SYSV_FS is not set
1212# CONFIG_UFS_FS is not set 1229# CONFIG_UFS_FS is not set
1213 1230CONFIG_NETWORK_FILESYSTEMS=y
1214#
1215# Network File Systems
1216#
1217CONFIG_NFS_FS=y 1231CONFIG_NFS_FS=y
1218# CONFIG_NFS_V3 is not set 1232# CONFIG_NFS_V3 is not set
1219# CONFIG_NFS_V4 is not set 1233# CONFIG_NFS_V4 is not set
@@ -1253,15 +1267,7 @@ CONFIG_MSDOS_PARTITION=y
1253# CONFIG_KARMA_PARTITION is not set 1267# CONFIG_KARMA_PARTITION is not set
1254# CONFIG_EFI_PARTITION is not set 1268# CONFIG_EFI_PARTITION is not set
1255# CONFIG_SYSV68_PARTITION is not set 1269# CONFIG_SYSV68_PARTITION is not set
1256
1257#
1258# Native Language Support
1259#
1260# CONFIG_NLS is not set 1270# CONFIG_NLS is not set
1261
1262#
1263# Distributed Lock Manager
1264#
1265# CONFIG_DLM is not set 1271# CONFIG_DLM is not set
1266# CONFIG_UCC_SLOW is not set 1272# CONFIG_UCC_SLOW is not set
1267 1273
@@ -1279,23 +1285,23 @@ CONFIG_PLIST=y
1279CONFIG_HAS_IOMEM=y 1285CONFIG_HAS_IOMEM=y
1280CONFIG_HAS_IOPORT=y 1286CONFIG_HAS_IOPORT=y
1281CONFIG_HAS_DMA=y 1287CONFIG_HAS_DMA=y
1282 1288# CONFIG_INSTRUMENTATION is not set
1283#
1284# Instrumentation Support
1285#
1286# CONFIG_PROFILING is not set
1287 1289
1288# 1290#
1289# Kernel hacking 1291# Kernel hacking
1290# 1292#
1291# CONFIG_PRINTK_TIME is not set 1293# CONFIG_PRINTK_TIME is not set
1294CONFIG_ENABLE_WARN_DEPRECATED=y
1292CONFIG_ENABLE_MUST_CHECK=y 1295CONFIG_ENABLE_MUST_CHECK=y
1293# CONFIG_MAGIC_SYSRQ is not set 1296# CONFIG_MAGIC_SYSRQ is not set
1294# CONFIG_UNUSED_SYMBOLS is not set 1297# CONFIG_UNUSED_SYMBOLS is not set
1295# CONFIG_DEBUG_FS is not set 1298# CONFIG_DEBUG_FS is not set
1296# CONFIG_HEADERS_CHECK is not set 1299# CONFIG_HEADERS_CHECK is not set
1297# CONFIG_DEBUG_KERNEL is not set 1300# CONFIG_DEBUG_KERNEL is not set
1301# CONFIG_SLUB_DEBUG_ON is not set
1298CONFIG_DEBUG_BUGVERBOSE=y 1302CONFIG_DEBUG_BUGVERBOSE=y
1303# CONFIG_SAMPLES is not set
1304# CONFIG_BOOTX_TEXT is not set
1299# CONFIG_PPC_EARLY_DEBUG is not set 1305# CONFIG_PPC_EARLY_DEBUG is not set
1300 1306
1301# 1307#
@@ -1303,4 +1309,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
1303# 1309#
1304# CONFIG_KEYS is not set 1310# CONFIG_KEYS is not set
1305# CONFIG_SECURITY is not set 1311# CONFIG_SECURITY is not set
1312# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1306# CONFIG_CRYPTO is not set 1313# CONFIG_CRYPTO is not set
1314# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index 3566c448bdc0..5bd547ecd60a 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc2 3# Linux kernel version: 2.6.24-rc4
4# Tue Aug 7 19:17:26 2007 4# Tue Dec 4 22:49:57 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14CONFIG_TUNE_CELL=y
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=2 21CONFIG_NR_CPUS=2
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -59,14 +65,18 @@ CONFIG_LOCALVERSION_AUTO=y
59CONFIG_SWAP=y 65CONFIG_SWAP=y
60CONFIG_SYSVIPC=y 66CONFIG_SYSVIPC=y
61CONFIG_SYSVIPC_SYSCTL=y 67CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_POSIX_MQUEUE is not set 68CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
66# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
67# CONFIG_IKCONFIG is not set 74# CONFIG_IKCONFIG is not set
68CONFIG_LOG_BUF_SHIFT=17 75CONFIG_LOG_BUF_SHIFT=17
69# CONFIG_CPUSETS is not set 76# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_FAIR_USER_SCHED=y
79# CONFIG_FAIR_CGROUP_SCHED is not set
70CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
72CONFIG_BLK_DEV_INITRD=y 82CONFIG_BLK_DEV_INITRD=y
@@ -87,13 +97,11 @@ CONFIG_FUTEX=y
87CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 98CONFIG_EPOLL=y
89CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
90CONFIG_TIMERFD=y
91CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
92CONFIG_SHMEM=y 101CONFIG_SHMEM=y
93CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
94CONFIG_SLUB_DEBUG=y 103CONFIG_SLAB=y
95# CONFIG_SLAB is not set 104# CONFIG_SLUB is not set
96CONFIG_SLUB=y
97# CONFIG_SLOB is not set 105# CONFIG_SLOB is not set
98CONFIG_RT_MUTEXES=y 106CONFIG_RT_MUTEXES=y
99# CONFIG_TINY_SHMEM is not set 107# CONFIG_TINY_SHMEM is not set
@@ -108,6 +116,7 @@ CONFIG_STOP_MACHINE=y
108CONFIG_BLOCK=y 116CONFIG_BLOCK=y
109# CONFIG_BLK_DEV_IO_TRACE is not set 117# CONFIG_BLK_DEV_IO_TRACE is not set
110CONFIG_BLK_DEV_BSG=y 118CONFIG_BLK_DEV_BSG=y
119CONFIG_BLOCK_COMPAT=y
111 120
112# 121#
113# IO Schedulers 122# IO Schedulers
@@ -126,7 +135,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
126# Platform support 135# Platform support
127# 136#
128CONFIG_PPC_MULTIPLATFORM=y 137CONFIG_PPC_MULTIPLATFORM=y
129# CONFIG_EMBEDDED6xx is not set
130# CONFIG_PPC_82xx is not set 138# CONFIG_PPC_82xx is not set
131# CONFIG_PPC_83xx is not set 139# CONFIG_PPC_83xx is not set
132# CONFIG_PPC_86xx is not set 140# CONFIG_PPC_86xx is not set
@@ -176,10 +184,15 @@ CONFIG_SPU_BASE=y
176# CONFIG_GENERIC_IOMAP is not set 184# CONFIG_GENERIC_IOMAP is not set
177# CONFIG_CPU_FREQ is not set 185# CONFIG_CPU_FREQ is not set
178# CONFIG_CPM2 is not set 186# CONFIG_CPM2 is not set
187# CONFIG_FSL_ULI1575 is not set
179 188
180# 189#
181# Kernel options 190# Kernel options
182# 191#
192# CONFIG_TICK_ONESHOT is not set
193# CONFIG_NO_HZ is not set
194# CONFIG_HIGH_RES_TIMERS is not set
195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
183# CONFIG_HZ_100 is not set 196# CONFIG_HZ_100 is not set
184CONFIG_HZ_250=y 197CONFIG_HZ_250=y
185# CONFIG_HZ_300 is not set 198# CONFIG_HZ_300 is not set
@@ -211,6 +224,8 @@ CONFIG_SPARSEMEM=y
211CONFIG_HAVE_MEMORY_PRESENT=y 224CONFIG_HAVE_MEMORY_PRESENT=y
212# CONFIG_SPARSEMEM_STATIC is not set 225# CONFIG_SPARSEMEM_STATIC is not set
213CONFIG_SPARSEMEM_EXTREME=y 226CONFIG_SPARSEMEM_EXTREME=y
227CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
228CONFIG_SPARSEMEM_VMEMMAP=y
214CONFIG_MEMORY_HOTPLUG=y 229CONFIG_MEMORY_HOTPLUG=y
215CONFIG_MEMORY_HOTPLUG_SPARSE=y 230CONFIG_MEMORY_HOTPLUG_SPARSE=y
216CONFIG_SPLIT_PTLOCK_CPUS=4 231CONFIG_SPLIT_PTLOCK_CPUS=4
@@ -237,10 +252,6 @@ CONFIG_GENERIC_ISA_DMA=y
237# CONFIG_PCI_DOMAINS is not set 252# CONFIG_PCI_DOMAINS is not set
238# CONFIG_PCI_SYSCALL is not set 253# CONFIG_PCI_SYSCALL is not set
239# CONFIG_ARCH_SUPPORTS_MSI is not set 254# CONFIG_ARCH_SUPPORTS_MSI is not set
240
241#
242# PCCARD (PCMCIA/CardBus) support
243#
244# CONFIG_PCCARD is not set 255# CONFIG_PCCARD is not set
245CONFIG_KERNEL_START=0xc000000000000000 256CONFIG_KERNEL_START=0xc000000000000000
246 257
@@ -280,6 +291,7 @@ CONFIG_INET_TUNNEL=y
280# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 291# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
281# CONFIG_INET_XFRM_MODE_TUNNEL is not set 292# CONFIG_INET_XFRM_MODE_TUNNEL is not set
282# CONFIG_INET_XFRM_MODE_BEET is not set 293# CONFIG_INET_XFRM_MODE_BEET is not set
294# CONFIG_INET_LRO is not set
283# CONFIG_INET_DIAG is not set 295# CONFIG_INET_DIAG is not set
284# CONFIG_TCP_CONG_ADVANCED is not set 296# CONFIG_TCP_CONG_ADVANCED is not set
285CONFIG_TCP_CONG_CUBIC=y 297CONFIG_TCP_CONG_CUBIC=y
@@ -318,10 +330,6 @@ CONFIG_IPV6_SIT=y
318# CONFIG_LAPB is not set 330# CONFIG_LAPB is not set
319# CONFIG_ECONET is not set 331# CONFIG_ECONET is not set
320# CONFIG_WAN_ROUTER is not set 332# CONFIG_WAN_ROUTER is not set
321
322#
323# QoS and/or fair queueing
324#
325# CONFIG_NET_SCHED is not set 333# CONFIG_NET_SCHED is not set
326 334
327# 335#
@@ -330,26 +338,7 @@ CONFIG_IPV6_SIT=y
330# CONFIG_NET_PKTGEN is not set 338# CONFIG_NET_PKTGEN is not set
331# CONFIG_HAMRADIO is not set 339# CONFIG_HAMRADIO is not set
332# CONFIG_IRDA is not set 340# CONFIG_IRDA is not set
333CONFIG_BT=m 341# CONFIG_BT is not set
334CONFIG_BT_L2CAP=m
335CONFIG_BT_SCO=m
336CONFIG_BT_RFCOMM=m
337CONFIG_BT_RFCOMM_TTY=y
338# CONFIG_BT_BNEP is not set
339CONFIG_BT_HIDP=m
340
341#
342# Bluetooth device drivers
343#
344CONFIG_BT_HCIUSB=m
345CONFIG_BT_HCIUSB_SCO=y
346CONFIG_BT_HCIUART=m
347CONFIG_BT_HCIUART_H4=y
348CONFIG_BT_HCIUART_BCSP=y
349# CONFIG_BT_HCIBCM203X is not set
350# CONFIG_BT_HCIBPA10X is not set
351# CONFIG_BT_HCIBFUSB is not set
352# CONFIG_BT_HCIVHCI is not set
353# CONFIG_AF_RXRPC is not set 342# CONFIG_AF_RXRPC is not set
354 343
355# 344#
@@ -358,7 +347,13 @@ CONFIG_BT_HCIUART_BCSP=y
358# CONFIG_CFG80211 is not set 347# CONFIG_CFG80211 is not set
359CONFIG_WIRELESS_EXT=y 348CONFIG_WIRELESS_EXT=y
360# CONFIG_MAC80211 is not set 349# CONFIG_MAC80211 is not set
361# CONFIG_IEEE80211 is not set 350CONFIG_IEEE80211=m
351# CONFIG_IEEE80211_DEBUG is not set
352CONFIG_IEEE80211_CRYPT_WEP=m
353CONFIG_IEEE80211_CRYPT_CCMP=m
354CONFIG_IEEE80211_CRYPT_TKIP=m
355CONFIG_IEEE80211_SOFTMAC=m
356# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
362# CONFIG_RFKILL is not set 357# CONFIG_RFKILL is not set
363# CONFIG_NET_9P is not set 358# CONFIG_NET_9P is not set
364 359
@@ -369,9 +364,10 @@ CONFIG_WIRELESS_EXT=y
369# 364#
370# Generic Driver Options 365# Generic Driver Options
371# 366#
367CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
372CONFIG_STANDALONE=y 368CONFIG_STANDALONE=y
373CONFIG_PREVENT_FIRMWARE_BUILD=y 369CONFIG_PREVENT_FIRMWARE_BUILD=y
374# CONFIG_FW_LOADER is not set 370CONFIG_FW_LOADER=m
375# CONFIG_DEBUG_DRIVER is not set 371# CONFIG_DEBUG_DRIVER is not set
376# CONFIG_DEBUG_DEVRES is not set 372# CONFIG_DEBUG_DEVRES is not set
377# CONFIG_SYS_HYPERVISOR is not set 373# CONFIG_SYS_HYPERVISOR is not set
@@ -434,6 +430,7 @@ CONFIG_SCSI_WAIT_SCAN=m
434# CONFIG_SCSI_ISCSI_ATTRS is not set 430# CONFIG_SCSI_ISCSI_ATTRS is not set
435# CONFIG_SCSI_SAS_ATTRS is not set 431# CONFIG_SCSI_SAS_ATTRS is not set
436# CONFIG_SCSI_SAS_LIBSAS is not set 432# CONFIG_SCSI_SAS_LIBSAS is not set
433# CONFIG_SCSI_SRP_ATTRS is not set
437# CONFIG_SCSI_LOWLEVEL is not set 434# CONFIG_SCSI_LOWLEVEL is not set
438# CONFIG_ATA is not set 435# CONFIG_ATA is not set
439# CONFIG_MD is not set 436# CONFIG_MD is not set
@@ -445,8 +442,15 @@ CONFIG_NETDEVICES=y
445# CONFIG_MACVLAN is not set 442# CONFIG_MACVLAN is not set
446# CONFIG_EQUALIZER is not set 443# CONFIG_EQUALIZER is not set
447# CONFIG_TUN is not set 444# CONFIG_TUN is not set
448# CONFIG_NET_ETHERNET is not set 445# CONFIG_VETH is not set
446# CONFIG_PHYLIB is not set
447CONFIG_NET_ETHERNET=y
449CONFIG_MII=m 448CONFIG_MII=m
449# CONFIG_IBM_NEW_EMAC_ZMII is not set
450# CONFIG_IBM_NEW_EMAC_RGMII is not set
451# CONFIG_IBM_NEW_EMAC_TAH is not set
452# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
453# CONFIG_B44 is not set
450CONFIG_NETDEV_1000=y 454CONFIG_NETDEV_1000=y
451CONFIG_GELIC_NET=y 455CONFIG_GELIC_NET=y
452# CONFIG_NETDEV_10000 is not set 456# CONFIG_NETDEV_10000 is not set
@@ -455,7 +459,12 @@ CONFIG_GELIC_NET=y
455# Wireless LAN 459# Wireless LAN
456# 460#
457# CONFIG_WLAN_PRE80211 is not set 461# CONFIG_WLAN_PRE80211 is not set
458# CONFIG_WLAN_80211 is not set 462CONFIG_WLAN_80211=y
463# CONFIG_LIBERTAS is not set
464# CONFIG_USB_ZD1201 is not set
465# CONFIG_HOSTAP is not set
466CONFIG_ZD1211RW=m
467# CONFIG_ZD1211RW_DEBUG is not set
459 468
460# 469#
461# USB Network Adapters 470# USB Network Adapters
@@ -464,8 +473,8 @@ CONFIG_GELIC_NET=y
464# CONFIG_USB_KAWETH is not set 473# CONFIG_USB_KAWETH is not set
465CONFIG_USB_PEGASUS=m 474CONFIG_USB_PEGASUS=m
466# CONFIG_USB_RTL8150 is not set 475# CONFIG_USB_RTL8150 is not set
467CONFIG_USB_USBNET_MII=m
468CONFIG_USB_USBNET=m 476CONFIG_USB_USBNET=m
477CONFIG_USB_NET_AX8817X=m
469# CONFIG_USB_NET_CDCETHER is not set 478# CONFIG_USB_NET_CDCETHER is not set
470# CONFIG_USB_NET_DM9601 is not set 479# CONFIG_USB_NET_DM9601 is not set
471# CONFIG_USB_NET_GL620A is not set 480# CONFIG_USB_NET_GL620A is not set
@@ -499,9 +508,8 @@ CONFIG_INPUT_MOUSEDEV=y
499# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 508# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
500CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 509CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
501CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 510CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
502# CONFIG_INPUT_JOYDEV is not set 511CONFIG_INPUT_JOYDEV=m
503# CONFIG_INPUT_TSDEV is not set 512CONFIG_INPUT_EVDEV=m
504# CONFIG_INPUT_EVDEV is not set
505# CONFIG_INPUT_EVBUG is not set 513# CONFIG_INPUT_EVBUG is not set
506 514
507# 515#
@@ -561,7 +569,6 @@ CONFIG_UNIX98_PTYS=y
561CONFIG_LEGACY_PTYS=y 569CONFIG_LEGACY_PTYS=y
562CONFIG_LEGACY_PTY_COUNT=16 570CONFIG_LEGACY_PTY_COUNT=16
563# CONFIG_IPMI_HANDLER is not set 571# CONFIG_IPMI_HANDLER is not set
564# CONFIG_WATCHDOG is not set
565# CONFIG_HW_RANDOM is not set 572# CONFIG_HW_RANDOM is not set
566CONFIG_GEN_RTC=y 573CONFIG_GEN_RTC=y
567# CONFIG_GEN_RTC_X is not set 574# CONFIG_GEN_RTC_X is not set
@@ -579,6 +586,13 @@ CONFIG_GEN_RTC=y
579# CONFIG_W1 is not set 586# CONFIG_W1 is not set
580# CONFIG_POWER_SUPPLY is not set 587# CONFIG_POWER_SUPPLY is not set
581# CONFIG_HWMON is not set 588# CONFIG_HWMON is not set
589# CONFIG_WATCHDOG is not set
590
591#
592# Sonics Silicon Backplane
593#
594CONFIG_SSB_POSSIBLE=y
595# CONFIG_SSB is not set
582 596
583# 597#
584# Multifunction device drivers 598# Multifunction device drivers
@@ -595,12 +609,6 @@ CONFIG_GEN_RTC=y
595# 609#
596# Graphics support 610# Graphics support
597# 611#
598# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
599
600#
601# Display device support
602#
603# CONFIG_DISPLAY_SUPPORT is not set
604# CONFIG_VGASTATE is not set 612# CONFIG_VGASTATE is not set
605CONFIG_VIDEO_OUTPUT_CONTROL=m 613CONFIG_VIDEO_OUTPUT_CONTROL=m
606CONFIG_FB=y 614CONFIG_FB=y
@@ -609,6 +617,7 @@ CONFIG_FB=y
609# CONFIG_FB_CFB_FILLRECT is not set 617# CONFIG_FB_CFB_FILLRECT is not set
610# CONFIG_FB_CFB_COPYAREA is not set 618# CONFIG_FB_CFB_COPYAREA is not set
611# CONFIG_FB_CFB_IMAGEBLIT is not set 619# CONFIG_FB_CFB_IMAGEBLIT is not set
620# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
612CONFIG_FB_SYS_FILLRECT=y 621CONFIG_FB_SYS_FILLRECT=y
613CONFIG_FB_SYS_COPYAREA=y 622CONFIG_FB_SYS_COPYAREA=y
614CONFIG_FB_SYS_IMAGEBLIT=y 623CONFIG_FB_SYS_IMAGEBLIT=y
@@ -628,8 +637,14 @@ CONFIG_FB_DEFERRED_IO=y
628# CONFIG_FB_S1D13XXX is not set 637# CONFIG_FB_S1D13XXX is not set
629# CONFIG_FB_IBM_GXT4500 is not set 638# CONFIG_FB_IBM_GXT4500 is not set
630CONFIG_FB_PS3=y 639CONFIG_FB_PS3=y
631CONFIG_FB_PS3_DEFAULT_SIZE_M=18 640CONFIG_FB_PS3_DEFAULT_SIZE_M=9
632# CONFIG_FB_VIRTUAL is not set 641# CONFIG_FB_VIRTUAL is not set
642# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
643
644#
645# Display device support
646#
647# CONFIG_DISPLAY_SUPPORT is not set
633 648
634# 649#
635# Console display driver support 650# Console display driver support
@@ -713,6 +728,7 @@ CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
713CONFIG_HID_SUPPORT=y 728CONFIG_HID_SUPPORT=y
714CONFIG_HID=y 729CONFIG_HID=y
715# CONFIG_HID_DEBUG is not set 730# CONFIG_HID_DEBUG is not set
731# CONFIG_HIDRAW is not set
716 732
717# 733#
718# USB Input Devices 734# USB Input Devices
@@ -776,12 +792,14 @@ CONFIG_USB_STORAGE=m
776# CONFIG_USB_STORAGE_DEBUG is not set 792# CONFIG_USB_STORAGE_DEBUG is not set
777# CONFIG_USB_STORAGE_DATAFAB is not set 793# CONFIG_USB_STORAGE_DATAFAB is not set
778# CONFIG_USB_STORAGE_FREECOM is not set 794# CONFIG_USB_STORAGE_FREECOM is not set
795# CONFIG_USB_STORAGE_ISD200 is not set
779# CONFIG_USB_STORAGE_DPCM is not set 796# CONFIG_USB_STORAGE_DPCM is not set
780# CONFIG_USB_STORAGE_USBAT is not set 797# CONFIG_USB_STORAGE_USBAT is not set
781# CONFIG_USB_STORAGE_SDDR09 is not set 798# CONFIG_USB_STORAGE_SDDR09 is not set
782# CONFIG_USB_STORAGE_SDDR55 is not set 799# CONFIG_USB_STORAGE_SDDR55 is not set
783# CONFIG_USB_STORAGE_JUMPSHOT is not set 800# CONFIG_USB_STORAGE_JUMPSHOT is not set
784# CONFIG_USB_STORAGE_ALAUDA is not set 801# CONFIG_USB_STORAGE_ALAUDA is not set
802# CONFIG_USB_STORAGE_ONETOUCH is not set
785# CONFIG_USB_STORAGE_KARMA is not set 803# CONFIG_USB_STORAGE_KARMA is not set
786# CONFIG_USB_LIBUSUAL is not set 804# CONFIG_USB_LIBUSUAL is not set
787 805
@@ -839,19 +857,6 @@ CONFIG_USB_MON=y
839# CONFIG_RTC_CLASS is not set 857# CONFIG_RTC_CLASS is not set
840 858
841# 859#
842# DMA Engine support
843#
844# CONFIG_DMA_ENGINE is not set
845
846#
847# DMA Clients
848#
849
850#
851# DMA Devices
852#
853
854#
855# Userspace I/O 860# Userspace I/O
856# 861#
857# CONFIG_UIO is not set 862# CONFIG_UIO is not set
@@ -868,7 +873,6 @@ CONFIG_EXT3_FS_XATTR=y
868# CONFIG_EXT3_FS_SECURITY is not set 873# CONFIG_EXT3_FS_SECURITY is not set
869# CONFIG_EXT4DEV_FS is not set 874# CONFIG_EXT4DEV_FS is not set
870CONFIG_JBD=y 875CONFIG_JBD=y
871# CONFIG_JBD_DEBUG is not set
872CONFIG_FS_MBCACHE=y 876CONFIG_FS_MBCACHE=y
873# CONFIG_REISERFS_FS is not set 877# CONFIG_REISERFS_FS is not set
874# CONFIG_JFS_FS is not set 878# CONFIG_JFS_FS is not set
@@ -881,6 +885,8 @@ CONFIG_FS_MBCACHE=y
881CONFIG_INOTIFY=y 885CONFIG_INOTIFY=y
882CONFIG_INOTIFY_USER=y 886CONFIG_INOTIFY_USER=y
883CONFIG_QUOTA=y 887CONFIG_QUOTA=y
888# CONFIG_QUOTA_NETLINK_INTERFACE is not set
889CONFIG_PRINT_QUOTA_WARNING=y
884# CONFIG_QFMT_V1 is not set 890# CONFIG_QFMT_V1 is not set
885CONFIG_QFMT_V2=y 891CONFIG_QFMT_V2=y
886CONFIG_QUOTACTL=y 892CONFIG_QUOTACTL=y
@@ -919,7 +925,6 @@ CONFIG_TMPFS=y
919# CONFIG_TMPFS_POSIX_ACL is not set 925# CONFIG_TMPFS_POSIX_ACL is not set
920# CONFIG_HUGETLBFS is not set 926# CONFIG_HUGETLBFS is not set
921# CONFIG_HUGETLB_PAGE is not set 927# CONFIG_HUGETLB_PAGE is not set
922CONFIG_RAMFS=y
923# CONFIG_CONFIGFS_FS is not set 928# CONFIG_CONFIGFS_FS is not set
924 929
925# 930#
@@ -938,10 +943,7 @@ CONFIG_RAMFS=y
938# CONFIG_QNX4FS_FS is not set 943# CONFIG_QNX4FS_FS is not set
939# CONFIG_SYSV_FS is not set 944# CONFIG_SYSV_FS is not set
940# CONFIG_UFS_FS is not set 945# CONFIG_UFS_FS is not set
941 946CONFIG_NETWORK_FILESYSTEMS=y
942#
943# Network File Systems
944#
945CONFIG_NFS_FS=y 947CONFIG_NFS_FS=y
946CONFIG_NFS_V3=y 948CONFIG_NFS_V3=y
947# CONFIG_NFS_V3_ACL is not set 949# CONFIG_NFS_V3_ACL is not set
@@ -973,10 +975,6 @@ CONFIG_CIFS=m
973# 975#
974# CONFIG_PARTITION_ADVANCED is not set 976# CONFIG_PARTITION_ADVANCED is not set
975CONFIG_MSDOS_PARTITION=y 977CONFIG_MSDOS_PARTITION=y
976
977#
978# Native Language Support
979#
980CONFIG_NLS=y 978CONFIG_NLS=y
981CONFIG_NLS_DEFAULT="iso8859-1" 979CONFIG_NLS_DEFAULT="iso8859-1"
982CONFIG_NLS_CODEPAGE_437=y 980CONFIG_NLS_CODEPAGE_437=y
@@ -1017,10 +1015,6 @@ CONFIG_NLS_ISO8859_1=y
1017# CONFIG_NLS_KOI8_R is not set 1015# CONFIG_NLS_KOI8_R is not set
1018# CONFIG_NLS_KOI8_U is not set 1016# CONFIG_NLS_KOI8_U is not set
1019# CONFIG_NLS_UTF8 is not set 1017# CONFIG_NLS_UTF8 is not set
1020
1021#
1022# Distributed Lock Manager
1023#
1024# CONFIG_DLM is not set 1018# CONFIG_DLM is not set
1025# CONFIG_UCC_SLOW is not set 1019# CONFIG_UCC_SLOW is not set
1026 1020
@@ -1038,17 +1032,16 @@ CONFIG_PLIST=y
1038CONFIG_HAS_IOMEM=y 1032CONFIG_HAS_IOMEM=y
1039CONFIG_HAS_IOPORT=y 1033CONFIG_HAS_IOPORT=y
1040CONFIG_HAS_DMA=y 1034CONFIG_HAS_DMA=y
1041 1035CONFIG_INSTRUMENTATION=y
1042#
1043# Instrumentation Support
1044#
1045# CONFIG_PROFILING is not set 1036# CONFIG_PROFILING is not set
1046# CONFIG_KPROBES is not set 1037# CONFIG_KPROBES is not set
1038# CONFIG_MARKERS is not set
1047 1039
1048# 1040#
1049# Kernel hacking 1041# Kernel hacking
1050# 1042#
1051# CONFIG_PRINTK_TIME is not set 1043# CONFIG_PRINTK_TIME is not set
1044CONFIG_ENABLE_WARN_DEPRECATED=y
1052CONFIG_ENABLE_MUST_CHECK=y 1045CONFIG_ENABLE_MUST_CHECK=y
1053CONFIG_MAGIC_SYSRQ=y 1046CONFIG_MAGIC_SYSRQ=y
1054# CONFIG_UNUSED_SYMBOLS is not set 1047# CONFIG_UNUSED_SYMBOLS is not set
@@ -1060,7 +1053,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
1060CONFIG_SCHED_DEBUG=y 1053CONFIG_SCHED_DEBUG=y
1061# CONFIG_SCHEDSTATS is not set 1054# CONFIG_SCHEDSTATS is not set
1062# CONFIG_TIMER_STATS is not set 1055# CONFIG_TIMER_STATS is not set
1063# CONFIG_SLUB_DEBUG_ON is not set 1056# CONFIG_DEBUG_SLAB is not set
1064# CONFIG_DEBUG_RT_MUTEXES is not set 1057# CONFIG_DEBUG_RT_MUTEXES is not set
1065# CONFIG_RT_MUTEX_TESTER is not set 1058# CONFIG_RT_MUTEX_TESTER is not set
1066CONFIG_DEBUG_SPINLOCK=y 1059CONFIG_DEBUG_SPINLOCK=y
@@ -1072,9 +1065,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1072CONFIG_DEBUG_INFO=y 1065CONFIG_DEBUG_INFO=y
1073# CONFIG_DEBUG_VM is not set 1066# CONFIG_DEBUG_VM is not set
1074CONFIG_DEBUG_LIST=y 1067CONFIG_DEBUG_LIST=y
1068# CONFIG_DEBUG_SG is not set
1075CONFIG_FORCED_INLINING=y 1069CONFIG_FORCED_INLINING=y
1070# CONFIG_BOOT_PRINTK_DELAY is not set
1076# CONFIG_RCU_TORTURE_TEST is not set 1071# CONFIG_RCU_TORTURE_TEST is not set
1077# CONFIG_FAULT_INJECTION is not set 1072# CONFIG_FAULT_INJECTION is not set
1073# CONFIG_SAMPLES is not set
1078CONFIG_DEBUG_STACKOVERFLOW=y 1074CONFIG_DEBUG_STACKOVERFLOW=y
1079# CONFIG_DEBUG_STACK_USAGE is not set 1075# CONFIG_DEBUG_STACK_USAGE is not set
1080# CONFIG_DEBUG_PAGEALLOC is not set 1076# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1088,6 +1084,7 @@ CONFIG_IRQSTACKS=y
1088# 1084#
1089# CONFIG_KEYS is not set 1085# CONFIG_KEYS is not set
1090# CONFIG_SECURITY is not set 1086# CONFIG_SECURITY is not set
1087# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1091CONFIG_CRYPTO=y 1088CONFIG_CRYPTO=y
1092CONFIG_CRYPTO_ALGAPI=y 1089CONFIG_CRYPTO_ALGAPI=y
1093CONFIG_CRYPTO_BLKCIPHER=y 1090CONFIG_CRYPTO_BLKCIPHER=y
@@ -1107,22 +1104,26 @@ CONFIG_CRYPTO_ECB=m
1107CONFIG_CRYPTO_CBC=y 1104CONFIG_CRYPTO_CBC=y
1108CONFIG_CRYPTO_PCBC=m 1105CONFIG_CRYPTO_PCBC=m
1109# CONFIG_CRYPTO_LRW is not set 1106# CONFIG_CRYPTO_LRW is not set
1107# CONFIG_CRYPTO_XTS is not set
1110# CONFIG_CRYPTO_CRYPTD is not set 1108# CONFIG_CRYPTO_CRYPTD is not set
1111CONFIG_CRYPTO_DES=y 1109CONFIG_CRYPTO_DES=y
1112# CONFIG_CRYPTO_FCRYPT is not set 1110# CONFIG_CRYPTO_FCRYPT is not set
1113# CONFIG_CRYPTO_BLOWFISH is not set 1111# CONFIG_CRYPTO_BLOWFISH is not set
1114# CONFIG_CRYPTO_TWOFISH is not set 1112# CONFIG_CRYPTO_TWOFISH is not set
1115# CONFIG_CRYPTO_SERPENT is not set 1113# CONFIG_CRYPTO_SERPENT is not set
1116# CONFIG_CRYPTO_AES is not set 1114CONFIG_CRYPTO_AES=m
1117# CONFIG_CRYPTO_CAST5 is not set 1115# CONFIG_CRYPTO_CAST5 is not set
1118# CONFIG_CRYPTO_CAST6 is not set 1116# CONFIG_CRYPTO_CAST6 is not set
1119# CONFIG_CRYPTO_TEA is not set 1117# CONFIG_CRYPTO_TEA is not set
1120# CONFIG_CRYPTO_ARC4 is not set 1118CONFIG_CRYPTO_ARC4=m
1121# CONFIG_CRYPTO_KHAZAD is not set 1119# CONFIG_CRYPTO_KHAZAD is not set
1122# CONFIG_CRYPTO_ANUBIS is not set 1120# CONFIG_CRYPTO_ANUBIS is not set
1121# CONFIG_CRYPTO_SEED is not set
1123# CONFIG_CRYPTO_DEFLATE is not set 1122# CONFIG_CRYPTO_DEFLATE is not set
1124# CONFIG_CRYPTO_MICHAEL_MIC is not set 1123CONFIG_CRYPTO_MICHAEL_MIC=m
1125# CONFIG_CRYPTO_CRC32C is not set 1124# CONFIG_CRYPTO_CRC32C is not set
1126# CONFIG_CRYPTO_CAMELLIA is not set 1125# CONFIG_CRYPTO_CAMELLIA is not set
1127# CONFIG_CRYPTO_TEST is not set 1126# CONFIG_CRYPTO_TEST is not set
1127# CONFIG_CRYPTO_AUTHENC is not set
1128CONFIG_CRYPTO_HW=y 1128CONFIG_CRYPTO_HW=y
1129# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 62a38406b62f..92bbf51ad4f0 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc4 3# Linux kernel version: 2.6.24-rc4
4# Thu Aug 30 16:50:02 2007 4# Thu Dec 6 16:49:15 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14# CONFIG_TUNE_CELL is not set
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=128 21CONFIG_NR_CPUS=128
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -66,14 +72,23 @@ CONFIG_TASK_DELAY_ACCT=y
66CONFIG_TASK_XACCT=y 72CONFIG_TASK_XACCT=y
67CONFIG_TASK_IO_ACCOUNTING=y 73CONFIG_TASK_IO_ACCOUNTING=y
68# CONFIG_USER_NS is not set 74# CONFIG_USER_NS is not set
75# CONFIG_PID_NS is not set
69CONFIG_AUDIT=y 76CONFIG_AUDIT=y
70CONFIG_AUDITSYSCALL=y 77CONFIG_AUDITSYSCALL=y
78CONFIG_AUDIT_TREE=y
71CONFIG_IKCONFIG=y 79CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 80CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=17 81CONFIG_LOG_BUF_SHIFT=17
74CONFIG_CGROUPS=y 82CONFIG_CGROUPS=y
83# CONFIG_CGROUP_DEBUG is not set
84CONFIG_CGROUP_NS=y
75CONFIG_CPUSETS=y 85CONFIG_CPUSETS=y
86CONFIG_FAIR_GROUP_SCHED=y
87# CONFIG_FAIR_USER_SCHED is not set
88CONFIG_FAIR_CGROUP_SCHED=y
89CONFIG_CGROUP_CPUACCT=y
76CONFIG_SYSFS_DEPRECATED=y 90CONFIG_SYSFS_DEPRECATED=y
91CONFIG_PROC_PID_CPUSET=y
77# CONFIG_RELAY is not set 92# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y 93CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 94CONFIG_INITRAMFS_SOURCE=""
@@ -93,7 +108,6 @@ CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y 108CONFIG_ANON_INODES=y
94CONFIG_EPOLL=y 109CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y 110CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 112CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 113CONFIG_VM_EVENT_COUNTERS=y
@@ -114,6 +128,7 @@ CONFIG_STOP_MACHINE=y
114CONFIG_BLOCK=y 128CONFIG_BLOCK=y
115# CONFIG_BLK_DEV_IO_TRACE is not set 129# CONFIG_BLK_DEV_IO_TRACE is not set
116CONFIG_BLK_DEV_BSG=y 130CONFIG_BLK_DEV_BSG=y
131CONFIG_BLOCK_COMPAT=y
117 132
118# 133#
119# IO Schedulers 134# IO Schedulers
@@ -132,7 +147,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
132# Platform support 147# Platform support
133# 148#
134CONFIG_PPC_MULTIPLATFORM=y 149CONFIG_PPC_MULTIPLATFORM=y
135# CONFIG_EMBEDDED6xx is not set
136# CONFIG_PPC_82xx is not set 150# CONFIG_PPC_82xx is not set
137# CONFIG_PPC_83xx is not set 151# CONFIG_PPC_83xx is not set
138# CONFIG_PPC_86xx is not set 152# CONFIG_PPC_86xx is not set
@@ -194,6 +208,7 @@ CONFIG_PREEMPT_NONE=y
194CONFIG_BINFMT_ELF=y 208CONFIG_BINFMT_ELF=y
195CONFIG_BINFMT_MISC=m 209CONFIG_BINFMT_MISC=m
196CONFIG_FORCE_MAX_ZONEORDER=13 210CONFIG_FORCE_MAX_ZONEORDER=13
211CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
197CONFIG_IOMMU_VMERGE=y 212CONFIG_IOMMU_VMERGE=y
198CONFIG_HOTPLUG_CPU=y 213CONFIG_HOTPLUG_CPU=y
199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 214CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -215,6 +230,8 @@ CONFIG_NEED_MULTIPLE_NODES=y
215CONFIG_HAVE_MEMORY_PRESENT=y 230CONFIG_HAVE_MEMORY_PRESENT=y
216# CONFIG_SPARSEMEM_STATIC is not set 231# CONFIG_SPARSEMEM_STATIC is not set
217CONFIG_SPARSEMEM_EXTREME=y 232CONFIG_SPARSEMEM_EXTREME=y
233CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
234CONFIG_SPARSEMEM_VMEMMAP=y
218# CONFIG_MEMORY_HOTPLUG is not set 235# CONFIG_MEMORY_HOTPLUG is not set
219CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
220CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
@@ -245,11 +262,8 @@ CONFIG_PCI_SYSCALL=y
245# CONFIG_PCIEPORTBUS is not set 262# CONFIG_PCIEPORTBUS is not set
246CONFIG_ARCH_SUPPORTS_MSI=y 263CONFIG_ARCH_SUPPORTS_MSI=y
247CONFIG_PCI_MSI=y 264CONFIG_PCI_MSI=y
265CONFIG_PCI_LEGACY=y
248# CONFIG_PCI_DEBUG is not set 266# CONFIG_PCI_DEBUG is not set
249
250#
251# PCCARD (PCMCIA/CardBus) support
252#
253# CONFIG_PCCARD is not set 267# CONFIG_PCCARD is not set
254CONFIG_HOTPLUG_PCI=m 268CONFIG_HOTPLUG_PCI=m
255# CONFIG_HOTPLUG_PCI_FAKE is not set 269# CONFIG_HOTPLUG_PCI_FAKE is not set
@@ -294,6 +308,7 @@ CONFIG_INET_TUNNEL=y
294CONFIG_INET_XFRM_MODE_TRANSPORT=y 308CONFIG_INET_XFRM_MODE_TRANSPORT=y
295CONFIG_INET_XFRM_MODE_TUNNEL=y 309CONFIG_INET_XFRM_MODE_TUNNEL=y
296CONFIG_INET_XFRM_MODE_BEET=y 310CONFIG_INET_XFRM_MODE_BEET=y
311CONFIG_INET_LRO=y
297CONFIG_INET_DIAG=y 312CONFIG_INET_DIAG=y
298CONFIG_INET_TCP_DIAG=y 313CONFIG_INET_TCP_DIAG=y
299# CONFIG_TCP_CONG_ADVANCED is not set 314# CONFIG_TCP_CONG_ADVANCED is not set
@@ -360,6 +375,7 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m
360CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 375CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
361CONFIG_NETFILTER_XT_MATCH_STRING=m 376CONFIG_NETFILTER_XT_MATCH_STRING=m
362CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 377CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
378CONFIG_NETFILTER_XT_MATCH_TIME=m
363CONFIG_NETFILTER_XT_MATCH_U32=m 379CONFIG_NETFILTER_XT_MATCH_U32=m
364CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 380CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
365 381
@@ -414,10 +430,6 @@ CONFIG_LLC=y
414# CONFIG_LAPB is not set 430# CONFIG_LAPB is not set
415# CONFIG_ECONET is not set 431# CONFIG_ECONET is not set
416# CONFIG_WAN_ROUTER is not set 432# CONFIG_WAN_ROUTER is not set
417
418#
419# QoS and/or fair queueing
420#
421# CONFIG_NET_SCHED is not set 433# CONFIG_NET_SCHED is not set
422CONFIG_NET_CLS_ROUTE=y 434CONFIG_NET_CLS_ROUTE=y
423 435
@@ -448,6 +460,7 @@ CONFIG_NET_CLS_ROUTE=y
448# 460#
449# Generic Driver Options 461# Generic Driver Options
450# 462#
463CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
451CONFIG_STANDALONE=y 464CONFIG_STANDALONE=y
452CONFIG_PREVENT_FIRMWARE_BUILD=y 465CONFIG_PREVENT_FIRMWARE_BUILD=y
453CONFIG_FW_LOADER=y 466CONFIG_FW_LOADER=y
@@ -508,6 +521,11 @@ CONFIG_IDE_PROC_FS=y
508# IDE chipset support/bugfixes 521# IDE chipset support/bugfixes
509# 522#
510CONFIG_IDE_GENERIC=y 523CONFIG_IDE_GENERIC=y
524# CONFIG_BLK_DEV_PLATFORM is not set
525
526#
527# PCI IDE chipsets support
528#
511CONFIG_BLK_DEV_IDEPCI=y 529CONFIG_BLK_DEV_IDEPCI=y
512CONFIG_IDEPCI_SHARE_IRQ=y 530CONFIG_IDEPCI_SHARE_IRQ=y
513CONFIG_IDEPCI_PCIBUS_ORDER=y 531CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -515,8 +533,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
515CONFIG_BLK_DEV_GENERIC=y 533CONFIG_BLK_DEV_GENERIC=y
516# CONFIG_BLK_DEV_OPTI621 is not set 534# CONFIG_BLK_DEV_OPTI621 is not set
517CONFIG_BLK_DEV_IDEDMA_PCI=y 535CONFIG_BLK_DEV_IDEDMA_PCI=y
518# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
519# CONFIG_IDEDMA_ONLYDISK is not set
520# CONFIG_BLK_DEV_AEC62XX is not set 536# CONFIG_BLK_DEV_AEC62XX is not set
521# CONFIG_BLK_DEV_ALI15X3 is not set 537# CONFIG_BLK_DEV_ALI15X3 is not set
522CONFIG_BLK_DEV_AMD74XX=y 538CONFIG_BLK_DEV_AMD74XX=y
@@ -544,7 +560,7 @@ CONFIG_BLK_DEV_AMD74XX=y
544# CONFIG_BLK_DEV_TC86C001 is not set 560# CONFIG_BLK_DEV_TC86C001 is not set
545# CONFIG_IDE_ARM is not set 561# CONFIG_IDE_ARM is not set
546CONFIG_BLK_DEV_IDEDMA=y 562CONFIG_BLK_DEV_IDEDMA=y
547# CONFIG_IDEDMA_IVB is not set 563CONFIG_IDE_ARCH_OBSOLETE_INIT=y
548# CONFIG_BLK_DEV_HD is not set 564# CONFIG_BLK_DEV_HD is not set
549 565
550# 566#
@@ -585,6 +601,7 @@ CONFIG_SCSI_FC_ATTRS=y
585CONFIG_SCSI_ISCSI_ATTRS=m 601CONFIG_SCSI_ISCSI_ATTRS=m
586CONFIG_SCSI_SAS_ATTRS=m 602CONFIG_SCSI_SAS_ATTRS=m
587# CONFIG_SCSI_SAS_LIBSAS is not set 603# CONFIG_SCSI_SAS_LIBSAS is not set
604CONFIG_SCSI_SRP_ATTRS=y
588CONFIG_SCSI_LOWLEVEL=y 605CONFIG_SCSI_LOWLEVEL=y
589# CONFIG_ISCSI_TCP is not set 606# CONFIG_ISCSI_TCP is not set
590# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 607# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -669,6 +686,7 @@ CONFIG_ATA=y
669# CONFIG_PATA_OLDPIIX is not set 686# CONFIG_PATA_OLDPIIX is not set
670# CONFIG_PATA_NETCELL is not set 687# CONFIG_PATA_NETCELL is not set
671# CONFIG_PATA_NS87410 is not set 688# CONFIG_PATA_NS87410 is not set
689# CONFIG_PATA_NS87415 is not set
672# CONFIG_PATA_OPTI is not set 690# CONFIG_PATA_OPTI is not set
673# CONFIG_PATA_OPTIDMA is not set 691# CONFIG_PATA_OPTIDMA is not set
674# CONFIG_PATA_PDC_OLD is not set 692# CONFIG_PATA_PDC_OLD is not set
@@ -699,15 +717,10 @@ CONFIG_DM_ZERO=m
699CONFIG_DM_MULTIPATH=m 717CONFIG_DM_MULTIPATH=m
700CONFIG_DM_MULTIPATH_EMC=m 718CONFIG_DM_MULTIPATH_EMC=m
701# CONFIG_DM_MULTIPATH_RDAC is not set 719# CONFIG_DM_MULTIPATH_RDAC is not set
720# CONFIG_DM_MULTIPATH_HP is not set
702# CONFIG_DM_DELAY is not set 721# CONFIG_DM_DELAY is not set
703 722# CONFIG_DM_UEVENT is not set
704#
705# Fusion MPT device support
706#
707# CONFIG_FUSION is not set 723# CONFIG_FUSION is not set
708# CONFIG_FUSION_SPI is not set
709# CONFIG_FUSION_FC is not set
710# CONFIG_FUSION_SAS is not set
711 724
712# 725#
713# IEEE 1394 (FireWire) support 726# IEEE 1394 (FireWire) support
@@ -723,6 +736,8 @@ CONFIG_BONDING=m
723# CONFIG_MACVLAN is not set 736# CONFIG_MACVLAN is not set
724# CONFIG_EQUALIZER is not set 737# CONFIG_EQUALIZER is not set
725CONFIG_TUN=m 738CONFIG_TUN=m
739# CONFIG_VETH is not set
740# CONFIG_IP1000 is not set
726# CONFIG_ARCNET is not set 741# CONFIG_ARCNET is not set
727# CONFIG_PHYLIB is not set 742# CONFIG_PHYLIB is not set
728CONFIG_NET_ETHERNET=y 743CONFIG_NET_ETHERNET=y
@@ -736,6 +751,10 @@ CONFIG_VORTEX=y
736# CONFIG_NET_TULIP is not set 751# CONFIG_NET_TULIP is not set
737# CONFIG_HP100 is not set 752# CONFIG_HP100 is not set
738CONFIG_IBMVETH=y 753CONFIG_IBMVETH=y
754# CONFIG_IBM_NEW_EMAC_ZMII is not set
755# CONFIG_IBM_NEW_EMAC_RGMII is not set
756# CONFIG_IBM_NEW_EMAC_TAH is not set
757# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
739CONFIG_NET_PCI=y 758CONFIG_NET_PCI=y
740CONFIG_PCNET32=y 759CONFIG_PCNET32=y
741# CONFIG_PCNET32_NAPI is not set 760# CONFIG_PCNET32_NAPI is not set
@@ -743,7 +762,6 @@ CONFIG_PCNET32=y
743# CONFIG_ADAPTEC_STARFIRE is not set 762# CONFIG_ADAPTEC_STARFIRE is not set
744# CONFIG_B44 is not set 763# CONFIG_B44 is not set
745# CONFIG_FORCEDETH is not set 764# CONFIG_FORCEDETH is not set
746# CONFIG_DGRS is not set
747# CONFIG_EEPRO100 is not set 765# CONFIG_EEPRO100 is not set
748CONFIG_E100=y 766CONFIG_E100=y
749# CONFIG_FEALNX is not set 767# CONFIG_FEALNX is not set
@@ -764,6 +782,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
764CONFIG_E1000=y 782CONFIG_E1000=y
765# CONFIG_E1000_NAPI is not set 783# CONFIG_E1000_NAPI is not set
766# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 784# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
785# CONFIG_E1000E is not set
767# CONFIG_NS83820 is not set 786# CONFIG_NS83820 is not set
768# CONFIG_HAMACHI is not set 787# CONFIG_HAMACHI is not set
769# CONFIG_YELLOWFIN is not set 788# CONFIG_YELLOWFIN is not set
@@ -771,6 +790,7 @@ CONFIG_E1000=y
771# CONFIG_SIS190 is not set 790# CONFIG_SIS190 is not set
772# CONFIG_SKGE is not set 791# CONFIG_SKGE is not set
773# CONFIG_SKY2 is not set 792# CONFIG_SKY2 is not set
793# CONFIG_SK98LIN is not set
774# CONFIG_VIA_VELOCITY is not set 794# CONFIG_VIA_VELOCITY is not set
775CONFIG_TIGON3=y 795CONFIG_TIGON3=y
776# CONFIG_BNX2 is not set 796# CONFIG_BNX2 is not set
@@ -780,14 +800,17 @@ CONFIG_NETDEV_10000=y
780# CONFIG_CHELSIO_T1 is not set 800# CONFIG_CHELSIO_T1 is not set
781# CONFIG_CHELSIO_T3 is not set 801# CONFIG_CHELSIO_T3 is not set
782CONFIG_EHEA=m 802CONFIG_EHEA=m
803# CONFIG_IXGBE is not set
783CONFIG_IXGB=m 804CONFIG_IXGB=m
784# CONFIG_IXGB_NAPI is not set 805# CONFIG_IXGB_NAPI is not set
785CONFIG_S2IO=m 806CONFIG_S2IO=m
786# CONFIG_S2IO_NAPI is not set 807# CONFIG_S2IO_NAPI is not set
787# CONFIG_MYRI10GE is not set 808# CONFIG_MYRI10GE is not set
788# CONFIG_NETXEN_NIC is not set 809# CONFIG_NETXEN_NIC is not set
810# CONFIG_NIU is not set
789# CONFIG_PASEMI_MAC is not set 811# CONFIG_PASEMI_MAC is not set
790# CONFIG_MLX4_CORE is not set 812# CONFIG_MLX4_CORE is not set
813# CONFIG_TEHUTI is not set
791CONFIG_TR=y 814CONFIG_TR=y
792CONFIG_IBMOL=y 815CONFIG_IBMOL=y
793# CONFIG_3C359 is not set 816# CONFIG_3C359 is not set
@@ -806,7 +829,6 @@ CONFIG_IBMOL=y
806# CONFIG_USB_KAWETH is not set 829# CONFIG_USB_KAWETH is not set
807# CONFIG_USB_PEGASUS is not set 830# CONFIG_USB_PEGASUS is not set
808# CONFIG_USB_RTL8150 is not set 831# CONFIG_USB_RTL8150 is not set
809# CONFIG_USB_USBNET_MII is not set
810# CONFIG_USB_USBNET is not set 832# CONFIG_USB_USBNET is not set
811# CONFIG_WAN is not set 833# CONFIG_WAN is not set
812# CONFIG_FDDI is not set 834# CONFIG_FDDI is not set
@@ -827,6 +849,7 @@ CONFIG_SLHC=m
827# CONFIG_NET_FC is not set 849# CONFIG_NET_FC is not set
828# CONFIG_SHAPER is not set 850# CONFIG_SHAPER is not set
829CONFIG_NETCONSOLE=y 851CONFIG_NETCONSOLE=y
852# CONFIG_NETCONSOLE_DYNAMIC is not set
830CONFIG_NETPOLL=y 853CONFIG_NETPOLL=y
831CONFIG_NETPOLL_TRAP=y 854CONFIG_NETPOLL_TRAP=y
832CONFIG_NET_POLL_CONTROLLER=y 855CONFIG_NET_POLL_CONTROLLER=y
@@ -848,7 +871,6 @@ CONFIG_INPUT_MOUSEDEV=y
848CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 871CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
849CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 872CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
850# CONFIG_INPUT_JOYDEV is not set 873# CONFIG_INPUT_JOYDEV is not set
851# CONFIG_INPUT_TSDEV is not set
852# CONFIG_INPUT_EVDEV is not set 874# CONFIG_INPUT_EVDEV is not set
853# CONFIG_INPUT_EVBUG is not set 875# CONFIG_INPUT_EVBUG is not set
854 876
@@ -935,14 +957,11 @@ CONFIG_HVC_CONSOLE=y
935CONFIG_HVC_RTAS=y 957CONFIG_HVC_RTAS=y
936CONFIG_HVCS=m 958CONFIG_HVCS=m
937# CONFIG_IPMI_HANDLER is not set 959# CONFIG_IPMI_HANDLER is not set
938# CONFIG_WATCHDOG is not set
939# CONFIG_HW_RANDOM is not set 960# CONFIG_HW_RANDOM is not set
940CONFIG_GEN_RTC=y 961CONFIG_GEN_RTC=y
941# CONFIG_GEN_RTC_X is not set 962# CONFIG_GEN_RTC_X is not set
942# CONFIG_R3964 is not set 963# CONFIG_R3964 is not set
943# CONFIG_APPLICOM is not set 964# CONFIG_APPLICOM is not set
944# CONFIG_AGP is not set
945# CONFIG_DRM is not set
946CONFIG_RAW_DRIVER=y 965CONFIG_RAW_DRIVER=y
947CONFIG_MAX_RAW_DEVS=1024 966CONFIG_MAX_RAW_DEVS=1024
948# CONFIG_HANGCHECK_TIMER is not set 967# CONFIG_HANGCHECK_TIMER is not set
@@ -1012,6 +1031,13 @@ CONFIG_I2C_ALGOBIT=y
1012# CONFIG_W1 is not set 1031# CONFIG_W1 is not set
1013# CONFIG_POWER_SUPPLY is not set 1032# CONFIG_POWER_SUPPLY is not set
1014# CONFIG_HWMON is not set 1033# CONFIG_HWMON is not set
1034# CONFIG_WATCHDOG is not set
1035
1036#
1037# Sonics Silicon Backplane
1038#
1039CONFIG_SSB_POSSIBLE=y
1040# CONFIG_SSB is not set
1015 1041
1016# 1042#
1017# Multifunction device drivers 1043# Multifunction device drivers
@@ -1028,18 +1054,8 @@ CONFIG_I2C_ALGOBIT=y
1028# 1054#
1029# Graphics support 1055# Graphics support
1030# 1056#
1031CONFIG_BACKLIGHT_LCD_SUPPORT=y 1057# CONFIG_AGP is not set
1032CONFIG_LCD_CLASS_DEVICE=m 1058# CONFIG_DRM is not set
1033CONFIG_BACKLIGHT_CLASS_DEVICE=y
1034
1035#
1036# Display device support
1037#
1038CONFIG_DISPLAY_SUPPORT=y
1039
1040#
1041# Display hardware drivers
1042#
1043# CONFIG_VGASTATE is not set 1059# CONFIG_VGASTATE is not set
1044# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1060# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1045CONFIG_FB=y 1061CONFIG_FB=y
@@ -1048,6 +1064,7 @@ CONFIG_FB_DDC=y
1048CONFIG_FB_CFB_FILLRECT=y 1064CONFIG_FB_CFB_FILLRECT=y
1049CONFIG_FB_CFB_COPYAREA=y 1065CONFIG_FB_CFB_COPYAREA=y
1050CONFIG_FB_CFB_IMAGEBLIT=y 1066CONFIG_FB_CFB_IMAGEBLIT=y
1067# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1051# CONFIG_FB_SYS_FILLRECT is not set 1068# CONFIG_FB_SYS_FILLRECT is not set
1052# CONFIG_FB_SYS_COPYAREA is not set 1069# CONFIG_FB_SYS_COPYAREA is not set
1053# CONFIG_FB_SYS_IMAGEBLIT is not set 1070# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -1097,6 +1114,19 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1097# CONFIG_FB_PM3 is not set 1114# CONFIG_FB_PM3 is not set
1098CONFIG_FB_IBM_GXT4500=y 1115CONFIG_FB_IBM_GXT4500=y
1099# CONFIG_FB_VIRTUAL is not set 1116# CONFIG_FB_VIRTUAL is not set
1117CONFIG_BACKLIGHT_LCD_SUPPORT=y
1118CONFIG_LCD_CLASS_DEVICE=m
1119CONFIG_BACKLIGHT_CLASS_DEVICE=y
1120# CONFIG_BACKLIGHT_CORGI is not set
1121
1122#
1123# Display device support
1124#
1125CONFIG_DISPLAY_SUPPORT=y
1126
1127#
1128# Display hardware drivers
1129#
1100 1130
1101# 1131#
1102# Console display driver support 1132# Console display driver support
@@ -1121,6 +1151,7 @@ CONFIG_LOGO_LINUX_CLUT224=y
1121CONFIG_HID_SUPPORT=y 1151CONFIG_HID_SUPPORT=y
1122CONFIG_HID=y 1152CONFIG_HID=y
1123# CONFIG_HID_DEBUG is not set 1153# CONFIG_HID_DEBUG is not set
1154# CONFIG_HIDRAW is not set
1124 1155
1125# 1156#
1126# USB Input Devices 1157# USB Input Devices
@@ -1258,19 +1289,6 @@ CONFIG_INFINIBAND_SRP=m
1258# CONFIG_INFINIBAND_ISER is not set 1289# CONFIG_INFINIBAND_ISER is not set
1259# CONFIG_EDAC is not set 1290# CONFIG_EDAC is not set
1260# CONFIG_RTC_CLASS is not set 1291# CONFIG_RTC_CLASS is not set
1261
1262#
1263# DMA Engine support
1264#
1265# CONFIG_DMA_ENGINE is not set
1266
1267#
1268# DMA Clients
1269#
1270
1271#
1272# DMA Devices
1273#
1274# CONFIG_AUXDISPLAY is not set 1292# CONFIG_AUXDISPLAY is not set
1275 1293
1276# 1294#
@@ -1315,6 +1333,7 @@ CONFIG_XFS_POSIX_ACL=y
1315# CONFIG_GFS2_FS is not set 1333# CONFIG_GFS2_FS is not set
1316CONFIG_OCFS2_FS=m 1334CONFIG_OCFS2_FS=m
1317CONFIG_OCFS2_DEBUG_MASKLOG=y 1335CONFIG_OCFS2_DEBUG_MASKLOG=y
1336# CONFIG_OCFS2_DEBUG_FS is not set
1318# CONFIG_MINIX_FS is not set 1337# CONFIG_MINIX_FS is not set
1319# CONFIG_ROMFS_FS is not set 1338# CONFIG_ROMFS_FS is not set
1320CONFIG_INOTIFY=y 1339CONFIG_INOTIFY=y
@@ -1355,7 +1374,6 @@ CONFIG_TMPFS=y
1355# CONFIG_TMPFS_POSIX_ACL is not set 1374# CONFIG_TMPFS_POSIX_ACL is not set
1356CONFIG_HUGETLBFS=y 1375CONFIG_HUGETLBFS=y
1357CONFIG_HUGETLB_PAGE=y 1376CONFIG_HUGETLB_PAGE=y
1358CONFIG_RAMFS=y
1359CONFIG_CONFIGFS_FS=m 1377CONFIG_CONFIGFS_FS=m
1360 1378
1361# 1379#
@@ -1374,10 +1392,7 @@ CONFIG_CRAMFS=y
1374# CONFIG_QNX4FS_FS is not set 1392# CONFIG_QNX4FS_FS is not set
1375# CONFIG_SYSV_FS is not set 1393# CONFIG_SYSV_FS is not set
1376# CONFIG_UFS_FS is not set 1394# CONFIG_UFS_FS is not set
1377 1395CONFIG_NETWORK_FILESYSTEMS=y
1378#
1379# Network File Systems
1380#
1381CONFIG_NFS_FS=y 1396CONFIG_NFS_FS=y
1382CONFIG_NFS_V3=y 1397CONFIG_NFS_V3=y
1383CONFIG_NFS_V3_ACL=y 1398CONFIG_NFS_V3_ACL=y
@@ -1396,6 +1411,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1396CONFIG_NFS_COMMON=y 1411CONFIG_NFS_COMMON=y
1397CONFIG_SUNRPC=y 1412CONFIG_SUNRPC=y
1398CONFIG_SUNRPC_GSS=y 1413CONFIG_SUNRPC_GSS=y
1414CONFIG_SUNRPC_XPRT_RDMA=m
1399# CONFIG_SUNRPC_BIND34 is not set 1415# CONFIG_SUNRPC_BIND34 is not set
1400CONFIG_RPCSEC_GSS_KRB5=y 1416CONFIG_RPCSEC_GSS_KRB5=y
1401CONFIG_RPCSEC_GSS_SPKM3=m 1417CONFIG_RPCSEC_GSS_SPKM3=m
@@ -1416,10 +1432,6 @@ CONFIG_CIFS_POSIX=y
1416# 1432#
1417# CONFIG_PARTITION_ADVANCED is not set 1433# CONFIG_PARTITION_ADVANCED is not set
1418CONFIG_MSDOS_PARTITION=y 1434CONFIG_MSDOS_PARTITION=y
1419
1420#
1421# Native Language Support
1422#
1423CONFIG_NLS=y 1435CONFIG_NLS=y
1424CONFIG_NLS_DEFAULT="iso8859-1" 1436CONFIG_NLS_DEFAULT="iso8859-1"
1425CONFIG_NLS_CODEPAGE_437=y 1437CONFIG_NLS_CODEPAGE_437=y
@@ -1460,10 +1472,6 @@ CONFIG_NLS_ISO8859_1=y
1460# CONFIG_NLS_KOI8_R is not set 1472# CONFIG_NLS_KOI8_R is not set
1461# CONFIG_NLS_KOI8_U is not set 1473# CONFIG_NLS_KOI8_U is not set
1462# CONFIG_NLS_UTF8 is not set 1474# CONFIG_NLS_UTF8 is not set
1463
1464#
1465# Distributed Lock Manager
1466#
1467# CONFIG_DLM is not set 1475# CONFIG_DLM is not set
1468# CONFIG_UCC_SLOW is not set 1476# CONFIG_UCC_SLOW is not set
1469 1477
@@ -1487,18 +1495,17 @@ CONFIG_PLIST=y
1487CONFIG_HAS_IOMEM=y 1495CONFIG_HAS_IOMEM=y
1488CONFIG_HAS_IOPORT=y 1496CONFIG_HAS_IOPORT=y
1489CONFIG_HAS_DMA=y 1497CONFIG_HAS_DMA=y
1490 1498CONFIG_INSTRUMENTATION=y
1491#
1492# Instrumentation Support
1493#
1494CONFIG_PROFILING=y 1499CONFIG_PROFILING=y
1495CONFIG_OPROFILE=y 1500CONFIG_OPROFILE=y
1496CONFIG_KPROBES=y 1501CONFIG_KPROBES=y
1502CONFIG_MARKERS=y
1497 1503
1498# 1504#
1499# Kernel hacking 1505# Kernel hacking
1500# 1506#
1501# CONFIG_PRINTK_TIME is not set 1507# CONFIG_PRINTK_TIME is not set
1508CONFIG_ENABLE_WARN_DEPRECATED=y
1502CONFIG_ENABLE_MUST_CHECK=y 1509CONFIG_ENABLE_MUST_CHECK=y
1503CONFIG_MAGIC_SYSRQ=y 1510CONFIG_MAGIC_SYSRQ=y
1504# CONFIG_UNUSED_SYMBOLS is not set 1511# CONFIG_UNUSED_SYMBOLS is not set
@@ -1522,10 +1529,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
1522# CONFIG_DEBUG_INFO is not set 1529# CONFIG_DEBUG_INFO is not set
1523# CONFIG_DEBUG_VM is not set 1530# CONFIG_DEBUG_VM is not set
1524# CONFIG_DEBUG_LIST is not set 1531# CONFIG_DEBUG_LIST is not set
1532# CONFIG_DEBUG_SG is not set
1525CONFIG_FORCED_INLINING=y 1533CONFIG_FORCED_INLINING=y
1534# CONFIG_BOOT_PRINTK_DELAY is not set
1526# CONFIG_RCU_TORTURE_TEST is not set 1535# CONFIG_RCU_TORTURE_TEST is not set
1527# CONFIG_LKDTM is not set 1536# CONFIG_LKDTM is not set
1528# CONFIG_FAULT_INJECTION is not set 1537# CONFIG_FAULT_INJECTION is not set
1538# CONFIG_SAMPLES is not set
1529CONFIG_DEBUG_STACKOVERFLOW=y 1539CONFIG_DEBUG_STACKOVERFLOW=y
1530# CONFIG_DEBUG_STACK_USAGE is not set 1540# CONFIG_DEBUG_STACK_USAGE is not set
1531# CONFIG_DEBUG_PAGEALLOC is not set 1541# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1535,6 +1545,7 @@ CONFIG_XMON=y
1535CONFIG_XMON_DEFAULT=y 1545CONFIG_XMON_DEFAULT=y
1536CONFIG_XMON_DISASSEMBLY=y 1546CONFIG_XMON_DISASSEMBLY=y
1537CONFIG_IRQSTACKS=y 1547CONFIG_IRQSTACKS=y
1548CONFIG_VIRQ_DEBUG=y
1538# CONFIG_BOOTX_TEXT is not set 1549# CONFIG_BOOTX_TEXT is not set
1539# CONFIG_PPC_EARLY_DEBUG is not set 1550# CONFIG_PPC_EARLY_DEBUG is not set
1540 1551
@@ -1543,6 +1554,7 @@ CONFIG_IRQSTACKS=y
1543# 1554#
1544# CONFIG_KEYS is not set 1555# CONFIG_KEYS is not set
1545# CONFIG_SECURITY is not set 1556# CONFIG_SECURITY is not set
1557# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1546CONFIG_CRYPTO=y 1558CONFIG_CRYPTO=y
1547CONFIG_CRYPTO_ALGAPI=y 1559CONFIG_CRYPTO_ALGAPI=y
1548CONFIG_CRYPTO_BLKCIPHER=y 1560CONFIG_CRYPTO_BLKCIPHER=y
@@ -1563,6 +1575,7 @@ CONFIG_CRYPTO_ECB=m
1563CONFIG_CRYPTO_CBC=y 1575CONFIG_CRYPTO_CBC=y
1564CONFIG_CRYPTO_PCBC=m 1576CONFIG_CRYPTO_PCBC=m
1565# CONFIG_CRYPTO_LRW is not set 1577# CONFIG_CRYPTO_LRW is not set
1578# CONFIG_CRYPTO_XTS is not set
1566# CONFIG_CRYPTO_CRYPTD is not set 1579# CONFIG_CRYPTO_CRYPTD is not set
1567CONFIG_CRYPTO_DES=y 1580CONFIG_CRYPTO_DES=y
1568# CONFIG_CRYPTO_FCRYPT is not set 1581# CONFIG_CRYPTO_FCRYPT is not set
@@ -1577,9 +1590,12 @@ CONFIG_CRYPTO_TEA=m
1577CONFIG_CRYPTO_ARC4=m 1590CONFIG_CRYPTO_ARC4=m
1578CONFIG_CRYPTO_KHAZAD=m 1591CONFIG_CRYPTO_KHAZAD=m
1579CONFIG_CRYPTO_ANUBIS=m 1592CONFIG_CRYPTO_ANUBIS=m
1593# CONFIG_CRYPTO_SEED is not set
1580CONFIG_CRYPTO_DEFLATE=m 1594CONFIG_CRYPTO_DEFLATE=m
1581CONFIG_CRYPTO_MICHAEL_MIC=m 1595CONFIG_CRYPTO_MICHAEL_MIC=m
1582CONFIG_CRYPTO_CRC32C=m 1596CONFIG_CRYPTO_CRC32C=m
1583# CONFIG_CRYPTO_CAMELLIA is not set 1597# CONFIG_CRYPTO_CAMELLIA is not set
1584CONFIG_CRYPTO_TEST=m 1598CONFIG_CRYPTO_TEST=m
1599# CONFIG_CRYPTO_AUTHENC is not set
1585# CONFIG_CRYPTO_HW is not set 1600# CONFIG_CRYPTO_HW is not set
1601# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/sequoia_defconfig b/arch/powerpc/configs/sequoia_defconfig
index 45a4ca0e0d7d..bc3c086ddfc0 100644
--- a/arch/powerpc/configs/sequoia_defconfig
+++ b/arch/powerpc/configs/sequoia_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6 3# Linux kernel version: 2.6.24-rc4
4# Fri Sep 14 13:20:06 2007 4# Thu Dec 6 16:49:17 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,8 +22,13 @@ CONFIG_PHYS_64BIT=y
22# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26CONFIG_PPC_MERGE=y
26CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
27CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
28CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
29CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -64,9 +69,12 @@ CONFIG_POSIX_MQUEUE=y
64# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
65# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set 71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
67# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
68# CONFIG_IKCONFIG is not set 74# CONFIG_IKCONFIG is not set
69CONFIG_LOG_BUF_SHIFT=14 75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set
70CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
72CONFIG_BLK_DEV_INITRD=y 80CONFIG_BLK_DEV_INITRD=y
@@ -87,7 +95,6 @@ CONFIG_FUTEX=y
87CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 96CONFIG_EPOLL=y
89CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
90CONFIG_TIMERFD=y
91CONFIG_EVENTFD=y 98CONFIG_EVENTFD=y
92CONFIG_SHMEM=y 99CONFIG_SHMEM=y
93CONFIG_VM_EVENT_COUNTERS=y 100CONFIG_VM_EVENT_COUNTERS=y
@@ -153,6 +160,10 @@ CONFIG_440A=y
153# Kernel options 160# Kernel options
154# 161#
155# CONFIG_HIGHMEM is not set 162# CONFIG_HIGHMEM is not set
163CONFIG_TICK_ONESHOT=y
164CONFIG_NO_HZ=y
165CONFIG_HIGH_RES_TIMERS=y
166CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
156# CONFIG_HZ_100 is not set 167# CONFIG_HZ_100 is not set
157CONFIG_HZ_250=y 168CONFIG_HZ_250=y
158# CONFIG_HZ_300 is not set 169# CONFIG_HZ_300 is not set
@@ -174,6 +185,7 @@ CONFIG_FLATMEM_MANUAL=y
174CONFIG_FLATMEM=y 185CONFIG_FLATMEM=y
175CONFIG_FLAT_NODE_MEM_MAP=y 186CONFIG_FLAT_NODE_MEM_MAP=y
176# CONFIG_SPARSEMEM_STATIC is not set 187# CONFIG_SPARSEMEM_STATIC is not set
188# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
177CONFIG_SPLIT_PTLOCK_CPUS=4 189CONFIG_SPLIT_PTLOCK_CPUS=4
178CONFIG_RESOURCES_64BIT=y 190CONFIG_RESOURCES_64BIT=y
179CONFIG_ZONE_DMA_FLAG=1 191CONFIG_ZONE_DMA_FLAG=1
@@ -198,11 +210,8 @@ CONFIG_PCI_SYSCALL=y
198# CONFIG_PCIEPORTBUS is not set 210# CONFIG_PCIEPORTBUS is not set
199CONFIG_ARCH_SUPPORTS_MSI=y 211CONFIG_ARCH_SUPPORTS_MSI=y
200# CONFIG_PCI_MSI is not set 212# CONFIG_PCI_MSI is not set
213CONFIG_PCI_LEGACY=y
201# CONFIG_PCI_DEBUG is not set 214# CONFIG_PCI_DEBUG is not set
202
203#
204# PCCARD (PCMCIA/CardBus) support
205#
206# CONFIG_PCCARD is not set 215# CONFIG_PCCARD is not set
207# CONFIG_HOTPLUG_PCI is not set 216# CONFIG_HOTPLUG_PCI is not set
208 217
@@ -217,7 +226,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
217CONFIG_HIGHMEM_START=0xfe000000 226CONFIG_HIGHMEM_START=0xfe000000
218CONFIG_LOWMEM_SIZE=0x30000000 227CONFIG_LOWMEM_SIZE=0x30000000
219CONFIG_KERNEL_START=0xc0000000 228CONFIG_KERNEL_START=0xc0000000
220CONFIG_TASK_SIZE=0x80000000 229CONFIG_TASK_SIZE=0xc0000000
221CONFIG_CONSISTENT_START=0xff100000 230CONFIG_CONSISTENT_START=0xff100000
222CONFIG_CONSISTENT_SIZE=0x00200000 231CONFIG_CONSISTENT_SIZE=0x00200000
223CONFIG_BOOT_LOAD=0x01000000 232CONFIG_BOOT_LOAD=0x01000000
@@ -254,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y
254# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 263# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
255# CONFIG_INET_XFRM_MODE_TUNNEL is not set 264# CONFIG_INET_XFRM_MODE_TUNNEL is not set
256# CONFIG_INET_XFRM_MODE_BEET is not set 265# CONFIG_INET_XFRM_MODE_BEET is not set
266# CONFIG_INET_LRO is not set
257CONFIG_INET_DIAG=y 267CONFIG_INET_DIAG=y
258CONFIG_INET_TCP_DIAG=y 268CONFIG_INET_TCP_DIAG=y
259# CONFIG_TCP_CONG_ADVANCED is not set 269# CONFIG_TCP_CONG_ADVANCED is not set
@@ -279,10 +289,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
279# CONFIG_LAPB is not set 289# CONFIG_LAPB is not set
280# CONFIG_ECONET is not set 290# CONFIG_ECONET is not set
281# CONFIG_WAN_ROUTER is not set 291# CONFIG_WAN_ROUTER is not set
282
283#
284# QoS and/or fair queueing
285#
286# CONFIG_NET_SCHED is not set 292# CONFIG_NET_SCHED is not set
287 293
288# 294#
@@ -311,6 +317,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
311# 317#
312# Generic Driver Options 318# Generic Driver Options
313# 319#
320CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
314CONFIG_STANDALONE=y 321CONFIG_STANDALONE=y
315CONFIG_PREVENT_FIRMWARE_BUILD=y 322CONFIG_PREVENT_FIRMWARE_BUILD=y
316CONFIG_FW_LOADER=y 323CONFIG_FW_LOADER=y
@@ -338,6 +345,7 @@ CONFIG_MTD_CHAR=y
338# CONFIG_INFTL is not set 345# CONFIG_INFTL is not set
339# CONFIG_RFD_FTL is not set 346# CONFIG_RFD_FTL is not set
340# CONFIG_SSFDC is not set 347# CONFIG_SSFDC is not set
348# CONFIG_MTD_OOPS is not set
341 349
342# 350#
343# RAM/ROM/Flash chip drivers 351# RAM/ROM/Flash chip drivers
@@ -370,6 +378,7 @@ CONFIG_MTD_CFI_UTIL=y
370# CONFIG_MTD_COMPLEX_MAPPINGS is not set 378# CONFIG_MTD_COMPLEX_MAPPINGS is not set
371# CONFIG_MTD_PHYSMAP is not set 379# CONFIG_MTD_PHYSMAP is not set
372CONFIG_MTD_PHYSMAP_OF=y 380CONFIG_MTD_PHYSMAP_OF=y
381# CONFIG_MTD_INTEL_VR_NOR is not set
373# CONFIG_MTD_PLATRAM is not set 382# CONFIG_MTD_PLATRAM is not set
374 383
375# 384#
@@ -429,10 +438,6 @@ CONFIG_MISC_DEVICES=y
429# CONFIG_SCSI_NETLINK is not set 438# CONFIG_SCSI_NETLINK is not set
430# CONFIG_ATA is not set 439# CONFIG_ATA is not set
431# CONFIG_MD is not set 440# CONFIG_MD is not set
432
433#
434# Fusion MPT device support
435#
436# CONFIG_FUSION is not set 441# CONFIG_FUSION is not set
437 442
438# 443#
@@ -451,12 +456,18 @@ CONFIG_NETDEVICES=y
451# CONFIG_MACVLAN is not set 456# CONFIG_MACVLAN is not set
452# CONFIG_EQUALIZER is not set 457# CONFIG_EQUALIZER is not set
453# CONFIG_TUN is not set 458# CONFIG_TUN is not set
459# CONFIG_VETH is not set
460# CONFIG_IP1000 is not set
454# CONFIG_ARCNET is not set 461# CONFIG_ARCNET is not set
455# CONFIG_NET_ETHERNET is not set 462# CONFIG_NET_ETHERNET is not set
463CONFIG_IBM_NEW_EMAC_ZMII=y
464CONFIG_IBM_NEW_EMAC_RGMII=y
465CONFIG_IBM_NEW_EMAC_EMAC4=y
456CONFIG_NETDEV_1000=y 466CONFIG_NETDEV_1000=y
457# CONFIG_ACENIC is not set 467# CONFIG_ACENIC is not set
458# CONFIG_DL2K is not set 468# CONFIG_DL2K is not set
459# CONFIG_E1000 is not set 469# CONFIG_E1000 is not set
470# CONFIG_E1000E is not set
460# CONFIG_NS83820 is not set 471# CONFIG_NS83820 is not set
461# CONFIG_HAMACHI is not set 472# CONFIG_HAMACHI is not set
462# CONFIG_YELLOWFIN is not set 473# CONFIG_YELLOWFIN is not set
@@ -464,6 +475,7 @@ CONFIG_NETDEV_1000=y
464# CONFIG_SIS190 is not set 475# CONFIG_SIS190 is not set
465# CONFIG_SKGE is not set 476# CONFIG_SKGE is not set
466# CONFIG_SKY2 is not set 477# CONFIG_SKY2 is not set
478# CONFIG_SK98LIN is not set
467# CONFIG_VIA_VELOCITY is not set 479# CONFIG_VIA_VELOCITY is not set
468# CONFIG_TIGON3 is not set 480# CONFIG_TIGON3 is not set
469# CONFIG_BNX2 is not set 481# CONFIG_BNX2 is not set
@@ -472,11 +484,14 @@ CONFIG_NETDEV_1000=y
472CONFIG_NETDEV_10000=y 484CONFIG_NETDEV_10000=y
473# CONFIG_CHELSIO_T1 is not set 485# CONFIG_CHELSIO_T1 is not set
474# CONFIG_CHELSIO_T3 is not set 486# CONFIG_CHELSIO_T3 is not set
487# CONFIG_IXGBE is not set
475# CONFIG_IXGB is not set 488# CONFIG_IXGB is not set
476# CONFIG_S2IO is not set 489# CONFIG_S2IO is not set
477# CONFIG_MYRI10GE is not set 490# CONFIG_MYRI10GE is not set
478# CONFIG_NETXEN_NIC is not set 491# CONFIG_NETXEN_NIC is not set
492# CONFIG_NIU is not set
479# CONFIG_MLX4_CORE is not set 493# CONFIG_MLX4_CORE is not set
494# CONFIG_TEHUTI is not set
480# CONFIG_TR is not set 495# CONFIG_TR is not set
481 496
482# 497#
@@ -539,14 +554,11 @@ CONFIG_UNIX98_PTYS=y
539CONFIG_LEGACY_PTYS=y 554CONFIG_LEGACY_PTYS=y
540CONFIG_LEGACY_PTY_COUNT=256 555CONFIG_LEGACY_PTY_COUNT=256
541# CONFIG_IPMI_HANDLER is not set 556# CONFIG_IPMI_HANDLER is not set
542# CONFIG_WATCHDOG is not set
543# CONFIG_HW_RANDOM is not set 557# CONFIG_HW_RANDOM is not set
544# CONFIG_NVRAM is not set 558# CONFIG_NVRAM is not set
545# CONFIG_GEN_RTC is not set 559# CONFIG_GEN_RTC is not set
546# CONFIG_R3964 is not set 560# CONFIG_R3964 is not set
547# CONFIG_APPLICOM is not set 561# CONFIG_APPLICOM is not set
548# CONFIG_AGP is not set
549# CONFIG_DRM is not set
550# CONFIG_RAW_DRIVER is not set 562# CONFIG_RAW_DRIVER is not set
551# CONFIG_TCG_TPM is not set 563# CONFIG_TCG_TPM is not set
552CONFIG_DEVPORT=y 564CONFIG_DEVPORT=y
@@ -560,6 +572,13 @@ CONFIG_DEVPORT=y
560# CONFIG_W1 is not set 572# CONFIG_W1 is not set
561# CONFIG_POWER_SUPPLY is not set 573# CONFIG_POWER_SUPPLY is not set
562# CONFIG_HWMON is not set 574# CONFIG_HWMON is not set
575# CONFIG_WATCHDOG is not set
576
577#
578# Sonics Silicon Backplane
579#
580CONFIG_SSB_POSSIBLE=y
581# CONFIG_SSB is not set
563 582
564# 583#
565# Multifunction device drivers 584# Multifunction device drivers
@@ -576,16 +595,17 @@ CONFIG_DAB=y
576# 595#
577# Graphics support 596# Graphics support
578# 597#
598# CONFIG_AGP is not set
599# CONFIG_DRM is not set
600# CONFIG_VGASTATE is not set
601CONFIG_VIDEO_OUTPUT_CONTROL=m
602# CONFIG_FB is not set
579# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 603# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
580 604
581# 605#
582# Display device support 606# Display device support
583# 607#
584# CONFIG_DISPLAY_SUPPORT is not set 608# CONFIG_DISPLAY_SUPPORT is not set
585# CONFIG_VGASTATE is not set
586CONFIG_VIDEO_OUTPUT_CONTROL=m
587# CONFIG_FB is not set
588# CONFIG_FB_IBM_GXT4500 is not set
589 609
590# 610#
591# Sound 611# Sound
@@ -612,19 +632,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
612# CONFIG_RTC_CLASS is not set 632# CONFIG_RTC_CLASS is not set
613 633
614# 634#
615# DMA Engine support
616#
617# CONFIG_DMA_ENGINE is not set
618
619#
620# DMA Clients
621#
622
623#
624# DMA Devices
625#
626
627#
628# Userspace I/O 635# Userspace I/O
629# 636#
630# CONFIG_UIO is not set 637# CONFIG_UIO is not set
@@ -676,7 +683,6 @@ CONFIG_SYSFS=y
676CONFIG_TMPFS=y 683CONFIG_TMPFS=y
677# CONFIG_TMPFS_POSIX_ACL is not set 684# CONFIG_TMPFS_POSIX_ACL is not set
678# CONFIG_HUGETLB_PAGE is not set 685# CONFIG_HUGETLB_PAGE is not set
679CONFIG_RAMFS=y
680# CONFIG_CONFIGFS_FS is not set 686# CONFIG_CONFIGFS_FS is not set
681 687
682# 688#
@@ -692,10 +698,12 @@ CONFIG_RAMFS=y
692CONFIG_JFFS2_FS=y 698CONFIG_JFFS2_FS=y
693CONFIG_JFFS2_FS_DEBUG=0 699CONFIG_JFFS2_FS_DEBUG=0
694CONFIG_JFFS2_FS_WRITEBUFFER=y 700CONFIG_JFFS2_FS_WRITEBUFFER=y
701# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
695# CONFIG_JFFS2_SUMMARY is not set 702# CONFIG_JFFS2_SUMMARY is not set
696# CONFIG_JFFS2_FS_XATTR is not set 703# CONFIG_JFFS2_FS_XATTR is not set
697# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 704# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
698CONFIG_JFFS2_ZLIB=y 705CONFIG_JFFS2_ZLIB=y
706# CONFIG_JFFS2_LZO is not set
699CONFIG_JFFS2_RTIME=y 707CONFIG_JFFS2_RTIME=y
700# CONFIG_JFFS2_RUBIN is not set 708# CONFIG_JFFS2_RUBIN is not set
701CONFIG_CRAMFS=y 709CONFIG_CRAMFS=y
@@ -704,10 +712,7 @@ CONFIG_CRAMFS=y
704# CONFIG_QNX4FS_FS is not set 712# CONFIG_QNX4FS_FS is not set
705# CONFIG_SYSV_FS is not set 713# CONFIG_SYSV_FS is not set
706# CONFIG_UFS_FS is not set 714# CONFIG_UFS_FS is not set
707 715CONFIG_NETWORK_FILESYSTEMS=y
708#
709# Network File Systems
710#
711CONFIG_NFS_FS=y 716CONFIG_NFS_FS=y
712CONFIG_NFS_V3=y 717CONFIG_NFS_V3=y
713# CONFIG_NFS_V3_ACL is not set 718# CONFIG_NFS_V3_ACL is not set
@@ -733,15 +738,7 @@ CONFIG_SUNRPC=y
733# 738#
734# CONFIG_PARTITION_ADVANCED is not set 739# CONFIG_PARTITION_ADVANCED is not set
735CONFIG_MSDOS_PARTITION=y 740CONFIG_MSDOS_PARTITION=y
736
737#
738# Native Language Support
739#
740# CONFIG_NLS is not set 741# CONFIG_NLS is not set
741
742#
743# Distributed Lock Manager
744#
745# CONFIG_DLM is not set 742# CONFIG_DLM is not set
746# CONFIG_UCC_SLOW is not set 743# CONFIG_UCC_SLOW is not set
747 744
@@ -761,16 +758,13 @@ CONFIG_PLIST=y
761CONFIG_HAS_IOMEM=y 758CONFIG_HAS_IOMEM=y
762CONFIG_HAS_IOPORT=y 759CONFIG_HAS_IOPORT=y
763CONFIG_HAS_DMA=y 760CONFIG_HAS_DMA=y
764 761# CONFIG_INSTRUMENTATION is not set
765#
766# Instrumentation Support
767#
768# CONFIG_PROFILING is not set
769 762
770# 763#
771# Kernel hacking 764# Kernel hacking
772# 765#
773# CONFIG_PRINTK_TIME is not set 766# CONFIG_PRINTK_TIME is not set
767CONFIG_ENABLE_WARN_DEPRECATED=y
774CONFIG_ENABLE_MUST_CHECK=y 768CONFIG_ENABLE_MUST_CHECK=y
775CONFIG_MAGIC_SYSRQ=y 769CONFIG_MAGIC_SYSRQ=y
776# CONFIG_UNUSED_SYMBOLS is not set 770# CONFIG_UNUSED_SYMBOLS is not set
@@ -794,9 +788,12 @@ CONFIG_SCHED_DEBUG=y
794# CONFIG_DEBUG_INFO is not set 788# CONFIG_DEBUG_INFO is not set
795# CONFIG_DEBUG_VM is not set 789# CONFIG_DEBUG_VM is not set
796# CONFIG_DEBUG_LIST is not set 790# CONFIG_DEBUG_LIST is not set
791# CONFIG_DEBUG_SG is not set
797CONFIG_FORCED_INLINING=y 792CONFIG_FORCED_INLINING=y
793# CONFIG_BOOT_PRINTK_DELAY is not set
798# CONFIG_RCU_TORTURE_TEST is not set 794# CONFIG_RCU_TORTURE_TEST is not set
799# CONFIG_FAULT_INJECTION is not set 795# CONFIG_FAULT_INJECTION is not set
796# CONFIG_SAMPLES is not set
800# CONFIG_DEBUG_STACKOVERFLOW is not set 797# CONFIG_DEBUG_STACKOVERFLOW is not set
801# CONFIG_DEBUG_STACK_USAGE is not set 798# CONFIG_DEBUG_STACK_USAGE is not set
802# CONFIG_DEBUG_PAGEALLOC is not set 799# CONFIG_DEBUG_PAGEALLOC is not set
@@ -814,6 +811,7 @@ CONFIG_PPC_EARLY_DEBUG=y
814# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 811# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
815# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 812# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
816CONFIG_PPC_EARLY_DEBUG_44x=y 813CONFIG_PPC_EARLY_DEBUG_44x=y
814# CONFIG_PPC_EARLY_DEBUG_CPM is not set
817CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300 815CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300
818CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1 816CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
819 817
@@ -822,6 +820,7 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
822# 820#
823# CONFIG_KEYS is not set 821# CONFIG_KEYS is not set
824# CONFIG_SECURITY is not set 822# CONFIG_SECURITY is not set
823# CONFIG_SECURITY_FILE_CAPABILITIES is not set
825CONFIG_CRYPTO=y 824CONFIG_CRYPTO=y
826CONFIG_CRYPTO_ALGAPI=y 825CONFIG_CRYPTO_ALGAPI=y
827CONFIG_CRYPTO_BLKCIPHER=y 826CONFIG_CRYPTO_BLKCIPHER=y
@@ -841,6 +840,7 @@ CONFIG_CRYPTO_ECB=y
841CONFIG_CRYPTO_CBC=y 840CONFIG_CRYPTO_CBC=y
842CONFIG_CRYPTO_PCBC=y 841CONFIG_CRYPTO_PCBC=y
843# CONFIG_CRYPTO_LRW is not set 842# CONFIG_CRYPTO_LRW is not set
843# CONFIG_CRYPTO_XTS is not set
844# CONFIG_CRYPTO_CRYPTD is not set 844# CONFIG_CRYPTO_CRYPTD is not set
845CONFIG_CRYPTO_DES=y 845CONFIG_CRYPTO_DES=y
846# CONFIG_CRYPTO_FCRYPT is not set 846# CONFIG_CRYPTO_FCRYPT is not set
@@ -854,9 +854,12 @@ CONFIG_CRYPTO_DES=y
854# CONFIG_CRYPTO_ARC4 is not set 854# CONFIG_CRYPTO_ARC4 is not set
855# CONFIG_CRYPTO_KHAZAD is not set 855# CONFIG_CRYPTO_KHAZAD is not set
856# CONFIG_CRYPTO_ANUBIS is not set 856# CONFIG_CRYPTO_ANUBIS is not set
857# CONFIG_CRYPTO_SEED is not set
857# CONFIG_CRYPTO_DEFLATE is not set 858# CONFIG_CRYPTO_DEFLATE is not set
858# CONFIG_CRYPTO_MICHAEL_MIC is not set 859# CONFIG_CRYPTO_MICHAEL_MIC is not set
859# CONFIG_CRYPTO_CRC32C is not set 860# CONFIG_CRYPTO_CRC32C is not set
860# CONFIG_CRYPTO_CAMELLIA is not set 861# CONFIG_CRYPTO_CAMELLIA is not set
861# CONFIG_CRYPTO_TEST is not set 862# CONFIG_CRYPTO_TEST is not set
863# CONFIG_CRYPTO_AUTHENC is not set
862CONFIG_CRYPTO_HW=y 864CONFIG_CRYPTO_HW=y
865# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/walnut_defconfig b/arch/powerpc/configs/walnut_defconfig
index 02896ecba490..79344639b7c9 100644
--- a/arch/powerpc/configs/walnut_defconfig
+++ b/arch/powerpc/configs/walnut_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23 3# Linux kernel version: 2.6.24-rc4
4# Thu Oct 18 12:54:18 2007 4# Thu Dec 6 16:49:33 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -65,11 +65,14 @@ CONFIG_POSIX_MQUEUE=y
65# CONFIG_BSD_PROCESS_ACCT is not set 65# CONFIG_BSD_PROCESS_ACCT is not set
66# CONFIG_TASKSTATS is not set 66# CONFIG_TASKSTATS is not set
67# CONFIG_USER_NS is not set 67# CONFIG_USER_NS is not set
68# CONFIG_PID_NS is not set
68# CONFIG_AUDIT is not set 69# CONFIG_AUDIT is not set
69# CONFIG_IKCONFIG is not set 70# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=14 71CONFIG_LOG_BUF_SHIFT=14
72# CONFIG_CGROUPS is not set
71CONFIG_FAIR_GROUP_SCHED=y 73CONFIG_FAIR_GROUP_SCHED=y
72CONFIG_FAIR_USER_SCHED=y 74CONFIG_FAIR_USER_SCHED=y
75# CONFIG_FAIR_CGROUP_SCHED is not set
73CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 78CONFIG_BLK_DEV_INITRD=y
@@ -281,10 +284,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
281# CONFIG_LAPB is not set 284# CONFIG_LAPB is not set
282# CONFIG_ECONET is not set 285# CONFIG_ECONET is not set
283# CONFIG_WAN_ROUTER is not set 286# CONFIG_WAN_ROUTER is not set
284
285#
286# QoS and/or fair queueing
287#
288# CONFIG_NET_SCHED is not set 287# CONFIG_NET_SCHED is not set
289 288
290# 289#
@@ -507,7 +506,6 @@ CONFIG_UNIX98_PTYS=y
507CONFIG_LEGACY_PTYS=y 506CONFIG_LEGACY_PTYS=y
508CONFIG_LEGACY_PTY_COUNT=256 507CONFIG_LEGACY_PTY_COUNT=256
509# CONFIG_IPMI_HANDLER is not set 508# CONFIG_IPMI_HANDLER is not set
510# CONFIG_WATCHDOG is not set
511# CONFIG_HW_RANDOM is not set 509# CONFIG_HW_RANDOM is not set
512# CONFIG_NVRAM is not set 510# CONFIG_NVRAM is not set
513# CONFIG_GEN_RTC is not set 511# CONFIG_GEN_RTC is not set
@@ -524,6 +522,7 @@ CONFIG_LEGACY_PTY_COUNT=256
524# CONFIG_W1 is not set 522# CONFIG_W1 is not set
525# CONFIG_POWER_SUPPLY is not set 523# CONFIG_POWER_SUPPLY is not set
526# CONFIG_HWMON is not set 524# CONFIG_HWMON is not set
525# CONFIG_WATCHDOG is not set
527 526
528# 527#
529# Sonics Silicon Backplane 528# Sonics Silicon Backplane
@@ -694,16 +693,13 @@ CONFIG_PLIST=y
694CONFIG_HAS_IOMEM=y 693CONFIG_HAS_IOMEM=y
695CONFIG_HAS_IOPORT=y 694CONFIG_HAS_IOPORT=y
696CONFIG_HAS_DMA=y 695CONFIG_HAS_DMA=y
697 696# CONFIG_INSTRUMENTATION is not set
698#
699# Instrumentation Support
700#
701# CONFIG_PROFILING is not set
702 697
703# 698#
704# Kernel hacking 699# Kernel hacking
705# 700#
706# CONFIG_PRINTK_TIME is not set 701# CONFIG_PRINTK_TIME is not set
702CONFIG_ENABLE_WARN_DEPRECATED=y
707CONFIG_ENABLE_MUST_CHECK=y 703CONFIG_ENABLE_MUST_CHECK=y
708CONFIG_MAGIC_SYSRQ=y 704CONFIG_MAGIC_SYSRQ=y
709# CONFIG_UNUSED_SYMBOLS is not set 705# CONFIG_UNUSED_SYMBOLS is not set
@@ -727,10 +723,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
727# CONFIG_DEBUG_INFO is not set 723# CONFIG_DEBUG_INFO is not set
728# CONFIG_DEBUG_VM is not set 724# CONFIG_DEBUG_VM is not set
729# CONFIG_DEBUG_LIST is not set 725# CONFIG_DEBUG_LIST is not set
726# CONFIG_DEBUG_SG is not set
730CONFIG_FORCED_INLINING=y 727CONFIG_FORCED_INLINING=y
731# CONFIG_BOOT_PRINTK_DELAY is not set 728# CONFIG_BOOT_PRINTK_DELAY is not set
732# CONFIG_RCU_TORTURE_TEST is not set 729# CONFIG_RCU_TORTURE_TEST is not set
733# CONFIG_FAULT_INJECTION is not set 730# CONFIG_FAULT_INJECTION is not set
731# CONFIG_SAMPLES is not set
734# CONFIG_DEBUG_STACKOVERFLOW is not set 732# CONFIG_DEBUG_STACKOVERFLOW is not set
735# CONFIG_DEBUG_STACK_USAGE is not set 733# CONFIG_DEBUG_STACK_USAGE is not set
736# CONFIG_DEBUG_PAGEALLOC is not set 734# CONFIG_DEBUG_PAGEALLOC is not set
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index d67bcd84f329..ed083feaf6f9 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -326,8 +326,7 @@ int main(void)
326 DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START)); 326 DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
327#endif 327#endif
328 328
329#ifdef CONFIG_PPC64
330 DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE); 329 DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE);
331#endif 330
332 return 0; 331 return 0;
333} 332}
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index a5b13ae7fd20..0f4fac512020 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -1311,7 +1311,7 @@ empty_zero_page:
1311 1311
1312 .globl swapper_pg_dir 1312 .globl swapper_pg_dir
1313swapper_pg_dir: 1313swapper_pg_dir:
1314 .space 4096 1314 .space PGD_TABLE_SIZE
1315 1315
1316 .globl intercept_table 1316 .globl intercept_table
1317intercept_table: 1317intercept_table:
diff --git a/arch/powerpc/kernel/head_40x.S b/arch/powerpc/kernel/head_40x.S
index cfefc2df8f2a..8552e67e3a8b 100644
--- a/arch/powerpc/kernel/head_40x.S
+++ b/arch/powerpc/kernel/head_40x.S
@@ -994,7 +994,7 @@ empty_zero_page:
994 .space 4096 994 .space 4096
995 .globl swapper_pg_dir 995 .globl swapper_pg_dir
996swapper_pg_dir: 996swapper_pg_dir:
997 .space 4096 997 .space PGD_TABLE_SIZE
998 998
999 999
1000/* Stack for handling critical exceptions from kernel mode */ 1000/* Stack for handling critical exceptions from kernel mode */
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index 409db6123924..56aba84c1f6e 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -722,7 +722,7 @@ empty_zero_page:
722 */ 722 */
723 .globl swapper_pg_dir 723 .globl swapper_pg_dir
724swapper_pg_dir: 724swapper_pg_dir:
725 .space 8192 725 .space PGD_TABLE_SIZE
726 726
727/* Reserved 4k for the critical exception stack & 4k for the machine 727/* Reserved 4k for the critical exception stack & 4k for the machine
728 * check stack per CPU for kernel mode exceptions */ 728 * check stack per CPU for kernel mode exceptions */
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index 4b9822728aea..7aecb39a5a45 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -1035,7 +1035,7 @@ empty_zero_page:
1035 .space 4096 1035 .space 4096
1036 .globl swapper_pg_dir 1036 .globl swapper_pg_dir
1037swapper_pg_dir: 1037swapper_pg_dir:
1038 .space 4096 1038 .space PGD_TABLE_SIZE
1039 1039
1040/* Reserved 4k for the critical exception stack & 4k for the machine 1040/* Reserved 4k for the critical exception stack & 4k for the machine
1041 * check stack per CPU for kernel mode exceptions */ 1041 * check stack per CPU for kernel mode exceptions */
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 41e13f4cc6e3..b9d88374f14f 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -350,7 +350,7 @@ struct task_struct *__switch_to(struct task_struct *prev,
350 local_irq_save(flags); 350 local_irq_save(flags);
351 351
352 account_system_vtime(current); 352 account_system_vtime(current);
353 account_process_tick(current, 0); 353 account_process_vtime(current);
354 calculate_steal_time(); 354 calculate_steal_time();
355 355
356 last = _switch(old_thread, new_thread); 356 last = _switch(old_thread, new_thread);
diff --git a/arch/ppc/platforms/4xx/xparameters/xparameters.h b/arch/ppc/platforms/4xx/xparameters/xparameters.h
index 01aa043ff381..650888b00fb0 100644
--- a/arch/ppc/platforms/4xx/xparameters/xparameters.h
+++ b/arch/ppc/platforms/4xx/xparameters/xparameters.h
@@ -15,8 +15,16 @@
15 15
16#if defined(CONFIG_XILINX_ML300) 16#if defined(CONFIG_XILINX_ML300)
17 #include "xparameters_ml300.h" 17 #include "xparameters_ml300.h"
18 #define XPAR_INTC_0_AC97_CONTROLLER_REF_0_PLAYBACK_VEC_ID \
19 XPAR_DCR_INTC_0_OPB_AC97_CONTROLLER_REF_0_PLAYBACK_INTERRUPT_INTR
20 #define XPAR_INTC_0_AC97_CONTROLLER_REF_0_RECORD_VEC_ID \
21 XPAR_DCR_INTC_0_OPB_AC97_CONTROLLER_REF_0_RECORD_INTERRUPT_INTR
18#elif defined(CONFIG_XILINX_ML403) 22#elif defined(CONFIG_XILINX_ML403)
19 #include "xparameters_ml403.h" 23 #include "xparameters_ml403.h"
24 #define XPAR_INTC_0_AC97_CONTROLLER_REF_0_PLAYBACK_VEC_ID \
25 XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_PLAYBACK_INTERRUPT_INTR
26 #define XPAR_INTC_0_AC97_CONTROLLER_REF_0_RECORD_VEC_ID \
27 XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_RECORD_INTERRUPT_INTR
20#else 28#else
21 /* Add other board xparameter includes here before the #else */ 29 /* Add other board xparameter includes here before the #else */
22 #error No xparameters_*.h file included 30 #error No xparameters_*.h file included
diff --git a/arch/ppc/syslib/virtex_devices.c b/arch/ppc/syslib/virtex_devices.c
index f658ff3b3890..7322781be1c6 100644
--- a/arch/ppc/syslib/virtex_devices.c
+++ b/arch/ppc/syslib/virtex_devices.c
@@ -98,13 +98,13 @@
98 .flags = IORESOURCE_MEM, \ 98 .flags = IORESOURCE_MEM, \
99 }, \ 99 }, \
100 { \ 100 { \
101 .start = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_##num##_PLAYBACK_INTERRUPT_INTR, \ 101 .start = XPAR_INTC_0_AC97_CONTROLLER_REF_##num##_PLAYBACK_VEC_ID, \
102 .end = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_##num##_PLAYBACK_INTERRUPT_INTR, \ 102 .end = XPAR_INTC_0_AC97_CONTROLLER_REF_##num##_PLAYBACK_VEC_ID, \
103 .flags = IORESOURCE_IRQ, \ 103 .flags = IORESOURCE_IRQ, \
104 }, \ 104 }, \
105 { \ 105 { \
106 .start = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_##num##_RECORD_INTERRUPT_INTR, \ 106 .start = XPAR_INTC_0_AC97_CONTROLLER_REF_##num##_RECORD_VEC_ID, \
107 .end = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_##num##_RECORD_INTERRUPT_INTR, \ 107 .end = XPAR_INTC_0_AC97_CONTROLLER_REF_##num##_RECORD_VEC_ID, \
108 .flags = IORESOURCE_IRQ, \ 108 .flags = IORESOURCE_IRQ, \
109 }, \ 109 }, \
110 }, \ 110 }, \
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index b2b2edc40eb1..1a6dac8df6fb 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -1079,8 +1079,10 @@ cleanup_io_leave_insn:
1079.Lexecve_tail: .long execve_tail 1079.Lexecve_tail: .long execve_tail
1080.Ljump_table: .long pgm_check_table 1080.Ljump_table: .long pgm_check_table
1081.Lschedule: .long schedule 1081.Lschedule: .long schedule
1082#ifdef CONFIG_PREEMPT
1082.Lpreempt_schedule_irq: 1083.Lpreempt_schedule_irq:
1083 .long preempt_schedule_irq 1084 .long preempt_schedule_irq
1085#endif
1084.Ltrace: .long syscall_trace 1086.Ltrace: .long syscall_trace
1085.Lschedtail: .long schedule_tail 1087.Lschedtail: .long schedule_tail
1086.Lsysc_table: .long sys_call_table 1088.Lsysc_table: .long sys_call_table
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 50f8f1e3760e..577aa7dd660e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -486,9 +486,7 @@ static void setup_addressing_mode(void)
486 if (s390_noexec) { 486 if (s390_noexec) {
487 printk("S390 execute protection active, "); 487 printk("S390 execute protection active, ");
488 set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY); 488 set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY);
489 return; 489 } else if (switch_amode) {
490 }
491 if (switch_amode) {
492 printk("S390 address spaces switched, "); 490 printk("S390 address spaces switched, ");
493 set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY); 491 set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY);
494 } 492 }
diff --git a/arch/sh/drivers/pci/ops-r7780rp.c b/arch/sh/drivers/pci/ops-r7780rp.c
index f2216081ab85..48fe4032ebea 100644
--- a/arch/sh/drivers/pci/ops-r7780rp.c
+++ b/arch/sh/drivers/pci/ops-r7780rp.c
@@ -40,8 +40,8 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
40 40
41static struct resource sh7780_io_resource = { 41static struct resource sh7780_io_resource = {
42 .name = "SH7780_IO", 42 .name = "SH7780_IO",
43 .start = 0x2000, 43 .start = SH7780_PCI_IO_BASE,
44 .end = 0x2000 + SH7780_PCI_IO_SIZE - 1, 44 .end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
45 .flags = IORESOURCE_IO 45 .flags = IORESOURCE_IO
46}; 46};
47 47
diff --git a/arch/sh/drivers/pci/ops-se7780.c b/arch/sh/drivers/pci/ops-se7780.c
index 212674df5e13..bbdb48c124a2 100644
--- a/arch/sh/drivers/pci/ops-se7780.c
+++ b/arch/sh/drivers/pci/ops-se7780.c
@@ -43,8 +43,8 @@ int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
43 43
44static struct resource se7780_io_resource = { 44static struct resource se7780_io_resource = {
45 .name = "SH7780_IO", 45 .name = "SH7780_IO",
46 .start = 0x2000, 46 .start = SH7780_PCI_IO_BASE,
47 .end = 0x2000 + SH7780_PCI_IO_SIZE - 1, 47 .end = SH7780_PCI_IO_BASE + SH7780_PCI_IO_SIZE - 1,
48 .flags = IORESOURCE_IO 48 .flags = IORESOURCE_IO
49}; 49};
50 50
diff --git a/arch/sh/drivers/pci/pci-sh7780.h b/arch/sh/drivers/pci/pci-sh7780.h
index 00d12d0f8c1f..1d069a859de2 100644
--- a/arch/sh/drivers/pci/pci-sh7780.h
+++ b/arch/sh/drivers/pci/pci-sh7780.h
@@ -30,7 +30,7 @@
30#define SH7780_PCI_MEMORY_BASE 0xFD000000 /* Memory space base addr */ 30#define SH7780_PCI_MEMORY_BASE 0xFD000000 /* Memory space base addr */
31#define SH7780_PCI_MEM_SIZE 0x01000000 /* Size of Memory window */ 31#define SH7780_PCI_MEM_SIZE 0x01000000 /* Size of Memory window */
32 32
33#define SH7780_PCI_IO_BASE 0xFE400000 /* IO space base address */ 33#define SH7780_PCI_IO_BASE 0xFE200000 /* IO space base address */
34#define SH7780_PCI_IO_SIZE 0x00400000 /* Size of IO window */ 34#define SH7780_PCI_IO_SIZE 0x00400000 /* Size of IO window */
35 35
36#define SH7780_PCIREG_BASE 0xFE040000 /* PCI regs base address */ 36#define SH7780_PCIREG_BASE 0xFE040000 /* PCI regs base address */
diff --git a/arch/sparc/kernel/devices.c b/arch/sparc/kernel/devices.c
index af90a5f9ab57..b240b8863fd0 100644
--- a/arch/sparc/kernel/devices.c
+++ b/arch/sparc/kernel/devices.c
@@ -62,8 +62,10 @@ static int __cpu_find_by(int (*compare)(int, int, void *), void *compare_arg,
62 int err = check_cpu_node(dp->node, &cur_inst, 62 int err = check_cpu_node(dp->node, &cur_inst,
63 compare, compare_arg, 63 compare, compare_arg,
64 prom_node, mid); 64 prom_node, mid);
65 if (!err) 65 if (!err) {
66 of_node_put(dp);
66 return 0; 67 return 0;
68 }
67 } 69 }
68 70
69 return -ENODEV; 71 return -ENODEV;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index f2d432edc92d..4cd5d7818dc6 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -329,7 +329,7 @@ int __init pcic_probe(void)
329 pcic->pcic_res_cfg_addr.name = "pcic_cfg_addr"; 329 pcic->pcic_res_cfg_addr.name = "pcic_cfg_addr";
330 if ((pcic->pcic_config_space_addr = 330 if ((pcic->pcic_config_space_addr =
331 ioremap(regs[2].phys_addr, regs[2].reg_size * 2)) == 0) { 331 ioremap(regs[2].phys_addr, regs[2].reg_size * 2)) == 0) {
332 prom_printf("PCIC: Error, cannot map" 332 prom_printf("PCIC: Error, cannot map "
333 "PCI Configuration Space Address.\n"); 333 "PCI Configuration Space Address.\n");
334 prom_halt(); 334 prom_halt();
335 } 335 }
@@ -341,7 +341,7 @@ int __init pcic_probe(void)
341 pcic->pcic_res_cfg_data.name = "pcic_cfg_data"; 341 pcic->pcic_res_cfg_data.name = "pcic_cfg_data";
342 if ((pcic->pcic_config_space_data = 342 if ((pcic->pcic_config_space_data =
343 ioremap(regs[3].phys_addr, regs[3].reg_size * 2)) == 0) { 343 ioremap(regs[3].phys_addr, regs[3].reg_size * 2)) == 0) {
344 prom_printf("PCIC: Error, cannot map" 344 prom_printf("PCIC: Error, cannot map "
345 "PCI Configuration Space Data.\n"); 345 "PCI Configuration Space Data.\n");
346 prom_halt(); 346 prom_halt();
347 } 347 }
@@ -518,8 +518,8 @@ static void pcic_map_pci_device(struct linux_pcic *pcic,
518 * board in a PCI slot. We must remap it 518 * board in a PCI slot. We must remap it
519 * under 64K but it is not done yet. XXX 519 * under 64K but it is not done yet. XXX
520 */ 520 */
521 printk("PCIC: Skipping I/O space at 0x%lx," 521 printk("PCIC: Skipping I/O space at 0x%lx, "
522 "this will Oops if a driver attaches;" 522 "this will Oops if a driver attaches "
523 "device '%s' at %02x:%02x)\n", address, 523 "device '%s' at %02x:%02x)\n", address,
524 namebuf, dev->bus->number, dev->devfn); 524 namebuf, dev->bus->number, dev->devfn);
525 } 525 }
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 22734ac08c8a..f62d9f6c5e2a 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc1 3# Linux kernel version: 2.6.24-rc4
4# Wed Oct 31 15:36:47 2007 4# Tue Dec 4 00:37:59 2007
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -47,6 +47,7 @@ CONFIG_POSIX_MQUEUE=y
47# CONFIG_BSD_PROCESS_ACCT is not set 47# CONFIG_BSD_PROCESS_ACCT is not set
48# CONFIG_TASKSTATS is not set 48# CONFIG_TASKSTATS is not set
49# CONFIG_USER_NS is not set 49# CONFIG_USER_NS is not set
50# CONFIG_PID_NS is not set
50# CONFIG_AUDIT is not set 51# CONFIG_AUDIT is not set
51# CONFIG_IKCONFIG is not set 52# CONFIG_IKCONFIG is not set
52CONFIG_LOG_BUF_SHIFT=18 53CONFIG_LOG_BUF_SHIFT=18
@@ -154,6 +155,7 @@ CONFIG_PCI_DOMAINS=y
154CONFIG_PCI_SYSCALL=y 155CONFIG_PCI_SYSCALL=y
155CONFIG_ARCH_SUPPORTS_MSI=y 156CONFIG_ARCH_SUPPORTS_MSI=y
156CONFIG_PCI_MSI=y 157CONFIG_PCI_MSI=y
158# CONFIG_PCI_LEGACY is not set
157# CONFIG_PCI_DEBUG is not set 159# CONFIG_PCI_DEBUG is not set
158CONFIG_SUN_OPENPROMFS=m 160CONFIG_SUN_OPENPROMFS=m
159CONFIG_SPARC32_COMPAT=y 161CONFIG_SPARC32_COMPAT=y
@@ -359,7 +361,6 @@ CONFIG_IDE_GENERIC=y
359CONFIG_BLK_DEV_IDEPCI=y 361CONFIG_BLK_DEV_IDEPCI=y
360# CONFIG_IDEPCI_SHARE_IRQ is not set 362# CONFIG_IDEPCI_SHARE_IRQ is not set
361CONFIG_IDEPCI_PCIBUS_ORDER=y 363CONFIG_IDEPCI_PCIBUS_ORDER=y
362# CONFIG_BLK_DEV_OFFBOARD is not set
363# CONFIG_BLK_DEV_GENERIC is not set 364# CONFIG_BLK_DEV_GENERIC is not set
364# CONFIG_BLK_DEV_OPTI621 is not set 365# CONFIG_BLK_DEV_OPTI621 is not set
365CONFIG_BLK_DEV_IDEDMA_PCI=y 366CONFIG_BLK_DEV_IDEDMA_PCI=y
@@ -584,7 +585,6 @@ CONFIG_NIU=m
584# CONFIG_USB_KAWETH is not set 585# CONFIG_USB_KAWETH is not set
585# CONFIG_USB_PEGASUS is not set 586# CONFIG_USB_PEGASUS is not set
586# CONFIG_USB_RTL8150 is not set 587# CONFIG_USB_RTL8150 is not set
587# CONFIG_USB_USBNET_MII is not set
588# CONFIG_USB_USBNET is not set 588# CONFIG_USB_USBNET is not set
589# CONFIG_WAN is not set 589# CONFIG_WAN is not set
590# CONFIG_FDDI is not set 590# CONFIG_FDDI is not set
@@ -780,6 +780,7 @@ CONFIG_HWMON=y
780# CONFIG_SENSORS_ADT7470 is not set 780# CONFIG_SENSORS_ADT7470 is not set
781# CONFIG_SENSORS_ATXP1 is not set 781# CONFIG_SENSORS_ATXP1 is not set
782# CONFIG_SENSORS_DS1621 is not set 782# CONFIG_SENSORS_DS1621 is not set
783# CONFIG_SENSORS_I5K_AMB is not set
783# CONFIG_SENSORS_F71805F is not set 784# CONFIG_SENSORS_F71805F is not set
784# CONFIG_SENSORS_F71882FG is not set 785# CONFIG_SENSORS_F71882FG is not set
785# CONFIG_SENSORS_F75375S is not set 786# CONFIG_SENSORS_F75375S is not set
diff --git a/arch/sparc64/kernel/chmc.c b/arch/sparc64/kernel/chmc.c
index 777d34577045..6d4f02e8a4cf 100644
--- a/arch/sparc64/kernel/chmc.c
+++ b/arch/sparc64/kernel/chmc.c
@@ -1,7 +1,6 @@
1/* $Id: chmc.c,v 1.4 2002/01/08 16:00:14 davem Exp $ 1/* memctrlr.c: Driver for UltraSPARC-III memory controller.
2 * memctrlr.c: Driver for UltraSPARC-III memory controller.
3 * 2 *
4 * Copyright (C) 2001 David S. Miller (davem@redhat.com) 3 * Copyright (C) 2001, 2007 David S. Miller (davem@davemloft.net)
5 */ 4 */
6 5
7#include <linux/module.h> 6#include <linux/module.h>
@@ -16,6 +15,7 @@
16#include <linux/init.h> 15#include <linux/init.h>
17#include <asm/spitfire.h> 16#include <asm/spitfire.h>
18#include <asm/chmctrl.h> 17#include <asm/chmctrl.h>
18#include <asm/cpudata.h>
19#include <asm/oplib.h> 19#include <asm/oplib.h>
20#include <asm/prom.h> 20#include <asm/prom.h>
21#include <asm/io.h> 21#include <asm/io.h>
@@ -242,8 +242,11 @@ int chmc_getunumber(int syndrome_code,
242 */ 242 */
243static u64 read_mcreg(struct mctrl_info *mp, unsigned long offset) 243static u64 read_mcreg(struct mctrl_info *mp, unsigned long offset)
244{ 244{
245 unsigned long ret; 245 unsigned long ret, this_cpu;
246 int this_cpu = get_cpu(); 246
247 preempt_disable();
248
249 this_cpu = real_hard_smp_processor_id();
247 250
248 if (mp->portid == this_cpu) { 251 if (mp->portid == this_cpu) {
249 __asm__ __volatile__("ldxa [%1] %2, %0" 252 __asm__ __volatile__("ldxa [%1] %2, %0"
@@ -255,7 +258,8 @@ static u64 read_mcreg(struct mctrl_info *mp, unsigned long offset)
255 : "r" (mp->regs + offset), 258 : "r" (mp->regs + offset),
256 "i" (ASI_PHYS_BYPASS_EC_E)); 259 "i" (ASI_PHYS_BYPASS_EC_E));
257 } 260 }
258 put_cpu(); 261
262 preempt_enable();
259 263
260 return ret; 264 return ret;
261} 265}
diff --git a/arch/sparc64/kernel/isa.c b/arch/sparc64/kernel/isa.c
index 0f19dce1c905..b5f7b354084f 100644
--- a/arch/sparc64/kernel/isa.c
+++ b/arch/sparc64/kernel/isa.c
@@ -155,6 +155,7 @@ void __init isa_init(void)
155 isa_br = kzalloc(sizeof(*isa_br), GFP_KERNEL); 155 isa_br = kzalloc(sizeof(*isa_br), GFP_KERNEL);
156 if (!isa_br) { 156 if (!isa_br) {
157 printk(KERN_DEBUG "isa: cannot allocate sparc_isa_bridge"); 157 printk(KERN_DEBUG "isa: cannot allocate sparc_isa_bridge");
158 pci_dev_put(pdev);
158 return; 159 return;
159 } 160 }
160 161
@@ -168,6 +169,7 @@ void __init isa_init(void)
168 printk(KERN_DEBUG "isa: device registration error for %s!\n", 169 printk(KERN_DEBUG "isa: device registration error for %s!\n",
169 dp->path_component_name); 170 dp->path_component_name);
170 kfree(isa_br); 171 kfree(isa_br);
172 pci_dev_put(pdev);
171 return; 173 return;
172 } 174 }
173 175
diff --git a/arch/sparc64/kernel/ldc.c b/arch/sparc64/kernel/ldc.c
index 217478a94128..63969f610284 100644
--- a/arch/sparc64/kernel/ldc.c
+++ b/arch/sparc64/kernel/ldc.c
@@ -2338,6 +2338,7 @@ static int __init ldc_init(void)
2338 unsigned long major, minor; 2338 unsigned long major, minor;
2339 struct mdesc_handle *hp; 2339 struct mdesc_handle *hp;
2340 const u64 *v; 2340 const u64 *v;
2341 int err;
2341 u64 mp; 2342 u64 mp;
2342 2343
2343 hp = mdesc_grab(); 2344 hp = mdesc_grab();
@@ -2345,29 +2346,33 @@ static int __init ldc_init(void)
2345 return -ENODEV; 2346 return -ENODEV;
2346 2347
2347 mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform"); 2348 mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform");
2349 err = -ENODEV;
2348 if (mp == MDESC_NODE_NULL) 2350 if (mp == MDESC_NODE_NULL)
2349 return -ENODEV; 2351 goto out;
2350 2352
2351 v = mdesc_get_property(hp, mp, "domaining-enabled", NULL); 2353 v = mdesc_get_property(hp, mp, "domaining-enabled", NULL);
2352 if (!v) 2354 if (!v)
2353 return -ENODEV; 2355 goto out;
2354 2356
2355 major = 1; 2357 major = 1;
2356 minor = 0; 2358 minor = 0;
2357 if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) { 2359 if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) {
2358 printk(KERN_INFO PFX "Could not register LDOM hvapi.\n"); 2360 printk(KERN_INFO PFX "Could not register LDOM hvapi.\n");
2359 return -ENODEV; 2361 goto out;
2360 } 2362 }
2361 2363
2362 printk(KERN_INFO "%s", version); 2364 printk(KERN_INFO "%s", version);
2363 2365
2364 if (!*v) { 2366 if (!*v) {
2365 printk(KERN_INFO PFX "Domaining disabled.\n"); 2367 printk(KERN_INFO PFX "Domaining disabled.\n");
2366 return -ENODEV; 2368 goto out;
2367 } 2369 }
2368 ldom_domaining_enabled = 1; 2370 ldom_domaining_enabled = 1;
2371 err = 0;
2369 2372
2370 return 0; 2373out:
2374 mdesc_release(hp);
2375 return err;
2371} 2376}
2372 2377
2373core_initcall(ldc_init); 2378core_initcall(ldc_init);
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index 8c4875bdb4a8..e587a372f3fe 100644
--- a/arch/sparc64/kernel/pci_sun4v.c
+++ b/arch/sparc64/kernel/pci_sun4v.c
@@ -1022,6 +1022,10 @@ void __init sun4v_pci_init(struct device_node *dp, char *model_name)
1022 } 1022 }
1023 1023
1024 prop = of_find_property(dp, "reg", NULL); 1024 prop = of_find_property(dp, "reg", NULL);
1025 if (!prop) {
1026 prom_printf("SUN4V_PCI: Could not find config registers\n");
1027 prom_halt();
1028 }
1025 regs = prop->value; 1029 regs = prop->value;
1026 1030
1027 devhandle = (regs->phys_addr >> 32UL) & 0x0fffffff; 1031 devhandle = (regs->phys_addr >> 32UL) & 0x0fffffff;
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 7cd8d94df0dc..894b506f9636 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -236,8 +236,9 @@ void smp_synchronize_tick_client(void)
236 t[i].rt, t[i].master, t[i].diff, t[i].lat); 236 t[i].rt, t[i].master, t[i].diff, t[i].lat);
237#endif 237#endif
238 238
239 printk(KERN_INFO "CPU %d: synchronized TICK with master CPU (last diff %ld cycles," 239 printk(KERN_INFO "CPU %d: synchronized TICK with master CPU "
240 "maxerr %lu cycles)\n", smp_processor_id(), delta, rt); 240 "(last diff %ld cycles, maxerr %lu cycles)\n",
241 smp_processor_id(), delta, rt);
241} 242}
242 243
243static void smp_start_sync_tick_client(int cpu); 244static void smp_start_sync_tick_client(int cpu);
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
index e0ac74e5d4c4..717f5d3440e3 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.i386
@@ -8,6 +8,13 @@ config UML_X86
8 bool 8 bool
9 default y 9 default y
10 10
11config X86_32
12 bool
13 default y
14
15config RWSEM_XCHGADD_ALGORITHM
16 def_bool y
17
11config 64BIT 18config 64BIT
12 bool 19 bool
13 default n 20 default n
diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386
index 67290117d909..561e373bd850 100644
--- a/arch/um/Makefile-i386
+++ b/arch/um/Makefile-i386
@@ -22,11 +22,6 @@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
22endif 22endif
23endif 23endif
24 24
25KBUILD_CFLAGS += -DCONFIG_X86_32
26KBUILD_AFLAGS += -DCONFIG_X86_32
27CONFIG_X86_32 := y
28export CONFIG_X86_32
29
30# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y. 25# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
31include $(srctree)/arch/x86/Makefile_32.cpu 26include $(srctree)/arch/x86/Makefile_32.cpu
32 27
diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c
index b88e93b3a39f..025764089ac8 100644
--- a/arch/um/drivers/chan_user.c
+++ b/arch/um/drivers/chan_user.c
@@ -74,10 +74,16 @@ void generic_free(void *data)
74 74
75int generic_console_write(int fd, const char *buf, int n) 75int generic_console_write(int fd, const char *buf, int n)
76{ 76{
77 sigset_t old, no_sigio;
77 struct termios save, new; 78 struct termios save, new;
78 int err; 79 int err;
79 80
80 if (isatty(fd)) { 81 if (isatty(fd)) {
82 sigemptyset(&no_sigio);
83 sigaddset(&no_sigio, SIGIO);
84 if (sigprocmask(SIG_BLOCK, &no_sigio, &old))
85 goto error;
86
81 CATCH_EINTR(err = tcgetattr(fd, &save)); 87 CATCH_EINTR(err = tcgetattr(fd, &save));
82 if (err) 88 if (err)
83 goto error; 89 goto error;
@@ -97,8 +103,11 @@ int generic_console_write(int fd, const char *buf, int n)
97 * Restore raw mode, in any case; we *must* ignore any error apart 103 * Restore raw mode, in any case; we *must* ignore any error apart
98 * EINTR, except for debug. 104 * EINTR, except for debug.
99 */ 105 */
100 if (isatty(fd)) 106 if (isatty(fd)) {
101 CATCH_EINTR(tcsetattr(fd, TCSAFLUSH, &save)); 107 CATCH_EINTR(tcsetattr(fd, TCSAFLUSH, &save));
108 sigprocmask(SIG_SETMASK, &old, NULL);
109 }
110
102 return err; 111 return err;
103error: 112error:
104 return -errno; 113 return -errno;
diff --git a/arch/um/os-Linux/time.c b/arch/um/os-Linux/time.c
index ef02d941c2ad..e49280599465 100644
--- a/arch/um/os-Linux/time.c
+++ b/arch/um/os-Linux/time.c
@@ -77,6 +77,7 @@ long long os_nsecs(void)
77#ifdef UML_CONFIG_NO_HZ 77#ifdef UML_CONFIG_NO_HZ
78static int after_sleep_interval(struct timespec *ts) 78static int after_sleep_interval(struct timespec *ts)
79{ 79{
80 return 0;
80} 81}
81#else 82#else
82static inline long long timespec_to_us(const struct timespec *ts) 83static inline long long timespec_to_us(const struct timespec *ts)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 368864dfe6eb..80b7ba4056db 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -112,8 +112,9 @@ config GENERIC_TIME_VSYSCALL
112 bool 112 bool
113 default X86_64 113 default X86_64
114 114
115 115config ARCH_SUPPORTS_OPROFILE
116 116 bool
117 default y
117 118
118 119
119config ZONE_DMA32 120config ZONE_DMA32
@@ -148,7 +149,8 @@ config X86_SMP
148 149
149config X86_HT 150config X86_HT
150 bool 151 bool
151 depends on SMP && !(X86_VISWS || X86_VOYAGER || MK8) 152 depends on SMP
153 depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || (X86_64 && !MK8)
152 default y 154 default y
153 155
154config X86_BIOS_REBOOT 156config X86_BIOS_REBOOT
diff --git a/arch/x86/kernel/acpi/wakeup_32.S b/arch/x86/kernel/acpi/wakeup_32.S
index a97313b1270e..1e931aaf2ef6 100644
--- a/arch/x86/kernel/acpi/wakeup_32.S
+++ b/arch/x86/kernel/acpi/wakeup_32.S
@@ -35,10 +35,6 @@ wakeup_code:
35 wakeup_code_start = . 35 wakeup_code_start = .
36 .code16 36 .code16
37 37
38 movw $0xb800, %ax
39 movw %ax,%fs
40 movw $0x0e00 + 'L', %fs:(0x10)
41
42 cli 38 cli
43 cld 39 cld
44 40
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
index 9921b01fe199..606fe4d55a91 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -497,7 +497,7 @@ static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) {}
497static void __cpuinit cache_remove_shared_cpu_map(unsigned int cpu, int index) {} 497static void __cpuinit cache_remove_shared_cpu_map(unsigned int cpu, int index) {}
498#endif 498#endif
499 499
500static void free_cache_attributes(unsigned int cpu) 500static void __cpuinit free_cache_attributes(unsigned int cpu)
501{ 501{
502 int i; 502 int i;
503 503
diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
index 8bb482ff091b..9a5fa0abfcc7 100644
--- a/arch/x86/kernel/crash.c
+++ b/arch/x86/kernel/crash.c
@@ -22,6 +22,7 @@
22#include <asm/nmi.h> 22#include <asm/nmi.h>
23#include <asm/hw_irq.h> 23#include <asm/hw_irq.h>
24#include <asm/apic.h> 24#include <asm/apic.h>
25#include <asm/hpet.h>
25#include <linux/kdebug.h> 26#include <linux/kdebug.h>
26#include <asm/smp.h> 27#include <asm/smp.h>
27 28
@@ -140,5 +141,8 @@ void machine_crash_shutdown(struct pt_regs *regs)
140#if defined(CONFIG_X86_IO_APIC) 141#if defined(CONFIG_X86_IO_APIC)
141 disable_IO_APIC(); 142 disable_IO_APIC();
142#endif 143#endif
144#ifdef CONFIG_HPET_TIMER
145 hpet_disable();
146#endif
143 crash_save_cpu(regs, safe_smp_processor_id()); 147 crash_save_cpu(regs, safe_smp_processor_id());
144} 148}
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 374b7ece8961..ac0637a6d71c 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -193,6 +193,12 @@ default_entry:
193 jb 10b 193 jb 10b
194 movl %edi,(init_pg_tables_end - __PAGE_OFFSET) 194 movl %edi,(init_pg_tables_end - __PAGE_OFFSET)
195 195
196 /* Do an early initialization of the fixmap area */
197 movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
198 movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
199 addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */
200 movl %eax, 4092(%edx)
201
196 xorl %ebx,%ebx /* This is the boot CPU (BSP) */ 202 xorl %ebx,%ebx /* This is the boot CPU (BSP) */
197 jmp 3f 203 jmp 3f
198/* 204/*
@@ -208,12 +214,6 @@ default_entry:
208.section .init.text,"ax",@progbits 214.section .init.text,"ax",@progbits
209#endif 215#endif
210 216
211 /* Do an early initialization of the fixmap area */
212 movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
213 movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
214 addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */
215 movl %eax, 4092(%edx)
216
217#ifdef CONFIG_SMP 217#ifdef CONFIG_SMP
218ENTRY(startup_32_smp) 218ENTRY(startup_32_smp)
219 cld 219 cld
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 53303f2e5475..4a86ffd67ec5 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -446,6 +446,20 @@ static __init int hpet_late_init(void)
446} 446}
447fs_initcall(hpet_late_init); 447fs_initcall(hpet_late_init);
448 448
449void hpet_disable(void)
450{
451 if (is_hpet_capable()) {
452 unsigned long cfg = hpet_readl(HPET_CFG);
453
454 if (hpet_legacy_int_enabled) {
455 cfg &= ~HPET_CFG_LEGACY;
456 hpet_legacy_int_enabled = 0;
457 }
458 cfg &= ~HPET_CFG_ENABLE;
459 hpet_writel(cfg, HPET_CFG);
460 }
461}
462
449#ifdef CONFIG_HPET_EMULATE_RTC 463#ifdef CONFIG_HPET_EMULATE_RTC
450 464
451/* HPET in LegacyReplacement Mode eats up RTC interrupt line. When, HPET 465/* HPET in LegacyReplacement Mode eats up RTC interrupt line. When, HPET
diff --git a/arch/x86/kernel/nmi_32.c b/arch/x86/kernel/nmi_32.c
index f5cc47c60b13..80ca72e5ac29 100644
--- a/arch/x86/kernel/nmi_32.c
+++ b/arch/x86/kernel/nmi_32.c
@@ -106,7 +106,8 @@ static int __init check_nmi_watchdog(void)
106 if (!per_cpu(wd_enabled, cpu)) 106 if (!per_cpu(wd_enabled, cpu))
107 continue; 107 continue;
108 if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) { 108 if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) {
109 printk("CPU#%d: NMI appears to be stuck (%d->%d)!\n", 109 printk(KERN_WARNING "WARNING: CPU#%d: NMI "
110 "appears to be stuck (%d->%d)!\n",
110 cpu, 111 cpu,
111 prev_nmi_count[cpu], 112 prev_nmi_count[cpu],
112 nmi_count(cpu)); 113 nmi_count(cpu));
diff --git a/arch/x86/kernel/nmi_64.c b/arch/x86/kernel/nmi_64.c
index a576fd740062..4253c4e8849c 100644
--- a/arch/x86/kernel/nmi_64.c
+++ b/arch/x86/kernel/nmi_64.c
@@ -109,7 +109,8 @@ int __init check_nmi_watchdog (void)
109 if (!per_cpu(wd_enabled, cpu)) 109 if (!per_cpu(wd_enabled, cpu))
110 continue; 110 continue;
111 if (cpu_pda(cpu)->__nmi_count - counts[cpu] <= 5) { 111 if (cpu_pda(cpu)->__nmi_count - counts[cpu] <= 5) {
112 printk("CPU#%d: NMI appears to be stuck (%d->%d)!\n", 112 printk(KERN_WARNING "WARNING: CPU#%d: NMI "
113 "appears to be stuck (%d->%d)!\n",
113 cpu, 114 cpu,
114 counts[cpu], 115 counts[cpu],
115 cpu_pda(cpu)->__nmi_count); 116 cpu_pda(cpu)->__nmi_count);
diff --git a/arch/x86/kernel/reboot_32.c b/arch/x86/kernel/reboot_32.c
index 9e2269d00918..bb1a0f889c5e 100644
--- a/arch/x86/kernel/reboot_32.c
+++ b/arch/x86/kernel/reboot_32.c
@@ -11,6 +11,7 @@
11#include <linux/reboot.h> 11#include <linux/reboot.h>
12#include <asm/uaccess.h> 12#include <asm/uaccess.h>
13#include <asm/apic.h> 13#include <asm/apic.h>
14#include <asm/hpet.h>
14#include <asm/desc.h> 15#include <asm/desc.h>
15#include "mach_reboot.h" 16#include "mach_reboot.h"
16#include <asm/reboot_fixups.h> 17#include <asm/reboot_fixups.h>
@@ -326,6 +327,9 @@ static void native_machine_shutdown(void)
326#ifdef CONFIG_X86_IO_APIC 327#ifdef CONFIG_X86_IO_APIC
327 disable_IO_APIC(); 328 disable_IO_APIC();
328#endif 329#endif
330#ifdef CONFIG_HPET_TIMER
331 hpet_disable();
332#endif
329} 333}
330 334
331void __attribute__((weak)) mach_reboot_fixups(void) 335void __attribute__((weak)) mach_reboot_fixups(void)
diff --git a/arch/x86/kernel/reboot_64.c b/arch/x86/kernel/reboot_64.c
index 71b13c5f5817..53620a92a8fd 100644
--- a/arch/x86/kernel/reboot_64.c
+++ b/arch/x86/kernel/reboot_64.c
@@ -17,6 +17,7 @@
17#include <asm/pgtable.h> 17#include <asm/pgtable.h>
18#include <asm/tlbflush.h> 18#include <asm/tlbflush.h>
19#include <asm/apic.h> 19#include <asm/apic.h>
20#include <asm/hpet.h>
20#include <asm/gart.h> 21#include <asm/gart.h>
21 22
22/* 23/*
@@ -113,6 +114,9 @@ void machine_shutdown(void)
113 114
114 disable_IO_APIC(); 115 disable_IO_APIC();
115 116
117#ifdef CONFIG_HPET_TIMER
118 hpet_disable();
119#endif
116 local_irq_restore(flags); 120 local_irq_restore(flags);
117 121
118 pci_iommu_shutdown(); 122 pci_iommu_shutdown();
diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c
index 8caa0b777466..7e16d675eb85 100644
--- a/arch/x86/kernel/topology.c
+++ b/arch/x86/kernel/topology.c
@@ -33,7 +33,7 @@
33 33
34static struct i386_cpu cpu_devices[NR_CPUS]; 34static struct i386_cpu cpu_devices[NR_CPUS];
35 35
36int arch_register_cpu(int num) 36int __cpuinit arch_register_cpu(int num)
37{ 37{
38 /* 38 /*
39 * CPU0 cannot be offlined due to several 39 * CPU0 cannot be offlined due to several
@@ -53,7 +53,8 @@ int arch_register_cpu(int num)
53} 53}
54 54
55#ifdef CONFIG_HOTPLUG_CPU 55#ifdef CONFIG_HOTPLUG_CPU
56void arch_unregister_cpu(int num) { 56void arch_unregister_cpu(int num)
57{
57 return unregister_cpu(&cpu_devices[num].cpu); 58 return unregister_cpu(&cpu_devices[num].cpu);
58} 59}
59EXPORT_SYMBOL(arch_register_cpu); 60EXPORT_SYMBOL(arch_register_cpu);
diff --git a/crypto/fcrypt.c b/crypto/fcrypt.c
index d161949fdb94..a32cb68bbc60 100644
--- a/crypto/fcrypt.c
+++ b/crypto/fcrypt.c
@@ -51,7 +51,7 @@
51#define ROUNDS 16 51#define ROUNDS 16
52 52
53struct fcrypt_ctx { 53struct fcrypt_ctx {
54 u32 sched[ROUNDS]; 54 __be32 sched[ROUNDS];
55}; 55};
56 56
57/* Rotate right two 32 bit numbers as a 56 bit number */ 57/* Rotate right two 32 bit numbers as a 56 bit number */
@@ -73,8 +73,8 @@ do { \
73 * /afs/transarc.com/public/afsps/afs.rel31b.export-src/rxkad/sboxes.h 73 * /afs/transarc.com/public/afsps/afs.rel31b.export-src/rxkad/sboxes.h
74 */ 74 */
75#undef Z 75#undef Z
76#define Z(x) __constant_be32_to_cpu(x << 3) 76#define Z(x) __constant_cpu_to_be32(x << 3)
77static const u32 sbox0[256] = { 77static const __be32 sbox0[256] = {
78 Z(0xea), Z(0x7f), Z(0xb2), Z(0x64), Z(0x9d), Z(0xb0), Z(0xd9), Z(0x11), 78 Z(0xea), Z(0x7f), Z(0xb2), Z(0x64), Z(0x9d), Z(0xb0), Z(0xd9), Z(0x11),
79 Z(0xcd), Z(0x86), Z(0x86), Z(0x91), Z(0x0a), Z(0xb2), Z(0x93), Z(0x06), 79 Z(0xcd), Z(0x86), Z(0x86), Z(0x91), Z(0x0a), Z(0xb2), Z(0x93), Z(0x06),
80 Z(0x0e), Z(0x06), Z(0xd2), Z(0x65), Z(0x73), Z(0xc5), Z(0x28), Z(0x60), 80 Z(0x0e), Z(0x06), Z(0xd2), Z(0x65), Z(0x73), Z(0xc5), Z(0x28), Z(0x60),
@@ -110,8 +110,8 @@ static const u32 sbox0[256] = {
110}; 110};
111 111
112#undef Z 112#undef Z
113#define Z(x) __constant_be32_to_cpu((x << 27) | (x >> 5)) 113#define Z(x) __constant_cpu_to_be32((x << 27) | (x >> 5))
114static const u32 sbox1[256] = { 114static const __be32 sbox1[256] = {
115 Z(0x77), Z(0x14), Z(0xa6), Z(0xfe), Z(0xb2), Z(0x5e), Z(0x8c), Z(0x3e), 115 Z(0x77), Z(0x14), Z(0xa6), Z(0xfe), Z(0xb2), Z(0x5e), Z(0x8c), Z(0x3e),
116 Z(0x67), Z(0x6c), Z(0xa1), Z(0x0d), Z(0xc2), Z(0xa2), Z(0xc1), Z(0x85), 116 Z(0x67), Z(0x6c), Z(0xa1), Z(0x0d), Z(0xc2), Z(0xa2), Z(0xc1), Z(0x85),
117 Z(0x6c), Z(0x7b), Z(0x67), Z(0xc6), Z(0x23), Z(0xe3), Z(0xf2), Z(0x89), 117 Z(0x6c), Z(0x7b), Z(0x67), Z(0xc6), Z(0x23), Z(0xe3), Z(0xf2), Z(0x89),
@@ -147,8 +147,8 @@ static const u32 sbox1[256] = {
147}; 147};
148 148
149#undef Z 149#undef Z
150#define Z(x) __constant_be32_to_cpu(x << 11) 150#define Z(x) __constant_cpu_to_be32(x << 11)
151static const u32 sbox2[256] = { 151static const __be32 sbox2[256] = {
152 Z(0xf0), Z(0x37), Z(0x24), Z(0x53), Z(0x2a), Z(0x03), Z(0x83), Z(0x86), 152 Z(0xf0), Z(0x37), Z(0x24), Z(0x53), Z(0x2a), Z(0x03), Z(0x83), Z(0x86),
153 Z(0xd1), Z(0xec), Z(0x50), Z(0xf0), Z(0x42), Z(0x78), Z(0x2f), Z(0x6d), 153 Z(0xd1), Z(0xec), Z(0x50), Z(0xf0), Z(0x42), Z(0x78), Z(0x2f), Z(0x6d),
154 Z(0xbf), Z(0x80), Z(0x87), Z(0x27), Z(0x95), Z(0xe2), Z(0xc5), Z(0x5d), 154 Z(0xbf), Z(0x80), Z(0x87), Z(0x27), Z(0x95), Z(0xe2), Z(0xc5), Z(0x5d),
@@ -184,8 +184,8 @@ static const u32 sbox2[256] = {
184}; 184};
185 185
186#undef Z 186#undef Z
187#define Z(x) __constant_be32_to_cpu(x << 19) 187#define Z(x) __constant_cpu_to_be32(x << 19)
188static const u32 sbox3[256] = { 188static const __be32 sbox3[256] = {
189 Z(0xa9), Z(0x2a), Z(0x48), Z(0x51), Z(0x84), Z(0x7e), Z(0x49), Z(0xe2), 189 Z(0xa9), Z(0x2a), Z(0x48), Z(0x51), Z(0x84), Z(0x7e), Z(0x49), Z(0xe2),
190 Z(0xb5), Z(0xb7), Z(0x42), Z(0x33), Z(0x7d), Z(0x5d), Z(0xa6), Z(0x12), 190 Z(0xb5), Z(0xb7), Z(0x42), Z(0x33), Z(0x7d), Z(0x5d), Z(0xa6), Z(0x12),
191 Z(0x44), Z(0x48), Z(0x6d), Z(0x28), Z(0xaa), Z(0x20), Z(0x6d), Z(0x57), 191 Z(0x44), Z(0x48), Z(0x6d), Z(0x28), Z(0xaa), Z(0x20), Z(0x6d), Z(0x57),
@@ -225,7 +225,7 @@ static const u32 sbox3[256] = {
225 */ 225 */
226#define F_ENCRYPT(R, L, sched) \ 226#define F_ENCRYPT(R, L, sched) \
227do { \ 227do { \
228 union lc4 { u32 l; u8 c[4]; } u; \ 228 union lc4 { __be32 l; u8 c[4]; } u; \
229 u.l = sched ^ R; \ 229 u.l = sched ^ R; \
230 L ^= sbox0[u.c[0]] ^ sbox1[u.c[1]] ^ sbox2[u.c[2]] ^ sbox3[u.c[3]]; \ 230 L ^= sbox0[u.c[0]] ^ sbox1[u.c[1]] ^ sbox2[u.c[2]] ^ sbox3[u.c[3]]; \
231} while(0) 231} while(0)
@@ -237,7 +237,7 @@ static void fcrypt_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
237{ 237{
238 const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm); 238 const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm);
239 struct { 239 struct {
240 u32 l, r; 240 __be32 l, r;
241 } X; 241 } X;
242 242
243 memcpy(&X, src, sizeof(X)); 243 memcpy(&X, src, sizeof(X));
@@ -269,7 +269,7 @@ static void fcrypt_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
269{ 269{
270 const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm); 270 const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm);
271 struct { 271 struct {
272 u32 l, r; 272 __be32 l, r;
273 } X; 273 } X;
274 274
275 memcpy(&X, src, sizeof(X)); 275 memcpy(&X, src, sizeof(X));
@@ -328,22 +328,22 @@ static int fcrypt_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key
328 k |= (*key) >> 1; 328 k |= (*key) >> 1;
329 329
330 /* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */ 330 /* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */
331 ctx->sched[0x0] = be32_to_cpu(k); ror56_64(k, 11); 331 ctx->sched[0x0] = cpu_to_be32(k); ror56_64(k, 11);
332 ctx->sched[0x1] = be32_to_cpu(k); ror56_64(k, 11); 332 ctx->sched[0x1] = cpu_to_be32(k); ror56_64(k, 11);
333 ctx->sched[0x2] = be32_to_cpu(k); ror56_64(k, 11); 333 ctx->sched[0x2] = cpu_to_be32(k); ror56_64(k, 11);
334 ctx->sched[0x3] = be32_to_cpu(k); ror56_64(k, 11); 334 ctx->sched[0x3] = cpu_to_be32(k); ror56_64(k, 11);
335 ctx->sched[0x4] = be32_to_cpu(k); ror56_64(k, 11); 335 ctx->sched[0x4] = cpu_to_be32(k); ror56_64(k, 11);
336 ctx->sched[0x5] = be32_to_cpu(k); ror56_64(k, 11); 336 ctx->sched[0x5] = cpu_to_be32(k); ror56_64(k, 11);
337 ctx->sched[0x6] = be32_to_cpu(k); ror56_64(k, 11); 337 ctx->sched[0x6] = cpu_to_be32(k); ror56_64(k, 11);
338 ctx->sched[0x7] = be32_to_cpu(k); ror56_64(k, 11); 338 ctx->sched[0x7] = cpu_to_be32(k); ror56_64(k, 11);
339 ctx->sched[0x8] = be32_to_cpu(k); ror56_64(k, 11); 339 ctx->sched[0x8] = cpu_to_be32(k); ror56_64(k, 11);
340 ctx->sched[0x9] = be32_to_cpu(k); ror56_64(k, 11); 340 ctx->sched[0x9] = cpu_to_be32(k); ror56_64(k, 11);
341 ctx->sched[0xa] = be32_to_cpu(k); ror56_64(k, 11); 341 ctx->sched[0xa] = cpu_to_be32(k); ror56_64(k, 11);
342 ctx->sched[0xb] = be32_to_cpu(k); ror56_64(k, 11); 342 ctx->sched[0xb] = cpu_to_be32(k); ror56_64(k, 11);
343 ctx->sched[0xc] = be32_to_cpu(k); ror56_64(k, 11); 343 ctx->sched[0xc] = cpu_to_be32(k); ror56_64(k, 11);
344 ctx->sched[0xd] = be32_to_cpu(k); ror56_64(k, 11); 344 ctx->sched[0xd] = cpu_to_be32(k); ror56_64(k, 11);
345 ctx->sched[0xe] = be32_to_cpu(k); ror56_64(k, 11); 345 ctx->sched[0xe] = cpu_to_be32(k); ror56_64(k, 11);
346 ctx->sched[0xf] = be32_to_cpu(k); 346 ctx->sched[0xf] = cpu_to_be32(k);
347 347
348 return 0; 348 return 0;
349#else 349#else
@@ -369,22 +369,22 @@ static int fcrypt_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key
369 lo |= (*key) >> 1; 369 lo |= (*key) >> 1;
370 370
371 /* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */ 371 /* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */
372 ctx->sched[0x0] = be32_to_cpu(lo); ror56(hi, lo, 11); 372 ctx->sched[0x0] = cpu_to_be32(lo); ror56(hi, lo, 11);
373 ctx->sched[0x1] = be32_to_cpu(lo); ror56(hi, lo, 11); 373 ctx->sched[0x1] = cpu_to_be32(lo); ror56(hi, lo, 11);
374 ctx->sched[0x2] = be32_to_cpu(lo); ror56(hi, lo, 11); 374 ctx->sched[0x2] = cpu_to_be32(lo); ror56(hi, lo, 11);
375 ctx->sched[0x3] = be32_to_cpu(lo); ror56(hi, lo, 11); 375 ctx->sched[0x3] = cpu_to_be32(lo); ror56(hi, lo, 11);
376 ctx->sched[0x4] = be32_to_cpu(lo); ror56(hi, lo, 11); 376 ctx->sched[0x4] = cpu_to_be32(lo); ror56(hi, lo, 11);
377 ctx->sched[0x5] = be32_to_cpu(lo); ror56(hi, lo, 11); 377 ctx->sched[0x5] = cpu_to_be32(lo); ror56(hi, lo, 11);
378 ctx->sched[0x6] = be32_to_cpu(lo); ror56(hi, lo, 11); 378 ctx->sched[0x6] = cpu_to_be32(lo); ror56(hi, lo, 11);
379 ctx->sched[0x7] = be32_to_cpu(lo); ror56(hi, lo, 11); 379 ctx->sched[0x7] = cpu_to_be32(lo); ror56(hi, lo, 11);
380 ctx->sched[0x8] = be32_to_cpu(lo); ror56(hi, lo, 11); 380 ctx->sched[0x8] = cpu_to_be32(lo); ror56(hi, lo, 11);
381 ctx->sched[0x9] = be32_to_cpu(lo); ror56(hi, lo, 11); 381 ctx->sched[0x9] = cpu_to_be32(lo); ror56(hi, lo, 11);
382 ctx->sched[0xa] = be32_to_cpu(lo); ror56(hi, lo, 11); 382 ctx->sched[0xa] = cpu_to_be32(lo); ror56(hi, lo, 11);
383 ctx->sched[0xb] = be32_to_cpu(lo); ror56(hi, lo, 11); 383 ctx->sched[0xb] = cpu_to_be32(lo); ror56(hi, lo, 11);
384 ctx->sched[0xc] = be32_to_cpu(lo); ror56(hi, lo, 11); 384 ctx->sched[0xc] = cpu_to_be32(lo); ror56(hi, lo, 11);
385 ctx->sched[0xd] = be32_to_cpu(lo); ror56(hi, lo, 11); 385 ctx->sched[0xd] = cpu_to_be32(lo); ror56(hi, lo, 11);
386 ctx->sched[0xe] = be32_to_cpu(lo); ror56(hi, lo, 11); 386 ctx->sched[0xe] = cpu_to_be32(lo); ror56(hi, lo, 11);
387 ctx->sched[0xf] = be32_to_cpu(lo); 387 ctx->sched[0xf] = cpu_to_be32(lo);
388 return 0; 388 return 0;
389#endif 389#endif
390} 390}
diff --git a/drivers/acpi/dispatcher/dsobject.c b/drivers/acpi/dispatcher/dsobject.c
index a474ca2334d5..954ac8ce958a 100644
--- a/drivers/acpi/dispatcher/dsobject.c
+++ b/drivers/acpi/dispatcher/dsobject.c
@@ -137,6 +137,71 @@ acpi_ds_build_internal_object(struct acpi_walk_state *walk_state,
137 return_ACPI_STATUS(status); 137 return_ACPI_STATUS(status);
138 } 138 }
139 } 139 }
140
141 /* Special object resolution for elements of a package */
142
143 if ((op->common.parent->common.aml_opcode == AML_PACKAGE_OP) ||
144 (op->common.parent->common.aml_opcode ==
145 AML_VAR_PACKAGE_OP)) {
146 /*
147 * Attempt to resolve the node to a value before we insert it into
148 * the package. If this is a reference to a common data type,
149 * resolve it immediately. According to the ACPI spec, package
150 * elements can only be "data objects" or method references.
151 * Attempt to resolve to an Integer, Buffer, String or Package.
152 * If cannot, return the named reference (for things like Devices,
153 * Methods, etc.) Buffer Fields and Fields will resolve to simple
154 * objects (int/buf/str/pkg).
155 *
156 * NOTE: References to things like Devices, Methods, Mutexes, etc.
157 * will remain as named references. This behavior is not described
158 * in the ACPI spec, but it appears to be an oversight.
159 */
160 obj_desc = (union acpi_operand_object *)op->common.node;
161
162 status =
163 acpi_ex_resolve_node_to_value(ACPI_CAST_INDIRECT_PTR
164 (struct
165 acpi_namespace_node,
166 &obj_desc),
167 walk_state);
168 if (ACPI_FAILURE(status)) {
169 return_ACPI_STATUS(status);
170 }
171
172 switch (op->common.node->type) {
173 /*
174 * For these types, we need the actual node, not the subobject.
175 * However, the subobject got an extra reference count above.
176 */
177 case ACPI_TYPE_MUTEX:
178 case ACPI_TYPE_METHOD:
179 case ACPI_TYPE_POWER:
180 case ACPI_TYPE_PROCESSOR:
181 case ACPI_TYPE_EVENT:
182 case ACPI_TYPE_REGION:
183 case ACPI_TYPE_DEVICE:
184 case ACPI_TYPE_THERMAL:
185
186 obj_desc =
187 (union acpi_operand_object *)op->common.
188 node;
189 break;
190
191 default:
192 break;
193 }
194
195 /*
196 * If above resolved to an operand object, we are done. Otherwise,
197 * we have a NS node, we must create the package entry as a named
198 * reference.
199 */
200 if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) !=
201 ACPI_DESC_TYPE_NAMED) {
202 goto exit;
203 }
204 }
140 } 205 }
141 206
142 /* Create and init a new internal ACPI object */ 207 /* Create and init a new internal ACPI object */
@@ -156,6 +221,7 @@ acpi_ds_build_internal_object(struct acpi_walk_state *walk_state,
156 return_ACPI_STATUS(status); 221 return_ACPI_STATUS(status);
157 } 222 }
158 223
224 exit:
159 *obj_desc_ptr = obj_desc; 225 *obj_desc_ptr = obj_desc;
160 return_ACPI_STATUS(AE_OK); 226 return_ACPI_STATUS(AE_OK);
161} 227}
@@ -356,12 +422,25 @@ acpi_ds_build_internal_package_obj(struct acpi_walk_state *walk_state,
356 arg = arg->common.next; 422 arg = arg->common.next;
357 for (i = 0; arg && (i < element_count); i++) { 423 for (i = 0; arg && (i < element_count); i++) {
358 if (arg->common.aml_opcode == AML_INT_RETURN_VALUE_OP) { 424 if (arg->common.aml_opcode == AML_INT_RETURN_VALUE_OP) {
359 425 if (arg->common.node->type == ACPI_TYPE_METHOD) {
360 /* This package element is already built, just get it */ 426 /*
361 427 * A method reference "looks" to the parser to be a method
362 obj_desc->package.elements[i] = 428 * invocation, so we special case it here
363 ACPI_CAST_PTR(union acpi_operand_object, 429 */
364 arg->common.node); 430 arg->common.aml_opcode = AML_INT_NAMEPATH_OP;
431 status =
432 acpi_ds_build_internal_object(walk_state,
433 arg,
434 &obj_desc->
435 package.
436 elements[i]);
437 } else {
438 /* This package element is already built, just get it */
439
440 obj_desc->package.elements[i] =
441 ACPI_CAST_PTR(union acpi_operand_object,
442 arg->common.node);
443 }
365 } else { 444 } else {
366 status = acpi_ds_build_internal_object(walk_state, arg, 445 status = acpi_ds_build_internal_object(walk_state, arg,
367 &obj_desc-> 446 &obj_desc->
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index b1fbee3f7fe1..2fe34cc73c13 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -531,6 +531,11 @@ static void acpi_processor_idle(void)
531 531
532 case ACPI_STATE_C3: 532 case ACPI_STATE_C3:
533 /* 533 /*
534 * Must be done before busmaster disable as we might
535 * need to access HPET !
536 */
537 acpi_state_timer_broadcast(pr, cx, 1);
538 /*
534 * disable bus master 539 * disable bus master
535 * bm_check implies we need ARB_DIS 540 * bm_check implies we need ARB_DIS
536 * !bm_check implies we need cache flush 541 * !bm_check implies we need cache flush
@@ -557,7 +562,6 @@ static void acpi_processor_idle(void)
557 /* Get start time (ticks) */ 562 /* Get start time (ticks) */
558 t1 = inl(acpi_gbl_FADT.xpm_timer_block.address); 563 t1 = inl(acpi_gbl_FADT.xpm_timer_block.address);
559 /* Invoke C3 */ 564 /* Invoke C3 */
560 acpi_state_timer_broadcast(pr, cx, 1);
561 /* Tell the scheduler that we are going deep-idle: */ 565 /* Tell the scheduler that we are going deep-idle: */
562 sched_clock_idle_sleep_event(); 566 sched_clock_idle_sleep_event();
563 acpi_cstate_enter(cx); 567 acpi_cstate_enter(cx);
@@ -1401,9 +1405,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
1401 if (acpi_idle_suspend) 1405 if (acpi_idle_suspend)
1402 return(acpi_idle_enter_c1(dev, state)); 1406 return(acpi_idle_enter_c1(dev, state));
1403 1407
1404 if (pr->flags.bm_check)
1405 acpi_idle_update_bm_rld(pr, cx);
1406
1407 local_irq_disable(); 1408 local_irq_disable();
1408 current_thread_info()->status &= ~TS_POLLING; 1409 current_thread_info()->status &= ~TS_POLLING;
1409 /* 1410 /*
@@ -1418,13 +1419,21 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
1418 return 0; 1419 return 0;
1419 } 1420 }
1420 1421
1422 /*
1423 * Must be done before busmaster disable as we might need to
1424 * access HPET !
1425 */
1426 acpi_state_timer_broadcast(pr, cx, 1);
1427
1428 if (pr->flags.bm_check)
1429 acpi_idle_update_bm_rld(pr, cx);
1430
1421 if (cx->type == ACPI_STATE_C3) 1431 if (cx->type == ACPI_STATE_C3)
1422 ACPI_FLUSH_CPU_CACHE(); 1432 ACPI_FLUSH_CPU_CACHE();
1423 1433
1424 t1 = inl(acpi_gbl_FADT.xpm_timer_block.address); 1434 t1 = inl(acpi_gbl_FADT.xpm_timer_block.address);
1425 /* Tell the scheduler that we are going deep-idle: */ 1435 /* Tell the scheduler that we are going deep-idle: */
1426 sched_clock_idle_sleep_event(); 1436 sched_clock_idle_sleep_event();
1427 acpi_state_timer_broadcast(pr, cx, 1);
1428 acpi_idle_do_entry(cx); 1437 acpi_idle_do_entry(cx);
1429 t2 = inl(acpi_gbl_FADT.xpm_timer_block.address); 1438 t2 = inl(acpi_gbl_FADT.xpm_timer_block.address);
1430 1439
diff --git a/drivers/acpi/processor_throttling.c b/drivers/acpi/processor_throttling.c
index c26c61fb36c3..6742d7bc4777 100644
--- a/drivers/acpi/processor_throttling.c
+++ b/drivers/acpi/processor_throttling.c
@@ -29,6 +29,7 @@
29#include <linux/kernel.h> 29#include <linux/kernel.h>
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/init.h> 31#include <linux/init.h>
32#include <linux/sched.h>
32#include <linux/cpufreq.h> 33#include <linux/cpufreq.h>
33#include <linux/proc_fs.h> 34#include <linux/proc_fs.h>
34#include <linux/seq_file.h> 35#include <linux/seq_file.h>
@@ -413,7 +414,7 @@ static int acpi_throttling_rdmsr(struct acpi_processor *pr,
413 } else { 414 } else {
414 msr_low = 0; 415 msr_low = 0;
415 msr_high = 0; 416 msr_high = 0;
416 rdmsr_on_cpu(cpu, MSR_IA32_THERM_CONTROL, 417 rdmsr_safe(MSR_IA32_THERM_CONTROL,
417 (u32 *)&msr_low , (u32 *) &msr_high); 418 (u32 *)&msr_low , (u32 *) &msr_high);
418 msr = (msr_high << 32) | msr_low; 419 msr = (msr_high << 32) | msr_low;
419 *value = (acpi_integer) msr; 420 *value = (acpi_integer) msr;
@@ -438,7 +439,7 @@ static int acpi_throttling_wrmsr(struct acpi_processor *pr, acpi_integer value)
438 "HARDWARE addr space,NOT supported yet\n"); 439 "HARDWARE addr space,NOT supported yet\n");
439 } else { 440 } else {
440 msr = value; 441 msr = value;
441 wrmsr_on_cpu(cpu, MSR_IA32_THERM_CONTROL, 442 wrmsr_safe(MSR_IA32_THERM_CONTROL,
442 msr & 0xffffffff, msr >> 32); 443 msr & 0xffffffff, msr >> 32);
443 ret = 0; 444 ret = 0;
444 } 445 }
@@ -572,21 +573,32 @@ static int acpi_processor_get_throttling_ptc(struct acpi_processor *pr)
572 return -ENODEV; 573 return -ENODEV;
573 574
574 pr->throttling.state = 0; 575 pr->throttling.state = 0;
575 local_irq_disable(); 576
576 value = 0; 577 value = 0;
577 ret = acpi_read_throttling_status(pr, &value); 578 ret = acpi_read_throttling_status(pr, &value);
578 if (ret >= 0) { 579 if (ret >= 0) {
579 state = acpi_get_throttling_state(pr, value); 580 state = acpi_get_throttling_state(pr, value);
580 pr->throttling.state = state; 581 pr->throttling.state = state;
581 } 582 }
582 local_irq_enable();
583 583
584 return 0; 584 return 0;
585} 585}
586 586
587static int acpi_processor_get_throttling(struct acpi_processor *pr) 587static int acpi_processor_get_throttling(struct acpi_processor *pr)
588{ 588{
589 return pr->throttling.acpi_processor_get_throttling(pr); 589 cpumask_t saved_mask;
590 int ret;
591
592 /*
593 * Migrate task to the cpu pointed by pr.
594 */
595 saved_mask = current->cpus_allowed;
596 set_cpus_allowed(current, cpumask_of_cpu(pr->id));
597 ret = pr->throttling.acpi_processor_get_throttling(pr);
598 /* restore the previous state */
599 set_cpus_allowed(current, saved_mask);
600
601 return ret;
590} 602}
591 603
592static int acpi_processor_get_fadt_info(struct acpi_processor *pr) 604static int acpi_processor_get_fadt_info(struct acpi_processor *pr)
@@ -717,21 +729,29 @@ static int acpi_processor_set_throttling_ptc(struct acpi_processor *pr,
717 if (state < pr->throttling_platform_limit) 729 if (state < pr->throttling_platform_limit)
718 return -EPERM; 730 return -EPERM;
719 731
720 local_irq_disable();
721 value = 0; 732 value = 0;
722 ret = acpi_get_throttling_value(pr, state, &value); 733 ret = acpi_get_throttling_value(pr, state, &value);
723 if (ret >= 0) { 734 if (ret >= 0) {
724 acpi_write_throttling_state(pr, value); 735 acpi_write_throttling_state(pr, value);
725 pr->throttling.state = state; 736 pr->throttling.state = state;
726 } 737 }
727 local_irq_enable();
728 738
729 return 0; 739 return 0;
730} 740}
731 741
732int acpi_processor_set_throttling(struct acpi_processor *pr, int state) 742int acpi_processor_set_throttling(struct acpi_processor *pr, int state)
733{ 743{
734 return pr->throttling.acpi_processor_set_throttling(pr, state); 744 cpumask_t saved_mask;
745 int ret;
746 /*
747 * Migrate task to the cpu pointed by pr.
748 */
749 saved_mask = current->cpus_allowed;
750 set_cpus_allowed(current, cpumask_of_cpu(pr->id));
751 ret = pr->throttling.acpi_processor_set_throttling(pr, state);
752 /* restore the previous state */
753 set_cpus_allowed(current, saved_mask);
754 return ret;
735} 755}
736 756
737int acpi_processor_get_throttling_info(struct acpi_processor *pr) 757int acpi_processor_get_throttling_info(struct acpi_processor *pr)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index ed9b407e42d4..54f38c21dd95 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -193,6 +193,8 @@ enum {
193 ATA_FLAG_ACPI_SATA | ATA_FLAG_AN | 193 ATA_FLAG_ACPI_SATA | ATA_FLAG_AN |
194 ATA_FLAG_IPM, 194 ATA_FLAG_IPM,
195 AHCI_LFLAG_COMMON = ATA_LFLAG_SKIP_D2H_BSY, 195 AHCI_LFLAG_COMMON = ATA_LFLAG_SKIP_D2H_BSY,
196
197 ICH_MAP = 0x90, /* ICH MAP register */
196}; 198};
197 199
198struct ahci_cmd_hdr { 200struct ahci_cmd_hdr {
@@ -536,6 +538,10 @@ static const struct pci_device_id ahci_pci_tbl[] = {
536 { PCI_VDEVICE(NVIDIA, 0x0ad9), board_ahci }, /* MCP77 */ 538 { PCI_VDEVICE(NVIDIA, 0x0ad9), board_ahci }, /* MCP77 */
537 { PCI_VDEVICE(NVIDIA, 0x0ada), board_ahci }, /* MCP77 */ 539 { PCI_VDEVICE(NVIDIA, 0x0ada), board_ahci }, /* MCP77 */
538 { PCI_VDEVICE(NVIDIA, 0x0adb), board_ahci }, /* MCP77 */ 540 { PCI_VDEVICE(NVIDIA, 0x0adb), board_ahci }, /* MCP77 */
541 { PCI_VDEVICE(NVIDIA, 0x0ab4), board_ahci }, /* MCP79 */
542 { PCI_VDEVICE(NVIDIA, 0x0ab5), board_ahci }, /* MCP79 */
543 { PCI_VDEVICE(NVIDIA, 0x0ab6), board_ahci }, /* MCP79 */
544 { PCI_VDEVICE(NVIDIA, 0x0ab7), board_ahci }, /* MCP79 */
539 { PCI_VDEVICE(NVIDIA, 0x0ab8), board_ahci }, /* MCP79 */ 545 { PCI_VDEVICE(NVIDIA, 0x0ab8), board_ahci }, /* MCP79 */
540 { PCI_VDEVICE(NVIDIA, 0x0ab9), board_ahci }, /* MCP79 */ 546 { PCI_VDEVICE(NVIDIA, 0x0ab9), board_ahci }, /* MCP79 */
541 { PCI_VDEVICE(NVIDIA, 0x0aba), board_ahci }, /* MCP79 */ 547 { PCI_VDEVICE(NVIDIA, 0x0aba), board_ahci }, /* MCP79 */
@@ -1267,9 +1273,9 @@ static int ahci_do_softreset(struct ata_link *link, unsigned int *class,
1267 1273
1268 /* prepare for SRST (AHCI-1.1 10.4.1) */ 1274 /* prepare for SRST (AHCI-1.1 10.4.1) */
1269 rc = ahci_kick_engine(ap, 1); 1275 rc = ahci_kick_engine(ap, 1);
1270 if (rc) 1276 if (rc && rc != -EOPNOTSUPP)
1271 ata_link_printk(link, KERN_WARNING, 1277 ata_link_printk(link, KERN_WARNING,
1272 "failed to reset engine (errno=%d)", rc); 1278 "failed to reset engine (errno=%d)\n", rc);
1273 1279
1274 ata_tf_init(link->device, &tf); 1280 ata_tf_init(link->device, &tf);
1275 1281
@@ -1634,7 +1640,7 @@ static void ahci_port_intr(struct ata_port *ap)
1634 struct ahci_host_priv *hpriv = ap->host->private_data; 1640 struct ahci_host_priv *hpriv = ap->host->private_data;
1635 int resetting = !!(ap->pflags & ATA_PFLAG_RESETTING); 1641 int resetting = !!(ap->pflags & ATA_PFLAG_RESETTING);
1636 u32 status, qc_active; 1642 u32 status, qc_active;
1637 int rc, known_irq = 0; 1643 int rc;
1638 1644
1639 status = readl(port_mmio + PORT_IRQ_STAT); 1645 status = readl(port_mmio + PORT_IRQ_STAT);
1640 writel(status, port_mmio + PORT_IRQ_STAT); 1646 writel(status, port_mmio + PORT_IRQ_STAT);
@@ -1692,80 +1698,12 @@ static void ahci_port_intr(struct ata_port *ap)
1692 1698
1693 rc = ata_qc_complete_multiple(ap, qc_active, NULL); 1699 rc = ata_qc_complete_multiple(ap, qc_active, NULL);
1694 1700
1695 /* If resetting, spurious or invalid completions are expected, 1701 /* while resetting, invalid completions are expected */
1696 * return unconditionally. 1702 if (unlikely(rc < 0 && !resetting)) {
1697 */
1698 if (resetting)
1699 return;
1700
1701 if (rc > 0)
1702 return;
1703 if (rc < 0) {
1704 ehi->err_mask |= AC_ERR_HSM; 1703 ehi->err_mask |= AC_ERR_HSM;
1705 ehi->action |= ATA_EH_SOFTRESET; 1704 ehi->action |= ATA_EH_SOFTRESET;
1706 ata_port_freeze(ap); 1705 ata_port_freeze(ap);
1707 return;
1708 } 1706 }
1709
1710 /* hmmm... a spurious interrupt */
1711
1712 /* if !NCQ, ignore. No modern ATA device has broken HSM
1713 * implementation for non-NCQ commands.
1714 */
1715 if (!ap->link.sactive)
1716 return;
1717
1718 if (status & PORT_IRQ_D2H_REG_FIS) {
1719 if (!pp->ncq_saw_d2h)
1720 ata_port_printk(ap, KERN_INFO,
1721 "D2H reg with I during NCQ, "
1722 "this message won't be printed again\n");
1723 pp->ncq_saw_d2h = 1;
1724 known_irq = 1;
1725 }
1726
1727 if (status & PORT_IRQ_DMAS_FIS) {
1728 if (!pp->ncq_saw_dmas)
1729 ata_port_printk(ap, KERN_INFO,
1730 "DMAS FIS during NCQ, "
1731 "this message won't be printed again\n");
1732 pp->ncq_saw_dmas = 1;
1733 known_irq = 1;
1734 }
1735
1736 if (status & PORT_IRQ_SDB_FIS) {
1737 const __le32 *f = pp->rx_fis + RX_FIS_SDB;
1738
1739 if (le32_to_cpu(f[1])) {
1740 /* SDB FIS containing spurious completions
1741 * might be dangerous, whine and fail commands
1742 * with HSM violation. EH will turn off NCQ
1743 * after several such failures.
1744 */
1745 ata_ehi_push_desc(ehi,
1746 "spurious completions during NCQ "
1747 "issue=0x%x SAct=0x%x FIS=%08x:%08x",
1748 readl(port_mmio + PORT_CMD_ISSUE),
1749 readl(port_mmio + PORT_SCR_ACT),
1750 le32_to_cpu(f[0]), le32_to_cpu(f[1]));
1751 ehi->err_mask |= AC_ERR_HSM;
1752 ehi->action |= ATA_EH_SOFTRESET;
1753 ata_port_freeze(ap);
1754 } else {
1755 if (!pp->ncq_saw_sdb)
1756 ata_port_printk(ap, KERN_INFO,
1757 "spurious SDB FIS %08x:%08x during NCQ, "
1758 "this message won't be printed again\n",
1759 le32_to_cpu(f[0]), le32_to_cpu(f[1]));
1760 pp->ncq_saw_sdb = 1;
1761 }
1762 known_irq = 1;
1763 }
1764
1765 if (!known_irq)
1766 ata_port_printk(ap, KERN_INFO, "spurious interrupt "
1767 "(irq_stat 0x%x active_tag 0x%x sactive 0x%x)\n",
1768 status, ap->link.active_tag, ap->link.sactive);
1769} 1707}
1770 1708
1771static void ahci_irq_clear(struct ata_port *ap) 1709static void ahci_irq_clear(struct ata_port *ap)
@@ -2269,6 +2207,22 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2269 if (rc) 2207 if (rc)
2270 return rc; 2208 return rc;
2271 2209
2210 if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
2211 (pdev->device == 0x2652 || pdev->device == 0x2653)) {
2212 u8 map;
2213
2214 /* ICH6s share the same PCI ID for both piix and ahci
2215 * modes. Enabling ahci mode while MAP indicates
2216 * combined mode is a bad idea. Yield to ata_piix.
2217 */
2218 pci_read_config_byte(pdev, ICH_MAP, &map);
2219 if (map & 0x3) {
2220 dev_printk(KERN_INFO, &pdev->dev, "controller is in "
2221 "combined mode, can't enable AHCI mode\n");
2222 return -ENODEV;
2223 }
2224 }
2225
2272 hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL); 2226 hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
2273 if (!hpriv) 2227 if (!hpriv)
2274 return -ENOMEM; 2228 return -ENOMEM;
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 483269db2c7d..bb62a588f489 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -967,6 +967,20 @@ static int piix_broken_suspend(void)
967 }, 967 },
968 }, 968 },
969 { 969 {
970 .ident = "TECRA M3",
971 .matches = {
972 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
973 DMI_MATCH(DMI_PRODUCT_NAME, "Tecra M3"),
974 },
975 },
976 {
977 .ident = "TECRA M4",
978 .matches = {
979 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
980 DMI_MATCH(DMI_PRODUCT_NAME, "Tecra M4"),
981 },
982 },
983 {
970 .ident = "TECRA M5", 984 .ident = "TECRA M5",
971 .matches = { 985 .matches = {
972 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), 986 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
@@ -981,6 +995,20 @@ static int piix_broken_suspend(void)
981 }, 995 },
982 }, 996 },
983 { 997 {
998 .ident = "TECRA A8",
999 .matches = {
1000 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
1001 DMI_MATCH(DMI_PRODUCT_NAME, "TECRA A8"),
1002 },
1003 },
1004 {
1005 .ident = "Satellite R25",
1006 .matches = {
1007 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
1008 DMI_MATCH(DMI_PRODUCT_NAME, "Satellite R25"),
1009 },
1010 },
1011 {
984 .ident = "Satellite U200", 1012 .ident = "Satellite U200",
985 .matches = { 1013 .matches = {
986 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), 1014 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
@@ -988,6 +1016,13 @@ static int piix_broken_suspend(void)
988 }, 1016 },
989 }, 1017 },
990 { 1018 {
1019 .ident = "Satellite U200",
1020 .matches = {
1021 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
1022 DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE U200"),
1023 },
1024 },
1025 {
991 .ident = "Satellite Pro U200", 1026 .ident = "Satellite Pro U200",
992 .matches = { 1027 .matches = {
993 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), 1028 DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 33f06277b3be..e4dea8623a71 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4140,6 +4140,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4140 /* Devices where NCQ should be avoided */ 4140 /* Devices where NCQ should be avoided */
4141 /* NCQ is slow */ 4141 /* NCQ is slow */
4142 { "WDC WD740ADFD-00", NULL, ATA_HORKAGE_NONCQ }, 4142 { "WDC WD740ADFD-00", NULL, ATA_HORKAGE_NONCQ },
4143 { "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
4143 /* http://thread.gmane.org/gmane.linux.ide/14907 */ 4144 /* http://thread.gmane.org/gmane.linux.ide/14907 */
4144 { "FUJITSU MHT2060BH", NULL, ATA_HORKAGE_NONCQ }, 4145 { "FUJITSU MHT2060BH", NULL, ATA_HORKAGE_NONCQ },
4145 /* NCQ is broken */ 4146 /* NCQ is broken */
@@ -4154,23 +4155,6 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4154 { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, 4155 { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, },
4155 { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, 4156 { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, },
4156 { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, }, 4157 { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
4157 /* Drives which do spurious command completion */
4158 { "HTS541680J9SA00", "SB2IC7EP", ATA_HORKAGE_NONCQ, },
4159 { "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
4160 { "HDT722516DLA380", "V43OA96A", ATA_HORKAGE_NONCQ, },
4161 { "Hitachi HTS541616J9SA00", "SB4OC70P", ATA_HORKAGE_NONCQ, },
4162 { "Hitachi HTS542525K9SA00", "BBFOC31P", ATA_HORKAGE_NONCQ, },
4163 { "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
4164 { "WDC WD3200AAJS-00RYA0", "12.01B01", ATA_HORKAGE_NONCQ, },
4165 { "FUJITSU MHV2080BH", "00840028", ATA_HORKAGE_NONCQ, },
4166 { "ST9120822AS", "3.CLF", ATA_HORKAGE_NONCQ, },
4167 { "ST9160821AS", "3.CLF", ATA_HORKAGE_NONCQ, },
4168 { "ST9160821AS", "3.ALD", ATA_HORKAGE_NONCQ, },
4169 { "ST9160821AS", "3.CCD", ATA_HORKAGE_NONCQ, },
4170 { "ST3160812AS", "3.ADJ", ATA_HORKAGE_NONCQ, },
4171 { "ST980813AS", "3.ADB", ATA_HORKAGE_NONCQ, },
4172 { "SAMSUNG HD401LJ", "ZZ100-15", ATA_HORKAGE_NONCQ, },
4173 { "Maxtor 7V300F0", "VA111900", ATA_HORKAGE_NONCQ, },
4174 4158
4175 /* devices which puke on READ_NATIVE_MAX */ 4159 /* devices which puke on READ_NATIVE_MAX */
4176 { "HDS724040KLSA80", "KFAOA20N", ATA_HORKAGE_BROKEN_HPA, }, 4160 { "HDS724040KLSA80", "KFAOA20N", ATA_HORKAGE_BROKEN_HPA, },
@@ -4185,6 +4169,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4185 /* Devices which get the IVB wrong */ 4169 /* Devices which get the IVB wrong */
4186 { "QUANTUM FIREBALLlct10 05", "A03.0900", ATA_HORKAGE_IVB, }, 4170 { "QUANTUM FIREBALLlct10 05", "A03.0900", ATA_HORKAGE_IVB, },
4187 { "TSSTcorp CDDVDW SH-S202J", "SB00", ATA_HORKAGE_IVB, }, 4171 { "TSSTcorp CDDVDW SH-S202J", "SB00", ATA_HORKAGE_IVB, },
4172 { "TSSTcorp CDDVDW SH-S202J", "SB01", ATA_HORKAGE_IVB, },
4173 { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, },
4174 { "TSSTcorp CDDVDW SH-S202N", "SB01", ATA_HORKAGE_IVB, },
4188 4175
4189 /* End Marker */ 4176 /* End Marker */
4190 { } 4177 { }
@@ -6964,12 +6951,11 @@ int ata_host_start(struct ata_host *host)
6964 if (ap->ops->port_start) { 6951 if (ap->ops->port_start) {
6965 rc = ap->ops->port_start(ap); 6952 rc = ap->ops->port_start(ap);
6966 if (rc) { 6953 if (rc) {
6967 ata_port_printk(ap, KERN_ERR, "failed to " 6954 if (rc != -ENODEV)
6968 "start port (errno=%d)\n", rc); 6955 dev_printk(KERN_ERR, host->dev, "failed to start port %d (errno=%d)\n", i, rc);
6969 goto err_out; 6956 goto err_out;
6970 } 6957 }
6971 } 6958 }
6972
6973 ata_eh_freeze_port(ap); 6959 ata_eh_freeze_port(ap);
6974 } 6960 }
6975 6961
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 0dac69db1fdf..e6605f038647 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1850,30 +1850,54 @@ static void ata_eh_link_report(struct ata_link *link)
1850 ehc->i.serror & SERR_DEV_XCHG ? "DevExch " : ""); 1850 ehc->i.serror & SERR_DEV_XCHG ? "DevExch " : "");
1851 1851
1852 for (tag = 0; tag < ATA_MAX_QUEUE; tag++) { 1852 for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
1853 static const char *dma_str[] = {
1854 [DMA_BIDIRECTIONAL] = "bidi",
1855 [DMA_TO_DEVICE] = "out",
1856 [DMA_FROM_DEVICE] = "in",
1857 [DMA_NONE] = "",
1858 };
1859 struct ata_queued_cmd *qc = __ata_qc_from_tag(ap, tag); 1853 struct ata_queued_cmd *qc = __ata_qc_from_tag(ap, tag);
1860 struct ata_taskfile *cmd = &qc->tf, *res = &qc->result_tf; 1854 struct ata_taskfile *cmd = &qc->tf, *res = &qc->result_tf;
1855 const u8 *cdb = qc->cdb;
1856 char data_buf[20] = "";
1857 char cdb_buf[70] = "";
1861 1858
1862 if (!(qc->flags & ATA_QCFLAG_FAILED) || 1859 if (!(qc->flags & ATA_QCFLAG_FAILED) ||
1863 qc->dev->link != link || !qc->err_mask) 1860 qc->dev->link != link || !qc->err_mask)
1864 continue; 1861 continue;
1865 1862
1863 if (qc->dma_dir != DMA_NONE) {
1864 static const char *dma_str[] = {
1865 [DMA_BIDIRECTIONAL] = "bidi",
1866 [DMA_TO_DEVICE] = "out",
1867 [DMA_FROM_DEVICE] = "in",
1868 };
1869 static const char *prot_str[] = {
1870 [ATA_PROT_PIO] = "pio",
1871 [ATA_PROT_DMA] = "dma",
1872 [ATA_PROT_NCQ] = "ncq",
1873 [ATA_PROT_ATAPI] = "pio",
1874 [ATA_PROT_ATAPI_DMA] = "dma",
1875 };
1876
1877 snprintf(data_buf, sizeof(data_buf), " %s %u %s",
1878 prot_str[qc->tf.protocol], qc->nbytes,
1879 dma_str[qc->dma_dir]);
1880 }
1881
1882 if (is_atapi_taskfile(&qc->tf))
1883 snprintf(cdb_buf, sizeof(cdb_buf),
1884 "cdb %02x %02x %02x %02x %02x %02x %02x %02x "
1885 "%02x %02x %02x %02x %02x %02x %02x %02x\n ",
1886 cdb[0], cdb[1], cdb[2], cdb[3],
1887 cdb[4], cdb[5], cdb[6], cdb[7],
1888 cdb[8], cdb[9], cdb[10], cdb[11],
1889 cdb[12], cdb[13], cdb[14], cdb[15]);
1890
1866 ata_dev_printk(qc->dev, KERN_ERR, 1891 ata_dev_printk(qc->dev, KERN_ERR,
1867 "cmd %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x " 1892 "cmd %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x "
1868 "tag %d cdb 0x%x data %u %s\n " 1893 "tag %d%s\n %s"
1869 "res %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x " 1894 "res %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x "
1870 "Emask 0x%x (%s)%s\n", 1895 "Emask 0x%x (%s)%s\n",
1871 cmd->command, cmd->feature, cmd->nsect, 1896 cmd->command, cmd->feature, cmd->nsect,
1872 cmd->lbal, cmd->lbam, cmd->lbah, 1897 cmd->lbal, cmd->lbam, cmd->lbah,
1873 cmd->hob_feature, cmd->hob_nsect, 1898 cmd->hob_feature, cmd->hob_nsect,
1874 cmd->hob_lbal, cmd->hob_lbam, cmd->hob_lbah, 1899 cmd->hob_lbal, cmd->hob_lbam, cmd->hob_lbah,
1875 cmd->device, qc->tag, qc->cdb[0], qc->nbytes, 1900 cmd->device, qc->tag, data_buf, cdb_buf,
1876 dma_str[qc->dma_dir],
1877 res->command, res->feature, res->nsect, 1901 res->command, res->feature, res->nsect,
1878 res->lbal, res->lbam, res->lbah, 1902 res->lbal, res->lbam, res->lbah,
1879 res->hob_feature, res->hob_nsect, 1903 res->hob_feature, res->hob_nsect,
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index c5779ad4abca..3cc27b514654 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -25,7 +25,7 @@
25#include <linux/libata.h> 25#include <linux/libata.h>
26 26
27#define DRV_NAME "pata_amd" 27#define DRV_NAME "pata_amd"
28#define DRV_VERSION "0.3.9" 28#define DRV_VERSION "0.3.10"
29 29
30/** 30/**
31 * timing_setup - shared timing computation and load 31 * timing_setup - shared timing computation and load
@@ -115,7 +115,8 @@ static void timing_setup(struct ata_port *ap, struct ata_device *adev, int offse
115 } 115 }
116 116
117 /* UDMA timing */ 117 /* UDMA timing */
118 pci_write_config_byte(pdev, offset + 0x10 + (3 - dn), t); 118 if (at.udma)
119 pci_write_config_byte(pdev, offset + 0x10 + (3 - dn), t);
119} 120}
120 121
121/** 122/**
diff --git a/drivers/ata/pata_at32.c b/drivers/ata/pata_at32.c
index bb250a48e27c..67e574de31e8 100644
--- a/drivers/ata/pata_at32.c
+++ b/drivers/ata/pata_at32.c
@@ -28,7 +28,7 @@
28#include <asm/arch/smc.h> 28#include <asm/arch/smc.h>
29 29
30#define DRV_NAME "pata_at32" 30#define DRV_NAME "pata_at32"
31#define DRV_VERSION "0.0.2" 31#define DRV_VERSION "0.0.3"
32 32
33/* 33/*
34 * CompactFlash controller memory layout relative to the base address: 34 * CompactFlash controller memory layout relative to the base address:
@@ -64,6 +64,8 @@
64 * Mode 2 | 8.3 | 240 ns | 0x07 64 * Mode 2 | 8.3 | 240 ns | 0x07
65 * Mode 3 | 11.1 | 180 ns | 0x0f 65 * Mode 3 | 11.1 | 180 ns | 0x0f
66 * Mode 4 | 16.7 | 120 ns | 0x1f 66 * Mode 4 | 16.7 | 120 ns | 0x1f
67 *
68 * Alter PIO_MASK below according to table to set maximal PIO mode.
67 */ 69 */
68#define PIO_MASK (0x1f) 70#define PIO_MASK (0x1f)
69 71
@@ -85,36 +87,40 @@ struct at32_ide_info {
85 */ 87 */
86static int pata_at32_setup_timing(struct device *dev, 88static int pata_at32_setup_timing(struct device *dev,
87 struct at32_ide_info *info, 89 struct at32_ide_info *info,
88 const struct ata_timing *timing) 90 const struct ata_timing *ata)
89{ 91{
90 /* These two values are found through testing */
91 const int min_recover = 25;
92 const int ncs_hold = 15;
93
94 struct smc_config *smc = &info->smc; 92 struct smc_config *smc = &info->smc;
93 struct smc_timing timing;
95 94
96 int active; 95 int active;
97 int recover; 96 int recover;
98 97
98 memset(&timing, 0, sizeof(struct smc_timing));
99
99 /* Total cycle time */ 100 /* Total cycle time */
100 smc->read_cycle = timing->cyc8b; 101 timing.read_cycle = ata->cyc8b;
101 102
102 /* DIOR <= CFIOR timings */ 103 /* DIOR <= CFIOR timings */
103 smc->nrd_setup = timing->setup; 104 timing.nrd_setup = ata->setup;
104 smc->nrd_pulse = timing->act8b; 105 timing.nrd_pulse = ata->act8b;
106 timing.nrd_recover = ata->rec8b;
107
108 /* Convert nanosecond timing to clock cycles */
109 smc_set_timing(smc, &timing);
105 110
106 /* Compute recover, extend total cycle if needed */ 111 /* Add one extra cycle setup due to signal ring */
107 active = smc->nrd_setup + smc->nrd_pulse; 112 smc->nrd_setup = smc->nrd_setup + 1;
113
114 active = smc->nrd_setup + smc->nrd_pulse;
108 recover = smc->read_cycle - active; 115 recover = smc->read_cycle - active;
109 116
110 if (recover < min_recover) { 117 /* Need at least two cycles recovery */
111 smc->read_cycle = active + min_recover; 118 if (recover < 2)
112 recover = min_recover; 119 smc->read_cycle = active + 2;
113 }
114 120
115 /* (CS0, CS1, DIR, OE) <= (CFCE1, CFCE2, CFRNW, NCSX) timings */ 121 /* (CS0, CS1, DIR, OE) <= (CFCE1, CFCE2, CFRNW, NCSX) timings */
116 smc->ncs_read_setup = 0; 122 smc->ncs_read_setup = 1;
117 smc->ncs_read_pulse = active + ncs_hold; 123 smc->ncs_read_pulse = smc->read_cycle - 2;
118 124
119 /* Write timings same as read timings */ 125 /* Write timings same as read timings */
120 smc->write_cycle = smc->read_cycle; 126 smc->write_cycle = smc->read_cycle;
@@ -123,11 +129,13 @@ static int pata_at32_setup_timing(struct device *dev,
123 smc->ncs_write_setup = smc->ncs_read_setup; 129 smc->ncs_write_setup = smc->ncs_read_setup;
124 smc->ncs_write_pulse = smc->ncs_read_pulse; 130 smc->ncs_write_pulse = smc->ncs_read_pulse;
125 131
126 /* Do some debugging output */ 132 /* Do some debugging output of ATA and SMC timings */
127 dev_dbg(dev, "SMC: C=%d S=%d P=%d R=%d NCSS=%d NCSP=%d NCSR=%d\n", 133 dev_dbg(dev, "ATA: C=%d S=%d P=%d R=%d\n",
134 ata->cyc8b, ata->setup, ata->act8b, ata->rec8b);
135
136 dev_dbg(dev, "SMC: C=%d S=%d P=%d NS=%d NP=%d\n",
128 smc->read_cycle, smc->nrd_setup, smc->nrd_pulse, 137 smc->read_cycle, smc->nrd_setup, smc->nrd_pulse,
129 recover, smc->ncs_read_setup, smc->ncs_read_pulse, 138 smc->ncs_read_setup, smc->ncs_read_pulse);
130 smc->read_cycle - smc->ncs_read_pulse);
131 139
132 /* Finally, configure the SMC */ 140 /* Finally, configure the SMC */
133 return smc_set_configuration(info->cs, smc); 141 return smc_set_configuration(info->cs, smc);
@@ -182,7 +190,6 @@ static struct scsi_host_template at32_sht = {
182}; 190};
183 191
184static struct ata_port_operations at32_port_ops = { 192static struct ata_port_operations at32_port_ops = {
185 .port_disable = ata_port_disable,
186 .set_piomode = pata_at32_set_piomode, 193 .set_piomode = pata_at32_set_piomode,
187 .tf_load = ata_tf_load, 194 .tf_load = ata_tf_load,
188 .tf_read = ata_tf_read, 195 .tf_read = ata_tf_read,
@@ -203,7 +210,6 @@ static struct ata_port_operations at32_port_ops = {
203 210
204 .irq_clear = pata_at32_irq_clear, 211 .irq_clear = pata_at32_irq_clear,
205 .irq_on = ata_irq_on, 212 .irq_on = ata_irq_on,
206 .irq_ack = ata_irq_ack,
207 213
208 .port_start = ata_sff_port_start, 214 .port_start = ata_sff_port_start,
209}; 215};
@@ -223,8 +229,7 @@ static int __init pata_at32_init_one(struct device *dev,
223 /* Setup ATA bindings */ 229 /* Setup ATA bindings */
224 ap->ops = &at32_port_ops; 230 ap->ops = &at32_port_ops;
225 ap->pio_mask = PIO_MASK; 231 ap->pio_mask = PIO_MASK;
226 ap->flags = ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS 232 ap->flags |= ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS;
227 | ATA_FLAG_PIO_POLLING;
228 233
229 /* 234 /*
230 * Since all 8-bit taskfile transfers has to go on the lower 235 * Since all 8-bit taskfile transfers has to go on the lower
@@ -357,12 +362,12 @@ static int __init pata_at32_probe(struct platform_device *pdev)
357 info->smc.tdf_mode = 0; /* TDF optimization disabled */ 362 info->smc.tdf_mode = 0; /* TDF optimization disabled */
358 info->smc.tdf_cycles = 0; /* No TDF wait cycles */ 363 info->smc.tdf_cycles = 0; /* No TDF wait cycles */
359 364
360 /* Setup ATA timing */ 365 /* Setup SMC to ATA timing */
361 ret = pata_at32_setup_timing(dev, info, &initial_timing); 366 ret = pata_at32_setup_timing(dev, info, &initial_timing);
362 if (ret) 367 if (ret)
363 goto err_setup_timing; 368 goto err_setup_timing;
364 369
365 /* Setup ATA addresses */ 370 /* Map ATA address space */
366 ret = -ENOMEM; 371 ret = -ENOMEM;
367 info->ide_addr = devm_ioremap(dev, info->res_ide.start, 16); 372 info->ide_addr = devm_ioremap(dev, info->res_ide.start, 16);
368 info->alt_addr = devm_ioremap(dev, info->res_alt.start, 16); 373 info->alt_addr = devm_ioremap(dev, info->res_alt.start, 16);
@@ -373,7 +378,7 @@ static int __init pata_at32_probe(struct platform_device *pdev)
373 pata_at32_debug_bus(dev, info); 378 pata_at32_debug_bus(dev, info);
374#endif 379#endif
375 380
376 /* Register ATA device */ 381 /* Setup and register ATA device */
377 ret = pata_at32_init_one(dev, info); 382 ret = pata_at32_init_one(dev, info);
378 if (ret) 383 if (ret)
379 goto err_ata_device; 384 goto err_ata_device;
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c
index 81db405a5445..088a41f4e656 100644
--- a/drivers/ata/pata_bf54x.c
+++ b/drivers/ata/pata_bf54x.c
@@ -1489,6 +1489,8 @@ static int __devinit bfin_atapi_probe(struct platform_device *pdev)
1489 int board_idx = 0; 1489 int board_idx = 0;
1490 struct resource *res; 1490 struct resource *res;
1491 struct ata_host *host; 1491 struct ata_host *host;
1492 unsigned int fsclk = get_sclk();
1493 int udma_mode = 5;
1492 const struct ata_port_info *ppi[] = 1494 const struct ata_port_info *ppi[] =
1493 { &bfin_port_info[board_idx], NULL }; 1495 { &bfin_port_info[board_idx], NULL };
1494 1496
@@ -1507,6 +1509,11 @@ static int __devinit bfin_atapi_probe(struct platform_device *pdev)
1507 if (res == NULL) 1509 if (res == NULL)
1508 return -EINVAL; 1510 return -EINVAL;
1509 1511
1512 while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) {
1513 udma_mode--;
1514 bfin_port_info[board_idx].udma_mask >>= 1;
1515 }
1516
1510 /* 1517 /*
1511 * Now that that's out of the way, wire up the port.. 1518 * Now that that's out of the way, wire up the port..
1512 */ 1519 */
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index a4175fbdd170..453d72bf2598 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -63,7 +63,7 @@
63#include <linux/dmi.h> 63#include <linux/dmi.h>
64 64
65#define DRV_NAME "pata_via" 65#define DRV_NAME "pata_via"
66#define DRV_VERSION "0.3.2" 66#define DRV_VERSION "0.3.3"
67 67
68/* 68/*
69 * The following comes directly from Vojtech Pavlik's ide/pci/via82cxxx 69 * The following comes directly from Vojtech Pavlik's ide/pci/via82cxxx
@@ -296,7 +296,7 @@ static void via_do_set_mode(struct ata_port *ap, struct ata_device *adev, int mo
296 } 296 }
297 297
298 /* Set UDMA unless device is not UDMA capable */ 298 /* Set UDMA unless device is not UDMA capable */
299 if (udma_type) { 299 if (udma_type && t.udma) {
300 u8 cable80_status; 300 u8 cable80_status;
301 301
302 /* Get 80-wire cable detection bit */ 302 /* Get 80-wire cable detection bit */
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index a43f64d2775b..fe0105d35bae 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -164,10 +164,14 @@ enum {
164 MV_PCI_ERR_ATTRIBUTE = 0x1d48, 164 MV_PCI_ERR_ATTRIBUTE = 0x1d48,
165 MV_PCI_ERR_COMMAND = 0x1d50, 165 MV_PCI_ERR_COMMAND = 0x1d50,
166 166
167 PCI_IRQ_CAUSE_OFS = 0x1d58, 167 PCI_IRQ_CAUSE_OFS = 0x1d58,
168 PCI_IRQ_MASK_OFS = 0x1d5c, 168 PCI_IRQ_MASK_OFS = 0x1d5c,
169 PCI_UNMASK_ALL_IRQS = 0x7fffff, /* bits 22-0 */ 169 PCI_UNMASK_ALL_IRQS = 0x7fffff, /* bits 22-0 */
170 170
171 PCIE_IRQ_CAUSE_OFS = 0x1900,
172 PCIE_IRQ_MASK_OFS = 0x1910,
173 PCIE_UNMASK_ALL_IRQS = 0x70a, /* assorted bits */
174
171 HC_MAIN_IRQ_CAUSE_OFS = 0x1d60, 175 HC_MAIN_IRQ_CAUSE_OFS = 0x1d60,
172 HC_MAIN_IRQ_MASK_OFS = 0x1d64, 176 HC_MAIN_IRQ_MASK_OFS = 0x1d64,
173 PORT0_ERR = (1 << 0), /* shift by port # */ 177 PORT0_ERR = (1 << 0), /* shift by port # */
@@ -303,6 +307,7 @@ enum {
303 MV_HP_GEN_I = (1 << 6), /* Generation I: 50xx */ 307 MV_HP_GEN_I = (1 << 6), /* Generation I: 50xx */
304 MV_HP_GEN_II = (1 << 7), /* Generation II: 60xx */ 308 MV_HP_GEN_II = (1 << 7), /* Generation II: 60xx */
305 MV_HP_GEN_IIE = (1 << 8), /* Generation IIE: 6042/7042 */ 309 MV_HP_GEN_IIE = (1 << 8), /* Generation IIE: 6042/7042 */
310 MV_HP_PCIE = (1 << 9), /* PCIe bus/regs: 7042 */
306 311
307 /* Port private flags (pp_flags) */ 312 /* Port private flags (pp_flags) */
308 MV_PP_FLAG_EDMA_EN = (1 << 0), /* is EDMA engine enabled? */ 313 MV_PP_FLAG_EDMA_EN = (1 << 0), /* is EDMA engine enabled? */
@@ -388,7 +393,15 @@ struct mv_port_signal {
388 u32 pre; 393 u32 pre;
389}; 394};
390 395
391struct mv_host_priv; 396struct mv_host_priv {
397 u32 hp_flags;
398 struct mv_port_signal signal[8];
399 const struct mv_hw_ops *ops;
400 u32 irq_cause_ofs;
401 u32 irq_mask_ofs;
402 u32 unmask_all_irqs;
403};
404
392struct mv_hw_ops { 405struct mv_hw_ops {
393 void (*phy_errata)(struct mv_host_priv *hpriv, void __iomem *mmio, 406 void (*phy_errata)(struct mv_host_priv *hpriv, void __iomem *mmio,
394 unsigned int port); 407 unsigned int port);
@@ -401,12 +414,6 @@ struct mv_hw_ops {
401 void (*reset_bus)(struct pci_dev *pdev, void __iomem *mmio); 414 void (*reset_bus)(struct pci_dev *pdev, void __iomem *mmio);
402}; 415};
403 416
404struct mv_host_priv {
405 u32 hp_flags;
406 struct mv_port_signal signal[8];
407 const struct mv_hw_ops *ops;
408};
409
410static void mv_irq_clear(struct ata_port *ap); 417static void mv_irq_clear(struct ata_port *ap);
411static int mv_scr_read(struct ata_port *ap, unsigned int sc_reg_in, u32 *val); 418static int mv_scr_read(struct ata_port *ap, unsigned int sc_reg_in, u32 *val);
412static int mv_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val); 419static int mv_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val);
@@ -631,11 +638,13 @@ static const struct pci_device_id mv_pci_tbl[] = {
631 /* Adaptec 1430SA */ 638 /* Adaptec 1430SA */
632 { PCI_VDEVICE(ADAPTEC2, 0x0243), chip_7042 }, 639 { PCI_VDEVICE(ADAPTEC2, 0x0243), chip_7042 },
633 640
634 { PCI_VDEVICE(TTI, 0x2310), chip_7042 }, 641 /* Marvell 7042 support */
635
636 /* add Marvell 7042 support */
637 { PCI_VDEVICE(MARVELL, 0x7042), chip_7042 }, 642 { PCI_VDEVICE(MARVELL, 0x7042), chip_7042 },
638 643
644 /* Highpoint RocketRAID PCIe series */
645 { PCI_VDEVICE(TTI, 0x2300), chip_7042 },
646 { PCI_VDEVICE(TTI, 0x2310), chip_7042 },
647
639 { } /* terminate list */ 648 { } /* terminate list */
640}; 649};
641 650
@@ -1648,13 +1657,14 @@ static void mv_host_intr(struct ata_host *host, u32 relevant, unsigned int hc)
1648 1657
1649static void mv_pci_error(struct ata_host *host, void __iomem *mmio) 1658static void mv_pci_error(struct ata_host *host, void __iomem *mmio)
1650{ 1659{
1660 struct mv_host_priv *hpriv = host->private_data;
1651 struct ata_port *ap; 1661 struct ata_port *ap;
1652 struct ata_queued_cmd *qc; 1662 struct ata_queued_cmd *qc;
1653 struct ata_eh_info *ehi; 1663 struct ata_eh_info *ehi;
1654 unsigned int i, err_mask, printed = 0; 1664 unsigned int i, err_mask, printed = 0;
1655 u32 err_cause; 1665 u32 err_cause;
1656 1666
1657 err_cause = readl(mmio + PCI_IRQ_CAUSE_OFS); 1667 err_cause = readl(mmio + hpriv->irq_cause_ofs);
1658 1668
1659 dev_printk(KERN_ERR, host->dev, "PCI ERROR; PCI IRQ cause=0x%08x\n", 1669 dev_printk(KERN_ERR, host->dev, "PCI ERROR; PCI IRQ cause=0x%08x\n",
1660 err_cause); 1670 err_cause);
@@ -1662,7 +1672,7 @@ static void mv_pci_error(struct ata_host *host, void __iomem *mmio)
1662 DPRINTK("All regs @ PCI error\n"); 1672 DPRINTK("All regs @ PCI error\n");
1663 mv_dump_all_regs(mmio, -1, to_pci_dev(host->dev)); 1673 mv_dump_all_regs(mmio, -1, to_pci_dev(host->dev));
1664 1674
1665 writelfl(0, mmio + PCI_IRQ_CAUSE_OFS); 1675 writelfl(0, mmio + hpriv->irq_cause_ofs);
1666 1676
1667 for (i = 0; i < host->n_ports; i++) { 1677 for (i = 0; i < host->n_ports; i++) {
1668 ap = host->ports[i]; 1678 ap = host->ports[i];
@@ -1926,6 +1936,8 @@ static int mv5_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio,
1926#define ZERO(reg) writel(0, mmio + (reg)) 1936#define ZERO(reg) writel(0, mmio + (reg))
1927static void mv_reset_pci_bus(struct pci_dev *pdev, void __iomem *mmio) 1937static void mv_reset_pci_bus(struct pci_dev *pdev, void __iomem *mmio)
1928{ 1938{
1939 struct ata_host *host = dev_get_drvdata(&pdev->dev);
1940 struct mv_host_priv *hpriv = host->private_data;
1929 u32 tmp; 1941 u32 tmp;
1930 1942
1931 tmp = readl(mmio + MV_PCI_MODE); 1943 tmp = readl(mmio + MV_PCI_MODE);
@@ -1937,8 +1949,8 @@ static void mv_reset_pci_bus(struct pci_dev *pdev, void __iomem *mmio)
1937 writel(0x000100ff, mmio + MV_PCI_XBAR_TMOUT); 1949 writel(0x000100ff, mmio + MV_PCI_XBAR_TMOUT);
1938 ZERO(HC_MAIN_IRQ_MASK_OFS); 1950 ZERO(HC_MAIN_IRQ_MASK_OFS);
1939 ZERO(MV_PCI_SERR_MASK); 1951 ZERO(MV_PCI_SERR_MASK);
1940 ZERO(PCI_IRQ_CAUSE_OFS); 1952 ZERO(hpriv->irq_cause_ofs);
1941 ZERO(PCI_IRQ_MASK_OFS); 1953 ZERO(hpriv->irq_mask_ofs);
1942 ZERO(MV_PCI_ERR_LOW_ADDRESS); 1954 ZERO(MV_PCI_ERR_LOW_ADDRESS);
1943 ZERO(MV_PCI_ERR_HIGH_ADDRESS); 1955 ZERO(MV_PCI_ERR_HIGH_ADDRESS);
1944 ZERO(MV_PCI_ERR_ATTRIBUTE); 1956 ZERO(MV_PCI_ERR_ATTRIBUTE);
@@ -2170,7 +2182,7 @@ static void mv_phy_reset(struct ata_port *ap, unsigned int *class,
2170 mv_scr_read(ap, SCR_ERROR, &serror); 2182 mv_scr_read(ap, SCR_ERROR, &serror);
2171 mv_scr_read(ap, SCR_CONTROL, &scontrol); 2183 mv_scr_read(ap, SCR_CONTROL, &scontrol);
2172 DPRINTK("S-regs after ATA_RST: SStat 0x%08x SErr 0x%08x " 2184 DPRINTK("S-regs after ATA_RST: SStat 0x%08x SErr 0x%08x "
2173 "SCtrl 0x%08x\n", status, serror, scontrol); 2185 "SCtrl 0x%08x\n", sstatus, serror, scontrol);
2174 } 2186 }
2175#endif 2187#endif
2176 2188
@@ -2490,6 +2502,16 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
2490 break; 2502 break;
2491 2503
2492 case chip_7042: 2504 case chip_7042:
2505 hp_flags |= MV_HP_PCIE;
2506 if (pdev->vendor == PCI_VENDOR_ID_TTI &&
2507 (pdev->device == 0x2300 || pdev->device == 0x2310))
2508 {
2509 printk(KERN_WARNING "sata_mv: Highpoint RocketRAID BIOS"
2510 " will CORRUPT DATA on attached drives when"
2511 " configured as \"Legacy\". BEWARE!\n");
2512 printk(KERN_WARNING "sata_mv: Use BIOS \"JBOD\" volumes"
2513 " instead for safety.\n");
2514 }
2493 case chip_6042: 2515 case chip_6042:
2494 hpriv->ops = &mv6xxx_ops; 2516 hpriv->ops = &mv6xxx_ops;
2495 hp_flags |= MV_HP_GEN_IIE; 2517 hp_flags |= MV_HP_GEN_IIE;
@@ -2516,6 +2538,15 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
2516 } 2538 }
2517 2539
2518 hpriv->hp_flags = hp_flags; 2540 hpriv->hp_flags = hp_flags;
2541 if (hp_flags & MV_HP_PCIE) {
2542 hpriv->irq_cause_ofs = PCIE_IRQ_CAUSE_OFS;
2543 hpriv->irq_mask_ofs = PCIE_IRQ_MASK_OFS;
2544 hpriv->unmask_all_irqs = PCIE_UNMASK_ALL_IRQS;
2545 } else {
2546 hpriv->irq_cause_ofs = PCI_IRQ_CAUSE_OFS;
2547 hpriv->irq_mask_ofs = PCI_IRQ_MASK_OFS;
2548 hpriv->unmask_all_irqs = PCI_UNMASK_ALL_IRQS;
2549 }
2519 2550
2520 return 0; 2551 return 0;
2521} 2552}
@@ -2595,10 +2626,10 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
2595 } 2626 }
2596 2627
2597 /* Clear any currently outstanding host interrupt conditions */ 2628 /* Clear any currently outstanding host interrupt conditions */
2598 writelfl(0, mmio + PCI_IRQ_CAUSE_OFS); 2629 writelfl(0, mmio + hpriv->irq_cause_ofs);
2599 2630
2600 /* and unmask interrupt generation for host regs */ 2631 /* and unmask interrupt generation for host regs */
2601 writelfl(PCI_UNMASK_ALL_IRQS, mmio + PCI_IRQ_MASK_OFS); 2632 writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
2602 2633
2603 if (IS_GEN_I(hpriv)) 2634 if (IS_GEN_I(hpriv))
2604 writelfl(~HC_MAIN_MASKED_IRQS_5, mmio + HC_MAIN_IRQ_MASK_OFS); 2635 writelfl(~HC_MAIN_MASKED_IRQS_5, mmio + HC_MAIN_IRQ_MASK_OFS);
@@ -2609,8 +2640,8 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
2609 "PCI int cause/mask=0x%08x/0x%08x\n", 2640 "PCI int cause/mask=0x%08x/0x%08x\n",
2610 readl(mmio + HC_MAIN_IRQ_CAUSE_OFS), 2641 readl(mmio + HC_MAIN_IRQ_CAUSE_OFS),
2611 readl(mmio + HC_MAIN_IRQ_MASK_OFS), 2642 readl(mmio + HC_MAIN_IRQ_MASK_OFS),
2612 readl(mmio + PCI_IRQ_CAUSE_OFS), 2643 readl(mmio + hpriv->irq_cause_ofs),
2613 readl(mmio + PCI_IRQ_MASK_OFS)); 2644 readl(mmio + hpriv->irq_mask_ofs));
2614 2645
2615done: 2646done:
2616 return rc; 2647 return rc;
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 44f9e5d9e362..ed5dc7cb50cd 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -791,11 +791,13 @@ static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc)
791 791
792static void nv_adma_tf_read(struct ata_port *ap, struct ata_taskfile *tf) 792static void nv_adma_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
793{ 793{
794 /* Since commands where a result TF is requested are not 794 /* Other than when internal or pass-through commands are executed,
795 executed in ADMA mode, the only time this function will be called 795 the only time this function will be called in ADMA mode will be
796 in ADMA mode will be if a command fails. In this case we 796 if a command fails. In the failure case we don't care about going
797 don't care about going into register mode with ADMA commands 797 into register mode with ADMA commands pending, as the commands will
798 pending, as the commands will all shortly be aborted anyway. */ 798 all shortly be aborted anyway. We assume that NCQ commands are not
799 issued via passthrough, which is the only way that switching into
800 ADMA mode could abort outstanding commands. */
799 nv_adma_register_mode(ap); 801 nv_adma_register_mode(ap);
800 802
801 ata_tf_read(ap, tf); 803 ata_tf_read(ap, tf);
@@ -1359,11 +1361,9 @@ static int nv_adma_use_reg_mode(struct ata_queued_cmd *qc)
1359 struct nv_adma_port_priv *pp = qc->ap->private_data; 1361 struct nv_adma_port_priv *pp = qc->ap->private_data;
1360 1362
1361 /* ADMA engine can only be used for non-ATAPI DMA commands, 1363 /* ADMA engine can only be used for non-ATAPI DMA commands,
1362 or interrupt-driven no-data commands, where a result taskfile 1364 or interrupt-driven no-data commands. */
1363 is not required. */
1364 if ((pp->flags & NV_ADMA_ATAPI_SETUP_COMPLETE) || 1365 if ((pp->flags & NV_ADMA_ATAPI_SETUP_COMPLETE) ||
1365 (qc->tf.flags & ATA_TFLAG_POLLING) || 1366 (qc->tf.flags & ATA_TFLAG_POLLING))
1366 (qc->flags & ATA_QCFLAG_RESULT_TF))
1367 return 1; 1367 return 1;
1368 1368
1369 if ((qc->flags & ATA_QCFLAG_DMAMAP) || 1369 if ((qc->flags & ATA_QCFLAG_DMAMAP) ||
@@ -1381,6 +1381,8 @@ static void nv_adma_qc_prep(struct ata_queued_cmd *qc)
1381 NV_CPB_CTL_IEN; 1381 NV_CPB_CTL_IEN;
1382 1382
1383 if (nv_adma_use_reg_mode(qc)) { 1383 if (nv_adma_use_reg_mode(qc)) {
1384 BUG_ON(!(pp->flags & NV_ADMA_ATAPI_SETUP_COMPLETE) &&
1385 (qc->flags & ATA_QCFLAG_DMAMAP));
1384 nv_adma_register_mode(qc->ap); 1386 nv_adma_register_mode(qc->ap);
1385 ata_qc_prep(qc); 1387 ata_qc_prep(qc);
1386 return; 1388 return;
@@ -1425,9 +1427,21 @@ static unsigned int nv_adma_qc_issue(struct ata_queued_cmd *qc)
1425 1427
1426 VPRINTK("ENTER\n"); 1428 VPRINTK("ENTER\n");
1427 1429
1430 /* We can't handle result taskfile with NCQ commands, since
1431 retrieving the taskfile switches us out of ADMA mode and would abort
1432 existing commands. */
1433 if (unlikely(qc->tf.protocol == ATA_PROT_NCQ &&
1434 (qc->flags & ATA_QCFLAG_RESULT_TF))) {
1435 ata_dev_printk(qc->dev, KERN_ERR,
1436 "NCQ w/ RESULT_TF not allowed\n");
1437 return AC_ERR_SYSTEM;
1438 }
1439
1428 if (nv_adma_use_reg_mode(qc)) { 1440 if (nv_adma_use_reg_mode(qc)) {
1429 /* use ATA register mode */ 1441 /* use ATA register mode */
1430 VPRINTK("using ATA register mode: 0x%lx\n", qc->flags); 1442 VPRINTK("using ATA register mode: 0x%lx\n", qc->flags);
1443 BUG_ON(!(pp->flags & NV_ADMA_ATAPI_SETUP_COMPLETE) &&
1444 (qc->flags & ATA_QCFLAG_DMAMAP));
1431 nv_adma_register_mode(qc->ap); 1445 nv_adma_register_mode(qc->ap);
1432 return ata_qc_issue_prot(qc); 1446 return ata_qc_issue_prot(qc);
1433 } else 1447 } else
diff --git a/drivers/char/apm-emulation.c b/drivers/char/apm-emulation.c
index c99e43b837f5..17d54315e146 100644
--- a/drivers/char/apm-emulation.c
+++ b/drivers/char/apm-emulation.c
@@ -295,7 +295,6 @@ static int
295apm_ioctl(struct inode * inode, struct file *filp, u_int cmd, u_long arg) 295apm_ioctl(struct inode * inode, struct file *filp, u_int cmd, u_long arg)
296{ 296{
297 struct apm_user *as = filp->private_data; 297 struct apm_user *as = filp->private_data;
298 unsigned long flags;
299 int err = -EINVAL; 298 int err = -EINVAL;
300 299
301 if (!as->suser || !as->writer) 300 if (!as->suser || !as->writer)
@@ -331,10 +330,16 @@ apm_ioctl(struct inode * inode, struct file *filp, u_int cmd, u_long arg)
331 * Wait for the suspend/resume to complete. If there 330 * Wait for the suspend/resume to complete. If there
332 * are pending acknowledges, we wait here for them. 331 * are pending acknowledges, we wait here for them.
333 */ 332 */
334 flags = current->flags; 333 freezer_do_not_count();
335 334
336 wait_event(apm_suspend_waitqueue, 335 wait_event(apm_suspend_waitqueue,
337 as->suspend_state == SUSPEND_DONE); 336 as->suspend_state == SUSPEND_DONE);
337
338 /*
339 * Since we are waiting until the suspend is done, the
340 * try_to_freeze() in freezer_count() will not trigger
341 */
342 freezer_count();
338 } else { 343 } else {
339 as->suspend_state = SUSPEND_WAIT; 344 as->suspend_state = SUSPEND_WAIT;
340 mutex_unlock(&state_lock); 345 mutex_unlock(&state_lock);
@@ -362,14 +367,10 @@ apm_ioctl(struct inode * inode, struct file *filp, u_int cmd, u_long arg)
362 * Wait for the suspend/resume to complete. If there 367 * Wait for the suspend/resume to complete. If there
363 * are pending acknowledges, we wait here for them. 368 * are pending acknowledges, we wait here for them.
364 */ 369 */
365 flags = current->flags; 370 wait_event_freezable(apm_suspend_waitqueue,
366
367 wait_event_interruptible(apm_suspend_waitqueue,
368 as->suspend_state == SUSPEND_DONE); 371 as->suspend_state == SUSPEND_DONE);
369 } 372 }
370 373
371 current->flags = flags;
372
373 mutex_lock(&state_lock); 374 mutex_lock(&state_lock);
374 err = as->suspend_result; 375 err = as->suspend_result;
375 as->suspend_state = SUSPEND_NONE; 376 as->suspend_state = SUSPEND_NONE;
diff --git a/drivers/char/cs5535_gpio.c b/drivers/char/cs5535_gpio.c
index fe6d2407baed..c2d23cae9515 100644
--- a/drivers/char/cs5535_gpio.c
+++ b/drivers/char/cs5535_gpio.c
@@ -104,6 +104,11 @@ static ssize_t cs5535_gpio_write(struct file *file, const char __user *data,
104 for (j = 0; j < ARRAY_SIZE(rm); j++) { 104 for (j = 0; j < ARRAY_SIZE(rm); j++) {
105 if (c == rm[j].on) { 105 if (c == rm[j].on) {
106 outl(m1, base + rm[j].wr_offset); 106 outl(m1, base + rm[j].wr_offset);
107 /* If enabling output, turn off AUX 1 and AUX 2 */
108 if (c == 'O') {
109 outl(m0, base + 0x10);
110 outl(m0, base + 0x14);
111 }
107 break; 112 break;
108 } else if (c == rm[j].off) { 113 } else if (c == rm[j].off) {
109 outl(m0, base + rm[j].wr_offset); 114 outl(m0, base + rm[j].wr_offset);
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 5fd6688a444a..ddd3a259cea1 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -12,7 +12,7 @@ if CRYPTO_HW
12 12
13config CRYPTO_DEV_PADLOCK 13config CRYPTO_DEV_PADLOCK
14 tristate "Support for VIA PadLock ACE" 14 tristate "Support for VIA PadLock ACE"
15 depends on X86_32 15 depends on X86_32 && !UML
16 select CRYPTO_ALGAPI 16 select CRYPTO_ALGAPI
17 help 17 help
18 Some VIA processors come with an integrated crypto engine 18 Some VIA processors come with an integrated crypto engine
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
index 5c82ec7f8bbd..3ee60d26e3a2 100644
--- a/drivers/hwmon/coretemp.c
+++ b/drivers/hwmon/coretemp.c
@@ -337,11 +337,10 @@ static int coretemp_cpu_callback(struct notifier_block *nfb,
337 337
338 switch (action) { 338 switch (action) {
339 case CPU_ONLINE: 339 case CPU_ONLINE:
340 case CPU_ONLINE_FROZEN: 340 case CPU_DOWN_FAILED:
341 coretemp_device_add(cpu); 341 coretemp_device_add(cpu);
342 break; 342 break;
343 case CPU_DEAD: 343 case CPU_DOWN_PREPARE:
344 case CPU_DEAD_FROZEN:
345 coretemp_device_remove(cpu); 344 coretemp_device_remove(cpu);
346 break; 345 break;
347 } 346 }
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index f59aecf5ec15..fd9c5d51870a 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -267,13 +267,12 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
267 ts->irq_disabled = 0; 267 ts->irq_disabled = 0;
268 enable_irq(spi->irq); 268 enable_irq(spi->irq);
269 269
270 if (req->msg.status) 270 if (status == 0) {
271 status = req->msg.status; 271 /* on-wire is a must-ignore bit, a BE12 value, then padding */
272 272 sample = be16_to_cpu(req->sample);
273 /* on-wire is a must-ignore bit, a BE12 value, then padding */ 273 sample = sample >> 3;
274 sample = be16_to_cpu(req->sample); 274 sample &= 0x0fff;
275 sample = sample >> 3; 275 }
276 sample &= 0x0fff;
277 276
278 kfree(req); 277 kfree(req);
279 return status ? status : sample; 278 return status ? status : sample;
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c
index c6df2925ebd0..d6952959d72a 100644
--- a/drivers/isdn/i4l/isdn_common.c
+++ b/drivers/isdn/i4l/isdn_common.c
@@ -1515,6 +1515,7 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
1515 if (copy_from_user(&iocts, argp, 1515 if (copy_from_user(&iocts, argp,
1516 sizeof(isdn_ioctl_struct))) 1516 sizeof(isdn_ioctl_struct)))
1517 return -EFAULT; 1517 return -EFAULT;
1518 iocts.drvid[sizeof(iocts.drvid)-1] = 0;
1518 if (strlen(iocts.drvid)) { 1519 if (strlen(iocts.drvid)) {
1519 if ((p = strchr(iocts.drvid, ','))) 1520 if ((p = strchr(iocts.drvid, ',')))
1520 *p = 0; 1521 *p = 0;
@@ -1599,6 +1600,7 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
1599 if (copy_from_user(&iocts, argp, 1600 if (copy_from_user(&iocts, argp,
1600 sizeof(isdn_ioctl_struct))) 1601 sizeof(isdn_ioctl_struct)))
1601 return -EFAULT; 1602 return -EFAULT;
1603 iocts.drvid[sizeof(iocts.drvid)-1] = 0;
1602 if (strlen(iocts.drvid)) { 1604 if (strlen(iocts.drvid)) {
1603 drvidx = -1; 1605 drvidx = -1;
1604 for (i = 0; i < ISDN_MAX_DRIVERS; i++) 1606 for (i = 0; i < ISDN_MAX_DRIVERS; i++)
@@ -1643,7 +1645,7 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
1643 } else { 1645 } else {
1644 p = (char __user *) iocts.arg; 1646 p = (char __user *) iocts.arg;
1645 for (i = 0; i < 10; i++) { 1647 for (i = 0; i < 10; i++) {
1646 sprintf(bname, "%s%s", 1648 snprintf(bname, sizeof(bname), "%s%s",
1647 strlen(dev->drv[drvidx]->msn2eaz[i]) ? 1649 strlen(dev->drv[drvidx]->msn2eaz[i]) ?
1648 dev->drv[drvidx]->msn2eaz[i] : "_", 1650 dev->drv[drvidx]->msn2eaz[i] : "_",
1649 (i < 9) ? "," : "\0"); 1651 (i < 9) ? "," : "\0");
@@ -1673,6 +1675,7 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
1673 char *p; 1675 char *p;
1674 if (copy_from_user(&iocts, argp, sizeof(isdn_ioctl_struct))) 1676 if (copy_from_user(&iocts, argp, sizeof(isdn_ioctl_struct)))
1675 return -EFAULT; 1677 return -EFAULT;
1678 iocts.drvid[sizeof(iocts.drvid)-1] = 0;
1676 if (strlen(iocts.drvid)) { 1679 if (strlen(iocts.drvid)) {
1677 if ((p = strchr(iocts.drvid, ','))) 1680 if ((p = strchr(iocts.drvid, ',')))
1678 *p = 0; 1681 *p = 0;
diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
index 4211293ce862..ba8b04b03b9f 100644
--- a/drivers/leds/led-class.c
+++ b/drivers/leds/led-class.c
@@ -111,7 +111,7 @@ int led_classdev_register(struct device *parent, struct led_classdev *led_cdev)
111 write_unlock(&leds_list_lock); 111 write_unlock(&leds_list_lock);
112 112
113#ifdef CONFIG_LEDS_TRIGGERS 113#ifdef CONFIG_LEDS_TRIGGERS
114 rwlock_init(&led_cdev->trigger_lock); 114 init_rwsem(&led_cdev->trigger_lock);
115 115
116 rc = device_create_file(led_cdev->dev, &dev_attr_trigger); 116 rc = device_create_file(led_cdev->dev, &dev_attr_trigger);
117 if (rc) 117 if (rc)
@@ -147,10 +147,10 @@ void led_classdev_unregister(struct led_classdev *led_cdev)
147 device_remove_file(led_cdev->dev, &dev_attr_brightness); 147 device_remove_file(led_cdev->dev, &dev_attr_brightness);
148#ifdef CONFIG_LEDS_TRIGGERS 148#ifdef CONFIG_LEDS_TRIGGERS
149 device_remove_file(led_cdev->dev, &dev_attr_trigger); 149 device_remove_file(led_cdev->dev, &dev_attr_trigger);
150 write_lock(&led_cdev->trigger_lock); 150 down_write(&led_cdev->trigger_lock);
151 if (led_cdev->trigger) 151 if (led_cdev->trigger)
152 led_trigger_set(led_cdev, NULL); 152 led_trigger_set(led_cdev, NULL);
153 write_unlock(&led_cdev->trigger_lock); 153 up_write(&led_cdev->trigger_lock);
154#endif 154#endif
155 155
156 device_unregister(led_cdev->dev); 156 device_unregister(led_cdev->dev);
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 575368c2b100..0bdb786210b1 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -19,13 +19,14 @@
19#include <linux/device.h> 19#include <linux/device.h>
20#include <linux/sysdev.h> 20#include <linux/sysdev.h>
21#include <linux/timer.h> 21#include <linux/timer.h>
22#include <linux/rwsem.h>
22#include <linux/leds.h> 23#include <linux/leds.h>
23#include "leds.h" 24#include "leds.h"
24 25
25/* 26/*
26 * Nests outside led_cdev->trigger_lock 27 * Nests outside led_cdev->trigger_lock
27 */ 28 */
28static DEFINE_RWLOCK(triggers_list_lock); 29static DECLARE_RWSEM(triggers_list_lock);
29static LIST_HEAD(trigger_list); 30static LIST_HEAD(trigger_list);
30 31
31ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr, 32ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
@@ -44,24 +45,24 @@ ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
44 trigger_name[len - 1] = '\0'; 45 trigger_name[len - 1] = '\0';
45 46
46 if (!strcmp(trigger_name, "none")) { 47 if (!strcmp(trigger_name, "none")) {
47 write_lock(&led_cdev->trigger_lock); 48 down_write(&led_cdev->trigger_lock);
48 led_trigger_set(led_cdev, NULL); 49 led_trigger_set(led_cdev, NULL);
49 write_unlock(&led_cdev->trigger_lock); 50 up_write(&led_cdev->trigger_lock);
50 return count; 51 return count;
51 } 52 }
52 53
53 read_lock(&triggers_list_lock); 54 down_read(&triggers_list_lock);
54 list_for_each_entry(trig, &trigger_list, next_trig) { 55 list_for_each_entry(trig, &trigger_list, next_trig) {
55 if (!strcmp(trigger_name, trig->name)) { 56 if (!strcmp(trigger_name, trig->name)) {
56 write_lock(&led_cdev->trigger_lock); 57 down_write(&led_cdev->trigger_lock);
57 led_trigger_set(led_cdev, trig); 58 led_trigger_set(led_cdev, trig);
58 write_unlock(&led_cdev->trigger_lock); 59 up_write(&led_cdev->trigger_lock);
59 60
60 read_unlock(&triggers_list_lock); 61 up_read(&triggers_list_lock);
61 return count; 62 return count;
62 } 63 }
63 } 64 }
64 read_unlock(&triggers_list_lock); 65 up_read(&triggers_list_lock);
65 66
66 return -EINVAL; 67 return -EINVAL;
67} 68}
@@ -74,8 +75,8 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
74 struct led_trigger *trig; 75 struct led_trigger *trig;
75 int len = 0; 76 int len = 0;
76 77
77 read_lock(&triggers_list_lock); 78 down_read(&triggers_list_lock);
78 read_lock(&led_cdev->trigger_lock); 79 down_read(&led_cdev->trigger_lock);
79 80
80 if (!led_cdev->trigger) 81 if (!led_cdev->trigger)
81 len += sprintf(buf+len, "[none] "); 82 len += sprintf(buf+len, "[none] ");
@@ -89,8 +90,8 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
89 else 90 else
90 len += sprintf(buf+len, "%s ", trig->name); 91 len += sprintf(buf+len, "%s ", trig->name);
91 } 92 }
92 read_unlock(&led_cdev->trigger_lock); 93 up_read(&led_cdev->trigger_lock);
93 read_unlock(&triggers_list_lock); 94 up_read(&triggers_list_lock);
94 95
95 len += sprintf(len+buf, "\n"); 96 len += sprintf(len+buf, "\n");
96 return len; 97 return len;
@@ -145,14 +146,14 @@ void led_trigger_set_default(struct led_classdev *led_cdev)
145 if (!led_cdev->default_trigger) 146 if (!led_cdev->default_trigger)
146 return; 147 return;
147 148
148 read_lock(&triggers_list_lock); 149 down_read(&triggers_list_lock);
149 write_lock(&led_cdev->trigger_lock); 150 down_write(&led_cdev->trigger_lock);
150 list_for_each_entry(trig, &trigger_list, next_trig) { 151 list_for_each_entry(trig, &trigger_list, next_trig) {
151 if (!strcmp(led_cdev->default_trigger, trig->name)) 152 if (!strcmp(led_cdev->default_trigger, trig->name))
152 led_trigger_set(led_cdev, trig); 153 led_trigger_set(led_cdev, trig);
153 } 154 }
154 write_unlock(&led_cdev->trigger_lock); 155 up_write(&led_cdev->trigger_lock);
155 read_unlock(&triggers_list_lock); 156 up_read(&triggers_list_lock);
156} 157}
157 158
158int led_trigger_register(struct led_trigger *trigger) 159int led_trigger_register(struct led_trigger *trigger)
@@ -163,18 +164,18 @@ int led_trigger_register(struct led_trigger *trigger)
163 INIT_LIST_HEAD(&trigger->led_cdevs); 164 INIT_LIST_HEAD(&trigger->led_cdevs);
164 165
165 /* Add to the list of led triggers */ 166 /* Add to the list of led triggers */
166 write_lock(&triggers_list_lock); 167 down_write(&triggers_list_lock);
167 list_add_tail(&trigger->next_trig, &trigger_list); 168 list_add_tail(&trigger->next_trig, &trigger_list);
168 write_unlock(&triggers_list_lock); 169 up_write(&triggers_list_lock);
169 170
170 /* Register with any LEDs that have this as a default trigger */ 171 /* Register with any LEDs that have this as a default trigger */
171 read_lock(&leds_list_lock); 172 read_lock(&leds_list_lock);
172 list_for_each_entry(led_cdev, &leds_list, node) { 173 list_for_each_entry(led_cdev, &leds_list, node) {
173 write_lock(&led_cdev->trigger_lock); 174 down_write(&led_cdev->trigger_lock);
174 if (!led_cdev->trigger && led_cdev->default_trigger && 175 if (!led_cdev->trigger && led_cdev->default_trigger &&
175 !strcmp(led_cdev->default_trigger, trigger->name)) 176 !strcmp(led_cdev->default_trigger, trigger->name))
176 led_trigger_set(led_cdev, trigger); 177 led_trigger_set(led_cdev, trigger);
177 write_unlock(&led_cdev->trigger_lock); 178 up_write(&led_cdev->trigger_lock);
178 } 179 }
179 read_unlock(&leds_list_lock); 180 read_unlock(&leds_list_lock);
180 181
@@ -206,17 +207,17 @@ void led_trigger_unregister(struct led_trigger *trigger)
206 struct led_classdev *led_cdev; 207 struct led_classdev *led_cdev;
207 208
208 /* Remove from the list of led triggers */ 209 /* Remove from the list of led triggers */
209 write_lock(&triggers_list_lock); 210 down_write(&triggers_list_lock);
210 list_del(&trigger->next_trig); 211 list_del(&trigger->next_trig);
211 write_unlock(&triggers_list_lock); 212 up_write(&triggers_list_lock);
212 213
213 /* Remove anyone actively using this trigger */ 214 /* Remove anyone actively using this trigger */
214 read_lock(&leds_list_lock); 215 read_lock(&leds_list_lock);
215 list_for_each_entry(led_cdev, &leds_list, node) { 216 list_for_each_entry(led_cdev, &leds_list, node) {
216 write_lock(&led_cdev->trigger_lock); 217 down_write(&led_cdev->trigger_lock);
217 if (led_cdev->trigger == trigger) 218 if (led_cdev->trigger == trigger)
218 led_trigger_set(led_cdev, NULL); 219 led_trigger_set(led_cdev, NULL);
219 write_unlock(&led_cdev->trigger_lock); 220 up_write(&led_cdev->trigger_lock);
220 } 221 }
221 read_unlock(&leds_list_lock); 222 read_unlock(&leds_list_lock);
222} 223}
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index a6469218f194..365024b83d3d 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -176,8 +176,6 @@ mmc_spi_readbytes(struct mmc_spi_host *host, unsigned len)
176 DMA_FROM_DEVICE); 176 DMA_FROM_DEVICE);
177 177
178 status = spi_sync(host->spi, &host->readback); 178 status = spi_sync(host->spi, &host->readback);
179 if (status == 0)
180 status = host->readback.status;
181 179
182 if (host->dma_dev) 180 if (host->dma_dev)
183 dma_sync_single_for_cpu(host->dma_dev, 181 dma_sync_single_for_cpu(host->dma_dev,
@@ -480,8 +478,6 @@ mmc_spi_command_send(struct mmc_spi_host *host,
480 DMA_BIDIRECTIONAL); 478 DMA_BIDIRECTIONAL);
481 } 479 }
482 status = spi_sync(host->spi, &host->m); 480 status = spi_sync(host->spi, &host->m);
483 if (status == 0)
484 status = host->m.status;
485 481
486 if (host->dma_dev) 482 if (host->dma_dev)
487 dma_sync_single_for_cpu(host->dma_dev, 483 dma_sync_single_for_cpu(host->dma_dev,
@@ -624,8 +620,6 @@ mmc_spi_writeblock(struct mmc_spi_host *host, struct spi_transfer *t)
624 DMA_BIDIRECTIONAL); 620 DMA_BIDIRECTIONAL);
625 621
626 status = spi_sync(spi, &host->m); 622 status = spi_sync(spi, &host->m);
627 if (status == 0)
628 status = host->m.status;
629 623
630 if (status != 0) { 624 if (status != 0) {
631 dev_dbg(&spi->dev, "write error (%d)\n", status); 625 dev_dbg(&spi->dev, "write error (%d)\n", status);
@@ -726,8 +720,6 @@ mmc_spi_readblock(struct mmc_spi_host *host, struct spi_transfer *t)
726 } 720 }
727 721
728 status = spi_sync(spi, &host->m); 722 status = spi_sync(spi, &host->m);
729 if (status == 0)
730 status = host->m.status;
731 723
732 if (host->dma_dev) { 724 if (host->dma_dev) {
733 dma_sync_single_for_cpu(host->dma_dev, 725 dma_sync_single_for_cpu(host->dma_dev,
@@ -905,8 +897,6 @@ mmc_spi_data_do(struct mmc_spi_host *host, struct mmc_command *cmd,
905 DMA_BIDIRECTIONAL); 897 DMA_BIDIRECTIONAL);
906 898
907 tmp = spi_sync(spi, &host->m); 899 tmp = spi_sync(spi, &host->m);
908 if (tmp == 0)
909 tmp = host->m.status;
910 900
911 if (host->dma_dev) 901 if (host->dma_dev)
912 dma_sync_single_for_cpu(host->dma_dev, 902 dma_sync_single_for_cpu(host->dma_dev,
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index e8d69b0adf90..6cde4edc846b 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -888,7 +888,7 @@ config SMC91X
888 tristate "SMC 91C9x/91C1xxx support" 888 tristate "SMC 91C9x/91C1xxx support"
889 select CRC32 889 select CRC32
890 select MII 890 select MII
891 depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00 || BFIN 891 depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00 || BLACKFIN
892 help 892 help
893 This is a driver for SMC's 91x series of Ethernet chipsets, 893 This is a driver for SMC's 91x series of Ethernet chipsets,
894 including the SMC91C94 and the SMC91C111. Say Y if you want it 894 including the SMC91C94 and the SMC91C111. Say Y if you want it
@@ -926,7 +926,7 @@ config SMC911X
926 tristate "SMSC LAN911[5678] support" 926 tristate "SMSC LAN911[5678] support"
927 select CRC32 927 select CRC32
928 select MII 928 select MII
929 depends on ARCH_PXA || SUPERH 929 depends on ARCH_PXA || SH_MAGIC_PANEL_R2
930 help 930 help
931 This is a driver for SMSC's LAN911x series of Ethernet chipsets 931 This is a driver for SMSC's LAN911x series of Ethernet chipsets
932 including the new LAN9115, LAN9116, LAN9117, and LAN9118. 932 including the new LAN9115, LAN9116, LAN9117, and LAN9118.
@@ -2588,6 +2588,7 @@ config MLX4_DEBUG
2588config TEHUTI 2588config TEHUTI
2589 tristate "Tehuti Networks 10G Ethernet" 2589 tristate "Tehuti Networks 10G Ethernet"
2590 depends on PCI 2590 depends on PCI
2591 select ZLIB_INFLATE
2591 help 2592 help
2592 Tehuti Networks 10G Ethernet NIC 2593 Tehuti Networks 10G Ethernet NIC
2593 2594
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index eebf5bb2b03a..e7fdd81919bd 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -1340,7 +1340,9 @@ static int amd8111e_close(struct net_device * dev)
1340 struct amd8111e_priv *lp = netdev_priv(dev); 1340 struct amd8111e_priv *lp = netdev_priv(dev);
1341 netif_stop_queue(dev); 1341 netif_stop_queue(dev);
1342 1342
1343#ifdef CONFIG_AMD8111E_NAPI
1343 napi_disable(&lp->napi); 1344 napi_disable(&lp->napi);
1345#endif
1344 1346
1345 spin_lock_irq(&lp->lock); 1347 spin_lock_irq(&lp->lock);
1346 1348
@@ -1372,7 +1374,9 @@ static int amd8111e_open(struct net_device * dev )
1372 dev->name, dev)) 1374 dev->name, dev))
1373 return -EAGAIN; 1375 return -EAGAIN;
1374 1376
1377#ifdef CONFIG_AMD8111E_NAPI
1375 napi_enable(&lp->napi); 1378 napi_enable(&lp->napi);
1379#endif
1376 1380
1377 spin_lock_irq(&lp->lock); 1381 spin_lock_irq(&lp->lock);
1378 1382
@@ -1380,7 +1384,9 @@ static int amd8111e_open(struct net_device * dev )
1380 1384
1381 if(amd8111e_restart(dev)){ 1385 if(amd8111e_restart(dev)){
1382 spin_unlock_irq(&lp->lock); 1386 spin_unlock_irq(&lp->lock);
1387#ifdef CONFIG_AMD8111E_NAPI
1383 napi_disable(&lp->napi); 1388 napi_disable(&lp->napi);
1389#endif
1384 if (dev->irq) 1390 if (dev->irq)
1385 free_irq(dev->irq, dev); 1391 free_irq(dev->irq, dev);
1386 return -ENOMEM; 1392 return -ENOMEM;
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 0b99b5549295..eb971755a3ff 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -676,7 +676,7 @@ static void bf537mac_rx(struct net_device *dev)
676 skb->protocol = eth_type_trans(skb, dev); 676 skb->protocol = eth_type_trans(skb, dev);
677#if defined(BFIN_MAC_CSUM_OFFLOAD) 677#if defined(BFIN_MAC_CSUM_OFFLOAD)
678 skb->csum = current_rx_ptr->status.ip_payload_csum; 678 skb->csum = current_rx_ptr->status.ip_payload_csum;
679 skb->ip_summed = CHECKSUM_PARTIAL; 679 skb->ip_summed = CHECKSUM_COMPLETE;
680#endif 680#endif
681 681
682 netif_rx(skb); 682 netif_rx(skb);
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 423298c84a1d..b0b26036266b 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -74,6 +74,7 @@
74#include <linux/ethtool.h> 74#include <linux/ethtool.h>
75#include <linux/if_vlan.h> 75#include <linux/if_vlan.h>
76#include <linux/if_bonding.h> 76#include <linux/if_bonding.h>
77#include <linux/jiffies.h>
77#include <net/route.h> 78#include <net/route.h>
78#include <net/net_namespace.h> 79#include <net/net_namespace.h>
79#include "bonding.h" 80#include "bonding.h"
@@ -174,6 +175,7 @@ struct bond_parm_tbl bond_mode_tbl[] = {
174struct bond_parm_tbl xmit_hashtype_tbl[] = { 175struct bond_parm_tbl xmit_hashtype_tbl[] = {
175{ "layer2", BOND_XMIT_POLICY_LAYER2}, 176{ "layer2", BOND_XMIT_POLICY_LAYER2},
176{ "layer3+4", BOND_XMIT_POLICY_LAYER34}, 177{ "layer3+4", BOND_XMIT_POLICY_LAYER34},
178{ "layer2+3", BOND_XMIT_POLICY_LAYER23},
177{ NULL, -1}, 179{ NULL, -1},
178}; 180};
179 181
@@ -2722,8 +2724,8 @@ void bond_loadbalance_arp_mon(struct work_struct *work)
2722 */ 2724 */
2723 bond_for_each_slave(bond, slave, i) { 2725 bond_for_each_slave(bond, slave, i) {
2724 if (slave->link != BOND_LINK_UP) { 2726 if (slave->link != BOND_LINK_UP) {
2725 if (((jiffies - slave->dev->trans_start) <= delta_in_ticks) && 2727 if (time_before_eq(jiffies, slave->dev->trans_start + delta_in_ticks) &&
2726 ((jiffies - slave->dev->last_rx) <= delta_in_ticks)) { 2728 time_before_eq(jiffies, slave->dev->last_rx + delta_in_ticks)) {
2727 2729
2728 slave->link = BOND_LINK_UP; 2730 slave->link = BOND_LINK_UP;
2729 slave->state = BOND_STATE_ACTIVE; 2731 slave->state = BOND_STATE_ACTIVE;
@@ -2754,8 +2756,8 @@ void bond_loadbalance_arp_mon(struct work_struct *work)
2754 * when the source ip is 0, so don't take the link down 2756 * when the source ip is 0, so don't take the link down
2755 * if we don't know our ip yet 2757 * if we don't know our ip yet
2756 */ 2758 */
2757 if (((jiffies - slave->dev->trans_start) >= (2*delta_in_ticks)) || 2759 if (time_after_eq(jiffies, slave->dev->trans_start + 2*delta_in_ticks) ||
2758 (((jiffies - slave->dev->last_rx) >= (2*delta_in_ticks)) && 2760 (time_after_eq(jiffies, slave->dev->last_rx + 2*delta_in_ticks) &&
2759 bond_has_ip(bond))) { 2761 bond_has_ip(bond))) {
2760 2762
2761 slave->link = BOND_LINK_DOWN; 2763 slave->link = BOND_LINK_DOWN;
@@ -2848,8 +2850,8 @@ void bond_activebackup_arp_mon(struct work_struct *work)
2848 */ 2850 */
2849 bond_for_each_slave(bond, slave, i) { 2851 bond_for_each_slave(bond, slave, i) {
2850 if (slave->link != BOND_LINK_UP) { 2852 if (slave->link != BOND_LINK_UP) {
2851 if ((jiffies - slave_last_rx(bond, slave)) <= 2853 if (time_before_eq(jiffies,
2852 delta_in_ticks) { 2854 slave_last_rx(bond, slave) + delta_in_ticks)) {
2853 2855
2854 slave->link = BOND_LINK_UP; 2856 slave->link = BOND_LINK_UP;
2855 2857
@@ -2858,7 +2860,7 @@ void bond_activebackup_arp_mon(struct work_struct *work)
2858 write_lock_bh(&bond->curr_slave_lock); 2860 write_lock_bh(&bond->curr_slave_lock);
2859 2861
2860 if ((!bond->curr_active_slave) && 2862 if ((!bond->curr_active_slave) &&
2861 ((jiffies - slave->dev->trans_start) <= delta_in_ticks)) { 2863 time_before_eq(jiffies, slave->dev->trans_start + delta_in_ticks)) {
2862 bond_change_active_slave(bond, slave); 2864 bond_change_active_slave(bond, slave);
2863 bond->current_arp_slave = NULL; 2865 bond->current_arp_slave = NULL;
2864 } else if (bond->curr_active_slave != slave) { 2866 } else if (bond->curr_active_slave != slave) {
@@ -2897,7 +2899,7 @@ void bond_activebackup_arp_mon(struct work_struct *work)
2897 2899
2898 if ((slave != bond->curr_active_slave) && 2900 if ((slave != bond->curr_active_slave) &&
2899 (!bond->current_arp_slave) && 2901 (!bond->current_arp_slave) &&
2900 (((jiffies - slave_last_rx(bond, slave)) >= 3*delta_in_ticks) && 2902 (time_after_eq(jiffies, slave_last_rx(bond, slave) + 3*delta_in_ticks) &&
2901 bond_has_ip(bond))) { 2903 bond_has_ip(bond))) {
2902 /* a backup slave has gone down; three times 2904 /* a backup slave has gone down; three times
2903 * the delta allows the current slave to be 2905 * the delta allows the current slave to be
@@ -2943,10 +2945,10 @@ void bond_activebackup_arp_mon(struct work_struct *work)
2943 * before being taken out. if a primary is being used, check 2945 * before being taken out. if a primary is being used, check
2944 * if it is up and needs to take over as the curr_active_slave 2946 * if it is up and needs to take over as the curr_active_slave
2945 */ 2947 */
2946 if ((((jiffies - slave->dev->trans_start) >= (2*delta_in_ticks)) || 2948 if ((time_after_eq(jiffies, slave->dev->trans_start + 2*delta_in_ticks) ||
2947 (((jiffies - slave_last_rx(bond, slave)) >= (2*delta_in_ticks)) && 2949 (time_after_eq(jiffies, slave_last_rx(bond, slave) + 2*delta_in_ticks) &&
2948 bond_has_ip(bond))) && 2950 bond_has_ip(bond))) &&
2949 ((jiffies - slave->jiffies) >= 2*delta_in_ticks)) { 2951 time_after_eq(jiffies, slave->jiffies + 2*delta_in_ticks)) {
2950 2952
2951 slave->link = BOND_LINK_DOWN; 2953 slave->link = BOND_LINK_DOWN;
2952 2954
@@ -3604,6 +3606,24 @@ void bond_unregister_arp(struct bonding *bond)
3604/*---------------------------- Hashing Policies -----------------------------*/ 3606/*---------------------------- Hashing Policies -----------------------------*/
3605 3607
3606/* 3608/*
3609 * Hash for the output device based upon layer 2 and layer 3 data. If
3610 * the packet is not IP mimic bond_xmit_hash_policy_l2()
3611 */
3612static int bond_xmit_hash_policy_l23(struct sk_buff *skb,
3613 struct net_device *bond_dev, int count)
3614{
3615 struct ethhdr *data = (struct ethhdr *)skb->data;
3616 struct iphdr *iph = ip_hdr(skb);
3617
3618 if (skb->protocol == __constant_htons(ETH_P_IP)) {
3619 return ((ntohl(iph->saddr ^ iph->daddr) & 0xffff) ^
3620 (data->h_dest[5] ^ bond_dev->dev_addr[5])) % count;
3621 }
3622
3623 return (data->h_dest[5] ^ bond_dev->dev_addr[5]) % count;
3624}
3625
3626/*
3607 * Hash for the output device based upon layer 3 and layer 4 data. If 3627 * Hash for the output device based upon layer 3 and layer 4 data. If
3608 * the packet is a frag or not TCP or UDP, just use layer 3 data. If it is 3628 * the packet is a frag or not TCP or UDP, just use layer 3 data. If it is
3609 * altogether not IP, mimic bond_xmit_hash_policy_l2() 3629 * altogether not IP, mimic bond_xmit_hash_policy_l2()
@@ -4305,6 +4325,22 @@ out:
4305 4325
4306/*------------------------- Device initialization ---------------------------*/ 4326/*------------------------- Device initialization ---------------------------*/
4307 4327
4328static void bond_set_xmit_hash_policy(struct bonding *bond)
4329{
4330 switch (bond->params.xmit_policy) {
4331 case BOND_XMIT_POLICY_LAYER23:
4332 bond->xmit_hash_policy = bond_xmit_hash_policy_l23;
4333 break;
4334 case BOND_XMIT_POLICY_LAYER34:
4335 bond->xmit_hash_policy = bond_xmit_hash_policy_l34;
4336 break;
4337 case BOND_XMIT_POLICY_LAYER2:
4338 default:
4339 bond->xmit_hash_policy = bond_xmit_hash_policy_l2;
4340 break;
4341 }
4342}
4343
4308/* 4344/*
4309 * set bond mode specific net device operations 4345 * set bond mode specific net device operations
4310 */ 4346 */
@@ -4321,10 +4357,7 @@ void bond_set_mode_ops(struct bonding *bond, int mode)
4321 break; 4357 break;
4322 case BOND_MODE_XOR: 4358 case BOND_MODE_XOR:
4323 bond_dev->hard_start_xmit = bond_xmit_xor; 4359 bond_dev->hard_start_xmit = bond_xmit_xor;
4324 if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER34) 4360 bond_set_xmit_hash_policy(bond);
4325 bond->xmit_hash_policy = bond_xmit_hash_policy_l34;
4326 else
4327 bond->xmit_hash_policy = bond_xmit_hash_policy_l2;
4328 break; 4361 break;
4329 case BOND_MODE_BROADCAST: 4362 case BOND_MODE_BROADCAST:
4330 bond_dev->hard_start_xmit = bond_xmit_broadcast; 4363 bond_dev->hard_start_xmit = bond_xmit_broadcast;
@@ -4332,10 +4365,7 @@ void bond_set_mode_ops(struct bonding *bond, int mode)
4332 case BOND_MODE_8023AD: 4365 case BOND_MODE_8023AD:
4333 bond_set_master_3ad_flags(bond); 4366 bond_set_master_3ad_flags(bond);
4334 bond_dev->hard_start_xmit = bond_3ad_xmit_xor; 4367 bond_dev->hard_start_xmit = bond_3ad_xmit_xor;
4335 if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER34) 4368 bond_set_xmit_hash_policy(bond);
4336 bond->xmit_hash_policy = bond_xmit_hash_policy_l34;
4337 else
4338 bond->xmit_hash_policy = bond_xmit_hash_policy_l2;
4339 break; 4369 break;
4340 case BOND_MODE_ALB: 4370 case BOND_MODE_ALB:
4341 bond_set_master_alb_flags(bond); 4371 bond_set_master_alb_flags(bond);
@@ -4462,6 +4492,27 @@ static void bond_deinit(struct net_device *bond_dev)
4462#endif 4492#endif
4463} 4493}
4464 4494
4495static void bond_work_cancel_all(struct bonding *bond)
4496{
4497 write_lock_bh(&bond->lock);
4498 bond->kill_timers = 1;
4499 write_unlock_bh(&bond->lock);
4500
4501 if (bond->params.miimon && delayed_work_pending(&bond->mii_work))
4502 cancel_delayed_work(&bond->mii_work);
4503
4504 if (bond->params.arp_interval && delayed_work_pending(&bond->arp_work))
4505 cancel_delayed_work(&bond->arp_work);
4506
4507 if (bond->params.mode == BOND_MODE_ALB &&
4508 delayed_work_pending(&bond->alb_work))
4509 cancel_delayed_work(&bond->alb_work);
4510
4511 if (bond->params.mode == BOND_MODE_8023AD &&
4512 delayed_work_pending(&bond->ad_work))
4513 cancel_delayed_work(&bond->ad_work);
4514}
4515
4465/* Unregister and free all bond devices. 4516/* Unregister and free all bond devices.
4466 * Caller must hold rtnl_lock. 4517 * Caller must hold rtnl_lock.
4467 */ 4518 */
@@ -4472,6 +4523,7 @@ static void bond_free_all(void)
4472 list_for_each_entry_safe(bond, nxt, &bond_dev_list, bond_list) { 4523 list_for_each_entry_safe(bond, nxt, &bond_dev_list, bond_list) {
4473 struct net_device *bond_dev = bond->dev; 4524 struct net_device *bond_dev = bond->dev;
4474 4525
4526 bond_work_cancel_all(bond);
4475 bond_mc_list_destroy(bond); 4527 bond_mc_list_destroy(bond);
4476 /* Release the bonded slaves */ 4528 /* Release the bonded slaves */
4477 bond_release_all(bond_dev); 4529 bond_release_all(bond_dev);
@@ -4497,8 +4549,7 @@ int bond_parse_parm(char *mode_arg, struct bond_parm_tbl *tbl)
4497 for (i = 0; tbl[i].modename; i++) { 4549 for (i = 0; tbl[i].modename; i++) {
4498 if ((isdigit(*mode_arg) && 4550 if ((isdigit(*mode_arg) &&
4499 tbl[i].mode == simple_strtol(mode_arg, NULL, 0)) || 4551 tbl[i].mode == simple_strtol(mode_arg, NULL, 0)) ||
4500 (strncmp(mode_arg, tbl[i].modename, 4552 (strcmp(mode_arg, tbl[i].modename) == 0)) {
4501 strlen(tbl[i].modename)) == 0)) {
4502 return tbl[i].mode; 4553 return tbl[i].mode;
4503 } 4554 }
4504 } 4555 }
@@ -4873,27 +4924,6 @@ out_rtnl:
4873 return res; 4924 return res;
4874} 4925}
4875 4926
4876static void bond_work_cancel_all(struct bonding *bond)
4877{
4878 write_lock_bh(&bond->lock);
4879 bond->kill_timers = 1;
4880 write_unlock_bh(&bond->lock);
4881
4882 if (bond->params.miimon && delayed_work_pending(&bond->mii_work))
4883 cancel_delayed_work(&bond->mii_work);
4884
4885 if (bond->params.arp_interval && delayed_work_pending(&bond->arp_work))
4886 cancel_delayed_work(&bond->arp_work);
4887
4888 if (bond->params.mode == BOND_MODE_ALB &&
4889 delayed_work_pending(&bond->alb_work))
4890 cancel_delayed_work(&bond->alb_work);
4891
4892 if (bond->params.mode == BOND_MODE_8023AD &&
4893 delayed_work_pending(&bond->ad_work))
4894 cancel_delayed_work(&bond->ad_work);
4895}
4896
4897static int __init bonding_init(void) 4927static int __init bonding_init(void)
4898{ 4928{
4899 int i; 4929 int i;
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index b29330d8e309..11b76b352415 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -74,7 +74,7 @@ struct rw_semaphore bonding_rwsem;
74 * "show" function for the bond_masters attribute. 74 * "show" function for the bond_masters attribute.
75 * The class parameter is ignored. 75 * The class parameter is ignored.
76 */ 76 */
77static ssize_t bonding_show_bonds(struct class *cls, char *buffer) 77static ssize_t bonding_show_bonds(struct class *cls, char *buf)
78{ 78{
79 int res = 0; 79 int res = 0;
80 struct bonding *bond; 80 struct bonding *bond;
@@ -86,14 +86,13 @@ static ssize_t bonding_show_bonds(struct class *cls, char *buffer)
86 /* not enough space for another interface name */ 86 /* not enough space for another interface name */
87 if ((PAGE_SIZE - res) > 10) 87 if ((PAGE_SIZE - res) > 10)
88 res = PAGE_SIZE - 10; 88 res = PAGE_SIZE - 10;
89 res += sprintf(buffer + res, "++more++"); 89 res += sprintf(buf + res, "++more++ ");
90 break; 90 break;
91 } 91 }
92 res += sprintf(buffer + res, "%s ", 92 res += sprintf(buf + res, "%s ", bond->dev->name);
93 bond->dev->name);
94 } 93 }
95 res += sprintf(buffer + res, "\n"); 94 if (res)
96 res++; 95 buf[res-1] = '\n'; /* eat the leftover space */
97 up_read(&(bonding_rwsem)); 96 up_read(&(bonding_rwsem));
98 return res; 97 return res;
99} 98}
@@ -235,14 +234,14 @@ static ssize_t bonding_show_slaves(struct device *d,
235 /* not enough space for another interface name */ 234 /* not enough space for another interface name */
236 if ((PAGE_SIZE - res) > 10) 235 if ((PAGE_SIZE - res) > 10)
237 res = PAGE_SIZE - 10; 236 res = PAGE_SIZE - 10;
238 res += sprintf(buf + res, "++more++"); 237 res += sprintf(buf + res, "++more++ ");
239 break; 238 break;
240 } 239 }
241 res += sprintf(buf + res, "%s ", slave->dev->name); 240 res += sprintf(buf + res, "%s ", slave->dev->name);
242 } 241 }
243 read_unlock(&bond->lock); 242 read_unlock(&bond->lock);
244 res += sprintf(buf + res, "\n"); 243 if (res)
245 res++; 244 buf[res-1] = '\n'; /* eat the leftover space */
246 return res; 245 return res;
247} 246}
248 247
@@ -406,7 +405,7 @@ static ssize_t bonding_show_mode(struct device *d,
406 405
407 return sprintf(buf, "%s %d\n", 406 return sprintf(buf, "%s %d\n",
408 bond_mode_tbl[bond->params.mode].modename, 407 bond_mode_tbl[bond->params.mode].modename,
409 bond->params.mode) + 1; 408 bond->params.mode);
410} 409}
411 410
412static ssize_t bonding_store_mode(struct device *d, 411static ssize_t bonding_store_mode(struct device *d,
@@ -457,20 +456,11 @@ static ssize_t bonding_show_xmit_hash(struct device *d,
457 struct device_attribute *attr, 456 struct device_attribute *attr,
458 char *buf) 457 char *buf)
459{ 458{
460 int count;
461 struct bonding *bond = to_bond(d); 459 struct bonding *bond = to_bond(d);
462 460
463 if ((bond->params.mode != BOND_MODE_XOR) && 461 return sprintf(buf, "%s %d\n",
464 (bond->params.mode != BOND_MODE_8023AD)) { 462 xmit_hashtype_tbl[bond->params.xmit_policy].modename,
465 // Not Applicable 463 bond->params.xmit_policy);
466 count = sprintf(buf, "NA\n") + 1;
467 } else {
468 count = sprintf(buf, "%s %d\n",
469 xmit_hashtype_tbl[bond->params.xmit_policy].modename,
470 bond->params.xmit_policy) + 1;
471 }
472
473 return count;
474} 464}
475 465
476static ssize_t bonding_store_xmit_hash(struct device *d, 466static ssize_t bonding_store_xmit_hash(struct device *d,
@@ -488,15 +478,6 @@ static ssize_t bonding_store_xmit_hash(struct device *d,
488 goto out; 478 goto out;
489 } 479 }
490 480
491 if ((bond->params.mode != BOND_MODE_XOR) &&
492 (bond->params.mode != BOND_MODE_8023AD)) {
493 printk(KERN_ERR DRV_NAME
494 "%s: Transmit hash policy is irrelevant in this mode.\n",
495 bond->dev->name);
496 ret = -EPERM;
497 goto out;
498 }
499
500 new_value = bond_parse_parm((char *)buf, xmit_hashtype_tbl); 481 new_value = bond_parse_parm((char *)buf, xmit_hashtype_tbl);
501 if (new_value < 0) { 482 if (new_value < 0) {
502 printk(KERN_ERR DRV_NAME 483 printk(KERN_ERR DRV_NAME
@@ -527,7 +508,7 @@ static ssize_t bonding_show_arp_validate(struct device *d,
527 508
528 return sprintf(buf, "%s %d\n", 509 return sprintf(buf, "%s %d\n",
529 arp_validate_tbl[bond->params.arp_validate].modename, 510 arp_validate_tbl[bond->params.arp_validate].modename,
530 bond->params.arp_validate) + 1; 511 bond->params.arp_validate);
531} 512}
532 513
533static ssize_t bonding_store_arp_validate(struct device *d, 514static ssize_t bonding_store_arp_validate(struct device *d,
@@ -627,7 +608,7 @@ static ssize_t bonding_show_arp_interval(struct device *d,
627{ 608{
628 struct bonding *bond = to_bond(d); 609 struct bonding *bond = to_bond(d);
629 610
630 return sprintf(buf, "%d\n", bond->params.arp_interval) + 1; 611 return sprintf(buf, "%d\n", bond->params.arp_interval);
631} 612}
632 613
633static ssize_t bonding_store_arp_interval(struct device *d, 614static ssize_t bonding_store_arp_interval(struct device *d,
@@ -712,9 +693,7 @@ static ssize_t bonding_show_arp_targets(struct device *d,
712 NIPQUAD(bond->params.arp_targets[i])); 693 NIPQUAD(bond->params.arp_targets[i]));
713 } 694 }
714 if (res) 695 if (res)
715 res--; /* eat the leftover space */ 696 buf[res-1] = '\n'; /* eat the leftover space */
716 res += sprintf(buf + res, "\n");
717 res++;
718 return res; 697 return res;
719} 698}
720 699
@@ -815,7 +794,7 @@ static ssize_t bonding_show_downdelay(struct device *d,
815{ 794{
816 struct bonding *bond = to_bond(d); 795 struct bonding *bond = to_bond(d);
817 796
818 return sprintf(buf, "%d\n", bond->params.downdelay * bond->params.miimon) + 1; 797 return sprintf(buf, "%d\n", bond->params.downdelay * bond->params.miimon);
819} 798}
820 799
821static ssize_t bonding_store_downdelay(struct device *d, 800static ssize_t bonding_store_downdelay(struct device *d,
@@ -872,7 +851,7 @@ static ssize_t bonding_show_updelay(struct device *d,
872{ 851{
873 struct bonding *bond = to_bond(d); 852 struct bonding *bond = to_bond(d);
874 853
875 return sprintf(buf, "%d\n", bond->params.updelay * bond->params.miimon) + 1; 854 return sprintf(buf, "%d\n", bond->params.updelay * bond->params.miimon);
876 855
877} 856}
878 857
@@ -936,7 +915,7 @@ static ssize_t bonding_show_lacp(struct device *d,
936 915
937 return sprintf(buf, "%s %d\n", 916 return sprintf(buf, "%s %d\n",
938 bond_lacp_tbl[bond->params.lacp_fast].modename, 917 bond_lacp_tbl[bond->params.lacp_fast].modename,
939 bond->params.lacp_fast) + 1; 918 bond->params.lacp_fast);
940} 919}
941 920
942static ssize_t bonding_store_lacp(struct device *d, 921static ssize_t bonding_store_lacp(struct device *d,
@@ -992,7 +971,7 @@ static ssize_t bonding_show_miimon(struct device *d,
992{ 971{
993 struct bonding *bond = to_bond(d); 972 struct bonding *bond = to_bond(d);
994 973
995 return sprintf(buf, "%d\n", bond->params.miimon) + 1; 974 return sprintf(buf, "%d\n", bond->params.miimon);
996} 975}
997 976
998static ssize_t bonding_store_miimon(struct device *d, 977static ssize_t bonding_store_miimon(struct device *d,
@@ -1083,9 +1062,7 @@ static ssize_t bonding_show_primary(struct device *d,
1083 struct bonding *bond = to_bond(d); 1062 struct bonding *bond = to_bond(d);
1084 1063
1085 if (bond->primary_slave) 1064 if (bond->primary_slave)
1086 count = sprintf(buf, "%s\n", bond->primary_slave->dev->name) + 1; 1065 count = sprintf(buf, "%s\n", bond->primary_slave->dev->name);
1087 else
1088 count = sprintf(buf, "\n") + 1;
1089 1066
1090 return count; 1067 return count;
1091} 1068}
@@ -1149,7 +1126,7 @@ static ssize_t bonding_show_carrier(struct device *d,
1149{ 1126{
1150 struct bonding *bond = to_bond(d); 1127 struct bonding *bond = to_bond(d);
1151 1128
1152 return sprintf(buf, "%d\n", bond->params.use_carrier) + 1; 1129 return sprintf(buf, "%d\n", bond->params.use_carrier);
1153} 1130}
1154 1131
1155static ssize_t bonding_store_carrier(struct device *d, 1132static ssize_t bonding_store_carrier(struct device *d,
@@ -1191,16 +1168,14 @@ static ssize_t bonding_show_active_slave(struct device *d,
1191{ 1168{
1192 struct slave *curr; 1169 struct slave *curr;
1193 struct bonding *bond = to_bond(d); 1170 struct bonding *bond = to_bond(d);
1194 int count; 1171 int count = 0;
1195 1172
1196 read_lock(&bond->curr_slave_lock); 1173 read_lock(&bond->curr_slave_lock);
1197 curr = bond->curr_active_slave; 1174 curr = bond->curr_active_slave;
1198 read_unlock(&bond->curr_slave_lock); 1175 read_unlock(&bond->curr_slave_lock);
1199 1176
1200 if (USES_PRIMARY(bond->params.mode) && curr) 1177 if (USES_PRIMARY(bond->params.mode) && curr)
1201 count = sprintf(buf, "%s\n", curr->dev->name) + 1; 1178 count = sprintf(buf, "%s\n", curr->dev->name);
1202 else
1203 count = sprintf(buf, "\n") + 1;
1204 return count; 1179 return count;
1205} 1180}
1206 1181
@@ -1295,7 +1270,7 @@ static ssize_t bonding_show_mii_status(struct device *d,
1295 curr = bond->curr_active_slave; 1270 curr = bond->curr_active_slave;
1296 read_unlock(&bond->curr_slave_lock); 1271 read_unlock(&bond->curr_slave_lock);
1297 1272
1298 return sprintf(buf, "%s\n", (curr) ? "up" : "down") + 1; 1273 return sprintf(buf, "%s\n", (curr) ? "up" : "down");
1299} 1274}
1300static DEVICE_ATTR(mii_status, S_IRUGO, bonding_show_mii_status, NULL); 1275static DEVICE_ATTR(mii_status, S_IRUGO, bonding_show_mii_status, NULL);
1301 1276
@@ -1312,10 +1287,8 @@ static ssize_t bonding_show_ad_aggregator(struct device *d,
1312 1287
1313 if (bond->params.mode == BOND_MODE_8023AD) { 1288 if (bond->params.mode == BOND_MODE_8023AD) {
1314 struct ad_info ad_info; 1289 struct ad_info ad_info;
1315 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.aggregator_id) + 1; 1290 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.aggregator_id);
1316 } 1291 }
1317 else
1318 count = sprintf(buf, "\n") + 1;
1319 1292
1320 return count; 1293 return count;
1321} 1294}
@@ -1334,10 +1307,8 @@ static ssize_t bonding_show_ad_num_ports(struct device *d,
1334 1307
1335 if (bond->params.mode == BOND_MODE_8023AD) { 1308 if (bond->params.mode == BOND_MODE_8023AD) {
1336 struct ad_info ad_info; 1309 struct ad_info ad_info;
1337 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0: ad_info.ports) + 1; 1310 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0: ad_info.ports);
1338 } 1311 }
1339 else
1340 count = sprintf(buf, "\n") + 1;
1341 1312
1342 return count; 1313 return count;
1343} 1314}
@@ -1356,10 +1327,8 @@ static ssize_t bonding_show_ad_actor_key(struct device *d,
1356 1327
1357 if (bond->params.mode == BOND_MODE_8023AD) { 1328 if (bond->params.mode == BOND_MODE_8023AD) {
1358 struct ad_info ad_info; 1329 struct ad_info ad_info;
1359 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.actor_key) + 1; 1330 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.actor_key);
1360 } 1331 }
1361 else
1362 count = sprintf(buf, "\n") + 1;
1363 1332
1364 return count; 1333 return count;
1365} 1334}
@@ -1378,10 +1347,8 @@ static ssize_t bonding_show_ad_partner_key(struct device *d,
1378 1347
1379 if (bond->params.mode == BOND_MODE_8023AD) { 1348 if (bond->params.mode == BOND_MODE_8023AD) {
1380 struct ad_info ad_info; 1349 struct ad_info ad_info;
1381 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.partner_key) + 1; 1350 count = sprintf(buf, "%d\n", (bond_3ad_get_active_agg_info(bond, &ad_info)) ? 0 : ad_info.partner_key);
1382 } 1351 }
1383 else
1384 count = sprintf(buf, "\n") + 1;
1385 1352
1386 return count; 1353 return count;
1387} 1354}
@@ -1403,12 +1370,9 @@ static ssize_t bonding_show_ad_partner_mac(struct device *d,
1403 struct ad_info ad_info; 1370 struct ad_info ad_info;
1404 if (!bond_3ad_get_active_agg_info(bond, &ad_info)) { 1371 if (!bond_3ad_get_active_agg_info(bond, &ad_info)) {
1405 count = sprintf(buf,"%s\n", 1372 count = sprintf(buf,"%s\n",
1406 print_mac(mac, ad_info.partner_system)) 1373 print_mac(mac, ad_info.partner_system));
1407 + 1;
1408 } 1374 }
1409 } 1375 }
1410 else
1411 count = sprintf(buf, "\n") + 1;
1412 1376
1413 return count; 1377 return count;
1414} 1378}
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 61c1b4536d34..e1e4734e23ce 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -22,8 +22,8 @@
22#include "bond_3ad.h" 22#include "bond_3ad.h"
23#include "bond_alb.h" 23#include "bond_alb.h"
24 24
25#define DRV_VERSION "3.2.1" 25#define DRV_VERSION "3.2.3"
26#define DRV_RELDATE "October 15, 2007" 26#define DRV_RELDATE "December 6, 2007"
27#define DRV_NAME "bonding" 27#define DRV_NAME "bonding"
28#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" 28#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
29 29
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index 2dbf8dc116c6..c5975047c89b 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -374,7 +374,9 @@ static char stats_strings[][ETH_GSTRING_LEN] = {
374 "TxInternalMACXmitError", 374 "TxInternalMACXmitError",
375 "TxFramesWithExcessiveDeferral", 375 "TxFramesWithExcessiveDeferral",
376 "TxFCSErrors", 376 "TxFCSErrors",
377 377 "TxJumboFramesOk",
378 "TxJumboOctetsOk",
379
378 "RxOctetsOK", 380 "RxOctetsOK",
379 "RxOctetsBad", 381 "RxOctetsBad",
380 "RxUnicastFramesOK", 382 "RxUnicastFramesOK",
@@ -392,16 +394,17 @@ static char stats_strings[][ETH_GSTRING_LEN] = {
392 "RxInRangeLengthErrors", 394 "RxInRangeLengthErrors",
393 "RxOutOfRangeLengthField", 395 "RxOutOfRangeLengthField",
394 "RxFrameTooLongErrors", 396 "RxFrameTooLongErrors",
397 "RxJumboFramesOk",
398 "RxJumboOctetsOk",
395 399
396 /* Port stats */ 400 /* Port stats */
397 "RxPackets",
398 "RxCsumGood", 401 "RxCsumGood",
399 "TxPackets",
400 "TxCsumOffload", 402 "TxCsumOffload",
401 "TxTso", 403 "TxTso",
402 "RxVlan", 404 "RxVlan",
403 "TxVlan", 405 "TxVlan",
404 406 "TxNeedHeadroom",
407
405 /* Interrupt stats */ 408 /* Interrupt stats */
406 "rx drops", 409 "rx drops",
407 "pure_rsps", 410 "pure_rsps",
@@ -463,23 +466,56 @@ static void get_stats(struct net_device *dev, struct ethtool_stats *stats,
463 const struct cmac_statistics *s; 466 const struct cmac_statistics *s;
464 const struct sge_intr_counts *t; 467 const struct sge_intr_counts *t;
465 struct sge_port_stats ss; 468 struct sge_port_stats ss;
466 unsigned int len;
467 469
468 s = mac->ops->statistics_update(mac, MAC_STATS_UPDATE_FULL); 470 s = mac->ops->statistics_update(mac, MAC_STATS_UPDATE_FULL);
469 471 t = t1_sge_get_intr_counts(adapter->sge);
470 len = sizeof(u64)*(&s->TxFCSErrors + 1 - &s->TxOctetsOK);
471 memcpy(data, &s->TxOctetsOK, len);
472 data += len;
473
474 len = sizeof(u64)*(&s->RxFrameTooLongErrors + 1 - &s->RxOctetsOK);
475 memcpy(data, &s->RxOctetsOK, len);
476 data += len;
477
478 t1_sge_get_port_stats(adapter->sge, dev->if_port, &ss); 472 t1_sge_get_port_stats(adapter->sge, dev->if_port, &ss);
479 memcpy(data, &ss, sizeof(ss));
480 data += sizeof(ss);
481 473
482 t = t1_sge_get_intr_counts(adapter->sge); 474 *data++ = s->TxOctetsOK;
475 *data++ = s->TxOctetsBad;
476 *data++ = s->TxUnicastFramesOK;
477 *data++ = s->TxMulticastFramesOK;
478 *data++ = s->TxBroadcastFramesOK;
479 *data++ = s->TxPauseFrames;
480 *data++ = s->TxFramesWithDeferredXmissions;
481 *data++ = s->TxLateCollisions;
482 *data++ = s->TxTotalCollisions;
483 *data++ = s->TxFramesAbortedDueToXSCollisions;
484 *data++ = s->TxUnderrun;
485 *data++ = s->TxLengthErrors;
486 *data++ = s->TxInternalMACXmitError;
487 *data++ = s->TxFramesWithExcessiveDeferral;
488 *data++ = s->TxFCSErrors;
489 *data++ = s->TxJumboFramesOK;
490 *data++ = s->TxJumboOctetsOK;
491
492 *data++ = s->RxOctetsOK;
493 *data++ = s->RxOctetsBad;
494 *data++ = s->RxUnicastFramesOK;
495 *data++ = s->RxMulticastFramesOK;
496 *data++ = s->RxBroadcastFramesOK;
497 *data++ = s->RxPauseFrames;
498 *data++ = s->RxFCSErrors;
499 *data++ = s->RxAlignErrors;
500 *data++ = s->RxSymbolErrors;
501 *data++ = s->RxDataErrors;
502 *data++ = s->RxSequenceErrors;
503 *data++ = s->RxRuntErrors;
504 *data++ = s->RxJabberErrors;
505 *data++ = s->RxInternalMACRcvError;
506 *data++ = s->RxInRangeLengthErrors;
507 *data++ = s->RxOutOfRangeLengthField;
508 *data++ = s->RxFrameTooLongErrors;
509 *data++ = s->RxJumboFramesOK;
510 *data++ = s->RxJumboOctetsOK;
511
512 *data++ = ss.rx_cso_good;
513 *data++ = ss.tx_cso;
514 *data++ = ss.tx_tso;
515 *data++ = ss.vlan_xtract;
516 *data++ = ss.vlan_insert;
517 *data++ = ss.tx_need_hdrroom;
518
483 *data++ = t->rx_drops; 519 *data++ = t->rx_drops;
484 *data++ = t->pure_rsps; 520 *data++ = t->pure_rsps;
485 *data++ = t->unhandled_irqs; 521 *data++ = t->unhandled_irqs;
diff --git a/drivers/net/chelsio/pm3393.c b/drivers/net/chelsio/pm3393.c
index 678778a8d133..2117c4fbb107 100644
--- a/drivers/net/chelsio/pm3393.c
+++ b/drivers/net/chelsio/pm3393.c
@@ -45,7 +45,7 @@
45 45
46#include <linux/crc32.h> 46#include <linux/crc32.h>
47 47
48#define OFFSET(REG_ADDR) (REG_ADDR << 2) 48#define OFFSET(REG_ADDR) ((REG_ADDR) << 2)
49 49
50/* Max frame size PM3393 can handle. Includes Ethernet header and CRC. */ 50/* Max frame size PM3393 can handle. Includes Ethernet header and CRC. */
51#define MAX_FRAME_SIZE 9600 51#define MAX_FRAME_SIZE 9600
@@ -428,69 +428,26 @@ static int pm3393_set_speed_duplex_fc(struct cmac *cmac, int speed, int duplex,
428 return 0; 428 return 0;
429} 429}
430 430
431static void pm3393_rmon_update(struct adapter *adapter, u32 offs, u64 *val, 431#define RMON_UPDATE(mac, name, stat_name) \
432 int over) 432{ \
433{ 433 t1_tpi_read((mac)->adapter, OFFSET(name), &val0); \
434 u32 val0, val1, val2; 434 t1_tpi_read((mac)->adapter, OFFSET((name)+1), &val1); \
435 435 t1_tpi_read((mac)->adapter, OFFSET((name)+2), &val2); \
436 t1_tpi_read(adapter, offs, &val0); 436 (mac)->stats.stat_name = (u64)(val0 & 0xffff) | \
437 t1_tpi_read(adapter, offs + 4, &val1); 437 ((u64)(val1 & 0xffff) << 16) | \
438 t1_tpi_read(adapter, offs + 8, &val2); 438 ((u64)(val2 & 0xff) << 32) | \
439 439 ((mac)->stats.stat_name & \
440 *val &= ~0ull << 40; 440 0xffffff0000000000ULL); \
441 *val |= val0 & 0xffff; 441 if (ro & \
442 *val |= (val1 & 0xffff) << 16; 442 (1ULL << ((name - SUNI1x10GEXP_REG_MSTAT_COUNTER_0_LOW) >> 2))) \
443 *val |= (u64)(val2 & 0xff) << 32; 443 (mac)->stats.stat_name += 1ULL << 40; \
444
445 if (over)
446 *val += 1ull << 40;
447} 444}
448 445
449static const struct cmac_statistics *pm3393_update_statistics(struct cmac *mac, 446static const struct cmac_statistics *pm3393_update_statistics(struct cmac *mac,
450 int flag) 447 int flag)
451{ 448{
452 static struct { 449 u64 ro;
453 unsigned int reg; 450 u32 val0, val1, val2, val3;
454 unsigned int offset;
455 } hw_stats [] = {
456
457#define HW_STAT(name, stat_name) \
458 { name, (&((struct cmac_statistics *)NULL)->stat_name) - (u64 *)NULL }
459
460 /* Rx stats */
461 HW_STAT(RxOctetsReceivedOK, RxOctetsOK),
462 HW_STAT(RxUnicastFramesReceivedOK, RxUnicastFramesOK),
463 HW_STAT(RxMulticastFramesReceivedOK, RxMulticastFramesOK),
464 HW_STAT(RxBroadcastFramesReceivedOK, RxBroadcastFramesOK),
465 HW_STAT(RxPAUSEMACCtrlFramesReceived, RxPauseFrames),
466 HW_STAT(RxFrameCheckSequenceErrors, RxFCSErrors),
467 HW_STAT(RxFramesLostDueToInternalMACErrors,
468 RxInternalMACRcvError),
469 HW_STAT(RxSymbolErrors, RxSymbolErrors),
470 HW_STAT(RxInRangeLengthErrors, RxInRangeLengthErrors),
471 HW_STAT(RxFramesTooLongErrors , RxFrameTooLongErrors),
472 HW_STAT(RxJabbers, RxJabberErrors),
473 HW_STAT(RxFragments, RxRuntErrors),
474 HW_STAT(RxUndersizedFrames, RxRuntErrors),
475 HW_STAT(RxJumboFramesReceivedOK, RxJumboFramesOK),
476 HW_STAT(RxJumboOctetsReceivedOK, RxJumboOctetsOK),
477
478 /* Tx stats */
479 HW_STAT(TxOctetsTransmittedOK, TxOctetsOK),
480 HW_STAT(TxFramesLostDueToInternalMACTransmissionError,
481 TxInternalMACXmitError),
482 HW_STAT(TxTransmitSystemError, TxFCSErrors),
483 HW_STAT(TxUnicastFramesTransmittedOK, TxUnicastFramesOK),
484 HW_STAT(TxMulticastFramesTransmittedOK, TxMulticastFramesOK),
485 HW_STAT(TxBroadcastFramesTransmittedOK, TxBroadcastFramesOK),
486 HW_STAT(TxPAUSEMACCtrlFramesTransmitted, TxPauseFrames),
487 HW_STAT(TxJumboFramesReceivedOK, TxJumboFramesOK),
488 HW_STAT(TxJumboOctetsReceivedOK, TxJumboOctetsOK)
489 }, *p = hw_stats;
490 u64 ro;
491 u32 val0, val1, val2, val3;
492 u64 *stats = (u64 *) &mac->stats;
493 unsigned int i;
494 451
495 /* Snap the counters */ 452 /* Snap the counters */
496 pmwrite(mac, SUNI1x10GEXP_REG_MSTAT_CONTROL, 453 pmwrite(mac, SUNI1x10GEXP_REG_MSTAT_CONTROL,
@@ -504,14 +461,35 @@ static const struct cmac_statistics *pm3393_update_statistics(struct cmac *mac,
504 ro = ((u64)val0 & 0xffff) | (((u64)val1 & 0xffff) << 16) | 461 ro = ((u64)val0 & 0xffff) | (((u64)val1 & 0xffff) << 16) |
505 (((u64)val2 & 0xffff) << 32) | (((u64)val3 & 0xffff) << 48); 462 (((u64)val2 & 0xffff) << 32) | (((u64)val3 & 0xffff) << 48);
506 463
507 for (i = 0; i < ARRAY_SIZE(hw_stats); i++) { 464 /* Rx stats */
508 unsigned reg = p->reg - SUNI1x10GEXP_REG_MSTAT_COUNTER_0_LOW; 465 RMON_UPDATE(mac, RxOctetsReceivedOK, RxOctetsOK);
509 466 RMON_UPDATE(mac, RxUnicastFramesReceivedOK, RxUnicastFramesOK);
510 pm3393_rmon_update((mac)->adapter, OFFSET(p->reg), 467 RMON_UPDATE(mac, RxMulticastFramesReceivedOK, RxMulticastFramesOK);
511 stats + p->offset, ro & (reg >> 2)); 468 RMON_UPDATE(mac, RxBroadcastFramesReceivedOK, RxBroadcastFramesOK);
512 } 469 RMON_UPDATE(mac, RxPAUSEMACCtrlFramesReceived, RxPauseFrames);
513 470 RMON_UPDATE(mac, RxFrameCheckSequenceErrors, RxFCSErrors);
514 471 RMON_UPDATE(mac, RxFramesLostDueToInternalMACErrors,
472 RxInternalMACRcvError);
473 RMON_UPDATE(mac, RxSymbolErrors, RxSymbolErrors);
474 RMON_UPDATE(mac, RxInRangeLengthErrors, RxInRangeLengthErrors);
475 RMON_UPDATE(mac, RxFramesTooLongErrors , RxFrameTooLongErrors);
476 RMON_UPDATE(mac, RxJabbers, RxJabberErrors);
477 RMON_UPDATE(mac, RxFragments, RxRuntErrors);
478 RMON_UPDATE(mac, RxUndersizedFrames, RxRuntErrors);
479 RMON_UPDATE(mac, RxJumboFramesReceivedOK, RxJumboFramesOK);
480 RMON_UPDATE(mac, RxJumboOctetsReceivedOK, RxJumboOctetsOK);
481
482 /* Tx stats */
483 RMON_UPDATE(mac, TxOctetsTransmittedOK, TxOctetsOK);
484 RMON_UPDATE(mac, TxFramesLostDueToInternalMACTransmissionError,
485 TxInternalMACXmitError);
486 RMON_UPDATE(mac, TxTransmitSystemError, TxFCSErrors);
487 RMON_UPDATE(mac, TxUnicastFramesTransmittedOK, TxUnicastFramesOK);
488 RMON_UPDATE(mac, TxMulticastFramesTransmittedOK, TxMulticastFramesOK);
489 RMON_UPDATE(mac, TxBroadcastFramesTransmittedOK, TxBroadcastFramesOK);
490 RMON_UPDATE(mac, TxPAUSEMACCtrlFramesTransmitted, TxPauseFrames);
491 RMON_UPDATE(mac, TxJumboFramesReceivedOK, TxJumboFramesOK);
492 RMON_UPDATE(mac, TxJumboOctetsReceivedOK, TxJumboOctetsOK);
515 493
516 return &mac->stats; 494 return &mac->stats;
517} 495}
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index 443666292a5c..b301c0428ae0 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -986,11 +986,10 @@ void t1_sge_get_port_stats(const struct sge *sge, int port,
986 for_each_possible_cpu(cpu) { 986 for_each_possible_cpu(cpu) {
987 struct sge_port_stats *st = per_cpu_ptr(sge->port_stats[port], cpu); 987 struct sge_port_stats *st = per_cpu_ptr(sge->port_stats[port], cpu);
988 988
989 ss->rx_packets += st->rx_packets;
990 ss->rx_cso_good += st->rx_cso_good; 989 ss->rx_cso_good += st->rx_cso_good;
991 ss->tx_packets += st->tx_packets;
992 ss->tx_cso += st->tx_cso; 990 ss->tx_cso += st->tx_cso;
993 ss->tx_tso += st->tx_tso; 991 ss->tx_tso += st->tx_tso;
992 ss->tx_need_hdrroom += st->tx_need_hdrroom;
994 ss->vlan_xtract += st->vlan_xtract; 993 ss->vlan_xtract += st->vlan_xtract;
995 ss->vlan_insert += st->vlan_insert; 994 ss->vlan_insert += st->vlan_insert;
996 } 995 }
@@ -1380,7 +1379,6 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
1380 __skb_pull(skb, sizeof(*p)); 1379 __skb_pull(skb, sizeof(*p));
1381 1380
1382 st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id()); 1381 st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id());
1383 st->rx_packets++;
1384 1382
1385 skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev); 1383 skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev);
1386 skb->dev->last_rx = jiffies; 1384 skb->dev->last_rx = jiffies;
@@ -1624,11 +1622,9 @@ int t1_poll(struct napi_struct *napi, int budget)
1624{ 1622{
1625 struct adapter *adapter = container_of(napi, struct adapter, napi); 1623 struct adapter *adapter = container_of(napi, struct adapter, napi);
1626 struct net_device *dev = adapter->port[0].dev; 1624 struct net_device *dev = adapter->port[0].dev;
1627 int work_done; 1625 int work_done = process_responses(adapter, budget);
1628
1629 work_done = process_responses(adapter, budget);
1630 1626
1631 if (likely(!responses_pending(adapter))) { 1627 if (likely(work_done < budget)) {
1632 netif_rx_complete(dev, napi); 1628 netif_rx_complete(dev, napi);
1633 writel(adapter->sge->respQ.cidx, 1629 writel(adapter->sge->respQ.cidx,
1634 adapter->regs + A_SG_SLEEPING); 1630 adapter->regs + A_SG_SLEEPING);
@@ -1848,7 +1844,8 @@ int t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
1848{ 1844{
1849 struct adapter *adapter = dev->priv; 1845 struct adapter *adapter = dev->priv;
1850 struct sge *sge = adapter->sge; 1846 struct sge *sge = adapter->sge;
1851 struct sge_port_stats *st = per_cpu_ptr(sge->port_stats[dev->if_port], smp_processor_id()); 1847 struct sge_port_stats *st = per_cpu_ptr(sge->port_stats[dev->if_port],
1848 smp_processor_id());
1852 struct cpl_tx_pkt *cpl; 1849 struct cpl_tx_pkt *cpl;
1853 struct sk_buff *orig_skb = skb; 1850 struct sk_buff *orig_skb = skb;
1854 int ret; 1851 int ret;
@@ -1856,6 +1853,18 @@ int t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
1856 if (skb->protocol == htons(ETH_P_CPL5)) 1853 if (skb->protocol == htons(ETH_P_CPL5))
1857 goto send; 1854 goto send;
1858 1855
1856 /*
1857 * We are using a non-standard hard_header_len.
1858 * Allocate more header room in the rare cases it is not big enough.
1859 */
1860 if (unlikely(skb_headroom(skb) < dev->hard_header_len - ETH_HLEN)) {
1861 skb = skb_realloc_headroom(skb, sizeof(struct cpl_tx_pkt_lso));
1862 ++st->tx_need_hdrroom;
1863 dev_kfree_skb_any(orig_skb);
1864 if (!skb)
1865 return NETDEV_TX_OK;
1866 }
1867
1859 if (skb_shinfo(skb)->gso_size) { 1868 if (skb_shinfo(skb)->gso_size) {
1860 int eth_type; 1869 int eth_type;
1861 struct cpl_tx_pkt_lso *hdr; 1870 struct cpl_tx_pkt_lso *hdr;
@@ -1889,24 +1898,6 @@ int t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
1889 return NETDEV_TX_OK; 1898 return NETDEV_TX_OK;
1890 } 1899 }
1891 1900
1892 /*
1893 * We are using a non-standard hard_header_len and some kernel
1894 * components, such as pktgen, do not handle it right.
1895 * Complain when this happens but try to fix things up.
1896 */
1897 if (unlikely(skb_headroom(skb) < dev->hard_header_len - ETH_HLEN)) {
1898 pr_debug("%s: headroom %d header_len %d\n", dev->name,
1899 skb_headroom(skb), dev->hard_header_len);
1900
1901 if (net_ratelimit())
1902 printk(KERN_ERR "%s: inadequate headroom in "
1903 "Tx packet\n", dev->name);
1904 skb = skb_realloc_headroom(skb, sizeof(*cpl));
1905 dev_kfree_skb_any(orig_skb);
1906 if (!skb)
1907 return NETDEV_TX_OK;
1908 }
1909
1910 if (!(adapter->flags & UDP_CSUM_CAPABLE) && 1901 if (!(adapter->flags & UDP_CSUM_CAPABLE) &&
1911 skb->ip_summed == CHECKSUM_PARTIAL && 1902 skb->ip_summed == CHECKSUM_PARTIAL &&
1912 ip_hdr(skb)->protocol == IPPROTO_UDP) { 1903 ip_hdr(skb)->protocol == IPPROTO_UDP) {
@@ -1952,7 +1943,6 @@ int t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
1952 cpl->vlan_valid = 0; 1943 cpl->vlan_valid = 0;
1953 1944
1954send: 1945send:
1955 st->tx_packets++;
1956 dev->trans_start = jiffies; 1946 dev->trans_start = jiffies;
1957 ret = t1_sge_tx(skb, adapter, 0, dev); 1947 ret = t1_sge_tx(skb, adapter, 0, dev);
1958 1948
diff --git a/drivers/net/chelsio/sge.h b/drivers/net/chelsio/sge.h
index 713d9c55f24d..cced9dff91c5 100644
--- a/drivers/net/chelsio/sge.h
+++ b/drivers/net/chelsio/sge.h
@@ -57,13 +57,12 @@ struct sge_intr_counts {
57}; 57};
58 58
59struct sge_port_stats { 59struct sge_port_stats {
60 u64 rx_packets; /* # of Ethernet packets received */
61 u64 rx_cso_good; /* # of successful RX csum offloads */ 60 u64 rx_cso_good; /* # of successful RX csum offloads */
62 u64 tx_packets; /* # of TX packets */
63 u64 tx_cso; /* # of TX checksum offloads */ 61 u64 tx_cso; /* # of TX checksum offloads */
64 u64 tx_tso; /* # of TSO requests */ 62 u64 tx_tso; /* # of TSO requests */
65 u64 vlan_xtract; /* # of VLAN tag extractions */ 63 u64 vlan_xtract; /* # of VLAN tag extractions */
66 u64 vlan_insert; /* # of VLAN tag insertions */ 64 u64 vlan_insert; /* # of VLAN tag insertions */
65 u64 tx_need_hdrroom; /* # of TX skbs in need of more header room */
67}; 66};
68 67
69struct sk_buff; 68struct sk_buff;
diff --git a/drivers/net/cxgb3/regs.h b/drivers/net/cxgb3/regs.h
index 5e1bc0dec5f1..6e12bf4bc6cf 100644
--- a/drivers/net/cxgb3/regs.h
+++ b/drivers/net/cxgb3/regs.h
@@ -1937,6 +1937,10 @@
1937 1937
1938#define A_XGM_RXFIFO_CFG 0x884 1938#define A_XGM_RXFIFO_CFG 0x884
1939 1939
1940#define S_RXFIFO_EMPTY 31
1941#define V_RXFIFO_EMPTY(x) ((x) << S_RXFIFO_EMPTY)
1942#define F_RXFIFO_EMPTY V_RXFIFO_EMPTY(1U)
1943
1940#define S_RXFIFOPAUSEHWM 17 1944#define S_RXFIFOPAUSEHWM 17
1941#define M_RXFIFOPAUSEHWM 0xfff 1945#define M_RXFIFOPAUSEHWM 0xfff
1942 1946
@@ -1961,6 +1965,10 @@
1961 1965
1962#define A_XGM_TXFIFO_CFG 0x888 1966#define A_XGM_TXFIFO_CFG 0x888
1963 1967
1968#define S_UNDERUNFIX 22
1969#define V_UNDERUNFIX(x) ((x) << S_UNDERUNFIX)
1970#define F_UNDERUNFIX V_UNDERUNFIX(1U)
1971
1964#define S_TXIPG 13 1972#define S_TXIPG 13
1965#define M_TXIPG 0xff 1973#define M_TXIPG 0xff
1966#define V_TXIPG(x) ((x) << S_TXIPG) 1974#define V_TXIPG(x) ((x) << S_TXIPG)
@@ -2034,10 +2042,27 @@
2034#define V_XAUIIMP(x) ((x) << S_XAUIIMP) 2042#define V_XAUIIMP(x) ((x) << S_XAUIIMP)
2035 2043
2036#define A_XGM_RX_MAX_PKT_SIZE 0x8a8 2044#define A_XGM_RX_MAX_PKT_SIZE 0x8a8
2037#define A_XGM_RX_MAX_PKT_SIZE_ERR_CNT 0x9a4 2045
2046#define S_RXMAXFRAMERSIZE 17
2047#define M_RXMAXFRAMERSIZE 0x3fff
2048#define V_RXMAXFRAMERSIZE(x) ((x) << S_RXMAXFRAMERSIZE)
2049#define G_RXMAXFRAMERSIZE(x) (((x) >> S_RXMAXFRAMERSIZE) & M_RXMAXFRAMERSIZE)
2050
2051#define S_RXENFRAMER 14
2052#define V_RXENFRAMER(x) ((x) << S_RXENFRAMER)
2053#define F_RXENFRAMER V_RXENFRAMER(1U)
2054
2055#define S_RXMAXPKTSIZE 0
2056#define M_RXMAXPKTSIZE 0x3fff
2057#define V_RXMAXPKTSIZE(x) ((x) << S_RXMAXPKTSIZE)
2058#define G_RXMAXPKTSIZE(x) (((x) >> S_RXMAXPKTSIZE) & M_RXMAXPKTSIZE)
2038 2059
2039#define A_XGM_RESET_CTRL 0x8ac 2060#define A_XGM_RESET_CTRL 0x8ac
2040 2061
2062#define S_XGMAC_STOP_EN 4
2063#define V_XGMAC_STOP_EN(x) ((x) << S_XGMAC_STOP_EN)
2064#define F_XGMAC_STOP_EN V_XGMAC_STOP_EN(1U)
2065
2041#define S_XG2G_RESET_ 3 2066#define S_XG2G_RESET_ 3
2042#define V_XG2G_RESET_(x) ((x) << S_XG2G_RESET_) 2067#define V_XG2G_RESET_(x) ((x) << S_XG2G_RESET_)
2043#define F_XG2G_RESET_ V_XG2G_RESET_(1U) 2068#define F_XG2G_RESET_ V_XG2G_RESET_(1U)
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index d4ee00d32219..522834c42ae7 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -447,8 +447,8 @@ static const struct adapter_info t3_adap_info[] = {
447 &mi1_mdio_ops, "Chelsio T302"}, 447 &mi1_mdio_ops, "Chelsio T302"},
448 {1, 0, 0, 0, 448 {1, 0, 0, 0,
449 F_GPIO1_OEN | F_GPIO6_OEN | F_GPIO7_OEN | F_GPIO10_OEN | 449 F_GPIO1_OEN | F_GPIO6_OEN | F_GPIO7_OEN | F_GPIO10_OEN |
450 F_GPIO1_OUT_VAL | F_GPIO6_OUT_VAL | F_GPIO10_OUT_VAL, 0, 450 F_GPIO11_OEN | F_GPIO1_OUT_VAL | F_GPIO6_OUT_VAL | F_GPIO10_OUT_VAL,
451 SUPPORTED_10000baseT_Full | SUPPORTED_AUI, 451 0, SUPPORTED_10000baseT_Full | SUPPORTED_AUI,
452 &mi1_mdio_ext_ops, "Chelsio T310"}, 452 &mi1_mdio_ext_ops, "Chelsio T310"},
453 {2, 0, 0, 0, 453 {2, 0, 0, 0,
454 F_GPIO1_OEN | F_GPIO2_OEN | F_GPIO4_OEN | F_GPIO5_OEN | F_GPIO6_OEN | 454 F_GPIO1_OEN | F_GPIO2_OEN | F_GPIO4_OEN | F_GPIO5_OEN | F_GPIO6_OEN |
@@ -2613,7 +2613,7 @@ static void __devinit init_mtus(unsigned short mtus[])
2613 * it can accomodate max size TCP/IP headers when SACK and timestamps 2613 * it can accomodate max size TCP/IP headers when SACK and timestamps
2614 * are enabled and still have at least 8 bytes of payload. 2614 * are enabled and still have at least 8 bytes of payload.
2615 */ 2615 */
2616 mtus[1] = 88; 2616 mtus[0] = 88;
2617 mtus[1] = 88; 2617 mtus[1] = 88;
2618 mtus[2] = 256; 2618 mtus[2] = 256;
2619 mtus[3] = 512; 2619 mtus[3] = 512;
diff --git a/drivers/net/cxgb3/xgmac.c b/drivers/net/cxgb3/xgmac.c
index eeb766aeced9..efcf09a709cf 100644
--- a/drivers/net/cxgb3/xgmac.c
+++ b/drivers/net/cxgb3/xgmac.c
@@ -106,6 +106,7 @@ int t3_mac_reset(struct cmac *mac)
106 t3_set_reg_field(adap, A_XGM_RXFIFO_CFG + oft, 106 t3_set_reg_field(adap, A_XGM_RXFIFO_CFG + oft,
107 F_RXSTRFRWRD | F_DISERRFRAMES, 107 F_RXSTRFRWRD | F_DISERRFRAMES,
108 uses_xaui(adap) ? 0 : F_RXSTRFRWRD); 108 uses_xaui(adap) ? 0 : F_RXSTRFRWRD);
109 t3_set_reg_field(adap, A_XGM_TXFIFO_CFG + oft, 0, F_UNDERUNFIX);
109 110
110 if (uses_xaui(adap)) { 111 if (uses_xaui(adap)) {
111 if (adap->params.rev == 0) { 112 if (adap->params.rev == 0) {
@@ -124,7 +125,11 @@ int t3_mac_reset(struct cmac *mac)
124 xaui_serdes_reset(mac); 125 xaui_serdes_reset(mac);
125 } 126 }
126 127
127 val = F_MAC_RESET_; 128 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + oft,
129 V_RXMAXFRAMERSIZE(M_RXMAXFRAMERSIZE),
130 V_RXMAXFRAMERSIZE(MAX_FRAME_SIZE) | F_RXENFRAMER);
131 val = F_MAC_RESET_ | F_XGMAC_STOP_EN;
132
128 if (is_10G(adap)) 133 if (is_10G(adap))
129 val |= F_PCS_RESET_; 134 val |= F_PCS_RESET_;
130 else if (uses_xaui(adap)) 135 else if (uses_xaui(adap))
@@ -313,8 +318,9 @@ static int rx_fifo_hwm(int mtu)
313 318
314int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu) 319int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
315{ 320{
316 int hwm, lwm; 321 int hwm, lwm, divisor;
317 unsigned int thres, v; 322 int ipg;
323 unsigned int thres, v, reg;
318 struct adapter *adap = mac->adapter; 324 struct adapter *adap = mac->adapter;
319 325
320 /* 326 /*
@@ -335,27 +341,32 @@ int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
335 hwm = min(hwm, MAC_RXFIFO_SIZE - 8192); 341 hwm = min(hwm, MAC_RXFIFO_SIZE - 8192);
336 lwm = min(3 * (int)mtu, MAC_RXFIFO_SIZE / 4); 342 lwm = min(3 * (int)mtu, MAC_RXFIFO_SIZE / 4);
337 343
338 if (adap->params.rev == T3_REV_B2 && 344 if (adap->params.rev >= T3_REV_B2 &&
339 (t3_read_reg(adap, A_XGM_RX_CTRL + mac->offset) & F_RXEN)) { 345 (t3_read_reg(adap, A_XGM_RX_CTRL + mac->offset) & F_RXEN)) {
340 disable_exact_filters(mac); 346 disable_exact_filters(mac);
341 v = t3_read_reg(adap, A_XGM_RX_CFG + mac->offset); 347 v = t3_read_reg(adap, A_XGM_RX_CFG + mac->offset);
342 t3_set_reg_field(adap, A_XGM_RX_CFG + mac->offset, 348 t3_set_reg_field(adap, A_XGM_RX_CFG + mac->offset,
343 F_ENHASHMCAST | F_COPYALLFRAMES, F_DISBCAST); 349 F_ENHASHMCAST | F_COPYALLFRAMES, F_DISBCAST);
344 350
345 /* drain rx FIFO */ 351 reg = adap->params.rev == T3_REV_B2 ?
346 if (t3_wait_op_done(adap, 352 A_XGM_RX_MAX_PKT_SIZE_ERR_CNT : A_XGM_RXFIFO_CFG;
347 A_XGM_RX_MAX_PKT_SIZE_ERR_CNT + 353
348 mac->offset, 354 /* drain RX FIFO */
349 1 << 31, 1, 20, 5)) { 355 if (t3_wait_op_done(adap, reg + mac->offset,
356 F_RXFIFO_EMPTY, 1, 20, 5)) {
350 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v); 357 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v);
351 enable_exact_filters(mac); 358 enable_exact_filters(mac);
352 return -EIO; 359 return -EIO;
353 } 360 }
354 t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu); 361 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset,
362 V_RXMAXPKTSIZE(M_RXMAXPKTSIZE),
363 V_RXMAXPKTSIZE(mtu));
355 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v); 364 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v);
356 enable_exact_filters(mac); 365 enable_exact_filters(mac);
357 } else 366 } else
358 t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu); 367 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset,
368 V_RXMAXPKTSIZE(M_RXMAXPKTSIZE),
369 V_RXMAXPKTSIZE(mtu));
359 370
360 /* 371 /*
361 * Adjust the PAUSE frame watermarks. We always set the LWM, and the 372 * Adjust the PAUSE frame watermarks. We always set the LWM, and the
@@ -379,13 +390,16 @@ int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
379 thres /= 10; 390 thres /= 10;
380 thres = mtu > thres ? (mtu - thres + 7) / 8 : 0; 391 thres = mtu > thres ? (mtu - thres + 7) / 8 : 0;
381 thres = max(thres, 8U); /* need at least 8 */ 392 thres = max(thres, 8U); /* need at least 8 */
393 ipg = (adap->params.rev == T3_REV_C) ? 0 : 1;
382 t3_set_reg_field(adap, A_XGM_TXFIFO_CFG + mac->offset, 394 t3_set_reg_field(adap, A_XGM_TXFIFO_CFG + mac->offset,
383 V_TXFIFOTHRESH(M_TXFIFOTHRESH) | V_TXIPG(M_TXIPG), 395 V_TXFIFOTHRESH(M_TXFIFOTHRESH) | V_TXIPG(M_TXIPG),
384 V_TXFIFOTHRESH(thres) | V_TXIPG(1)); 396 V_TXFIFOTHRESH(thres) | V_TXIPG(ipg));
385 397
386 if (adap->params.rev > 0) 398 if (adap->params.rev > 0) {
399 divisor = (adap->params.rev == T3_REV_C) ? 64 : 8;
387 t3_write_reg(adap, A_XGM_PAUSE_TIMER + mac->offset, 400 t3_write_reg(adap, A_XGM_PAUSE_TIMER + mac->offset,
388 (hwm - lwm) * 4 / 8); 401 (hwm - lwm) * 4 / divisor);
402 }
389 t3_write_reg(adap, A_XGM_TX_PAUSE_QUANTA + mac->offset, 403 t3_write_reg(adap, A_XGM_TX_PAUSE_QUANTA + mac->offset,
390 MAC_RXFIFO_SIZE * 4 * 8 / 512); 404 MAC_RXFIFO_SIZE * 4 * 8 / 512);
391 return 0; 405 return 0;
@@ -522,7 +536,7 @@ int t3b2_mac_watchdog_task(struct cmac *mac)
522 goto rxcheck; 536 goto rxcheck;
523 } 537 }
524 538
525 if ((tx_tcnt != mac->tx_tcnt) && (mac->tx_xcnt == 0)) { 539 if ((tx_tcnt != mac->tx_tcnt) && (mac->tx_xcnt == 0)) {
526 if (mac->toggle_cnt > 4) { 540 if (mac->toggle_cnt > 4) {
527 status = 2; 541 status = 2;
528 goto out; 542 goto out;
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 3dbaec680b46..e1c8a0d023ea 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -2214,13 +2214,11 @@ static void e100_get_drvinfo(struct net_device *netdev,
2214 strcpy(info->bus_info, pci_name(nic->pdev)); 2214 strcpy(info->bus_info, pci_name(nic->pdev));
2215} 2215}
2216 2216
2217#define E100_PHY_REGS 0x1C
2217static int e100_get_regs_len(struct net_device *netdev) 2218static int e100_get_regs_len(struct net_device *netdev)
2218{ 2219{
2219 struct nic *nic = netdev_priv(netdev); 2220 struct nic *nic = netdev_priv(netdev);
2220#define E100_PHY_REGS 0x1C 2221 return 1 + E100_PHY_REGS + sizeof(nic->mem->dump_buf);
2221#define E100_REGS_LEN 1 + E100_PHY_REGS + \
2222 sizeof(nic->mem->dump_buf) / sizeof(u32)
2223 return E100_REGS_LEN * sizeof(u32);
2224} 2222}
2225 2223
2226static void e100_get_regs(struct net_device *netdev, 2224static void e100_get_regs(struct net_device *netdev,
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 667f18bcc172..b83ccce8a9b7 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -1923,7 +1923,7 @@ e1000_get_strings(struct net_device *netdev, uint32_t stringset, uint8_t *data)
1923 switch (stringset) { 1923 switch (stringset) {
1924 case ETH_SS_TEST: 1924 case ETH_SS_TEST:
1925 memcpy(data, *e1000_gstrings_test, 1925 memcpy(data, *e1000_gstrings_test,
1926 E1000_TEST_LEN*ETH_GSTRING_LEN); 1926 sizeof(e1000_gstrings_test));
1927 break; 1927 break;
1928 case ETH_SS_STATS: 1928 case ETH_SS_STATS:
1929 for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) { 1929 for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cf39473ef90a..4f37506ad374 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3942,7 +3942,7 @@ e1000_clean(struct napi_struct *napi, int budget)
3942 &work_done, budget); 3942 &work_done, budget);
3943 3943
3944 /* If no Tx and not enough Rx work done, exit the polling mode */ 3944 /* If no Tx and not enough Rx work done, exit the polling mode */
3945 if ((!tx_cleaned && (work_done < budget)) || 3945 if ((!tx_cleaned && (work_done == 0)) ||
3946 !netif_running(poll_dev)) { 3946 !netif_running(poll_dev)) {
3947quit_polling: 3947quit_polling:
3948 if (likely(adapter->itr_setting & 3)) 3948 if (likely(adapter->itr_setting & 3))
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 6a39784e7ee2..87f9da1b6b4e 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -1739,7 +1739,7 @@ static void e1000_get_strings(struct net_device *netdev, u32 stringset,
1739 switch (stringset) { 1739 switch (stringset) {
1740 case ETH_SS_TEST: 1740 case ETH_SS_TEST:
1741 memcpy(data, *e1000_gstrings_test, 1741 memcpy(data, *e1000_gstrings_test,
1742 E1000_TEST_LEN*ETH_GSTRING_LEN); 1742 sizeof(e1000_gstrings_test));
1743 break; 1743 break;
1744 case ETH_SS_STATS: 1744 case ETH_SS_STATS:
1745 for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) { 1745 for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index f78e5bf7cb33..5f82a4647eee 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
40#include <asm/io.h> 40#include <asm/io.h>
41 41
42#define DRV_NAME "ehea" 42#define DRV_NAME "ehea"
43#define DRV_VERSION "EHEA_0080" 43#define DRV_VERSION "EHEA_0083"
44 44
45/* eHEA capability flags */ 45/* eHEA capability flags */
46#define DLPAR_PORT_ADD_REM 1 46#define DLPAR_PORT_ADD_REM 1
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index f0319f1e8e05..869e1604b16e 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -136,7 +136,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
136 struct ehea_port *port = netdev_priv(dev); 136 struct ehea_port *port = netdev_priv(dev);
137 struct net_device_stats *stats = &port->stats; 137 struct net_device_stats *stats = &port->stats;
138 struct hcp_ehea_port_cb2 *cb2; 138 struct hcp_ehea_port_cb2 *cb2;
139 u64 hret, rx_packets; 139 u64 hret, rx_packets, tx_packets;
140 int i; 140 int i;
141 141
142 memset(stats, 0, sizeof(*stats)); 142 memset(stats, 0, sizeof(*stats));
@@ -162,7 +162,11 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
162 for (i = 0; i < port->num_def_qps; i++) 162 for (i = 0; i < port->num_def_qps; i++)
163 rx_packets += port->port_res[i].rx_packets; 163 rx_packets += port->port_res[i].rx_packets;
164 164
165 stats->tx_packets = cb2->txucp + cb2->txmcp + cb2->txbcp; 165 tx_packets = 0;
166 for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++)
167 tx_packets += port->port_res[i].tx_packets;
168
169 stats->tx_packets = tx_packets;
166 stats->multicast = cb2->rxmcp; 170 stats->multicast = cb2->rxmcp;
167 stats->rx_errors = cb2->rxuerr; 171 stats->rx_errors = cb2->rxuerr;
168 stats->rx_bytes = cb2->rxo; 172 stats->rx_bytes = cb2->rxo;
@@ -406,11 +410,6 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
406 if (cqe->status & EHEA_CQE_STAT_ERR_CRC) 410 if (cqe->status & EHEA_CQE_STAT_ERR_CRC)
407 pr->p_stats.err_frame_crc++; 411 pr->p_stats.err_frame_crc++;
408 412
409 if (netif_msg_rx_err(pr->port)) {
410 ehea_error("CQE Error for QP %d", pr->qp->init_attr.qp_nr);
411 ehea_dump(cqe, sizeof(*cqe), "CQE");
412 }
413
414 if (rq == 2) { 413 if (rq == 2) {
415 *processed_rq2 += 1; 414 *processed_rq2 += 1;
416 skb = get_skb_by_index(pr->rq2_skba.arr, pr->rq2_skba.len, cqe); 415 skb = get_skb_by_index(pr->rq2_skba.arr, pr->rq2_skba.len, cqe);
@@ -422,7 +421,11 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
422 } 421 }
423 422
424 if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) { 423 if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) {
425 ehea_error("Critical receive error. Resetting port."); 424 if (netif_msg_rx_err(pr->port)) {
425 ehea_error("Critical receive error for QP %d. "
426 "Resetting port.", pr->qp->init_attr.qp_nr);
427 ehea_dump(cqe, sizeof(*cqe), "CQE");
428 }
426 schedule_work(&pr->port->reset_task); 429 schedule_work(&pr->port->reset_task);
427 return 1; 430 return 1;
428 } 431 }
@@ -2000,6 +2003,7 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
2000 } 2003 }
2001 2004
2002 ehea_post_swqe(pr->qp, swqe); 2005 ehea_post_swqe(pr->qp, swqe);
2006 pr->tx_packets++;
2003 2007
2004 if (unlikely(atomic_read(&pr->swqe_avail) <= 1)) { 2008 if (unlikely(atomic_read(&pr->swqe_avail) <= 1)) {
2005 spin_lock_irqsave(&pr->netif_queue, flags); 2009 spin_lock_irqsave(&pr->netif_queue, flags);
diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h
index 562de0ebdd85..bc62d389c166 100644
--- a/drivers/net/ehea/ehea_qmr.h
+++ b/drivers/net/ehea/ehea_qmr.h
@@ -145,8 +145,8 @@ struct ehea_rwqe {
145#define EHEA_CQE_VLAN_TAG_XTRACT 0x0400 145#define EHEA_CQE_VLAN_TAG_XTRACT 0x0400
146 146
147#define EHEA_CQE_TYPE_RQ 0x60 147#define EHEA_CQE_TYPE_RQ 0x60
148#define EHEA_CQE_STAT_ERR_MASK 0x720F 148#define EHEA_CQE_STAT_ERR_MASK 0x700F
149#define EHEA_CQE_STAT_FAT_ERR_MASK 0x1F 149#define EHEA_CQE_STAT_FAT_ERR_MASK 0xF
150#define EHEA_CQE_STAT_ERR_TCP 0x4000 150#define EHEA_CQE_STAT_ERR_TCP 0x4000
151#define EHEA_CQE_STAT_ERR_IP 0x2000 151#define EHEA_CQE_STAT_ERR_IP 0x2000
152#define EHEA_CQE_STAT_ERR_CRC 0x1000 152#define EHEA_CQE_STAT_ERR_CRC 0x1000
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
index a8a0ee220da6..79f7eade4773 100644
--- a/drivers/net/fec_mpc52xx.c
+++ b/drivers/net/fec_mpc52xx.c
@@ -422,7 +422,7 @@ static irqreturn_t mpc52xx_fec_rx_interrupt(int irq, void *dev_id)
422 422
423 rskb = bcom_retrieve_buffer(priv->rx_dmatsk, &status, 423 rskb = bcom_retrieve_buffer(priv->rx_dmatsk, &status,
424 (struct bcom_bd **)&bd); 424 (struct bcom_bd **)&bd);
425 dma_unmap_single(&dev->dev, bd->skb_pa, skb->len, DMA_FROM_DEVICE); 425 dma_unmap_single(&dev->dev, bd->skb_pa, rskb->len, DMA_FROM_DEVICE);
426 426
427 /* Test for errors in received frame */ 427 /* Test for errors in received frame */
428 if (status & BCOM_FEC_RX_BD_ERRORS) { 428 if (status & BCOM_FEC_RX_BD_ERRORS) {
@@ -467,7 +467,7 @@ static irqreturn_t mpc52xx_fec_rx_interrupt(int irq, void *dev_id)
467 bcom_prepare_next_buffer(priv->rx_dmatsk); 467 bcom_prepare_next_buffer(priv->rx_dmatsk);
468 468
469 bd->status = FEC_RX_BUFFER_SIZE; 469 bd->status = FEC_RX_BUFFER_SIZE;
470 bd->skb_pa = dma_map_single(&dev->dev, rskb->data, 470 bd->skb_pa = dma_map_single(&dev->dev, skb->data,
471 FEC_RX_BUFFER_SIZE, DMA_FROM_DEVICE); 471 FEC_RX_BUFFER_SIZE, DMA_FROM_DEVICE);
472 472
473 bcom_submit_next_buffer(priv->rx_dmatsk, skb); 473 bcom_submit_next_buffer(priv->rx_dmatsk, skb);
@@ -971,6 +971,8 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
971 971
972 mpc52xx_fec_reset_stats(ndev); 972 mpc52xx_fec_reset_stats(ndev);
973 973
974 SET_NETDEV_DEV(ndev, &op->dev);
975
974 /* Register the new network device */ 976 /* Register the new network device */
975 rv = register_netdev(ndev); 977 rv = register_netdev(ndev);
976 if (rv < 0) 978 if (rv < 0)
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 92ce2e38f0d5..a96583cceb5e 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5286,19 +5286,15 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
5286 if (readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_PHY_INIT) { 5286 if (readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_PHY_INIT) {
5287 np->mac_in_use = readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_MGMT_ST; 5287 np->mac_in_use = readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_MGMT_ST;
5288 dprintk(KERN_INFO "%s: mgmt unit is running. mac in use %x.\n", pci_name(pci_dev), np->mac_in_use); 5288 dprintk(KERN_INFO "%s: mgmt unit is running. mac in use %x.\n", pci_name(pci_dev), np->mac_in_use);
5289 for (i = 0; i < 5000; i++) { 5289 if (nv_mgmt_acquire_sema(dev)) {
5290 msleep(1); 5290 /* management unit setup the phy already? */
5291 if (nv_mgmt_acquire_sema(dev)) { 5291 if ((readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_MASK) ==
5292 /* management unit setup the phy already? */ 5292 NVREG_XMITCTL_SYNC_PHY_INIT) {
5293 if ((readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_MASK) == 5293 /* phy is inited by mgmt unit */
5294 NVREG_XMITCTL_SYNC_PHY_INIT) { 5294 phyinitialized = 1;
5295 /* phy is inited by mgmt unit */ 5295 dprintk(KERN_INFO "%s: Phy already initialized by mgmt unit.\n", pci_name(pci_dev));
5296 phyinitialized = 1; 5296 } else {
5297 dprintk(KERN_INFO "%s: Phy already initialized by mgmt unit.\n", pci_name(pci_dev)); 5297 /* we need to init the phy */
5298 } else {
5299 /* we need to init the phy */
5300 }
5301 break;
5302 } 5298 }
5303 } 5299 }
5304 } 5300 }
@@ -5613,6 +5609,22 @@ static struct pci_device_id pci_tbl[] = {
5613 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_35), 5609 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_35),
5614 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT, 5610 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
5615 }, 5611 },
5612 { /* MCP79 Ethernet Controller */
5613 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_36),
5614 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
5615 },
5616 { /* MCP79 Ethernet Controller */
5617 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_37),
5618 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
5619 },
5620 { /* MCP79 Ethernet Controller */
5621 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_38),
5622 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
5623 },
5624 { /* MCP79 Ethernet Controller */
5625 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_39),
5626 .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
5627 },
5616 {0,}, 5628 {0,},
5617}; 5629};
5618 5630
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 38268d7335a8..0431e9ed0fac 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -696,7 +696,7 @@ int startup_gfar(struct net_device *dev)
696{ 696{
697 struct txbd8 *txbdp; 697 struct txbd8 *txbdp;
698 struct rxbd8 *rxbdp; 698 struct rxbd8 *rxbdp;
699 dma_addr_t addr; 699 dma_addr_t addr = 0;
700 unsigned long vaddr; 700 unsigned long vaddr;
701 int i; 701 int i;
702 struct gfar_private *priv = netdev_priv(dev); 702 struct gfar_private *priv = netdev_priv(dev);
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 0de3aa2a2e44..cb06280dced5 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller. 4 * Driver for PowerPC 4xx on-chip ethernet controller.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
@@ -402,7 +407,7 @@ static u32 __emac_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_s
402static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_size) 407static u32 __emac4_calc_base_mr1(struct emac_instance *dev, int tx_size, int rx_size)
403{ 408{
404 u32 ret = EMAC_MR1_VLE | EMAC_MR1_IST | EMAC4_MR1_TR | 409 u32 ret = EMAC_MR1_VLE | EMAC_MR1_IST | EMAC4_MR1_TR |
405 EMAC4_MR1_OBCI(dev->opb_bus_freq); 410 EMAC4_MR1_OBCI(dev->opb_bus_freq / 1000000);
406 411
407 DBG2(dev, "__emac4_calc_base_mr1" NL); 412 DBG2(dev, "__emac4_calc_base_mr1" NL);
408 413
@@ -464,26 +469,34 @@ static int emac_configure(struct emac_instance *dev)
464{ 469{
465 struct emac_regs __iomem *p = dev->emacp; 470 struct emac_regs __iomem *p = dev->emacp;
466 struct net_device *ndev = dev->ndev; 471 struct net_device *ndev = dev->ndev;
467 int tx_size, rx_size; 472 int tx_size, rx_size, link = netif_carrier_ok(dev->ndev);
468 u32 r, mr1 = 0; 473 u32 r, mr1 = 0;
469 474
470 DBG(dev, "configure" NL); 475 DBG(dev, "configure" NL);
471 476
472 if (emac_reset(dev) < 0) 477 if (!link) {
478 out_be32(&p->mr1, in_be32(&p->mr1)
479 | EMAC_MR1_FDE | EMAC_MR1_ILE);
480 udelay(100);
481 } else if (emac_reset(dev) < 0)
473 return -ETIMEDOUT; 482 return -ETIMEDOUT;
474 483
475 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH)) 484 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH))
476 tah_reset(dev->tah_dev); 485 tah_reset(dev->tah_dev);
477 486
478 DBG(dev, " duplex = %d, pause = %d, asym_pause = %d\n", 487 DBG(dev, " link = %d duplex = %d, pause = %d, asym_pause = %d\n",
479 dev->phy.duplex, dev->phy.pause, dev->phy.asym_pause); 488 link, dev->phy.duplex, dev->phy.pause, dev->phy.asym_pause);
480 489
481 /* Default fifo sizes */ 490 /* Default fifo sizes */
482 tx_size = dev->tx_fifo_size; 491 tx_size = dev->tx_fifo_size;
483 rx_size = dev->rx_fifo_size; 492 rx_size = dev->rx_fifo_size;
484 493
494 /* No link, force loopback */
495 if (!link)
496 mr1 = EMAC_MR1_FDE | EMAC_MR1_ILE;
497
485 /* Check for full duplex */ 498 /* Check for full duplex */
486 if (dev->phy.duplex == DUPLEX_FULL) 499 else if (dev->phy.duplex == DUPLEX_FULL)
487 mr1 |= EMAC_MR1_FDE | EMAC_MR1_MWSW_001; 500 mr1 |= EMAC_MR1_FDE | EMAC_MR1_MWSW_001;
488 501
489 /* Adjust fifo sizes, mr1 and timeouts based on link speed */ 502 /* Adjust fifo sizes, mr1 and timeouts based on link speed */
@@ -642,9 +655,11 @@ static void emac_reset_work(struct work_struct *work)
642 DBG(dev, "reset_work" NL); 655 DBG(dev, "reset_work" NL);
643 656
644 mutex_lock(&dev->link_lock); 657 mutex_lock(&dev->link_lock);
645 emac_netif_stop(dev); 658 if (dev->opened) {
646 emac_full_tx_reset(dev); 659 emac_netif_stop(dev);
647 emac_netif_start(dev); 660 emac_full_tx_reset(dev);
661 emac_netif_start(dev);
662 }
648 mutex_unlock(&dev->link_lock); 663 mutex_unlock(&dev->link_lock);
649} 664}
650 665
@@ -701,7 +716,7 @@ static int __emac_mdio_read(struct emac_instance *dev, u8 id, u8 reg)
701 r = EMAC_STACR_BASE(dev->opb_bus_freq); 716 r = EMAC_STACR_BASE(dev->opb_bus_freq);
702 if (emac_has_feature(dev, EMAC_FTR_STACR_OC_INVERT)) 717 if (emac_has_feature(dev, EMAC_FTR_STACR_OC_INVERT))
703 r |= EMAC_STACR_OC; 718 r |= EMAC_STACR_OC;
704 if (emac_has_feature(dev, EMAC_FTR_HAS_AXON_STACR)) 719 if (emac_has_feature(dev, EMAC_FTR_HAS_NEW_STACR))
705 r |= EMACX_STACR_STAC_READ; 720 r |= EMACX_STACR_STAC_READ;
706 else 721 else
707 r |= EMAC_STACR_STAC_READ; 722 r |= EMAC_STACR_STAC_READ;
@@ -773,7 +788,7 @@ static void __emac_mdio_write(struct emac_instance *dev, u8 id, u8 reg,
773 r = EMAC_STACR_BASE(dev->opb_bus_freq); 788 r = EMAC_STACR_BASE(dev->opb_bus_freq);
774 if (emac_has_feature(dev, EMAC_FTR_STACR_OC_INVERT)) 789 if (emac_has_feature(dev, EMAC_FTR_STACR_OC_INVERT))
775 r |= EMAC_STACR_OC; 790 r |= EMAC_STACR_OC;
776 if (emac_has_feature(dev, EMAC_FTR_HAS_AXON_STACR)) 791 if (emac_has_feature(dev, EMAC_FTR_HAS_NEW_STACR))
777 r |= EMACX_STACR_STAC_WRITE; 792 r |= EMACX_STACR_STAC_WRITE;
778 else 793 else
779 r |= EMAC_STACR_STAC_WRITE; 794 r |= EMAC_STACR_STAC_WRITE;
@@ -1063,10 +1078,9 @@ static int emac_open(struct net_device *ndev)
1063 dev->rx_sg_skb = NULL; 1078 dev->rx_sg_skb = NULL;
1064 1079
1065 mutex_lock(&dev->link_lock); 1080 mutex_lock(&dev->link_lock);
1081 dev->opened = 1;
1066 1082
1067 /* XXX Start PHY polling now. Shouldn't wr do like sungem instead and 1083 /* Start PHY polling now.
1068 * always poll the PHY even when the iface is down ? That would allow
1069 * things like laptop-net to work. --BenH
1070 */ 1084 */
1071 if (dev->phy.address >= 0) { 1085 if (dev->phy.address >= 0) {
1072 int link_poll_interval; 1086 int link_poll_interval;
@@ -1145,9 +1159,11 @@ static void emac_link_timer(struct work_struct *work)
1145 int link_poll_interval; 1159 int link_poll_interval;
1146 1160
1147 mutex_lock(&dev->link_lock); 1161 mutex_lock(&dev->link_lock);
1148
1149 DBG2(dev, "link timer" NL); 1162 DBG2(dev, "link timer" NL);
1150 1163
1164 if (!dev->opened)
1165 goto bail;
1166
1151 if (dev->phy.def->ops->poll_link(&dev->phy)) { 1167 if (dev->phy.def->ops->poll_link(&dev->phy)) {
1152 if (!netif_carrier_ok(dev->ndev)) { 1168 if (!netif_carrier_ok(dev->ndev)) {
1153 /* Get new link parameters */ 1169 /* Get new link parameters */
@@ -1162,21 +1178,22 @@ static void emac_link_timer(struct work_struct *work)
1162 link_poll_interval = PHY_POLL_LINK_ON; 1178 link_poll_interval = PHY_POLL_LINK_ON;
1163 } else { 1179 } else {
1164 if (netif_carrier_ok(dev->ndev)) { 1180 if (netif_carrier_ok(dev->ndev)) {
1165 emac_reinitialize(dev);
1166 netif_carrier_off(dev->ndev); 1181 netif_carrier_off(dev->ndev);
1167 netif_tx_disable(dev->ndev); 1182 netif_tx_disable(dev->ndev);
1183 emac_reinitialize(dev);
1168 emac_print_link_status(dev); 1184 emac_print_link_status(dev);
1169 } 1185 }
1170 link_poll_interval = PHY_POLL_LINK_OFF; 1186 link_poll_interval = PHY_POLL_LINK_OFF;
1171 } 1187 }
1172 schedule_delayed_work(&dev->link_work, link_poll_interval); 1188 schedule_delayed_work(&dev->link_work, link_poll_interval);
1173 1189 bail:
1174 mutex_unlock(&dev->link_lock); 1190 mutex_unlock(&dev->link_lock);
1175} 1191}
1176 1192
1177static void emac_force_link_update(struct emac_instance *dev) 1193static void emac_force_link_update(struct emac_instance *dev)
1178{ 1194{
1179 netif_carrier_off(dev->ndev); 1195 netif_carrier_off(dev->ndev);
1196 smp_rmb();
1180 if (dev->link_polling) { 1197 if (dev->link_polling) {
1181 cancel_rearming_delayed_work(&dev->link_work); 1198 cancel_rearming_delayed_work(&dev->link_work);
1182 if (dev->link_polling) 1199 if (dev->link_polling)
@@ -1191,11 +1208,14 @@ static int emac_close(struct net_device *ndev)
1191 1208
1192 DBG(dev, "close" NL); 1209 DBG(dev, "close" NL);
1193 1210
1194 if (dev->phy.address >= 0) 1211 if (dev->phy.address >= 0) {
1212 dev->link_polling = 0;
1195 cancel_rearming_delayed_work(&dev->link_work); 1213 cancel_rearming_delayed_work(&dev->link_work);
1196 1214 }
1215 mutex_lock(&dev->link_lock);
1197 emac_netif_stop(dev); 1216 emac_netif_stop(dev);
1198 flush_scheduled_work(); 1217 dev->opened = 0;
1218 mutex_unlock(&dev->link_lock);
1199 1219
1200 emac_rx_disable(dev); 1220 emac_rx_disable(dev);
1201 emac_tx_disable(dev); 1221 emac_tx_disable(dev);
@@ -2427,7 +2447,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
2427 if (emac_read_uint_prop(np, "tah-device", &dev->tah_ph, 0)) 2447 if (emac_read_uint_prop(np, "tah-device", &dev->tah_ph, 0))
2428 dev->tah_ph = 0; 2448 dev->tah_ph = 0;
2429 if (emac_read_uint_prop(np, "tah-channel", &dev->tah_port, 0)) 2449 if (emac_read_uint_prop(np, "tah-channel", &dev->tah_port, 0))
2430 dev->tah_ph = 0; 2450 dev->tah_port = 0;
2431 if (emac_read_uint_prop(np, "mdio-device", &dev->mdio_ph, 0)) 2451 if (emac_read_uint_prop(np, "mdio-device", &dev->mdio_ph, 0))
2432 dev->mdio_ph = 0; 2452 dev->mdio_ph = 0;
2433 if (emac_read_uint_prop(np, "zmii-device", &dev->zmii_ph, 0)) 2453 if (emac_read_uint_prop(np, "zmii-device", &dev->zmii_ph, 0))
@@ -2465,16 +2485,19 @@ static int __devinit emac_init_config(struct emac_instance *dev)
2465 /* Check EMAC version */ 2485 /* Check EMAC version */
2466 if (of_device_is_compatible(np, "ibm,emac4")) 2486 if (of_device_is_compatible(np, "ibm,emac4"))
2467 dev->features |= EMAC_FTR_EMAC4; 2487 dev->features |= EMAC_FTR_EMAC4;
2468 if (of_device_is_compatible(np, "ibm,emac-axon") 2488
2469 || of_device_is_compatible(np, "ibm,emac-440epx")) 2489 /* Fixup some feature bits based on the device tree */
2470 dev->features |= EMAC_FTR_HAS_AXON_STACR 2490 if (of_get_property(np, "has-inverted-stacr-oc", NULL))
2471 | EMAC_FTR_STACR_OC_INVERT;
2472 if (of_device_is_compatible(np, "ibm,emac-440spe"))
2473 dev->features |= EMAC_FTR_STACR_OC_INVERT; 2491 dev->features |= EMAC_FTR_STACR_OC_INVERT;
2492 if (of_get_property(np, "has-new-stacr-staopc", NULL))
2493 dev->features |= EMAC_FTR_HAS_NEW_STACR;
2474 2494
2475 /* Fixup some feature bits based on the device tree and verify 2495 /* CAB lacks the appropriate properties */
2476 * we have support for them compiled in 2496 if (of_device_is_compatible(np, "ibm,emac-axon"))
2477 */ 2497 dev->features |= EMAC_FTR_HAS_NEW_STACR |
2498 EMAC_FTR_STACR_OC_INVERT;
2499
2500 /* Enable TAH/ZMII/RGMII features as found */
2478 if (dev->tah_ph != 0) { 2501 if (dev->tah_ph != 0) {
2479#ifdef CONFIG_IBM_NEW_EMAC_TAH 2502#ifdef CONFIG_IBM_NEW_EMAC_TAH
2480 dev->features |= EMAC_FTR_HAS_TAH; 2503 dev->features |= EMAC_FTR_HAS_TAH;
@@ -2532,6 +2555,10 @@ static int __devinit emac_probe(struct of_device *ofdev,
2532 struct device_node **blist = NULL; 2555 struct device_node **blist = NULL;
2533 int err, i; 2556 int err, i;
2534 2557
2558 /* Skip unused/unwired EMACS */
2559 if (of_get_property(np, "unused", NULL))
2560 return -ENODEV;
2561
2535 /* Find ourselves in the bootlist if we are there */ 2562 /* Find ourselves in the bootlist if we are there */
2536 for (i = 0; i < EMAC_BOOT_LIST_SIZE; i++) 2563 for (i = 0; i < EMAC_BOOT_LIST_SIZE; i++)
2537 if (emac_boot_list[i] == np) 2564 if (emac_boot_list[i] == np)
@@ -2756,6 +2783,8 @@ static int __devexit emac_remove(struct of_device *ofdev)
2756 2783
2757 unregister_netdev(dev->ndev); 2784 unregister_netdev(dev->ndev);
2758 2785
2786 flush_scheduled_work();
2787
2759 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH)) 2788 if (emac_has_feature(dev, EMAC_FTR_HAS_TAH))
2760 tah_detach(dev->tah_dev, dev->tah_port); 2789 tah_detach(dev->tah_dev, dev->tah_port);
2761 if (emac_has_feature(dev, EMAC_FTR_HAS_RGMII)) 2790 if (emac_has_feature(dev, EMAC_FTR_HAS_RGMII))
diff --git a/drivers/net/ibm_newemac/core.h b/drivers/net/ibm_newemac/core.h
index 4011803117ca..4e74d8287c65 100644
--- a/drivers/net/ibm_newemac/core.h
+++ b/drivers/net/ibm_newemac/core.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller. 4 * Driver for PowerPC 4xx on-chip ethernet controller.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
@@ -258,6 +263,7 @@ struct emac_instance {
258 int stop_timeout; /* in us */ 263 int stop_timeout; /* in us */
259 int no_mcast; 264 int no_mcast;
260 int mcast_pending; 265 int mcast_pending;
266 int opened;
261 struct work_struct reset_work; 267 struct work_struct reset_work;
262 spinlock_t lock; 268 spinlock_t lock;
263}; 269};
@@ -292,9 +298,9 @@ struct emac_instance {
292 */ 298 */
293#define EMAC_FTR_HAS_RGMII 0x00000020 299#define EMAC_FTR_HAS_RGMII 0x00000020
294/* 300/*
295 * Set if we have axon-type STACR 301 * Set if we have new type STACR with STAOPC
296 */ 302 */
297#define EMAC_FTR_HAS_AXON_STACR 0x00000040 303#define EMAC_FTR_HAS_NEW_STACR 0x00000040
298 304
299 305
300/* Right now, we don't quite handle the always/possible masks on the 306/* Right now, we don't quite handle the always/possible masks on the
@@ -306,7 +312,7 @@ enum {
306 312
307 EMAC_FTRS_POSSIBLE = 313 EMAC_FTRS_POSSIBLE =
308#ifdef CONFIG_IBM_NEW_EMAC_EMAC4 314#ifdef CONFIG_IBM_NEW_EMAC_EMAC4
309 EMAC_FTR_EMAC4 | EMAC_FTR_HAS_AXON_STACR | 315 EMAC_FTR_EMAC4 | EMAC_FTR_HAS_NEW_STACR |
310 EMAC_FTR_STACR_OC_INVERT | 316 EMAC_FTR_STACR_OC_INVERT |
311#endif 317#endif
312#ifdef CONFIG_IBM_NEW_EMAC_TAH 318#ifdef CONFIG_IBM_NEW_EMAC_TAH
diff --git a/drivers/net/ibm_newemac/debug.c b/drivers/net/ibm_newemac/debug.c
index 170524ee0f19..a2fc660ca5d4 100644
--- a/drivers/net/ibm_newemac/debug.c
+++ b/drivers/net/ibm_newemac/debug.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, debug print routines. 4 * Driver for PowerPC 4xx on-chip ethernet controller, debug print routines.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies 11 * Copyright (c) 2004, 2005 Zultys Technologies
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/debug.h b/drivers/net/ibm_newemac/debug.h
index 1dd2dcbc157f..b631842ec8d0 100644
--- a/drivers/net/ibm_newemac/debug.h
+++ b/drivers/net/ibm_newemac/debug.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, debug print routines. 4 * Driver for PowerPC 4xx on-chip ethernet controller, debug print routines.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies 11 * Copyright (c) 2004, 2005 Zultys Technologies
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/emac.h b/drivers/net/ibm_newemac/emac.h
index bef92efeeadc..91cb096ab405 100644
--- a/drivers/net/ibm_newemac/emac.h
+++ b/drivers/net/ibm_newemac/emac.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Register definitions for PowerPC 4xx on-chip ethernet contoller 4 * Register definitions for PowerPC 4xx on-chip ethernet contoller
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/mal.c b/drivers/net/ibm_newemac/mal.c
index 9a88f71db004..6869f08c9dcb 100644
--- a/drivers/net/ibm_newemac/mal.c
+++ b/drivers/net/ibm_newemac/mal.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Memory Access Layer (MAL) support 4 * Memory Access Layer (MAL) support
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/mal.h b/drivers/net/ibm_newemac/mal.h
index 784edb8ea822..eaa7262dc079 100644
--- a/drivers/net/ibm_newemac/mal.h
+++ b/drivers/net/ibm_newemac/mal.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Memory Access Layer (MAL) support 4 * Memory Access Layer (MAL) support
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/phy.c b/drivers/net/ibm_newemac/phy.c
index aa1f0ddf1e3e..37bfeea8788a 100644
--- a/drivers/net/ibm_newemac/phy.c
+++ b/drivers/net/ibm_newemac/phy.c
@@ -8,6 +8,11 @@
8 * This file should be shared with other drivers or eventually 8 * This file should be shared with other drivers or eventually
9 * merged as the "low level" part of miilib 9 * merged as the "low level" part of miilib
10 * 10 *
11 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
12 * <benh@kernel.crashing.org>
13 *
14 * Based on the arch/ppc version of the driver:
15 *
11 * (c) 2003, Benjamin Herrenscmidt (benh@kernel.crashing.org) 16 * (c) 2003, Benjamin Herrenscmidt (benh@kernel.crashing.org)
12 * (c) 2004-2005, Eugene Surovegin <ebs@ebshome.net> 17 * (c) 2004-2005, Eugene Surovegin <ebs@ebshome.net>
13 * 18 *
@@ -306,8 +311,84 @@ static struct mii_phy_def cis8201_phy_def = {
306 .ops = &cis8201_phy_ops 311 .ops = &cis8201_phy_ops
307}; 312};
308 313
314static struct mii_phy_def bcm5248_phy_def = {
315
316 .phy_id = 0x0143bc00,
317 .phy_id_mask = 0x0ffffff0,
318 .name = "BCM5248 10/100 SMII Ethernet",
319 .ops = &generic_phy_ops
320};
321
322static int m88e1111_init(struct mii_phy *phy)
323{
324 pr_debug("%s: Marvell 88E1111 Ethernet\n", __FUNCTION__);
325 phy_write(phy, 0x14, 0x0ce3);
326 phy_write(phy, 0x18, 0x4101);
327 phy_write(phy, 0x09, 0x0e00);
328 phy_write(phy, 0x04, 0x01e1);
329 phy_write(phy, 0x00, 0x9140);
330 phy_write(phy, 0x00, 0x1140);
331
332 return 0;
333}
334
335static int et1011c_init(struct mii_phy *phy)
336{
337 u16 reg_short;
338
339 reg_short = (u16)(phy_read(phy, 0x16));
340 reg_short &= ~(0x7);
341 reg_short |= 0x6; /* RGMII Trace Delay*/
342 phy_write(phy, 0x16, reg_short);
343
344 reg_short = (u16)(phy_read(phy, 0x17));
345 reg_short &= ~(0x40);
346 phy_write(phy, 0x17, reg_short);
347
348 phy_write(phy, 0x1c, 0x74f0);
349 return 0;
350}
351
352static struct mii_phy_ops et1011c_phy_ops = {
353 .init = et1011c_init,
354 .setup_aneg = genmii_setup_aneg,
355 .setup_forced = genmii_setup_forced,
356 .poll_link = genmii_poll_link,
357 .read_link = genmii_read_link
358};
359
360static struct mii_phy_def et1011c_phy_def = {
361 .phy_id = 0x0282f000,
362 .phy_id_mask = 0x0fffff00,
363 .name = "ET1011C Gigabit Ethernet",
364 .ops = &et1011c_phy_ops
365};
366
367
368
369
370
371static struct mii_phy_ops m88e1111_phy_ops = {
372 .init = m88e1111_init,
373 .setup_aneg = genmii_setup_aneg,
374 .setup_forced = genmii_setup_forced,
375 .poll_link = genmii_poll_link,
376 .read_link = genmii_read_link
377};
378
379static struct mii_phy_def m88e1111_phy_def = {
380
381 .phy_id = 0x01410CC0,
382 .phy_id_mask = 0x0ffffff0,
383 .name = "Marvell 88E1111 Ethernet",
384 .ops = &m88e1111_phy_ops,
385};
386
309static struct mii_phy_def *mii_phy_table[] = { 387static struct mii_phy_def *mii_phy_table[] = {
388 &et1011c_phy_def,
310 &cis8201_phy_def, 389 &cis8201_phy_def,
390 &bcm5248_phy_def,
391 &m88e1111_phy_def,
311 &genmii_phy_def, 392 &genmii_phy_def,
312 NULL 393 NULL
313}; 394};
diff --git a/drivers/net/ibm_newemac/phy.h b/drivers/net/ibm_newemac/phy.h
index 6feca26afedb..1b65c81f6557 100644
--- a/drivers/net/ibm_newemac/phy.h
+++ b/drivers/net/ibm_newemac/phy.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, PHY support 4 * Driver for PowerPC 4xx on-chip ethernet controller, PHY support
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Benjamin Herrenschmidt <benh@kernel.crashing.org> 11 * Benjamin Herrenschmidt <benh@kernel.crashing.org>
7 * February 2003 12 * February 2003
8 * 13 *
diff --git a/drivers/net/ibm_newemac/rgmii.c b/drivers/net/ibm_newemac/rgmii.c
index de416951a435..9bc1132fa788 100644
--- a/drivers/net/ibm_newemac/rgmii.c
+++ b/drivers/net/ibm_newemac/rgmii.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, RGMII bridge support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, RGMII bridge support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
@@ -140,7 +145,7 @@ void rgmii_get_mdio(struct of_device *ofdev, int input)
140 145
141 RGMII_DBG2(dev, "get_mdio(%d)" NL, input); 146 RGMII_DBG2(dev, "get_mdio(%d)" NL, input);
142 147
143 if (dev->type != RGMII_AXON) 148 if (!(dev->flags & EMAC_RGMII_FLAG_HAS_MDIO))
144 return; 149 return;
145 150
146 mutex_lock(&dev->lock); 151 mutex_lock(&dev->lock);
@@ -161,7 +166,7 @@ void rgmii_put_mdio(struct of_device *ofdev, int input)
161 166
162 RGMII_DBG2(dev, "put_mdio(%d)" NL, input); 167 RGMII_DBG2(dev, "put_mdio(%d)" NL, input);
163 168
164 if (dev->type != RGMII_AXON) 169 if (!(dev->flags & EMAC_RGMII_FLAG_HAS_MDIO))
165 return; 170 return;
166 171
167 fer = in_be32(&p->fer); 172 fer = in_be32(&p->fer);
@@ -250,11 +255,13 @@ static int __devinit rgmii_probe(struct of_device *ofdev,
250 goto err_free; 255 goto err_free;
251 } 256 }
252 257
253 /* Check for RGMII type */ 258 /* Check for RGMII flags */
259 if (of_get_property(ofdev->node, "has-mdio", NULL))
260 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO;
261
262 /* CAB lacks the right properties, fix this up */
254 if (of_device_is_compatible(ofdev->node, "ibm,rgmii-axon")) 263 if (of_device_is_compatible(ofdev->node, "ibm,rgmii-axon"))
255 dev->type = RGMII_AXON; 264 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO;
256 else
257 dev->type = RGMII_STANDARD;
258 265
259 DBG2(dev, " Boot FER = 0x%08x, SSR = 0x%08x\n", 266 DBG2(dev, " Boot FER = 0x%08x, SSR = 0x%08x\n",
260 in_be32(&dev->base->fer), in_be32(&dev->base->ssr)); 267 in_be32(&dev->base->fer), in_be32(&dev->base->ssr));
@@ -263,9 +270,9 @@ static int __devinit rgmii_probe(struct of_device *ofdev,
263 out_be32(&dev->base->fer, 0); 270 out_be32(&dev->base->fer, 0);
264 271
265 printk(KERN_INFO 272 printk(KERN_INFO
266 "RGMII %s %s initialized\n", 273 "RGMII %s initialized with%s MDIO support\n",
267 dev->type == RGMII_STANDARD ? "standard" : "axon", 274 ofdev->node->full_name,
268 ofdev->node->full_name); 275 (dev->flags & EMAC_RGMII_FLAG_HAS_MDIO) ? "" : "out");
269 276
270 wmb(); 277 wmb();
271 dev_set_drvdata(&ofdev->dev, dev); 278 dev_set_drvdata(&ofdev->dev, dev);
diff --git a/drivers/net/ibm_newemac/rgmii.h b/drivers/net/ibm_newemac/rgmii.h
index 57806833121e..c4a4b358a270 100644
--- a/drivers/net/ibm_newemac/rgmii.h
+++ b/drivers/net/ibm_newemac/rgmii.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, RGMII bridge support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, RGMII bridge support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Based on ocp_zmii.h/ibm_emac_zmii.h 11 * Based on ocp_zmii.h/ibm_emac_zmii.h
7 * Armin Kuster akuster@mvista.com 12 * Armin Kuster akuster@mvista.com
8 * 13 *
@@ -35,8 +40,9 @@ struct rgmii_regs {
35struct rgmii_instance { 40struct rgmii_instance {
36 struct rgmii_regs __iomem *base; 41 struct rgmii_regs __iomem *base;
37 42
38 /* Type of RGMII bridge */ 43 /* RGMII bridge flags */
39 int type; 44 int flags;
45#define EMAC_RGMII_FLAG_HAS_MDIO 0x00000001
40 46
41 /* Only one EMAC whacks us at a time */ 47 /* Only one EMAC whacks us at a time */
42 struct mutex lock; 48 struct mutex lock;
diff --git a/drivers/net/ibm_newemac/tah.c b/drivers/net/ibm_newemac/tah.c
index f161fb100e8e..96417adec326 100644
--- a/drivers/net/ibm_newemac/tah.c
+++ b/drivers/net/ibm_newemac/tah.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, TAH support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, TAH support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright 2004 MontaVista Software, Inc. 11 * Copyright 2004 MontaVista Software, Inc.
7 * Matt Porter <mporter@kernel.crashing.org> 12 * Matt Porter <mporter@kernel.crashing.org>
8 * 13 *
@@ -116,13 +121,14 @@ static int __devinit tah_probe(struct of_device *ofdev,
116 goto err_free; 121 goto err_free;
117 } 122 }
118 123
124 dev_set_drvdata(&ofdev->dev, dev);
125
119 /* Initialize TAH and enable IPv4 checksum verification, no TSO yet */ 126 /* Initialize TAH and enable IPv4 checksum verification, no TSO yet */
120 tah_reset(ofdev); 127 tah_reset(ofdev);
121 128
122 printk(KERN_INFO 129 printk(KERN_INFO
123 "TAH %s initialized\n", ofdev->node->full_name); 130 "TAH %s initialized\n", ofdev->node->full_name);
124 wmb(); 131 wmb();
125 dev_set_drvdata(&ofdev->dev, dev);
126 132
127 return 0; 133 return 0;
128 134
diff --git a/drivers/net/ibm_newemac/tah.h b/drivers/net/ibm_newemac/tah.h
index bc41853b6e26..a068b5658dad 100644
--- a/drivers/net/ibm_newemac/tah.h
+++ b/drivers/net/ibm_newemac/tah.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, TAH support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, TAH support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright 2004 MontaVista Software, Inc. 11 * Copyright 2004 MontaVista Software, Inc.
7 * Matt Porter <mporter@kernel.crashing.org> 12 * Matt Porter <mporter@kernel.crashing.org>
8 * 13 *
diff --git a/drivers/net/ibm_newemac/zmii.c b/drivers/net/ibm_newemac/zmii.c
index 2219ec2740e0..2ea472aeab06 100644
--- a/drivers/net/ibm_newemac/zmii.c
+++ b/drivers/net/ibm_newemac/zmii.c
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, ZMII bridge support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, ZMII bridge support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
@@ -83,12 +88,14 @@ int __devinit zmii_attach(struct of_device *ofdev, int input, int *mode)
83 88
84 ZMII_DBG(dev, "init(%d, %d)" NL, input, *mode); 89 ZMII_DBG(dev, "init(%d, %d)" NL, input, *mode);
85 90
86 if (!zmii_valid_mode(*mode)) 91 if (!zmii_valid_mode(*mode)) {
87 /* Probably an EMAC connected to RGMII, 92 /* Probably an EMAC connected to RGMII,
88 * but it still may need ZMII for MDIO so 93 * but it still may need ZMII for MDIO so
89 * we don't fail here. 94 * we don't fail here.
90 */ 95 */
96 dev->users++;
91 return 0; 97 return 0;
98 }
92 99
93 mutex_lock(&dev->lock); 100 mutex_lock(&dev->lock);
94 101
diff --git a/drivers/net/ibm_newemac/zmii.h b/drivers/net/ibm_newemac/zmii.h
index 82a9968b1f74..6c9beba0c4b6 100644
--- a/drivers/net/ibm_newemac/zmii.h
+++ b/drivers/net/ibm_newemac/zmii.h
@@ -3,6 +3,11 @@
3 * 3 *
4 * Driver for PowerPC 4xx on-chip ethernet controller, ZMII bridge support. 4 * Driver for PowerPC 4xx on-chip ethernet controller, ZMII bridge support.
5 * 5 *
6 * Copyright 2007 Benjamin Herrenschmidt, IBM Corp.
7 * <benh@kernel.crashing.org>
8 *
9 * Based on the arch/ppc version of the driver:
10 *
6 * Copyright (c) 2004, 2005 Zultys Technologies. 11 * Copyright (c) 2004, 2005 Zultys Technologies.
7 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> 12 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
8 * 13 *
diff --git a/drivers/net/lib82596.c b/drivers/net/lib82596.c
index 9a855e512147..b59f442bbf36 100644
--- a/drivers/net/lib82596.c
+++ b/drivers/net/lib82596.c
@@ -176,8 +176,8 @@ struct i596_reg {
176struct i596_tbd { 176struct i596_tbd {
177 unsigned short size; 177 unsigned short size;
178 unsigned short pad; 178 unsigned short pad;
179 dma_addr_t next; 179 u32 next;
180 dma_addr_t data; 180 u32 data;
181 u32 cache_pad[5]; /* Total 32 bytes... */ 181 u32 cache_pad[5]; /* Total 32 bytes... */
182}; 182};
183 183
@@ -195,12 +195,12 @@ struct i596_cmd {
195 struct i596_cmd *v_next; /* Address from CPUs viewpoint */ 195 struct i596_cmd *v_next; /* Address from CPUs viewpoint */
196 unsigned short status; 196 unsigned short status;
197 unsigned short command; 197 unsigned short command;
198 dma_addr_t b_next; /* Address from i596 viewpoint */ 198 u32 b_next; /* Address from i596 viewpoint */
199}; 199};
200 200
201struct tx_cmd { 201struct tx_cmd {
202 struct i596_cmd cmd; 202 struct i596_cmd cmd;
203 dma_addr_t tbd; 203 u32 tbd;
204 unsigned short size; 204 unsigned short size;
205 unsigned short pad; 205 unsigned short pad;
206 struct sk_buff *skb; /* So we can free it after tx */ 206 struct sk_buff *skb; /* So we can free it after tx */
@@ -237,8 +237,8 @@ struct cf_cmd {
237struct i596_rfd { 237struct i596_rfd {
238 unsigned short stat; 238 unsigned short stat;
239 unsigned short cmd; 239 unsigned short cmd;
240 dma_addr_t b_next; /* Address from i596 viewpoint */ 240 u32 b_next; /* Address from i596 viewpoint */
241 dma_addr_t rbd; 241 u32 rbd;
242 unsigned short count; 242 unsigned short count;
243 unsigned short size; 243 unsigned short size;
244 struct i596_rfd *v_next; /* Address from CPUs viewpoint */ 244 struct i596_rfd *v_next; /* Address from CPUs viewpoint */
@@ -249,18 +249,18 @@ struct i596_rfd {
249}; 249};
250 250
251struct i596_rbd { 251struct i596_rbd {
252 /* hardware data */ 252 /* hardware data */
253 unsigned short count; 253 unsigned short count;
254 unsigned short zero1; 254 unsigned short zero1;
255 dma_addr_t b_next; 255 u32 b_next;
256 dma_addr_t b_data; /* Address from i596 viewpoint */ 256 u32 b_data; /* Address from i596 viewpoint */
257 unsigned short size; 257 unsigned short size;
258 unsigned short zero2; 258 unsigned short zero2;
259 /* driver data */ 259 /* driver data */
260 struct sk_buff *skb; 260 struct sk_buff *skb;
261 struct i596_rbd *v_next; 261 struct i596_rbd *v_next;
262 dma_addr_t b_addr; /* This rbd addr from i596 view */ 262 u32 b_addr; /* This rbd addr from i596 view */
263 unsigned char *v_data; /* Address from CPUs viewpoint */ 263 unsigned char *v_data; /* Address from CPUs viewpoint */
264 /* Total 32 bytes... */ 264 /* Total 32 bytes... */
265#ifdef __LP64__ 265#ifdef __LP64__
266 u32 cache_pad[4]; 266 u32 cache_pad[4];
@@ -275,8 +275,8 @@ struct i596_rbd {
275struct i596_scb { 275struct i596_scb {
276 unsigned short status; 276 unsigned short status;
277 unsigned short command; 277 unsigned short command;
278 dma_addr_t cmd; 278 u32 cmd;
279 dma_addr_t rfd; 279 u32 rfd;
280 u32 crc_err; 280 u32 crc_err;
281 u32 align_err; 281 u32 align_err;
282 u32 resource_err; 282 u32 resource_err;
@@ -288,14 +288,14 @@ struct i596_scb {
288}; 288};
289 289
290struct i596_iscp { 290struct i596_iscp {
291 u32 stat; 291 u32 stat;
292 dma_addr_t scb; 292 u32 scb;
293}; 293};
294 294
295struct i596_scp { 295struct i596_scp {
296 u32 sysbus; 296 u32 sysbus;
297 u32 pad; 297 u32 pad;
298 dma_addr_t iscp; 298 u32 iscp;
299}; 299};
300 300
301struct i596_dma { 301struct i596_dma {
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 0f306ddb5630..8def8657251f 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -1979,6 +1979,7 @@ static int myri10ge_open(struct net_device *dev)
1979 lro_mgr->lro_arr = mgp->rx_done.lro_desc; 1979 lro_mgr->lro_arr = mgp->rx_done.lro_desc;
1980 lro_mgr->get_frag_header = myri10ge_get_frag_header; 1980 lro_mgr->get_frag_header = myri10ge_get_frag_header;
1981 lro_mgr->max_aggr = myri10ge_lro_max_pkts; 1981 lro_mgr->max_aggr = myri10ge_lro_max_pkts;
1982 lro_mgr->frag_align_pad = 2;
1982 if (lro_mgr->max_aggr > MAX_SKB_FRAGS) 1983 if (lro_mgr->max_aggr > MAX_SKB_FRAGS)
1983 lro_mgr->max_aggr = MAX_SKB_FRAGS; 1984 lro_mgr->max_aggr = MAX_SKB_FRAGS;
1984 1985
diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index 112ab079ce7d..abfc61c3a38c 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -1045,6 +1045,7 @@ static int niu_serdes_init(struct niu *np)
1045} 1045}
1046 1046
1047static void niu_init_xif(struct niu *); 1047static void niu_init_xif(struct niu *);
1048static void niu_handle_led(struct niu *, int status);
1048 1049
1049static int niu_link_status_common(struct niu *np, int link_up) 1050static int niu_link_status_common(struct niu *np, int link_up)
1050{ 1051{
@@ -1066,11 +1067,15 @@ static int niu_link_status_common(struct niu *np, int link_up)
1066 1067
1067 spin_lock_irqsave(&np->lock, flags); 1068 spin_lock_irqsave(&np->lock, flags);
1068 niu_init_xif(np); 1069 niu_init_xif(np);
1070 niu_handle_led(np, 1);
1069 spin_unlock_irqrestore(&np->lock, flags); 1071 spin_unlock_irqrestore(&np->lock, flags);
1070 1072
1071 netif_carrier_on(dev); 1073 netif_carrier_on(dev);
1072 } else if (netif_carrier_ok(dev) && !link_up) { 1074 } else if (netif_carrier_ok(dev) && !link_up) {
1073 niuwarn(LINK, "%s: Link is down\n", dev->name); 1075 niuwarn(LINK, "%s: Link is down\n", dev->name);
1076 spin_lock_irqsave(&np->lock, flags);
1077 niu_handle_led(np, 0);
1078 spin_unlock_irqrestore(&np->lock, flags);
1074 netif_carrier_off(dev); 1079 netif_carrier_off(dev);
1075 } 1080 }
1076 1081
@@ -3915,16 +3920,14 @@ static int niu_init_ipp(struct niu *np)
3915 return 0; 3920 return 0;
3916} 3921}
3917 3922
3918static void niu_init_xif_xmac(struct niu *np) 3923static void niu_handle_led(struct niu *np, int status)
3919{ 3924{
3920 struct niu_link_config *lp = &np->link_config;
3921 u64 val; 3925 u64 val;
3922
3923 val = nr64_mac(XMAC_CONFIG); 3926 val = nr64_mac(XMAC_CONFIG);
3924 3927
3925 if ((np->flags & NIU_FLAGS_10G) != 0 && 3928 if ((np->flags & NIU_FLAGS_10G) != 0 &&
3926 (np->flags & NIU_FLAGS_FIBER) != 0) { 3929 (np->flags & NIU_FLAGS_FIBER) != 0) {
3927 if (netif_carrier_ok(np->dev)) { 3930 if (status) {
3928 val |= XMAC_CONFIG_LED_POLARITY; 3931 val |= XMAC_CONFIG_LED_POLARITY;
3929 val &= ~XMAC_CONFIG_FORCE_LED_ON; 3932 val &= ~XMAC_CONFIG_FORCE_LED_ON;
3930 } else { 3933 } else {
@@ -3933,6 +3936,15 @@ static void niu_init_xif_xmac(struct niu *np)
3933 } 3936 }
3934 } 3937 }
3935 3938
3939 nw64_mac(XMAC_CONFIG, val);
3940}
3941
3942static void niu_init_xif_xmac(struct niu *np)
3943{
3944 struct niu_link_config *lp = &np->link_config;
3945 u64 val;
3946
3947 val = nr64_mac(XMAC_CONFIG);
3936 val &= ~XMAC_CONFIG_SEL_POR_CLK_SRC; 3948 val &= ~XMAC_CONFIG_SEL_POR_CLK_SRC;
3937 3949
3938 val |= XMAC_CONFIG_TX_OUTPUT_EN; 3950 val |= XMAC_CONFIG_TX_OUTPUT_EN;
@@ -4776,6 +4788,8 @@ static int niu_close(struct net_device *dev)
4776 4788
4777 niu_free_channels(np); 4789 niu_free_channels(np);
4778 4790
4791 niu_handle_led(np, 0);
4792
4779 return 0; 4793 return 0;
4780} 4794}
4781 4795
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c
index 09b4fde8d924..816a59e801b2 100644
--- a/drivers/net/pasemi_mac.c
+++ b/drivers/net/pasemi_mac.c
@@ -586,7 +586,7 @@ static int pasemi_mac_clean_rx(struct pasemi_mac *mac, int limit)
586 /* CRC error flagged */ 586 /* CRC error flagged */
587 mac->netdev->stats.rx_errors++; 587 mac->netdev->stats.rx_errors++;
588 mac->netdev->stats.rx_crc_errors++; 588 mac->netdev->stats.rx_crc_errors++;
589 dev_kfree_skb_irq(skb); 589 /* No need to free skb, it'll be reused */
590 goto next; 590 goto next;
591 } 591 }
592 592
@@ -1362,7 +1362,7 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1362 1362
1363 netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64); 1363 netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64);
1364 1364
1365 dev->features = NETIF_F_HW_CSUM | NETIF_F_LLTX | NETIF_F_SG; 1365 dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG;
1366 1366
1367 /* These should come out of the device tree eventually */ 1367 /* These should come out of the device tree eventually */
1368 mac->dma_txch = index; 1368 mac->dma_txch = index;
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 035fd41fb61f..f0574073a2a3 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -143,21 +143,29 @@ static int m88e1111_config_init(struct phy_device *phydev)
143 int err; 143 int err;
144 144
145 if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) || 145 if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) ||
146 (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID)) { 146 (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
147 (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
148 (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) {
147 int temp; 149 int temp;
148 150
149 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) { 151 temp = phy_read(phydev, MII_M1111_PHY_EXT_CR);
150 temp = phy_read(phydev, MII_M1111_PHY_EXT_CR); 152 if (temp < 0)
151 if (temp < 0) 153 return temp;
152 return temp;
153 154
155 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) {
154 temp |= (MII_M1111_RX_DELAY | MII_M1111_TX_DELAY); 156 temp |= (MII_M1111_RX_DELAY | MII_M1111_TX_DELAY);
155 157 } else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) {
156 err = phy_write(phydev, MII_M1111_PHY_EXT_CR, temp); 158 temp &= ~MII_M1111_TX_DELAY;
157 if (err < 0) 159 temp |= MII_M1111_RX_DELAY;
158 return err; 160 } else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) {
161 temp &= ~MII_M1111_RX_DELAY;
162 temp |= MII_M1111_TX_DELAY;
159 } 163 }
160 164
165 err = phy_write(phydev, MII_M1111_PHY_EXT_CR, temp);
166 if (err < 0)
167 return err;
168
161 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); 169 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
162 if (temp < 0) 170 if (temp < 0)
163 return temp; 171 return temp;
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index fc2f0e695a13..c30196d0ad16 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -91,9 +91,12 @@ int mdiobus_register(struct mii_bus *bus)
91 91
92 err = device_register(&phydev->dev); 92 err = device_register(&phydev->dev);
93 93
94 if (err) 94 if (err) {
95 printk(KERN_ERR "phy %d failed to register\n", 95 printk(KERN_ERR "phy %d failed to register\n",
96 i); 96 i);
97 phy_device_free(phydev);
98 phydev = NULL;
99 }
97 } 100 }
98 101
99 bus->phy_map[i] = phydev; 102 bus->phy_map[i] = phydev;
@@ -110,10 +113,8 @@ void mdiobus_unregister(struct mii_bus *bus)
110 int i; 113 int i;
111 114
112 for (i = 0; i < PHY_MAX_ADDR; i++) { 115 for (i = 0; i < PHY_MAX_ADDR; i++) {
113 if (bus->phy_map[i]) { 116 if (bus->phy_map[i])
114 device_unregister(&bus->phy_map[i]->dev); 117 device_unregister(&bus->phy_map[i]->dev);
115 kfree(bus->phy_map[i]);
116 }
117 } 118 }
118} 119}
119EXPORT_SYMBOL(mdiobus_unregister); 120EXPORT_SYMBOL(mdiobus_unregister);
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 9bc11773705b..7c9e6e349503 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -406,6 +406,9 @@ int phy_mii_ioctl(struct phy_device *phydev,
406 && phydev->drv->config_init) 406 && phydev->drv->config_init)
407 phydev->drv->config_init(phydev); 407 phydev->drv->config_init(phydev);
408 break; 408 break;
409
410 default:
411 return -ENOTTY;
409 } 412 }
410 413
411 return 0; 414 return 0;
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index f6e484812a98..5b9e1751e1b4 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -44,6 +44,16 @@ static struct phy_driver genphy_driver;
44extern int mdio_bus_init(void); 44extern int mdio_bus_init(void);
45extern void mdio_bus_exit(void); 45extern void mdio_bus_exit(void);
46 46
47void phy_device_free(struct phy_device *phydev)
48{
49 kfree(phydev);
50}
51
52static void phy_device_release(struct device *dev)
53{
54 phy_device_free(to_phy_device(dev));
55}
56
47struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id) 57struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
48{ 58{
49 struct phy_device *dev; 59 struct phy_device *dev;
@@ -54,6 +64,8 @@ struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
54 if (NULL == dev) 64 if (NULL == dev)
55 return (struct phy_device*) PTR_ERR((void*)-ENOMEM); 65 return (struct phy_device*) PTR_ERR((void*)-ENOMEM);
56 66
67 dev->dev.release = phy_device_release;
68
57 dev->speed = 0; 69 dev->speed = 0;
58 dev->duplex = -1; 70 dev->duplex = -1;
59 dev->pause = dev->asym_pause = 0; 71 dev->pause = dev->asym_pause = 0;
diff --git a/drivers/net/s2io-regs.h b/drivers/net/s2io-regs.h
index 01f08d726ace..f25264f2638e 100644
--- a/drivers/net/s2io-regs.h
+++ b/drivers/net/s2io-regs.h
@@ -66,6 +66,7 @@ struct XENA_dev_config {
66#define ADAPTER_STATUS_RC_PRC_QUIESCENT vBIT(0xFF,16,8) 66#define ADAPTER_STATUS_RC_PRC_QUIESCENT vBIT(0xFF,16,8)
67#define ADAPTER_STATUS_MC_DRAM_READY s2BIT(24) 67#define ADAPTER_STATUS_MC_DRAM_READY s2BIT(24)
68#define ADAPTER_STATUS_MC_QUEUES_READY s2BIT(25) 68#define ADAPTER_STATUS_MC_QUEUES_READY s2BIT(25)
69#define ADAPTER_STATUS_RIC_RUNNING s2BIT(26)
69#define ADAPTER_STATUS_M_PLL_LOCK s2BIT(30) 70#define ADAPTER_STATUS_M_PLL_LOCK s2BIT(30)
70#define ADAPTER_STATUS_P_PLL_LOCK s2BIT(31) 71#define ADAPTER_STATUS_P_PLL_LOCK s2BIT(31)
71 72
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 632666706247..121cb100f93a 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.6" 87#define DRV_VERSION "2.0.26.10"
88 88
89/* S2io Driver name & version. */ 89/* S2io Driver name & version. */
90static char s2io_driver_name[] = "Neterion"; 90static char s2io_driver_name[] = "Neterion";
@@ -1081,7 +1081,7 @@ static int init_nic(struct s2io_nic *nic)
1081 /* to set the swapper controle on the card */ 1081 /* to set the swapper controle on the card */
1082 if(s2io_set_swapper(nic)) { 1082 if(s2io_set_swapper(nic)) {
1083 DBG_PRINT(ERR_DBG,"ERROR: Setting Swapper failed\n"); 1083 DBG_PRINT(ERR_DBG,"ERROR: Setting Swapper failed\n");
1084 return -1; 1084 return -EIO;
1085 } 1085 }
1086 1086
1087 /* 1087 /*
@@ -1100,6 +1100,20 @@ static int init_nic(struct s2io_nic *nic)
1100 msleep(500); 1100 msleep(500);
1101 val64 = readq(&bar0->sw_reset); 1101 val64 = readq(&bar0->sw_reset);
1102 1102
1103 /* Ensure that it's safe to access registers by checking
1104 * RIC_RUNNING bit is reset. Check is valid only for XframeII.
1105 */
1106 if (nic->device_type == XFRAME_II_DEVICE) {
1107 for (i = 0; i < 50; i++) {
1108 val64 = readq(&bar0->adapter_status);
1109 if (!(val64 & ADAPTER_STATUS_RIC_RUNNING))
1110 break;
1111 msleep(10);
1112 }
1113 if (i == 50)
1114 return -ENODEV;
1115 }
1116
1103 /* Enable Receiving broadcasts */ 1117 /* Enable Receiving broadcasts */
1104 add = &bar0->mac_cfg; 1118 add = &bar0->mac_cfg;
1105 val64 = readq(&bar0->mac_cfg); 1119 val64 = readq(&bar0->mac_cfg);
@@ -1503,7 +1517,7 @@ static int init_nic(struct s2io_nic *nic)
1503 DBG_PRINT(ERR_DBG, "%s: failed rts ds steering", 1517 DBG_PRINT(ERR_DBG, "%s: failed rts ds steering",
1504 dev->name); 1518 dev->name);
1505 DBG_PRINT(ERR_DBG, "set on codepoint %d\n", i); 1519 DBG_PRINT(ERR_DBG, "set on codepoint %d\n", i);
1506 return FAILURE; 1520 return -ENODEV;
1507 } 1521 }
1508 } 1522 }
1509 1523
@@ -1570,7 +1584,7 @@ static int init_nic(struct s2io_nic *nic)
1570 if (time > 10) { 1584 if (time > 10) {
1571 DBG_PRINT(ERR_DBG, "%s: TTI init Failed\n", 1585 DBG_PRINT(ERR_DBG, "%s: TTI init Failed\n",
1572 dev->name); 1586 dev->name);
1573 return -1; 1587 return -ENODEV;
1574 } 1588 }
1575 msleep(50); 1589 msleep(50);
1576 time++; 1590 time++;
@@ -1623,7 +1637,7 @@ static int init_nic(struct s2io_nic *nic)
1623 if (time > 10) { 1637 if (time > 10) {
1624 DBG_PRINT(ERR_DBG, "%s: RTI init Failed\n", 1638 DBG_PRINT(ERR_DBG, "%s: RTI init Failed\n",
1625 dev->name); 1639 dev->name);
1626 return -1; 1640 return -ENODEV;
1627 } 1641 }
1628 time++; 1642 time++;
1629 msleep(50); 1643 msleep(50);
@@ -3914,6 +3928,12 @@ static int s2io_close(struct net_device *dev)
3914{ 3928{
3915 struct s2io_nic *sp = dev->priv; 3929 struct s2io_nic *sp = dev->priv;
3916 3930
3931 /* Return if the device is already closed *
3932 * Can happen when s2io_card_up failed in change_mtu *
3933 */
3934 if (!is_s2io_card_up(sp))
3935 return 0;
3936
3917 netif_stop_queue(dev); 3937 netif_stop_queue(dev);
3918 napi_disable(&sp->napi); 3938 napi_disable(&sp->napi);
3919 /* Reset card, kill tasklet and free Tx and Rx buffers. */ 3939 /* Reset card, kill tasklet and free Tx and Rx buffers. */
@@ -6355,6 +6375,7 @@ static int s2io_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
6355static int s2io_change_mtu(struct net_device *dev, int new_mtu) 6375static int s2io_change_mtu(struct net_device *dev, int new_mtu)
6356{ 6376{
6357 struct s2io_nic *sp = dev->priv; 6377 struct s2io_nic *sp = dev->priv;
6378 int ret = 0;
6358 6379
6359 if ((new_mtu < MIN_MTU) || (new_mtu > S2IO_JUMBO_SIZE)) { 6380 if ((new_mtu < MIN_MTU) || (new_mtu > S2IO_JUMBO_SIZE)) {
6360 DBG_PRINT(ERR_DBG, "%s: MTU size is invalid.\n", 6381 DBG_PRINT(ERR_DBG, "%s: MTU size is invalid.\n",
@@ -6366,9 +6387,11 @@ static int s2io_change_mtu(struct net_device *dev, int new_mtu)
6366 if (netif_running(dev)) { 6387 if (netif_running(dev)) {
6367 s2io_card_down(sp); 6388 s2io_card_down(sp);
6368 netif_stop_queue(dev); 6389 netif_stop_queue(dev);
6369 if (s2io_card_up(sp)) { 6390 ret = s2io_card_up(sp);
6391 if (ret) {
6370 DBG_PRINT(ERR_DBG, "%s: Device bring up failed\n", 6392 DBG_PRINT(ERR_DBG, "%s: Device bring up failed\n",
6371 __FUNCTION__); 6393 __FUNCTION__);
6394 return ret;
6372 } 6395 }
6373 if (netif_queue_stopped(dev)) 6396 if (netif_queue_stopped(dev))
6374 netif_wake_queue(dev); 6397 netif_wake_queue(dev);
@@ -6379,7 +6402,7 @@ static int s2io_change_mtu(struct net_device *dev, int new_mtu)
6379 writeq(vBIT(val64, 2, 14), &bar0->rmac_max_pyld_len); 6402 writeq(vBIT(val64, 2, 14), &bar0->rmac_max_pyld_len);
6380 } 6403 }
6381 6404
6382 return 0; 6405 return ret;
6383} 6406}
6384 6407
6385/** 6408/**
@@ -6777,6 +6800,9 @@ static void do_s2io_card_down(struct s2io_nic * sp, int do_io)
6777 unsigned long flags; 6800 unsigned long flags;
6778 register u64 val64 = 0; 6801 register u64 val64 = 0;
6779 6802
6803 if (!is_s2io_card_up(sp))
6804 return;
6805
6780 del_timer_sync(&sp->alarm_timer); 6806 del_timer_sync(&sp->alarm_timer);
6781 /* If s2io_set_link task is executing, wait till it completes. */ 6807 /* If s2io_set_link task is executing, wait till it completes. */
6782 while (test_and_set_bit(__S2IO_STATE_LINK_TASK, &(sp->state))) { 6808 while (test_and_set_bit(__S2IO_STATE_LINK_TASK, &(sp->state))) {
@@ -6850,11 +6876,13 @@ static int s2io_card_up(struct s2io_nic * sp)
6850 u16 interruptible; 6876 u16 interruptible;
6851 6877
6852 /* Initialize the H/W I/O registers */ 6878 /* Initialize the H/W I/O registers */
6853 if (init_nic(sp) != 0) { 6879 ret = init_nic(sp);
6880 if (ret != 0) {
6854 DBG_PRINT(ERR_DBG, "%s: H/W initialization failed\n", 6881 DBG_PRINT(ERR_DBG, "%s: H/W initialization failed\n",
6855 dev->name); 6882 dev->name);
6856 s2io_reset(sp); 6883 if (ret != -EIO)
6857 return -ENODEV; 6884 s2io_reset(sp);
6885 return ret;
6858 } 6886 }
6859 6887
6860 /* 6888 /*
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 6d62250fba07..186eb8ebfda6 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -44,7 +44,7 @@
44#include "skge.h" 44#include "skge.h"
45 45
46#define DRV_NAME "skge" 46#define DRV_NAME "skge"
47#define DRV_VERSION "1.12" 47#define DRV_VERSION "1.13"
48#define PFX DRV_NAME " " 48#define PFX DRV_NAME " "
49 49
50#define DEFAULT_TX_RING_SIZE 128 50#define DEFAULT_TX_RING_SIZE 128
@@ -1095,16 +1095,9 @@ static void xm_link_down(struct skge_hw *hw, int port)
1095{ 1095{
1096 struct net_device *dev = hw->dev[port]; 1096 struct net_device *dev = hw->dev[port];
1097 struct skge_port *skge = netdev_priv(dev); 1097 struct skge_port *skge = netdev_priv(dev);
1098 u16 cmd = xm_read16(hw, port, XM_MMU_CMD);
1099 1098
1100 xm_write16(hw, port, XM_IMSK, XM_IMSK_DISABLE); 1099 xm_write16(hw, port, XM_IMSK, XM_IMSK_DISABLE);
1101 1100
1102 cmd &= ~(XM_MMU_ENA_RX | XM_MMU_ENA_TX);
1103 xm_write16(hw, port, XM_MMU_CMD, cmd);
1104
1105 /* dummy read to ensure writing */
1106 xm_read16(hw, port, XM_MMU_CMD);
1107
1108 if (netif_carrier_ok(dev)) 1101 if (netif_carrier_ok(dev))
1109 skge_link_down(skge); 1102 skge_link_down(skge);
1110} 1103}
@@ -1194,6 +1187,7 @@ static void genesis_init(struct skge_hw *hw)
1194static void genesis_reset(struct skge_hw *hw, int port) 1187static void genesis_reset(struct skge_hw *hw, int port)
1195{ 1188{
1196 const u8 zero[8] = { 0 }; 1189 const u8 zero[8] = { 0 };
1190 u32 reg;
1197 1191
1198 skge_write8(hw, SK_REG(port, GMAC_IRQ_MSK), 0); 1192 skge_write8(hw, SK_REG(port, GMAC_IRQ_MSK), 0);
1199 1193
@@ -1209,6 +1203,11 @@ static void genesis_reset(struct skge_hw *hw, int port)
1209 xm_write16(hw, port, PHY_BCOM_INT_MASK, 0xffff); 1203 xm_write16(hw, port, PHY_BCOM_INT_MASK, 0xffff);
1210 1204
1211 xm_outhash(hw, port, XM_HSM, zero); 1205 xm_outhash(hw, port, XM_HSM, zero);
1206
1207 /* Flush TX and RX fifo */
1208 reg = xm_read32(hw, port, XM_MODE);
1209 xm_write32(hw, port, XM_MODE, reg | XM_MD_FTF);
1210 xm_write32(hw, port, XM_MODE, reg | XM_MD_FRF);
1212} 1211}
1213 1212
1214 1213
@@ -1634,15 +1633,14 @@ static void genesis_mac_init(struct skge_hw *hw, int port)
1634 } 1633 }
1635 xm_write16(hw, port, XM_RX_CMD, r); 1634 xm_write16(hw, port, XM_RX_CMD, r);
1636 1635
1637
1638 /* We want short frames padded to 60 bytes. */ 1636 /* We want short frames padded to 60 bytes. */
1639 xm_write16(hw, port, XM_TX_CMD, XM_TX_AUTO_PAD); 1637 xm_write16(hw, port, XM_TX_CMD, XM_TX_AUTO_PAD);
1640 1638
1641 /* 1639 /* Increase threshold for jumbo frames on dual port */
1642 * Bump up the transmit threshold. This helps hold off transmit 1640 if (hw->ports > 1 && jumbo)
1643 * underruns when we're blasting traffic from both ports at once. 1641 xm_write16(hw, port, XM_TX_THR, 1020);
1644 */ 1642 else
1645 xm_write16(hw, port, XM_TX_THR, 512); 1643 xm_write16(hw, port, XM_TX_THR, 512);
1646 1644
1647 /* 1645 /*
1648 * Enable the reception of all error frames. This is is 1646 * Enable the reception of all error frames. This is is
@@ -1713,7 +1711,13 @@ static void genesis_stop(struct skge_port *skge)
1713{ 1711{
1714 struct skge_hw *hw = skge->hw; 1712 struct skge_hw *hw = skge->hw;
1715 int port = skge->port; 1713 int port = skge->port;
1716 u32 reg; 1714 unsigned retries = 1000;
1715 u16 cmd;
1716
1717 /* Disable Tx and Rx */
1718 cmd = xm_read16(hw, port, XM_MMU_CMD);
1719 cmd &= ~(XM_MMU_ENA_RX | XM_MMU_ENA_TX);
1720 xm_write16(hw, port, XM_MMU_CMD, cmd);
1717 1721
1718 genesis_reset(hw, port); 1722 genesis_reset(hw, port);
1719 1723
@@ -1721,20 +1725,17 @@ static void genesis_stop(struct skge_port *skge)
1721 skge_write16(hw, B3_PA_CTRL, 1725 skge_write16(hw, B3_PA_CTRL,
1722 port == 0 ? PA_CLR_TO_TX1 : PA_CLR_TO_TX2); 1726 port == 0 ? PA_CLR_TO_TX1 : PA_CLR_TO_TX2);
1723 1727
1724 /*
1725 * If the transfer sticks at the MAC the STOP command will not
1726 * terminate if we don't flush the XMAC's transmit FIFO !
1727 */
1728 xm_write32(hw, port, XM_MODE,
1729 xm_read32(hw, port, XM_MODE)|XM_MD_FTF);
1730
1731
1732 /* Reset the MAC */ 1728 /* Reset the MAC */
1733 skge_write16(hw, SK_REG(port, TX_MFF_CTRL1), MFF_SET_MAC_RST); 1729 skge_write16(hw, SK_REG(port, TX_MFF_CTRL1), MFF_CLR_MAC_RST);
1730 do {
1731 skge_write16(hw, SK_REG(port, TX_MFF_CTRL1), MFF_SET_MAC_RST);
1732 if (!(skge_read16(hw, SK_REG(port, TX_MFF_CTRL1)) & MFF_SET_MAC_RST))
1733 break;
1734 } while (--retries > 0);
1734 1735
1735 /* For external PHYs there must be special handling */ 1736 /* For external PHYs there must be special handling */
1736 if (hw->phy_type != SK_PHY_XMAC) { 1737 if (hw->phy_type != SK_PHY_XMAC) {
1737 reg = skge_read32(hw, B2_GP_IO); 1738 u32 reg = skge_read32(hw, B2_GP_IO);
1738 if (port == 0) { 1739 if (port == 0) {
1739 reg |= GP_DIR_0; 1740 reg |= GP_DIR_0;
1740 reg &= ~GP_IO_0; 1741 reg &= ~GP_IO_0;
@@ -1801,11 +1802,6 @@ static void genesis_mac_intr(struct skge_hw *hw, int port)
1801 xm_write32(hw, port, XM_MODE, XM_MD_FTF); 1802 xm_write32(hw, port, XM_MODE, XM_MD_FTF);
1802 ++dev->stats.tx_fifo_errors; 1803 ++dev->stats.tx_fifo_errors;
1803 } 1804 }
1804
1805 if (status & XM_IS_RXF_OV) {
1806 xm_write32(hw, port, XM_MODE, XM_MD_FRF);
1807 ++dev->stats.rx_fifo_errors;
1808 }
1809} 1805}
1810 1806
1811static void genesis_link_up(struct skge_port *skge) 1807static void genesis_link_up(struct skge_port *skge)
@@ -1862,9 +1858,9 @@ static void genesis_link_up(struct skge_port *skge)
1862 1858
1863 xm_write32(hw, port, XM_MODE, mode); 1859 xm_write32(hw, port, XM_MODE, mode);
1864 1860
1865 /* Turn on detection of Tx underrun, Rx overrun */ 1861 /* Turn on detection of Tx underrun */
1866 msk = xm_read16(hw, port, XM_IMSK); 1862 msk = xm_read16(hw, port, XM_IMSK);
1867 msk &= ~(XM_IS_RXF_OV | XM_IS_TXF_UR); 1863 msk &= ~XM_IS_TXF_UR;
1868 xm_write16(hw, port, XM_IMSK, msk); 1864 xm_write16(hw, port, XM_IMSK, msk);
1869 1865
1870 xm_read16(hw, port, XM_ISRC); 1866 xm_read16(hw, port, XM_ISRC);
@@ -2194,9 +2190,12 @@ static void yukon_mac_init(struct skge_hw *hw, int port)
2194 TX_JAM_IPG_VAL(TX_JAM_IPG_DEF) | 2190 TX_JAM_IPG_VAL(TX_JAM_IPG_DEF) |
2195 TX_IPG_JAM_DATA(TX_IPG_JAM_DEF)); 2191 TX_IPG_JAM_DATA(TX_IPG_JAM_DEF));
2196 2192
2197 /* serial mode register */ 2193 /* configure the Serial Mode Register */
2198 reg = GM_SMOD_VLAN_ENA | IPG_DATA_VAL(IPG_DATA_DEF); 2194 reg = DATA_BLIND_VAL(DATA_BLIND_DEF)
2199 if (hw->dev[port]->mtu > 1500) 2195 | GM_SMOD_VLAN_ENA
2196 | IPG_DATA_VAL(IPG_DATA_DEF);
2197
2198 if (hw->dev[port]->mtu > ETH_DATA_LEN)
2200 reg |= GM_SMOD_JUMBO_ENA; 2199 reg |= GM_SMOD_JUMBO_ENA;
2201 2200
2202 gma_write16(hw, port, GM_SERIAL_MODE, reg); 2201 gma_write16(hw, port, GM_SERIAL_MODE, reg);
@@ -2619,8 +2618,8 @@ static int skge_up(struct net_device *dev)
2619 yukon_mac_init(hw, port); 2618 yukon_mac_init(hw, port);
2620 spin_unlock_bh(&hw->phy_lock); 2619 spin_unlock_bh(&hw->phy_lock);
2621 2620
2622 /* Configure RAMbuffers */ 2621 /* Configure RAMbuffers - equally between ports and tx/rx */
2623 chunk = hw->ram_size / ((hw->ports + 1)*2); 2622 chunk = (hw->ram_size - hw->ram_offset) / (hw->ports * 2);
2624 ram_addr = hw->ram_offset + 2 * chunk * port; 2623 ram_addr = hw->ram_offset + 2 * chunk * port;
2625 2624
2626 skge_ramset(hw, rxqaddr[port], ram_addr, chunk); 2625 skge_ramset(hw, rxqaddr[port], ram_addr, chunk);
@@ -2897,11 +2896,7 @@ static void skge_tx_timeout(struct net_device *dev)
2897 2896
2898static int skge_change_mtu(struct net_device *dev, int new_mtu) 2897static int skge_change_mtu(struct net_device *dev, int new_mtu)
2899{ 2898{
2900 struct skge_port *skge = netdev_priv(dev);
2901 struct skge_hw *hw = skge->hw;
2902 int port = skge->port;
2903 int err; 2899 int err;
2904 u16 ctl, reg;
2905 2900
2906 if (new_mtu < ETH_ZLEN || new_mtu > ETH_JUMBO_MTU) 2901 if (new_mtu < ETH_ZLEN || new_mtu > ETH_JUMBO_MTU)
2907 return -EINVAL; 2902 return -EINVAL;
@@ -2911,40 +2906,13 @@ static int skge_change_mtu(struct net_device *dev, int new_mtu)
2911 return 0; 2906 return 0;
2912 } 2907 }
2913 2908
2914 skge_write32(hw, B0_IMSK, 0); 2909 skge_down(dev);
2915 dev->trans_start = jiffies; /* prevent tx timeout */
2916 netif_stop_queue(dev);
2917 napi_disable(&skge->napi);
2918
2919 ctl = gma_read16(hw, port, GM_GP_CTRL);
2920 gma_write16(hw, port, GM_GP_CTRL, ctl & ~GM_GPCR_RX_ENA);
2921
2922 skge_rx_clean(skge);
2923 skge_rx_stop(hw, port);
2924 2910
2925 dev->mtu = new_mtu; 2911 dev->mtu = new_mtu;
2926 2912
2927 reg = GM_SMOD_VLAN_ENA | IPG_DATA_VAL(IPG_DATA_DEF); 2913 err = skge_up(dev);
2928 if (new_mtu > 1500)
2929 reg |= GM_SMOD_JUMBO_ENA;
2930 gma_write16(hw, port, GM_SERIAL_MODE, reg);
2931
2932 skge_write8(hw, RB_ADDR(rxqaddr[port], RB_CTRL), RB_ENA_OP_MD);
2933
2934 err = skge_rx_fill(dev);
2935 wmb();
2936 if (!err)
2937 skge_write8(hw, Q_ADDR(rxqaddr[port], Q_CSR), CSR_START | CSR_IRQ_CL_F);
2938 skge_write32(hw, B0_IMSK, hw->intr_mask);
2939
2940 if (err) 2914 if (err)
2941 dev_close(dev); 2915 dev_close(dev);
2942 else {
2943 gma_write16(hw, port, GM_GP_CTRL, ctl);
2944
2945 napi_enable(&skge->napi);
2946 netif_wake_queue(dev);
2947 }
2948 2916
2949 return err; 2917 return err;
2950} 2918}
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index a2070db725c9..6197afb3ed83 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -31,7 +31,6 @@
31#include <linux/etherdevice.h> 31#include <linux/etherdevice.h>
32#include <linux/ethtool.h> 32#include <linux/ethtool.h>
33#include <linux/pci.h> 33#include <linux/pci.h>
34#include <linux/aer.h>
35#include <linux/ip.h> 34#include <linux/ip.h>
36#include <net/ip.h> 35#include <net/ip.h>
37#include <linux/tcp.h> 36#include <linux/tcp.h>
@@ -240,22 +239,21 @@ static void sky2_power_on(struct sky2_hw *hw)
240 sky2_write8(hw, B2_Y2_CLK_GATE, 0); 239 sky2_write8(hw, B2_Y2_CLK_GATE, 0);
241 240
242 if (hw->flags & SKY2_HW_ADV_POWER_CTL) { 241 if (hw->flags & SKY2_HW_ADV_POWER_CTL) {
243 struct pci_dev *pdev = hw->pdev;
244 u32 reg; 242 u32 reg;
245 243
246 pci_write_config_dword(pdev, PCI_DEV_REG3, 0); 244 sky2_pci_write32(hw, PCI_DEV_REG3, 0);
247 245
248 pci_read_config_dword(pdev, PCI_DEV_REG4, &reg); 246 reg = sky2_pci_read32(hw, PCI_DEV_REG4);
249 /* set all bits to 0 except bits 15..12 and 8 */ 247 /* set all bits to 0 except bits 15..12 and 8 */
250 reg &= P_ASPM_CONTROL_MSK; 248 reg &= P_ASPM_CONTROL_MSK;
251 pci_write_config_dword(pdev, PCI_DEV_REG4, reg); 249 sky2_pci_write32(hw, PCI_DEV_REG4, reg);
252 250
253 pci_read_config_dword(pdev, PCI_DEV_REG5, &reg); 251 reg = sky2_pci_read32(hw, PCI_DEV_REG5);
254 /* set all bits to 0 except bits 28 & 27 */ 252 /* set all bits to 0 except bits 28 & 27 */
255 reg &= P_CTL_TIM_VMAIN_AV_MSK; 253 reg &= P_CTL_TIM_VMAIN_AV_MSK;
256 pci_write_config_dword(pdev, PCI_DEV_REG5, reg); 254 sky2_pci_write32(hw, PCI_DEV_REG5, reg);
257 255
258 pci_write_config_dword(pdev, PCI_CFG_REG_1, 0); 256 sky2_pci_write32(hw, PCI_CFG_REG_1, 0);
259 257
260 /* Enable workaround for dev 4.107 on Yukon-Ultra & Extreme */ 258 /* Enable workaround for dev 4.107 on Yukon-Ultra & Extreme */
261 reg = sky2_read32(hw, B2_GP_IO); 259 reg = sky2_read32(hw, B2_GP_IO);
@@ -619,12 +617,11 @@ static void sky2_phy_init(struct sky2_hw *hw, unsigned port)
619 617
620static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff) 618static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff)
621{ 619{
622 struct pci_dev *pdev = hw->pdev;
623 u32 reg1; 620 u32 reg1;
624 static const u32 phy_power[] = { PCI_Y2_PHY1_POWD, PCI_Y2_PHY2_POWD }; 621 static const u32 phy_power[] = { PCI_Y2_PHY1_POWD, PCI_Y2_PHY2_POWD };
625 static const u32 coma_mode[] = { PCI_Y2_PHY1_COMA, PCI_Y2_PHY2_COMA }; 622 static const u32 coma_mode[] = { PCI_Y2_PHY1_COMA, PCI_Y2_PHY2_COMA };
626 623
627 pci_read_config_dword(pdev, PCI_DEV_REG1, &reg1); 624 reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
628 /* Turn on/off phy power saving */ 625 /* Turn on/off phy power saving */
629 if (onoff) 626 if (onoff)
630 reg1 &= ~phy_power[port]; 627 reg1 &= ~phy_power[port];
@@ -634,8 +631,8 @@ static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff)
634 if (onoff && hw->chip_id == CHIP_ID_YUKON_XL && hw->chip_rev > 1) 631 if (onoff && hw->chip_id == CHIP_ID_YUKON_XL && hw->chip_rev > 1)
635 reg1 |= coma_mode[port]; 632 reg1 |= coma_mode[port];
636 633
637 pci_write_config_dword(pdev, PCI_DEV_REG1, reg1); 634 sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
638 pci_read_config_dword(pdev, PCI_DEV_REG1, &reg1); 635 reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
639 636
640 udelay(100); 637 udelay(100);
641} 638}
@@ -704,9 +701,9 @@ static void sky2_wol_init(struct sky2_port *sky2)
704 sky2_write16(hw, WOL_REGS(port, WOL_CTRL_STAT), ctrl); 701 sky2_write16(hw, WOL_REGS(port, WOL_CTRL_STAT), ctrl);
705 702
706 /* Turn on legacy PCI-Express PME mode */ 703 /* Turn on legacy PCI-Express PME mode */
707 pci_read_config_dword(hw->pdev, PCI_DEV_REG1, &reg1); 704 reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
708 reg1 |= PCI_Y2_PME_LEGACY; 705 reg1 |= PCI_Y2_PME_LEGACY;
709 pci_write_config_dword(hw->pdev, PCI_DEV_REG1, reg1); 706 sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
710 707
711 /* block receiver */ 708 /* block receiver */
712 sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); 709 sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
@@ -848,6 +845,13 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port)
848 sky2_set_tx_stfwd(hw, port); 845 sky2_set_tx_stfwd(hw, port);
849 } 846 }
850 847
848 if (hw->chip_id == CHIP_ID_YUKON_FE_P &&
849 hw->chip_rev == CHIP_REV_YU_FE2_A0) {
850 /* disable dynamic watermark */
851 reg = sky2_read16(hw, SK_REG(port, TX_GMF_EA));
852 reg &= ~TX_DYN_WM_ENA;
853 sky2_write16(hw, SK_REG(port, TX_GMF_EA), reg);
854 }
851} 855}
852 856
853/* Assign Ram Buffer allocation to queue */ 857/* Assign Ram Buffer allocation to queue */
@@ -1320,15 +1324,12 @@ static int sky2_up(struct net_device *dev)
1320 */ 1324 */
1321 if (otherdev && netif_running(otherdev) && 1325 if (otherdev && netif_running(otherdev) &&
1322 (cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) { 1326 (cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) {
1323 struct sky2_port *osky2 = netdev_priv(otherdev);
1324 u16 cmd; 1327 u16 cmd;
1325 1328
1326 pci_read_config_word(hw->pdev, cap + PCI_X_CMD, &cmd); 1329 cmd = sky2_pci_read16(hw, cap + PCI_X_CMD);
1327 cmd &= ~PCI_X_CMD_MAX_SPLIT; 1330 cmd &= ~PCI_X_CMD_MAX_SPLIT;
1328 pci_write_config_word(hw->pdev, cap + PCI_X_CMD, cmd); 1331 sky2_pci_write16(hw, cap + PCI_X_CMD, cmd);
1329 1332
1330 sky2->rx_csum = 0;
1331 osky2->rx_csum = 0;
1332 } 1333 }
1333 1334
1334 if (netif_msg_ifup(sky2)) 1335 if (netif_msg_ifup(sky2))
@@ -2426,37 +2427,26 @@ static void sky2_hw_intr(struct sky2_hw *hw)
2426 if (status & (Y2_IS_MST_ERR | Y2_IS_IRQ_STAT)) { 2427 if (status & (Y2_IS_MST_ERR | Y2_IS_IRQ_STAT)) {
2427 u16 pci_err; 2428 u16 pci_err;
2428 2429
2429 pci_read_config_word(pdev, PCI_STATUS, &pci_err); 2430 pci_err = sky2_pci_read16(hw, PCI_STATUS);
2430 if (net_ratelimit()) 2431 if (net_ratelimit())
2431 dev_err(&pdev->dev, "PCI hardware error (0x%x)\n", 2432 dev_err(&pdev->dev, "PCI hardware error (0x%x)\n",
2432 pci_err); 2433 pci_err);
2433 2434
2434 pci_write_config_word(pdev, PCI_STATUS, 2435 sky2_pci_write16(hw, PCI_STATUS,
2435 pci_err | PCI_STATUS_ERROR_BITS); 2436 pci_err | PCI_STATUS_ERROR_BITS);
2436 } 2437 }
2437 2438
2438 if (status & Y2_IS_PCI_EXP) { 2439 if (status & Y2_IS_PCI_EXP) {
2439 /* PCI-Express uncorrectable Error occurred */ 2440 /* PCI-Express uncorrectable Error occurred */
2440 int aer = pci_find_aer_capability(hw->pdev);
2441 u32 err; 2441 u32 err;
2442 2442
2443 if (aer) { 2443 err = sky2_read32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS);
2444 pci_read_config_dword(pdev, aer + PCI_ERR_UNCOR_STATUS, 2444 sky2_write32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS,
2445 &err); 2445 0xfffffffful);
2446 pci_cleanup_aer_uncorrect_error_status(pdev);
2447 } else {
2448 /* Either AER not configured, or not working
2449 * because of bad MMCONFIG, so just do recover
2450 * manually.
2451 */
2452 err = sky2_read32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS);
2453 sky2_write32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS,
2454 0xfffffffful);
2455 }
2456
2457 if (net_ratelimit()) 2446 if (net_ratelimit())
2458 dev_err(&pdev->dev, "PCI Express error (0x%x)\n", err); 2447 dev_err(&pdev->dev, "PCI Express error (0x%x)\n", err);
2459 2448
2449 sky2_read32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS);
2460 } 2450 }
2461 2451
2462 if (status & Y2_HWE_L1_MASK) 2452 if (status & Y2_HWE_L1_MASK)
@@ -2703,13 +2693,10 @@ static inline u32 sky2_clk2us(const struct sky2_hw *hw, u32 clk)
2703 2693
2704static int __devinit sky2_init(struct sky2_hw *hw) 2694static int __devinit sky2_init(struct sky2_hw *hw)
2705{ 2695{
2706 int rc;
2707 u8 t8; 2696 u8 t8;
2708 2697
2709 /* Enable all clocks and check for bad PCI access */ 2698 /* Enable all clocks and check for bad PCI access */
2710 rc = pci_write_config_dword(hw->pdev, PCI_DEV_REG3, 0); 2699 sky2_pci_write32(hw, PCI_DEV_REG3, 0);
2711 if (rc)
2712 return rc;
2713 2700
2714 sky2_write8(hw, B0_CTST, CS_RST_CLR); 2701 sky2_write8(hw, B0_CTST, CS_RST_CLR);
2715 2702
@@ -2806,32 +2793,21 @@ static void sky2_reset(struct sky2_hw *hw)
2806 sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); 2793 sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);
2807 2794
2808 /* clear PCI errors, if any */ 2795 /* clear PCI errors, if any */
2809 pci_read_config_word(pdev, PCI_STATUS, &status); 2796 status = sky2_pci_read16(hw, PCI_STATUS);
2810 status |= PCI_STATUS_ERROR_BITS; 2797 status |= PCI_STATUS_ERROR_BITS;
2811 pci_write_config_word(pdev, PCI_STATUS, status); 2798 sky2_pci_write16(hw, PCI_STATUS, status);
2812 2799
2813 sky2_write8(hw, B0_CTST, CS_MRST_CLR); 2800 sky2_write8(hw, B0_CTST, CS_MRST_CLR);
2814 2801
2815 cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); 2802 cap = pci_find_capability(pdev, PCI_CAP_ID_EXP);
2816 if (cap) { 2803 if (cap) {
2817 if (pci_find_aer_capability(pdev)) { 2804 sky2_write32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS,
2818 /* Check for advanced error reporting */ 2805 0xfffffffful);
2819 pci_cleanup_aer_uncorrect_error_status(pdev);
2820 pci_cleanup_aer_correct_error_status(pdev);
2821 } else {
2822 dev_warn(&pdev->dev,
2823 "PCI Express Advanced Error Reporting"
2824 " not configured or MMCONFIG problem?\n");
2825
2826 sky2_write32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS,
2827 0xfffffffful);
2828 }
2829 2806
2830 /* If error bit is stuck on ignore it */ 2807 /* If error bit is stuck on ignore it */
2831 if (sky2_read32(hw, B0_HWE_ISRC) & Y2_IS_PCI_EXP) 2808 if (sky2_read32(hw, B0_HWE_ISRC) & Y2_IS_PCI_EXP)
2832 dev_info(&pdev->dev, "ignoring stuck error report bit\n"); 2809 dev_info(&pdev->dev, "ignoring stuck error report bit\n");
2833 2810 else
2834 else if (pci_enable_pcie_error_reporting(pdev))
2835 hwe_mask |= Y2_IS_PCI_EXP; 2811 hwe_mask |= Y2_IS_PCI_EXP;
2836 } 2812 }
2837 2813
@@ -2930,16 +2906,14 @@ static void sky2_restart(struct work_struct *work)
2930 int i, err; 2906 int i, err;
2931 2907
2932 rtnl_lock(); 2908 rtnl_lock();
2933 sky2_write32(hw, B0_IMSK, 0);
2934 sky2_read32(hw, B0_IMSK);
2935 napi_disable(&hw->napi);
2936
2937 for (i = 0; i < hw->ports; i++) { 2909 for (i = 0; i < hw->ports; i++) {
2938 dev = hw->dev[i]; 2910 dev = hw->dev[i];
2939 if (netif_running(dev)) 2911 if (netif_running(dev))
2940 sky2_down(dev); 2912 sky2_down(dev);
2941 } 2913 }
2942 2914
2915 napi_disable(&hw->napi);
2916 sky2_write32(hw, B0_IMSK, 0);
2943 sky2_reset(hw); 2917 sky2_reset(hw);
2944 sky2_write32(hw, B0_IMSK, Y2_IS_BASE); 2918 sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
2945 napi_enable(&hw->napi); 2919 napi_enable(&hw->napi);
@@ -3672,32 +3646,33 @@ static int sky2_set_tso(struct net_device *dev, u32 data)
3672static int sky2_get_eeprom_len(struct net_device *dev) 3646static int sky2_get_eeprom_len(struct net_device *dev)
3673{ 3647{
3674 struct sky2_port *sky2 = netdev_priv(dev); 3648 struct sky2_port *sky2 = netdev_priv(dev);
3649 struct sky2_hw *hw = sky2->hw;
3675 u16 reg2; 3650 u16 reg2;
3676 3651
3677 pci_read_config_word(sky2->hw->pdev, PCI_DEV_REG2, &reg2); 3652 reg2 = sky2_pci_read16(hw, PCI_DEV_REG2);
3678 return 1 << ( ((reg2 & PCI_VPD_ROM_SZ) >> 14) + 8); 3653 return 1 << ( ((reg2 & PCI_VPD_ROM_SZ) >> 14) + 8);
3679} 3654}
3680 3655
3681static u32 sky2_vpd_read(struct pci_dev *pdev, int cap, u16 offset) 3656static u32 sky2_vpd_read(struct sky2_hw *hw, int cap, u16 offset)
3682{ 3657{
3683 u32 val; 3658 u32 val;
3684 3659
3685 pci_write_config_word(pdev, cap + PCI_VPD_ADDR, offset); 3660 sky2_pci_write16(hw, cap + PCI_VPD_ADDR, offset);
3686 3661
3687 do { 3662 do {
3688 pci_read_config_word(pdev, cap + PCI_VPD_ADDR, &offset); 3663 offset = sky2_pci_read16(hw, cap + PCI_VPD_ADDR);
3689 } while (!(offset & PCI_VPD_ADDR_F)); 3664 } while (!(offset & PCI_VPD_ADDR_F));
3690 3665
3691 pci_read_config_dword(pdev, cap + PCI_VPD_DATA, &val); 3666 val = sky2_pci_read32(hw, cap + PCI_VPD_DATA);
3692 return val; 3667 return val;
3693} 3668}
3694 3669
3695static void sky2_vpd_write(struct pci_dev *pdev, int cap, u16 offset, u32 val) 3670static void sky2_vpd_write(struct sky2_hw *hw, int cap, u16 offset, u32 val)
3696{ 3671{
3697 pci_write_config_word(pdev, cap + PCI_VPD_DATA, val); 3672 sky2_pci_write16(hw, cap + PCI_VPD_DATA, val);
3698 pci_write_config_dword(pdev, cap + PCI_VPD_ADDR, offset | PCI_VPD_ADDR_F); 3673 sky2_pci_write32(hw, cap + PCI_VPD_ADDR, offset | PCI_VPD_ADDR_F);
3699 do { 3674 do {
3700 pci_read_config_word(pdev, cap + PCI_VPD_ADDR, &offset); 3675 offset = sky2_pci_read16(hw, cap + PCI_VPD_ADDR);
3701 } while (offset & PCI_VPD_ADDR_F); 3676 } while (offset & PCI_VPD_ADDR_F);
3702} 3677}
3703 3678
@@ -3715,7 +3690,7 @@ static int sky2_get_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom
3715 eeprom->magic = SKY2_EEPROM_MAGIC; 3690 eeprom->magic = SKY2_EEPROM_MAGIC;
3716 3691
3717 while (length > 0) { 3692 while (length > 0) {
3718 u32 val = sky2_vpd_read(sky2->hw->pdev, cap, offset); 3693 u32 val = sky2_vpd_read(sky2->hw, cap, offset);
3719 int n = min_t(int, length, sizeof(val)); 3694 int n = min_t(int, length, sizeof(val));
3720 3695
3721 memcpy(data, &val, n); 3696 memcpy(data, &val, n);
@@ -3745,10 +3720,10 @@ static int sky2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom
3745 int n = min_t(int, length, sizeof(val)); 3720 int n = min_t(int, length, sizeof(val));
3746 3721
3747 if (n < sizeof(val)) 3722 if (n < sizeof(val))
3748 val = sky2_vpd_read(sky2->hw->pdev, cap, offset); 3723 val = sky2_vpd_read(sky2->hw, cap, offset);
3749 memcpy(&val, data, n); 3724 memcpy(&val, data, n);
3750 3725
3751 sky2_vpd_write(sky2->hw->pdev, cap, offset, val); 3726 sky2_vpd_write(sky2->hw, cap, offset, val);
3752 3727
3753 length -= n; 3728 length -= n;
3754 data += n; 3729 data += n;
@@ -4013,7 +3988,7 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw,
4013 sky2->duplex = -1; 3988 sky2->duplex = -1;
4014 sky2->speed = -1; 3989 sky2->speed = -1;
4015 sky2->advertising = sky2_supported_modes(hw); 3990 sky2->advertising = sky2_supported_modes(hw);
4016 sky2->rx_csum = 1; 3991 sky2->rx_csum = (hw->chip_id != CHIP_ID_YUKON_XL);
4017 sky2->wol = wol; 3992 sky2->wol = wol;
4018 3993
4019 spin_lock_init(&sky2->phy_lock); 3994 spin_lock_init(&sky2->phy_lock);
@@ -4184,9 +4159,9 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
4184 */ 4159 */
4185 { 4160 {
4186 u32 reg; 4161 u32 reg;
4187 pci_read_config_dword(pdev,PCI_DEV_REG2, &reg); 4162 reg = sky2_pci_read32(hw, PCI_DEV_REG2);
4188 reg &= ~PCI_REV_DESC; 4163 reg &= ~PCI_REV_DESC;
4189 pci_write_config_dword(pdev, PCI_DEV_REG2, reg); 4164 sky2_pci_write32(hw, PCI_DEV_REG2, reg);
4190 } 4165 }
4191#endif 4166#endif
4192 4167
@@ -4377,7 +4352,7 @@ static int sky2_resume(struct pci_dev *pdev)
4377 if (hw->chip_id == CHIP_ID_YUKON_EX || 4352 if (hw->chip_id == CHIP_ID_YUKON_EX ||
4378 hw->chip_id == CHIP_ID_YUKON_EC_U || 4353 hw->chip_id == CHIP_ID_YUKON_EC_U ||
4379 hw->chip_id == CHIP_ID_YUKON_FE_P) 4354 hw->chip_id == CHIP_ID_YUKON_FE_P)
4380 pci_write_config_dword(pdev, PCI_DEV_REG3, 0); 4355 sky2_pci_write32(hw, PCI_DEV_REG3, 0);
4381 4356
4382 sky2_reset(hw); 4357 sky2_reset(hw);
4383 sky2_write32(hw, B0_IMSK, Y2_IS_BASE); 4358 sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index 69525fd7908d..bc646a47edd2 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -2128,4 +2128,25 @@ static inline void gma_set_addr(struct sky2_hw *hw, unsigned port, unsigned reg,
2128 gma_write16(hw, port, reg+4,(u16) addr[2] | ((u16) addr[3] << 8)); 2128 gma_write16(hw, port, reg+4,(u16) addr[2] | ((u16) addr[3] << 8));
2129 gma_write16(hw, port, reg+8,(u16) addr[4] | ((u16) addr[5] << 8)); 2129 gma_write16(hw, port, reg+8,(u16) addr[4] | ((u16) addr[5] << 8));
2130} 2130}
2131
2132/* PCI config space access */
2133static inline u32 sky2_pci_read32(const struct sky2_hw *hw, unsigned reg)
2134{
2135 return sky2_read32(hw, Y2_CFG_SPC + reg);
2136}
2137
2138static inline u16 sky2_pci_read16(const struct sky2_hw *hw, unsigned reg)
2139{
2140 return sky2_read16(hw, Y2_CFG_SPC + reg);
2141}
2142
2143static inline void sky2_pci_write32(struct sky2_hw *hw, unsigned reg, u32 val)
2144{
2145 sky2_write32(hw, Y2_CFG_SPC + reg, val);
2146}
2147
2148static inline void sky2_pci_write16(struct sky2_hw *hw, unsigned reg, u16 val)
2149{
2150 sky2_write16(hw, Y2_CFG_SPC + reg, val);
2151}
2131#endif 2152#endif
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index dd18af0ce676..76cc1d3adf71 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -428,7 +428,6 @@ static inline void smc911x_drop_pkt(struct net_device *dev)
428 */ 428 */
429static inline void smc911x_rcv(struct net_device *dev) 429static inline void smc911x_rcv(struct net_device *dev)
430{ 430{
431 struct smc911x_local *lp = netdev_priv(dev);
432 unsigned long ioaddr = dev->base_addr; 431 unsigned long ioaddr = dev->base_addr;
433 unsigned int pkt_len, status; 432 unsigned int pkt_len, status;
434 struct sk_buff *skb; 433 struct sk_buff *skb;
@@ -473,6 +472,7 @@ static inline void smc911x_rcv(struct net_device *dev)
473 skb_put(skb,pkt_len-4); 472 skb_put(skb,pkt_len-4);
474#ifdef SMC_USE_DMA 473#ifdef SMC_USE_DMA
475 { 474 {
475 struct smc911x_local *lp = netdev_priv(dev);
476 unsigned int fifo; 476 unsigned int fifo;
477 /* Lower the FIFO threshold if possible */ 477 /* Lower the FIFO threshold if possible */
478 fifo = SMC_GET_FIFO_INT(); 478 fifo = SMC_GET_FIFO_INT();
@@ -1299,9 +1299,9 @@ smc911x_rx_dma_irq(int dma, void *data)
1299 PRINT_PKT(skb->data, skb->len); 1299 PRINT_PKT(skb->data, skb->len);
1300 dev->last_rx = jiffies; 1300 dev->last_rx = jiffies;
1301 skb->protocol = eth_type_trans(skb, dev); 1301 skb->protocol = eth_type_trans(skb, dev);
1302 netif_rx(skb);
1303 dev->stats.rx_packets++; 1302 dev->stats.rx_packets++;
1304 dev->stats.rx_bytes += skb->len; 1303 dev->stats.rx_bytes += skb->len;
1304 netif_rx(skb);
1305 1305
1306 spin_lock_irqsave(&lp->lock, flags); 1306 spin_lock_irqsave(&lp->lock, flags);
1307 pkts = (SMC_GET_RX_FIFO_INF() & RX_FIFO_INF_RXSUSED_) >> 16; 1307 pkts = (SMC_GET_RX_FIFO_INF() & RX_FIFO_INF_RXSUSED_) >> 16;
@@ -1379,13 +1379,6 @@ static void smc911x_set_multicast_list(struct net_device *dev)
1379 unsigned int multicast_table[2]; 1379 unsigned int multicast_table[2];
1380 unsigned int mcr, update_multicast = 0; 1380 unsigned int mcr, update_multicast = 0;
1381 unsigned long flags; 1381 unsigned long flags;
1382 /* table for flipping the order of 5 bits */
1383 static const unsigned char invert5[] =
1384 {0x00, 0x10, 0x08, 0x18, 0x04, 0x14, 0x0C, 0x1C,
1385 0x02, 0x12, 0x0A, 0x1A, 0x06, 0x16, 0x0E, 0x1E,
1386 0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0D, 0x1D,
1387 0x03, 0x13, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F};
1388
1389 1382
1390 DBG(SMC_DEBUG_FUNC, "%s: --> %s\n", dev->name, __FUNCTION__); 1383 DBG(SMC_DEBUG_FUNC, "%s: --> %s\n", dev->name, __FUNCTION__);
1391 1384
@@ -1432,7 +1425,7 @@ static void smc911x_set_multicast_list(struct net_device *dev)
1432 1425
1433 cur_addr = dev->mc_list; 1426 cur_addr = dev->mc_list;
1434 for (i = 0; i < dev->mc_count; i++, cur_addr = cur_addr->next) { 1427 for (i = 0; i < dev->mc_count; i++, cur_addr = cur_addr->next) {
1435 int position; 1428 u32 position;
1436 1429
1437 /* do we have a pointer here? */ 1430 /* do we have a pointer here? */
1438 if (!cur_addr) 1431 if (!cur_addr)
@@ -1442,12 +1435,10 @@ static void smc911x_set_multicast_list(struct net_device *dev)
1442 if (!(*cur_addr->dmi_addr & 1)) 1435 if (!(*cur_addr->dmi_addr & 1))
1443 continue; 1436 continue;
1444 1437
1445 /* only use the low order bits */ 1438 /* upper 6 bits are used as hash index */
1446 position = crc32_le(~0, cur_addr->dmi_addr, 6) & 0x3f; 1439 position = ether_crc(ETH_ALEN, cur_addr->dmi_addr)>>26;
1447 1440
1448 /* do some messy swapping to put the bit in the right spot */ 1441 multicast_table[position>>5] |= 1 << (position&0x1f);
1449 multicast_table[invert5[position&0x1F]&0x1] |=
1450 (1<<invert5[(position>>1)&0x1F]);
1451 } 1442 }
1452 1443
1453 /* be sure I get rid of flags I might have set */ 1444 /* be sure I get rid of flags I might have set */
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h
index 16a0edc078fd..d04e4fa35206 100644
--- a/drivers/net/smc911x.h
+++ b/drivers/net/smc911x.h
@@ -37,7 +37,7 @@
37 #define SMC_USE_16BIT 0 37 #define SMC_USE_16BIT 0
38 #define SMC_USE_32BIT 1 38 #define SMC_USE_32BIT 1
39 #define SMC_IRQ_SENSE IRQF_TRIGGER_FALLING 39 #define SMC_IRQ_SENSE IRQF_TRIGGER_FALLING
40#elif CONFIG_SH_MAGIC_PANEL_R2 40#elif defined(CONFIG_SH_MAGIC_PANEL_R2)
41 #define SMC_USE_SH_DMA 0 41 #define SMC_USE_SH_DMA 0
42 #define SMC_USE_16BIT 0 42 #define SMC_USE_16BIT 0
43 #define SMC_USE_32BIT 1 43 #define SMC_USE_32BIT 1
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index db34e1eb67e9..07b7f7120e37 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -55,7 +55,7 @@
55#define SMC_insw(a, r, p, l) readsw((a) + (r), p, l) 55#define SMC_insw(a, r, p, l) readsw((a) + (r), p, l)
56#define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l) 56#define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l)
57 57
58#elif defined(CONFIG_BFIN) 58#elif defined(CONFIG_BLACKFIN)
59 59
60#define SMC_IRQ_FLAGS IRQF_TRIGGER_HIGH 60#define SMC_IRQ_FLAGS IRQF_TRIGGER_HIGH
61#define RPC_LSA_DEFAULT RPC_LED_100_10 61#define RPC_LSA_DEFAULT RPC_LED_100_10
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index f6fedcc32de1..68872142530b 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -2281,14 +2281,12 @@ static void gem_reset_task(struct work_struct *work)
2281 2281
2282 mutex_lock(&gp->pm_mutex); 2282 mutex_lock(&gp->pm_mutex);
2283 2283
2284 napi_disable(&gp->napi); 2284 if (gp->opened)
2285 napi_disable(&gp->napi);
2285 2286
2286 spin_lock_irq(&gp->lock); 2287 spin_lock_irq(&gp->lock);
2287 spin_lock(&gp->tx_lock); 2288 spin_lock(&gp->tx_lock);
2288 2289
2289 if (gp->running == 0)
2290 goto not_running;
2291
2292 if (gp->running) { 2290 if (gp->running) {
2293 netif_stop_queue(gp->dev); 2291 netif_stop_queue(gp->dev);
2294 2292
@@ -2298,13 +2296,14 @@ static void gem_reset_task(struct work_struct *work)
2298 gem_set_link_modes(gp); 2296 gem_set_link_modes(gp);
2299 netif_wake_queue(gp->dev); 2297 netif_wake_queue(gp->dev);
2300 } 2298 }
2301 not_running: 2299
2302 gp->reset_task_pending = 0; 2300 gp->reset_task_pending = 0;
2303 2301
2304 spin_unlock(&gp->tx_lock); 2302 spin_unlock(&gp->tx_lock);
2305 spin_unlock_irq(&gp->lock); 2303 spin_unlock_irq(&gp->lock);
2306 2304
2307 napi_enable(&gp->napi); 2305 if (gp->opened)
2306 napi_enable(&gp->napi);
2308 2307
2309 mutex_unlock(&gp->pm_mutex); 2308 mutex_unlock(&gp->pm_mutex);
2310} 2309}
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index ca90566d5bcd..b4891caeae5a 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -2118,8 +2118,8 @@ static int dmfe_suspend(struct pci_dev *pci_dev, pm_message_t state)
2118 pci_enable_wake(pci_dev, PCI_D3cold, 1); 2118 pci_enable_wake(pci_dev, PCI_D3cold, 1);
2119 2119
2120 /* Power down device*/ 2120 /* Power down device*/
2121 pci_set_power_state(pci_dev, pci_choose_state (pci_dev,state));
2122 pci_save_state(pci_dev); 2121 pci_save_state(pci_dev);
2122 pci_set_power_state(pci_dev, pci_choose_state (pci_dev, state));
2123 2123
2124 return 0; 2124 return 0;
2125} 2125}
@@ -2129,8 +2129,8 @@ static int dmfe_resume(struct pci_dev *pci_dev)
2129 struct net_device *dev = pci_get_drvdata(pci_dev); 2129 struct net_device *dev = pci_get_drvdata(pci_dev);
2130 u32 tmp; 2130 u32 tmp;
2131 2131
2132 pci_restore_state(pci_dev);
2133 pci_set_power_state(pci_dev, PCI_D0); 2132 pci_set_power_state(pci_dev, PCI_D0);
2133 pci_restore_state(pci_dev);
2134 2134
2135 /* Re-initilize DM910X board */ 2135 /* Re-initilize DM910X board */
2136 dmfe_init_dm910x(dev); 2136 dmfe_init_dm910x(dev);
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index a3ff270593f1..7f689907ac28 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -1460,6 +1460,8 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
1460 if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) || 1460 if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) ||
1461 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) || 1461 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) ||
1462 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) || 1462 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) ||
1463 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
1464 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID) ||
1463 (ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) { 1465 (ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) {
1464 upsmr |= UPSMR_RPM; 1466 upsmr |= UPSMR_RPM;
1465 switch (ugeth->max_speed) { 1467 switch (ugeth->max_speed) {
@@ -1557,6 +1559,8 @@ static void adjust_link(struct net_device *dev)
1557 if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) || 1559 if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) ||
1558 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) || 1560 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) ||
1559 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) || 1561 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) ||
1562 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
1563 (ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID) ||
1560 (ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) { 1564 (ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) {
1561 if (phydev->speed == SPEED_10) 1565 if (phydev->speed == SPEED_10)
1562 upsmr |= UPSMR_R10M; 1566 upsmr |= UPSMR_R10M;
@@ -3795,6 +3799,10 @@ static phy_interface_t to_phy_interface(const char *phy_connection_type)
3795 return PHY_INTERFACE_MODE_RGMII; 3799 return PHY_INTERFACE_MODE_RGMII;
3796 if (strcasecmp(phy_connection_type, "rgmii-id") == 0) 3800 if (strcasecmp(phy_connection_type, "rgmii-id") == 0)
3797 return PHY_INTERFACE_MODE_RGMII_ID; 3801 return PHY_INTERFACE_MODE_RGMII_ID;
3802 if (strcasecmp(phy_connection_type, "rgmii-txid") == 0)
3803 return PHY_INTERFACE_MODE_RGMII_TXID;
3804 if (strcasecmp(phy_connection_type, "rgmii-rxid") == 0)
3805 return PHY_INTERFACE_MODE_RGMII_RXID;
3798 if (strcasecmp(phy_connection_type, "rtbi") == 0) 3806 if (strcasecmp(phy_connection_type, "rtbi") == 0)
3799 return PHY_INTERFACE_MODE_RTBI; 3807 return PHY_INTERFACE_MODE_RTBI;
3800 3808
@@ -3889,6 +3897,8 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
3889 case PHY_INTERFACE_MODE_GMII: 3897 case PHY_INTERFACE_MODE_GMII:
3890 case PHY_INTERFACE_MODE_RGMII: 3898 case PHY_INTERFACE_MODE_RGMII:
3891 case PHY_INTERFACE_MODE_RGMII_ID: 3899 case PHY_INTERFACE_MODE_RGMII_ID:
3900 case PHY_INTERFACE_MODE_RGMII_RXID:
3901 case PHY_INTERFACE_MODE_RGMII_TXID:
3892 case PHY_INTERFACE_MODE_TBI: 3902 case PHY_INTERFACE_MODE_TBI:
3893 case PHY_INTERFACE_MODE_RTBI: 3903 case PHY_INTERFACE_MODE_RTBI:
3894 max_speed = SPEED_1000; 3904 max_speed = SPEED_1000;
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 2c685734b7a4..1ffdd106f4c4 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -94,7 +94,7 @@ static void dm_write_async_callback(struct urb *urb)
94 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; 94 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context;
95 95
96 if (urb->status < 0) 96 if (urb->status < 0)
97 printk(KERN_DEBUG "dm_write_async_callback() failed with %d", 97 printk(KERN_DEBUG "dm_write_async_callback() failed with %d\n",
98 urb->status); 98 urb->status);
99 99
100 kfree(req); 100 kfree(req);
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 450e29d7a9f3..35cd65d6b9ed 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -1242,6 +1242,9 @@ static int velocity_rx_refill(struct velocity_info *vptr)
1242static int velocity_init_rd_ring(struct velocity_info *vptr) 1242static int velocity_init_rd_ring(struct velocity_info *vptr)
1243{ 1243{
1244 int ret; 1244 int ret;
1245 int mtu = vptr->dev->mtu;
1246
1247 vptr->rx_buf_sz = (mtu <= ETH_DATA_LEN) ? PKT_BUF_SZ : mtu + 32;
1245 1248
1246 vptr->rd_info = kcalloc(vptr->options.numrx, 1249 vptr->rd_info = kcalloc(vptr->options.numrx,
1247 sizeof(struct velocity_rd_info), GFP_KERNEL); 1250 sizeof(struct velocity_rd_info), GFP_KERNEL);
@@ -1898,8 +1901,6 @@ static int velocity_open(struct net_device *dev)
1898 struct velocity_info *vptr = netdev_priv(dev); 1901 struct velocity_info *vptr = netdev_priv(dev);
1899 int ret; 1902 int ret;
1900 1903
1901 vptr->rx_buf_sz = (dev->mtu <= 1504 ? PKT_BUF_SZ : dev->mtu + 32);
1902
1903 ret = velocity_init_rings(vptr); 1904 ret = velocity_init_rings(vptr);
1904 if (ret < 0) 1905 if (ret < 0)
1905 goto out; 1906 goto out;
@@ -1978,12 +1979,6 @@ static int velocity_change_mtu(struct net_device *dev, int new_mtu)
1978 velocity_free_rd_ring(vptr); 1979 velocity_free_rd_ring(vptr);
1979 1980
1980 dev->mtu = new_mtu; 1981 dev->mtu = new_mtu;
1981 if (new_mtu > 8192)
1982 vptr->rx_buf_sz = 9 * 1024;
1983 else if (new_mtu > 4096)
1984 vptr->rx_buf_sz = 8192;
1985 else
1986 vptr->rx_buf_sz = 4 * 1024;
1987 1982
1988 ret = velocity_init_rd_ring(vptr); 1983 ret = velocity_init_rd_ring(vptr);
1989 if (ret < 0) 1984 if (ret < 0)
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 2b17c1dc46f1..b45eecc53c4a 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -1566,7 +1566,7 @@ static void b43_release_firmware(struct b43_wldev *dev)
1566static void b43_print_fw_helptext(struct b43_wl *wl) 1566static void b43_print_fw_helptext(struct b43_wl *wl)
1567{ 1567{
1568 b43err(wl, "You must go to " 1568 b43err(wl, "You must go to "
1569 "http://linuxwireless.org/en/users/Drivers/bcm43xx#devicefirmware " 1569 "http://linuxwireless.org/en/users/Drivers/b43#devicefirmware "
1570 "and download the correct firmware (version 4).\n"); 1570 "and download the correct firmware (version 4).\n");
1571} 1571}
1572 1572
diff --git a/drivers/net/wireless/b43/phy.c b/drivers/net/wireless/b43/phy.c
index 3d4ed647c311..7ff091e69f05 100644
--- a/drivers/net/wireless/b43/phy.c
+++ b/drivers/net/wireless/b43/phy.c
@@ -2214,7 +2214,7 @@ int b43_phy_init_tssi2dbm_table(struct b43_wldev *dev)
2214 } 2214 }
2215 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL); 2215 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL);
2216 if (dyn_tssi2dbm == NULL) { 2216 if (dyn_tssi2dbm == NULL) {
2217 b43err(dev->wl, "Could not allocate memory" 2217 b43err(dev->wl, "Could not allocate memory "
2218 "for tssi2dbm table\n"); 2218 "for tssi2dbm table\n");
2219 return -ENOMEM; 2219 return -ENOMEM;
2220 } 2220 }
diff --git a/drivers/net/wireless/b43legacy/dma.c b/drivers/net/wireless/b43legacy/dma.c
index 8cb3dc4c4745..83161d9af813 100644
--- a/drivers/net/wireless/b43legacy/dma.c
+++ b/drivers/net/wireless/b43legacy/dma.c
@@ -996,7 +996,7 @@ int b43legacy_dma_init(struct b43legacy_wldev *dev)
996 996
997 err = ssb_dma_set_mask(dev->dev, dmamask); 997 err = ssb_dma_set_mask(dev->dev, dmamask);
998 if (err) { 998 if (err) {
999#ifdef BCM43XX_PIO 999#ifdef CONFIG_B43LEGACY_PIO
1000 b43legacywarn(dev->wl, "DMA for this device not supported. " 1000 b43legacywarn(dev->wl, "DMA for this device not supported. "
1001 "Falling back to PIO\n"); 1001 "Falling back to PIO\n");
1002 dev->__using_pio = 1; 1002 dev->__using_pio = 1;
diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c
index 3bde1e9ab428..32d5e1785bda 100644
--- a/drivers/net/wireless/b43legacy/main.c
+++ b/drivers/net/wireless/b43legacy/main.c
@@ -1419,7 +1419,7 @@ static void b43legacy_release_firmware(struct b43legacy_wldev *dev)
1419static void b43legacy_print_fw_helptext(struct b43legacy_wl *wl) 1419static void b43legacy_print_fw_helptext(struct b43legacy_wl *wl)
1420{ 1420{
1421 b43legacyerr(wl, "You must go to http://linuxwireless.org/en/users/" 1421 b43legacyerr(wl, "You must go to http://linuxwireless.org/en/users/"
1422 "Drivers/bcm43xx#devicefirmware " 1422 "Drivers/b43#devicefirmware "
1423 "and download the correct firmware (version 3).\n"); 1423 "and download the correct firmware (version 3).\n");
1424} 1424}
1425 1425
diff --git a/drivers/net/wireless/b43legacy/phy.c b/drivers/net/wireless/b43legacy/phy.c
index 22a4b3d0186d..491e518e4aeb 100644
--- a/drivers/net/wireless/b43legacy/phy.c
+++ b/drivers/net/wireless/b43legacy/phy.c
@@ -2020,7 +2020,7 @@ int b43legacy_phy_init_tssi2dbm_table(struct b43legacy_wldev *dev)
2020 phy->idle_tssi = 62; 2020 phy->idle_tssi = 62;
2021 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL); 2021 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL);
2022 if (dyn_tssi2dbm == NULL) { 2022 if (dyn_tssi2dbm == NULL) {
2023 b43legacyerr(dev->wl, "Could not allocate memory" 2023 b43legacyerr(dev->wl, "Could not allocate memory "
2024 "for tssi2dbm table\n"); 2024 "for tssi2dbm table\n");
2025 return -ENOMEM; 2025 return -ENOMEM;
2026 } 2026 }
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
index b37f1e348700..af3de3343650 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
@@ -2149,7 +2149,7 @@ int bcm43xx_phy_init_tssi2dbm_table(struct bcm43xx_private *bcm)
2149 } 2149 }
2150 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL); 2150 dyn_tssi2dbm = kmalloc(64, GFP_KERNEL);
2151 if (dyn_tssi2dbm == NULL) { 2151 if (dyn_tssi2dbm == NULL) {
2152 printk(KERN_ERR PFX "Could not allocate memory" 2152 printk(KERN_ERR PFX "Could not allocate memory "
2153 "for tssi2dbm table\n"); 2153 "for tssi2dbm table\n");
2154 return -ENOMEM; 2154 return -ENOMEM;
2155 } 2155 }
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 465da4f67ce7..4bdf237f6adc 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -2915,6 +2915,10 @@ static void iwl_set_rate(struct iwl_priv *priv)
2915 int i; 2915 int i;
2916 2916
2917 hw = iwl_get_hw_mode(priv, priv->phymode); 2917 hw = iwl_get_hw_mode(priv, priv->phymode);
2918 if (!hw) {
2919 IWL_ERROR("Failed to set rate: unable to get hw mode\n");
2920 return;
2921 }
2918 2922
2919 priv->active_rate = 0; 2923 priv->active_rate = 0;
2920 priv->active_rate_basic = 0; 2924 priv->active_rate_basic = 0;
@@ -6936,13 +6940,10 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw,
6936 DECLARE_MAC_BUF(mac); 6940 DECLARE_MAC_BUF(mac);
6937 6941
6938 IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type); 6942 IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type);
6939 if (conf->mac_addr)
6940 IWL_DEBUG_MAC80211("enter: MAC %s\n",
6941 print_mac(mac, conf->mac_addr));
6942 6943
6943 if (priv->interface_id) { 6944 if (priv->interface_id) {
6944 IWL_DEBUG_MAC80211("leave - interface_id != 0\n"); 6945 IWL_DEBUG_MAC80211("leave - interface_id != 0\n");
6945 return 0; 6946 return -EOPNOTSUPP;
6946 } 6947 }
6947 6948
6948 spin_lock_irqsave(&priv->lock, flags); 6949 spin_lock_irqsave(&priv->lock, flags);
@@ -6951,6 +6952,12 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw,
6951 spin_unlock_irqrestore(&priv->lock, flags); 6952 spin_unlock_irqrestore(&priv->lock, flags);
6952 6953
6953 mutex_lock(&priv->mutex); 6954 mutex_lock(&priv->mutex);
6955
6956 if (conf->mac_addr) {
6957 IWL_DEBUG_MAC80211("Set: %s\n", print_mac(mac, conf->mac_addr));
6958 memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
6959 }
6960
6954 iwl_set_mode(priv, conf->type); 6961 iwl_set_mode(priv, conf->type);
6955 6962
6956 IWL_DEBUG_MAC80211("leave\n"); 6963 IWL_DEBUG_MAC80211("leave\n");
@@ -8270,6 +8277,7 @@ static void iwl_cancel_deferred_work(struct iwl_priv *priv)
8270{ 8277{
8271 iwl_hw_cancel_deferred_work(priv); 8278 iwl_hw_cancel_deferred_work(priv);
8272 8279
8280 cancel_delayed_work_sync(&priv->init_alive_start);
8273 cancel_delayed_work(&priv->scan_check); 8281 cancel_delayed_work(&priv->scan_check);
8274 cancel_delayed_work(&priv->alive_start); 8282 cancel_delayed_work(&priv->alive_start);
8275 cancel_delayed_work(&priv->post_associate); 8283 cancel_delayed_work(&priv->post_associate);
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 9918780f5e86..8f85564ec6fa 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -3003,6 +3003,10 @@ static void iwl_set_rate(struct iwl_priv *priv)
3003 int i; 3003 int i;
3004 3004
3005 hw = iwl_get_hw_mode(priv, priv->phymode); 3005 hw = iwl_get_hw_mode(priv, priv->phymode);
3006 if (!hw) {
3007 IWL_ERROR("Failed to set rate: unable to get hw mode\n");
3008 return;
3009 }
3006 3010
3007 priv->active_rate = 0; 3011 priv->active_rate = 0;
3008 priv->active_rate_basic = 0; 3012 priv->active_rate_basic = 0;
@@ -7326,9 +7330,6 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw,
7326 DECLARE_MAC_BUF(mac); 7330 DECLARE_MAC_BUF(mac);
7327 7331
7328 IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type); 7332 IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type);
7329 if (conf->mac_addr)
7330 IWL_DEBUG_MAC80211("enter: MAC %s\n",
7331 print_mac(mac, conf->mac_addr));
7332 7333
7333 if (priv->interface_id) { 7334 if (priv->interface_id) {
7334 IWL_DEBUG_MAC80211("leave - interface_id != 0\n"); 7335 IWL_DEBUG_MAC80211("leave - interface_id != 0\n");
@@ -7341,6 +7342,11 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw,
7341 spin_unlock_irqrestore(&priv->lock, flags); 7342 spin_unlock_irqrestore(&priv->lock, flags);
7342 7343
7343 mutex_lock(&priv->mutex); 7344 mutex_lock(&priv->mutex);
7345
7346 if (conf->mac_addr) {
7347 IWL_DEBUG_MAC80211("Set %s\n", print_mac(mac, conf->mac_addr));
7348 memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
7349 }
7344 iwl_set_mode(priv, conf->type); 7350 iwl_set_mode(priv, conf->type);
7345 7351
7346 IWL_DEBUG_MAC80211("leave\n"); 7352 IWL_DEBUG_MAC80211("leave\n");
@@ -8864,6 +8870,7 @@ static void iwl_cancel_deferred_work(struct iwl_priv *priv)
8864{ 8870{
8865 iwl_hw_cancel_deferred_work(priv); 8871 iwl_hw_cancel_deferred_work(priv);
8866 8872
8873 cancel_delayed_work_sync(&priv->init_alive_start);
8867 cancel_delayed_work(&priv->scan_check); 8874 cancel_delayed_work(&priv->scan_check);
8868 cancel_delayed_work(&priv->alive_start); 8875 cancel_delayed_work(&priv->alive_start);
8869 cancel_delayed_work(&priv->post_associate); 8876 cancel_delayed_work(&priv->post_associate);
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index ec89dabc412c..ba4fc2b3bf0a 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -170,7 +170,8 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
170#define IF_CS_H_IC_TX_OVER 0x0001 170#define IF_CS_H_IC_TX_OVER 0x0001
171#define IF_CS_H_IC_RX_OVER 0x0002 171#define IF_CS_H_IC_RX_OVER 0x0002
172#define IF_CS_H_IC_DNLD_OVER 0x0004 172#define IF_CS_H_IC_DNLD_OVER 0x0004
173#define IF_CS_H_IC_HOST_EVENT 0x0008 173#define IF_CS_H_IC_POWER_DOWN 0x0008
174#define IF_CS_H_IC_HOST_EVENT 0x0010
174#define IF_CS_H_IC_MASK 0x001f 175#define IF_CS_H_IC_MASK 0x001f
175 176
176#define IF_CS_H_INT_MASK 0x00000004 177#define IF_CS_H_INT_MASK 0x00000004
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index 5ead08312e1e..1823b48a8ba7 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -1165,8 +1165,6 @@ wlan_private *libertas_add_card(void *card, struct device *dmdev)
1165#ifdef WIRELESS_EXT 1165#ifdef WIRELESS_EXT
1166 dev->wireless_handlers = (struct iw_handler_def *)&libertas_handler_def; 1166 dev->wireless_handlers = (struct iw_handler_def *)&libertas_handler_def;
1167#endif 1167#endif
1168#define NETIF_F_DYNALLOC 16
1169 dev->features |= NETIF_F_DYNALLOC;
1170 dev->flags |= IFF_BROADCAST | IFF_MULTICAST; 1168 dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
1171 dev->set_multicast_list = libertas_set_multicast_list; 1169 dev->set_multicast_list = libertas_set_multicast_list;
1172 1170
@@ -1348,8 +1346,6 @@ int libertas_add_mesh(wlan_private *priv, struct device *dev)
1348#ifdef WIRELESS_EXT 1346#ifdef WIRELESS_EXT
1349 mesh_dev->wireless_handlers = (struct iw_handler_def *)&mesh_handler_def; 1347 mesh_dev->wireless_handlers = (struct iw_handler_def *)&mesh_handler_def;
1350#endif 1348#endif
1351#define NETIF_F_DYNALLOC 16
1352
1353 /* Register virtual mesh interface */ 1349 /* Register virtual mesh interface */
1354 ret = register_netdev(mesh_dev); 1350 ret = register_netdev(mesh_dev);
1355 if (ret) { 1351 if (ret) {
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c
index c6f5aa3cb465..395b7882d4d6 100644
--- a/drivers/net/wireless/libertas/wext.c
+++ b/drivers/net/wireless/libertas/wext.c
@@ -1528,7 +1528,7 @@ static int wlan_set_encodeext(struct net_device *dev,
1528 && (ext->key_len != KEY_LEN_WPA_TKIP)) 1528 && (ext->key_len != KEY_LEN_WPA_TKIP))
1529 || ((alg == IW_ENCODE_ALG_CCMP) 1529 || ((alg == IW_ENCODE_ALG_CCMP)
1530 && (ext->key_len != KEY_LEN_WPA_AES))) { 1530 && (ext->key_len != KEY_LEN_WPA_AES))) {
1531 lbs_deb_wext("invalid size %d for key of alg" 1531 lbs_deb_wext("invalid size %d for key of alg "
1532 "type %d\n", 1532 "type %d\n",
1533 ext->key_len, 1533 ext->key_len,
1534 alg); 1534 alg);
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c
index 2402cb8dd328..d2fa079fbc4c 100644
--- a/drivers/net/wireless/netwave_cs.c
+++ b/drivers/net/wireless/netwave_cs.c
@@ -806,7 +806,7 @@ static int netwave_pcmcia_config(struct pcmcia_device *link) {
806 for (i = 0; i < 6; i++) 806 for (i = 0; i < 6; i++)
807 dev->dev_addr[i] = readb(ramBase + NETWAVE_EREG_PA + i); 807 dev->dev_addr[i] = readb(ramBase + NETWAVE_EREG_PA + i);
808 808
809 printk(KERN_INFO "%s: Netwave: port %#3lx, irq %d, mem %lx" 809 printk(KERN_INFO "%s: Netwave: port %#3lx, irq %d, mem %lx, "
810 "id %c%c, hw_addr %s\n", 810 "id %c%c, hw_addr %s\n",
811 dev->name, dev->base_addr, dev->irq, 811 dev->name, dev->base_addr, dev->irq,
812 (u_long) ramBase, 812 (u_long) ramBase,
diff --git a/drivers/net/wireless/p54usb.c b/drivers/net/wireless/p54usb.c
index 755482a5a938..60d286eb0b8b 100644
--- a/drivers/net/wireless/p54usb.c
+++ b/drivers/net/wireless/p54usb.c
@@ -308,7 +308,7 @@ static int p54u_read_eeprom(struct ieee80211_hw *dev)
308 308
309 buf = kmalloc(0x2020, GFP_KERNEL); 309 buf = kmalloc(0x2020, GFP_KERNEL);
310 if (!buf) { 310 if (!buf) {
311 printk(KERN_ERR "prism54usb: cannot allocate memory for" 311 printk(KERN_ERR "prism54usb: cannot allocate memory for "
312 "eeprom readback!\n"); 312 "eeprom readback!\n");
313 return -ENOMEM; 313 return -ENOMEM;
314 } 314 }
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
index 5eace9e66e14..66ce61048361 100644
--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -768,9 +768,13 @@ lba_fixup_bus(struct pci_bus *bus)
768 DBG("lba_fixup_bus() WTF? 0x%lx [%lx/%lx] XXX", 768 DBG("lba_fixup_bus() WTF? 0x%lx [%lx/%lx] XXX",
769 res->flags, res->start, res->end); 769 res->flags, res->start, res->end);
770 } 770 }
771 if ((i != PCI_ROM_RESOURCE) || 771
772 (res->flags & IORESOURCE_ROM_ENABLE)) 772 /*
773 pci_claim_resource(dev, i); 773 ** FIXME: this will result in whinging for devices
774 ** that share expansion ROMs (think quad tulip), but
775 ** isn't harmful.
776 */
777 pci_claim_resource(dev, i);
774 } 778 }
775 779
776#ifdef FBB_SUPPORT 780#ifdef FBB_SUPPORT
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
index a4f56e95cf96..f1e00ff54ce8 100644
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
@@ -293,7 +293,7 @@ int rtc_irq_register(struct rtc_device *rtc, struct rtc_task *task)
293 return -EINVAL; 293 return -EINVAL;
294 294
295 /* Cannot register while the char dev is in use */ 295 /* Cannot register while the char dev is in use */
296 if (test_and_set_bit(RTC_DEV_BUSY, &rtc->flags)) 296 if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags))
297 return -EBUSY; 297 return -EBUSY;
298 298
299 spin_lock_irq(&rtc->irq_task_lock); 299 spin_lock_irq(&rtc->irq_task_lock);
@@ -303,7 +303,7 @@ int rtc_irq_register(struct rtc_device *rtc, struct rtc_task *task)
303 } 303 }
304 spin_unlock_irq(&rtc->irq_task_lock); 304 spin_unlock_irq(&rtc->irq_task_lock);
305 305
306 clear_bit(RTC_DEV_BUSY, &rtc->flags); 306 clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
307 307
308 return retval; 308 return retval;
309} 309}
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index ae1bf177d625..025c60a17a4a 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -26,7 +26,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file)
26 struct rtc_device, char_dev); 26 struct rtc_device, char_dev);
27 const struct rtc_class_ops *ops = rtc->ops; 27 const struct rtc_class_ops *ops = rtc->ops;
28 28
29 if (test_and_set_bit(RTC_DEV_BUSY, &rtc->flags)) 29 if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags))
30 return -EBUSY; 30 return -EBUSY;
31 31
32 file->private_data = rtc; 32 file->private_data = rtc;
@@ -41,7 +41,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file)
41 } 41 }
42 42
43 /* something has gone wrong */ 43 /* something has gone wrong */
44 clear_bit(RTC_DEV_BUSY, &rtc->flags); 44 clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
45 return err; 45 return err;
46} 46}
47 47
@@ -402,7 +402,7 @@ static int rtc_dev_release(struct inode *inode, struct file *file)
402 if (rtc->ops->release) 402 if (rtc->ops->release)
403 rtc->ops->release(rtc->dev.parent); 403 rtc->ops->release(rtc->dev.parent);
404 404
405 clear_bit(RTC_DEV_BUSY, &rtc->flags); 405 clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
406 return 0; 406 return 0;
407} 407}
408 408
diff --git a/drivers/rtc/rtc-max6902.c b/drivers/rtc/rtc-max6902.c
index 3e183cfee10f..1f956dc5d56e 100644
--- a/drivers/rtc/rtc-max6902.c
+++ b/drivers/rtc/rtc-max6902.c
@@ -89,13 +89,9 @@ static int max6902_get_reg(struct device *dev, unsigned char address,
89 89
90 /* do the i/o */ 90 /* do the i/o */
91 status = spi_sync(spi, &message); 91 status = spi_sync(spi, &message);
92 if (status == 0)
93 status = message.status;
94 else
95 return status;
96
97 *data = chip->rx_buf[1];
98 92
93 if (status == 0)
94 *data = chip->rx_buf[1];
99 return status; 95 return status;
100} 96}
101 97
@@ -125,9 +121,7 @@ static int max6902_get_datetime(struct device *dev, struct rtc_time *dt)
125 121
126 /* do the i/o */ 122 /* do the i/o */
127 status = spi_sync(spi, &message); 123 status = spi_sync(spi, &message);
128 if (status == 0) 124 if (status)
129 status = message.status;
130 else
131 return status; 125 return status;
132 126
133 /* The chip sends data in this order: 127 /* The chip sends data in this order:
diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
index 5e083d1f57e7..15a5789b7734 100644
--- a/drivers/s390/block/dcssblk.c
+++ b/drivers/s390/block/dcssblk.c
@@ -472,11 +472,11 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char
472 if (rc) 472 if (rc)
473 goto unregister_dev; 473 goto unregister_dev;
474 474
475 add_disk(dev_info->gd);
476
477 blk_queue_make_request(dev_info->dcssblk_queue, dcssblk_make_request); 475 blk_queue_make_request(dev_info->dcssblk_queue, dcssblk_make_request);
478 blk_queue_hardsect_size(dev_info->dcssblk_queue, 4096); 476 blk_queue_hardsect_size(dev_info->dcssblk_queue, 4096);
479 477
478 add_disk(dev_info->gd);
479
480 switch (dev_info->segment_type) { 480 switch (dev_info->segment_type) {
481 case SEG_TYPE_SR: 481 case SEG_TYPE_SR:
482 case SEG_TYPE_ER: 482 case SEG_TYPE_ER:
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 6db31089d2d7..c3df2cd009a4 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -451,6 +451,7 @@ static int reprobe_subchannel(struct subchannel_id schid, void *data)
451 break; 451 break;
452 case -ENXIO: 452 case -ENXIO:
453 case -ENOMEM: 453 case -ENOMEM:
454 case -EIO:
454 /* These should abort looping */ 455 /* These should abort looping */
455 break; 456 break;
456 default: 457 default:
diff --git a/drivers/s390/cio/device_id.c b/drivers/s390/cio/device_id.c
index 2f6bf462425e..156f3f9786b5 100644
--- a/drivers/s390/cio/device_id.c
+++ b/drivers/s390/cio/device_id.c
@@ -113,6 +113,7 @@ __ccw_device_sense_id_start(struct ccw_device *cdev)
113{ 113{
114 struct subchannel *sch; 114 struct subchannel *sch;
115 struct ccw1 *ccw; 115 struct ccw1 *ccw;
116 int ret;
116 117
117 sch = to_subchannel(cdev->dev.parent); 118 sch = to_subchannel(cdev->dev.parent);
118 /* Setup sense channel program. */ 119 /* Setup sense channel program. */
@@ -124,9 +125,25 @@ __ccw_device_sense_id_start(struct ccw_device *cdev)
124 125
125 /* Reset device status. */ 126 /* Reset device status. */
126 memset(&cdev->private->irb, 0, sizeof(struct irb)); 127 memset(&cdev->private->irb, 0, sizeof(struct irb));
127 cdev->private->flags.intretry = 0;
128 128
129 return cio_start(sch, ccw, LPM_ANYPATH); 129 /* Try on every path. */
130 ret = -ENODEV;
131 while (cdev->private->imask != 0) {
132 if ((sch->opm & cdev->private->imask) != 0 &&
133 cdev->private->iretry > 0) {
134 cdev->private->iretry--;
135 /* Reset internal retry indication. */
136 cdev->private->flags.intretry = 0;
137 ret = cio_start (sch, cdev->private->iccws,
138 cdev->private->imask);
139 /* ret is 0, -EBUSY, -EACCES or -ENODEV */
140 if (ret != -EACCES)
141 return ret;
142 }
143 cdev->private->imask >>= 1;
144 cdev->private->iretry = 5;
145 }
146 return ret;
130} 147}
131 148
132void 149void
@@ -136,7 +153,8 @@ ccw_device_sense_id_start(struct ccw_device *cdev)
136 153
137 memset (&cdev->private->senseid, 0, sizeof (struct senseid)); 154 memset (&cdev->private->senseid, 0, sizeof (struct senseid));
138 cdev->private->senseid.cu_type = 0xFFFF; 155 cdev->private->senseid.cu_type = 0xFFFF;
139 cdev->private->iretry = 3; 156 cdev->private->imask = 0x80;
157 cdev->private->iretry = 5;
140 ret = __ccw_device_sense_id_start(cdev); 158 ret = __ccw_device_sense_id_start(cdev);
141 if (ret && ret != -EBUSY) 159 if (ret && ret != -EBUSY)
142 ccw_device_sense_id_done(cdev, ret); 160 ccw_device_sense_id_done(cdev, ret);
@@ -252,13 +270,14 @@ ccw_device_sense_id_irq(struct ccw_device *cdev, enum dev_event dev_event)
252 ccw_device_sense_id_done(cdev, ret); 270 ccw_device_sense_id_done(cdev, ret);
253 break; 271 break;
254 case -EACCES: /* channel is not operational. */ 272 case -EACCES: /* channel is not operational. */
273 sch->lpm &= ~cdev->private->imask;
274 cdev->private->imask >>= 1;
275 cdev->private->iretry = 5;
276 /* fall through. */
255 case -EAGAIN: /* try again. */ 277 case -EAGAIN: /* try again. */
256 cdev->private->iretry--; 278 ret = __ccw_device_sense_id_start(cdev);
257 if (cdev->private->iretry > 0) { 279 if (ret == 0 || ret == -EBUSY)
258 ret = __ccw_device_sense_id_start(cdev); 280 break;
259 if (ret == 0 || ret == -EBUSY)
260 break;
261 }
262 /* fall through. */ 281 /* fall through. */
263 default: /* Sense ID failed. Try asking VM. */ 282 default: /* Sense ID failed. Try asking VM. */
264 if (MACHINE_IS_VM) { 283 if (MACHINE_IS_VM) {
diff --git a/drivers/s390/net/ctcmain.c b/drivers/s390/net/ctcmain.c
index 6bf3ebbe985a..97adc701a819 100644
--- a/drivers/s390/net/ctcmain.c
+++ b/drivers/s390/net/ctcmain.c
@@ -2782,35 +2782,14 @@ ctc_probe_device(struct ccwgroup_device *cgdev)
2782} 2782}
2783 2783
2784/** 2784/**
2785 * Initialize everything of the net device except the name and the 2785 * Device setup function called by alloc_netdev().
2786 * channel structs. 2786 *
2787 * @param dev Device to be setup.
2787 */ 2788 */
2788static struct net_device * 2789void ctc_init_netdevice(struct net_device * dev)
2789ctc_init_netdevice(struct net_device * dev, int alloc_device,
2790 struct ctc_priv *privptr)
2791{ 2790{
2792 if (!privptr)
2793 return NULL;
2794
2795 DBF_TEXT(setup, 3, __FUNCTION__); 2791 DBF_TEXT(setup, 3, __FUNCTION__);
2796 2792
2797 if (alloc_device) {
2798 dev = kzalloc(sizeof(struct net_device), GFP_KERNEL);
2799 if (!dev)
2800 return NULL;
2801 }
2802
2803 dev->priv = privptr;
2804 privptr->fsm = init_fsm("ctcdev", dev_state_names,
2805 dev_event_names, CTC_NR_DEV_STATES, CTC_NR_DEV_EVENTS,
2806 dev_fsm, DEV_FSM_LEN, GFP_KERNEL);
2807 if (privptr->fsm == NULL) {
2808 if (alloc_device)
2809 kfree(dev);
2810 return NULL;
2811 }
2812 fsm_newstate(privptr->fsm, DEV_STATE_STOPPED);
2813 fsm_settimer(privptr->fsm, &privptr->restart_timer);
2814 if (dev->mtu == 0) 2793 if (dev->mtu == 0)
2815 dev->mtu = CTC_BUFSIZE_DEFAULT - LL_HEADER_LENGTH - 2; 2794 dev->mtu = CTC_BUFSIZE_DEFAULT - LL_HEADER_LENGTH - 2;
2816 dev->hard_start_xmit = ctc_tx; 2795 dev->hard_start_xmit = ctc_tx;
@@ -2823,7 +2802,6 @@ ctc_init_netdevice(struct net_device * dev, int alloc_device,
2823 dev->type = ARPHRD_SLIP; 2802 dev->type = ARPHRD_SLIP;
2824 dev->tx_queue_len = 100; 2803 dev->tx_queue_len = 100;
2825 dev->flags = IFF_POINTOPOINT | IFF_NOARP; 2804 dev->flags = IFF_POINTOPOINT | IFF_NOARP;
2826 return dev;
2827} 2805}
2828 2806
2829 2807
@@ -2879,14 +2857,22 @@ ctc_new_device(struct ccwgroup_device *cgdev)
2879 "ccw_device_set_online (cdev[1]) failed with ret = %d\n", ret); 2857 "ccw_device_set_online (cdev[1]) failed with ret = %d\n", ret);
2880 } 2858 }
2881 2859
2882 dev = ctc_init_netdevice(NULL, 1, privptr); 2860 dev = alloc_netdev(0, "ctc%d", ctc_init_netdevice);
2883
2884 if (!dev) { 2861 if (!dev) {
2885 ctc_pr_warn("ctc_init_netdevice failed\n"); 2862 ctc_pr_warn("ctc_init_netdevice failed\n");
2886 goto out; 2863 goto out;
2887 } 2864 }
2865 dev->priv = privptr;
2888 2866
2889 strlcpy(dev->name, "ctc%d", IFNAMSIZ); 2867 privptr->fsm = init_fsm("ctcdev", dev_state_names,
2868 dev_event_names, CTC_NR_DEV_STATES, CTC_NR_DEV_EVENTS,
2869 dev_fsm, DEV_FSM_LEN, GFP_KERNEL);
2870 if (privptr->fsm == NULL) {
2871 free_netdev(dev);
2872 goto out;
2873 }
2874 fsm_newstate(privptr->fsm, DEV_STATE_STOPPED);
2875 fsm_settimer(privptr->fsm, &privptr->restart_timer);
2890 2876
2891 for (direction = READ; direction <= WRITE; direction++) { 2877 for (direction = READ; direction <= WRITE; direction++) {
2892 privptr->channel[direction] = 2878 privptr->channel[direction] =
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 5552b755c08a..07fa824d179f 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -977,7 +977,9 @@ static void zfcp_erp_action_dismiss(struct zfcp_erp_action *erp_action)
977 debug_text_event(adapter->erp_dbf, 2, "a_adis"); 977 debug_text_event(adapter->erp_dbf, 2, "a_adis");
978 debug_event(adapter->erp_dbf, 2, &erp_action->action, sizeof (int)); 978 debug_event(adapter->erp_dbf, 2, &erp_action->action, sizeof (int));
979 979
980 zfcp_erp_async_handler_nolock(erp_action, ZFCP_STATUS_ERP_DISMISSED); 980 erp_action->status |= ZFCP_STATUS_ERP_DISMISSED;
981 if (zfcp_erp_action_exists(erp_action) == ZFCP_ERP_ACTION_RUNNING)
982 zfcp_erp_action_ready(erp_action);
981} 983}
982 984
983int 985int
@@ -1063,7 +1065,7 @@ zfcp_erp_thread(void *data)
1063 &adapter->status)) { 1065 &adapter->status)) {
1064 1066
1065 write_lock_irqsave(&adapter->erp_lock, flags); 1067 write_lock_irqsave(&adapter->erp_lock, flags);
1066 next = adapter->erp_ready_head.prev; 1068 next = adapter->erp_ready_head.next;
1067 write_unlock_irqrestore(&adapter->erp_lock, flags); 1069 write_unlock_irqrestore(&adapter->erp_lock, flags);
1068 1070
1069 if (next != &adapter->erp_ready_head) { 1071 if (next != &adapter->erp_ready_head) {
@@ -1153,15 +1155,13 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
1153 1155
1154 /* 1156 /*
1155 * check for dismissed status again to avoid follow-up actions, 1157 * check for dismissed status again to avoid follow-up actions,
1156 * failing of targets and so on for dismissed actions 1158 * failing of targets and so on for dismissed actions,
1159 * we go through down() here because there has been an up()
1157 */ 1160 */
1158 retval = zfcp_erp_strategy_check_action(erp_action, retval); 1161 if (erp_action->status & ZFCP_STATUS_ERP_DISMISSED)
1162 retval = ZFCP_ERP_CONTINUES;
1159 1163
1160 switch (retval) { 1164 switch (retval) {
1161 case ZFCP_ERP_DISMISSED:
1162 /* leave since this action has ridden to its ancestors */
1163 debug_text_event(adapter->erp_dbf, 6, "a_st_dis2");
1164 goto unlock;
1165 case ZFCP_ERP_NOMEM: 1165 case ZFCP_ERP_NOMEM:
1166 /* no memory to continue immediately, let it sleep */ 1166 /* no memory to continue immediately, let it sleep */
1167 if (!(erp_action->status & ZFCP_STATUS_ERP_LOWMEM)) { 1167 if (!(erp_action->status & ZFCP_STATUS_ERP_LOWMEM)) {
@@ -3089,7 +3089,7 @@ zfcp_erp_action_enqueue(int action,
3089 ++adapter->erp_total_count; 3089 ++adapter->erp_total_count;
3090 3090
3091 /* finally put it into 'ready' queue and kick erp thread */ 3091 /* finally put it into 'ready' queue and kick erp thread */
3092 list_add(&erp_action->list, &adapter->erp_ready_head); 3092 list_add_tail(&erp_action->list, &adapter->erp_ready_head);
3093 up(&adapter->erp_ready_sem); 3093 up(&adapter->erp_ready_sem);
3094 retval = 0; 3094 retval = 0;
3095 out: 3095 out:
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index 240a0bb8986f..abce48ccc85b 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -1339,10 +1339,10 @@ int aac_check_health(struct aac_dev * aac)
1339 aif = (struct aac_aifcmd *)hw_fib->data; 1339 aif = (struct aac_aifcmd *)hw_fib->data;
1340 aif->command = cpu_to_le32(AifCmdEventNotify); 1340 aif->command = cpu_to_le32(AifCmdEventNotify);
1341 aif->seqnum = cpu_to_le32(0xFFFFFFFF); 1341 aif->seqnum = cpu_to_le32(0xFFFFFFFF);
1342 aif->data[0] = cpu_to_le32(AifEnExpEvent); 1342 aif->data[0] = AifEnExpEvent;
1343 aif->data[1] = cpu_to_le32(AifExeFirmwarePanic); 1343 aif->data[1] = AifExeFirmwarePanic;
1344 aif->data[2] = cpu_to_le32(AifHighPriority); 1344 aif->data[2] = AifHighPriority;
1345 aif->data[3] = cpu_to_le32(BlinkLED); 1345 aif->data[3] = BlinkLED;
1346 1346
1347 /* 1347 /*
1348 * Put the FIB onto the 1348 * Put the FIB onto the
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 038980be763d..9dd331bc29b0 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -636,7 +636,7 @@ static int aac_cfg_open(struct inode *inode, struct file *file)
636static int aac_cfg_ioctl(struct inode *inode, struct file *file, 636static int aac_cfg_ioctl(struct inode *inode, struct file *file,
637 unsigned int cmd, unsigned long arg) 637 unsigned int cmd, unsigned long arg)
638{ 638{
639 if (!capable(CAP_SYS_ADMIN)) 639 if (!capable(CAP_SYS_RAWIO))
640 return -EPERM; 640 return -EPERM;
641 return aac_do_ioctl(file->private_data, cmd, (void __user *)arg); 641 return aac_do_ioctl(file->private_data, cmd, (void __user *)arg);
642} 642}
@@ -691,7 +691,7 @@ static int aac_compat_ioctl(struct scsi_device *sdev, int cmd, void __user *arg)
691 691
692static long aac_compat_cfg_ioctl(struct file *file, unsigned cmd, unsigned long arg) 692static long aac_compat_cfg_ioctl(struct file *file, unsigned cmd, unsigned long arg)
693{ 693{
694 if (!capable(CAP_SYS_ADMIN)) 694 if (!capable(CAP_SYS_RAWIO))
695 return -EPERM; 695 return -EPERM;
696 return aac_compat_do_ioctl((struct aac_dev *)file->private_data, cmd, arg); 696 return aac_compat_do_ioctl((struct aac_dev *)file->private_data, cmd, arg);
697} 697}
@@ -950,7 +950,8 @@ static struct scsi_host_template aac_driver_template = {
950 950
951static void __aac_shutdown(struct aac_dev * aac) 951static void __aac_shutdown(struct aac_dev * aac)
952{ 952{
953 kthread_stop(aac->thread); 953 if (aac->aif_thread)
954 kthread_stop(aac->thread);
954 aac_send_shutdown(aac); 955 aac_send_shutdown(aac);
955 aac_adapter_disable_int(aac); 956 aac_adapter_disable_int(aac);
956 free_irq(aac->pdev->irq, aac); 957 free_irq(aac->pdev->irq, aac);
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index 6f8403b82ba1..f5732d8f67fe 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -393,7 +393,7 @@ static irqreturn_t scsi_tt_intr(int irq, void *dummy)
393 393
394#endif /* REAL_DMA */ 394#endif /* REAL_DMA */
395 395
396 NCR5380_intr(0, 0); 396 NCR5380_intr(irq, dummy);
397 397
398#if 0 398#if 0
399 /* To be sure the int is not masked */ 399 /* To be sure the int is not masked */
@@ -458,7 +458,7 @@ static irqreturn_t scsi_falcon_intr(int irq, void *dummy)
458 458
459#endif /* REAL_DMA */ 459#endif /* REAL_DMA */
460 460
461 NCR5380_intr(0, 0); 461 NCR5380_intr(irq, dummy);
462 return IRQ_HANDLED; 462 return IRQ_HANDLED;
463} 463}
464 464
@@ -684,7 +684,7 @@ int atari_scsi_detect(struct scsi_host_template *host)
684 * interrupt after having cleared the pending flag for the DMA 684 * interrupt after having cleared the pending flag for the DMA
685 * interrupt. */ 685 * interrupt. */
686 if (request_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr, IRQ_TYPE_SLOW, 686 if (request_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr, IRQ_TYPE_SLOW,
687 "SCSI NCR5380", scsi_tt_intr)) { 687 "SCSI NCR5380", instance)) {
688 printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting",IRQ_TT_MFP_SCSI); 688 printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting",IRQ_TT_MFP_SCSI);
689 scsi_unregister(atari_scsi_host); 689 scsi_unregister(atari_scsi_host);
690 atari_stram_free(atari_dma_buffer); 690 atari_stram_free(atari_dma_buffer);
@@ -701,7 +701,7 @@ int atari_scsi_detect(struct scsi_host_template *host)
701 IRQ_TYPE_PRIO, "Hades DMA emulator", 701 IRQ_TYPE_PRIO, "Hades DMA emulator",
702 hades_dma_emulator)) { 702 hades_dma_emulator)) {
703 printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting (MACH_IS_HADES)",IRQ_AUTO_2); 703 printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting (MACH_IS_HADES)",IRQ_AUTO_2);
704 free_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr); 704 free_irq(IRQ_TT_MFP_SCSI, instance);
705 scsi_unregister(atari_scsi_host); 705 scsi_unregister(atari_scsi_host);
706 atari_stram_free(atari_dma_buffer); 706 atari_stram_free(atari_dma_buffer);
707 atari_dma_buffer = 0; 707 atari_dma_buffer = 0;
@@ -761,7 +761,7 @@ int atari_scsi_detect(struct scsi_host_template *host)
761int atari_scsi_release(struct Scsi_Host *sh) 761int atari_scsi_release(struct Scsi_Host *sh)
762{ 762{
763 if (IS_A_TT()) 763 if (IS_A_TT())
764 free_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr); 764 free_irq(IRQ_TT_MFP_SCSI, sh);
765 if (atari_dma_buffer) 765 if (atari_dma_buffer)
766 atari_stram_free(atari_dma_buffer); 766 atari_stram_free(atari_dma_buffer);
767 return 1; 767 return 1;
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index 2596165096d3..c2677ba29c74 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -277,7 +277,8 @@ found:
277 /* With interrupts enabled, it will sometimes hang when doing heavy 277 /* With interrupts enabled, it will sometimes hang when doing heavy
278 * reads. So better not enable them until I finger it out. */ 278 * reads. So better not enable them until I finger it out. */
279 if (instance->irq != SCSI_IRQ_NONE) 279 if (instance->irq != SCSI_IRQ_NONE)
280 if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED, "dtc", instance)) { 280 if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED,
281 "dtc", instance)) {
281 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 282 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
282 instance->irq = SCSI_IRQ_NONE; 283 instance->irq = SCSI_IRQ_NONE;
283 } 284 }
@@ -459,7 +460,7 @@ static int dtc_release(struct Scsi_Host *shost)
459 NCR5380_local_declare(); 460 NCR5380_local_declare();
460 NCR5380_setup(shost); 461 NCR5380_setup(shost);
461 if (shost->irq) 462 if (shost->irq)
462 free_irq(shost->irq, NULL); 463 free_irq(shost->irq, shost);
463 NCR5380_exit(shost); 464 NCR5380_exit(shost);
464 if (shost->io_port && shost->n_io_port) 465 if (shost->io_port && shost->n_io_port)
465 release_region(shost->io_port, shost->n_io_port); 466 release_region(shost->io_port, shost->n_io_port);
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 607336f56d55..75585a52c88b 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -460,7 +460,8 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
460 instance->irq = NCR5380_probe_irq(instance, 0xffff); 460 instance->irq = NCR5380_probe_irq(instance, 0xffff);
461 461
462 if (instance->irq != SCSI_IRQ_NONE) 462 if (instance->irq != SCSI_IRQ_NONE)
463 if (request_irq(instance->irq, generic_NCR5380_intr, IRQF_DISABLED, "NCR5380", instance)) { 463 if (request_irq(instance->irq, generic_NCR5380_intr,
464 IRQF_DISABLED, "NCR5380", instance)) {
464 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 465 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
465 instance->irq = SCSI_IRQ_NONE; 466 instance->irq = SCSI_IRQ_NONE;
466 } 467 }
@@ -513,7 +514,7 @@ int generic_NCR5380_release_resources(struct Scsi_Host *instance)
513 NCR5380_setup(instance); 514 NCR5380_setup(instance);
514 515
515 if (instance->irq != SCSI_IRQ_NONE) 516 if (instance->irq != SCSI_IRQ_NONE)
516 free_irq(instance->irq, NULL); 517 free_irq(instance->irq, instance);
517 NCR5380_exit(instance); 518 NCR5380_exit(instance);
518 519
519#ifndef CONFIG_SCSI_G_NCR5380_MEM 520#ifndef CONFIG_SCSI_G_NCR5380_MEM
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 4bcf916c21a7..57ce2251abc8 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -197,7 +197,7 @@ iscsi_tcp_cleanup_ctask(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
197 if (unlikely(!sc)) 197 if (unlikely(!sc))
198 return; 198 return;
199 199
200 tcp_ctask->xmstate = XMSTATE_IDLE; 200 tcp_ctask->xmstate = XMSTATE_VALUE_IDLE;
201 tcp_ctask->r2t = NULL; 201 tcp_ctask->r2t = NULL;
202} 202}
203 203
@@ -409,7 +409,7 @@ iscsi_r2t_rsp(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
409 409
410 tcp_ctask->exp_datasn = r2tsn + 1; 410 tcp_ctask->exp_datasn = r2tsn + 1;
411 __kfifo_put(tcp_ctask->r2tqueue, (void*)&r2t, sizeof(void*)); 411 __kfifo_put(tcp_ctask->r2tqueue, (void*)&r2t, sizeof(void*));
412 tcp_ctask->xmstate |= XMSTATE_SOL_HDR_INIT; 412 set_bit(XMSTATE_BIT_SOL_HDR_INIT, &tcp_ctask->xmstate);
413 list_move_tail(&ctask->running, &conn->xmitqueue); 413 list_move_tail(&ctask->running, &conn->xmitqueue);
414 414
415 scsi_queue_work(session->host, &conn->xmitwork); 415 scsi_queue_work(session->host, &conn->xmitwork);
@@ -1254,7 +1254,7 @@ static void iscsi_set_padding(struct iscsi_tcp_cmd_task *tcp_ctask,
1254 1254
1255 tcp_ctask->pad_count = ISCSI_PAD_LEN - tcp_ctask->pad_count; 1255 tcp_ctask->pad_count = ISCSI_PAD_LEN - tcp_ctask->pad_count;
1256 debug_scsi("write padding %d bytes\n", tcp_ctask->pad_count); 1256 debug_scsi("write padding %d bytes\n", tcp_ctask->pad_count);
1257 tcp_ctask->xmstate |= XMSTATE_W_PAD; 1257 set_bit(XMSTATE_BIT_W_PAD, &tcp_ctask->xmstate);
1258} 1258}
1259 1259
1260/** 1260/**
@@ -1269,7 +1269,7 @@ iscsi_tcp_cmd_init(struct iscsi_cmd_task *ctask)
1269 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data; 1269 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data;
1270 1270
1271 BUG_ON(__kfifo_len(tcp_ctask->r2tqueue)); 1271 BUG_ON(__kfifo_len(tcp_ctask->r2tqueue));
1272 tcp_ctask->xmstate = XMSTATE_CMD_HDR_INIT; 1272 tcp_ctask->xmstate = 1 << XMSTATE_BIT_CMD_HDR_INIT;
1273} 1273}
1274 1274
1275/** 1275/**
@@ -1283,10 +1283,10 @@ iscsi_tcp_cmd_init(struct iscsi_cmd_task *ctask)
1283 * xmit. 1283 * xmit.
1284 * 1284 *
1285 * Management xmit state machine consists of these states: 1285 * Management xmit state machine consists of these states:
1286 * XMSTATE_IMM_HDR_INIT - calculate digest of PDU Header 1286 * XMSTATE_BIT_IMM_HDR_INIT - calculate digest of PDU Header
1287 * XMSTATE_IMM_HDR - PDU Header xmit in progress 1287 * XMSTATE_BIT_IMM_HDR - PDU Header xmit in progress
1288 * XMSTATE_IMM_DATA - PDU Data xmit in progress 1288 * XMSTATE_BIT_IMM_DATA - PDU Data xmit in progress
1289 * XMSTATE_IDLE - management PDU is done 1289 * XMSTATE_VALUE_IDLE - management PDU is done
1290 **/ 1290 **/
1291static int 1291static int
1292iscsi_tcp_mtask_xmit(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask) 1292iscsi_tcp_mtask_xmit(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask)
@@ -1297,12 +1297,12 @@ iscsi_tcp_mtask_xmit(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask)
1297 debug_scsi("mtask deq [cid %d state %x itt 0x%x]\n", 1297 debug_scsi("mtask deq [cid %d state %x itt 0x%x]\n",
1298 conn->id, tcp_mtask->xmstate, mtask->itt); 1298 conn->id, tcp_mtask->xmstate, mtask->itt);
1299 1299
1300 if (tcp_mtask->xmstate & XMSTATE_IMM_HDR_INIT) { 1300 if (test_bit(XMSTATE_BIT_IMM_HDR_INIT, &tcp_mtask->xmstate)) {
1301 iscsi_buf_init_iov(&tcp_mtask->headbuf, (char*)mtask->hdr, 1301 iscsi_buf_init_iov(&tcp_mtask->headbuf, (char*)mtask->hdr,
1302 sizeof(struct iscsi_hdr)); 1302 sizeof(struct iscsi_hdr));
1303 1303
1304 if (mtask->data_count) { 1304 if (mtask->data_count) {
1305 tcp_mtask->xmstate |= XMSTATE_IMM_DATA; 1305 set_bit(XMSTATE_BIT_IMM_DATA, &tcp_mtask->xmstate);
1306 iscsi_buf_init_iov(&tcp_mtask->sendbuf, 1306 iscsi_buf_init_iov(&tcp_mtask->sendbuf,
1307 (char*)mtask->data, 1307 (char*)mtask->data,
1308 mtask->data_count); 1308 mtask->data_count);
@@ -1315,21 +1315,20 @@ iscsi_tcp_mtask_xmit(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask)
1315 (u8*)tcp_mtask->hdrext); 1315 (u8*)tcp_mtask->hdrext);
1316 1316
1317 tcp_mtask->sent = 0; 1317 tcp_mtask->sent = 0;
1318 tcp_mtask->xmstate &= ~XMSTATE_IMM_HDR_INIT; 1318 clear_bit(XMSTATE_BIT_IMM_HDR_INIT, &tcp_mtask->xmstate);
1319 tcp_mtask->xmstate |= XMSTATE_IMM_HDR; 1319 set_bit(XMSTATE_BIT_IMM_HDR, &tcp_mtask->xmstate);
1320 } 1320 }
1321 1321
1322 if (tcp_mtask->xmstate & XMSTATE_IMM_HDR) { 1322 if (test_bit(XMSTATE_BIT_IMM_HDR, &tcp_mtask->xmstate)) {
1323 rc = iscsi_sendhdr(conn, &tcp_mtask->headbuf, 1323 rc = iscsi_sendhdr(conn, &tcp_mtask->headbuf,
1324 mtask->data_count); 1324 mtask->data_count);
1325 if (rc) 1325 if (rc)
1326 return rc; 1326 return rc;
1327 tcp_mtask->xmstate &= ~XMSTATE_IMM_HDR; 1327 clear_bit(XMSTATE_BIT_IMM_HDR, &tcp_mtask->xmstate);
1328 } 1328 }
1329 1329
1330 if (tcp_mtask->xmstate & XMSTATE_IMM_DATA) { 1330 if (test_and_clear_bit(XMSTATE_BIT_IMM_DATA, &tcp_mtask->xmstate)) {
1331 BUG_ON(!mtask->data_count); 1331 BUG_ON(!mtask->data_count);
1332 tcp_mtask->xmstate &= ~XMSTATE_IMM_DATA;
1333 /* FIXME: implement. 1332 /* FIXME: implement.
1334 * Virtual buffer could be spreaded across multiple pages... 1333 * Virtual buffer could be spreaded across multiple pages...
1335 */ 1334 */
@@ -1339,13 +1338,13 @@ iscsi_tcp_mtask_xmit(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask)
1339 rc = iscsi_sendpage(conn, &tcp_mtask->sendbuf, 1338 rc = iscsi_sendpage(conn, &tcp_mtask->sendbuf,
1340 &mtask->data_count, &tcp_mtask->sent); 1339 &mtask->data_count, &tcp_mtask->sent);
1341 if (rc) { 1340 if (rc) {
1342 tcp_mtask->xmstate |= XMSTATE_IMM_DATA; 1341 set_bit(XMSTATE_BIT_IMM_DATA, &tcp_mtask->xmstate);
1343 return rc; 1342 return rc;
1344 } 1343 }
1345 } while (mtask->data_count); 1344 } while (mtask->data_count);
1346 } 1345 }
1347 1346
1348 BUG_ON(tcp_mtask->xmstate != XMSTATE_IDLE); 1347 BUG_ON(tcp_mtask->xmstate != XMSTATE_VALUE_IDLE);
1349 if (mtask->hdr->itt == RESERVED_ITT) { 1348 if (mtask->hdr->itt == RESERVED_ITT) {
1350 struct iscsi_session *session = conn->session; 1349 struct iscsi_session *session = conn->session;
1351 1350
@@ -1365,7 +1364,7 @@ iscsi_send_cmd_hdr(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1365 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data; 1364 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data;
1366 int rc = 0; 1365 int rc = 0;
1367 1366
1368 if (tcp_ctask->xmstate & XMSTATE_CMD_HDR_INIT) { 1367 if (test_bit(XMSTATE_BIT_CMD_HDR_INIT, &tcp_ctask->xmstate)) {
1369 tcp_ctask->sent = 0; 1368 tcp_ctask->sent = 0;
1370 tcp_ctask->sg_count = 0; 1369 tcp_ctask->sg_count = 0;
1371 tcp_ctask->exp_datasn = 0; 1370 tcp_ctask->exp_datasn = 0;
@@ -1390,21 +1389,21 @@ iscsi_send_cmd_hdr(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1390 if (conn->hdrdgst_en) 1389 if (conn->hdrdgst_en)
1391 iscsi_hdr_digest(conn, &tcp_ctask->headbuf, 1390 iscsi_hdr_digest(conn, &tcp_ctask->headbuf,
1392 (u8*)tcp_ctask->hdrext); 1391 (u8*)tcp_ctask->hdrext);
1393 tcp_ctask->xmstate &= ~XMSTATE_CMD_HDR_INIT; 1392 clear_bit(XMSTATE_BIT_CMD_HDR_INIT, &tcp_ctask->xmstate);
1394 tcp_ctask->xmstate |= XMSTATE_CMD_HDR_XMIT; 1393 set_bit(XMSTATE_BIT_CMD_HDR_XMIT, &tcp_ctask->xmstate);
1395 } 1394 }
1396 1395
1397 if (tcp_ctask->xmstate & XMSTATE_CMD_HDR_XMIT) { 1396 if (test_bit(XMSTATE_BIT_CMD_HDR_XMIT, &tcp_ctask->xmstate)) {
1398 rc = iscsi_sendhdr(conn, &tcp_ctask->headbuf, ctask->imm_count); 1397 rc = iscsi_sendhdr(conn, &tcp_ctask->headbuf, ctask->imm_count);
1399 if (rc) 1398 if (rc)
1400 return rc; 1399 return rc;
1401 tcp_ctask->xmstate &= ~XMSTATE_CMD_HDR_XMIT; 1400 clear_bit(XMSTATE_BIT_CMD_HDR_XMIT, &tcp_ctask->xmstate);
1402 1401
1403 if (sc->sc_data_direction != DMA_TO_DEVICE) 1402 if (sc->sc_data_direction != DMA_TO_DEVICE)
1404 return 0; 1403 return 0;
1405 1404
1406 if (ctask->imm_count) { 1405 if (ctask->imm_count) {
1407 tcp_ctask->xmstate |= XMSTATE_IMM_DATA; 1406 set_bit(XMSTATE_BIT_IMM_DATA, &tcp_ctask->xmstate);
1408 iscsi_set_padding(tcp_ctask, ctask->imm_count); 1407 iscsi_set_padding(tcp_ctask, ctask->imm_count);
1409 1408
1410 if (ctask->conn->datadgst_en) { 1409 if (ctask->conn->datadgst_en) {
@@ -1414,9 +1413,10 @@ iscsi_send_cmd_hdr(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1414 } 1413 }
1415 } 1414 }
1416 1415
1417 if (ctask->unsol_count) 1416 if (ctask->unsol_count) {
1418 tcp_ctask->xmstate |= 1417 set_bit(XMSTATE_BIT_UNS_HDR, &tcp_ctask->xmstate);
1419 XMSTATE_UNS_HDR | XMSTATE_UNS_INIT; 1418 set_bit(XMSTATE_BIT_UNS_INIT, &tcp_ctask->xmstate);
1419 }
1420 } 1420 }
1421 return rc; 1421 return rc;
1422} 1422}
@@ -1428,25 +1428,25 @@ iscsi_send_padding(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1428 struct iscsi_tcp_conn *tcp_conn = conn->dd_data; 1428 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
1429 int sent = 0, rc; 1429 int sent = 0, rc;
1430 1430
1431 if (tcp_ctask->xmstate & XMSTATE_W_PAD) { 1431 if (test_bit(XMSTATE_BIT_W_PAD, &tcp_ctask->xmstate)) {
1432 iscsi_buf_init_iov(&tcp_ctask->sendbuf, (char*)&tcp_ctask->pad, 1432 iscsi_buf_init_iov(&tcp_ctask->sendbuf, (char*)&tcp_ctask->pad,
1433 tcp_ctask->pad_count); 1433 tcp_ctask->pad_count);
1434 if (conn->datadgst_en) 1434 if (conn->datadgst_en)
1435 crypto_hash_update(&tcp_conn->tx_hash, 1435 crypto_hash_update(&tcp_conn->tx_hash,
1436 &tcp_ctask->sendbuf.sg, 1436 &tcp_ctask->sendbuf.sg,
1437 tcp_ctask->sendbuf.sg.length); 1437 tcp_ctask->sendbuf.sg.length);
1438 } else if (!(tcp_ctask->xmstate & XMSTATE_W_RESEND_PAD)) 1438 } else if (!test_bit(XMSTATE_BIT_W_RESEND_PAD, &tcp_ctask->xmstate))
1439 return 0; 1439 return 0;
1440 1440
1441 tcp_ctask->xmstate &= ~XMSTATE_W_PAD; 1441 clear_bit(XMSTATE_BIT_W_PAD, &tcp_ctask->xmstate);
1442 tcp_ctask->xmstate &= ~XMSTATE_W_RESEND_PAD; 1442 clear_bit(XMSTATE_BIT_W_RESEND_PAD, &tcp_ctask->xmstate);
1443 debug_scsi("sending %d pad bytes for itt 0x%x\n", 1443 debug_scsi("sending %d pad bytes for itt 0x%x\n",
1444 tcp_ctask->pad_count, ctask->itt); 1444 tcp_ctask->pad_count, ctask->itt);
1445 rc = iscsi_sendpage(conn, &tcp_ctask->sendbuf, &tcp_ctask->pad_count, 1445 rc = iscsi_sendpage(conn, &tcp_ctask->sendbuf, &tcp_ctask->pad_count,
1446 &sent); 1446 &sent);
1447 if (rc) { 1447 if (rc) {
1448 debug_scsi("padding send failed %d\n", rc); 1448 debug_scsi("padding send failed %d\n", rc);
1449 tcp_ctask->xmstate |= XMSTATE_W_RESEND_PAD; 1449 set_bit(XMSTATE_BIT_W_RESEND_PAD, &tcp_ctask->xmstate);
1450 } 1450 }
1451 return rc; 1451 return rc;
1452} 1452}
@@ -1465,11 +1465,11 @@ iscsi_send_digest(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask,
1465 tcp_ctask = ctask->dd_data; 1465 tcp_ctask = ctask->dd_data;
1466 tcp_conn = conn->dd_data; 1466 tcp_conn = conn->dd_data;
1467 1467
1468 if (!(tcp_ctask->xmstate & XMSTATE_W_RESEND_DATA_DIGEST)) { 1468 if (!test_bit(XMSTATE_BIT_W_RESEND_DATA_DIGEST, &tcp_ctask->xmstate)) {
1469 crypto_hash_final(&tcp_conn->tx_hash, (u8*)digest); 1469 crypto_hash_final(&tcp_conn->tx_hash, (u8*)digest);
1470 iscsi_buf_init_iov(buf, (char*)digest, 4); 1470 iscsi_buf_init_iov(buf, (char*)digest, 4);
1471 } 1471 }
1472 tcp_ctask->xmstate &= ~XMSTATE_W_RESEND_DATA_DIGEST; 1472 clear_bit(XMSTATE_BIT_W_RESEND_DATA_DIGEST, &tcp_ctask->xmstate);
1473 1473
1474 rc = iscsi_sendpage(conn, buf, &tcp_ctask->digest_count, &sent); 1474 rc = iscsi_sendpage(conn, buf, &tcp_ctask->digest_count, &sent);
1475 if (!rc) 1475 if (!rc)
@@ -1478,7 +1478,7 @@ iscsi_send_digest(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask,
1478 else { 1478 else {
1479 debug_scsi("sending digest 0x%x failed for itt 0x%x!\n", 1479 debug_scsi("sending digest 0x%x failed for itt 0x%x!\n",
1480 *digest, ctask->itt); 1480 *digest, ctask->itt);
1481 tcp_ctask->xmstate |= XMSTATE_W_RESEND_DATA_DIGEST; 1481 set_bit(XMSTATE_BIT_W_RESEND_DATA_DIGEST, &tcp_ctask->xmstate);
1482 } 1482 }
1483 return rc; 1483 return rc;
1484} 1484}
@@ -1526,8 +1526,8 @@ iscsi_send_unsol_hdr(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1526 struct iscsi_data_task *dtask; 1526 struct iscsi_data_task *dtask;
1527 int rc; 1527 int rc;
1528 1528
1529 tcp_ctask->xmstate |= XMSTATE_UNS_DATA; 1529 set_bit(XMSTATE_BIT_UNS_DATA, &tcp_ctask->xmstate);
1530 if (tcp_ctask->xmstate & XMSTATE_UNS_INIT) { 1530 if (test_bit(XMSTATE_BIT_UNS_INIT, &tcp_ctask->xmstate)) {
1531 dtask = &tcp_ctask->unsol_dtask; 1531 dtask = &tcp_ctask->unsol_dtask;
1532 1532
1533 iscsi_prep_unsolicit_data_pdu(ctask, &dtask->hdr); 1533 iscsi_prep_unsolicit_data_pdu(ctask, &dtask->hdr);
@@ -1537,14 +1537,14 @@ iscsi_send_unsol_hdr(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1537 iscsi_hdr_digest(conn, &tcp_ctask->headbuf, 1537 iscsi_hdr_digest(conn, &tcp_ctask->headbuf,
1538 (u8*)dtask->hdrext); 1538 (u8*)dtask->hdrext);
1539 1539
1540 tcp_ctask->xmstate &= ~XMSTATE_UNS_INIT; 1540 clear_bit(XMSTATE_BIT_UNS_INIT, &tcp_ctask->xmstate);
1541 iscsi_set_padding(tcp_ctask, ctask->data_count); 1541 iscsi_set_padding(tcp_ctask, ctask->data_count);
1542 } 1542 }
1543 1543
1544 rc = iscsi_sendhdr(conn, &tcp_ctask->headbuf, ctask->data_count); 1544 rc = iscsi_sendhdr(conn, &tcp_ctask->headbuf, ctask->data_count);
1545 if (rc) { 1545 if (rc) {
1546 tcp_ctask->xmstate &= ~XMSTATE_UNS_DATA; 1546 clear_bit(XMSTATE_BIT_UNS_DATA, &tcp_ctask->xmstate);
1547 tcp_ctask->xmstate |= XMSTATE_UNS_HDR; 1547 set_bit(XMSTATE_BIT_UNS_HDR, &tcp_ctask->xmstate);
1548 return rc; 1548 return rc;
1549 } 1549 }
1550 1550
@@ -1565,16 +1565,15 @@ iscsi_send_unsol_pdu(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1565 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data; 1565 struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data;
1566 int rc; 1566 int rc;
1567 1567
1568 if (tcp_ctask->xmstate & XMSTATE_UNS_HDR) { 1568 if (test_and_clear_bit(XMSTATE_BIT_UNS_HDR, &tcp_ctask->xmstate)) {
1569 BUG_ON(!ctask->unsol_count); 1569 BUG_ON(!ctask->unsol_count);
1570 tcp_ctask->xmstate &= ~XMSTATE_UNS_HDR;
1571send_hdr: 1570send_hdr:
1572 rc = iscsi_send_unsol_hdr(conn, ctask); 1571 rc = iscsi_send_unsol_hdr(conn, ctask);
1573 if (rc) 1572 if (rc)
1574 return rc; 1573 return rc;
1575 } 1574 }
1576 1575
1577 if (tcp_ctask->xmstate & XMSTATE_UNS_DATA) { 1576 if (test_bit(XMSTATE_BIT_UNS_DATA, &tcp_ctask->xmstate)) {
1578 struct iscsi_data_task *dtask = &tcp_ctask->unsol_dtask; 1577 struct iscsi_data_task *dtask = &tcp_ctask->unsol_dtask;
1579 int start = tcp_ctask->sent; 1578 int start = tcp_ctask->sent;
1580 1579
@@ -1584,14 +1583,14 @@ send_hdr:
1584 ctask->unsol_count -= tcp_ctask->sent - start; 1583 ctask->unsol_count -= tcp_ctask->sent - start;
1585 if (rc) 1584 if (rc)
1586 return rc; 1585 return rc;
1587 tcp_ctask->xmstate &= ~XMSTATE_UNS_DATA; 1586 clear_bit(XMSTATE_BIT_UNS_DATA, &tcp_ctask->xmstate);
1588 /* 1587 /*
1589 * Done with the Data-Out. Next, check if we need 1588 * Done with the Data-Out. Next, check if we need
1590 * to send another unsolicited Data-Out. 1589 * to send another unsolicited Data-Out.
1591 */ 1590 */
1592 if (ctask->unsol_count) { 1591 if (ctask->unsol_count) {
1593 debug_scsi("sending more uns\n"); 1592 debug_scsi("sending more uns\n");
1594 tcp_ctask->xmstate |= XMSTATE_UNS_INIT; 1593 set_bit(XMSTATE_BIT_UNS_INIT, &tcp_ctask->xmstate);
1595 goto send_hdr; 1594 goto send_hdr;
1596 } 1595 }
1597 } 1596 }
@@ -1607,7 +1606,7 @@ static int iscsi_send_sol_pdu(struct iscsi_conn *conn,
1607 struct iscsi_data_task *dtask; 1606 struct iscsi_data_task *dtask;
1608 int left, rc; 1607 int left, rc;
1609 1608
1610 if (tcp_ctask->xmstate & XMSTATE_SOL_HDR_INIT) { 1609 if (test_bit(XMSTATE_BIT_SOL_HDR_INIT, &tcp_ctask->xmstate)) {
1611 if (!tcp_ctask->r2t) { 1610 if (!tcp_ctask->r2t) {
1612 spin_lock_bh(&session->lock); 1611 spin_lock_bh(&session->lock);
1613 __kfifo_get(tcp_ctask->r2tqueue, (void*)&tcp_ctask->r2t, 1612 __kfifo_get(tcp_ctask->r2tqueue, (void*)&tcp_ctask->r2t,
@@ -1621,19 +1620,19 @@ send_hdr:
1621 if (conn->hdrdgst_en) 1620 if (conn->hdrdgst_en)
1622 iscsi_hdr_digest(conn, &r2t->headbuf, 1621 iscsi_hdr_digest(conn, &r2t->headbuf,
1623 (u8*)dtask->hdrext); 1622 (u8*)dtask->hdrext);
1624 tcp_ctask->xmstate &= ~XMSTATE_SOL_HDR_INIT; 1623 clear_bit(XMSTATE_BIT_SOL_HDR_INIT, &tcp_ctask->xmstate);
1625 tcp_ctask->xmstate |= XMSTATE_SOL_HDR; 1624 set_bit(XMSTATE_BIT_SOL_HDR, &tcp_ctask->xmstate);
1626 } 1625 }
1627 1626
1628 if (tcp_ctask->xmstate & XMSTATE_SOL_HDR) { 1627 if (test_bit(XMSTATE_BIT_SOL_HDR, &tcp_ctask->xmstate)) {
1629 r2t = tcp_ctask->r2t; 1628 r2t = tcp_ctask->r2t;
1630 dtask = &r2t->dtask; 1629 dtask = &r2t->dtask;
1631 1630
1632 rc = iscsi_sendhdr(conn, &r2t->headbuf, r2t->data_count); 1631 rc = iscsi_sendhdr(conn, &r2t->headbuf, r2t->data_count);
1633 if (rc) 1632 if (rc)
1634 return rc; 1633 return rc;
1635 tcp_ctask->xmstate &= ~XMSTATE_SOL_HDR; 1634 clear_bit(XMSTATE_BIT_SOL_HDR, &tcp_ctask->xmstate);
1636 tcp_ctask->xmstate |= XMSTATE_SOL_DATA; 1635 set_bit(XMSTATE_BIT_SOL_DATA, &tcp_ctask->xmstate);
1637 1636
1638 if (conn->datadgst_en) { 1637 if (conn->datadgst_en) {
1639 iscsi_data_digest_init(conn->dd_data, tcp_ctask); 1638 iscsi_data_digest_init(conn->dd_data, tcp_ctask);
@@ -1646,7 +1645,7 @@ send_hdr:
1646 r2t->sent); 1645 r2t->sent);
1647 } 1646 }
1648 1647
1649 if (tcp_ctask->xmstate & XMSTATE_SOL_DATA) { 1648 if (test_bit(XMSTATE_BIT_SOL_DATA, &tcp_ctask->xmstate)) {
1650 r2t = tcp_ctask->r2t; 1649 r2t = tcp_ctask->r2t;
1651 dtask = &r2t->dtask; 1650 dtask = &r2t->dtask;
1652 1651
@@ -1655,7 +1654,7 @@ send_hdr:
1655 &dtask->digestbuf, &dtask->digest); 1654 &dtask->digestbuf, &dtask->digest);
1656 if (rc) 1655 if (rc)
1657 return rc; 1656 return rc;
1658 tcp_ctask->xmstate &= ~XMSTATE_SOL_DATA; 1657 clear_bit(XMSTATE_BIT_SOL_DATA, &tcp_ctask->xmstate);
1659 1658
1660 /* 1659 /*
1661 * Done with this Data-Out. Next, check if we have 1660 * Done with this Data-Out. Next, check if we have
@@ -1700,32 +1699,32 @@ send_hdr:
1700 * xmit stages. 1699 * xmit stages.
1701 * 1700 *
1702 *iscsi_send_cmd_hdr() 1701 *iscsi_send_cmd_hdr()
1703 * XMSTATE_CMD_HDR_INIT - prepare Header and Data buffers Calculate 1702 * XMSTATE_BIT_CMD_HDR_INIT - prepare Header and Data buffers Calculate
1704 * Header Digest 1703 * Header Digest
1705 * XMSTATE_CMD_HDR_XMIT - Transmit header in progress 1704 * XMSTATE_BIT_CMD_HDR_XMIT - Transmit header in progress
1706 * 1705 *
1707 *iscsi_send_padding 1706 *iscsi_send_padding
1708 * XMSTATE_W_PAD - Prepare and send pading 1707 * XMSTATE_BIT_W_PAD - Prepare and send pading
1709 * XMSTATE_W_RESEND_PAD - retry send pading 1708 * XMSTATE_BIT_W_RESEND_PAD - retry send pading
1710 * 1709 *
1711 *iscsi_send_digest 1710 *iscsi_send_digest
1712 * XMSTATE_W_RESEND_DATA_DIGEST - Finalize and send Data Digest 1711 * XMSTATE_BIT_W_RESEND_DATA_DIGEST - Finalize and send Data Digest
1713 * XMSTATE_W_RESEND_DATA_DIGEST - retry sending digest 1712 * XMSTATE_BIT_W_RESEND_DATA_DIGEST - retry sending digest
1714 * 1713 *
1715 *iscsi_send_unsol_hdr 1714 *iscsi_send_unsol_hdr
1716 * XMSTATE_UNS_INIT - prepare un-solicit data header and digest 1715 * XMSTATE_BIT_UNS_INIT - prepare un-solicit data header and digest
1717 * XMSTATE_UNS_HDR - send un-solicit header 1716 * XMSTATE_BIT_UNS_HDR - send un-solicit header
1718 * 1717 *
1719 *iscsi_send_unsol_pdu 1718 *iscsi_send_unsol_pdu
1720 * XMSTATE_UNS_DATA - send un-solicit data in progress 1719 * XMSTATE_BIT_UNS_DATA - send un-solicit data in progress
1721 * 1720 *
1722 *iscsi_send_sol_pdu 1721 *iscsi_send_sol_pdu
1723 * XMSTATE_SOL_HDR_INIT - solicit data header and digest initialize 1722 * XMSTATE_BIT_SOL_HDR_INIT - solicit data header and digest initialize
1724 * XMSTATE_SOL_HDR - send solicit header 1723 * XMSTATE_BIT_SOL_HDR - send solicit header
1725 * XMSTATE_SOL_DATA - send solicit data 1724 * XMSTATE_BIT_SOL_DATA - send solicit data
1726 * 1725 *
1727 *iscsi_tcp_ctask_xmit 1726 *iscsi_tcp_ctask_xmit
1728 * XMSTATE_IMM_DATA - xmit managment data (??) 1727 * XMSTATE_BIT_IMM_DATA - xmit managment data (??)
1729 **/ 1728 **/
1730static int 1729static int
1731iscsi_tcp_ctask_xmit(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask) 1730iscsi_tcp_ctask_xmit(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
@@ -1742,13 +1741,13 @@ iscsi_tcp_ctask_xmit(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask)
1742 if (ctask->sc->sc_data_direction != DMA_TO_DEVICE) 1741 if (ctask->sc->sc_data_direction != DMA_TO_DEVICE)
1743 return 0; 1742 return 0;
1744 1743
1745 if (tcp_ctask->xmstate & XMSTATE_IMM_DATA) { 1744 if (test_bit(XMSTATE_BIT_IMM_DATA, &tcp_ctask->xmstate)) {
1746 rc = iscsi_send_data(ctask, &tcp_ctask->sendbuf, &tcp_ctask->sg, 1745 rc = iscsi_send_data(ctask, &tcp_ctask->sendbuf, &tcp_ctask->sg,
1747 &tcp_ctask->sent, &ctask->imm_count, 1746 &tcp_ctask->sent, &ctask->imm_count,
1748 &tcp_ctask->immbuf, &tcp_ctask->immdigest); 1747 &tcp_ctask->immbuf, &tcp_ctask->immdigest);
1749 if (rc) 1748 if (rc)
1750 return rc; 1749 return rc;
1751 tcp_ctask->xmstate &= ~XMSTATE_IMM_DATA; 1750 clear_bit(XMSTATE_BIT_IMM_DATA, &tcp_ctask->xmstate);
1752 } 1751 }
1753 1752
1754 rc = iscsi_send_unsol_pdu(conn, ctask); 1753 rc = iscsi_send_unsol_pdu(conn, ctask);
@@ -1981,7 +1980,7 @@ static void
1981iscsi_tcp_mgmt_init(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask) 1980iscsi_tcp_mgmt_init(struct iscsi_conn *conn, struct iscsi_mgmt_task *mtask)
1982{ 1981{
1983 struct iscsi_tcp_mgmt_task *tcp_mtask = mtask->dd_data; 1982 struct iscsi_tcp_mgmt_task *tcp_mtask = mtask->dd_data;
1984 tcp_mtask->xmstate = XMSTATE_IMM_HDR_INIT; 1983 tcp_mtask->xmstate = 1 << XMSTATE_BIT_IMM_HDR_INIT;
1985} 1984}
1986 1985
1987static int 1986static int
diff --git a/drivers/scsi/iscsi_tcp.h b/drivers/scsi/iscsi_tcp.h
index 7eba44df0a7f..68c36cc8997e 100644
--- a/drivers/scsi/iscsi_tcp.h
+++ b/drivers/scsi/iscsi_tcp.h
@@ -32,21 +32,21 @@
32#define IN_PROGRESS_PAD_RECV 0x4 32#define IN_PROGRESS_PAD_RECV 0x4
33 33
34/* xmit state machine */ 34/* xmit state machine */
35#define XMSTATE_IDLE 0x0 35#define XMSTATE_VALUE_IDLE 0
36#define XMSTATE_CMD_HDR_INIT 0x1 36#define XMSTATE_BIT_CMD_HDR_INIT 0
37#define XMSTATE_CMD_HDR_XMIT 0x2 37#define XMSTATE_BIT_CMD_HDR_XMIT 1
38#define XMSTATE_IMM_HDR 0x4 38#define XMSTATE_BIT_IMM_HDR 2
39#define XMSTATE_IMM_DATA 0x8 39#define XMSTATE_BIT_IMM_DATA 3
40#define XMSTATE_UNS_INIT 0x10 40#define XMSTATE_BIT_UNS_INIT 4
41#define XMSTATE_UNS_HDR 0x20 41#define XMSTATE_BIT_UNS_HDR 5
42#define XMSTATE_UNS_DATA 0x40 42#define XMSTATE_BIT_UNS_DATA 6
43#define XMSTATE_SOL_HDR 0x80 43#define XMSTATE_BIT_SOL_HDR 7
44#define XMSTATE_SOL_DATA 0x100 44#define XMSTATE_BIT_SOL_DATA 8
45#define XMSTATE_W_PAD 0x200 45#define XMSTATE_BIT_W_PAD 9
46#define XMSTATE_W_RESEND_PAD 0x400 46#define XMSTATE_BIT_W_RESEND_PAD 10
47#define XMSTATE_W_RESEND_DATA_DIGEST 0x800 47#define XMSTATE_BIT_W_RESEND_DATA_DIGEST 11
48#define XMSTATE_IMM_HDR_INIT 0x1000 48#define XMSTATE_BIT_IMM_HDR_INIT 12
49#define XMSTATE_SOL_HDR_INIT 0x2000 49#define XMSTATE_BIT_SOL_HDR_INIT 13
50 50
51#define ISCSI_PAD_LEN 4 51#define ISCSI_PAD_LEN 4
52#define ISCSI_SG_TABLESIZE SG_ALL 52#define ISCSI_SG_TABLESIZE SG_ALL
@@ -122,7 +122,7 @@ struct iscsi_data_task {
122struct iscsi_tcp_mgmt_task { 122struct iscsi_tcp_mgmt_task {
123 struct iscsi_hdr hdr; 123 struct iscsi_hdr hdr;
124 char hdrext[sizeof(__u32)]; /* Header-Digest */ 124 char hdrext[sizeof(__u32)]; /* Header-Digest */
125 int xmstate; /* mgmt xmit progress */ 125 unsigned long xmstate; /* mgmt xmit progress */
126 struct iscsi_buf headbuf; /* header buffer */ 126 struct iscsi_buf headbuf; /* header buffer */
127 struct iscsi_buf sendbuf; /* in progress buffer */ 127 struct iscsi_buf sendbuf; /* in progress buffer */
128 int sent; 128 int sent;
@@ -150,7 +150,7 @@ struct iscsi_tcp_cmd_task {
150 int pad_count; /* padded bytes */ 150 int pad_count; /* padded bytes */
151 struct iscsi_buf headbuf; /* header buf (xmit) */ 151 struct iscsi_buf headbuf; /* header buf (xmit) */
152 struct iscsi_buf sendbuf; /* in progress buffer*/ 152 struct iscsi_buf sendbuf; /* in progress buffer*/
153 int xmstate; /* xmit xtate machine */ 153 unsigned long xmstate; /* xmit xtate machine */
154 int sent; 154 int sent;
155 struct scatterlist *sg; /* per-cmd SG list */ 155 struct scatterlist *sg; /* per-cmd SG list */
156 struct scatterlist *bad_sg; /* assert statement */ 156 struct scatterlist *bad_sg; /* assert statement */
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index efceed451b46..8b57af5baaec 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -291,9 +291,6 @@ invalid_datalen:
291 min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE)); 291 min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE));
292 } 292 }
293 293
294 if (sc->sc_data_direction == DMA_TO_DEVICE)
295 goto out;
296
297 if (rhdr->flags & ISCSI_FLAG_CMD_UNDERFLOW) { 294 if (rhdr->flags & ISCSI_FLAG_CMD_UNDERFLOW) {
298 int res_count = be32_to_cpu(rhdr->residual_count); 295 int res_count = be32_to_cpu(rhdr->residual_count);
299 296
diff --git a/drivers/scsi/mac_scsi.c b/drivers/scsi/mac_scsi.c
index abe2bda6ac37..3b09ab21d701 100644
--- a/drivers/scsi/mac_scsi.c
+++ b/drivers/scsi/mac_scsi.c
@@ -303,7 +303,7 @@ int macscsi_detect(struct scsi_host_template * tpnt)
303 303
304 if (instance->irq != SCSI_IRQ_NONE) 304 if (instance->irq != SCSI_IRQ_NONE)
305 if (request_irq(instance->irq, NCR5380_intr, IRQ_FLG_SLOW, 305 if (request_irq(instance->irq, NCR5380_intr, IRQ_FLG_SLOW,
306 "ncr5380", instance)) { 306 "ncr5380", instance)) {
307 printk(KERN_WARNING "scsi%d: IRQ%d not free, interrupts disabled\n", 307 printk(KERN_WARNING "scsi%d: IRQ%d not free, interrupts disabled\n",
308 instance->host_no, instance->irq); 308 instance->host_no, instance->irq);
309 instance->irq = SCSI_IRQ_NONE; 309 instance->irq = SCSI_IRQ_NONE;
@@ -326,7 +326,7 @@ int macscsi_detect(struct scsi_host_template * tpnt)
326int macscsi_release (struct Scsi_Host *shpnt) 326int macscsi_release (struct Scsi_Host *shpnt)
327{ 327{
328 if (shpnt->irq != SCSI_IRQ_NONE) 328 if (shpnt->irq != SCSI_IRQ_NONE)
329 free_irq (shpnt->irq, NCR5380_intr); 329 free_irq(shpnt->irq, shpnt);
330 NCR5380_exit(shpnt); 330 NCR5380_exit(shpnt);
331 331
332 return 0; 332 return 0;
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index ee5965659971..f2018b46f494 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -453,7 +453,8 @@ int __init pas16_detect(struct scsi_host_template * tpnt)
453 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS); 453 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);
454 454
455 if (instance->irq != SCSI_IRQ_NONE) 455 if (instance->irq != SCSI_IRQ_NONE)
456 if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED, "pas16", instance)) { 456 if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED,
457 "pas16", instance)) {
457 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 458 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
458 instance->host_no, instance->irq); 459 instance->host_no, instance->irq);
459 instance->irq = SCSI_IRQ_NONE; 460 instance->irq = SCSI_IRQ_NONE;
@@ -604,7 +605,7 @@ static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src
604static int pas16_release(struct Scsi_Host *shost) 605static int pas16_release(struct Scsi_Host *shost)
605{ 606{
606 if (shost->irq) 607 if (shost->irq)
607 free_irq(shost->irq, NULL); 608 free_irq(shost->irq, shost);
608 NCR5380_exit(shost); 609 NCR5380_exit(shost);
609 if (shost->dma_channel != 0xff) 610 if (shost->dma_channel != 0xff)
610 free_dma(shost->dma_channel); 611 free_dma(shost->dma_channel);
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index 3aeb68bcb7ac..146d540f6281 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -1310,14 +1310,7 @@ qla1280_done(struct scsi_qla_host *ha)
1310 } 1310 }
1311 1311
1312 /* Release memory used for this I/O */ 1312 /* Release memory used for this I/O */
1313 if (cmd->use_sg) { 1313 scsi_dma_unmap(cmd);
1314 pci_unmap_sg(ha->pdev, cmd->request_buffer,
1315 cmd->use_sg, cmd->sc_data_direction);
1316 } else if (cmd->request_bufflen) {
1317 pci_unmap_single(ha->pdev, sp->saved_dma_handle,
1318 cmd->request_bufflen,
1319 cmd->sc_data_direction);
1320 }
1321 1314
1322 /* Call the mid-level driver interrupt handler */ 1315 /* Call the mid-level driver interrupt handler */
1323 CMD_HANDLE(sp->cmd) = (unsigned char *)INVALID_HANDLE; 1316 CMD_HANDLE(sp->cmd) = (unsigned char *)INVALID_HANDLE;
@@ -1406,14 +1399,14 @@ qla1280_return_status(struct response * sts, struct scsi_cmnd *cp)
1406 break; 1399 break;
1407 1400
1408 case CS_DATA_UNDERRUN: 1401 case CS_DATA_UNDERRUN:
1409 if ((cp->request_bufflen - residual_length) < 1402 if ((scsi_bufflen(cp) - residual_length) <
1410 cp->underflow) { 1403 cp->underflow) {
1411 printk(KERN_WARNING 1404 printk(KERN_WARNING
1412 "scsi: Underflow detected - retrying " 1405 "scsi: Underflow detected - retrying "
1413 "command.\n"); 1406 "command.\n");
1414 host_status = DID_ERROR; 1407 host_status = DID_ERROR;
1415 } else { 1408 } else {
1416 cp->resid = residual_length; 1409 scsi_set_resid(cp, residual_length);
1417 host_status = DID_OK; 1410 host_status = DID_OK;
1418 } 1411 }
1419 break; 1412 break;
@@ -2775,33 +2768,28 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
2775 struct device_reg __iomem *reg = ha->iobase; 2768 struct device_reg __iomem *reg = ha->iobase;
2776 struct scsi_cmnd *cmd = sp->cmd; 2769 struct scsi_cmnd *cmd = sp->cmd;
2777 cmd_a64_entry_t *pkt; 2770 cmd_a64_entry_t *pkt;
2778 struct scatterlist *sg = NULL, *s;
2779 __le32 *dword_ptr; 2771 __le32 *dword_ptr;
2780 dma_addr_t dma_handle; 2772 dma_addr_t dma_handle;
2781 int status = 0; 2773 int status = 0;
2782 int cnt; 2774 int cnt;
2783 int req_cnt; 2775 int req_cnt;
2784 u16 seg_cnt; 2776 int seg_cnt;
2785 u8 dir; 2777 u8 dir;
2786 2778
2787 ENTER("qla1280_64bit_start_scsi:"); 2779 ENTER("qla1280_64bit_start_scsi:");
2788 2780
2789 /* Calculate number of entries and segments required. */ 2781 /* Calculate number of entries and segments required. */
2790 req_cnt = 1; 2782 req_cnt = 1;
2791 if (cmd->use_sg) { 2783 seg_cnt = scsi_dma_map(cmd);
2792 sg = (struct scatterlist *) cmd->request_buffer; 2784 if (seg_cnt > 0) {
2793 seg_cnt = pci_map_sg(ha->pdev, sg, cmd->use_sg,
2794 cmd->sc_data_direction);
2795
2796 if (seg_cnt > 2) { 2785 if (seg_cnt > 2) {
2797 req_cnt += (seg_cnt - 2) / 5; 2786 req_cnt += (seg_cnt - 2) / 5;
2798 if ((seg_cnt - 2) % 5) 2787 if ((seg_cnt - 2) % 5)
2799 req_cnt++; 2788 req_cnt++;
2800 } 2789 }
2801 } else if (cmd->request_bufflen) { /* If data transfer. */ 2790 } else if (seg_cnt < 0) {
2802 seg_cnt = 1; 2791 status = 1;
2803 } else { 2792 goto out;
2804 seg_cnt = 0;
2805 } 2793 }
2806 2794
2807 if ((req_cnt + 2) >= ha->req_q_cnt) { 2795 if ((req_cnt + 2) >= ha->req_q_cnt) {
@@ -2889,124 +2877,104 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
2889 * Load data segments. 2877 * Load data segments.
2890 */ 2878 */
2891 if (seg_cnt) { /* If data transfer. */ 2879 if (seg_cnt) { /* If data transfer. */
2880 struct scatterlist *sg, *s;
2892 int remseg = seg_cnt; 2881 int remseg = seg_cnt;
2882
2883 sg = scsi_sglist(cmd);
2884
2893 /* Setup packet address segment pointer. */ 2885 /* Setup packet address segment pointer. */
2894 dword_ptr = (u32 *)&pkt->dseg_0_address; 2886 dword_ptr = (u32 *)&pkt->dseg_0_address;
2895 2887
2896 if (cmd->use_sg) { /* If scatter gather */ 2888 /* Load command entry data segments. */
2897 /* Load command entry data segments. */ 2889 for_each_sg(sg, s, seg_cnt, cnt) {
2898 for_each_sg(sg, s, seg_cnt, cnt) { 2890 if (cnt == 2)
2899 if (cnt == 2) 2891 break;
2892
2893 dma_handle = sg_dma_address(s);
2894#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2)
2895 if (ha->flags.use_pci_vchannel)
2896 sn_pci_set_vchan(ha->pdev,
2897 (unsigned long *)&dma_handle,
2898 SCSI_BUS_32(cmd));
2899#endif
2900 *dword_ptr++ =
2901 cpu_to_le32(pci_dma_lo32(dma_handle));
2902 *dword_ptr++ =
2903 cpu_to_le32(pci_dma_hi32(dma_handle));
2904 *dword_ptr++ = cpu_to_le32(sg_dma_len(s));
2905 dprintk(3, "S/G Segment phys_addr=%x %x, len=0x%x\n",
2906 cpu_to_le32(pci_dma_hi32(dma_handle)),
2907 cpu_to_le32(pci_dma_lo32(dma_handle)),
2908 cpu_to_le32(sg_dma_len(sg_next(s))));
2909 remseg--;
2910 }
2911 dprintk(5, "qla1280_64bit_start_scsi: Scatter/gather "
2912 "command packet data - b %i, t %i, l %i \n",
2913 SCSI_BUS_32(cmd), SCSI_TCN_32(cmd),
2914 SCSI_LUN_32(cmd));
2915 qla1280_dump_buffer(5, (char *)pkt,
2916 REQUEST_ENTRY_SIZE);
2917
2918 /*
2919 * Build continuation packets.
2920 */
2921 dprintk(3, "S/G Building Continuation...seg_cnt=0x%x "
2922 "remains\n", seg_cnt);
2923
2924 while (remseg > 0) {
2925 /* Update sg start */
2926 sg = s;
2927 /* Adjust ring index. */
2928 ha->req_ring_index++;
2929 if (ha->req_ring_index == REQUEST_ENTRY_CNT) {
2930 ha->req_ring_index = 0;
2931 ha->request_ring_ptr =
2932 ha->request_ring;
2933 } else
2934 ha->request_ring_ptr++;
2935
2936 pkt = (cmd_a64_entry_t *)ha->request_ring_ptr;
2937
2938 /* Zero out packet. */
2939 memset(pkt, 0, REQUEST_ENTRY_SIZE);
2940
2941 /* Load packet defaults. */
2942 ((struct cont_a64_entry *) pkt)->entry_type =
2943 CONTINUE_A64_TYPE;
2944 ((struct cont_a64_entry *) pkt)->entry_count = 1;
2945 ((struct cont_a64_entry *) pkt)->sys_define =
2946 (uint8_t)ha->req_ring_index;
2947 /* Setup packet address segment pointer. */
2948 dword_ptr =
2949 (u32 *)&((struct cont_a64_entry *) pkt)->dseg_0_address;
2950
2951 /* Load continuation entry data segments. */
2952 for_each_sg(sg, s, remseg, cnt) {
2953 if (cnt == 5)
2900 break; 2954 break;
2901 dma_handle = sg_dma_address(s); 2955 dma_handle = sg_dma_address(s);
2902#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) 2956#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2)
2903 if (ha->flags.use_pci_vchannel) 2957 if (ha->flags.use_pci_vchannel)
2904 sn_pci_set_vchan(ha->pdev, 2958 sn_pci_set_vchan(ha->pdev,
2905 (unsigned long *)&dma_handle, 2959 (unsigned long *)&dma_handle,
2906 SCSI_BUS_32(cmd)); 2960 SCSI_BUS_32(cmd));
2907#endif 2961#endif
2908 *dword_ptr++ = 2962 *dword_ptr++ =
2909 cpu_to_le32(pci_dma_lo32(dma_handle)); 2963 cpu_to_le32(pci_dma_lo32(dma_handle));
2910 *dword_ptr++ = 2964 *dword_ptr++ =
2911 cpu_to_le32(pci_dma_hi32(dma_handle)); 2965 cpu_to_le32(pci_dma_hi32(dma_handle));
2912 *dword_ptr++ = cpu_to_le32(sg_dma_len(s)); 2966 *dword_ptr++ =
2913 dprintk(3, "S/G Segment phys_addr=%x %x, len=0x%x\n", 2967 cpu_to_le32(sg_dma_len(s));
2968 dprintk(3, "S/G Segment Cont. phys_addr=%x %x, len=0x%x\n",
2914 cpu_to_le32(pci_dma_hi32(dma_handle)), 2969 cpu_to_le32(pci_dma_hi32(dma_handle)),
2915 cpu_to_le32(pci_dma_lo32(dma_handle)), 2970 cpu_to_le32(pci_dma_lo32(dma_handle)),
2916 cpu_to_le32(sg_dma_len(sg_next(s)))); 2971 cpu_to_le32(sg_dma_len(s)));
2917 remseg--;
2918 } 2972 }
2919 dprintk(5, "qla1280_64bit_start_scsi: Scatter/gather " 2973 remseg -= cnt;
2920 "command packet data - b %i, t %i, l %i \n", 2974 dprintk(5, "qla1280_64bit_start_scsi: "
2921 SCSI_BUS_32(cmd), SCSI_TCN_32(cmd), 2975 "continuation packet data - b %i, t "
2922 SCSI_LUN_32(cmd)); 2976 "%i, l %i \n", SCSI_BUS_32(cmd),
2923 qla1280_dump_buffer(5, (char *)pkt, 2977 SCSI_TCN_32(cmd), SCSI_LUN_32(cmd));
2924 REQUEST_ENTRY_SIZE);
2925
2926 /*
2927 * Build continuation packets.
2928 */
2929 dprintk(3, "S/G Building Continuation...seg_cnt=0x%x "
2930 "remains\n", seg_cnt);
2931
2932 while (remseg > 0) {
2933 /* Update sg start */
2934 sg = s;
2935 /* Adjust ring index. */
2936 ha->req_ring_index++;
2937 if (ha->req_ring_index == REQUEST_ENTRY_CNT) {
2938 ha->req_ring_index = 0;
2939 ha->request_ring_ptr =
2940 ha->request_ring;
2941 } else
2942 ha->request_ring_ptr++;
2943
2944 pkt = (cmd_a64_entry_t *)ha->request_ring_ptr;
2945
2946 /* Zero out packet. */
2947 memset(pkt, 0, REQUEST_ENTRY_SIZE);
2948
2949 /* Load packet defaults. */
2950 ((struct cont_a64_entry *) pkt)->entry_type =
2951 CONTINUE_A64_TYPE;
2952 ((struct cont_a64_entry *) pkt)->entry_count = 1;
2953 ((struct cont_a64_entry *) pkt)->sys_define =
2954 (uint8_t)ha->req_ring_index;
2955 /* Setup packet address segment pointer. */
2956 dword_ptr =
2957 (u32 *)&((struct cont_a64_entry *) pkt)->dseg_0_address;
2958
2959 /* Load continuation entry data segments. */
2960 for_each_sg(sg, s, remseg, cnt) {
2961 if (cnt == 5)
2962 break;
2963 dma_handle = sg_dma_address(s);
2964#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2)
2965 if (ha->flags.use_pci_vchannel)
2966 sn_pci_set_vchan(ha->pdev,
2967 (unsigned long *)&dma_handle,
2968 SCSI_BUS_32(cmd));
2969#endif
2970 *dword_ptr++ =
2971 cpu_to_le32(pci_dma_lo32(dma_handle));
2972 *dword_ptr++ =
2973 cpu_to_le32(pci_dma_hi32(dma_handle));
2974 *dword_ptr++ =
2975 cpu_to_le32(sg_dma_len(s));
2976 dprintk(3, "S/G Segment Cont. phys_addr=%x %x, len=0x%x\n",
2977 cpu_to_le32(pci_dma_hi32(dma_handle)),
2978 cpu_to_le32(pci_dma_lo32(dma_handle)),
2979 cpu_to_le32(sg_dma_len(s)));
2980 }
2981 remseg -= cnt;
2982 dprintk(5, "qla1280_64bit_start_scsi: "
2983 "continuation packet data - b %i, t "
2984 "%i, l %i \n", SCSI_BUS_32(cmd),
2985 SCSI_TCN_32(cmd), SCSI_LUN_32(cmd));
2986 qla1280_dump_buffer(5, (char *)pkt,
2987 REQUEST_ENTRY_SIZE);
2988 }
2989 } else { /* No scatter gather data transfer */
2990 dma_handle = pci_map_single(ha->pdev,
2991 cmd->request_buffer,
2992 cmd->request_bufflen,
2993 cmd->sc_data_direction);
2994
2995 sp->saved_dma_handle = dma_handle;
2996#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2)
2997 if (ha->flags.use_pci_vchannel)
2998 sn_pci_set_vchan(ha->pdev,
2999 (unsigned long *)&dma_handle,
3000 SCSI_BUS_32(cmd));
3001#endif
3002 *dword_ptr++ = cpu_to_le32(pci_dma_lo32(dma_handle));
3003 *dword_ptr++ = cpu_to_le32(pci_dma_hi32(dma_handle));
3004 *dword_ptr = cpu_to_le32(cmd->request_bufflen);
3005
3006 dprintk(5, "qla1280_64bit_start_scsi: No scatter/"
3007 "gather command packet data - b %i, t %i, "
3008 "l %i \n", SCSI_BUS_32(cmd), SCSI_TCN_32(cmd),
3009 SCSI_LUN_32(cmd));
3010 qla1280_dump_buffer(5, (char *)pkt, 2978 qla1280_dump_buffer(5, (char *)pkt,
3011 REQUEST_ENTRY_SIZE); 2979 REQUEST_ENTRY_SIZE);
3012 } 2980 }
@@ -3068,12 +3036,11 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
3068 struct device_reg __iomem *reg = ha->iobase; 3036 struct device_reg __iomem *reg = ha->iobase;
3069 struct scsi_cmnd *cmd = sp->cmd; 3037 struct scsi_cmnd *cmd = sp->cmd;
3070 struct cmd_entry *pkt; 3038 struct cmd_entry *pkt;
3071 struct scatterlist *sg = NULL, *s;
3072 __le32 *dword_ptr; 3039 __le32 *dword_ptr;
3073 int status = 0; 3040 int status = 0;
3074 int cnt; 3041 int cnt;
3075 int req_cnt; 3042 int req_cnt;
3076 uint16_t seg_cnt; 3043 int seg_cnt;
3077 dma_addr_t dma_handle; 3044 dma_addr_t dma_handle;
3078 u8 dir; 3045 u8 dir;
3079 3046
@@ -3083,18 +3050,8 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
3083 cmd->cmnd[0]); 3050 cmd->cmnd[0]);
3084 3051
3085 /* Calculate number of entries and segments required. */ 3052 /* Calculate number of entries and segments required. */
3086 req_cnt = 1; 3053 seg_cnt = scsi_dma_map(cmd);
3087 if (cmd->use_sg) { 3054 if (seg_cnt) {
3088 /*
3089 * We must build an SG list in adapter format, as the kernel's
3090 * SG list cannot be used directly because of data field size
3091 * (__alpha__) differences and the kernel SG list uses virtual
3092 * addresses where we need physical addresses.
3093 */
3094 sg = (struct scatterlist *) cmd->request_buffer;
3095 seg_cnt = pci_map_sg(ha->pdev, sg, cmd->use_sg,
3096 cmd->sc_data_direction);
3097
3098 /* 3055 /*
3099 * if greater than four sg entries then we need to allocate 3056 * if greater than four sg entries then we need to allocate
3100 * continuation entries 3057 * continuation entries
@@ -3106,14 +3063,9 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
3106 } 3063 }
3107 dprintk(3, "S/G Transfer cmd=%p seg_cnt=0x%x, req_cnt=%x\n", 3064 dprintk(3, "S/G Transfer cmd=%p seg_cnt=0x%x, req_cnt=%x\n",
3108 cmd, seg_cnt, req_cnt); 3065 cmd, seg_cnt, req_cnt);
3109 } else if (cmd->request_bufflen) { /* If data transfer. */ 3066 } else if (seg_cnt < 0) {
3110 dprintk(3, "No S/G transfer t=%x cmd=%p len=%x CDB=%x\n", 3067 status = 1;
3111 SCSI_TCN_32(cmd), cmd, cmd->request_bufflen, 3068 goto out;
3112 cmd->cmnd[0]);
3113 seg_cnt = 1;
3114 } else {
3115 /* dprintk(1, "No data transfer \n"); */
3116 seg_cnt = 0;
3117 } 3069 }
3118 3070
3119 if ((req_cnt + 2) >= ha->req_q_cnt) { 3071 if ((req_cnt + 2) >= ha->req_q_cnt) {
@@ -3194,91 +3146,84 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
3194 * Load data segments. 3146 * Load data segments.
3195 */ 3147 */
3196 if (seg_cnt) { 3148 if (seg_cnt) {
3149 struct scatterlist *sg, *s;
3197 int remseg = seg_cnt; 3150 int remseg = seg_cnt;
3151
3152 sg = scsi_sglist(cmd);
3153
3198 /* Setup packet address segment pointer. */ 3154 /* Setup packet address segment pointer. */
3199 dword_ptr = &pkt->dseg_0_address; 3155 dword_ptr = &pkt->dseg_0_address;
3200 3156
3201 if (cmd->use_sg) { /* If scatter gather */ 3157 dprintk(3, "Building S/G data segments..\n");
3202 dprintk(3, "Building S/G data segments..\n"); 3158 qla1280_dump_buffer(1, (char *)sg, 4 * 16);
3203 qla1280_dump_buffer(1, (char *)sg, 4 * 16); 3159
3160 /* Load command entry data segments. */
3161 for_each_sg(sg, s, seg_cnt, cnt) {
3162 if (cnt == 4)
3163 break;
3164 *dword_ptr++ =
3165 cpu_to_le32(pci_dma_lo32(sg_dma_address(s)));
3166 *dword_ptr++ = cpu_to_le32(sg_dma_len(s));
3167 dprintk(3, "S/G Segment phys_addr=0x%lx, len=0x%x\n",
3168 (pci_dma_lo32(sg_dma_address(s))),
3169 (sg_dma_len(s)));
3170 remseg--;
3171 }
3172 /*
3173 * Build continuation packets.
3174 */
3175 dprintk(3, "S/G Building Continuation"
3176 "...seg_cnt=0x%x remains\n", seg_cnt);
3177 while (remseg > 0) {
3178 /* Continue from end point */
3179 sg = s;
3180 /* Adjust ring index. */
3181 ha->req_ring_index++;
3182 if (ha->req_ring_index == REQUEST_ENTRY_CNT) {
3183 ha->req_ring_index = 0;
3184 ha->request_ring_ptr =
3185 ha->request_ring;
3186 } else
3187 ha->request_ring_ptr++;
3188
3189 pkt = (struct cmd_entry *)ha->request_ring_ptr;
3190
3191 /* Zero out packet. */
3192 memset(pkt, 0, REQUEST_ENTRY_SIZE);
3193
3194 /* Load packet defaults. */
3195 ((struct cont_entry *) pkt)->
3196 entry_type = CONTINUE_TYPE;
3197 ((struct cont_entry *) pkt)->entry_count = 1;
3204 3198
3205 /* Load command entry data segments. */ 3199 ((struct cont_entry *) pkt)->sys_define =
3206 for_each_sg(sg, s, seg_cnt, cnt) { 3200 (uint8_t) ha->req_ring_index;
3207 if (cnt == 4) 3201
3202 /* Setup packet address segment pointer. */
3203 dword_ptr =
3204 &((struct cont_entry *) pkt)->dseg_0_address;
3205
3206 /* Load continuation entry data segments. */
3207 for_each_sg(sg, s, remseg, cnt) {
3208 if (cnt == 7)
3208 break; 3209 break;
3209 *dword_ptr++ = 3210 *dword_ptr++ =
3210 cpu_to_le32(pci_dma_lo32(sg_dma_address(s))); 3211 cpu_to_le32(pci_dma_lo32(sg_dma_address(s)));
3211 *dword_ptr++ = cpu_to_le32(sg_dma_len(s)); 3212 *dword_ptr++ =
3212 dprintk(3, "S/G Segment phys_addr=0x%lx, len=0x%x\n", 3213 cpu_to_le32(sg_dma_len(s));
3213 (pci_dma_lo32(sg_dma_address(s))), 3214 dprintk(1,
3214 (sg_dma_len(s))); 3215 "S/G Segment Cont. phys_addr=0x%x, "
3215 remseg--; 3216 "len=0x%x\n",
3216 } 3217 cpu_to_le32(pci_dma_lo32(sg_dma_address(s))),
3217 /* 3218 cpu_to_le32(sg_dma_len(s)));
3218 * Build continuation packets.
3219 */
3220 dprintk(3, "S/G Building Continuation"
3221 "...seg_cnt=0x%x remains\n", seg_cnt);
3222 while (remseg > 0) {
3223 /* Continue from end point */
3224 sg = s;
3225 /* Adjust ring index. */
3226 ha->req_ring_index++;
3227 if (ha->req_ring_index == REQUEST_ENTRY_CNT) {
3228 ha->req_ring_index = 0;
3229 ha->request_ring_ptr =
3230 ha->request_ring;
3231 } else
3232 ha->request_ring_ptr++;
3233
3234 pkt = (struct cmd_entry *)ha->request_ring_ptr;
3235
3236 /* Zero out packet. */
3237 memset(pkt, 0, REQUEST_ENTRY_SIZE);
3238
3239 /* Load packet defaults. */
3240 ((struct cont_entry *) pkt)->
3241 entry_type = CONTINUE_TYPE;
3242 ((struct cont_entry *) pkt)->entry_count = 1;
3243
3244 ((struct cont_entry *) pkt)->sys_define =
3245 (uint8_t) ha->req_ring_index;
3246
3247 /* Setup packet address segment pointer. */
3248 dword_ptr =
3249 &((struct cont_entry *) pkt)->dseg_0_address;
3250
3251 /* Load continuation entry data segments. */
3252 for_each_sg(sg, s, remseg, cnt) {
3253 if (cnt == 7)
3254 break;
3255 *dword_ptr++ =
3256 cpu_to_le32(pci_dma_lo32(sg_dma_address(s)));
3257 *dword_ptr++ =
3258 cpu_to_le32(sg_dma_len(s));
3259 dprintk(1,
3260 "S/G Segment Cont. phys_addr=0x%x, "
3261 "len=0x%x\n",
3262 cpu_to_le32(pci_dma_lo32(sg_dma_address(s))),
3263 cpu_to_le32(sg_dma_len(s)));
3264 }
3265 remseg -= cnt;
3266 dprintk(5, "qla1280_32bit_start_scsi: "
3267 "continuation packet data - "
3268 "scsi(%i:%i:%i)\n", SCSI_BUS_32(cmd),
3269 SCSI_TCN_32(cmd), SCSI_LUN_32(cmd));
3270 qla1280_dump_buffer(5, (char *)pkt,
3271 REQUEST_ENTRY_SIZE);
3272 } 3219 }
3273 } else { /* No S/G data transfer */ 3220 remseg -= cnt;
3274 dma_handle = pci_map_single(ha->pdev, 3221 dprintk(5, "qla1280_32bit_start_scsi: "
3275 cmd->request_buffer, 3222 "continuation packet data - "
3276 cmd->request_bufflen, 3223 "scsi(%i:%i:%i)\n", SCSI_BUS_32(cmd),
3277 cmd->sc_data_direction); 3224 SCSI_TCN_32(cmd), SCSI_LUN_32(cmd));
3278 sp->saved_dma_handle = dma_handle; 3225 qla1280_dump_buffer(5, (char *)pkt,
3279 3226 REQUEST_ENTRY_SIZE);
3280 *dword_ptr++ = cpu_to_le32(pci_dma_lo32(dma_handle));
3281 *dword_ptr = cpu_to_le32(cmd->request_bufflen);
3282 } 3227 }
3283 } else { /* No data transfer at all */ 3228 } else { /* No data transfer at all */
3284 dprintk(5, "qla1280_32bit_start_scsi: No data, command " 3229 dprintk(5, "qla1280_32bit_start_scsi: No data, command "
@@ -4086,9 +4031,9 @@ __qla1280_print_scsi_cmd(struct scsi_cmnd *cmd)
4086 for (i = 0; i < cmd->cmd_len; i++) { 4031 for (i = 0; i < cmd->cmd_len; i++) {
4087 printk("0x%02x ", cmd->cmnd[i]); 4032 printk("0x%02x ", cmd->cmnd[i]);
4088 } 4033 }
4089 printk(" seg_cnt =%d\n", cmd->use_sg); 4034 printk(" seg_cnt =%d\n", scsi_sg_count(cmd));
4090 printk(" request buffer=0x%p, request buffer len=0x%x\n", 4035 printk(" request buffer=0x%p, request buffer len=0x%x\n",
4091 cmd->request_buffer, cmd->request_bufflen); 4036 scsi_sglist(cmd), scsi_bufflen(cmd));
4092 /* if (cmd->use_sg) 4037 /* if (cmd->use_sg)
4093 { 4038 {
4094 sg = (struct scatterlist *) cmd->request_buffer; 4039 sg = (struct scatterlist *) cmd->request_buffer;
diff --git a/drivers/scsi/sun3_scsi.c b/drivers/scsi/sun3_scsi.c
index 5e46d842c6f9..e606cf0a2eb7 100644
--- a/drivers/scsi/sun3_scsi.c
+++ b/drivers/scsi/sun3_scsi.c
@@ -268,7 +268,7 @@ int sun3scsi_detect(struct scsi_host_template * tpnt)
268 ((struct NCR5380_hostdata *)instance->hostdata)->ctrl = 0; 268 ((struct NCR5380_hostdata *)instance->hostdata)->ctrl = 0;
269 269
270 if (request_irq(instance->irq, scsi_sun3_intr, 270 if (request_irq(instance->irq, scsi_sun3_intr,
271 0, "Sun3SCSI-5380", NULL)) { 271 0, "Sun3SCSI-5380", instance)) {
272#ifndef REAL_DMA 272#ifndef REAL_DMA
273 printk("scsi%d: IRQ%d not free, interrupts disabled\n", 273 printk("scsi%d: IRQ%d not free, interrupts disabled\n",
274 instance->host_no, instance->irq); 274 instance->host_no, instance->irq);
@@ -310,7 +310,7 @@ int sun3scsi_detect(struct scsi_host_template * tpnt)
310int sun3scsi_release (struct Scsi_Host *shpnt) 310int sun3scsi_release (struct Scsi_Host *shpnt)
311{ 311{
312 if (shpnt->irq != SCSI_IRQ_NONE) 312 if (shpnt->irq != SCSI_IRQ_NONE)
313 free_irq (shpnt->irq, NULL); 313 free_irq(shpnt->irq, shpnt);
314 314
315 iounmap((void *)sun3_scsi_regp); 315 iounmap((void *)sun3_scsi_regp);
316 316
diff --git a/drivers/scsi/sun3_scsi_vme.c b/drivers/scsi/sun3_scsi_vme.c
index 7cb4a31453e6..02d9727f017a 100644
--- a/drivers/scsi/sun3_scsi_vme.c
+++ b/drivers/scsi/sun3_scsi_vme.c
@@ -230,7 +230,7 @@ static int sun3scsi_detect(struct scsi_host_template * tpnt)
230 ((struct NCR5380_hostdata *)instance->hostdata)->ctrl = 0; 230 ((struct NCR5380_hostdata *)instance->hostdata)->ctrl = 0;
231 231
232 if (request_irq(instance->irq, scsi_sun3_intr, 232 if (request_irq(instance->irq, scsi_sun3_intr,
233 0, "Sun3SCSI-5380VME", NULL)) { 233 0, "Sun3SCSI-5380VME", instance)) {
234#ifndef REAL_DMA 234#ifndef REAL_DMA
235 printk("scsi%d: IRQ%d not free, interrupts disabled\n", 235 printk("scsi%d: IRQ%d not free, interrupts disabled\n",
236 instance->host_no, instance->irq); 236 instance->host_no, instance->irq);
@@ -279,7 +279,7 @@ static int sun3scsi_detect(struct scsi_host_template * tpnt)
279int sun3scsi_release (struct Scsi_Host *shpnt) 279int sun3scsi_release (struct Scsi_Host *shpnt)
280{ 280{
281 if (shpnt->irq != SCSI_IRQ_NONE) 281 if (shpnt->irq != SCSI_IRQ_NONE)
282 free_irq (shpnt->irq, NULL); 282 free_irq(shpnt->irq, shpnt);
283 283
284 iounmap((void *)sun3_scsi_regp); 284 iounmap((void *)sun3_scsi_regp);
285 285
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index 248d60b8d899..041eaaace2c3 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -259,7 +259,8 @@ found:
259 instance->irq = NCR5380_probe_irq(instance, T128_IRQS); 259 instance->irq = NCR5380_probe_irq(instance, T128_IRQS);
260 260
261 if (instance->irq != SCSI_IRQ_NONE) 261 if (instance->irq != SCSI_IRQ_NONE)
262 if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128", instance)) { 262 if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128",
263 instance)) {
263 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 264 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
264 instance->host_no, instance->irq); 265 instance->host_no, instance->irq);
265 instance->irq = SCSI_IRQ_NONE; 266 instance->irq = SCSI_IRQ_NONE;
@@ -295,7 +296,7 @@ static int t128_release(struct Scsi_Host *shost)
295 NCR5380_local_declare(); 296 NCR5380_local_declare();
296 NCR5380_setup(shost); 297 NCR5380_setup(shost);
297 if (shost->irq) 298 if (shost->irq)
298 free_irq(shost->irq, NULL); 299 free_irq(shost->irq, shost);
299 NCR5380_exit(shost); 300 NCR5380_exit(shost);
300 if (shost->io_port && shost->n_io_port) 301 if (shost->io_port && shost->n_io_port)
301 release_region(shost->io_port, shost->n_io_port); 302 release_region(shost->io_port, shost->n_io_port);
diff --git a/drivers/spi/at25.c b/drivers/spi/at25.c
index e007833cca59..290dbe99647a 100644
--- a/drivers/spi/at25.c
+++ b/drivers/spi/at25.c
@@ -21,6 +21,13 @@
21#include <linux/spi/eeprom.h> 21#include <linux/spi/eeprom.h>
22 22
23 23
24/*
25 * NOTE: this is an *EEPROM* driver. The vagaries of product naming
26 * mean that some AT25 products are EEPROMs, and others are FLASH.
27 * Handle FLASH chips with the drivers/mtd/devices/m25p80.c driver,
28 * not this one!
29 */
30
24struct at25_data { 31struct at25_data {
25 struct spi_device *spi; 32 struct spi_device *spi;
26 struct mutex lock; 33 struct mutex lock;
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index b31f4431849b..93e9de46977a 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -541,10 +541,7 @@ static void spi_complete(void *arg)
541 * Also, the caller is guaranteeing that the memory associated with the 541 * Also, the caller is guaranteeing that the memory associated with the
542 * message will not be freed before this call returns. 542 * message will not be freed before this call returns.
543 * 543 *
544 * The return value is a negative error code if the message could not be 544 * It returns zero on success, else a negative error code.
545 * submitted, else zero. When the value is zero, then message->status is
546 * also defined; it's the completion code for the transfer, either zero
547 * or a negative error code from the controller driver.
548 */ 545 */
549int spi_sync(struct spi_device *spi, struct spi_message *message) 546int spi_sync(struct spi_device *spi, struct spi_message *message)
550{ 547{
@@ -554,8 +551,10 @@ int spi_sync(struct spi_device *spi, struct spi_message *message)
554 message->complete = spi_complete; 551 message->complete = spi_complete;
555 message->context = &done; 552 message->context = &done;
556 status = spi_async(spi, message); 553 status = spi_async(spi, message);
557 if (status == 0) 554 if (status == 0) {
558 wait_for_completion(&done); 555 wait_for_completion(&done);
556 status = message->status;
557 }
559 message->context = NULL; 558 message->context = NULL;
560 return status; 559 return status;
561} 560}
@@ -589,7 +588,7 @@ int spi_write_then_read(struct spi_device *spi,
589 const u8 *txbuf, unsigned n_tx, 588 const u8 *txbuf, unsigned n_tx,
590 u8 *rxbuf, unsigned n_rx) 589 u8 *rxbuf, unsigned n_rx)
591{ 590{
592 static DECLARE_MUTEX(lock); 591 static DEFINE_MUTEX(lock);
593 592
594 int status; 593 int status;
595 struct spi_message message; 594 struct spi_message message;
@@ -615,7 +614,7 @@ int spi_write_then_read(struct spi_device *spi,
615 } 614 }
616 615
617 /* ... unless someone else is using the pre-allocated buffer */ 616 /* ... unless someone else is using the pre-allocated buffer */
618 if (down_trylock(&lock)) { 617 if (!mutex_trylock(&lock)) {
619 local_buf = kmalloc(SPI_BUFSIZ, GFP_KERNEL); 618 local_buf = kmalloc(SPI_BUFSIZ, GFP_KERNEL);
620 if (!local_buf) 619 if (!local_buf)
621 return -ENOMEM; 620 return -ENOMEM;
@@ -628,13 +627,11 @@ int spi_write_then_read(struct spi_device *spi,
628 627
629 /* do the i/o */ 628 /* do the i/o */
630 status = spi_sync(spi, &message); 629 status = spi_sync(spi, &message);
631 if (status == 0) { 630 if (status == 0)
632 memcpy(rxbuf, x[1].rx_buf, n_rx); 631 memcpy(rxbuf, x[1].rx_buf, n_rx);
633 status = message.status;
634 }
635 632
636 if (x[0].tx_buf == buf) 633 if (x[0].tx_buf == buf)
637 up(&lock); 634 mutex_unlock(&lock);
638 else 635 else
639 kfree(local_buf); 636 kfree(local_buf);
640 637
diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
index 2ef11bb70b2e..22697b812205 100644
--- a/drivers/spi/spi_bfin5xx.c
+++ b/drivers/spi/spi_bfin5xx.c
@@ -1,17 +1,22 @@
1/* 1/*
2 * File: drivers/spi/bfin5xx_spi.c 2 * File: drivers/spi/bfin5xx_spi.c
3 * Based on: N/A 3 * Maintainer:
4 * Author: Luke Yang (Analog Devices Inc.) 4 * Bryan Wu <bryan.wu@analog.com>
5 * Original Author:
6 * Luke Yang (Analog Devices Inc.)
5 * 7 *
6 * Created: March. 10th 2006 8 * Created: March. 10th 2006
7 * Description: SPI controller driver for Blackfin 5xx 9 * Description: SPI controller driver for Blackfin BF5xx
8 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 10 * Bugs: Enter bugs at http://blackfin.uclinux.org/
9 * 11 *
10 * Modified: 12 * Modified:
11 * March 10, 2006 bfin5xx_spi.c Created. (Luke Yang) 13 * March 10, 2006 bfin5xx_spi.c Created. (Luke Yang)
12 * August 7, 2006 added full duplex mode (Axel Weiss & Luke Yang) 14 * August 7, 2006 added full duplex mode (Axel Weiss & Luke Yang)
15 * July 17, 2007 add support for BF54x SPI0 controller (Bryan Wu)
16 * July 30, 2007 add platfrom_resource interface to support multi-port
17 * SPI controller (Bryan Wu)
13 * 18 *
14 * Copyright 2004-2006 Analog Devices Inc. 19 * Copyright 2004-2007 Analog Devices Inc.
15 * 20 *
16 * This program is free software ; you can redistribute it and/or modify 21 * This program is free software ; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by 22 * it under the terms of the GNU General Public License as published by
@@ -31,50 +36,39 @@
31 36
32#include <linux/init.h> 37#include <linux/init.h>
33#include <linux/module.h> 38#include <linux/module.h>
39#include <linux/delay.h>
34#include <linux/device.h> 40#include <linux/device.h>
41#include <linux/io.h>
35#include <linux/ioport.h> 42#include <linux/ioport.h>
43#include <linux/irq.h>
36#include <linux/errno.h> 44#include <linux/errno.h>
37#include <linux/interrupt.h> 45#include <linux/interrupt.h>
38#include <linux/platform_device.h> 46#include <linux/platform_device.h>
39#include <linux/dma-mapping.h> 47#include <linux/dma-mapping.h>
40#include <linux/spi/spi.h> 48#include <linux/spi/spi.h>
41#include <linux/workqueue.h> 49#include <linux/workqueue.h>
42#include <linux/delay.h>
43 50
44#include <asm/io.h>
45#include <asm/irq.h>
46#include <asm/delay.h>
47#include <asm/dma.h> 51#include <asm/dma.h>
48 52#include <asm/portmux.h>
49#include <asm/bfin5xx_spi.h> 53#include <asm/bfin5xx_spi.h>
50 54
51MODULE_AUTHOR("Luke Yang"); 55#define DRV_NAME "bfin-spi"
52MODULE_DESCRIPTION("Blackfin 5xx SPI Contoller"); 56#define DRV_AUTHOR "Bryan Wu, Luke Yang"
53MODULE_LICENSE("GPL"); 57#define DRV_DESC "Blackfin BF5xx on-chip SPI Contoller Driver"
58#define DRV_VERSION "1.0"
54 59
55#define IS_DMA_ALIGNED(x) (((u32)(x)&0x07)==0) 60MODULE_AUTHOR(DRV_AUTHOR);
61MODULE_DESCRIPTION(DRV_DESC);
62MODULE_LICENSE("GPL");
56 63
57#define DEFINE_SPI_REG(reg, off) \ 64#define IS_DMA_ALIGNED(x) (((u32)(x)&0x07) == 0)
58static inline u16 read_##reg(void) \
59 { return *(volatile unsigned short*)(SPI0_REGBASE + off); } \
60static inline void write_##reg(u16 v) \
61 {*(volatile unsigned short*)(SPI0_REGBASE + off) = v;\
62 SSYNC();}
63 65
64DEFINE_SPI_REG(CTRL, 0x00) 66#define START_STATE ((void *)0)
65DEFINE_SPI_REG(FLAG, 0x04) 67#define RUNNING_STATE ((void *)1)
66DEFINE_SPI_REG(STAT, 0x08) 68#define DONE_STATE ((void *)2)
67DEFINE_SPI_REG(TDBR, 0x0C) 69#define ERROR_STATE ((void *)-1)
68DEFINE_SPI_REG(RDBR, 0x10) 70#define QUEUE_RUNNING 0
69DEFINE_SPI_REG(BAUD, 0x14) 71#define QUEUE_STOPPED 1
70DEFINE_SPI_REG(SHAW, 0x18)
71#define START_STATE ((void*)0)
72#define RUNNING_STATE ((void*)1)
73#define DONE_STATE ((void*)2)
74#define ERROR_STATE ((void*)-1)
75#define QUEUE_RUNNING 0
76#define QUEUE_STOPPED 1
77int dma_requested;
78 72
79struct driver_data { 73struct driver_data {
80 /* Driver model hookup */ 74 /* Driver model hookup */
@@ -83,6 +77,12 @@ struct driver_data {
83 /* SPI framework hookup */ 77 /* SPI framework hookup */
84 struct spi_master *master; 78 struct spi_master *master;
85 79
80 /* Regs base of SPI controller */
81 void __iomem *regs_base;
82
83 /* Pin request list */
84 u16 *pin_req;
85
86 /* BFIN hookup */ 86 /* BFIN hookup */
87 struct bfin5xx_spi_master *master_info; 87 struct bfin5xx_spi_master *master_info;
88 88
@@ -107,12 +107,18 @@ struct driver_data {
107 void *tx_end; 107 void *tx_end;
108 void *rx; 108 void *rx;
109 void *rx_end; 109 void *rx_end;
110
111 /* DMA stuffs */
112 int dma_channel;
110 int dma_mapped; 113 int dma_mapped;
114 int dma_requested;
111 dma_addr_t rx_dma; 115 dma_addr_t rx_dma;
112 dma_addr_t tx_dma; 116 dma_addr_t tx_dma;
117
113 size_t rx_map_len; 118 size_t rx_map_len;
114 size_t tx_map_len; 119 size_t tx_map_len;
115 u8 n_bytes; 120 u8 n_bytes;
121 int cs_change;
116 void (*write) (struct driver_data *); 122 void (*write) (struct driver_data *);
117 void (*read) (struct driver_data *); 123 void (*read) (struct driver_data *);
118 void (*duplex) (struct driver_data *); 124 void (*duplex) (struct driver_data *);
@@ -129,28 +135,40 @@ struct chip_data {
129 u8 enable_dma; 135 u8 enable_dma;
130 u8 bits_per_word; /* 8 or 16 */ 136 u8 bits_per_word; /* 8 or 16 */
131 u8 cs_change_per_word; 137 u8 cs_change_per_word;
132 u8 cs_chg_udelay; 138 u16 cs_chg_udelay; /* Some devices require > 255usec delay */
133 void (*write) (struct driver_data *); 139 void (*write) (struct driver_data *);
134 void (*read) (struct driver_data *); 140 void (*read) (struct driver_data *);
135 void (*duplex) (struct driver_data *); 141 void (*duplex) (struct driver_data *);
136}; 142};
137 143
144#define DEFINE_SPI_REG(reg, off) \
145static inline u16 read_##reg(struct driver_data *drv_data) \
146 { return bfin_read16(drv_data->regs_base + off); } \
147static inline void write_##reg(struct driver_data *drv_data, u16 v) \
148 { bfin_write16(drv_data->regs_base + off, v); }
149
150DEFINE_SPI_REG(CTRL, 0x00)
151DEFINE_SPI_REG(FLAG, 0x04)
152DEFINE_SPI_REG(STAT, 0x08)
153DEFINE_SPI_REG(TDBR, 0x0C)
154DEFINE_SPI_REG(RDBR, 0x10)
155DEFINE_SPI_REG(BAUD, 0x14)
156DEFINE_SPI_REG(SHAW, 0x18)
157
138static void bfin_spi_enable(struct driver_data *drv_data) 158static void bfin_spi_enable(struct driver_data *drv_data)
139{ 159{
140 u16 cr; 160 u16 cr;
141 161
142 cr = read_CTRL(); 162 cr = read_CTRL(drv_data);
143 write_CTRL(cr | BIT_CTL_ENABLE); 163 write_CTRL(drv_data, (cr | BIT_CTL_ENABLE));
144 SSYNC();
145} 164}
146 165
147static void bfin_spi_disable(struct driver_data *drv_data) 166static void bfin_spi_disable(struct driver_data *drv_data)
148{ 167{
149 u16 cr; 168 u16 cr;
150 169
151 cr = read_CTRL(); 170 cr = read_CTRL(drv_data);
152 write_CTRL(cr & (~BIT_CTL_ENABLE)); 171 write_CTRL(drv_data, (cr & (~BIT_CTL_ENABLE)));
153 SSYNC();
154} 172}
155 173
156/* Caculate the SPI_BAUD register value based on input HZ */ 174/* Caculate the SPI_BAUD register value based on input HZ */
@@ -170,83 +188,71 @@ static int flush(struct driver_data *drv_data)
170 unsigned long limit = loops_per_jiffy << 1; 188 unsigned long limit = loops_per_jiffy << 1;
171 189
172 /* wait for stop and clear stat */ 190 /* wait for stop and clear stat */
173 while (!(read_STAT() & BIT_STAT_SPIF) && limit--) 191 while (!(read_STAT(drv_data) & BIT_STAT_SPIF) && limit--)
174 continue; 192 cpu_relax();
175 193
176 write_STAT(BIT_STAT_CLR); 194 write_STAT(drv_data, BIT_STAT_CLR);
177 195
178 return limit; 196 return limit;
179} 197}
180 198
199/* Chip select operation functions for cs_change flag */
200static void cs_active(struct driver_data *drv_data, struct chip_data *chip)
201{
202 u16 flag = read_FLAG(drv_data);
203
204 flag |= chip->flag;
205 flag &= ~(chip->flag << 8);
206
207 write_FLAG(drv_data, flag);
208}
209
210static void cs_deactive(struct driver_data *drv_data, struct chip_data *chip)
211{
212 u16 flag = read_FLAG(drv_data);
213
214 flag |= (chip->flag << 8);
215
216 write_FLAG(drv_data, flag);
217
218 /* Move delay here for consistency */
219 if (chip->cs_chg_udelay)
220 udelay(chip->cs_chg_udelay);
221}
222
223#define MAX_SPI_SSEL 7
224
181/* stop controller and re-config current chip*/ 225/* stop controller and re-config current chip*/
182static void restore_state(struct driver_data *drv_data) 226static int restore_state(struct driver_data *drv_data)
183{ 227{
184 struct chip_data *chip = drv_data->cur_chip; 228 struct chip_data *chip = drv_data->cur_chip;
229 int ret = 0;
185 230
186 /* Clear status and disable clock */ 231 /* Clear status and disable clock */
187 write_STAT(BIT_STAT_CLR); 232 write_STAT(drv_data, BIT_STAT_CLR);
188 bfin_spi_disable(drv_data); 233 bfin_spi_disable(drv_data);
189 dev_dbg(&drv_data->pdev->dev, "restoring spi ctl state\n"); 234 dev_dbg(&drv_data->pdev->dev, "restoring spi ctl state\n");
190 235
191#if defined(CONFIG_BF534) || defined(CONFIG_BF536) || defined(CONFIG_BF537) 236 /* Load the registers */
192 dev_dbg(&drv_data->pdev->dev, 237 write_CTRL(drv_data, chip->ctl_reg);
193 "chip select number is %d\n", chip->chip_select_num); 238 write_BAUD(drv_data, chip->baud);
194
195 switch (chip->chip_select_num) {
196 case 1:
197 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3c00);
198 SSYNC();
199 break;
200
201 case 2:
202 case 3:
203 bfin_write_PORT_MUX(bfin_read_PORT_MUX() | PJSE_SPI);
204 SSYNC();
205 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3800);
206 SSYNC();
207 break;
208
209 case 4:
210 bfin_write_PORT_MUX(bfin_read_PORT_MUX() | PFS4E_SPI);
211 SSYNC();
212 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3840);
213 SSYNC();
214 break;
215 239
216 case 5: 240 bfin_spi_enable(drv_data);
217 bfin_write_PORT_MUX(bfin_read_PORT_MUX() | PFS5E_SPI); 241 cs_active(drv_data, chip);
218 SSYNC();
219 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3820);
220 SSYNC();
221 break;
222 242
223 case 6: 243 if (ret)
224 bfin_write_PORT_MUX(bfin_read_PORT_MUX() | PFS6E_SPI); 244 dev_dbg(&drv_data->pdev->dev,
225 SSYNC(); 245 ": request chip select number %d failed\n",
226 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3810); 246 chip->chip_select_num);
227 SSYNC();
228 break;
229 247
230 case 7: 248 return ret;
231 bfin_write_PORT_MUX(bfin_read_PORT_MUX() | PJCE_SPI);
232 SSYNC();
233 bfin_write_PORTF_FER(bfin_read_PORTF_FER() | 0x3800);
234 SSYNC();
235 break;
236 }
237#endif
238
239 /* Load the registers */
240 write_CTRL(chip->ctl_reg);
241 write_BAUD(chip->baud);
242 write_FLAG(chip->flag);
243} 249}
244 250
245/* used to kick off transfer in rx mode */ 251/* used to kick off transfer in rx mode */
246static unsigned short dummy_read(void) 252static unsigned short dummy_read(struct driver_data *drv_data)
247{ 253{
248 unsigned short tmp; 254 unsigned short tmp;
249 tmp = read_RDBR(); 255 tmp = read_RDBR(drv_data);
250 return tmp; 256 return tmp;
251} 257}
252 258
@@ -255,9 +261,9 @@ static void null_writer(struct driver_data *drv_data)
255 u8 n_bytes = drv_data->n_bytes; 261 u8 n_bytes = drv_data->n_bytes;
256 262
257 while (drv_data->tx < drv_data->tx_end) { 263 while (drv_data->tx < drv_data->tx_end) {
258 write_TDBR(0); 264 write_TDBR(drv_data, 0);
259 while ((read_STAT() & BIT_STAT_TXS)) 265 while ((read_STAT(drv_data) & BIT_STAT_TXS))
260 continue; 266 cpu_relax();
261 drv_data->tx += n_bytes; 267 drv_data->tx += n_bytes;
262 } 268 }
263} 269}
@@ -265,75 +271,78 @@ static void null_writer(struct driver_data *drv_data)
265static void null_reader(struct driver_data *drv_data) 271static void null_reader(struct driver_data *drv_data)
266{ 272{
267 u8 n_bytes = drv_data->n_bytes; 273 u8 n_bytes = drv_data->n_bytes;
268 dummy_read(); 274 dummy_read(drv_data);
269 275
270 while (drv_data->rx < drv_data->rx_end) { 276 while (drv_data->rx < drv_data->rx_end) {
271 while (!(read_STAT() & BIT_STAT_RXS)) 277 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
272 continue; 278 cpu_relax();
273 dummy_read(); 279 dummy_read(drv_data);
274 drv_data->rx += n_bytes; 280 drv_data->rx += n_bytes;
275 } 281 }
276} 282}
277 283
278static void u8_writer(struct driver_data *drv_data) 284static void u8_writer(struct driver_data *drv_data)
279{ 285{
280 dev_dbg(&drv_data->pdev->dev, 286 dev_dbg(&drv_data->pdev->dev,
281 "cr8-s is 0x%x\n", read_STAT()); 287 "cr8-s is 0x%x\n", read_STAT(drv_data));
288
289 /* poll for SPI completion before start */
290 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
291 cpu_relax();
292
282 while (drv_data->tx < drv_data->tx_end) { 293 while (drv_data->tx < drv_data->tx_end) {
283 write_TDBR(*(u8 *) (drv_data->tx)); 294 write_TDBR(drv_data, (*(u8 *) (drv_data->tx)));
284 while (read_STAT() & BIT_STAT_TXS) 295 while (read_STAT(drv_data) & BIT_STAT_TXS)
285 continue; 296 cpu_relax();
286 ++drv_data->tx; 297 ++drv_data->tx;
287 } 298 }
288
289 /* poll for SPI completion before returning */
290 while (!(read_STAT() & BIT_STAT_SPIF))
291 continue;
292} 299}
293 300
294static void u8_cs_chg_writer(struct driver_data *drv_data) 301static void u8_cs_chg_writer(struct driver_data *drv_data)
295{ 302{
296 struct chip_data *chip = drv_data->cur_chip; 303 struct chip_data *chip = drv_data->cur_chip;
297 304
305 /* poll for SPI completion before start */
306 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
307 cpu_relax();
308
298 while (drv_data->tx < drv_data->tx_end) { 309 while (drv_data->tx < drv_data->tx_end) {
299 write_FLAG(chip->flag); 310 cs_active(drv_data, chip);
300 SSYNC(); 311
301 312 write_TDBR(drv_data, (*(u8 *) (drv_data->tx)));
302 write_TDBR(*(u8 *) (drv_data->tx)); 313 while (read_STAT(drv_data) & BIT_STAT_TXS)
303 while (read_STAT() & BIT_STAT_TXS) 314 cpu_relax();
304 continue; 315
305 while (!(read_STAT() & BIT_STAT_SPIF)) 316 cs_deactive(drv_data, chip);
306 continue; 317
307 write_FLAG(0xFF00 | chip->flag);
308 SSYNC();
309 if (chip->cs_chg_udelay)
310 udelay(chip->cs_chg_udelay);
311 ++drv_data->tx; 318 ++drv_data->tx;
312 } 319 }
313 write_FLAG(0xFF00);
314 SSYNC();
315} 320}
316 321
317static void u8_reader(struct driver_data *drv_data) 322static void u8_reader(struct driver_data *drv_data)
318{ 323{
319 dev_dbg(&drv_data->pdev->dev, 324 dev_dbg(&drv_data->pdev->dev,
320 "cr-8 is 0x%x\n", read_STAT()); 325 "cr-8 is 0x%x\n", read_STAT(drv_data));
326
327 /* poll for SPI completion before start */
328 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
329 cpu_relax();
321 330
322 /* clear TDBR buffer before read(else it will be shifted out) */ 331 /* clear TDBR buffer before read(else it will be shifted out) */
323 write_TDBR(0xFFFF); 332 write_TDBR(drv_data, 0xFFFF);
324 333
325 dummy_read(); 334 dummy_read(drv_data);
326 335
327 while (drv_data->rx < drv_data->rx_end - 1) { 336 while (drv_data->rx < drv_data->rx_end - 1) {
328 while (!(read_STAT() & BIT_STAT_RXS)) 337 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
329 continue; 338 cpu_relax();
330 *(u8 *) (drv_data->rx) = read_RDBR(); 339 *(u8 *) (drv_data->rx) = read_RDBR(drv_data);
331 ++drv_data->rx; 340 ++drv_data->rx;
332 } 341 }
333 342
334 while (!(read_STAT() & BIT_STAT_RXS)) 343 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
335 continue; 344 cpu_relax();
336 *(u8 *) (drv_data->rx) = read_SHAW(); 345 *(u8 *) (drv_data->rx) = read_SHAW(drv_data);
337 ++drv_data->rx; 346 ++drv_data->rx;
338} 347}
339 348
@@ -341,36 +350,47 @@ static void u8_cs_chg_reader(struct driver_data *drv_data)
341{ 350{
342 struct chip_data *chip = drv_data->cur_chip; 351 struct chip_data *chip = drv_data->cur_chip;
343 352
344 while (drv_data->rx < drv_data->rx_end) { 353 /* poll for SPI completion before start */
345 write_FLAG(chip->flag); 354 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
346 SSYNC(); 355 cpu_relax();
347 356
348 read_RDBR(); /* kick off */ 357 /* clear TDBR buffer before read(else it will be shifted out) */
349 while (!(read_STAT() & BIT_STAT_RXS)) 358 write_TDBR(drv_data, 0xFFFF);
350 continue; 359
351 while (!(read_STAT() & BIT_STAT_SPIF)) 360 cs_active(drv_data, chip);
352 continue; 361 dummy_read(drv_data);
353 *(u8 *) (drv_data->rx) = read_SHAW(); 362
354 write_FLAG(0xFF00 | chip->flag); 363 while (drv_data->rx < drv_data->rx_end - 1) {
355 SSYNC(); 364 cs_deactive(drv_data, chip);
356 if (chip->cs_chg_udelay) 365
357 udelay(chip->cs_chg_udelay); 366 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
367 cpu_relax();
368 cs_active(drv_data, chip);
369 *(u8 *) (drv_data->rx) = read_RDBR(drv_data);
358 ++drv_data->rx; 370 ++drv_data->rx;
359 } 371 }
360 write_FLAG(0xFF00); 372 cs_deactive(drv_data, chip);
361 SSYNC(); 373
374 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
375 cpu_relax();
376 *(u8 *) (drv_data->rx) = read_SHAW(drv_data);
377 ++drv_data->rx;
362} 378}
363 379
364static void u8_duplex(struct driver_data *drv_data) 380static void u8_duplex(struct driver_data *drv_data)
365{ 381{
382 /* poll for SPI completion before start */
383 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
384 cpu_relax();
385
366 /* in duplex mode, clk is triggered by writing of TDBR */ 386 /* in duplex mode, clk is triggered by writing of TDBR */
367 while (drv_data->rx < drv_data->rx_end) { 387 while (drv_data->rx < drv_data->rx_end) {
368 write_TDBR(*(u8 *) (drv_data->tx)); 388 write_TDBR(drv_data, (*(u8 *) (drv_data->tx)));
369 while (!(read_STAT() & BIT_STAT_SPIF)) 389 while (read_STAT(drv_data) & BIT_STAT_TXS)
370 continue; 390 cpu_relax();
371 while (!(read_STAT() & BIT_STAT_RXS)) 391 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
372 continue; 392 cpu_relax();
373 *(u8 *) (drv_data->rx) = read_RDBR(); 393 *(u8 *) (drv_data->rx) = read_RDBR(drv_data);
374 ++drv_data->rx; 394 ++drv_data->rx;
375 ++drv_data->tx; 395 ++drv_data->tx;
376 } 396 }
@@ -380,83 +400,89 @@ static void u8_cs_chg_duplex(struct driver_data *drv_data)
380{ 400{
381 struct chip_data *chip = drv_data->cur_chip; 401 struct chip_data *chip = drv_data->cur_chip;
382 402
403 /* poll for SPI completion before start */
404 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
405 cpu_relax();
406
383 while (drv_data->rx < drv_data->rx_end) { 407 while (drv_data->rx < drv_data->rx_end) {
384 write_FLAG(chip->flag); 408 cs_active(drv_data, chip);
385 SSYNC(); 409
386 410 write_TDBR(drv_data, (*(u8 *) (drv_data->tx)));
387 write_TDBR(*(u8 *) (drv_data->tx)); 411 while (read_STAT(drv_data) & BIT_STAT_TXS)
388 while (!(read_STAT() & BIT_STAT_SPIF)) 412 cpu_relax();
389 continue; 413 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
390 while (!(read_STAT() & BIT_STAT_RXS)) 414 cpu_relax();
391 continue; 415 *(u8 *) (drv_data->rx) = read_RDBR(drv_data);
392 *(u8 *) (drv_data->rx) = read_RDBR(); 416
393 write_FLAG(0xFF00 | chip->flag); 417 cs_deactive(drv_data, chip);
394 SSYNC(); 418
395 if (chip->cs_chg_udelay)
396 udelay(chip->cs_chg_udelay);
397 ++drv_data->rx; 419 ++drv_data->rx;
398 ++drv_data->tx; 420 ++drv_data->tx;
399 } 421 }
400 write_FLAG(0xFF00);
401 SSYNC();
402} 422}
403 423
404static void u16_writer(struct driver_data *drv_data) 424static void u16_writer(struct driver_data *drv_data)
405{ 425{
406 dev_dbg(&drv_data->pdev->dev, 426 dev_dbg(&drv_data->pdev->dev,
407 "cr16 is 0x%x\n", read_STAT()); 427 "cr16 is 0x%x\n", read_STAT(drv_data));
428
429 /* poll for SPI completion before start */
430 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
431 cpu_relax();
408 432
409 while (drv_data->tx < drv_data->tx_end) { 433 while (drv_data->tx < drv_data->tx_end) {
410 write_TDBR(*(u16 *) (drv_data->tx)); 434 write_TDBR(drv_data, (*(u16 *) (drv_data->tx)));
411 while ((read_STAT() & BIT_STAT_TXS)) 435 while ((read_STAT(drv_data) & BIT_STAT_TXS))
412 continue; 436 cpu_relax();
413 drv_data->tx += 2; 437 drv_data->tx += 2;
414 } 438 }
415
416 /* poll for SPI completion before returning */
417 while (!(read_STAT() & BIT_STAT_SPIF))
418 continue;
419} 439}
420 440
421static void u16_cs_chg_writer(struct driver_data *drv_data) 441static void u16_cs_chg_writer(struct driver_data *drv_data)
422{ 442{
423 struct chip_data *chip = drv_data->cur_chip; 443 struct chip_data *chip = drv_data->cur_chip;
424 444
445 /* poll for SPI completion before start */
446 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
447 cpu_relax();
448
425 while (drv_data->tx < drv_data->tx_end) { 449 while (drv_data->tx < drv_data->tx_end) {
426 write_FLAG(chip->flag); 450 cs_active(drv_data, chip);
427 SSYNC(); 451
428 452 write_TDBR(drv_data, (*(u16 *) (drv_data->tx)));
429 write_TDBR(*(u16 *) (drv_data->tx)); 453 while ((read_STAT(drv_data) & BIT_STAT_TXS))
430 while ((read_STAT() & BIT_STAT_TXS)) 454 cpu_relax();
431 continue; 455
432 while (!(read_STAT() & BIT_STAT_SPIF)) 456 cs_deactive(drv_data, chip);
433 continue; 457
434 write_FLAG(0xFF00 | chip->flag);
435 SSYNC();
436 if (chip->cs_chg_udelay)
437 udelay(chip->cs_chg_udelay);
438 drv_data->tx += 2; 458 drv_data->tx += 2;
439 } 459 }
440 write_FLAG(0xFF00);
441 SSYNC();
442} 460}
443 461
444static void u16_reader(struct driver_data *drv_data) 462static void u16_reader(struct driver_data *drv_data)
445{ 463{
446 dev_dbg(&drv_data->pdev->dev, 464 dev_dbg(&drv_data->pdev->dev,
447 "cr-16 is 0x%x\n", read_STAT()); 465 "cr-16 is 0x%x\n", read_STAT(drv_data));
448 dummy_read(); 466
467 /* poll for SPI completion before start */
468 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
469 cpu_relax();
470
471 /* clear TDBR buffer before read(else it will be shifted out) */
472 write_TDBR(drv_data, 0xFFFF);
473
474 dummy_read(drv_data);
449 475
450 while (drv_data->rx < (drv_data->rx_end - 2)) { 476 while (drv_data->rx < (drv_data->rx_end - 2)) {
451 while (!(read_STAT() & BIT_STAT_RXS)) 477 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
452 continue; 478 cpu_relax();
453 *(u16 *) (drv_data->rx) = read_RDBR(); 479 *(u16 *) (drv_data->rx) = read_RDBR(drv_data);
454 drv_data->rx += 2; 480 drv_data->rx += 2;
455 } 481 }
456 482
457 while (!(read_STAT() & BIT_STAT_RXS)) 483 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
458 continue; 484 cpu_relax();
459 *(u16 *) (drv_data->rx) = read_SHAW(); 485 *(u16 *) (drv_data->rx) = read_SHAW(drv_data);
460 drv_data->rx += 2; 486 drv_data->rx += 2;
461} 487}
462 488
@@ -464,36 +490,47 @@ static void u16_cs_chg_reader(struct driver_data *drv_data)
464{ 490{
465 struct chip_data *chip = drv_data->cur_chip; 491 struct chip_data *chip = drv_data->cur_chip;
466 492
467 while (drv_data->rx < drv_data->rx_end) { 493 /* poll for SPI completion before start */
468 write_FLAG(chip->flag); 494 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
469 SSYNC(); 495 cpu_relax();
470 496
471 read_RDBR(); /* kick off */ 497 /* clear TDBR buffer before read(else it will be shifted out) */
472 while (!(read_STAT() & BIT_STAT_RXS)) 498 write_TDBR(drv_data, 0xFFFF);
473 continue; 499
474 while (!(read_STAT() & BIT_STAT_SPIF)) 500 cs_active(drv_data, chip);
475 continue; 501 dummy_read(drv_data);
476 *(u16 *) (drv_data->rx) = read_SHAW(); 502
477 write_FLAG(0xFF00 | chip->flag); 503 while (drv_data->rx < drv_data->rx_end - 2) {
478 SSYNC(); 504 cs_deactive(drv_data, chip);
479 if (chip->cs_chg_udelay) 505
480 udelay(chip->cs_chg_udelay); 506 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
507 cpu_relax();
508 cs_active(drv_data, chip);
509 *(u16 *) (drv_data->rx) = read_RDBR(drv_data);
481 drv_data->rx += 2; 510 drv_data->rx += 2;
482 } 511 }
483 write_FLAG(0xFF00); 512 cs_deactive(drv_data, chip);
484 SSYNC(); 513
514 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
515 cpu_relax();
516 *(u16 *) (drv_data->rx) = read_SHAW(drv_data);
517 drv_data->rx += 2;
485} 518}
486 519
487static void u16_duplex(struct driver_data *drv_data) 520static void u16_duplex(struct driver_data *drv_data)
488{ 521{
522 /* poll for SPI completion before start */
523 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
524 cpu_relax();
525
489 /* in duplex mode, clk is triggered by writing of TDBR */ 526 /* in duplex mode, clk is triggered by writing of TDBR */
490 while (drv_data->tx < drv_data->tx_end) { 527 while (drv_data->tx < drv_data->tx_end) {
491 write_TDBR(*(u16 *) (drv_data->tx)); 528 write_TDBR(drv_data, (*(u16 *) (drv_data->tx)));
492 while (!(read_STAT() & BIT_STAT_SPIF)) 529 while (read_STAT(drv_data) & BIT_STAT_TXS)
493 continue; 530 cpu_relax();
494 while (!(read_STAT() & BIT_STAT_RXS)) 531 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
495 continue; 532 cpu_relax();
496 *(u16 *) (drv_data->rx) = read_RDBR(); 533 *(u16 *) (drv_data->rx) = read_RDBR(drv_data);
497 drv_data->rx += 2; 534 drv_data->rx += 2;
498 drv_data->tx += 2; 535 drv_data->tx += 2;
499 } 536 }
@@ -503,25 +540,25 @@ static void u16_cs_chg_duplex(struct driver_data *drv_data)
503{ 540{
504 struct chip_data *chip = drv_data->cur_chip; 541 struct chip_data *chip = drv_data->cur_chip;
505 542
543 /* poll for SPI completion before start */
544 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
545 cpu_relax();
546
506 while (drv_data->tx < drv_data->tx_end) { 547 while (drv_data->tx < drv_data->tx_end) {
507 write_FLAG(chip->flag); 548 cs_active(drv_data, chip);
508 SSYNC(); 549
509 550 write_TDBR(drv_data, (*(u16 *) (drv_data->tx)));
510 write_TDBR(*(u16 *) (drv_data->tx)); 551 while (read_STAT(drv_data) & BIT_STAT_TXS)
511 while (!(read_STAT() & BIT_STAT_SPIF)) 552 cpu_relax();
512 continue; 553 while (!(read_STAT(drv_data) & BIT_STAT_RXS))
513 while (!(read_STAT() & BIT_STAT_RXS)) 554 cpu_relax();
514 continue; 555 *(u16 *) (drv_data->rx) = read_RDBR(drv_data);
515 *(u16 *) (drv_data->rx) = read_RDBR(); 556
516 write_FLAG(0xFF00 | chip->flag); 557 cs_deactive(drv_data, chip);
517 SSYNC(); 558
518 if (chip->cs_chg_udelay)
519 udelay(chip->cs_chg_udelay);
520 drv_data->rx += 2; 559 drv_data->rx += 2;
521 drv_data->tx += 2; 560 drv_data->tx += 2;
522 } 561 }
523 write_FLAG(0xFF00);
524 SSYNC();
525} 562}
526 563
527/* test if ther is more transfer to be done */ 564/* test if ther is more transfer to be done */
@@ -546,6 +583,7 @@ static void *next_transfer(struct driver_data *drv_data)
546 */ 583 */
547static void giveback(struct driver_data *drv_data) 584static void giveback(struct driver_data *drv_data)
548{ 585{
586 struct chip_data *chip = drv_data->cur_chip;
549 struct spi_transfer *last_transfer; 587 struct spi_transfer *last_transfer;
550 unsigned long flags; 588 unsigned long flags;
551 struct spi_message *msg; 589 struct spi_message *msg;
@@ -565,10 +603,13 @@ static void giveback(struct driver_data *drv_data)
565 603
566 /* disable chip select signal. And not stop spi in autobuffer mode */ 604 /* disable chip select signal. And not stop spi in autobuffer mode */
567 if (drv_data->tx_dma != 0xFFFF) { 605 if (drv_data->tx_dma != 0xFFFF) {
568 write_FLAG(0xFF00); 606 cs_deactive(drv_data, chip);
569 bfin_spi_disable(drv_data); 607 bfin_spi_disable(drv_data);
570 } 608 }
571 609
610 if (!drv_data->cs_change)
611 cs_deactive(drv_data, chip);
612
572 if (msg->complete) 613 if (msg->complete)
573 msg->complete(msg->context); 614 msg->complete(msg->context);
574} 615}
@@ -576,14 +617,15 @@ static void giveback(struct driver_data *drv_data)
576static irqreturn_t dma_irq_handler(int irq, void *dev_id) 617static irqreturn_t dma_irq_handler(int irq, void *dev_id)
577{ 618{
578 struct driver_data *drv_data = (struct driver_data *)dev_id; 619 struct driver_data *drv_data = (struct driver_data *)dev_id;
620 struct chip_data *chip = drv_data->cur_chip;
579 struct spi_message *msg = drv_data->cur_msg; 621 struct spi_message *msg = drv_data->cur_msg;
580 622
581 dev_dbg(&drv_data->pdev->dev, "in dma_irq_handler\n"); 623 dev_dbg(&drv_data->pdev->dev, "in dma_irq_handler\n");
582 clear_dma_irqstat(CH_SPI); 624 clear_dma_irqstat(drv_data->dma_channel);
583 625
584 /* Wait for DMA to complete */ 626 /* Wait for DMA to complete */
585 while (get_dma_curr_irqstat(CH_SPI) & DMA_RUN) 627 while (get_dma_curr_irqstat(drv_data->dma_channel) & DMA_RUN)
586 continue; 628 cpu_relax();
587 629
588 /* 630 /*
589 * wait for the last transaction shifted out. HRM states: 631 * wait for the last transaction shifted out. HRM states:
@@ -592,18 +634,19 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
592 * register until it goes low for 2 successive reads 634 * register until it goes low for 2 successive reads
593 */ 635 */
594 if (drv_data->tx != NULL) { 636 if (drv_data->tx != NULL) {
595 while ((bfin_read_SPI_STAT() & TXS) || 637 while ((read_STAT(drv_data) & TXS) ||
596 (bfin_read_SPI_STAT() & TXS)) 638 (read_STAT(drv_data) & TXS))
597 continue; 639 cpu_relax();
598 } 640 }
599 641
600 while (!(bfin_read_SPI_STAT() & SPIF)) 642 while (!(read_STAT(drv_data) & SPIF))
601 continue; 643 cpu_relax();
602
603 bfin_spi_disable(drv_data);
604 644
605 msg->actual_length += drv_data->len_in_bytes; 645 msg->actual_length += drv_data->len_in_bytes;
606 646
647 if (drv_data->cs_change)
648 cs_deactive(drv_data, chip);
649
607 /* Move to next transfer */ 650 /* Move to next transfer */
608 msg->state = next_transfer(drv_data); 651 msg->state = next_transfer(drv_data);
609 652
@@ -613,8 +656,8 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
613 /* free the irq handler before next transfer */ 656 /* free the irq handler before next transfer */
614 dev_dbg(&drv_data->pdev->dev, 657 dev_dbg(&drv_data->pdev->dev,
615 "disable dma channel irq%d\n", 658 "disable dma channel irq%d\n",
616 CH_SPI); 659 drv_data->dma_channel);
617 dma_disable_irq(CH_SPI); 660 dma_disable_irq(drv_data->dma_channel);
618 661
619 return IRQ_HANDLED; 662 return IRQ_HANDLED;
620} 663}
@@ -690,31 +733,67 @@ static void pump_transfers(unsigned long data)
690 drv_data->rx_dma = transfer->rx_dma; 733 drv_data->rx_dma = transfer->rx_dma;
691 drv_data->tx_dma = transfer->tx_dma; 734 drv_data->tx_dma = transfer->tx_dma;
692 drv_data->len_in_bytes = transfer->len; 735 drv_data->len_in_bytes = transfer->len;
736 drv_data->cs_change = transfer->cs_change;
737
738 /* Bits per word setup */
739 switch (transfer->bits_per_word) {
740 case 8:
741 drv_data->n_bytes = 1;
742 width = CFG_SPI_WORDSIZE8;
743 drv_data->read = chip->cs_change_per_word ?
744 u8_cs_chg_reader : u8_reader;
745 drv_data->write = chip->cs_change_per_word ?
746 u8_cs_chg_writer : u8_writer;
747 drv_data->duplex = chip->cs_change_per_word ?
748 u8_cs_chg_duplex : u8_duplex;
749 break;
750
751 case 16:
752 drv_data->n_bytes = 2;
753 width = CFG_SPI_WORDSIZE16;
754 drv_data->read = chip->cs_change_per_word ?
755 u16_cs_chg_reader : u16_reader;
756 drv_data->write = chip->cs_change_per_word ?
757 u16_cs_chg_writer : u16_writer;
758 drv_data->duplex = chip->cs_change_per_word ?
759 u16_cs_chg_duplex : u16_duplex;
760 break;
761
762 default:
763 /* No change, the same as default setting */
764 drv_data->n_bytes = chip->n_bytes;
765 width = chip->width;
766 drv_data->write = drv_data->tx ? chip->write : null_writer;
767 drv_data->read = drv_data->rx ? chip->read : null_reader;
768 drv_data->duplex = chip->duplex ? chip->duplex : null_writer;
769 break;
770 }
771 cr = (read_CTRL(drv_data) & (~BIT_CTL_TIMOD));
772 cr |= (width << 8);
773 write_CTRL(drv_data, cr);
693 774
694 width = chip->width;
695 if (width == CFG_SPI_WORDSIZE16) { 775 if (width == CFG_SPI_WORDSIZE16) {
696 drv_data->len = (transfer->len) >> 1; 776 drv_data->len = (transfer->len) >> 1;
697 } else { 777 } else {
698 drv_data->len = transfer->len; 778 drv_data->len = transfer->len;
699 } 779 }
700 drv_data->write = drv_data->tx ? chip->write : null_writer; 780 dev_dbg(&drv_data->pdev->dev, "transfer: ",
701 drv_data->read = drv_data->rx ? chip->read : null_reader; 781 "drv_data->write is %p, chip->write is %p, null_wr is %p\n",
702 drv_data->duplex = chip->duplex ? chip->duplex : null_writer; 782 drv_data->write, chip->write, null_writer);
703 dev_dbg(&drv_data->pdev->dev,
704 "transfer: drv_data->write is %p, chip->write is %p, null_wr is %p\n",
705 drv_data->write, chip->write, null_writer);
706 783
707 /* speed and width has been set on per message */ 784 /* speed and width has been set on per message */
708 message->state = RUNNING_STATE; 785 message->state = RUNNING_STATE;
709 dma_config = 0; 786 dma_config = 0;
710 787
711 /* restore spi status for each spi transfer */ 788 /* Speed setup (surely valid because already checked) */
712 if (transfer->speed_hz) { 789 if (transfer->speed_hz)
713 write_BAUD(hz_to_spi_baud(transfer->speed_hz)); 790 write_BAUD(drv_data, hz_to_spi_baud(transfer->speed_hz));
714 } else { 791 else
715 write_BAUD(chip->baud); 792 write_BAUD(drv_data, chip->baud);
716 } 793
717 write_FLAG(chip->flag); 794 write_STAT(drv_data, BIT_STAT_CLR);
795 cr = (read_CTRL(drv_data) & (~BIT_CTL_TIMOD));
796 cs_active(drv_data, chip);
718 797
719 dev_dbg(&drv_data->pdev->dev, 798 dev_dbg(&drv_data->pdev->dev,
720 "now pumping a transfer: width is %d, len is %d\n", 799 "now pumping a transfer: width is %d, len is %d\n",
@@ -727,25 +806,25 @@ static void pump_transfers(unsigned long data)
727 */ 806 */
728 if (drv_data->cur_chip->enable_dma && drv_data->len > 6) { 807 if (drv_data->cur_chip->enable_dma && drv_data->len > 6) {
729 808
730 write_STAT(BIT_STAT_CLR); 809 disable_dma(drv_data->dma_channel);
731 disable_dma(CH_SPI); 810 clear_dma_irqstat(drv_data->dma_channel);
732 clear_dma_irqstat(CH_SPI);
733 bfin_spi_disable(drv_data); 811 bfin_spi_disable(drv_data);
734 812
735 /* config dma channel */ 813 /* config dma channel */
736 dev_dbg(&drv_data->pdev->dev, "doing dma transfer\n"); 814 dev_dbg(&drv_data->pdev->dev, "doing dma transfer\n");
737 if (width == CFG_SPI_WORDSIZE16) { 815 if (width == CFG_SPI_WORDSIZE16) {
738 set_dma_x_count(CH_SPI, drv_data->len); 816 set_dma_x_count(drv_data->dma_channel, drv_data->len);
739 set_dma_x_modify(CH_SPI, 2); 817 set_dma_x_modify(drv_data->dma_channel, 2);
740 dma_width = WDSIZE_16; 818 dma_width = WDSIZE_16;
741 } else { 819 } else {
742 set_dma_x_count(CH_SPI, drv_data->len); 820 set_dma_x_count(drv_data->dma_channel, drv_data->len);
743 set_dma_x_modify(CH_SPI, 1); 821 set_dma_x_modify(drv_data->dma_channel, 1);
744 dma_width = WDSIZE_8; 822 dma_width = WDSIZE_8;
745 } 823 }
746 824
747 /* set transfer width,direction. And enable spi */ 825 /* poll for SPI completion before start */
748 cr = (read_CTRL() & (~BIT_CTL_TIMOD)); 826 while (!(read_STAT(drv_data) & BIT_STAT_SPIF))
827 cpu_relax();
749 828
750 /* dirty hack for autobuffer DMA mode */ 829 /* dirty hack for autobuffer DMA mode */
751 if (drv_data->tx_dma == 0xFFFF) { 830 if (drv_data->tx_dma == 0xFFFF) {
@@ -755,13 +834,18 @@ static void pump_transfers(unsigned long data)
755 /* no irq in autobuffer mode */ 834 /* no irq in autobuffer mode */
756 dma_config = 835 dma_config =
757 (DMAFLOW_AUTO | RESTART | dma_width | DI_EN); 836 (DMAFLOW_AUTO | RESTART | dma_width | DI_EN);
758 set_dma_config(CH_SPI, dma_config); 837 set_dma_config(drv_data->dma_channel, dma_config);
759 set_dma_start_addr(CH_SPI, (unsigned long)drv_data->tx); 838 set_dma_start_addr(drv_data->dma_channel,
760 enable_dma(CH_SPI); 839 (unsigned long)drv_data->tx);
761 write_CTRL(cr | CFG_SPI_DMAWRITE | (width << 8) | 840 enable_dma(drv_data->dma_channel);
762 (CFG_SPI_ENABLE << 14)); 841
763 842 /* start SPI transfer */
764 /* just return here, there can only be one transfer in this mode */ 843 write_CTRL(drv_data,
844 (cr | CFG_SPI_DMAWRITE | BIT_CTL_ENABLE));
845
846 /* just return here, there can only be one transfer
847 * in this mode
848 */
765 message->status = 0; 849 message->status = 0;
766 giveback(drv_data); 850 giveback(drv_data);
767 return; 851 return;
@@ -772,58 +856,51 @@ static void pump_transfers(unsigned long data)
772 /* set transfer mode, and enable SPI */ 856 /* set transfer mode, and enable SPI */
773 dev_dbg(&drv_data->pdev->dev, "doing DMA in.\n"); 857 dev_dbg(&drv_data->pdev->dev, "doing DMA in.\n");
774 858
775 /* disable SPI before write to TDBR */
776 write_CTRL(cr & ~BIT_CTL_ENABLE);
777
778 /* clear tx reg soformer data is not shifted out */ 859 /* clear tx reg soformer data is not shifted out */
779 write_TDBR(0xFF); 860 write_TDBR(drv_data, 0xFFFF);
780 861
781 set_dma_x_count(CH_SPI, drv_data->len); 862 set_dma_x_count(drv_data->dma_channel, drv_data->len);
782 863
783 /* start dma */ 864 /* start dma */
784 dma_enable_irq(CH_SPI); 865 dma_enable_irq(drv_data->dma_channel);
785 dma_config = (WNR | RESTART | dma_width | DI_EN); 866 dma_config = (WNR | RESTART | dma_width | DI_EN);
786 set_dma_config(CH_SPI, dma_config); 867 set_dma_config(drv_data->dma_channel, dma_config);
787 set_dma_start_addr(CH_SPI, (unsigned long)drv_data->rx); 868 set_dma_start_addr(drv_data->dma_channel,
788 enable_dma(CH_SPI); 869 (unsigned long)drv_data->rx);
870 enable_dma(drv_data->dma_channel);
871
872 /* start SPI transfer */
873 write_CTRL(drv_data,
874 (cr | CFG_SPI_DMAREAD | BIT_CTL_ENABLE));
789 875
790 cr |=
791 CFG_SPI_DMAREAD | (width << 8) | (CFG_SPI_ENABLE <<
792 14);
793 /* set transfer mode, and enable SPI */
794 write_CTRL(cr);
795 } else if (drv_data->tx != NULL) { 876 } else if (drv_data->tx != NULL) {
796 dev_dbg(&drv_data->pdev->dev, "doing DMA out.\n"); 877 dev_dbg(&drv_data->pdev->dev, "doing DMA out.\n");
797 878
798 /* start dma */ 879 /* start dma */
799 dma_enable_irq(CH_SPI); 880 dma_enable_irq(drv_data->dma_channel);
800 dma_config = (RESTART | dma_width | DI_EN); 881 dma_config = (RESTART | dma_width | DI_EN);
801 set_dma_config(CH_SPI, dma_config); 882 set_dma_config(drv_data->dma_channel, dma_config);
802 set_dma_start_addr(CH_SPI, (unsigned long)drv_data->tx); 883 set_dma_start_addr(drv_data->dma_channel,
803 enable_dma(CH_SPI); 884 (unsigned long)drv_data->tx);
804 885 enable_dma(drv_data->dma_channel);
805 write_CTRL(cr | CFG_SPI_DMAWRITE | (width << 8) | 886
806 (CFG_SPI_ENABLE << 14)); 887 /* start SPI transfer */
807 888 write_CTRL(drv_data,
889 (cr | CFG_SPI_DMAWRITE | BIT_CTL_ENABLE));
808 } 890 }
809 } else { 891 } else {
810 /* IO mode write then read */ 892 /* IO mode write then read */
811 dev_dbg(&drv_data->pdev->dev, "doing IO transfer\n"); 893 dev_dbg(&drv_data->pdev->dev, "doing IO transfer\n");
812 894
813 write_STAT(BIT_STAT_CLR);
814
815 if (drv_data->tx != NULL && drv_data->rx != NULL) { 895 if (drv_data->tx != NULL && drv_data->rx != NULL) {
816 /* full duplex mode */ 896 /* full duplex mode */
817 BUG_ON((drv_data->tx_end - drv_data->tx) != 897 BUG_ON((drv_data->tx_end - drv_data->tx) !=
818 (drv_data->rx_end - drv_data->rx)); 898 (drv_data->rx_end - drv_data->rx));
819 cr = (read_CTRL() & (~BIT_CTL_TIMOD));
820 cr |= CFG_SPI_WRITE | (width << 8) |
821 (CFG_SPI_ENABLE << 14);
822 dev_dbg(&drv_data->pdev->dev, 899 dev_dbg(&drv_data->pdev->dev,
823 "IO duplex: cr is 0x%x\n", cr); 900 "IO duplex: cr is 0x%x\n", cr);
824 901
825 write_CTRL(cr); 902 /* set SPI transfer mode */
826 SSYNC(); 903 write_CTRL(drv_data, (cr | CFG_SPI_WRITE));
827 904
828 drv_data->duplex(drv_data); 905 drv_data->duplex(drv_data);
829 906
@@ -831,14 +908,11 @@ static void pump_transfers(unsigned long data)
831 tranf_success = 0; 908 tranf_success = 0;
832 } else if (drv_data->tx != NULL) { 909 } else if (drv_data->tx != NULL) {
833 /* write only half duplex */ 910 /* write only half duplex */
834 cr = (read_CTRL() & (~BIT_CTL_TIMOD)); 911 dev_dbg(&drv_data->pdev->dev,
835 cr |= CFG_SPI_WRITE | (width << 8) |
836 (CFG_SPI_ENABLE << 14);
837 dev_dbg(&drv_data->pdev->dev,
838 "IO write: cr is 0x%x\n", cr); 912 "IO write: cr is 0x%x\n", cr);
839 913
840 write_CTRL(cr); 914 /* set SPI transfer mode */
841 SSYNC(); 915 write_CTRL(drv_data, (cr | CFG_SPI_WRITE));
842 916
843 drv_data->write(drv_data); 917 drv_data->write(drv_data);
844 918
@@ -846,14 +920,11 @@ static void pump_transfers(unsigned long data)
846 tranf_success = 0; 920 tranf_success = 0;
847 } else if (drv_data->rx != NULL) { 921 } else if (drv_data->rx != NULL) {
848 /* read only half duplex */ 922 /* read only half duplex */
849 cr = (read_CTRL() & (~BIT_CTL_TIMOD)); 923 dev_dbg(&drv_data->pdev->dev,
850 cr |= CFG_SPI_READ | (width << 8) |
851 (CFG_SPI_ENABLE << 14);
852 dev_dbg(&drv_data->pdev->dev,
853 "IO read: cr is 0x%x\n", cr); 924 "IO read: cr is 0x%x\n", cr);
854 925
855 write_CTRL(cr); 926 /* set SPI transfer mode */
856 SSYNC(); 927 write_CTRL(drv_data, (cr | CFG_SPI_READ));
857 928
858 drv_data->read(drv_data); 929 drv_data->read(drv_data);
859 if (drv_data->rx != drv_data->rx_end) 930 if (drv_data->rx != drv_data->rx_end)
@@ -861,7 +932,7 @@ static void pump_transfers(unsigned long data)
861 } 932 }
862 933
863 if (!tranf_success) { 934 if (!tranf_success) {
864 dev_dbg(&drv_data->pdev->dev, 935 dev_dbg(&drv_data->pdev->dev,
865 "IO write error!\n"); 936 "IO write error!\n");
866 message->state = ERROR_STATE; 937 message->state = ERROR_STATE;
867 } else { 938 } else {
@@ -881,9 +952,11 @@ static void pump_transfers(unsigned long data)
881/* pop a msg from queue and kick off real transfer */ 952/* pop a msg from queue and kick off real transfer */
882static void pump_messages(struct work_struct *work) 953static void pump_messages(struct work_struct *work)
883{ 954{
884 struct driver_data *drv_data = container_of(work, struct driver_data, pump_messages); 955 struct driver_data *drv_data;
885 unsigned long flags; 956 unsigned long flags;
886 957
958 drv_data = container_of(work, struct driver_data, pump_messages);
959
887 /* Lock queue and check for queue work */ 960 /* Lock queue and check for queue work */
888 spin_lock_irqsave(&drv_data->lock, flags); 961 spin_lock_irqsave(&drv_data->lock, flags);
889 if (list_empty(&drv_data->queue) || drv_data->run == QUEUE_STOPPED) { 962 if (list_empty(&drv_data->queue) || drv_data->run == QUEUE_STOPPED) {
@@ -902,6 +975,14 @@ static void pump_messages(struct work_struct *work)
902 /* Extract head of queue */ 975 /* Extract head of queue */
903 drv_data->cur_msg = list_entry(drv_data->queue.next, 976 drv_data->cur_msg = list_entry(drv_data->queue.next,
904 struct spi_message, queue); 977 struct spi_message, queue);
978
979 /* Setup the SSP using the per chip configuration */
980 drv_data->cur_chip = spi_get_ctldata(drv_data->cur_msg->spi);
981 if (restore_state(drv_data)) {
982 spin_unlock_irqrestore(&drv_data->lock, flags);
983 return;
984 };
985
905 list_del_init(&drv_data->cur_msg->queue); 986 list_del_init(&drv_data->cur_msg->queue);
906 987
907 /* Initial message state */ 988 /* Initial message state */
@@ -909,15 +990,12 @@ static void pump_messages(struct work_struct *work)
909 drv_data->cur_transfer = list_entry(drv_data->cur_msg->transfers.next, 990 drv_data->cur_transfer = list_entry(drv_data->cur_msg->transfers.next,
910 struct spi_transfer, transfer_list); 991 struct spi_transfer, transfer_list);
911 992
912 /* Setup the SSP using the per chip configuration */ 993 dev_dbg(&drv_data->pdev->dev, "got a message to pump, "
913 drv_data->cur_chip = spi_get_ctldata(drv_data->cur_msg->spi); 994 "state is set to: baud %d, flag 0x%x, ctl 0x%x\n",
914 restore_state(drv_data); 995 drv_data->cur_chip->baud, drv_data->cur_chip->flag,
996 drv_data->cur_chip->ctl_reg);
997
915 dev_dbg(&drv_data->pdev->dev, 998 dev_dbg(&drv_data->pdev->dev,
916 "got a message to pump, state is set to: baud %d, flag 0x%x, ctl 0x%x\n",
917 drv_data->cur_chip->baud, drv_data->cur_chip->flag,
918 drv_data->cur_chip->ctl_reg);
919
920 dev_dbg(&drv_data->pdev->dev,
921 "the first transfer len is %d\n", 999 "the first transfer len is %d\n",
922 drv_data->cur_transfer->len); 1000 drv_data->cur_transfer->len);
923 1001
@@ -959,6 +1037,22 @@ static int transfer(struct spi_device *spi, struct spi_message *msg)
959 return 0; 1037 return 0;
960} 1038}
961 1039
1040#define MAX_SPI_SSEL 7
1041
1042static u16 ssel[3][MAX_SPI_SSEL] = {
1043 {P_SPI0_SSEL1, P_SPI0_SSEL2, P_SPI0_SSEL3,
1044 P_SPI0_SSEL4, P_SPI0_SSEL5,
1045 P_SPI0_SSEL6, P_SPI0_SSEL7},
1046
1047 {P_SPI1_SSEL1, P_SPI1_SSEL2, P_SPI1_SSEL3,
1048 P_SPI1_SSEL4, P_SPI1_SSEL5,
1049 P_SPI1_SSEL6, P_SPI1_SSEL7},
1050
1051 {P_SPI2_SSEL1, P_SPI2_SSEL2, P_SPI2_SSEL3,
1052 P_SPI2_SSEL4, P_SPI2_SSEL5,
1053 P_SPI2_SSEL6, P_SPI2_SSEL7},
1054};
1055
962/* first setup for new devices */ 1056/* first setup for new devices */
963static int setup(struct spi_device *spi) 1057static int setup(struct spi_device *spi)
964{ 1058{
@@ -993,6 +1087,18 @@ static int setup(struct spi_device *spi)
993 1087
994 /* chip_info isn't always needed */ 1088 /* chip_info isn't always needed */
995 if (chip_info) { 1089 if (chip_info) {
1090 /* Make sure people stop trying to set fields via ctl_reg
1091 * when they should actually be using common SPI framework.
1092 * Currently we let through: WOM EMISO PSSE GM SZ TIMOD.
1093 * Not sure if a user actually needs/uses any of these,
1094 * but let's assume (for now) they do.
1095 */
1096 if (chip_info->ctl_reg & (SPE|MSTR|CPOL|CPHA|LSBF|SIZE)) {
1097 dev_err(&spi->dev, "do not set bits in ctl_reg "
1098 "that the SPI framework manages\n");
1099 return -EINVAL;
1100 }
1101
996 chip->enable_dma = chip_info->enable_dma != 0 1102 chip->enable_dma = chip_info->enable_dma != 0
997 && drv_data->master_info->enable_dma; 1103 && drv_data->master_info->enable_dma;
998 chip->ctl_reg = chip_info->ctl_reg; 1104 chip->ctl_reg = chip_info->ctl_reg;
@@ -1015,20 +1121,20 @@ static int setup(struct spi_device *spi)
1015 * if any one SPI chip is registered and wants DMA, request the 1121 * if any one SPI chip is registered and wants DMA, request the
1016 * DMA channel for it 1122 * DMA channel for it
1017 */ 1123 */
1018 if (chip->enable_dma && !dma_requested) { 1124 if (chip->enable_dma && !drv_data->dma_requested) {
1019 /* register dma irq handler */ 1125 /* register dma irq handler */
1020 if (request_dma(CH_SPI, "BF53x_SPI_DMA") < 0) { 1126 if (request_dma(drv_data->dma_channel, "BF53x_SPI_DMA") < 0) {
1021 dev_dbg(&spi->dev, 1127 dev_dbg(&spi->dev,
1022 "Unable to request BlackFin SPI DMA channel\n"); 1128 "Unable to request BlackFin SPI DMA channel\n");
1023 return -ENODEV; 1129 return -ENODEV;
1024 } 1130 }
1025 if (set_dma_callback(CH_SPI, (void *)dma_irq_handler, drv_data) 1131 if (set_dma_callback(drv_data->dma_channel,
1026 < 0) { 1132 (void *)dma_irq_handler, drv_data) < 0) {
1027 dev_dbg(&spi->dev, "Unable to set dma callback\n"); 1133 dev_dbg(&spi->dev, "Unable to set dma callback\n");
1028 return -EPERM; 1134 return -EPERM;
1029 } 1135 }
1030 dma_disable_irq(CH_SPI); 1136 dma_disable_irq(drv_data->dma_channel);
1031 dma_requested = 1; 1137 drv_data->dma_requested = 1;
1032 } 1138 }
1033 1139
1034 /* 1140 /*
@@ -1077,6 +1183,14 @@ static int setup(struct spi_device *spi)
1077 1183
1078 spi_set_ctldata(spi, chip); 1184 spi_set_ctldata(spi, chip);
1079 1185
1186 dev_dbg(&spi->dev, "chip select number is %d\n", chip->chip_select_num);
1187 if ((chip->chip_select_num > 0)
1188 && (chip->chip_select_num <= spi->master->num_chipselect))
1189 peripheral_request(ssel[spi->master->bus_num]
1190 [chip->chip_select_num-1], DRV_NAME);
1191
1192 cs_deactive(drv_data, chip);
1193
1080 return 0; 1194 return 0;
1081} 1195}
1082 1196
@@ -1088,6 +1202,11 @@ static void cleanup(struct spi_device *spi)
1088{ 1202{
1089 struct chip_data *chip = spi_get_ctldata(spi); 1203 struct chip_data *chip = spi_get_ctldata(spi);
1090 1204
1205 if ((chip->chip_select_num > 0)
1206 && (chip->chip_select_num <= spi->master->num_chipselect))
1207 peripheral_free(ssel[spi->master->bus_num]
1208 [chip->chip_select_num-1]);
1209
1091 kfree(chip); 1210 kfree(chip);
1092} 1211}
1093 1212
@@ -1183,6 +1302,7 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1183 struct bfin5xx_spi_master *platform_info; 1302 struct bfin5xx_spi_master *platform_info;
1184 struct spi_master *master; 1303 struct spi_master *master;
1185 struct driver_data *drv_data = 0; 1304 struct driver_data *drv_data = 0;
1305 struct resource *res;
1186 int status = 0; 1306 int status = 0;
1187 1307
1188 platform_info = dev->platform_data; 1308 platform_info = dev->platform_data;
@@ -1193,10 +1313,12 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1193 dev_err(&pdev->dev, "can not alloc spi_master\n"); 1313 dev_err(&pdev->dev, "can not alloc spi_master\n");
1194 return -ENOMEM; 1314 return -ENOMEM;
1195 } 1315 }
1316
1196 drv_data = spi_master_get_devdata(master); 1317 drv_data = spi_master_get_devdata(master);
1197 drv_data->master = master; 1318 drv_data->master = master;
1198 drv_data->master_info = platform_info; 1319 drv_data->master_info = platform_info;
1199 drv_data->pdev = pdev; 1320 drv_data->pdev = pdev;
1321 drv_data->pin_req = platform_info->pin_req;
1200 1322
1201 master->bus_num = pdev->id; 1323 master->bus_num = pdev->id;
1202 master->num_chipselect = platform_info->num_chipselect; 1324 master->num_chipselect = platform_info->num_chipselect;
@@ -1204,15 +1326,38 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1204 master->setup = setup; 1326 master->setup = setup;
1205 master->transfer = transfer; 1327 master->transfer = transfer;
1206 1328
1329 /* Find and map our resources */
1330 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1331 if (res == NULL) {
1332 dev_err(dev, "Cannot get IORESOURCE_MEM\n");
1333 status = -ENOENT;
1334 goto out_error_get_res;
1335 }
1336
1337 drv_data->regs_base = ioremap(res->start, (res->end - res->start + 1));
1338 if (drv_data->regs_base == NULL) {
1339 dev_err(dev, "Cannot map IO\n");
1340 status = -ENXIO;
1341 goto out_error_ioremap;
1342 }
1343
1344 drv_data->dma_channel = platform_get_irq(pdev, 0);
1345 if (drv_data->dma_channel < 0) {
1346 dev_err(dev, "No DMA channel specified\n");
1347 status = -ENOENT;
1348 goto out_error_no_dma_ch;
1349 }
1350
1207 /* Initial and start queue */ 1351 /* Initial and start queue */
1208 status = init_queue(drv_data); 1352 status = init_queue(drv_data);
1209 if (status != 0) { 1353 if (status != 0) {
1210 dev_err(&pdev->dev, "problem initializing queue\n"); 1354 dev_err(dev, "problem initializing queue\n");
1211 goto out_error_queue_alloc; 1355 goto out_error_queue_alloc;
1212 } 1356 }
1357
1213 status = start_queue(drv_data); 1358 status = start_queue(drv_data);
1214 if (status != 0) { 1359 if (status != 0) {
1215 dev_err(&pdev->dev, "problem starting queue\n"); 1360 dev_err(dev, "problem starting queue\n");
1216 goto out_error_queue_alloc; 1361 goto out_error_queue_alloc;
1217 } 1362 }
1218 1363
@@ -1220,15 +1365,30 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
1220 platform_set_drvdata(pdev, drv_data); 1365 platform_set_drvdata(pdev, drv_data);
1221 status = spi_register_master(master); 1366 status = spi_register_master(master);
1222 if (status != 0) { 1367 if (status != 0) {
1223 dev_err(&pdev->dev, "problem registering spi master\n"); 1368 dev_err(dev, "problem registering spi master\n");
1224 goto out_error_queue_alloc; 1369 goto out_error_queue_alloc;
1225 } 1370 }
1226 dev_dbg(&pdev->dev, "controller probe successfully\n"); 1371
1372 status = peripheral_request_list(drv_data->pin_req, DRV_NAME);
1373 if (status != 0) {
1374 dev_err(&pdev->dev, ": Requesting Peripherals failed\n");
1375 goto out_error;
1376 }
1377
1378 dev_info(dev, "%s, Version %s, regs_base@%p, dma channel@%d\n",
1379 DRV_DESC, DRV_VERSION, drv_data->regs_base,
1380 drv_data->dma_channel);
1227 return status; 1381 return status;
1228 1382
1229 out_error_queue_alloc: 1383out_error_queue_alloc:
1230 destroy_queue(drv_data); 1384 destroy_queue(drv_data);
1385out_error_no_dma_ch:
1386 iounmap((void *) drv_data->regs_base);
1387out_error_ioremap:
1388out_error_get_res:
1389out_error:
1231 spi_master_put(master); 1390 spi_master_put(master);
1391
1232 return status; 1392 return status;
1233} 1393}
1234 1394
@@ -1251,13 +1411,15 @@ static int __devexit bfin5xx_spi_remove(struct platform_device *pdev)
1251 1411
1252 /* Release DMA */ 1412 /* Release DMA */
1253 if (drv_data->master_info->enable_dma) { 1413 if (drv_data->master_info->enable_dma) {
1254 if (dma_channel_active(CH_SPI)) 1414 if (dma_channel_active(drv_data->dma_channel))
1255 free_dma(CH_SPI); 1415 free_dma(drv_data->dma_channel);
1256 } 1416 }
1257 1417
1258 /* Disconnect from the SPI framework */ 1418 /* Disconnect from the SPI framework */
1259 spi_unregister_master(drv_data->master); 1419 spi_unregister_master(drv_data->master);
1260 1420
1421 peripheral_free_list(drv_data->pin_req);
1422
1261 /* Prevent double remove */ 1423 /* Prevent double remove */
1262 platform_set_drvdata(pdev, NULL); 1424 platform_set_drvdata(pdev, NULL);
1263 1425
@@ -1305,7 +1467,7 @@ static int bfin5xx_spi_resume(struct platform_device *pdev)
1305MODULE_ALIAS("bfin-spi-master"); /* for platform bus hotplug */ 1467MODULE_ALIAS("bfin-spi-master"); /* for platform bus hotplug */
1306static struct platform_driver bfin5xx_spi_driver = { 1468static struct platform_driver bfin5xx_spi_driver = {
1307 .driver = { 1469 .driver = {
1308 .name = "bfin-spi-master", 1470 .name = DRV_NAME,
1309 .owner = THIS_MODULE, 1471 .owner = THIS_MODULE,
1310 }, 1472 },
1311 .suspend = bfin5xx_spi_suspend, 1473 .suspend = bfin5xx_spi_suspend,
diff --git a/fs/aio.c b/fs/aio.c
index f12db415c0f6..9dec7d2d546e 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1161,7 +1161,12 @@ retry:
1161 ret = 0; 1161 ret = 0;
1162 if (to.timed_out) /* Only check after read evt */ 1162 if (to.timed_out) /* Only check after read evt */
1163 break; 1163 break;
1164 io_schedule(); 1164 /* Try to only show up in io wait if there are ops
1165 * in flight */
1166 if (ctx->reqs_active)
1167 io_schedule();
1168 else
1169 schedule();
1165 if (signal_pending(tsk)) { 1170 if (signal_pending(tsk)) {
1166 ret = -EINTR; 1171 ret = -EINTR;
1167 break; 1172 break;
diff --git a/fs/bfs/inode.c b/fs/bfs/inode.c
index 294c41baef6e..a64a71d444f5 100644
--- a/fs/bfs/inode.c
+++ b/fs/bfs/inode.c
@@ -178,7 +178,8 @@ static void bfs_delete_inode(struct inode *inode)
178 brelse(bh); 178 brelse(bh);
179 179
180 if (bi->i_dsk_ino) { 180 if (bi->i_dsk_ino) {
181 info->si_freeb += BFS_FILEBLOCKS(bi); 181 if (bi->i_sblock)
182 info->si_freeb += bi->i_eblock + 1 - bi->i_sblock;
182 info->si_freei++; 183 info->si_freei++;
183 clear_bit(ino, info->si_imap); 184 clear_bit(ino, info->si_imap);
184 dump_imap("delete_inode", s); 185 dump_imap("delete_inode", s);
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index f02fdef463a7..c312adcba4fc 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -134,9 +134,10 @@ int compare_sids(const struct cifs_sid *ctsid, const struct cifs_sid *cwsid)
134 pmode is the existing mode (we only want to overwrite part of this 134 pmode is the existing mode (we only want to overwrite part of this
135 bits to set can be: S_IRWXU, S_IRWXG or S_IRWXO ie 00700 or 00070 or 00007 135 bits to set can be: S_IRWXU, S_IRWXG or S_IRWXO ie 00700 or 00070 or 00007
136*/ 136*/
137static void access_flags_to_mode(__u32 ace_flags, int type, umode_t *pmode, 137static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
138 umode_t *pbits_to_set) 138 umode_t *pbits_to_set)
139{ 139{
140 __u32 flags = le32_to_cpu(ace_flags);
140 /* the order of ACEs is important. The canonical order is to begin with 141 /* the order of ACEs is important. The canonical order is to begin with
141 DENY entries followed by ALLOW, otherwise an allow entry could be 142 DENY entries followed by ALLOW, otherwise an allow entry could be
142 encountered first, making the subsequent deny entry like "dead code" 143 encountered first, making the subsequent deny entry like "dead code"
@@ -146,17 +147,17 @@ static void access_flags_to_mode(__u32 ace_flags, int type, umode_t *pmode,
146 /* For deny ACEs we change the mask so that subsequent allow access 147 /* For deny ACEs we change the mask so that subsequent allow access
147 control entries do not turn on the bits we are denying */ 148 control entries do not turn on the bits we are denying */
148 if (type == ACCESS_DENIED) { 149 if (type == ACCESS_DENIED) {
149 if (ace_flags & GENERIC_ALL) { 150 if (flags & GENERIC_ALL) {
150 *pbits_to_set &= ~S_IRWXUGO; 151 *pbits_to_set &= ~S_IRWXUGO;
151 } 152 }
152 if ((ace_flags & GENERIC_WRITE) || 153 if ((flags & GENERIC_WRITE) ||
153 ((ace_flags & FILE_WRITE_RIGHTS) == FILE_WRITE_RIGHTS)) 154 ((flags & FILE_WRITE_RIGHTS) == FILE_WRITE_RIGHTS))
154 *pbits_to_set &= ~S_IWUGO; 155 *pbits_to_set &= ~S_IWUGO;
155 if ((ace_flags & GENERIC_READ) || 156 if ((flags & GENERIC_READ) ||
156 ((ace_flags & FILE_READ_RIGHTS) == FILE_READ_RIGHTS)) 157 ((flags & FILE_READ_RIGHTS) == FILE_READ_RIGHTS))
157 *pbits_to_set &= ~S_IRUGO; 158 *pbits_to_set &= ~S_IRUGO;
158 if ((ace_flags & GENERIC_EXECUTE) || 159 if ((flags & GENERIC_EXECUTE) ||
159 ((ace_flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS)) 160 ((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS))
160 *pbits_to_set &= ~S_IXUGO; 161 *pbits_to_set &= ~S_IXUGO;
161 return; 162 return;
162 } else if (type != ACCESS_ALLOWED) { 163 } else if (type != ACCESS_ALLOWED) {
@@ -165,25 +166,25 @@ static void access_flags_to_mode(__u32 ace_flags, int type, umode_t *pmode,
165 } 166 }
166 /* else ACCESS_ALLOWED type */ 167 /* else ACCESS_ALLOWED type */
167 168
168 if (ace_flags & GENERIC_ALL) { 169 if (flags & GENERIC_ALL) {
169 *pmode |= (S_IRWXUGO & (*pbits_to_set)); 170 *pmode |= (S_IRWXUGO & (*pbits_to_set));
170#ifdef CONFIG_CIFS_DEBUG2 171#ifdef CONFIG_CIFS_DEBUG2
171 cFYI(1, ("all perms")); 172 cFYI(1, ("all perms"));
172#endif 173#endif
173 return; 174 return;
174 } 175 }
175 if ((ace_flags & GENERIC_WRITE) || 176 if ((flags & GENERIC_WRITE) ||
176 ((ace_flags & FILE_WRITE_RIGHTS) == FILE_WRITE_RIGHTS)) 177 ((flags & FILE_WRITE_RIGHTS) == FILE_WRITE_RIGHTS))
177 *pmode |= (S_IWUGO & (*pbits_to_set)); 178 *pmode |= (S_IWUGO & (*pbits_to_set));
178 if ((ace_flags & GENERIC_READ) || 179 if ((flags & GENERIC_READ) ||
179 ((ace_flags & FILE_READ_RIGHTS) == FILE_READ_RIGHTS)) 180 ((flags & FILE_READ_RIGHTS) == FILE_READ_RIGHTS))
180 *pmode |= (S_IRUGO & (*pbits_to_set)); 181 *pmode |= (S_IRUGO & (*pbits_to_set));
181 if ((ace_flags & GENERIC_EXECUTE) || 182 if ((flags & GENERIC_EXECUTE) ||
182 ((ace_flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS)) 183 ((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS))
183 *pmode |= (S_IXUGO & (*pbits_to_set)); 184 *pmode |= (S_IXUGO & (*pbits_to_set));
184 185
185#ifdef CONFIG_CIFS_DEBUG2 186#ifdef CONFIG_CIFS_DEBUG2
186 cFYI(1, ("access flags 0x%x mode now 0x%x", ace_flags, *pmode)); 187 cFYI(1, ("access flags 0x%x mode now 0x%x", flags, *pmode));
187#endif 188#endif
188 return; 189 return;
189} 190}
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c
index 47552d4a6324..0f69c416eebc 100644
--- a/fs/jbd/checkpoint.c
+++ b/fs/jbd/checkpoint.c
@@ -602,15 +602,15 @@ int __journal_remove_checkpoint(struct journal_head *jh)
602 602
603 /* 603 /*
604 * There is one special case to worry about: if we have just pulled the 604 * There is one special case to worry about: if we have just pulled the
605 * buffer off a committing transaction's forget list, then even if the 605 * buffer off a running or committing transaction's checkpoing list,
606 * checkpoint list is empty, the transaction obviously cannot be 606 * then even if the checkpoint list is empty, the transaction obviously
607 * dropped! 607 * cannot be dropped!
608 * 608 *
609 * The locking here around j_committing_transaction is a bit sleazy. 609 * The locking here around t_state is a bit sleazy.
610 * See the comment at the end of journal_commit_transaction(). 610 * See the comment at the end of journal_commit_transaction().
611 */ 611 */
612 if (transaction == journal->j_committing_transaction) { 612 if (transaction->t_state != T_FINISHED) {
613 JBUFFER_TRACE(jh, "belongs to committing transaction"); 613 JBUFFER_TRACE(jh, "belongs to running/committing transaction");
614 goto out; 614 goto out;
615 } 615 }
616 616
diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c
index 8f1f2aa5fb39..610264b99a8e 100644
--- a/fs/jbd/commit.c
+++ b/fs/jbd/commit.c
@@ -858,10 +858,10 @@ restart_loop:
858 } 858 }
859 spin_unlock(&journal->j_list_lock); 859 spin_unlock(&journal->j_list_lock);
860 /* 860 /*
861 * This is a bit sleazy. We borrow j_list_lock to protect 861 * This is a bit sleazy. We use j_list_lock to protect transition
862 * journal->j_committing_transaction in __journal_remove_checkpoint. 862 * of a transaction into T_FINISHED state and calling
863 * Really, __journal_remove_checkpoint should be using j_state_lock but 863 * __journal_drop_transaction(). Otherwise we could race with
864 * it's a bit hassle to hold that across __journal_remove_checkpoint 864 * other checkpointing code processing the transaction...
865 */ 865 */
866 spin_lock(&journal->j_state_lock); 866 spin_lock(&journal->j_state_lock);
867 spin_lock(&journal->j_list_lock); 867 spin_lock(&journal->j_list_lock);
diff --git a/fs/jffs2/background.c b/fs/jffs2/background.c
index d568ae846741..8adebd3e43c6 100644
--- a/fs/jffs2/background.c
+++ b/fs/jffs2/background.c
@@ -105,7 +105,7 @@ static int jffs2_garbage_collect_thread(void *_c)
105 105
106 /* Put_super will send a SIGKILL and then wait on the sem. 106 /* Put_super will send a SIGKILL and then wait on the sem.
107 */ 107 */
108 while (signal_pending(current)) { 108 while (signal_pending(current) || freezing(current)) {
109 siginfo_t info; 109 siginfo_t info;
110 unsigned long signr; 110 unsigned long signr;
111 111
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c
index d84bd155997b..ee50c9610e7f 100644
--- a/fs/ocfs2/cluster/tcp.c
+++ b/fs/ocfs2/cluster/tcp.c
@@ -72,14 +72,6 @@
72 72
73#include "tcp_internal.h" 73#include "tcp_internal.h"
74 74
75/*
76 * The linux network stack isn't sparse endian clean.. It has macros like
77 * ntohs() which perform the endian checks and structs like sockaddr_in
78 * which aren't annotated. So __force is found here to get the build
79 * clean. When they emerge from the dark ages and annotate the code
80 * we can remove these.
81 */
82
83#define SC_NODEF_FMT "node %s (num %u) at %u.%u.%u.%u:%u" 75#define SC_NODEF_FMT "node %s (num %u) at %u.%u.%u.%u:%u"
84#define SC_NODEF_ARGS(sc) sc->sc_node->nd_name, sc->sc_node->nd_num, \ 76#define SC_NODEF_ARGS(sc) sc->sc_node->nd_name, sc->sc_node->nd_num, \
85 NIPQUAD(sc->sc_node->nd_ipv4_address), \ 77 NIPQUAD(sc->sc_node->nd_ipv4_address), \
@@ -1500,7 +1492,7 @@ static void o2net_start_connect(struct work_struct *work)
1500 1492
1501 myaddr.sin_family = AF_INET; 1493 myaddr.sin_family = AF_INET;
1502 myaddr.sin_addr.s_addr = mynode->nd_ipv4_address; 1494 myaddr.sin_addr.s_addr = mynode->nd_ipv4_address;
1503 myaddr.sin_port = (__force u16)htons(0); /* any port */ 1495 myaddr.sin_port = htons(0); /* any port */
1504 1496
1505 ret = sock->ops->bind(sock, (struct sockaddr *)&myaddr, 1497 ret = sock->ops->bind(sock, (struct sockaddr *)&myaddr,
1506 sizeof(myaddr)); 1498 sizeof(myaddr));
@@ -1701,11 +1693,11 @@ static int o2net_accept_one(struct socket *sock)
1701 if (ret < 0) 1693 if (ret < 0)
1702 goto out; 1694 goto out;
1703 1695
1704 node = o2nm_get_node_by_ip((__force __be32)sin.sin_addr.s_addr); 1696 node = o2nm_get_node_by_ip(sin.sin_addr.s_addr);
1705 if (node == NULL) { 1697 if (node == NULL) {
1706 mlog(ML_NOTICE, "attempt to connect from unknown node at " 1698 mlog(ML_NOTICE, "attempt to connect from unknown node at "
1707 "%u.%u.%u.%u:%d\n", NIPQUAD(sin.sin_addr.s_addr), 1699 "%u.%u.%u.%u:%d\n", NIPQUAD(sin.sin_addr.s_addr),
1708 ntohs((__force __be16)sin.sin_port)); 1700 ntohs(sin.sin_port));
1709 ret = -EINVAL; 1701 ret = -EINVAL;
1710 goto out; 1702 goto out;
1711 } 1703 }
@@ -1714,7 +1706,7 @@ static int o2net_accept_one(struct socket *sock)
1714 mlog(ML_NOTICE, "unexpected connect attempted from a lower " 1706 mlog(ML_NOTICE, "unexpected connect attempted from a lower "
1715 "numbered node '%s' at " "%u.%u.%u.%u:%d with num %u\n", 1707 "numbered node '%s' at " "%u.%u.%u.%u:%d with num %u\n",
1716 node->nd_name, NIPQUAD(sin.sin_addr.s_addr), 1708 node->nd_name, NIPQUAD(sin.sin_addr.s_addr),
1717 ntohs((__force __be16)sin.sin_port), node->nd_num); 1709 ntohs(sin.sin_port), node->nd_num);
1718 ret = -EINVAL; 1710 ret = -EINVAL;
1719 goto out; 1711 goto out;
1720 } 1712 }
@@ -1725,7 +1717,7 @@ static int o2net_accept_one(struct socket *sock)
1725 mlog(ML_CONN, "attempt to connect from node '%s' at " 1717 mlog(ML_CONN, "attempt to connect from node '%s' at "
1726 "%u.%u.%u.%u:%d but it isn't heartbeating\n", 1718 "%u.%u.%u.%u:%d but it isn't heartbeating\n",
1727 node->nd_name, NIPQUAD(sin.sin_addr.s_addr), 1719 node->nd_name, NIPQUAD(sin.sin_addr.s_addr),
1728 ntohs((__force __be16)sin.sin_port)); 1720 ntohs(sin.sin_port));
1729 ret = -EINVAL; 1721 ret = -EINVAL;
1730 goto out; 1722 goto out;
1731 } 1723 }
@@ -1742,7 +1734,7 @@ static int o2net_accept_one(struct socket *sock)
1742 mlog(ML_NOTICE, "attempt to connect from node '%s' at " 1734 mlog(ML_NOTICE, "attempt to connect from node '%s' at "
1743 "%u.%u.%u.%u:%d but it already has an open connection\n", 1735 "%u.%u.%u.%u:%d but it already has an open connection\n",
1744 node->nd_name, NIPQUAD(sin.sin_addr.s_addr), 1736 node->nd_name, NIPQUAD(sin.sin_addr.s_addr),
1745 ntohs((__force __be16)sin.sin_port)); 1737 ntohs(sin.sin_port));
1746 goto out; 1738 goto out;
1747 } 1739 }
1748 1740
diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 39f3d6519035..8d49838e5554 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -374,9 +374,16 @@ static int proc_delete_dentry(struct dentry * dentry)
374 return 1; 374 return 1;
375} 375}
376 376
377static int proc_revalidate_dentry(struct dentry *dentry, struct nameidata *nd)
378{
379 d_drop(dentry);
380 return 0;
381}
382
377static struct dentry_operations proc_dentry_operations = 383static struct dentry_operations proc_dentry_operations =
378{ 384{
379 .d_delete = proc_delete_dentry, 385 .d_delete = proc_delete_dentry,
386 .d_revalidate = proc_revalidate_dentry,
380}; 387};
381 388
382/* 389/*
@@ -397,8 +404,11 @@ struct dentry *proc_lookup(struct inode * dir, struct dentry *dentry, struct nam
397 if (de->namelen != dentry->d_name.len) 404 if (de->namelen != dentry->d_name.len)
398 continue; 405 continue;
399 if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { 406 if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
400 unsigned int ino = de->low_ino; 407 unsigned int ino;
401 408
409 if (de->shadow_proc)
410 de = de->shadow_proc(current, de);
411 ino = de->low_ino;
402 de_get(de); 412 de_get(de);
403 spin_unlock(&proc_subdir_lock); 413 spin_unlock(&proc_subdir_lock);
404 error = -EINVAL; 414 error = -EINVAL;
@@ -585,6 +595,7 @@ static struct proc_dir_entry *proc_create(struct proc_dir_entry **parent,
585 ent->namelen = len; 595 ent->namelen = len;
586 ent->mode = mode; 596 ent->mode = mode;
587 ent->nlink = nlink; 597 ent->nlink = nlink;
598 atomic_set(&ent->count, 1);
588 ent->pde_users = 0; 599 ent->pde_users = 0;
589 spin_lock_init(&ent->pde_unload_lock); 600 spin_lock_init(&ent->pde_unload_lock);
590 ent->pde_unload_completion = NULL; 601 ent->pde_unload_completion = NULL;
@@ -682,7 +693,6 @@ void free_proc_entry(struct proc_dir_entry *de)
682 693
683/* 694/*
684 * Remove a /proc entry and free it if it's not currently in use. 695 * Remove a /proc entry and free it if it's not currently in use.
685 * If it is in use, we set the 'deleted' flag.
686 */ 696 */
687void remove_proc_entry(const char *name, struct proc_dir_entry *parent) 697void remove_proc_entry(const char *name, struct proc_dir_entry *parent)
688{ 698{
@@ -731,13 +741,8 @@ continue_removing:
731 parent->nlink--; 741 parent->nlink--;
732 de->nlink = 0; 742 de->nlink = 0;
733 WARN_ON(de->subdir); 743 WARN_ON(de->subdir);
734 if (!atomic_read(&de->count)) 744 if (atomic_dec_and_test(&de->count))
735 free_proc_entry(de); 745 free_proc_entry(de);
736 else {
737 de->deleted = 1;
738 printk("remove_proc_entry: %s/%s busy, count=%d\n",
739 parent->name, de->name, atomic_read(&de->count));
740 }
741 break; 746 break;
742 } 747 }
743 spin_unlock(&proc_subdir_lock); 748 spin_unlock(&proc_subdir_lock);
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index abe6a3f04368..1a551d92e1d8 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -43,13 +43,8 @@ void de_put(struct proc_dir_entry *de)
43 return; 43 return;
44 } 44 }
45 45
46 if (atomic_dec_and_test(&de->count)) { 46 if (atomic_dec_and_test(&de->count))
47 if (de->deleted) { 47 free_proc_entry(de);
48 printk("de_put: deferred delete of %s\n",
49 de->name);
50 free_proc_entry(de);
51 }
52 }
53 unlock_kernel(); 48 unlock_kernel();
54 } 49 }
55} 50}
diff --git a/fs/proc/proc_net.c b/fs/proc/proc_net.c
index 131f9c68be5f..0afe21ee0607 100644
--- a/fs/proc/proc_net.c
+++ b/fs/proc/proc_net.c
@@ -50,89 +50,14 @@ struct net *get_proc_net(const struct inode *inode)
50} 50}
51EXPORT_SYMBOL_GPL(get_proc_net); 51EXPORT_SYMBOL_GPL(get_proc_net);
52 52
53static struct proc_dir_entry *proc_net_shadow; 53static struct proc_dir_entry *shadow_pde;
54 54
55static struct dentry *proc_net_shadow_dentry(struct dentry *parent, 55static struct proc_dir_entry *proc_net_shadow(struct task_struct *task,
56 struct proc_dir_entry *de) 56 struct proc_dir_entry *de)
57{ 57{
58 struct dentry *shadow = NULL; 58 return task->nsproxy->net_ns->proc_net;
59 struct inode *inode;
60 if (!de)
61 goto out;
62 de_get(de);
63 inode = proc_get_inode(parent->d_inode->i_sb, de->low_ino, de);
64 if (!inode)
65 goto out_de_put;
66 shadow = d_alloc_name(parent, de->name);
67 if (!shadow)
68 goto out_iput;
69 shadow->d_op = parent->d_op; /* proc_dentry_operations */
70 d_instantiate(shadow, inode);
71out:
72 return shadow;
73out_iput:
74 iput(inode);
75out_de_put:
76 de_put(de);
77 goto out;
78}
79
80static void *proc_net_follow_link(struct dentry *parent, struct nameidata *nd)
81{
82 struct net *net = current->nsproxy->net_ns;
83 struct dentry *shadow;
84 shadow = proc_net_shadow_dentry(parent, net->proc_net);
85 if (!shadow)
86 return ERR_PTR(-ENOENT);
87
88 dput(nd->dentry);
89 /* My dentry count is 1 and that should be enough as the
90 * shadow dentry is thrown away immediately.
91 */
92 nd->dentry = shadow;
93 return NULL;
94} 59}
95 60
96static struct dentry *proc_net_lookup(struct inode *dir, struct dentry *dentry,
97 struct nameidata *nd)
98{
99 struct net *net = current->nsproxy->net_ns;
100 struct dentry *shadow;
101
102 shadow = proc_net_shadow_dentry(nd->dentry, net->proc_net);
103 if (!shadow)
104 return ERR_PTR(-ENOENT);
105
106 dput(nd->dentry);
107 nd->dentry = shadow;
108
109 return shadow->d_inode->i_op->lookup(shadow->d_inode, dentry, nd);
110}
111
112static int proc_net_setattr(struct dentry *dentry, struct iattr *iattr)
113{
114 struct net *net = current->nsproxy->net_ns;
115 struct dentry *shadow;
116 int ret;
117
118 shadow = proc_net_shadow_dentry(dentry->d_parent, net->proc_net);
119 if (!shadow)
120 return -ENOENT;
121 ret = shadow->d_inode->i_op->setattr(shadow, iattr);
122 dput(shadow);
123 return ret;
124}
125
126static const struct file_operations proc_net_dir_operations = {
127 .read = generic_read_dir,
128};
129
130static struct inode_operations proc_net_dir_inode_operations = {
131 .follow_link = proc_net_follow_link,
132 .lookup = proc_net_lookup,
133 .setattr = proc_net_setattr,
134};
135
136static __net_init int proc_net_ns_init(struct net *net) 61static __net_init int proc_net_ns_init(struct net *net)
137{ 62{
138 struct proc_dir_entry *root, *netd, *net_statd; 63 struct proc_dir_entry *root, *netd, *net_statd;
@@ -185,9 +110,8 @@ static struct pernet_operations __net_initdata proc_net_ns_ops = {
185 110
186int __init proc_net_init(void) 111int __init proc_net_init(void)
187{ 112{
188 proc_net_shadow = proc_mkdir("net", NULL); 113 shadow_pde = proc_mkdir("net", NULL);
189 proc_net_shadow->proc_iops = &proc_net_dir_inode_operations; 114 shadow_pde->shadow_proc = proc_net_shadow;
190 proc_net_shadow->proc_fops = &proc_net_dir_operations;
191 115
192 return register_pernet_subsys(&proc_net_ns_ops); 116 return register_pernet_subsys(&proc_net_ns_ops);
193} 117}
diff --git a/fs/proc/root.c b/fs/proc/root.c
index ec9cb3b6c93b..81f99e691f99 100644
--- a/fs/proc/root.c
+++ b/fs/proc/root.c
@@ -207,6 +207,7 @@ struct proc_dir_entry proc_root = {
207 .name = "/proc", 207 .name = "/proc",
208 .mode = S_IFDIR | S_IRUGO | S_IXUGO, 208 .mode = S_IFDIR | S_IRUGO | S_IXUGO,
209 .nlink = 2, 209 .nlink = 2,
210 .count = ATOMIC_INIT(1),
210 .proc_iops = &proc_root_inode_operations, 211 .proc_iops = &proc_root_inode_operations,
211 .proc_fops = &proc_root_operations, 212 .proc_fops = &proc_root_operations,
212 .parent = &proc_root, 213 .parent = &proc_root,
diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c
index 9aa7a06e093f..001144621672 100644
--- a/fs/reiserfs/procfs.c
+++ b/fs/reiserfs/procfs.c
@@ -420,12 +420,6 @@ static void *r_start(struct seq_file *m, loff_t * pos)
420 return NULL; 420 return NULL;
421 421
422 up_write(&s->s_umount); 422 up_write(&s->s_umount);
423
424 if (de->deleted) {
425 deactivate_super(s);
426 return NULL;
427 }
428
429 return s; 423 return s;
430} 424}
431 425
diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c
index 30f8c2bb0c3e..aaf2878305ce 100644
--- a/fs/ufs/dir.c
+++ b/fs/ufs/dir.c
@@ -179,7 +179,7 @@ bad_entry:
179 goto fail; 179 goto fail;
180Eend: 180Eend:
181 p = (struct ufs_dir_entry *)(kaddr + offs); 181 p = (struct ufs_dir_entry *)(kaddr + offs);
182 ufs_error (sb, "ext2_check_page", 182 ufs_error(sb, __FUNCTION__,
183 "entry in directory #%lu spans the page boundary" 183 "entry in directory #%lu spans the page boundary"
184 "offset=%lu", 184 "offset=%lu",
185 dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs); 185 dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs);
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index c78c04fd993f..0072cb33ebec 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -755,13 +755,13 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
755 break; 755 break;
756 756
757 case UFS_MOUNT_UFSTYPE_NEXTSTEP: 757 case UFS_MOUNT_UFSTYPE_NEXTSTEP:
758 /*TODO: check may be we need set special dir block size?*/
759 UFSD("ufstype=nextstep\n"); 758 UFSD("ufstype=nextstep\n");
760 uspi->s_fsize = block_size = 1024; 759 uspi->s_fsize = block_size = 1024;
761 uspi->s_fmask = ~(1024 - 1); 760 uspi->s_fmask = ~(1024 - 1);
762 uspi->s_fshift = 10; 761 uspi->s_fshift = 10;
763 uspi->s_sbsize = super_block_size = 2048; 762 uspi->s_sbsize = super_block_size = 2048;
764 uspi->s_sbbase = 0; 763 uspi->s_sbbase = 0;
764 uspi->s_dirblksize = 1024;
765 flags |= UFS_DE_OLD | UFS_UID_OLD | UFS_ST_OLD | UFS_CG_OLD; 765 flags |= UFS_DE_OLD | UFS_UID_OLD | UFS_ST_OLD | UFS_CG_OLD;
766 if (!(sb->s_flags & MS_RDONLY)) { 766 if (!(sb->s_flags & MS_RDONLY)) {
767 if (!silent) 767 if (!silent)
@@ -771,13 +771,13 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
771 break; 771 break;
772 772
773 case UFS_MOUNT_UFSTYPE_NEXTSTEP_CD: 773 case UFS_MOUNT_UFSTYPE_NEXTSTEP_CD:
774 /*TODO: check may be we need set special dir block size?*/
775 UFSD("ufstype=nextstep-cd\n"); 774 UFSD("ufstype=nextstep-cd\n");
776 uspi->s_fsize = block_size = 2048; 775 uspi->s_fsize = block_size = 2048;
777 uspi->s_fmask = ~(2048 - 1); 776 uspi->s_fmask = ~(2048 - 1);
778 uspi->s_fshift = 11; 777 uspi->s_fshift = 11;
779 uspi->s_sbsize = super_block_size = 2048; 778 uspi->s_sbsize = super_block_size = 2048;
780 uspi->s_sbbase = 0; 779 uspi->s_sbbase = 0;
780 uspi->s_dirblksize = 1024;
781 flags |= UFS_DE_OLD | UFS_UID_OLD | UFS_ST_OLD | UFS_CG_OLD; 781 flags |= UFS_DE_OLD | UFS_UID_OLD | UFS_ST_OLD | UFS_CG_OLD;
782 if (!(sb->s_flags & MS_RDONLY)) { 782 if (!(sb->s_flags & MS_RDONLY)) {
783 if (!silent) 783 if (!silent)
diff --git a/include/asm-avr32/cacheflush.h b/include/asm-avr32/cacheflush.h
index dfaaa88cd412..670674749b20 100644
--- a/include/asm-avr32/cacheflush.h
+++ b/include/asm-avr32/cacheflush.h
@@ -116,15 +116,16 @@ extern void flush_icache_page(struct vm_area_struct *vma, struct page *page);
116 * flush with all configurations. 116 * flush with all configurations.
117 */ 117 */
118extern void flush_icache_range(unsigned long start, unsigned long end); 118extern void flush_icache_range(unsigned long start, unsigned long end);
119extern void flush_icache_user_range(struct vm_area_struct *vma,
120 struct page *page,
121 unsigned long addr, int len);
122 119
123#define copy_to_user_page(vma, page, vaddr, dst, src, len) do { \ 120extern void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
124 memcpy(dst, src, len); \ 121 unsigned long vaddr, void *dst, const void *src,
125 flush_icache_user_range(vma, page, vaddr, len); \ 122 unsigned long len);
126} while(0) 123
127#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 124static inline void copy_from_user_page(struct vm_area_struct *vma,
128 memcpy(dst, src, len) 125 struct page *page, unsigned long vaddr, void *dst,
126 const void *src, unsigned long len)
127{
128 memcpy(dst, src, len);
129}
129 130
130#endif /* __ASM_AVR32_CACHEFLUSH_H */ 131#endif /* __ASM_AVR32_CACHEFLUSH_H */
diff --git a/include/asm-avr32/ocd.h b/include/asm-avr32/ocd.h
index 46f73180a127..996405e0393f 100644
--- a/include/asm-avr32/ocd.h
+++ b/include/asm-avr32/ocd.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * AVR32 OCD Registers 2 * AVR32 OCD Interface and register definitions
3 * 3 *
4 * Copyright (C) 2004-2006 Atmel Corporation 4 * Copyright (C) 2004-2007 Atmel Corporation
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as 7 * it under the terms of the GNU General Public License version 2 as
@@ -10,69 +10,529 @@
10#ifndef __ASM_AVR32_OCD_H 10#ifndef __ASM_AVR32_OCD_H
11#define __ASM_AVR32_OCD_H 11#define __ASM_AVR32_OCD_H
12 12
13/* Debug Registers */ 13/* OCD Register offsets. Abbreviations used below:
14#define DBGREG_DID 0 14 *
15#define DBGREG_DC 8 15 * BP Breakpoint
16#define DBGREG_DS 16 16 * Comm Communication
17#define DBGREG_RWCS 28 17 * DT Data Trace
18#define DBGREG_RWA 36 18 * PC Program Counter
19#define DBGREG_RWD 40 19 * PID Process ID
20#define DBGREG_WT 44 20 * R/W Read/Write
21#define DBGREG_DTC 52 21 * WP Watchpoint
22#define DBGREG_DTSA0 56 22 */
23#define DBGREG_DTSA1 60 23#define OCD_DID 0x0000 /* Device ID */
24#define DBGREG_DTEA0 72 24#define OCD_DC 0x0008 /* Development Control */
25#define DBGREG_DTEA1 76 25#define OCD_DS 0x0010 /* Development Status */
26#define DBGREG_BWC0A 88 26#define OCD_RWCS 0x001c /* R/W Access Control */
27#define DBGREG_BWC0B 92 27#define OCD_RWA 0x0024 /* R/W Access Address */
28#define DBGREG_BWC1A 96 28#define OCD_RWD 0x0028 /* R/W Access Data */
29#define DBGREG_BWC1B 100 29#define OCD_WT 0x002c /* Watchpoint Trigger */
30#define DBGREG_BWC2A 104 30#define OCD_DTC 0x0034 /* Data Trace Control */
31#define DBGREG_BWC2B 108 31#define OCD_DTSA0 0x0038 /* DT Start Addr Channel 0 */
32#define DBGREG_BWC3A 112 32#define OCD_DTSA1 0x003c /* DT Start Addr Channel 1 */
33#define DBGREG_BWC3B 116 33#define OCD_DTEA0 0x0048 /* DT End Addr Channel 0 */
34#define DBGREG_BWA0A 120 34#define OCD_DTEA1 0x004c /* DT End Addr Channel 1 */
35#define DBGREG_BWA0B 124 35#define OCD_BWC0A 0x0058 /* PC BP/WP Control 0A */
36#define DBGREG_BWA1A 128 36#define OCD_BWC0B 0x005c /* PC BP/WP Control 0B */
37#define DBGREG_BWA1B 132 37#define OCD_BWC1A 0x0060 /* PC BP/WP Control 1A */
38#define DBGREG_BWA2A 136 38#define OCD_BWC1B 0x0064 /* PC BP/WP Control 1B */
39#define DBGREG_BWA2B 140 39#define OCD_BWC2A 0x0068 /* PC BP/WP Control 2A */
40#define DBGREG_BWA3A 144 40#define OCD_BWC2B 0x006c /* PC BP/WP Control 2B */
41#define DBGREG_BWA3B 148 41#define OCD_BWC3A 0x0070 /* Data BP/WP Control 3A */
42#define DBGREG_BWD3A 153 42#define OCD_BWC3B 0x0074 /* Data BP/WP Control 3B */
43#define DBGREG_BWD3B 156 43#define OCD_BWA0A 0x0078 /* PC BP/WP Address 0A */
44 44#define OCD_BWA0B 0x007c /* PC BP/WP Address 0B */
45#define DBGREG_PID 284 45#define OCD_BWA1A 0x0080 /* PC BP/WP Address 1A */
46 46#define OCD_BWA1B 0x0084 /* PC BP/WP Address 1B */
47#define SABAH_OCD 0x01 47#define OCD_BWA2A 0x0088 /* PC BP/WP Address 2A */
48#define SABAH_ICACHE 0x02 48#define OCD_BWA2B 0x008c /* PC BP/WP Address 2B */
49#define SABAH_MEM_CACHED 0x04 49#define OCD_BWA3A 0x0090 /* Data BP/WP Address 3A */
50#define SABAH_MEM_UNCACHED 0x05 50#define OCD_BWA3B 0x0094 /* Data BP/WP Address 3B */
51 51#define OCD_NXCFG 0x0100 /* Nexus Configuration */
52/* Fields in the Development Control register */ 52#define OCD_DINST 0x0104 /* Debug Instruction */
53#define DC_SS_BIT 8 53#define OCD_DPC 0x0108 /* Debug Program Counter */
54 54#define OCD_CPUCM 0x010c /* CPU Control Mask */
55#define DC_SS (1 << DC_SS_BIT) 55#define OCD_DCCPU 0x0110 /* Debug Comm CPU */
56#define DC_DBE (1 << 13) 56#define OCD_DCEMU 0x0114 /* Debug Comm Emulator */
57#define DC_RID (1 << 27) 57#define OCD_DCSR 0x0118 /* Debug Comm Status */
58#define DC_ORP (1 << 28) 58#define OCD_PID 0x011c /* Ownership Trace PID */
59#define DC_MM (1 << 29) 59#define OCD_EPC0 0x0120 /* Event Pair Control 0 */
60#define DC_RES (1 << 30) 60#define OCD_EPC1 0x0124 /* Event Pair Control 1 */
61 61#define OCD_EPC2 0x0128 /* Event Pair Control 2 */
62/* Fields in the Development Status register */ 62#define OCD_EPC3 0x012c /* Event Pair Control 3 */
63#define DS_SSS (1 << 0) 63#define OCD_AXC 0x0130 /* AUX port Control */
64#define DS_SWB (1 << 1) 64
65#define DS_HWB (1 << 2) 65/* Bits in DID */
66#define DS_BP_SHIFT 8 66#define OCD_DID_MID_START 1
67#define DS_BP_MASK (0xff << DS_BP_SHIFT) 67#define OCD_DID_MID_SIZE 11
68 68#define OCD_DID_PN_START 12
69#define __mfdr(addr) \ 69#define OCD_DID_PN_SIZE 16
70({ \ 70#define OCD_DID_RN_START 28
71 register unsigned long value; \ 71#define OCD_DID_RN_SIZE 4
72 asm volatile("mfdr %0, %1" : "=r"(value) : "i"(addr)); \ 72
73 value; \ 73/* Bits in DC */
74}) 74#define OCD_DC_TM_START 0
75#define __mtdr(addr, value) \ 75#define OCD_DC_TM_SIZE 2
76 asm volatile("mtdr %0, %1" : : "i"(addr), "r"(value)) 76#define OCD_DC_EIC_START 3
77#define OCD_DC_EIC_SIZE 2
78#define OCD_DC_OVC_START 5
79#define OCD_DC_OVC_SIZE 3
80#define OCD_DC_SS_BIT 8
81#define OCD_DC_DBR_BIT 12
82#define OCD_DC_DBE_BIT 13
83#define OCD_DC_EOS_START 20
84#define OCD_DC_EOS_SIZE 2
85#define OCD_DC_SQA_BIT 22
86#define OCD_DC_IRP_BIT 23
87#define OCD_DC_IFM_BIT 24
88#define OCD_DC_TOZ_BIT 25
89#define OCD_DC_TSR_BIT 26
90#define OCD_DC_RID_BIT 27
91#define OCD_DC_ORP_BIT 28
92#define OCD_DC_MM_BIT 29
93#define OCD_DC_RES_BIT 30
94#define OCD_DC_ABORT_BIT 31
95
96/* Bits in DS */
97#define OCD_DS_SSS_BIT 0
98#define OCD_DS_SWB_BIT 1
99#define OCD_DS_HWB_BIT 2
100#define OCD_DS_HWE_BIT 3
101#define OCD_DS_STP_BIT 4
102#define OCD_DS_DBS_BIT 5
103#define OCD_DS_BP_START 8
104#define OCD_DS_BP_SIZE 8
105#define OCD_DS_INC_BIT 24
106#define OCD_DS_BOZ_BIT 25
107#define OCD_DS_DBA_BIT 26
108#define OCD_DS_EXB_BIT 27
109#define OCD_DS_NTBF_BIT 28
110
111/* Bits in RWCS */
112#define OCD_RWCS_DV_BIT 0
113#define OCD_RWCS_ERR_BIT 1
114#define OCD_RWCS_CNT_START 2
115#define OCD_RWCS_CNT_SIZE 14
116#define OCD_RWCS_CRC_BIT 19
117#define OCD_RWCS_NTBC_START 20
118#define OCD_RWCS_NTBC_SIZE 2
119#define OCD_RWCS_NTE_BIT 22
120#define OCD_RWCS_NTAP_BIT 23
121#define OCD_RWCS_WRAPPED_BIT 24
122#define OCD_RWCS_CCTRL_START 25
123#define OCD_RWCS_CCTRL_SIZE 2
124#define OCD_RWCS_SZ_START 27
125#define OCD_RWCS_SZ_SIZE 3
126#define OCD_RWCS_RW_BIT 30
127#define OCD_RWCS_AC_BIT 31
128
129/* Bits in RWA */
130#define OCD_RWA_RWA_START 0
131#define OCD_RWA_RWA_SIZE 32
132
133/* Bits in RWD */
134#define OCD_RWD_RWD_START 0
135#define OCD_RWD_RWD_SIZE 32
136
137/* Bits in WT */
138#define OCD_WT_DTE_START 20
139#define OCD_WT_DTE_SIZE 3
140#define OCD_WT_DTS_START 23
141#define OCD_WT_DTS_SIZE 3
142#define OCD_WT_PTE_START 26
143#define OCD_WT_PTE_SIZE 3
144#define OCD_WT_PTS_START 29
145#define OCD_WT_PTS_SIZE 3
146
147/* Bits in DTC */
148#define OCD_DTC_T0WP_BIT 0
149#define OCD_DTC_T1WP_BIT 1
150#define OCD_DTC_ASID0EN_BIT 2
151#define OCD_DTC_ASID0_START 3
152#define OCD_DTC_ASID0_SIZE 8
153#define OCD_DTC_ASID1EN_BIT 11
154#define OCD_DTC_ASID1_START 12
155#define OCD_DTC_ASID1_SIZE 8
156#define OCD_DTC_RWT1_START 28
157#define OCD_DTC_RWT1_SIZE 2
158#define OCD_DTC_RWT0_START 30
159#define OCD_DTC_RWT0_SIZE 2
160
161/* Bits in DTSA0 */
162#define OCD_DTSA0_DTSA_START 0
163#define OCD_DTSA0_DTSA_SIZE 32
164
165/* Bits in DTSA1 */
166#define OCD_DTSA1_DTSA_START 0
167#define OCD_DTSA1_DTSA_SIZE 32
168
169/* Bits in DTEA0 */
170#define OCD_DTEA0_DTEA_START 0
171#define OCD_DTEA0_DTEA_SIZE 32
172
173/* Bits in DTEA1 */
174#define OCD_DTEA1_DTEA_START 0
175#define OCD_DTEA1_DTEA_SIZE 32
176
177/* Bits in BWC0A */
178#define OCD_BWC0A_ASIDEN_BIT 0
179#define OCD_BWC0A_ASID_START 1
180#define OCD_BWC0A_ASID_SIZE 8
181#define OCD_BWC0A_EOC_BIT 14
182#define OCD_BWC0A_AME_BIT 25
183#define OCD_BWC0A_BWE_START 30
184#define OCD_BWC0A_BWE_SIZE 2
185
186/* Bits in BWC0B */
187#define OCD_BWC0B_ASIDEN_BIT 0
188#define OCD_BWC0B_ASID_START 1
189#define OCD_BWC0B_ASID_SIZE 8
190#define OCD_BWC0B_EOC_BIT 14
191#define OCD_BWC0B_AME_BIT 25
192#define OCD_BWC0B_BWE_START 30
193#define OCD_BWC0B_BWE_SIZE 2
194
195/* Bits in BWC1A */
196#define OCD_BWC1A_ASIDEN_BIT 0
197#define OCD_BWC1A_ASID_START 1
198#define OCD_BWC1A_ASID_SIZE 8
199#define OCD_BWC1A_EOC_BIT 14
200#define OCD_BWC1A_AME_BIT 25
201#define OCD_BWC1A_BWE_START 30
202#define OCD_BWC1A_BWE_SIZE 2
203
204/* Bits in BWC1B */
205#define OCD_BWC1B_ASIDEN_BIT 0
206#define OCD_BWC1B_ASID_START 1
207#define OCD_BWC1B_ASID_SIZE 8
208#define OCD_BWC1B_EOC_BIT 14
209#define OCD_BWC1B_AME_BIT 25
210#define OCD_BWC1B_BWE_START 30
211#define OCD_BWC1B_BWE_SIZE 2
212
213/* Bits in BWC2A */
214#define OCD_BWC2A_ASIDEN_BIT 0
215#define OCD_BWC2A_ASID_START 1
216#define OCD_BWC2A_ASID_SIZE 8
217#define OCD_BWC2A_EOC_BIT 14
218#define OCD_BWC2A_AMB_START 20
219#define OCD_BWC2A_AMB_SIZE 5
220#define OCD_BWC2A_AME_BIT 25
221#define OCD_BWC2A_BWE_START 30
222#define OCD_BWC2A_BWE_SIZE 2
223
224/* Bits in BWC2B */
225#define OCD_BWC2B_ASIDEN_BIT 0
226#define OCD_BWC2B_ASID_START 1
227#define OCD_BWC2B_ASID_SIZE 8
228#define OCD_BWC2B_EOC_BIT 14
229#define OCD_BWC2B_AME_BIT 25
230#define OCD_BWC2B_BWE_START 30
231#define OCD_BWC2B_BWE_SIZE 2
232
233/* Bits in BWC3A */
234#define OCD_BWC3A_ASIDEN_BIT 0
235#define OCD_BWC3A_ASID_START 1
236#define OCD_BWC3A_ASID_SIZE 8
237#define OCD_BWC3A_SIZE_START 9
238#define OCD_BWC3A_SIZE_SIZE 3
239#define OCD_BWC3A_EOC_BIT 14
240#define OCD_BWC3A_BWO_START 16
241#define OCD_BWC3A_BWO_SIZE 2
242#define OCD_BWC3A_BME_START 20
243#define OCD_BWC3A_BME_SIZE 4
244#define OCD_BWC3A_BRW_START 28
245#define OCD_BWC3A_BRW_SIZE 2
246#define OCD_BWC3A_BWE_START 30
247#define OCD_BWC3A_BWE_SIZE 2
248
249/* Bits in BWC3B */
250#define OCD_BWC3B_ASIDEN_BIT 0
251#define OCD_BWC3B_ASID_START 1
252#define OCD_BWC3B_ASID_SIZE 8
253#define OCD_BWC3B_SIZE_START 9
254#define OCD_BWC3B_SIZE_SIZE 3
255#define OCD_BWC3B_EOC_BIT 14
256#define OCD_BWC3B_BWO_START 16
257#define OCD_BWC3B_BWO_SIZE 2
258#define OCD_BWC3B_BME_START 20
259#define OCD_BWC3B_BME_SIZE 4
260#define OCD_BWC3B_BRW_START 28
261#define OCD_BWC3B_BRW_SIZE 2
262#define OCD_BWC3B_BWE_START 30
263#define OCD_BWC3B_BWE_SIZE 2
264
265/* Bits in BWA0A */
266#define OCD_BWA0A_BWA_START 0
267#define OCD_BWA0A_BWA_SIZE 32
268
269/* Bits in BWA0B */
270#define OCD_BWA0B_BWA_START 0
271#define OCD_BWA0B_BWA_SIZE 32
272
273/* Bits in BWA1A */
274#define OCD_BWA1A_BWA_START 0
275#define OCD_BWA1A_BWA_SIZE 32
276
277/* Bits in BWA1B */
278#define OCD_BWA1B_BWA_START 0
279#define OCD_BWA1B_BWA_SIZE 32
280
281/* Bits in BWA2A */
282#define OCD_BWA2A_BWA_START 0
283#define OCD_BWA2A_BWA_SIZE 32
284
285/* Bits in BWA2B */
286#define OCD_BWA2B_BWA_START 0
287#define OCD_BWA2B_BWA_SIZE 32
288
289/* Bits in BWA3A */
290#define OCD_BWA3A_BWA_START 0
291#define OCD_BWA3A_BWA_SIZE 32
292
293/* Bits in BWA3B */
294#define OCD_BWA3B_BWA_START 0
295#define OCD_BWA3B_BWA_SIZE 32
296
297/* Bits in NXCFG */
298#define OCD_NXCFG_NXARCH_START 0
299#define OCD_NXCFG_NXARCH_SIZE 4
300#define OCD_NXCFG_NXOCD_START 4
301#define OCD_NXCFG_NXOCD_SIZE 4
302#define OCD_NXCFG_NXPCB_START 8
303#define OCD_NXCFG_NXPCB_SIZE 4
304#define OCD_NXCFG_NXDB_START 12
305#define OCD_NXCFG_NXDB_SIZE 4
306#define OCD_NXCFG_MXMSEO_BIT 16
307#define OCD_NXCFG_NXMDO_START 17
308#define OCD_NXCFG_NXMDO_SIZE 4
309#define OCD_NXCFG_NXPT_BIT 21
310#define OCD_NXCFG_NXOT_BIT 22
311#define OCD_NXCFG_NXDWT_BIT 23
312#define OCD_NXCFG_NXDRT_BIT 24
313#define OCD_NXCFG_NXDTC_START 25
314#define OCD_NXCFG_NXDTC_SIZE 3
315#define OCD_NXCFG_NXDMA_BIT 28
316
317/* Bits in DINST */
318#define OCD_DINST_DINST_START 0
319#define OCD_DINST_DINST_SIZE 32
320
321/* Bits in CPUCM */
322#define OCD_CPUCM_BEM_BIT 1
323#define OCD_CPUCM_FEM_BIT 2
324#define OCD_CPUCM_REM_BIT 3
325#define OCD_CPUCM_IBEM_BIT 4
326#define OCD_CPUCM_IEEM_BIT 5
327
328/* Bits in DCCPU */
329#define OCD_DCCPU_DATA_START 0
330#define OCD_DCCPU_DATA_SIZE 32
331
332/* Bits in DCEMU */
333#define OCD_DCEMU_DATA_START 0
334#define OCD_DCEMU_DATA_SIZE 32
335
336/* Bits in DCSR */
337#define OCD_DCSR_CPUD_BIT 0
338#define OCD_DCSR_EMUD_BIT 1
339
340/* Bits in PID */
341#define OCD_PID_PROCESS_START 0
342#define OCD_PID_PROCESS_SIZE 32
343
344/* Bits in EPC0 */
345#define OCD_EPC0_RNG_START 0
346#define OCD_EPC0_RNG_SIZE 2
347#define OCD_EPC0_CE_BIT 4
348#define OCD_EPC0_ECNT_START 16
349#define OCD_EPC0_ECNT_SIZE 16
350
351/* Bits in EPC1 */
352#define OCD_EPC1_RNG_START 0
353#define OCD_EPC1_RNG_SIZE 2
354#define OCD_EPC1_ATB_BIT 5
355#define OCD_EPC1_AM_BIT 6
356
357/* Bits in EPC2 */
358#define OCD_EPC2_RNG_START 0
359#define OCD_EPC2_RNG_SIZE 2
360#define OCD_EPC2_DB_START 2
361#define OCD_EPC2_DB_SIZE 2
362
363/* Bits in EPC3 */
364#define OCD_EPC3_RNG_START 0
365#define OCD_EPC3_RNG_SIZE 2
366#define OCD_EPC3_DWE_BIT 2
367
368/* Bits in AXC */
369#define OCD_AXC_DIV_START 0
370#define OCD_AXC_DIV_SIZE 4
371#define OCD_AXC_AXE_BIT 8
372#define OCD_AXC_AXS_BIT 9
373#define OCD_AXC_DDR_BIT 10
374#define OCD_AXC_LS_BIT 11
375#define OCD_AXC_REX_BIT 12
376#define OCD_AXC_REXTEN_BIT 13
377
378/* Constants for DC:EIC */
379#define OCD_EIC_PROGRAM_AND_DATA_TRACE 0
380#define OCD_EIC_BREAKPOINT 1
381#define OCD_EIC_NOP 2
382
383/* Constants for DC:OVC */
384#define OCD_OVC_OVERRUN 0
385#define OCD_OVC_DELAY_CPU_BTM 1
386#define OCD_OVC_DELAY_CPU_DTM 2
387#define OCD_OVC_DELAY_CPU_BTM_DTM 3
388
389/* Constants for DC:EOS */
390#define OCD_EOS_NOP 0
391#define OCD_EOS_DEBUG_MODE 1
392#define OCD_EOS_BREAKPOINT_WATCHPOINT 2
393#define OCD_EOS_THQ 3
394
395/* Constants for RWCS:NTBC */
396#define OCD_NTBC_OVERWRITE 0
397#define OCD_NTBC_DISABLE 1
398#define OCD_NTBC_BREAKPOINT 2
399
400/* Constants for RWCS:CCTRL */
401#define OCD_CCTRL_AUTO 0
402#define OCD_CCTRL_CACHED 1
403#define OCD_CCTRL_UNCACHED 2
404
405/* Constants for RWCS:SZ */
406#define OCD_SZ_BYTE 0
407#define OCD_SZ_HALFWORD 1
408#define OCD_SZ_WORD 2
409
410/* Constants for WT:PTS */
411#define OCD_PTS_DISABLED 0
412#define OCD_PTS_PROGRAM_0B 1
413#define OCD_PTS_PROGRAM_1A 2
414#define OCD_PTS_PROGRAM_1B 3
415#define OCD_PTS_PROGRAM_2A 4
416#define OCD_PTS_PROGRAM_2B 5
417#define OCD_PTS_DATA_3A 6
418#define OCD_PTS_DATA_3B 7
419
420/* Constants for DTC:RWT1 */
421#define OCD_RWT1_NO_TRACE 0
422#define OCD_RWT1_DATA_READ 1
423#define OCD_RWT1_DATA_WRITE 2
424#define OCD_RWT1_DATA_READ_WRITE 3
425
426/* Constants for DTC:RWT0 */
427#define OCD_RWT0_NO_TRACE 0
428#define OCD_RWT0_DATA_READ 1
429#define OCD_RWT0_DATA_WRITE 2
430#define OCD_RWT0_DATA_READ_WRITE 3
431
432/* Constants for BWC0A:BWE */
433#define OCD_BWE_DISABLED 0
434#define OCD_BWE_BREAKPOINT_ENABLED 1
435#define OCD_BWE_WATCHPOINT_ENABLED 3
436
437/* Constants for BWC0B:BWE */
438#define OCD_BWE_DISABLED 0
439#define OCD_BWE_BREAKPOINT_ENABLED 1
440#define OCD_BWE_WATCHPOINT_ENABLED 3
441
442/* Constants for BWC1A:BWE */
443#define OCD_BWE_DISABLED 0
444#define OCD_BWE_BREAKPOINT_ENABLED 1
445#define OCD_BWE_WATCHPOINT_ENABLED 3
446
447/* Constants for BWC1B:BWE */
448#define OCD_BWE_DISABLED 0
449#define OCD_BWE_BREAKPOINT_ENABLED 1
450#define OCD_BWE_WATCHPOINT_ENABLED 3
451
452/* Constants for BWC2A:BWE */
453#define OCD_BWE_DISABLED 0
454#define OCD_BWE_BREAKPOINT_ENABLED 1
455#define OCD_BWE_WATCHPOINT_ENABLED 3
456
457/* Constants for BWC2B:BWE */
458#define OCD_BWE_DISABLED 0
459#define OCD_BWE_BREAKPOINT_ENABLED 1
460#define OCD_BWE_WATCHPOINT_ENABLED 3
461
462/* Constants for BWC3A:SIZE */
463#define OCD_SIZE_BYTE_ACCESS 4
464#define OCD_SIZE_HALFWORD_ACCESS 5
465#define OCD_SIZE_WORD_ACCESS 6
466#define OCD_SIZE_DOUBLE_WORD_ACCESS 7
467
468/* Constants for BWC3A:BRW */
469#define OCD_BRW_READ_BREAK 0
470#define OCD_BRW_WRITE_BREAK 1
471#define OCD_BRW_ANY_ACCES_BREAK 2
472
473/* Constants for BWC3A:BWE */
474#define OCD_BWE_DISABLED 0
475#define OCD_BWE_BREAKPOINT_ENABLED 1
476#define OCD_BWE_WATCHPOINT_ENABLED 3
477
478/* Constants for BWC3B:SIZE */
479#define OCD_SIZE_BYTE_ACCESS 4
480#define OCD_SIZE_HALFWORD_ACCESS 5
481#define OCD_SIZE_WORD_ACCESS 6
482#define OCD_SIZE_DOUBLE_WORD_ACCESS 7
483
484/* Constants for BWC3B:BRW */
485#define OCD_BRW_READ_BREAK 0
486#define OCD_BRW_WRITE_BREAK 1
487#define OCD_BRW_ANY_ACCES_BREAK 2
488
489/* Constants for BWC3B:BWE */
490#define OCD_BWE_DISABLED 0
491#define OCD_BWE_BREAKPOINT_ENABLED 1
492#define OCD_BWE_WATCHPOINT_ENABLED 3
493
494/* Constants for EPC0:RNG */
495#define OCD_RNG_DISABLED 0
496#define OCD_RNG_EXCLUSIVE 1
497#define OCD_RNG_INCLUSIVE 2
498
499/* Constants for EPC1:RNG */
500#define OCD_RNG_DISABLED 0
501#define OCD_RNG_EXCLUSIVE 1
502#define OCD_RNG_INCLUSIVE 2
503
504/* Constants for EPC2:RNG */
505#define OCD_RNG_DISABLED 0
506#define OCD_RNG_EXCLUSIVE 1
507#define OCD_RNG_INCLUSIVE 2
508
509/* Constants for EPC2:DB */
510#define OCD_DB_DISABLED 0
511#define OCD_DB_CHAINED_B 1
512#define OCD_DB_CHAINED_A 2
513#define OCD_DB_AHAINED_A_AND_B 3
514
515/* Constants for EPC3:RNG */
516#define OCD_RNG_DISABLED 0
517#define OCD_RNG_EXCLUSIVE 1
518#define OCD_RNG_INCLUSIVE 2
519
520#ifndef __ASSEMBLER__
521
522/* Register access macros */
523static inline unsigned long __ocd_read(unsigned int reg)
524{
525 return __builtin_mfdr(reg);
526}
527
528static inline void __ocd_write(unsigned int reg, unsigned long value)
529{
530 __builtin_mtdr(reg, value);
531}
532
533#define ocd_read(reg) __ocd_read(OCD_##reg)
534#define ocd_write(reg, value) __ocd_write(OCD_##reg, value)
535
536#endif /* !__ASSEMBLER__ */
77 537
78#endif /* __ASM_AVR32_OCD_H */ 538#endif /* __ASM_AVR32_OCD_H */
diff --git a/include/asm-avr32/processor.h b/include/asm-avr32/processor.h
index 6a64833756a6..a52576b25afe 100644
--- a/include/asm-avr32/processor.h
+++ b/include/asm-avr32/processor.h
@@ -139,6 +139,9 @@ extern void show_regs_log_lvl(struct pt_regs *regs, const char *log_lvl);
139extern void show_stack_log_lvl(struct task_struct *tsk, unsigned long sp, 139extern void show_stack_log_lvl(struct task_struct *tsk, unsigned long sp,
140 struct pt_regs *regs, const char *log_lvl); 140 struct pt_regs *regs, const char *log_lvl);
141 141
142#define task_pt_regs(p) \
143 ((struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1)
144
142#define KSTK_EIP(tsk) ((tsk)->thread.cpu_context.pc) 145#define KSTK_EIP(tsk) ((tsk)->thread.cpu_context.pc)
143#define KSTK_ESP(tsk) ((tsk)->thread.cpu_context.ksp) 146#define KSTK_ESP(tsk) ((tsk)->thread.cpu_context.ksp)
144 147
diff --git a/include/asm-avr32/ptrace.h b/include/asm-avr32/ptrace.h
index 60f0f19a81f1..8c5dba5e33df 100644
--- a/include/asm-avr32/ptrace.h
+++ b/include/asm-avr32/ptrace.h
@@ -14,8 +14,7 @@
14/* 14/*
15 * Status Register bits 15 * Status Register bits
16 */ 16 */
17#define SR_H 0x40000000 17#define SR_H 0x20000000
18#define SR_R 0x20000000
19#define SR_J 0x10000000 18#define SR_J 0x10000000
20#define SR_DM 0x08000000 19#define SR_DM 0x08000000
21#define SR_D 0x04000000 20#define SR_D 0x04000000
@@ -35,8 +34,7 @@
35#define SR_I0M 0x00020000 34#define SR_I0M 0x00020000
36#define SR_GM 0x00010000 35#define SR_GM 0x00010000
37 36
38#define SR_H_BIT 30 37#define SR_H_BIT 29
39#define SR_R_BIT 29
40#define SR_J_BIT 28 38#define SR_J_BIT 28
41#define SR_DM_BIT 27 39#define SR_DM_BIT 27
42#define SR_D_BIT 26 40#define SR_D_BIT 26
diff --git a/include/asm-avr32/sysreg.h b/include/asm-avr32/sysreg.h
index dd21182b60e0..d4e0950170ca 100644
--- a/include/asm-avr32/sysreg.h
+++ b/include/asm-avr32/sysreg.h
@@ -93,6 +93,8 @@
93#define SYSREG_I3M_SIZE 1 93#define SYSREG_I3M_SIZE 1
94#define SYSREG_EM_OFFSET 21 94#define SYSREG_EM_OFFSET 21
95#define SYSREG_EM_SIZE 1 95#define SYSREG_EM_SIZE 1
96#define SYSREG_MODE_OFFSET 22
97#define SYSREG_MODE_SIZE 3
96#define SYSREG_M0_OFFSET 22 98#define SYSREG_M0_OFFSET 22
97#define SYSREG_M0_SIZE 1 99#define SYSREG_M0_SIZE 1
98#define SYSREG_M1_OFFSET 23 100#define SYSREG_M1_OFFSET 23
diff --git a/include/asm-avr32/system.h b/include/asm-avr32/system.h
index dc2d527cef41..c600cc15cbcb 100644
--- a/include/asm-avr32/system.h
+++ b/include/asm-avr32/system.h
@@ -35,8 +35,8 @@
35#include <asm/ocd.h> 35#include <asm/ocd.h>
36#define finish_arch_switch(prev) \ 36#define finish_arch_switch(prev) \
37 do { \ 37 do { \
38 __mtdr(DBGREG_PID, prev->pid); \ 38 ocd_write(PID, prev->pid); \
39 __mtdr(DBGREG_PID, current->pid); \ 39 ocd_write(PID, current->pid); \
40 } while(0) 40 } while(0)
41#endif 41#endif
42 42
diff --git a/include/asm-avr32/thread_info.h b/include/asm-avr32/thread_info.h
index 17dacf3f36d3..184b574289b4 100644
--- a/include/asm-avr32/thread_info.h
+++ b/include/asm-avr32/thread_info.h
@@ -25,6 +25,11 @@ struct thread_info {
25 unsigned long flags; /* low level flags */ 25 unsigned long flags; /* low level flags */
26 __u32 cpu; 26 __u32 cpu;
27 __s32 preempt_count; /* 0 => preemptable, <0 => BUG */ 27 __s32 preempt_count; /* 0 => preemptable, <0 => BUG */
28 __u32 rar_saved; /* return address... */
29 __u32 rsr_saved; /* ...and status register
30 saved by debug handler
31 when setting up
32 trampoline */
28 struct restart_block restart_block; 33 struct restart_block restart_block;
29 __u8 supervisor_stack[0]; 34 __u8 supervisor_stack[0];
30}; 35};
@@ -78,8 +83,8 @@ static inline struct thread_info *current_thread_info(void)
78#define TIF_NEED_RESCHED 2 /* rescheduling necessary */ 83#define TIF_NEED_RESCHED 2 /* rescheduling necessary */
79#define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling 84#define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling
80 TIF_NEED_RESCHED */ 85 TIF_NEED_RESCHED */
81#define TIF_BREAKPOINT 4 /* true if we should break after return */ 86#define TIF_BREAKPOINT 4 /* enter monitor mode on return */
82#define TIF_SINGLE_STEP 5 /* single step after next break */ 87#define TIF_SINGLE_STEP 5 /* single step in progress */
83#define TIF_MEMDIE 6 88#define TIF_MEMDIE 6
84#define TIF_RESTORE_SIGMASK 7 /* restore signal mask in do_signal */ 89#define TIF_RESTORE_SIGMASK 7 /* restore signal mask in do_signal */
85#define TIF_CPU_GOING_TO_SLEEP 8 /* CPU is entering sleep 0 mode */ 90#define TIF_CPU_GOING_TO_SLEEP 8 /* CPU is entering sleep 0 mode */
@@ -89,18 +94,24 @@ static inline struct thread_info *current_thread_info(void)
89#define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 94#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
90#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) 95#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
91#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) 96#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
92#define _TIF_BREAKPOINT (1 << TIF_BREAKPOINT)
93#define _TIF_SINGLE_STEP (1 << TIF_SINGLE_STEP) 97#define _TIF_SINGLE_STEP (1 << TIF_SINGLE_STEP)
94#define _TIF_MEMDIE (1 << TIF_MEMDIE) 98#define _TIF_MEMDIE (1 << TIF_MEMDIE)
95#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) 99#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
96#define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP) 100#define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP)
97 101
98/* XXX: These two masks must never span more than 16 bits! */ 102/* Note: The masks below must never span more than 16 bits! */
103
99/* work to do on interrupt/exception return */ 104/* work to do on interrupt/exception return */
100#define _TIF_WORK_MASK 0x0000013e 105#define _TIF_WORK_MASK \
106 ((1 << TIF_SIGPENDING) \
107 | (1 << TIF_NEED_RESCHED) \
108 | (1 << TIF_POLLING_NRFLAG) \
109 | (1 << TIF_BREAKPOINT) \
110 | (1 << TIF_RESTORE_SIGMASK))
111
101/* work to do on any return to userspace */ 112/* work to do on any return to userspace */
102#define _TIF_ALLWORK_MASK 0x0000013f 113#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | (1 << TIF_SYSCALL_TRACE))
103/* work to do on return from debug mode */ 114/* work to do on return from debug mode */
104#define _TIF_DBGWORK_MASK 0x0000017e 115#define _TIF_DBGWORK_MASK (_TIF_WORK_MASK & ~(1 << TIF_BREAKPOINT))
105 116
106#endif /* __ASM_AVR32_THREAD_INFO_H */ 117#endif /* __ASM_AVR32_THREAD_INFO_H */
diff --git a/include/asm-blackfin/bfin5xx_spi.h b/include/asm-blackfin/bfin5xx_spi.h
index f617d8765451..1a0b57f6a3d4 100644
--- a/include/asm-blackfin/bfin5xx_spi.h
+++ b/include/asm-blackfin/bfin5xx_spi.h
@@ -152,6 +152,7 @@
152struct bfin5xx_spi_master { 152struct bfin5xx_spi_master {
153 u16 num_chipselect; 153 u16 num_chipselect;
154 u8 enable_dma; 154 u8 enable_dma;
155 u16 pin_req[4];
155}; 156};
156 157
157/* spi_board_info.controller_data for SPI slave devices, 158/* spi_board_info.controller_data for SPI slave devices,
@@ -162,7 +163,7 @@ struct bfin5xx_spi_chip {
162 u8 enable_dma; 163 u8 enable_dma;
163 u8 bits_per_word; 164 u8 bits_per_word;
164 u8 cs_change_per_word; 165 u8 cs_change_per_word;
165 u8 cs_chg_udelay; 166 u16 cs_chg_udelay; /* Some devices require 16-bit delays */
166}; 167};
167 168
168#endif /* _SPI_CHANNEL_H_ */ 169#endif /* _SPI_CHANNEL_H_ */
diff --git a/include/asm-blackfin/mach-bf533/portmux.h b/include/asm-blackfin/mach-bf533/portmux.h
index b88d7a03ee3e..137f4884acfe 100644
--- a/include/asm-blackfin/mach-bf533/portmux.h
+++ b/include/asm-blackfin/mach-bf533/portmux.h
@@ -42,7 +42,7 @@
42#define P_SPORT0_DRPRI (P_DONTCARE) 42#define P_SPORT0_DRPRI (P_DONTCARE)
43 43
44#define P_SPI0_MOSI (P_DONTCARE) 44#define P_SPI0_MOSI (P_DONTCARE)
45#define P_SPI0_MIS0 (P_DONTCARE) 45#define P_SPI0_MISO (P_DONTCARE)
46#define P_SPI0_SCK (P_DONTCARE) 46#define P_SPI0_SCK (P_DONTCARE)
47#define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(GPIO_PF7)) 47#define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(GPIO_PF7))
48#define P_SPI0_SSEL6 (P_DEFINED | P_IDENT(GPIO_PF6)) 48#define P_SPI0_SSEL6 (P_DEFINED | P_IDENT(GPIO_PF6))
diff --git a/include/asm-blackfin/mach-bf548/defBF54x_base.h b/include/asm-blackfin/mach-bf548/defBF54x_base.h
index da979cb62f7d..319a48590c9c 100644
--- a/include/asm-blackfin/mach-bf548/defBF54x_base.h
+++ b/include/asm-blackfin/mach-bf548/defBF54x_base.h
@@ -1644,8 +1644,25 @@
1644#define RESTART 0x20 /* Work Unit Transitions */ 1644#define RESTART 0x20 /* Work Unit Transitions */
1645#define DI_SEL 0x40 /* Data Interrupt Timing Select */ 1645#define DI_SEL 0x40 /* Data Interrupt Timing Select */
1646#define DI_EN 0x80 /* Data Interrupt Enable */ 1646#define DI_EN 0x80 /* Data Interrupt Enable */
1647
1647#define NDSIZE 0xf00 /* Flex Descriptor Size */ 1648#define NDSIZE 0xf00 /* Flex Descriptor Size */
1649#define NDSIZE_0 0x0000 /* Next Descriptor Size = 0 (Stop/Autobuffer) */
1650#define NDSIZE_1 0x0100 /* Next Descriptor Size = 1 */
1651#define NDSIZE_2 0x0200 /* Next Descriptor Size = 2 */
1652#define NDSIZE_3 0x0300 /* Next Descriptor Size = 3 */
1653#define NDSIZE_4 0x0400 /* Next Descriptor Size = 4 */
1654#define NDSIZE_5 0x0500 /* Next Descriptor Size = 5 */
1655#define NDSIZE_6 0x0600 /* Next Descriptor Size = 6 */
1656#define NDSIZE_7 0x0700 /* Next Descriptor Size = 7 */
1657#define NDSIZE_8 0x0800 /* Next Descriptor Size = 8 */
1658#define NDSIZE_9 0x0900 /* Next Descriptor Size = 9 */
1659
1648#define DMAFLOW 0xf000 /* Next Operation */ 1660#define DMAFLOW 0xf000 /* Next Operation */
1661#define DMAFLOW_STOP 0x0000 /* Stop Mode */
1662#define DMAFLOW_AUTO 0x1000 /* Autobuffer Mode */
1663#define DMAFLOW_ARRAY 0x4000 /* Descriptor Array Mode */
1664#define DMAFLOW_SMALL 0x6000 /* Small Model Descriptor List Mode */
1665#define DMAFLOW_LARGE 0x7000 /* Large Model Descriptor List Mode */
1649 1666
1650/* Bit masks for DMAx_IRQ_STATUS, MDMA_Sx_IRQ_STATUS, MDMA_Dx_IRQ_STATUS */ 1667/* Bit masks for DMAx_IRQ_STATUS, MDMA_Sx_IRQ_STATUS, MDMA_Dx_IRQ_STATUS */
1651 1668
diff --git a/include/asm-mips/mach-au1x00/au1000.h b/include/asm-mips/mach-au1x00/au1000.h
index 3bdce9126f16..bf7701243d71 100644
--- a/include/asm-mips/mach-au1x00/au1000.h
+++ b/include/asm-mips/mach-au1x00/au1000.h
@@ -526,7 +526,7 @@ extern struct au1xxx_irqmap au1xxx_irq_map[];
526/* Au1000 */ 526/* Au1000 */
527#ifdef CONFIG_SOC_AU1000 527#ifdef CONFIG_SOC_AU1000
528enum soc_au1000_ints { 528enum soc_au1000_ints {
529 AU1000_FIRST_INT = MIPS_CPU_IRQ_BASE, 529 AU1000_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
530 AU1000_UART0_INT = AU1000_FIRST_INT, 530 AU1000_UART0_INT = AU1000_FIRST_INT,
531 AU1000_UART1_INT, /* au1000 */ 531 AU1000_UART1_INT, /* au1000 */
532 AU1000_UART2_INT, /* au1000 */ 532 AU1000_UART2_INT, /* au1000 */
@@ -605,7 +605,7 @@ enum soc_au1000_ints {
605/* Au1500 */ 605/* Au1500 */
606#ifdef CONFIG_SOC_AU1500 606#ifdef CONFIG_SOC_AU1500
607enum soc_au1500_ints { 607enum soc_au1500_ints {
608 AU1500_FIRST_INT = MIPS_CPU_IRQ_BASE, 608 AU1500_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
609 AU1500_UART0_INT = AU1500_FIRST_INT, 609 AU1500_UART0_INT = AU1500_FIRST_INT,
610 AU1000_PCI_INTA, /* au1500 */ 610 AU1000_PCI_INTA, /* au1500 */
611 AU1000_PCI_INTB, /* au1500 */ 611 AU1000_PCI_INTB, /* au1500 */
@@ -686,7 +686,7 @@ enum soc_au1500_ints {
686/* Au1100 */ 686/* Au1100 */
687#ifdef CONFIG_SOC_AU1100 687#ifdef CONFIG_SOC_AU1100
688enum soc_au1100_ints { 688enum soc_au1100_ints {
689 AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE, 689 AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
690 AU1100_UART0_INT, 690 AU1100_UART0_INT,
691 AU1100_UART1_INT, 691 AU1100_UART1_INT,
692 AU1100_SD_INT, 692 AU1100_SD_INT,
@@ -761,7 +761,7 @@ enum soc_au1100_ints {
761 761
762#ifdef CONFIG_SOC_AU1550 762#ifdef CONFIG_SOC_AU1550
763enum soc_au1550_ints { 763enum soc_au1550_ints {
764 AU1550_FIRST_INT = MIPS_CPU_IRQ_BASE, 764 AU1550_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
765 AU1550_UART0_INT = AU1550_FIRST_INT, 765 AU1550_UART0_INT = AU1550_FIRST_INT,
766 AU1550_PCI_INTA, 766 AU1550_PCI_INTA,
767 AU1550_PCI_INTB, 767 AU1550_PCI_INTB,
@@ -851,7 +851,7 @@ enum soc_au1550_ints {
851 851
852#ifdef CONFIG_SOC_AU1200 852#ifdef CONFIG_SOC_AU1200
853enum soc_au1200_ints { 853enum soc_au1200_ints {
854 AU1200_FIRST_INT = MIPS_CPU_IRQ_BASE, 854 AU1200_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
855 AU1200_UART0_INT = AU1200_FIRST_INT, 855 AU1200_UART0_INT = AU1200_FIRST_INT,
856 AU1200_SWT_INT, 856 AU1200_SWT_INT,
857 AU1200_SD_INT, 857 AU1200_SD_INT,
@@ -948,11 +948,12 @@ enum soc_au1200_ints {
948 948
949#endif /* CONFIG_SOC_AU1200 */ 949#endif /* CONFIG_SOC_AU1200 */
950 950
951#define AU1000_INTC0_INT_BASE (MIPS_CPU_IRQ_BASE + 0) 951#define AU1000_INTC0_INT_BASE (MIPS_CPU_IRQ_BASE + 8)
952#define AU1000_INTC0_INT_LAST (MIPS_CPU_IRQ_BASE + 31) 952#define AU1000_INTC0_INT_LAST (AU1000_INTC0_INT_BASE + 31)
953#define AU1000_INTC1_INT_BASE (MIPS_CPU_IRQ_BASE + 32) 953#define AU1000_INTC1_INT_BASE (AU1000_INTC0_INT_BASE + 32)
954#define AU1000_INTC1_INT_LAST (MIPS_CPU_IRQ_BASE + 63) 954#define AU1000_INTC1_INT_LAST (AU1000_INTC1_INT_BASE + 31)
955#define AU1000_MAX_INTR (MIPS_CPU_IRQ_BASE + 63) 955
956#define AU1000_MAX_INTR AU1000_INTC1_INT_LAST
956#define INTX 0xFF /* not valid */ 957#define INTX 0xFF /* not valid */
957 958
958/* Programmable Counters 0 and 1 */ 959/* Programmable Counters 0 and 1 */
diff --git a/include/asm-parisc/pdc.h b/include/asm-parisc/pdc.h
index 5e0c3ca5450b..deda8c311373 100644
--- a/include/asm-parisc/pdc.h
+++ b/include/asm-parisc/pdc.h
@@ -645,8 +645,7 @@ int pdc_soft_power_button(int sw_control);
645void pdc_io_reset(void); 645void pdc_io_reset(void);
646void pdc_io_reset_devices(void); 646void pdc_io_reset_devices(void);
647int pdc_iodc_getc(void); 647int pdc_iodc_getc(void);
648void pdc_iodc_putc(unsigned char c); 648int pdc_iodc_print(unsigned char *str, unsigned count);
649void pdc_iodc_outc(unsigned char c);
650void pdc_printf(const char *fmt, ...); 649void pdc_printf(const char *fmt, ...);
651 650
652void pdc_emergency_unlock(void); 651void pdc_emergency_unlock(void);
diff --git a/include/asm-powerpc/pgtable-ppc32.h b/include/asm-powerpc/pgtable-ppc32.h
index fea2d8ff1e73..d1332bbcbd9b 100644
--- a/include/asm-powerpc/pgtable-ppc32.h
+++ b/include/asm-powerpc/pgtable-ppc32.h
@@ -86,6 +86,11 @@ extern int icache_44x_need_flush;
86 * entries per page directory level: our page-table tree is two-level, so 86 * entries per page directory level: our page-table tree is two-level, so
87 * we don't really have any PMD directory. 87 * we don't really have any PMD directory.
88 */ 88 */
89#ifndef __ASSEMBLY__
90#define PTE_TABLE_SIZE (sizeof(pte_t) << PTE_SHIFT)
91#define PGD_TABLE_SIZE (sizeof(pgd_t) << (32 - PGDIR_SHIFT))
92#endif /* __ASSEMBLY__ */
93
89#define PTRS_PER_PTE (1 << PTE_SHIFT) 94#define PTRS_PER_PTE (1 << PTE_SHIFT)
90#define PTRS_PER_PMD 1 95#define PTRS_PER_PMD 1
91#define PTRS_PER_PGD (1 << (32 - PGDIR_SHIFT)) 96#define PTRS_PER_PGD (1 << (32 - PGDIR_SHIFT))
diff --git a/include/asm-powerpc/time.h b/include/asm-powerpc/time.h
index 780f82642756..ce5de6e0e690 100644
--- a/include/asm-powerpc/time.h
+++ b/include/asm-powerpc/time.h
@@ -237,18 +237,14 @@ struct cpu_usage {
237 237
238DECLARE_PER_CPU(struct cpu_usage, cpu_usage_array); 238DECLARE_PER_CPU(struct cpu_usage, cpu_usage_array);
239 239
240#ifdef CONFIG_VIRT_CPU_ACCOUNTING
241extern void account_process_vtime(struct task_struct *tsk);
242#else
243#define account_process_vtime(tsk) do { } while (0)
244#endif
245
246#if defined(CONFIG_VIRT_CPU_ACCOUNTING) 240#if defined(CONFIG_VIRT_CPU_ACCOUNTING)
247extern void calculate_steal_time(void); 241extern void calculate_steal_time(void);
248extern void snapshot_timebases(void); 242extern void snapshot_timebases(void);
243#define account_process_vtime(tsk) account_process_tick(tsk, 0)
249#else 244#else
250#define calculate_steal_time() do { } while (0) 245#define calculate_steal_time() do { } while (0)
251#define snapshot_timebases() do { } while (0) 246#define snapshot_timebases() do { } while (0)
247#define account_process_vtime(tsk) do { } while (0)
252#endif 248#endif
253 249
254extern void secondary_cpu_time_init(void); 250extern void secondary_cpu_time_init(void);
diff --git a/include/asm-x86/hpet.h b/include/asm-x86/hpet.h
index b1f3c1ea55d9..ad8d6e758785 100644
--- a/include/asm-x86/hpet.h
+++ b/include/asm-x86/hpet.h
@@ -61,6 +61,7 @@ extern unsigned long force_hpet_address;
61extern int hpet_force_user; 61extern int hpet_force_user;
62extern int is_hpet_enabled(void); 62extern int is_hpet_enabled(void);
63extern int hpet_enable(void); 63extern int hpet_enable(void);
64extern void hpet_disable(void);
64extern unsigned long hpet_readl(unsigned long a); 65extern unsigned long hpet_readl(unsigned long a);
65extern void force_hpet_resume(void); 66extern void force_hpet_resume(void);
66 67
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h
index d62fcee9a08a..9ec43186ba80 100644
--- a/include/linux/cgroup_subsys.h
+++ b/include/linux/cgroup_subsys.h
@@ -30,3 +30,10 @@ SUBSYS(cpu_cgroup)
30#endif 30#endif
31 31
32/* */ 32/* */
33
34#ifdef CONFIG_CGROUP_CPUACCT
35SUBSYS(cpuacct)
36#endif
37
38/* */
39
diff --git a/include/linux/if_bonding.h b/include/linux/if_bonding.h
index 84598fa2e9de..65c2d247068b 100644
--- a/include/linux/if_bonding.h
+++ b/include/linux/if_bonding.h
@@ -85,7 +85,8 @@
85 85
86/* hashing types */ 86/* hashing types */
87#define BOND_XMIT_POLICY_LAYER2 0 /* layer 2 (MAC only), default */ 87#define BOND_XMIT_POLICY_LAYER2 0 /* layer 2 (MAC only), default */
88#define BOND_XMIT_POLICY_LAYER34 1 /* layer 3+4 (IP ^ MAC) */ 88#define BOND_XMIT_POLICY_LAYER34 1 /* layer 3+4 (IP ^ (TCP || UDP)) */
89#define BOND_XMIT_POLICY_LAYER23 2 /* layer 2+3 (IP ^ MAC) */
89 90
90typedef struct ifbond { 91typedef struct ifbond {
91 __s32 bond_mode; 92 __s32 bond_mode;
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h
index 1246d46abbc0..80335b7d77c5 100644
--- a/include/linux/inet_lro.h
+++ b/include/linux/inet_lro.h
@@ -91,6 +91,9 @@ struct net_lro_mgr {
91 int max_desc; /* Max number of LRO descriptors */ 91 int max_desc; /* Max number of LRO descriptors */
92 int max_aggr; /* Max number of LRO packets to be aggregated */ 92 int max_aggr; /* Max number of LRO packets to be aggregated */
93 93
94 int frag_align_pad; /* Padding required to properly align layer 3
95 * headers in generated skb when using frags */
96
94 struct net_lro_desc *lro_arr; /* Array of LRO descriptors */ 97 struct net_lro_desc *lro_arr; /* Array of LRO descriptors */
95 98
96 /* 99 /*
diff --git a/include/linux/jbd.h b/include/linux/jbd.h
index 16e7ed855a18..d9ecd13393b0 100644
--- a/include/linux/jbd.h
+++ b/include/linux/jbd.h
@@ -439,6 +439,8 @@ struct transaction_s
439 /* 439 /*
440 * Transaction's current state 440 * Transaction's current state
441 * [no locking - only kjournald alters this] 441 * [no locking - only kjournald alters this]
442 * [j_list_lock] guards transition of a transaction into T_FINISHED
443 * state and subsequent call of __journal_drop_transaction()
442 * FIXME: needs barriers 444 * FIXME: needs barriers
443 * KLUDGE: [use j_state_lock] 445 * KLUDGE: [use j_state_lock]
444 */ 446 */
diff --git a/include/linux/leds.h b/include/linux/leds.h
index dc1178f6184b..b4130ff58d0c 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -14,6 +14,7 @@
14 14
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/spinlock.h> 16#include <linux/spinlock.h>
17#include <linux/rwsem.h>
17 18
18struct device; 19struct device;
19/* 20/*
@@ -43,7 +44,7 @@ struct led_classdev {
43 44
44#ifdef CONFIG_LEDS_TRIGGERS 45#ifdef CONFIG_LEDS_TRIGGERS
45 /* Protects the trigger data below */ 46 /* Protects the trigger data below */
46 rwlock_t trigger_lock; 47 struct rw_semaphore trigger_lock;
47 48
48 struct led_trigger *trigger; 49 struct led_trigger *trigger;
49 struct list_head trig_list; 50 struct list_head trig_list;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 520238cbae5d..1b7b95c67aca 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -12,6 +12,7 @@
12#include <linux/prio_tree.h> 12#include <linux/prio_tree.h>
13#include <linux/debug_locks.h> 13#include <linux/debug_locks.h>
14#include <linux/mm_types.h> 14#include <linux/mm_types.h>
15#include <linux/security.h>
15 16
16struct mempolicy; 17struct mempolicy;
17struct anon_vma; 18struct anon_vma;
@@ -513,6 +514,21 @@ static inline void set_page_links(struct page *page, enum zone_type zone,
513} 514}
514 515
515/* 516/*
517 * If a hint addr is less than mmap_min_addr change hint to be as
518 * low as possible but still greater than mmap_min_addr
519 */
520static inline unsigned long round_hint_to_min(unsigned long hint)
521{
522#ifdef CONFIG_SECURITY
523 hint &= PAGE_MASK;
524 if (((void *)hint != NULL) &&
525 (hint < mmap_min_addr))
526 return PAGE_ALIGN(mmap_min_addr);
527#endif
528 return hint;
529}
530
531/*
516 * Some inline functions in vmstat.h depend on page_zone() 532 * Some inline functions in vmstat.h depend on page_zone()
517 */ 533 */
518#include <linux/vmstat.h> 534#include <linux/vmstat.h>
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 1ee009e8fec8..111aa10f1136 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1237,6 +1237,10 @@
1237#define PCI_DEVICE_ID_NVIDIA_NVENET_33 0x0761 1237#define PCI_DEVICE_ID_NVIDIA_NVENET_33 0x0761
1238#define PCI_DEVICE_ID_NVIDIA_NVENET_34 0x0762 1238#define PCI_DEVICE_ID_NVIDIA_NVENET_34 0x0762
1239#define PCI_DEVICE_ID_NVIDIA_NVENET_35 0x0763 1239#define PCI_DEVICE_ID_NVIDIA_NVENET_35 0x0763
1240#define PCI_DEVICE_ID_NVIDIA_NVENET_36 0x0AB0
1241#define PCI_DEVICE_ID_NVIDIA_NVENET_37 0x0AB1
1242#define PCI_DEVICE_ID_NVIDIA_NVENET_38 0x0AB2
1243#define PCI_DEVICE_ID_NVIDIA_NVENET_39 0x0AB3
1240 1244
1241#define PCI_VENDOR_ID_IMS 0x10e0 1245#define PCI_VENDOR_ID_IMS 0x10e0
1242#define PCI_DEVICE_ID_IMS_TT128 0x9128 1246#define PCI_DEVICE_ID_IMS_TT128 0x9128
diff --git a/include/linux/phy.h b/include/linux/phy.h
index f0742b6aaa64..554836edd915 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -58,6 +58,8 @@ typedef enum {
58 PHY_INTERFACE_MODE_RMII, 58 PHY_INTERFACE_MODE_RMII,
59 PHY_INTERFACE_MODE_RGMII, 59 PHY_INTERFACE_MODE_RGMII,
60 PHY_INTERFACE_MODE_RGMII_ID, 60 PHY_INTERFACE_MODE_RGMII_ID,
61 PHY_INTERFACE_MODE_RGMII_RXID,
62 PHY_INTERFACE_MODE_RGMII_TXID,
61 PHY_INTERFACE_MODE_RTBI 63 PHY_INTERFACE_MODE_RTBI
62} phy_interface_t; 64} phy_interface_t;
63 65
@@ -401,6 +403,7 @@ int phy_mii_ioctl(struct phy_device *phydev,
401int phy_start_interrupts(struct phy_device *phydev); 403int phy_start_interrupts(struct phy_device *phydev);
402void phy_print_status(struct phy_device *phydev); 404void phy_print_status(struct phy_device *phydev);
403struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id); 405struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id);
406void phy_device_free(struct phy_device *phydev);
404 407
405extern struct bus_type mdio_bus_type; 408extern struct bus_type mdio_bus_type;
406#endif /* __PHY_H */ 409#endif /* __PHY_H */
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
index 1273c6ec535c..a5316829215b 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -48,6 +48,8 @@ typedef int (read_proc_t)(char *page, char **start, off_t off,
48typedef int (write_proc_t)(struct file *file, const char __user *buffer, 48typedef int (write_proc_t)(struct file *file, const char __user *buffer,
49 unsigned long count, void *data); 49 unsigned long count, void *data);
50typedef int (get_info_t)(char *, char **, off_t, int); 50typedef int (get_info_t)(char *, char **, off_t, int);
51typedef struct proc_dir_entry *(shadow_proc_t)(struct task_struct *task,
52 struct proc_dir_entry *pde);
51 53
52struct proc_dir_entry { 54struct proc_dir_entry {
53 unsigned int low_ino; 55 unsigned int low_ino;
@@ -75,10 +77,10 @@ struct proc_dir_entry {
75 read_proc_t *read_proc; 77 read_proc_t *read_proc;
76 write_proc_t *write_proc; 78 write_proc_t *write_proc;
77 atomic_t count; /* use count */ 79 atomic_t count; /* use count */
78 int deleted; /* delete flag */
79 int pde_users; /* number of callers into module in progress */ 80 int pde_users; /* number of callers into module in progress */
80 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ 81 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */
81 struct completion *pde_unload_completion; 82 struct completion *pde_unload_completion;
83 shadow_proc_t *shadow_proc;
82}; 84};
83 85
84struct kcore_list { 86struct kcore_list {
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
index 1c4eb41dbd89..9c4ad755d7e5 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
@@ -7,12 +7,25 @@
7#ifndef _LINUX_THREAD_INFO_H 7#ifndef _LINUX_THREAD_INFO_H
8#define _LINUX_THREAD_INFO_H 8#define _LINUX_THREAD_INFO_H
9 9
10#include <linux/types.h>
11
10/* 12/*
11 * System call restart block. 13 * System call restart block.
12 */ 14 */
13struct restart_block { 15struct restart_block {
14 long (*fn)(struct restart_block *); 16 long (*fn)(struct restart_block *);
15 unsigned long arg0, arg1, arg2, arg3; 17 union {
18 struct {
19 unsigned long arg0, arg1, arg2, arg3;
20 };
21 /* For futex_wait */
22 struct {
23 u32 *uaddr;
24 u32 val;
25 u32 flags;
26 u64 time;
27 } futex;
28 };
16}; 29};
17 30
18extern long do_no_restart_syscall(struct restart_block *parm); 31extern long do_no_restart_syscall(struct restart_block *parm);
diff --git a/include/net/route.h b/include/net/route.h
index f7ce6259f86f..59b0b19205a2 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -109,7 +109,6 @@ struct in_device;
109extern int ip_rt_init(void); 109extern int ip_rt_init(void);
110extern void ip_rt_redirect(__be32 old_gw, __be32 dst, __be32 new_gw, 110extern void ip_rt_redirect(__be32 old_gw, __be32 dst, __be32 new_gw,
111 __be32 src, struct net_device *dev); 111 __be32 src, struct net_device *dev);
112extern void ip_rt_advice(struct rtable **rp, int advice);
113extern void rt_cache_flush(int how); 112extern void rt_cache_flush(int how);
114extern int __ip_route_output_key(struct rtable **, const struct flowi *flp); 113extern int __ip_route_output_key(struct rtable **, const struct flowi *flp);
115extern int ip_route_output_key(struct rtable **, struct flowi *flp); 114extern int ip_route_output_key(struct rtable **, struct flowi *flp);
diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h
index f30b537d6952..05f22a6afbcd 100644
--- a/include/net/sctp/constants.h
+++ b/include/net/sctp/constants.h
@@ -441,11 +441,14 @@ enum {
441 SCTP_AUTH_HMAC_ID_RESERVED_0, 441 SCTP_AUTH_HMAC_ID_RESERVED_0,
442 SCTP_AUTH_HMAC_ID_SHA1, 442 SCTP_AUTH_HMAC_ID_SHA1,
443 SCTP_AUTH_HMAC_ID_RESERVED_2, 443 SCTP_AUTH_HMAC_ID_RESERVED_2,
444 SCTP_AUTH_HMAC_ID_SHA256 444#if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE)
445 SCTP_AUTH_HMAC_ID_SHA256,
446#endif
447 __SCTP_AUTH_HMAC_MAX
445}; 448};
446 449
447#define SCTP_AUTH_HMAC_ID_MAX SCTP_AUTH_HMAC_ID_SHA256 450#define SCTP_AUTH_HMAC_ID_MAX __SCTP_AUTH_HMAC_MAX - 1
448#define SCTP_AUTH_NUM_HMACS (SCTP_AUTH_HMAC_ID_SHA256 + 1) 451#define SCTP_AUTH_NUM_HMACS __SCTP_AUTH_HMAC_MAX
449#define SCTP_SHA1_SIG_SIZE 20 452#define SCTP_SHA1_SIG_SIZE 20
450#define SCTP_SHA256_SIG_SIZE 32 453#define SCTP_SHA256_SIG_SIZE 32
451 454
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index eb3113c38a94..002a00a4e6be 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1184,6 +1184,9 @@ int sctp_bind_addr_copy(struct sctp_bind_addr *dest,
1184 const struct sctp_bind_addr *src, 1184 const struct sctp_bind_addr *src,
1185 sctp_scope_t scope, gfp_t gfp, 1185 sctp_scope_t scope, gfp_t gfp,
1186 int flags); 1186 int flags);
1187int sctp_bind_addr_dup(struct sctp_bind_addr *dest,
1188 const struct sctp_bind_addr *src,
1189 gfp_t gfp);
1187int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, 1190int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *,
1188 __u8 use_as_src, gfp_t gfp); 1191 __u8 use_as_src, gfp_t gfp);
1189int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); 1192int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *);
diff --git a/init/Kconfig b/init/Kconfig
index d35e44f4dd6b..404bbf3699be 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -354,6 +354,13 @@ config FAIR_CGROUP_SCHED
354 354
355endchoice 355endchoice
356 356
357config CGROUP_CPUACCT
358 bool "Simple CPU accounting cgroup subsystem"
359 depends on CGROUPS
360 help
361 Provides a simple Resource Controller for monitoring the
362 total CPU consumed by the tasks in a cgroup
363
357config SYSFS_DEPRECATED 364config SYSFS_DEPRECATED
358 bool "Create deprecated sysfs files" 365 bool "Create deprecated sysfs files"
359 default y 366 default y
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index fd4fc12d2624..614241b5200c 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -55,12 +55,18 @@ static void __init handle_initrd(void)
55 sys_mount(".", "/", NULL, MS_MOVE, NULL); 55 sys_mount(".", "/", NULL, MS_MOVE, NULL);
56 sys_chroot("."); 56 sys_chroot(".");
57 57
58 /*
59 * In case that a resume from disk is carried out by linuxrc or one of
60 * its children, we need to tell the freezer not to wait for us.
61 */
62 current->flags |= PF_FREEZER_SKIP;
63
58 pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); 64 pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
59 if (pid > 0) 65 if (pid > 0)
60 while (pid != sys_wait4(-1, NULL, 0, NULL)) { 66 while (pid != sys_wait4(-1, NULL, 0, NULL))
61 try_to_freeze();
62 yield(); 67 yield();
63 } 68
69 current->flags &= ~PF_FREEZER_SKIP;
64 70
65 /* move initrd to rootfs' /old */ 71 /* move initrd to rootfs' /old */
66 sys_fchdir(old_fd); 72 sys_fchdir(old_fd);
diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation
index f5f2c769d95e..468f47ad7503 100644
--- a/kernel/Kconfig.instrumentation
+++ b/kernel/Kconfig.instrumentation
@@ -20,8 +20,8 @@ config PROFILING
20 20
21config OPROFILE 21config OPROFILE
22 tristate "OProfile system profiling (EXPERIMENTAL)" 22 tristate "OProfile system profiling (EXPERIMENTAL)"
23 depends on PROFILING 23 depends on PROFILING && !UML
24 depends on ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64 24 depends on ARCH_SUPPORTS_OPROFILE || ALPHA || ARM || BLACKFIN || IA64 || M32R || PARISC || PPC || S390 || SUPERH || SPARC
25 help 25 help
26 OProfile is a profiling system capable of profiling the 26 OProfile is a profiling system capable of profiling the
27 whole system, include the kernel, kernel modules, libraries, 27 whole system, include the kernel, kernel modules, libraries,
@@ -31,7 +31,7 @@ config OPROFILE
31 31
32config KPROBES 32config KPROBES
33 bool "Kprobes" 33 bool "Kprobes"
34 depends on KALLSYMS && MODULES 34 depends on KALLSYMS && MODULES && !UML
35 depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 35 depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
36 help 36 help
37 Kprobes allows you to trap at almost any kernel address and 37 Kprobes allows you to trap at almost any kernel address and
diff --git a/kernel/fork.c b/kernel/fork.c
index 8ca1a14cdc8c..8dd8ff281009 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1292,23 +1292,14 @@ static struct task_struct *copy_process(unsigned long clone_flags,
1292 __ptrace_link(p, current->parent); 1292 __ptrace_link(p, current->parent);
1293 1293
1294 if (thread_group_leader(p)) { 1294 if (thread_group_leader(p)) {
1295 if (clone_flags & CLONE_NEWPID) { 1295 if (clone_flags & CLONE_NEWPID)
1296 p->nsproxy->pid_ns->child_reaper = p; 1296 p->nsproxy->pid_ns->child_reaper = p;
1297 p->signal->tty = NULL;
1298 set_task_pgrp(p, p->pid);
1299 set_task_session(p, p->pid);
1300 attach_pid(p, PIDTYPE_PGID, pid);
1301 attach_pid(p, PIDTYPE_SID, pid);
1302 } else {
1303 p->signal->tty = current->signal->tty;
1304 set_task_pgrp(p, task_pgrp_nr(current));
1305 set_task_session(p, task_session_nr(current));
1306 attach_pid(p, PIDTYPE_PGID,
1307 task_pgrp(current));
1308 attach_pid(p, PIDTYPE_SID,
1309 task_session(current));
1310 }
1311 1297
1298 p->signal->tty = current->signal->tty;
1299 set_task_pgrp(p, task_pgrp_nr(current));
1300 set_task_session(p, task_session_nr(current));
1301 attach_pid(p, PIDTYPE_PGID, task_pgrp(current));
1302 attach_pid(p, PIDTYPE_SID, task_session(current));
1312 list_add_tail_rcu(&p->tasks, &init_task.tasks); 1303 list_add_tail_rcu(&p->tasks, &init_task.tasks);
1313 __get_cpu_var(process_counts)++; 1304 __get_cpu_var(process_counts)++;
1314 } 1305 }
diff --git a/kernel/futex.c b/kernel/futex.c
index 9dc591ab681a..172a1aeeafdb 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -658,7 +658,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this)
658 658
659 if (curval == -EFAULT) 659 if (curval == -EFAULT)
660 ret = -EFAULT; 660 ret = -EFAULT;
661 if (curval != uval) 661 else if (curval != uval)
662 ret = -EINVAL; 662 ret = -EINVAL;
663 if (ret) { 663 if (ret) {
664 spin_unlock(&pi_state->pi_mutex.wait_lock); 664 spin_unlock(&pi_state->pi_mutex.wait_lock);
@@ -1149,9 +1149,9 @@ static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q,
1149 1149
1150/* 1150/*
1151 * In case we must use restart_block to restart a futex_wait, 1151 * In case we must use restart_block to restart a futex_wait,
1152 * we encode in the 'arg3' shared capability 1152 * we encode in the 'flags' shared capability
1153 */ 1153 */
1154#define ARG3_SHARED 1 1154#define FLAGS_SHARED 1
1155 1155
1156static long futex_wait_restart(struct restart_block *restart); 1156static long futex_wait_restart(struct restart_block *restart);
1157 1157
@@ -1290,12 +1290,13 @@ static int futex_wait(u32 __user *uaddr, struct rw_semaphore *fshared,
1290 struct restart_block *restart; 1290 struct restart_block *restart;
1291 restart = &current_thread_info()->restart_block; 1291 restart = &current_thread_info()->restart_block;
1292 restart->fn = futex_wait_restart; 1292 restart->fn = futex_wait_restart;
1293 restart->arg0 = (unsigned long)uaddr; 1293 restart->futex.uaddr = (u32 *)uaddr;
1294 restart->arg1 = (unsigned long)val; 1294 restart->futex.val = val;
1295 restart->arg2 = (unsigned long)abs_time; 1295 restart->futex.time = abs_time->tv64;
1296 restart->arg3 = 0; 1296 restart->futex.flags = 0;
1297
1297 if (fshared) 1298 if (fshared)
1298 restart->arg3 |= ARG3_SHARED; 1299 restart->futex.flags |= FLAGS_SHARED;
1299 return -ERESTART_RESTARTBLOCK; 1300 return -ERESTART_RESTARTBLOCK;
1300 } 1301 }
1301 1302
@@ -1310,15 +1311,15 @@ static int futex_wait(u32 __user *uaddr, struct rw_semaphore *fshared,
1310 1311
1311static long futex_wait_restart(struct restart_block *restart) 1312static long futex_wait_restart(struct restart_block *restart)
1312{ 1313{
1313 u32 __user *uaddr = (u32 __user *)restart->arg0; 1314 u32 __user *uaddr = (u32 __user *)restart->futex.uaddr;
1314 u32 val = (u32)restart->arg1;
1315 ktime_t *abs_time = (ktime_t *)restart->arg2;
1316 struct rw_semaphore *fshared = NULL; 1315 struct rw_semaphore *fshared = NULL;
1316 ktime_t t;
1317 1317
1318 t.tv64 = restart->futex.time;
1318 restart->fn = do_no_restart_syscall; 1319 restart->fn = do_no_restart_syscall;
1319 if (restart->arg3 & ARG3_SHARED) 1320 if (restart->futex.flags & FLAGS_SHARED)
1320 fshared = &current->mm->mmap_sem; 1321 fshared = &current->mm->mmap_sem;
1321 return (long)futex_wait(uaddr, fshared, val, abs_time); 1322 return (long)futex_wait(uaddr, fshared, restart->futex.val, &t);
1322} 1323}
1323 1324
1324 1325
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 22a25142e4cf..e65dd0b47cdc 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -850,6 +850,14 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode)
850#ifdef CONFIG_TIME_LOW_RES 850#ifdef CONFIG_TIME_LOW_RES
851 tim = ktime_add(tim, base->resolution); 851 tim = ktime_add(tim, base->resolution);
852#endif 852#endif
853 /*
854 * Careful here: User space might have asked for a
855 * very long sleep, so the add above might result in a
856 * negative number, which enqueues the timer in front
857 * of the queue.
858 */
859 if (tim.tv64 < 0)
860 tim.tv64 = KTIME_MAX;
853 } 861 }
854 timer->expires = tim; 862 timer->expires = tim;
855 863
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index ed38bbfc48a3..723bd9f92556 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -2654,10 +2654,15 @@ static void check_flags(unsigned long flags)
2654 if (!debug_locks) 2654 if (!debug_locks)
2655 return; 2655 return;
2656 2656
2657 if (irqs_disabled_flags(flags)) 2657 if (irqs_disabled_flags(flags)) {
2658 DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled); 2658 if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) {
2659 else 2659 printk("possible reason: unannotated irqs-off.\n");
2660 DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled); 2660 }
2661 } else {
2662 if (DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)) {
2663 printk("possible reason: unannotated irqs-on.\n");
2664 }
2665 }
2661 2666
2662 /* 2667 /*
2663 * We dont accurately track softirq state in e.g. 2668 * We dont accurately track softirq state in e.g.
@@ -3054,11 +3059,6 @@ void __init lockdep_info(void)
3054#endif 3059#endif
3055} 3060}
3056 3061
3057static inline int in_range(const void *start, const void *addr, const void *end)
3058{
3059 return addr >= start && addr <= end;
3060}
3061
3062static void 3062static void
3063print_freed_lock_bug(struct task_struct *curr, const void *mem_from, 3063print_freed_lock_bug(struct task_struct *curr, const void *mem_from,
3064 const void *mem_to, struct held_lock *hlock) 3064 const void *mem_to, struct held_lock *hlock)
@@ -3080,6 +3080,13 @@ print_freed_lock_bug(struct task_struct *curr, const void *mem_from,
3080 dump_stack(); 3080 dump_stack();
3081} 3081}
3082 3082
3083static inline int not_in_range(const void* mem_from, unsigned long mem_len,
3084 const void* lock_from, unsigned long lock_len)
3085{
3086 return lock_from + lock_len <= mem_from ||
3087 mem_from + mem_len <= lock_from;
3088}
3089
3083/* 3090/*
3084 * Called when kernel memory is freed (or unmapped), or if a lock 3091 * Called when kernel memory is freed (or unmapped), or if a lock
3085 * is destroyed or reinitialized - this code checks whether there is 3092 * is destroyed or reinitialized - this code checks whether there is
@@ -3087,7 +3094,6 @@ print_freed_lock_bug(struct task_struct *curr, const void *mem_from,
3087 */ 3094 */
3088void debug_check_no_locks_freed(const void *mem_from, unsigned long mem_len) 3095void debug_check_no_locks_freed(const void *mem_from, unsigned long mem_len)
3089{ 3096{
3090 const void *mem_to = mem_from + mem_len, *lock_from, *lock_to;
3091 struct task_struct *curr = current; 3097 struct task_struct *curr = current;
3092 struct held_lock *hlock; 3098 struct held_lock *hlock;
3093 unsigned long flags; 3099 unsigned long flags;
@@ -3100,14 +3106,11 @@ void debug_check_no_locks_freed(const void *mem_from, unsigned long mem_len)
3100 for (i = 0; i < curr->lockdep_depth; i++) { 3106 for (i = 0; i < curr->lockdep_depth; i++) {
3101 hlock = curr->held_locks + i; 3107 hlock = curr->held_locks + i;
3102 3108
3103 lock_from = (void *)hlock->instance; 3109 if (not_in_range(mem_from, mem_len, hlock->instance,
3104 lock_to = (void *)(hlock->instance + 1); 3110 sizeof(*hlock->instance)))
3105
3106 if (!in_range(mem_from, lock_from, mem_to) &&
3107 !in_range(mem_from, lock_to, mem_to))
3108 continue; 3111 continue;
3109 3112
3110 print_freed_lock_bug(curr, mem_from, mem_to, hlock); 3113 print_freed_lock_bug(curr, mem_from, mem_from + mem_len, hlock);
3111 break; 3114 break;
3112 } 3115 }
3113 local_irq_restore(flags); 3116 local_irq_restore(flags);
@@ -3173,6 +3176,13 @@ retry:
3173 printk(" locked it.\n"); 3176 printk(" locked it.\n");
3174 3177
3175 do_each_thread(g, p) { 3178 do_each_thread(g, p) {
3179 /*
3180 * It's not reliable to print a task's held locks
3181 * if it's not sleeping (or if it's not the current
3182 * task):
3183 */
3184 if (p->state == TASK_RUNNING && p != current)
3185 continue;
3176 if (p->lockdep_depth) 3186 if (p->lockdep_depth)
3177 lockdep_print_held_locks(p); 3187 lockdep_print_held_locks(p);
3178 if (!unlock) 3188 if (!unlock)
diff --git a/kernel/sched.c b/kernel/sched.c
index 98dcdf272db3..c6e551de795b 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -209,9 +209,8 @@ static inline struct task_group *task_group(struct task_struct *p)
209 tg = container_of(task_subsys_state(p, cpu_cgroup_subsys_id), 209 tg = container_of(task_subsys_state(p, cpu_cgroup_subsys_id),
210 struct task_group, css); 210 struct task_group, css);
211#else 211#else
212 tg = &init_task_group; 212 tg = &init_task_group;
213#endif 213#endif
214
215 return tg; 214 return tg;
216} 215}
217 216
@@ -249,15 +248,16 @@ struct cfs_rq {
249#ifdef CONFIG_FAIR_GROUP_SCHED 248#ifdef CONFIG_FAIR_GROUP_SCHED
250 struct rq *rq; /* cpu runqueue to which this cfs_rq is attached */ 249 struct rq *rq; /* cpu runqueue to which this cfs_rq is attached */
251 250
252 /* leaf cfs_rqs are those that hold tasks (lowest schedulable entity in 251 /*
252 * leaf cfs_rqs are those that hold tasks (lowest schedulable entity in
253 * a hierarchy). Non-leaf lrqs hold other higher schedulable entities 253 * a hierarchy). Non-leaf lrqs hold other higher schedulable entities
254 * (like users, containers etc.) 254 * (like users, containers etc.)
255 * 255 *
256 * leaf_cfs_rq_list ties together list of leaf cfs_rq's in a cpu. This 256 * leaf_cfs_rq_list ties together list of leaf cfs_rq's in a cpu. This
257 * list is used during load balance. 257 * list is used during load balance.
258 */ 258 */
259 struct list_head leaf_cfs_rq_list; /* Better name : task_cfs_rq_list? */ 259 struct list_head leaf_cfs_rq_list;
260 struct task_group *tg; /* group that "owns" this runqueue */ 260 struct task_group *tg; /* group that "owns" this runqueue */
261#endif 261#endif
262}; 262};
263 263
@@ -300,7 +300,7 @@ struct rq {
300 /* list of leaf cfs_rq on this cpu: */ 300 /* list of leaf cfs_rq on this cpu: */
301 struct list_head leaf_cfs_rq_list; 301 struct list_head leaf_cfs_rq_list;
302#endif 302#endif
303 struct rt_rq rt; 303 struct rt_rq rt;
304 304
305 /* 305 /*
306 * This is part of a global counter where only the total sum 306 * This is part of a global counter where only the total sum
@@ -457,8 +457,8 @@ enum {
457 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1, 457 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1,
458 SCHED_FEAT_WAKEUP_PREEMPT = 2, 458 SCHED_FEAT_WAKEUP_PREEMPT = 2,
459 SCHED_FEAT_START_DEBIT = 4, 459 SCHED_FEAT_START_DEBIT = 4,
460 SCHED_FEAT_TREE_AVG = 8, 460 SCHED_FEAT_TREE_AVG = 8,
461 SCHED_FEAT_APPROX_AVG = 16, 461 SCHED_FEAT_APPROX_AVG = 16,
462}; 462};
463 463
464const_debug unsigned int sysctl_sched_features = 464const_debug unsigned int sysctl_sched_features =
@@ -488,7 +488,12 @@ unsigned long long cpu_clock(int cpu)
488 488
489 local_irq_save(flags); 489 local_irq_save(flags);
490 rq = cpu_rq(cpu); 490 rq = cpu_rq(cpu);
491 update_rq_clock(rq); 491 /*
492 * Only call sched_clock() if the scheduler has already been
493 * initialized (some code might call cpu_clock() very early):
494 */
495 if (rq->idle)
496 update_rq_clock(rq);
492 now = rq->clock; 497 now = rq->clock;
493 local_irq_restore(flags); 498 local_irq_restore(flags);
494 499
@@ -591,7 +596,7 @@ static inline struct rq *__task_rq_lock(struct task_struct *p)
591 596
592/* 597/*
593 * task_rq_lock - lock the runqueue a given task resides on and disable 598 * task_rq_lock - lock the runqueue a given task resides on and disable
594 * interrupts. Note the ordering: we can safely lookup the task_rq without 599 * interrupts. Note the ordering: we can safely lookup the task_rq without
595 * explicitly disabling preemption. 600 * explicitly disabling preemption.
596 */ 601 */
597static struct rq *task_rq_lock(struct task_struct *p, unsigned long *flags) 602static struct rq *task_rq_lock(struct task_struct *p, unsigned long *flags)
@@ -779,7 +784,7 @@ static inline void update_load_sub(struct load_weight *lw, unsigned long dec)
779 * To aid in avoiding the subversion of "niceness" due to uneven distribution 784 * To aid in avoiding the subversion of "niceness" due to uneven distribution
780 * of tasks with abnormal "nice" values across CPUs the contribution that 785 * of tasks with abnormal "nice" values across CPUs the contribution that
781 * each task makes to its run queue's load is weighted according to its 786 * each task makes to its run queue's load is weighted according to its
782 * scheduling class and "nice" value. For SCHED_NORMAL tasks this is just a 787 * scheduling class and "nice" value. For SCHED_NORMAL tasks this is just a
783 * scaled version of the new time slice allocation that they receive on time 788 * scaled version of the new time slice allocation that they receive on time
784 * slice expiry etc. 789 * slice expiry etc.
785 */ 790 */
@@ -854,6 +859,12 @@ iter_move_one_task(struct rq *this_rq, int this_cpu, struct rq *busiest,
854 struct rq_iterator *iterator); 859 struct rq_iterator *iterator);
855#endif 860#endif
856 861
862#ifdef CONFIG_CGROUP_CPUACCT
863static void cpuacct_charge(struct task_struct *tsk, u64 cputime);
864#else
865static inline void cpuacct_charge(struct task_struct *tsk, u64 cputime) {}
866#endif
867
857#include "sched_stats.h" 868#include "sched_stats.h"
858#include "sched_idletask.c" 869#include "sched_idletask.c"
859#include "sched_fair.c" 870#include "sched_fair.c"
@@ -1848,7 +1859,7 @@ prepare_task_switch(struct rq *rq, struct task_struct *prev,
1848 * and do any other architecture-specific cleanup actions. 1859 * and do any other architecture-specific cleanup actions.
1849 * 1860 *
1850 * Note that we may have delayed dropping an mm in context_switch(). If 1861 * Note that we may have delayed dropping an mm in context_switch(). If
1851 * so, we finish that here outside of the runqueue lock. (Doing it 1862 * so, we finish that here outside of the runqueue lock. (Doing it
1852 * with the lock held can cause deadlocks; see schedule() for 1863 * with the lock held can cause deadlocks; see schedule() for
1853 * details.) 1864 * details.)
1854 */ 1865 */
@@ -2130,7 +2141,7 @@ static void double_lock_balance(struct rq *this_rq, struct rq *busiest)
2130/* 2141/*
2131 * If dest_cpu is allowed for this process, migrate the task to it. 2142 * If dest_cpu is allowed for this process, migrate the task to it.
2132 * This is accomplished by forcing the cpu_allowed mask to only 2143 * This is accomplished by forcing the cpu_allowed mask to only
2133 * allow dest_cpu, which will force the cpu onto dest_cpu. Then 2144 * allow dest_cpu, which will force the cpu onto dest_cpu. Then
2134 * the cpu_allowed mask is restored. 2145 * the cpu_allowed mask is restored.
2135 */ 2146 */
2136static void sched_migrate_task(struct task_struct *p, int dest_cpu) 2147static void sched_migrate_task(struct task_struct *p, int dest_cpu)
@@ -2575,7 +2586,7 @@ group_next:
2575 * tasks around. Thus we look for the minimum possible imbalance. 2586 * tasks around. Thus we look for the minimum possible imbalance.
2576 * Negative imbalances (*we* are more loaded than anyone else) will 2587 * Negative imbalances (*we* are more loaded than anyone else) will
2577 * be counted as no imbalance for these purposes -- we can't fix that 2588 * be counted as no imbalance for these purposes -- we can't fix that
2578 * by pulling tasks to us. Be careful of negative numbers as they'll 2589 * by pulling tasks to us. Be careful of negative numbers as they'll
2579 * appear as very large values with unsigned longs. 2590 * appear as very large values with unsigned longs.
2580 */ 2591 */
2581 if (max_load <= busiest_load_per_task) 2592 if (max_load <= busiest_load_per_task)
@@ -3010,7 +3021,7 @@ static void active_load_balance(struct rq *busiest_rq, int busiest_cpu)
3010 3021
3011 /* 3022 /*
3012 * This condition is "impossible", if it occurs 3023 * This condition is "impossible", if it occurs
3013 * we need to fix it. Originally reported by 3024 * we need to fix it. Originally reported by
3014 * Bjorn Helgaas on a 128-cpu setup. 3025 * Bjorn Helgaas on a 128-cpu setup.
3015 */ 3026 */
3016 BUG_ON(busiest_rq == target_rq); 3027 BUG_ON(busiest_rq == target_rq);
@@ -3042,7 +3053,7 @@ static void active_load_balance(struct rq *busiest_rq, int busiest_cpu)
3042#ifdef CONFIG_NO_HZ 3053#ifdef CONFIG_NO_HZ
3043static struct { 3054static struct {
3044 atomic_t load_balancer; 3055 atomic_t load_balancer;
3045 cpumask_t cpu_mask; 3056 cpumask_t cpu_mask;
3046} nohz ____cacheline_aligned = { 3057} nohz ____cacheline_aligned = {
3047 .load_balancer = ATOMIC_INIT(-1), 3058 .load_balancer = ATOMIC_INIT(-1),
3048 .cpu_mask = CPU_MASK_NONE, 3059 .cpu_mask = CPU_MASK_NONE,
@@ -3546,7 +3557,7 @@ static noinline void __schedule_bug(struct task_struct *prev)
3546static inline void schedule_debug(struct task_struct *prev) 3557static inline void schedule_debug(struct task_struct *prev)
3547{ 3558{
3548 /* 3559 /*
3549 * Test if we are atomic. Since do_exit() needs to call into 3560 * Test if we are atomic. Since do_exit() needs to call into
3550 * schedule() atomically, we ignore that path for now. 3561 * schedule() atomically, we ignore that path for now.
3551 * Otherwise, whine if we are scheduling when we should not be. 3562 * Otherwise, whine if we are scheduling when we should not be.
3552 */ 3563 */
@@ -3668,7 +3679,7 @@ EXPORT_SYMBOL(schedule);
3668#ifdef CONFIG_PREEMPT 3679#ifdef CONFIG_PREEMPT
3669/* 3680/*
3670 * this is the entry point to schedule() from in-kernel preemption 3681 * this is the entry point to schedule() from in-kernel preemption
3671 * off of preempt_enable. Kernel preemptions off return from interrupt 3682 * off of preempt_enable. Kernel preemptions off return from interrupt
3672 * occur there and call schedule directly. 3683 * occur there and call schedule directly.
3673 */ 3684 */
3674asmlinkage void __sched preempt_schedule(void) 3685asmlinkage void __sched preempt_schedule(void)
@@ -3680,7 +3691,7 @@ asmlinkage void __sched preempt_schedule(void)
3680#endif 3691#endif
3681 /* 3692 /*
3682 * If there is a non-zero preempt_count or interrupts are disabled, 3693 * If there is a non-zero preempt_count or interrupts are disabled,
3683 * we do not want to preempt the current task. Just return.. 3694 * we do not want to preempt the current task. Just return..
3684 */ 3695 */
3685 if (likely(ti->preempt_count || irqs_disabled())) 3696 if (likely(ti->preempt_count || irqs_disabled()))
3686 return; 3697 return;
@@ -3766,12 +3777,12 @@ int default_wake_function(wait_queue_t *curr, unsigned mode, int sync,
3766EXPORT_SYMBOL(default_wake_function); 3777EXPORT_SYMBOL(default_wake_function);
3767 3778
3768/* 3779/*
3769 * The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just 3780 * The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just
3770 * wake everything up. If it's an exclusive wakeup (nr_exclusive == small +ve 3781 * wake everything up. If it's an exclusive wakeup (nr_exclusive == small +ve
3771 * number) then we wake all the non-exclusive tasks and one exclusive task. 3782 * number) then we wake all the non-exclusive tasks and one exclusive task.
3772 * 3783 *
3773 * There are circumstances in which we can try to wake a task which has already 3784 * There are circumstances in which we can try to wake a task which has already
3774 * started to run but is not in state TASK_RUNNING. try_to_wake_up() returns 3785 * started to run but is not in state TASK_RUNNING. try_to_wake_up() returns
3775 * zero in this (rare) case, and we handle it by continuing to scan the queue. 3786 * zero in this (rare) case, and we handle it by continuing to scan the queue.
3776 */ 3787 */
3777static void __wake_up_common(wait_queue_head_t *q, unsigned int mode, 3788static void __wake_up_common(wait_queue_head_t *q, unsigned int mode,
@@ -4384,8 +4395,8 @@ do_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
4384 * @policy: new policy. 4395 * @policy: new policy.
4385 * @param: structure containing the new RT priority. 4396 * @param: structure containing the new RT priority.
4386 */ 4397 */
4387asmlinkage long sys_sched_setscheduler(pid_t pid, int policy, 4398asmlinkage long
4388 struct sched_param __user *param) 4399sys_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
4389{ 4400{
4390 /* negative values for policy are not valid */ 4401 /* negative values for policy are not valid */
4391 if (policy < 0) 4402 if (policy < 0)
@@ -4485,7 +4496,7 @@ long sched_setaffinity(pid_t pid, cpumask_t new_mask)
4485 4496
4486 /* 4497 /*
4487 * It is not safe to call set_cpus_allowed with the 4498 * It is not safe to call set_cpus_allowed with the
4488 * tasklist_lock held. We will bump the task_struct's 4499 * tasklist_lock held. We will bump the task_struct's
4489 * usage count and then drop tasklist_lock. 4500 * usage count and then drop tasklist_lock.
4490 */ 4501 */
4491 get_task_struct(p); 4502 get_task_struct(p);
@@ -4681,7 +4692,7 @@ EXPORT_SYMBOL(cond_resched);
4681 * cond_resched_lock() - if a reschedule is pending, drop the given lock, 4692 * cond_resched_lock() - if a reschedule is pending, drop the given lock,
4682 * call schedule, and on return reacquire the lock. 4693 * call schedule, and on return reacquire the lock.
4683 * 4694 *
4684 * This works OK both with and without CONFIG_PREEMPT. We do strange low-level 4695 * This works OK both with and without CONFIG_PREEMPT. We do strange low-level
4685 * operations here to prevent schedule() from being called twice (once via 4696 * operations here to prevent schedule() from being called twice (once via
4686 * spin_unlock(), once by hand). 4697 * spin_unlock(), once by hand).
4687 */ 4698 */
@@ -4735,7 +4746,7 @@ void __sched yield(void)
4735EXPORT_SYMBOL(yield); 4746EXPORT_SYMBOL(yield);
4736 4747
4737/* 4748/*
4738 * This task is about to go to sleep on IO. Increment rq->nr_iowait so 4749 * This task is about to go to sleep on IO. Increment rq->nr_iowait so
4739 * that process accounting knows that this is a task in IO wait state. 4750 * that process accounting knows that this is a task in IO wait state.
4740 * 4751 *
4741 * But don't do that if it is a deliberate, throttling IO wait (this task 4752 * But don't do that if it is a deliberate, throttling IO wait (this task
@@ -4844,17 +4855,21 @@ long sys_sched_rr_get_interval(pid_t pid, struct timespec __user *interval)
4844 if (retval) 4855 if (retval)
4845 goto out_unlock; 4856 goto out_unlock;
4846 4857
4847 if (p->policy == SCHED_FIFO) 4858 /*
4848 time_slice = 0; 4859 * Time slice is 0 for SCHED_FIFO tasks and for SCHED_OTHER
4849 else if (p->policy == SCHED_RR) 4860 * tasks that are on an otherwise idle runqueue:
4861 */
4862 time_slice = 0;
4863 if (p->policy == SCHED_RR) {
4850 time_slice = DEF_TIMESLICE; 4864 time_slice = DEF_TIMESLICE;
4851 else { 4865 } else {
4852 struct sched_entity *se = &p->se; 4866 struct sched_entity *se = &p->se;
4853 unsigned long flags; 4867 unsigned long flags;
4854 struct rq *rq; 4868 struct rq *rq;
4855 4869
4856 rq = task_rq_lock(p, &flags); 4870 rq = task_rq_lock(p, &flags);
4857 time_slice = NS_TO_JIFFIES(sched_slice(cfs_rq_of(se), se)); 4871 if (rq->cfs.load.weight)
4872 time_slice = NS_TO_JIFFIES(sched_slice(&rq->cfs, se));
4858 task_rq_unlock(rq, &flags); 4873 task_rq_unlock(rq, &flags);
4859 } 4874 }
4860 read_unlock(&tasklist_lock); 4875 read_unlock(&tasklist_lock);
@@ -5040,7 +5055,7 @@ static inline void sched_init_granularity(void)
5040 * is removed from the allowed bitmask. 5055 * is removed from the allowed bitmask.
5041 * 5056 *
5042 * NOTE: the caller must have a valid reference to the task, the 5057 * NOTE: the caller must have a valid reference to the task, the
5043 * task must not exit() & deallocate itself prematurely. The 5058 * task must not exit() & deallocate itself prematurely. The
5044 * call is not atomic; no spinlocks may be held. 5059 * call is not atomic; no spinlocks may be held.
5045 */ 5060 */
5046int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) 5061int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
@@ -5077,7 +5092,7 @@ out:
5077EXPORT_SYMBOL_GPL(set_cpus_allowed); 5092EXPORT_SYMBOL_GPL(set_cpus_allowed);
5078 5093
5079/* 5094/*
5080 * Move (not current) task off this cpu, onto dest cpu. We're doing 5095 * Move (not current) task off this cpu, onto dest cpu. We're doing
5081 * this because either it can't run here any more (set_cpus_allowed() 5096 * this because either it can't run here any more (set_cpus_allowed()
5082 * away from this CPU, or CPU going down), or because we're 5097 * away from this CPU, or CPU going down), or because we're
5083 * attempting to rebalance this task on exec (sched_exec). 5098 * attempting to rebalance this task on exec (sched_exec).
@@ -5222,7 +5237,7 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p)
5222 * Try to stay on the same cpuset, where the 5237 * Try to stay on the same cpuset, where the
5223 * current cpuset may be a subset of all cpus. 5238 * current cpuset may be a subset of all cpus.
5224 * The cpuset_cpus_allowed_locked() variant of 5239 * The cpuset_cpus_allowed_locked() variant of
5225 * cpuset_cpus_allowed() will not block. It must be 5240 * cpuset_cpus_allowed() will not block. It must be
5226 * called within calls to cpuset_lock/cpuset_unlock. 5241 * called within calls to cpuset_lock/cpuset_unlock.
5227 */ 5242 */
5228 rq = task_rq_lock(p, &flags); 5243 rq = task_rq_lock(p, &flags);
@@ -5235,10 +5250,11 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p)
5235 * kernel threads (both mm NULL), since they never 5250 * kernel threads (both mm NULL), since they never
5236 * leave kernel. 5251 * leave kernel.
5237 */ 5252 */
5238 if (p->mm && printk_ratelimit()) 5253 if (p->mm && printk_ratelimit()) {
5239 printk(KERN_INFO "process %d (%s) no " 5254 printk(KERN_INFO "process %d (%s) no "
5240 "longer affine to cpu%d\n", 5255 "longer affine to cpu%d\n",
5241 task_pid_nr(p), p->comm, dead_cpu); 5256 task_pid_nr(p), p->comm, dead_cpu);
5257 }
5242 } 5258 }
5243 } while (!__migrate_task_irq(p, dead_cpu, dest_cpu)); 5259 } while (!__migrate_task_irq(p, dead_cpu, dest_cpu));
5244} 5260}
@@ -5340,7 +5356,7 @@ static void migrate_dead(unsigned int dead_cpu, struct task_struct *p)
5340 5356
5341 /* 5357 /*
5342 * Drop lock around migration; if someone else moves it, 5358 * Drop lock around migration; if someone else moves it,
5343 * that's OK. No task can be added to this CPU, so iteration is 5359 * that's OK. No task can be added to this CPU, so iteration is
5344 * fine. 5360 * fine.
5345 */ 5361 */
5346 spin_unlock_irq(&rq->lock); 5362 spin_unlock_irq(&rq->lock);
@@ -5404,7 +5420,7 @@ static void sd_free_ctl_entry(struct ctl_table **tablep)
5404 /* 5420 /*
5405 * In the intermediate directories, both the child directory and 5421 * In the intermediate directories, both the child directory and
5406 * procname are dynamically allocated and could fail but the mode 5422 * procname are dynamically allocated and could fail but the mode
5407 * will always be set. In the lowest directory the names are 5423 * will always be set. In the lowest directory the names are
5408 * static strings and all have proc handlers. 5424 * static strings and all have proc handlers.
5409 */ 5425 */
5410 for (entry = *tablep; entry->mode; entry++) { 5426 for (entry = *tablep; entry->mode; entry++) {
@@ -5575,7 +5591,7 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
5575 case CPU_UP_CANCELED_FROZEN: 5591 case CPU_UP_CANCELED_FROZEN:
5576 if (!cpu_rq(cpu)->migration_thread) 5592 if (!cpu_rq(cpu)->migration_thread)
5577 break; 5593 break;
5578 /* Unbind it from offline cpu so it can run. Fall thru. */ 5594 /* Unbind it from offline cpu so it can run. Fall thru. */
5579 kthread_bind(cpu_rq(cpu)->migration_thread, 5595 kthread_bind(cpu_rq(cpu)->migration_thread,
5580 any_online_cpu(cpu_online_map)); 5596 any_online_cpu(cpu_online_map));
5581 kthread_stop(cpu_rq(cpu)->migration_thread); 5597 kthread_stop(cpu_rq(cpu)->migration_thread);
@@ -5602,9 +5618,11 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
5602 migrate_nr_uninterruptible(rq); 5618 migrate_nr_uninterruptible(rq);
5603 BUG_ON(rq->nr_running != 0); 5619 BUG_ON(rq->nr_running != 0);
5604 5620
5605 /* No need to migrate the tasks: it was best-effort if 5621 /*
5606 * they didn't take sched_hotcpu_mutex. Just wake up 5622 * No need to migrate the tasks: it was best-effort if
5607 * the requestors. */ 5623 * they didn't take sched_hotcpu_mutex. Just wake up
5624 * the requestors.
5625 */
5608 spin_lock_irq(&rq->lock); 5626 spin_lock_irq(&rq->lock);
5609 while (!list_empty(&rq->migration_queue)) { 5627 while (!list_empty(&rq->migration_queue)) {
5610 struct migration_req *req; 5628 struct migration_req *req;
@@ -5912,7 +5930,7 @@ init_sched_build_groups(cpumask_t span, const cpumask_t *cpu_map,
5912 * @node: node whose sched_domain we're building 5930 * @node: node whose sched_domain we're building
5913 * @used_nodes: nodes already in the sched_domain 5931 * @used_nodes: nodes already in the sched_domain
5914 * 5932 *
5915 * Find the next node to include in a given scheduling domain. Simply 5933 * Find the next node to include in a given scheduling domain. Simply
5916 * finds the closest node not already in the @used_nodes map. 5934 * finds the closest node not already in the @used_nodes map.
5917 * 5935 *
5918 * Should use nodemask_t. 5936 * Should use nodemask_t.
@@ -5952,7 +5970,7 @@ static int find_next_best_node(int node, unsigned long *used_nodes)
5952 * @node: node whose cpumask we're constructing 5970 * @node: node whose cpumask we're constructing
5953 * @size: number of nodes to include in this span 5971 * @size: number of nodes to include in this span
5954 * 5972 *
5955 * Given a node, construct a good cpumask for its sched_domain to span. It 5973 * Given a node, construct a good cpumask for its sched_domain to span. It
5956 * should be one that prevents unnecessary balancing, but also spreads tasks 5974 * should be one that prevents unnecessary balancing, but also spreads tasks
5957 * out optimally. 5975 * out optimally.
5958 */ 5976 */
@@ -5989,8 +6007,8 @@ int sched_smt_power_savings = 0, sched_mc_power_savings = 0;
5989static DEFINE_PER_CPU(struct sched_domain, cpu_domains); 6007static DEFINE_PER_CPU(struct sched_domain, cpu_domains);
5990static DEFINE_PER_CPU(struct sched_group, sched_group_cpus); 6008static DEFINE_PER_CPU(struct sched_group, sched_group_cpus);
5991 6009
5992static int cpu_to_cpu_group(int cpu, const cpumask_t *cpu_map, 6010static int
5993 struct sched_group **sg) 6011cpu_to_cpu_group(int cpu, const cpumask_t *cpu_map, struct sched_group **sg)
5994{ 6012{
5995 if (sg) 6013 if (sg)
5996 *sg = &per_cpu(sched_group_cpus, cpu); 6014 *sg = &per_cpu(sched_group_cpus, cpu);
@@ -6007,8 +6025,8 @@ static DEFINE_PER_CPU(struct sched_group, sched_group_core);
6007#endif 6025#endif
6008 6026
6009#if defined(CONFIG_SCHED_MC) && defined(CONFIG_SCHED_SMT) 6027#if defined(CONFIG_SCHED_MC) && defined(CONFIG_SCHED_SMT)
6010static int cpu_to_core_group(int cpu, const cpumask_t *cpu_map, 6028static int
6011 struct sched_group **sg) 6029cpu_to_core_group(int cpu, const cpumask_t *cpu_map, struct sched_group **sg)
6012{ 6030{
6013 int group; 6031 int group;
6014 cpumask_t mask = per_cpu(cpu_sibling_map, cpu); 6032 cpumask_t mask = per_cpu(cpu_sibling_map, cpu);
@@ -6019,8 +6037,8 @@ static int cpu_to_core_group(int cpu, const cpumask_t *cpu_map,
6019 return group; 6037 return group;
6020} 6038}
6021#elif defined(CONFIG_SCHED_MC) 6039#elif defined(CONFIG_SCHED_MC)
6022static int cpu_to_core_group(int cpu, const cpumask_t *cpu_map, 6040static int
6023 struct sched_group **sg) 6041cpu_to_core_group(int cpu, const cpumask_t *cpu_map, struct sched_group **sg)
6024{ 6042{
6025 if (sg) 6043 if (sg)
6026 *sg = &per_cpu(sched_group_core, cpu); 6044 *sg = &per_cpu(sched_group_core, cpu);
@@ -6031,8 +6049,8 @@ static int cpu_to_core_group(int cpu, const cpumask_t *cpu_map,
6031static DEFINE_PER_CPU(struct sched_domain, phys_domains); 6049static DEFINE_PER_CPU(struct sched_domain, phys_domains);
6032static DEFINE_PER_CPU(struct sched_group, sched_group_phys); 6050static DEFINE_PER_CPU(struct sched_group, sched_group_phys);
6033 6051
6034static int cpu_to_phys_group(int cpu, const cpumask_t *cpu_map, 6052static int
6035 struct sched_group **sg) 6053cpu_to_phys_group(int cpu, const cpumask_t *cpu_map, struct sched_group **sg)
6036{ 6054{
6037 int group; 6055 int group;
6038#ifdef CONFIG_SCHED_MC 6056#ifdef CONFIG_SCHED_MC
@@ -6212,7 +6230,7 @@ static int build_sched_domains(const cpumask_t *cpu_map)
6212 * Allocate the per-node list of sched groups 6230 * Allocate the per-node list of sched groups
6213 */ 6231 */
6214 sched_group_nodes = kcalloc(MAX_NUMNODES, sizeof(struct sched_group *), 6232 sched_group_nodes = kcalloc(MAX_NUMNODES, sizeof(struct sched_group *),
6215 GFP_KERNEL); 6233 GFP_KERNEL);
6216 if (!sched_group_nodes) { 6234 if (!sched_group_nodes) {
6217 printk(KERN_WARNING "Can not alloc sched group node list\n"); 6235 printk(KERN_WARNING "Can not alloc sched group node list\n");
6218 return -ENOMEM; 6236 return -ENOMEM;
@@ -6459,7 +6477,7 @@ static int ndoms_cur; /* number of sched domains in 'doms_cur' */
6459static cpumask_t fallback_doms; 6477static cpumask_t fallback_doms;
6460 6478
6461/* 6479/*
6462 * Set up scheduler domains and groups. Callers must hold the hotplug lock. 6480 * Set up scheduler domains and groups. Callers must hold the hotplug lock.
6463 * For now this just excludes isolated cpus, but could be used to 6481 * For now this just excludes isolated cpus, but could be used to
6464 * exclude other special cases in the future. 6482 * exclude other special cases in the future.
6465 */ 6483 */
@@ -6501,19 +6519,19 @@ static void detach_destroy_domains(const cpumask_t *cpu_map)
6501 6519
6502/* 6520/*
6503 * Partition sched domains as specified by the 'ndoms_new' 6521 * Partition sched domains as specified by the 'ndoms_new'
6504 * cpumasks in the array doms_new[] of cpumasks. This compares 6522 * cpumasks in the array doms_new[] of cpumasks. This compares
6505 * doms_new[] to the current sched domain partitioning, doms_cur[]. 6523 * doms_new[] to the current sched domain partitioning, doms_cur[].
6506 * It destroys each deleted domain and builds each new domain. 6524 * It destroys each deleted domain and builds each new domain.
6507 * 6525 *
6508 * 'doms_new' is an array of cpumask_t's of length 'ndoms_new'. 6526 * 'doms_new' is an array of cpumask_t's of length 'ndoms_new'.
6509 * The masks don't intersect (don't overlap.) We should setup one 6527 * The masks don't intersect (don't overlap.) We should setup one
6510 * sched domain for each mask. CPUs not in any of the cpumasks will 6528 * sched domain for each mask. CPUs not in any of the cpumasks will
6511 * not be load balanced. If the same cpumask appears both in the 6529 * not be load balanced. If the same cpumask appears both in the
6512 * current 'doms_cur' domains and in the new 'doms_new', we can leave 6530 * current 'doms_cur' domains and in the new 'doms_new', we can leave
6513 * it as it is. 6531 * it as it is.
6514 * 6532 *
6515 * The passed in 'doms_new' should be kmalloc'd. This routine takes 6533 * The passed in 'doms_new' should be kmalloc'd. This routine takes
6516 * ownership of it and will kfree it when done with it. If the caller 6534 * ownership of it and will kfree it when done with it. If the caller
6517 * failed the kmalloc call, then it can pass in doms_new == NULL, 6535 * failed the kmalloc call, then it can pass in doms_new == NULL,
6518 * and partition_sched_domains() will fallback to the single partition 6536 * and partition_sched_domains() will fallback to the single partition
6519 * 'fallback_doms'. 6537 * 'fallback_doms'.
@@ -6643,7 +6661,7 @@ int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
6643#endif 6661#endif
6644 6662
6645/* 6663/*
6646 * Force a reinitialization of the sched domains hierarchy. The domains 6664 * Force a reinitialization of the sched domains hierarchy. The domains
6647 * and groups cannot be updated in place without racing with the balancing 6665 * and groups cannot be updated in place without racing with the balancing
6648 * code, so we temporarily attach all running cpus to the NULL domain 6666 * code, so we temporarily attach all running cpus to the NULL domain
6649 * which will prevent rebalancing while the sched domains are recalculated. 6667 * which will prevent rebalancing while the sched domains are recalculated.
@@ -6933,8 +6951,8 @@ struct task_struct *curr_task(int cpu)
6933 * @p: the task pointer to set. 6951 * @p: the task pointer to set.
6934 * 6952 *
6935 * Description: This function must only be used when non-maskable interrupts 6953 * Description: This function must only be used when non-maskable interrupts
6936 * are serviced on a separate stack. It allows the architecture to switch the 6954 * are serviced on a separate stack. It allows the architecture to switch the
6937 * notion of the current task on a cpu in a non-blocking manner. This function 6955 * notion of the current task on a cpu in a non-blocking manner. This function
6938 * must be called with all CPU's synchronized, and interrupts disabled, the 6956 * must be called with all CPU's synchronized, and interrupts disabled, the
6939 * and caller must save the original value of the current task (see 6957 * and caller must save the original value of the current task (see
6940 * curr_task() above) and restore that value before reenabling interrupts and 6958 * curr_task() above) and restore that value before reenabling interrupts and
@@ -7183,16 +7201,17 @@ cpu_cgroup_create(struct cgroup_subsys *ss, struct cgroup *cgrp)
7183 return &tg->css; 7201 return &tg->css;
7184} 7202}
7185 7203
7186static void cpu_cgroup_destroy(struct cgroup_subsys *ss, 7204static void
7187 struct cgroup *cgrp) 7205cpu_cgroup_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp)
7188{ 7206{
7189 struct task_group *tg = cgroup_tg(cgrp); 7207 struct task_group *tg = cgroup_tg(cgrp);
7190 7208
7191 sched_destroy_group(tg); 7209 sched_destroy_group(tg);
7192} 7210}
7193 7211
7194static int cpu_cgroup_can_attach(struct cgroup_subsys *ss, 7212static int
7195 struct cgroup *cgrp, struct task_struct *tsk) 7213cpu_cgroup_can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
7214 struct task_struct *tsk)
7196{ 7215{
7197 /* We don't support RT-tasks being in separate groups */ 7216 /* We don't support RT-tasks being in separate groups */
7198 if (tsk->sched_class != &fair_sched_class) 7217 if (tsk->sched_class != &fair_sched_class)
@@ -7221,38 +7240,12 @@ static u64 cpu_shares_read_uint(struct cgroup *cgrp, struct cftype *cft)
7221 return (u64) tg->shares; 7240 return (u64) tg->shares;
7222} 7241}
7223 7242
7224static u64 cpu_usage_read(struct cgroup *cgrp, struct cftype *cft)
7225{
7226 struct task_group *tg = cgroup_tg(cgrp);
7227 unsigned long flags;
7228 u64 res = 0;
7229 int i;
7230
7231 for_each_possible_cpu(i) {
7232 /*
7233 * Lock to prevent races with updating 64-bit counters
7234 * on 32-bit arches.
7235 */
7236 spin_lock_irqsave(&cpu_rq(i)->lock, flags);
7237 res += tg->se[i]->sum_exec_runtime;
7238 spin_unlock_irqrestore(&cpu_rq(i)->lock, flags);
7239 }
7240 /* Convert from ns to ms */
7241 do_div(res, NSEC_PER_MSEC);
7242
7243 return res;
7244}
7245
7246static struct cftype cpu_files[] = { 7243static struct cftype cpu_files[] = {
7247 { 7244 {
7248 .name = "shares", 7245 .name = "shares",
7249 .read_uint = cpu_shares_read_uint, 7246 .read_uint = cpu_shares_read_uint,
7250 .write_uint = cpu_shares_write_uint, 7247 .write_uint = cpu_shares_write_uint,
7251 }, 7248 },
7252 {
7253 .name = "usage",
7254 .read_uint = cpu_usage_read,
7255 },
7256}; 7249};
7257 7250
7258static int cpu_cgroup_populate(struct cgroup_subsys *ss, struct cgroup *cont) 7251static int cpu_cgroup_populate(struct cgroup_subsys *ss, struct cgroup *cont)
@@ -7272,3 +7265,126 @@ struct cgroup_subsys cpu_cgroup_subsys = {
7272}; 7265};
7273 7266
7274#endif /* CONFIG_FAIR_CGROUP_SCHED */ 7267#endif /* CONFIG_FAIR_CGROUP_SCHED */
7268
7269#ifdef CONFIG_CGROUP_CPUACCT
7270
7271/*
7272 * CPU accounting code for task groups.
7273 *
7274 * Based on the work by Paul Menage (menage@google.com) and Balbir Singh
7275 * (balbir@in.ibm.com).
7276 */
7277
7278/* track cpu usage of a group of tasks */
7279struct cpuacct {
7280 struct cgroup_subsys_state css;
7281 /* cpuusage holds pointer to a u64-type object on every cpu */
7282 u64 *cpuusage;
7283};
7284
7285struct cgroup_subsys cpuacct_subsys;
7286
7287/* return cpu accounting group corresponding to this container */
7288static inline struct cpuacct *cgroup_ca(struct cgroup *cont)
7289{
7290 return container_of(cgroup_subsys_state(cont, cpuacct_subsys_id),
7291 struct cpuacct, css);
7292}
7293
7294/* return cpu accounting group to which this task belongs */
7295static inline struct cpuacct *task_ca(struct task_struct *tsk)
7296{
7297 return container_of(task_subsys_state(tsk, cpuacct_subsys_id),
7298 struct cpuacct, css);
7299}
7300
7301/* create a new cpu accounting group */
7302static struct cgroup_subsys_state *cpuacct_create(
7303 struct cgroup_subsys *ss, struct cgroup *cont)
7304{
7305 struct cpuacct *ca = kzalloc(sizeof(*ca), GFP_KERNEL);
7306
7307 if (!ca)
7308 return ERR_PTR(-ENOMEM);
7309
7310 ca->cpuusage = alloc_percpu(u64);
7311 if (!ca->cpuusage) {
7312 kfree(ca);
7313 return ERR_PTR(-ENOMEM);
7314 }
7315
7316 return &ca->css;
7317}
7318
7319/* destroy an existing cpu accounting group */
7320static void
7321cpuacct_destroy(struct cgroup_subsys *ss, struct cgroup *cont)
7322{
7323 struct cpuacct *ca = cgroup_ca(cont);
7324
7325 free_percpu(ca->cpuusage);
7326 kfree(ca);
7327}
7328
7329/* return total cpu usage (in nanoseconds) of a group */
7330static u64 cpuusage_read(struct cgroup *cont, struct cftype *cft)
7331{
7332 struct cpuacct *ca = cgroup_ca(cont);
7333 u64 totalcpuusage = 0;
7334 int i;
7335
7336 for_each_possible_cpu(i) {
7337 u64 *cpuusage = percpu_ptr(ca->cpuusage, i);
7338
7339 /*
7340 * Take rq->lock to make 64-bit addition safe on 32-bit
7341 * platforms.
7342 */
7343 spin_lock_irq(&cpu_rq(i)->lock);
7344 totalcpuusage += *cpuusage;
7345 spin_unlock_irq(&cpu_rq(i)->lock);
7346 }
7347
7348 return totalcpuusage;
7349}
7350
7351static struct cftype files[] = {
7352 {
7353 .name = "usage",
7354 .read_uint = cpuusage_read,
7355 },
7356};
7357
7358static int cpuacct_populate(struct cgroup_subsys *ss, struct cgroup *cont)
7359{
7360 return cgroup_add_files(cont, ss, files, ARRAY_SIZE(files));
7361}
7362
7363/*
7364 * charge this task's execution time to its accounting group.
7365 *
7366 * called with rq->lock held.
7367 */
7368static void cpuacct_charge(struct task_struct *tsk, u64 cputime)
7369{
7370 struct cpuacct *ca;
7371
7372 if (!cpuacct_subsys.active)
7373 return;
7374
7375 ca = task_ca(tsk);
7376 if (ca) {
7377 u64 *cpuusage = percpu_ptr(ca->cpuusage, task_cpu(tsk));
7378
7379 *cpuusage += cputime;
7380 }
7381}
7382
7383struct cgroup_subsys cpuacct_subsys = {
7384 .name = "cpuacct",
7385 .create = cpuacct_create,
7386 .destroy = cpuacct_destroy,
7387 .populate = cpuacct_populate,
7388 .subsys_id = cpuacct_subsys_id,
7389};
7390#endif /* CONFIG_CGROUP_CPUACCT */
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 2f16e15c022c..c33f0ceb3de9 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -351,6 +351,12 @@ static void update_curr(struct cfs_rq *cfs_rq)
351 351
352 __update_curr(cfs_rq, curr, delta_exec); 352 __update_curr(cfs_rq, curr, delta_exec);
353 curr->exec_start = now; 353 curr->exec_start = now;
354
355 if (entity_is_task(curr)) {
356 struct task_struct *curtask = task_of(curr);
357
358 cpuacct_charge(curtask, delta_exec);
359 }
354} 360}
355 361
356static inline void 362static inline void
@@ -793,8 +799,9 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep)
793 */ 799 */
794static void yield_task_fair(struct rq *rq) 800static void yield_task_fair(struct rq *rq)
795{ 801{
796 struct cfs_rq *cfs_rq = task_cfs_rq(rq->curr); 802 struct task_struct *curr = rq->curr;
797 struct sched_entity *rightmost, *se = &rq->curr->se; 803 struct cfs_rq *cfs_rq = task_cfs_rq(curr);
804 struct sched_entity *rightmost, *se = &curr->se;
798 805
799 /* 806 /*
800 * Are we the only task in the tree? 807 * Are we the only task in the tree?
@@ -802,7 +809,7 @@ static void yield_task_fair(struct rq *rq)
802 if (unlikely(cfs_rq->nr_running == 1)) 809 if (unlikely(cfs_rq->nr_running == 1))
803 return; 810 return;
804 811
805 if (likely(!sysctl_sched_compat_yield)) { 812 if (likely(!sysctl_sched_compat_yield) && curr->policy != SCHED_BATCH) {
806 __update_rq_clock(rq); 813 __update_rq_clock(rq);
807 /* 814 /*
808 * Update run-time statistics of the 'current'. 815 * Update run-time statistics of the 'current'.
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 8abd752a0ebd..ee9c8b6529e9 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -23,6 +23,7 @@ static void update_curr_rt(struct rq *rq)
23 23
24 curr->se.sum_exec_runtime += delta_exec; 24 curr->se.sum_exec_runtime += delta_exec;
25 curr->se.exec_start = rq->clock; 25 curr->se.exec_start = rq->clock;
26 cpuacct_charge(curr, delta_exec);
26} 27}
27 28
28static void enqueue_task_rt(struct rq *rq, struct task_struct *p, int wakeup) 29static void enqueue_task_rt(struct rq *rq, struct task_struct *p, int wakeup)
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 0deed82a6156..8ac51714b08c 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1588,6 +1588,10 @@ struct ctl_table_header *register_sysctl_table(struct ctl_table * table)
1588void unregister_sysctl_table(struct ctl_table_header * header) 1588void unregister_sysctl_table(struct ctl_table_header * header)
1589{ 1589{
1590 might_sleep(); 1590 might_sleep();
1591
1592 if (header == NULL)
1593 return;
1594
1591 spin_lock(&sysctl_lock); 1595 spin_lock(&sysctl_lock);
1592 start_unregistering(header); 1596 start_unregistering(header);
1593 spin_unlock(&sysctl_lock); 1597 spin_unlock(&sysctl_lock);
diff --git a/kernel/sysctl_check.c b/kernel/sysctl_check.c
index 6972f26c65f7..bed939f82c31 100644
--- a/kernel/sysctl_check.c
+++ b/kernel/sysctl_check.c
@@ -96,7 +96,7 @@ static struct trans_ctl_table trans_kern_table[] = {
96 96
97 { KERN_PTY, "pty", trans_pty_table }, 97 { KERN_PTY, "pty", trans_pty_table },
98 { KERN_NGROUPS_MAX, "ngroups_max" }, 98 { KERN_NGROUPS_MAX, "ngroups_max" },
99 { KERN_SPARC_SCONS_PWROFF, "scons_poweroff" }, 99 { KERN_SPARC_SCONS_PWROFF, "scons-poweroff" },
100 { KERN_HZ_TIMER, "hz_timer" }, 100 { KERN_HZ_TIMER, "hz_timer" },
101 { KERN_UNKNOWN_NMI_PANIC, "unknown_nmi_panic" }, 101 { KERN_UNKNOWN_NMI_PANIC, "unknown_nmi_panic" },
102 { KERN_BOOTLOADER_TYPE, "bootloader_type" }, 102 { KERN_BOOTLOADER_TYPE, "bootloader_type" },
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 822beebe664a..5fb139fef9fa 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -78,6 +78,11 @@ int clockevents_program_event(struct clock_event_device *dev, ktime_t expires,
78 unsigned long long clc; 78 unsigned long long clc;
79 int64_t delta; 79 int64_t delta;
80 80
81 if (unlikely(expires.tv64 < 0)) {
82 WARN_ON_ONCE(1);
83 return -ETIME;
84 }
85
81 delta = ktime_to_ns(ktime_sub(expires, now)); 86 delta = ktime_to_ns(ktime_sub(expires, now));
82 87
83 if (delta <= 0) 88 if (delta <= 0)
diff --git a/lib/textsearch.c b/lib/textsearch.c
index 88c98a2ec8d9..be8bda3862f5 100644
--- a/lib/textsearch.c
+++ b/lib/textsearch.c
@@ -7,7 +7,7 @@
7 * 2 of the License, or (at your option) any later version. 7 * 2 of the License, or (at your option) any later version.
8 * 8 *
9 * Authors: Thomas Graf <tgraf@suug.ch> 9 * Authors: Thomas Graf <tgraf@suug.ch>
10 * Pablo Neira Ayuso <pablo@eurodev.net> 10 * Pablo Neira Ayuso <pablo@netfilter.org>
11 * 11 *
12 * ========================================================================== 12 * ==========================================================================
13 * 13 *
@@ -250,7 +250,8 @@ unsigned int textsearch_find_continuous(struct ts_config *conf,
250 * the various search algorithms. 250 * the various search algorithms.
251 * 251 *
252 * Returns a new textsearch configuration according to the specified 252 * Returns a new textsearch configuration according to the specified
253 * parameters or a ERR_PTR(). 253 * parameters or a ERR_PTR(). If a zero length pattern is passed, this
254 * function returns EINVAL.
254 */ 255 */
255struct ts_config *textsearch_prepare(const char *algo, const void *pattern, 256struct ts_config *textsearch_prepare(const char *algo, const void *pattern,
256 unsigned int len, gfp_t gfp_mask, int flags) 257 unsigned int len, gfp_t gfp_mask, int flags)
@@ -259,6 +260,9 @@ struct ts_config *textsearch_prepare(const char *algo, const void *pattern,
259 struct ts_config *conf; 260 struct ts_config *conf;
260 struct ts_ops *ops; 261 struct ts_ops *ops;
261 262
263 if (len == 0)
264 return ERR_PTR(-EINVAL);
265
262 ops = lookup_ts_algo(algo); 266 ops = lookup_ts_algo(algo);
263#ifdef CONFIG_KMOD 267#ifdef CONFIG_KMOD
264 /* 268 /*
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index b0ceb29da4c7..e8644b1e5527 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -7,7 +7,7 @@
7 7
8int bdi_init(struct backing_dev_info *bdi) 8int bdi_init(struct backing_dev_info *bdi)
9{ 9{
10 int i, j; 10 int i;
11 int err; 11 int err;
12 12
13 for (i = 0; i < NR_BDI_STAT_ITEMS; i++) { 13 for (i = 0; i < NR_BDI_STAT_ITEMS; i++) {
@@ -21,7 +21,7 @@ int bdi_init(struct backing_dev_info *bdi)
21 21
22 if (err) { 22 if (err) {
23err: 23err:
24 for (j = 0; j < i; j++) 24 while (i--)
25 percpu_counter_destroy(&bdi->bdi_stat[i]); 25 percpu_counter_destroy(&bdi->bdi_stat[i]);
26 } 26 }
27 27
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
index 32132f3cd641..e233fff61b4b 100644
--- a/mm/filemap_xip.c
+++ b/mm/filemap_xip.c
@@ -314,7 +314,7 @@ __xip_file_write(struct file *filp, const char __user *buf,
314 fault_in_pages_readable(buf, bytes); 314 fault_in_pages_readable(buf, bytes);
315 kaddr = kmap_atomic(page, KM_USER0); 315 kaddr = kmap_atomic(page, KM_USER0);
316 copied = bytes - 316 copied = bytes -
317 __copy_from_user_inatomic_nocache(kaddr, buf, bytes); 317 __copy_from_user_inatomic_nocache(kaddr + offset, buf, bytes);
318 kunmap_atomic(kaddr, KM_USER0); 318 kunmap_atomic(kaddr, KM_USER0);
319 flush_dcache_page(page); 319 flush_dcache_page(page);
320 320
diff --git a/mm/mmap.c b/mm/mmap.c
index facc1a75bd4f..15678aa6ec73 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -912,6 +912,9 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr,
912 if (!len) 912 if (!len)
913 return -EINVAL; 913 return -EINVAL;
914 914
915 if (!(flags & MAP_FIXED))
916 addr = round_hint_to_min(addr);
917
915 error = arch_mmap_check(addr, len, flags); 918 error = arch_mmap_check(addr, len, flags);
916 if (error) 919 if (error)
917 return error; 920 return error;
@@ -1615,6 +1618,12 @@ static inline int expand_downwards(struct vm_area_struct *vma,
1615 */ 1618 */
1616 if (unlikely(anon_vma_prepare(vma))) 1619 if (unlikely(anon_vma_prepare(vma)))
1617 return -ENOMEM; 1620 return -ENOMEM;
1621
1622 address &= PAGE_MASK;
1623 error = security_file_mmap(0, 0, 0, 0, address, 1);
1624 if (error)
1625 return error;
1626
1618 anon_vma_lock(vma); 1627 anon_vma_lock(vma);
1619 1628
1620 /* 1629 /*
@@ -1622,8 +1631,6 @@ static inline int expand_downwards(struct vm_area_struct *vma,
1622 * is required to hold the mmap_sem in read mode. We need the 1631 * is required to hold the mmap_sem in read mode. We need the
1623 * anon_vma lock to serialize against concurrent expand_stacks. 1632 * anon_vma lock to serialize against concurrent expand_stacks.
1624 */ 1633 */
1625 address &= PAGE_MASK;
1626 error = 0;
1627 1634
1628 /* Somebody else might have raced and expanded it already */ 1635 /* Somebody else might have raced and expanded it already */
1629 if (address < vma->vm_start) { 1636 if (address < vma->vm_start) {
@@ -1934,6 +1941,10 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
1934 if (is_hugepage_only_range(mm, addr, len)) 1941 if (is_hugepage_only_range(mm, addr, len))
1935 return -EINVAL; 1942 return -EINVAL;
1936 1943
1944 error = security_file_mmap(0, 0, 0, 0, addr, 1);
1945 if (error)
1946 return error;
1947
1937 flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; 1948 flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
1938 1949
1939 error = arch_mmap_check(addr, len, flags); 1950 error = arch_mmap_check(addr, len, flags);
diff --git a/mm/nommu.c b/mm/nommu.c
index 35622c590925..b989cb928a7c 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -829,6 +829,9 @@ unsigned long do_mmap_pgoff(struct file *file,
829 void *result; 829 void *result;
830 int ret; 830 int ret;
831 831
832 if (!(flags & MAP_FIXED))
833 addr = round_hint_to_min(addr);
834
832 /* decide whether we should attempt the mapping, and if so what sort of 835 /* decide whether we should attempt the mapping, and if so what sort of
833 * mapping */ 836 * mapping */
834 ret = validate_mmap_request(file, addr, len, prot, flags, pgoff, 837 ret = validate_mmap_request(file, addr, len, prot, flags, pgoff,
diff --git a/mm/slab.c b/mm/slab.c
index 202465a193c1..2e338a5f7b14 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -4475,3 +4475,4 @@ size_t ksize(const void *objp)
4475 4475
4476 return obj_size(virt_to_cache(objp)); 4476 return obj_size(virt_to_cache(objp));
4477} 4477}
4478EXPORT_SYMBOL(ksize);
diff --git a/mm/slob.c b/mm/slob.c
index 08a9bd91a1aa..ee2ef8af0d43 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -495,6 +495,7 @@ size_t ksize(const void *block)
495 else 495 else
496 return sp->page.private; 496 return sp->page.private;
497} 497}
498EXPORT_SYMBOL(ksize);
498 499
499struct kmem_cache { 500struct kmem_cache {
500 unsigned int size, align; 501 unsigned int size, align;
diff --git a/mm/slub.c b/mm/slub.c
index 9acb413858ac..b9f37cb0f2e6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2558,8 +2558,12 @@ size_t ksize(const void *object)
2558 if (unlikely(object == ZERO_SIZE_PTR)) 2558 if (unlikely(object == ZERO_SIZE_PTR))
2559 return 0; 2559 return 0;
2560 2560
2561 page = get_object_page(object); 2561 page = virt_to_head_page(object);
2562 BUG_ON(!page); 2562 BUG_ON(!page);
2563
2564 if (unlikely(!PageSlab(page)))
2565 return PAGE_SIZE << compound_order(page);
2566
2563 s = page->slab; 2567 s = page->slab;
2564 BUG_ON(!s); 2568 BUG_ON(!s);
2565 2569
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 6567213959cb..5b183156307a 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -776,7 +776,7 @@ static int vlan_ioctl_handler(struct net *net, void __user *arg)
776 case SET_VLAN_NAME_TYPE_CMD: 776 case SET_VLAN_NAME_TYPE_CMD:
777 err = -EPERM; 777 err = -EPERM;
778 if (!capable(CAP_NET_ADMIN)) 778 if (!capable(CAP_NET_ADMIN))
779 return -EPERM; 779 break;
780 if ((args.u.name_type >= 0) && 780 if ((args.u.name_type >= 0) &&
781 (args.u.name_type < VLAN_NAME_TYPE_HIGHEST)) { 781 (args.u.name_type < VLAN_NAME_TYPE_HIGHEST)) {
782 vlan_name_type = args.u.name_type; 782 vlan_name_type = args.u.name_type;
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 7a36878241da..4f99bb86af5c 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -462,7 +462,8 @@ int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
462 * OTHER THINGS LIKE FDDI/TokenRing/802.3 SNAPs... 462 * OTHER THINGS LIKE FDDI/TokenRing/802.3 SNAPs...
463 */ 463 */
464 464
465 if (veth->h_vlan_proto != htons(ETH_P_8021Q)) { 465 if (veth->h_vlan_proto != htons(ETH_P_8021Q) ||
466 VLAN_DEV_INFO(dev)->flags & VLAN_FLAG_REORDER_HDR) {
466 int orig_headroom = skb_headroom(skb); 467 int orig_headroom = skb_headroom(skb);
467 unsigned short veth_TCI; 468 unsigned short veth_TCI;
468 469
diff --git a/net/bridge/br.c b/net/bridge/br.c
index 93867bb6cc97..a90182873120 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -39,7 +39,7 @@ static int __init br_init(void)
39 39
40 err = br_fdb_init(); 40 err = br_fdb_init();
41 if (err) 41 if (err)
42 goto err_out1; 42 goto err_out;
43 43
44 err = br_netfilter_init(); 44 err = br_netfilter_init();
45 if (err) 45 if (err)
@@ -65,6 +65,8 @@ err_out3:
65err_out2: 65err_out2:
66 br_netfilter_fini(); 66 br_netfilter_fini();
67err_out1: 67err_out1:
68 br_fdb_fini();
69err_out:
68 llc_sap_put(br_stp_sap); 70 llc_sap_put(br_stp_sap);
69 return err; 71 return err;
70} 72}
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index eb57502bb264..bc40377136a2 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -44,7 +44,7 @@ int __init br_fdb_init(void)
44 return 0; 44 return 0;
45} 45}
46 46
47void __exit br_fdb_fini(void) 47void br_fdb_fini(void)
48{ 48{
49 kmem_cache_destroy(br_fdb_cache); 49 kmem_cache_destroy(br_fdb_cache);
50} 50}
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index 3cedd4eeeed6..0ee79a726d91 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -122,6 +122,7 @@ static inline int is_link_local(const unsigned char *dest)
122struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) 122struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
123{ 123{
124 const unsigned char *dest = eth_hdr(skb)->h_dest; 124 const unsigned char *dest = eth_hdr(skb)->h_dest;
125 int (*rhook)(struct sk_buff *skb);
125 126
126 if (!is_valid_ether_addr(eth_hdr(skb)->h_source)) 127 if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
127 goto drop; 128 goto drop;
@@ -147,9 +148,9 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
147 148
148 switch (p->state) { 149 switch (p->state) {
149 case BR_STATE_FORWARDING: 150 case BR_STATE_FORWARDING:
150 151 rhook = rcu_dereference(br_should_route_hook);
151 if (br_should_route_hook) { 152 if (rhook != NULL) {
152 if (br_should_route_hook(skb)) 153 if (rhook(skb))
153 return skb; 154 return skb;
154 dest = eth_hdr(skb)->h_dest; 155 dest = eth_hdr(skb)->h_dest;
155 } 156 }
diff --git a/net/bridge/netfilter/ebtable_broute.c b/net/bridge/netfilter/ebtable_broute.c
index e44519ebf1d2..be6f18681053 100644
--- a/net/bridge/netfilter/ebtable_broute.c
+++ b/net/bridge/netfilter/ebtable_broute.c
@@ -70,13 +70,13 @@ static int __init ebtable_broute_init(void)
70 if (ret < 0) 70 if (ret < 0)
71 return ret; 71 return ret;
72 /* see br_input.c */ 72 /* see br_input.c */
73 br_should_route_hook = ebt_broute; 73 rcu_assign_pointer(br_should_route_hook, ebt_broute);
74 return ret; 74 return ret;
75} 75}
76 76
77static void __exit ebtable_broute_fini(void) 77static void __exit ebtable_broute_fini(void)
78{ 78{
79 br_should_route_hook = NULL; 79 rcu_assign_pointer(br_should_route_hook, NULL);
80 synchronize_net(); 80 synchronize_net();
81 ebt_unregister_table(&broute_table); 81 ebt_unregister_table(&broute_table);
82} 82}
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
index 66e266fb5908..3bc82dc83b38 100644
--- a/net/decnet/dn_dev.c
+++ b/net/decnet/dn_dev.c
@@ -651,16 +651,18 @@ static int dn_nl_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
651 struct dn_dev *dn_db; 651 struct dn_dev *dn_db;
652 struct ifaddrmsg *ifm; 652 struct ifaddrmsg *ifm;
653 struct dn_ifaddr *ifa, **ifap; 653 struct dn_ifaddr *ifa, **ifap;
654 int err = -EADDRNOTAVAIL; 654 int err;
655 655
656 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, dn_ifa_policy); 656 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, dn_ifa_policy);
657 if (err < 0) 657 if (err < 0)
658 goto errout; 658 goto errout;
659 659
660 err = -ENODEV;
660 ifm = nlmsg_data(nlh); 661 ifm = nlmsg_data(nlh);
661 if ((dn_db = dn_dev_by_index(ifm->ifa_index)) == NULL) 662 if ((dn_db = dn_dev_by_index(ifm->ifa_index)) == NULL)
662 goto errout; 663 goto errout;
663 664
665 err = -EADDRNOTAVAIL;
664 for (ifap = &dn_db->ifa_list; (ifa = *ifap); ifap = &ifa->ifa_next) { 666 for (ifap = &dn_db->ifa_list; (ifa = *ifap); ifap = &ifa->ifa_next) {
665 if (tb[IFA_LOCAL] && 667 if (tb[IFA_LOCAL] &&
666 nla_memcmp(tb[IFA_LOCAL], &ifa->ifa_local, 2)) 668 nla_memcmp(tb[IFA_LOCAL], &ifa->ifa_local, 2))
diff --git a/net/ieee80211/ieee80211_tx.c b/net/ieee80211/ieee80211_tx.c
index a4c3c51140a3..6d06f1385e28 100644
--- a/net/ieee80211/ieee80211_tx.c
+++ b/net/ieee80211/ieee80211_tx.c
@@ -144,7 +144,8 @@ static int ieee80211_copy_snap(u8 * data, u16 h_proto)
144 snap->oui[1] = oui[1]; 144 snap->oui[1] = oui[1];
145 snap->oui[2] = oui[2]; 145 snap->oui[2] = oui[2];
146 146
147 *(u16 *) (data + SNAP_SIZE) = htons(h_proto); 147 h_proto = htons(h_proto);
148 memcpy(data + SNAP_SIZE, &h_proto, sizeof(u16));
148 149
149 return SNAP_SIZE + sizeof(u16); 150 return SNAP_SIZE + sizeof(u16);
150} 151}
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index b0170732b5e9..e468e7a7aac4 100644
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -51,6 +51,29 @@ static struct sock *idiagnl;
51#define INET_DIAG_PUT(skb, attrtype, attrlen) \ 51#define INET_DIAG_PUT(skb, attrtype, attrlen) \
52 RTA_DATA(__RTA_PUT(skb, attrtype, attrlen)) 52 RTA_DATA(__RTA_PUT(skb, attrtype, attrlen))
53 53
54static DEFINE_MUTEX(inet_diag_table_mutex);
55
56static const struct inet_diag_handler *inet_diag_lock_handler(int type)
57{
58#ifdef CONFIG_KMOD
59 if (!inet_diag_table[type])
60 request_module("net-pf-%d-proto-%d-type-%d", PF_NETLINK,
61 NETLINK_INET_DIAG, type);
62#endif
63
64 mutex_lock(&inet_diag_table_mutex);
65 if (!inet_diag_table[type])
66 return ERR_PTR(-ENOENT);
67
68 return inet_diag_table[type];
69}
70
71static inline void inet_diag_unlock_handler(
72 const struct inet_diag_handler *handler)
73{
74 mutex_unlock(&inet_diag_table_mutex);
75}
76
54static int inet_csk_diag_fill(struct sock *sk, 77static int inet_csk_diag_fill(struct sock *sk,
55 struct sk_buff *skb, 78 struct sk_buff *skb,
56 int ext, u32 pid, u32 seq, u16 nlmsg_flags, 79 int ext, u32 pid, u32 seq, u16 nlmsg_flags,
@@ -235,9 +258,12 @@ static int inet_diag_get_exact(struct sk_buff *in_skb,
235 struct inet_hashinfo *hashinfo; 258 struct inet_hashinfo *hashinfo;
236 const struct inet_diag_handler *handler; 259 const struct inet_diag_handler *handler;
237 260
238 handler = inet_diag_table[nlh->nlmsg_type]; 261 handler = inet_diag_lock_handler(nlh->nlmsg_type);
239 BUG_ON(handler == NULL); 262 if (!handler)
263 return -ENOENT;
264
240 hashinfo = handler->idiag_hashinfo; 265 hashinfo = handler->idiag_hashinfo;
266 err = -EINVAL;
241 267
242 if (req->idiag_family == AF_INET) { 268 if (req->idiag_family == AF_INET) {
243 sk = inet_lookup(hashinfo, req->id.idiag_dst[0], 269 sk = inet_lookup(hashinfo, req->id.idiag_dst[0],
@@ -255,11 +281,12 @@ static int inet_diag_get_exact(struct sk_buff *in_skb,
255 } 281 }
256#endif 282#endif
257 else { 283 else {
258 return -EINVAL; 284 goto unlock;
259 } 285 }
260 286
287 err = -ENOENT;
261 if (sk == NULL) 288 if (sk == NULL)
262 return -ENOENT; 289 goto unlock;
263 290
264 err = -ESTALE; 291 err = -ESTALE;
265 if ((req->id.idiag_cookie[0] != INET_DIAG_NOCOOKIE || 292 if ((req->id.idiag_cookie[0] != INET_DIAG_NOCOOKIE ||
@@ -296,6 +323,8 @@ out:
296 else 323 else
297 sock_put(sk); 324 sock_put(sk);
298 } 325 }
326unlock:
327 inet_diag_unlock_handler(handler);
299 return err; 328 return err;
300} 329}
301 330
@@ -678,8 +707,10 @@ static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
678 const struct inet_diag_handler *handler; 707 const struct inet_diag_handler *handler;
679 struct inet_hashinfo *hashinfo; 708 struct inet_hashinfo *hashinfo;
680 709
681 handler = inet_diag_table[cb->nlh->nlmsg_type]; 710 handler = inet_diag_lock_handler(cb->nlh->nlmsg_type);
682 BUG_ON(handler == NULL); 711 if (!handler)
712 goto no_handler;
713
683 hashinfo = handler->idiag_hashinfo; 714 hashinfo = handler->idiag_hashinfo;
684 715
685 s_i = cb->args[1]; 716 s_i = cb->args[1];
@@ -743,7 +774,7 @@ skip_listen_ht:
743 } 774 }
744 775
745 if (!(r->idiag_states & ~(TCPF_LISTEN | TCPF_SYN_RECV))) 776 if (!(r->idiag_states & ~(TCPF_LISTEN | TCPF_SYN_RECV)))
746 return skb->len; 777 goto unlock;
747 778
748 for (i = s_i; i < hashinfo->ehash_size; i++) { 779 for (i = s_i; i < hashinfo->ehash_size; i++) {
749 struct inet_ehash_bucket *head = &hashinfo->ehash[i]; 780 struct inet_ehash_bucket *head = &hashinfo->ehash[i];
@@ -805,6 +836,9 @@ next_dying:
805done: 836done:
806 cb->args[1] = i; 837 cb->args[1] = i;
807 cb->args[2] = num; 838 cb->args[2] = num;
839unlock:
840 inet_diag_unlock_handler(handler);
841no_handler:
808 return skb->len; 842 return skb->len;
809} 843}
810 844
@@ -816,15 +850,6 @@ static int inet_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
816 nlmsg_len(nlh) < hdrlen) 850 nlmsg_len(nlh) < hdrlen)
817 return -EINVAL; 851 return -EINVAL;
818 852
819#ifdef CONFIG_KMOD
820 if (inet_diag_table[nlh->nlmsg_type] == NULL)
821 request_module("net-pf-%d-proto-%d-type-%d", PF_NETLINK,
822 NETLINK_INET_DIAG, nlh->nlmsg_type);
823#endif
824
825 if (inet_diag_table[nlh->nlmsg_type] == NULL)
826 return -ENOENT;
827
828 if (nlh->nlmsg_flags & NLM_F_DUMP) { 853 if (nlh->nlmsg_flags & NLM_F_DUMP) {
829 if (nlmsg_attrlen(nlh, hdrlen)) { 854 if (nlmsg_attrlen(nlh, hdrlen)) {
830 struct nlattr *attr; 855 struct nlattr *attr;
@@ -853,8 +878,6 @@ static void inet_diag_rcv(struct sk_buff *skb)
853 mutex_unlock(&inet_diag_mutex); 878 mutex_unlock(&inet_diag_mutex);
854} 879}
855 880
856static DEFINE_SPINLOCK(inet_diag_register_lock);
857
858int inet_diag_register(const struct inet_diag_handler *h) 881int inet_diag_register(const struct inet_diag_handler *h)
859{ 882{
860 const __u16 type = h->idiag_type; 883 const __u16 type = h->idiag_type;
@@ -863,13 +886,13 @@ int inet_diag_register(const struct inet_diag_handler *h)
863 if (type >= INET_DIAG_GETSOCK_MAX) 886 if (type >= INET_DIAG_GETSOCK_MAX)
864 goto out; 887 goto out;
865 888
866 spin_lock(&inet_diag_register_lock); 889 mutex_lock(&inet_diag_table_mutex);
867 err = -EEXIST; 890 err = -EEXIST;
868 if (inet_diag_table[type] == NULL) { 891 if (inet_diag_table[type] == NULL) {
869 inet_diag_table[type] = h; 892 inet_diag_table[type] = h;
870 err = 0; 893 err = 0;
871 } 894 }
872 spin_unlock(&inet_diag_register_lock); 895 mutex_unlock(&inet_diag_table_mutex);
873out: 896out:
874 return err; 897 return err;
875} 898}
@@ -882,11 +905,9 @@ void inet_diag_unregister(const struct inet_diag_handler *h)
882 if (type >= INET_DIAG_GETSOCK_MAX) 905 if (type >= INET_DIAG_GETSOCK_MAX)
883 return; 906 return;
884 907
885 spin_lock(&inet_diag_register_lock); 908 mutex_lock(&inet_diag_table_mutex);
886 inet_diag_table[type] = NULL; 909 inet_diag_table[type] = NULL;
887 spin_unlock(&inet_diag_register_lock); 910 mutex_unlock(&inet_diag_table_mutex);
888
889 synchronize_rcu();
890} 911}
891EXPORT_SYMBOL_GPL(inet_diag_unregister); 912EXPORT_SYMBOL_GPL(inet_diag_unregister);
892 913
diff --git a/net/ipv4/inet_lro.c b/net/ipv4/inet_lro.c
index ac3b1d3dba2e..9a96c277393d 100644
--- a/net/ipv4/inet_lro.c
+++ b/net/ipv4/inet_lro.c
@@ -401,10 +401,11 @@ static struct sk_buff *lro_gen_skb(struct net_lro_mgr *lro_mgr,
401 int data_len = len; 401 int data_len = len;
402 int hdr_len = min(len, hlen); 402 int hdr_len = min(len, hlen);
403 403
404 skb = netdev_alloc_skb(lro_mgr->dev, hlen); 404 skb = netdev_alloc_skb(lro_mgr->dev, hlen + lro_mgr->frag_align_pad);
405 if (!skb) 405 if (!skb)
406 return NULL; 406 return NULL;
407 407
408 skb_reserve(skb, lro_mgr->frag_align_pad);
408 skb->len = len; 409 skb->len = len;
409 skb->data_len = len - hdr_len; 410 skb->data_len = len - hdr_len;
410 skb->truesize += true_size; 411 skb->truesize += true_size;
diff --git a/net/ipv4/ipvs/ip_vs_lblc.c b/net/ipv4/ipvs/ip_vs_lblc.c
index b843a11d7cf7..ad89644ef5d2 100644
--- a/net/ipv4/ipvs/ip_vs_lblc.c
+++ b/net/ipv4/ipvs/ip_vs_lblc.c
@@ -580,9 +580,14 @@ static struct ip_vs_scheduler ip_vs_lblc_scheduler =
580 580
581static int __init ip_vs_lblc_init(void) 581static int __init ip_vs_lblc_init(void)
582{ 582{
583 int ret;
584
583 INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list); 585 INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list);
584 sysctl_header = register_sysctl_table(lblc_root_table); 586 sysctl_header = register_sysctl_table(lblc_root_table);
585 return register_ip_vs_scheduler(&ip_vs_lblc_scheduler); 587 ret = register_ip_vs_scheduler(&ip_vs_lblc_scheduler);
588 if (ret)
589 unregister_sysctl_table(sysctl_header);
590 return ret;
586} 591}
587 592
588 593
diff --git a/net/ipv4/ipvs/ip_vs_lblcr.c b/net/ipv4/ipvs/ip_vs_lblcr.c
index e5b323a6b2f7..2a5ed85a3352 100644
--- a/net/ipv4/ipvs/ip_vs_lblcr.c
+++ b/net/ipv4/ipvs/ip_vs_lblcr.c
@@ -769,9 +769,14 @@ static struct ip_vs_scheduler ip_vs_lblcr_scheduler =
769 769
770static int __init ip_vs_lblcr_init(void) 770static int __init ip_vs_lblcr_init(void)
771{ 771{
772 int ret;
773
772 INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list); 774 INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list);
773 sysctl_header = register_sysctl_table(lblcr_root_table); 775 sysctl_header = register_sysctl_table(lblcr_root_table);
774 return register_ip_vs_scheduler(&ip_vs_lblcr_scheduler); 776 ret = register_ip_vs_scheduler(&ip_vs_lblcr_scheduler);
777 if (ret)
778 unregister_sysctl_table(sysctl_header);
779 return ret;
775} 780}
776 781
777 782
diff --git a/net/ipv4/ipvs/ip_vs_sched.c b/net/ipv4/ipvs/ip_vs_sched.c
index 1602304abbf9..432235861908 100644
--- a/net/ipv4/ipvs/ip_vs_sched.c
+++ b/net/ipv4/ipvs/ip_vs_sched.c
@@ -183,19 +183,6 @@ int register_ip_vs_scheduler(struct ip_vs_scheduler *scheduler)
183 /* increase the module use count */ 183 /* increase the module use count */
184 ip_vs_use_count_inc(); 184 ip_vs_use_count_inc();
185 185
186 /*
187 * Make sure that the scheduler with this name doesn't exist
188 * in the scheduler list.
189 */
190 sched = ip_vs_sched_getbyname(scheduler->name);
191 if (sched) {
192 ip_vs_scheduler_put(sched);
193 ip_vs_use_count_dec();
194 IP_VS_ERR("register_ip_vs_scheduler(): [%s] scheduler "
195 "already existed in the system\n", scheduler->name);
196 return -EINVAL;
197 }
198
199 write_lock_bh(&__ip_vs_sched_lock); 186 write_lock_bh(&__ip_vs_sched_lock);
200 187
201 if (scheduler->n_list.next != &scheduler->n_list) { 188 if (scheduler->n_list.next != &scheduler->n_list) {
@@ -207,6 +194,20 @@ int register_ip_vs_scheduler(struct ip_vs_scheduler *scheduler)
207 } 194 }
208 195
209 /* 196 /*
197 * Make sure that the scheduler with this name doesn't exist
198 * in the scheduler list.
199 */
200 list_for_each_entry(sched, &ip_vs_schedulers, n_list) {
201 if (strcmp(scheduler->name, sched->name) == 0) {
202 write_unlock_bh(&__ip_vs_sched_lock);
203 ip_vs_use_count_dec();
204 IP_VS_ERR("register_ip_vs_scheduler(): [%s] scheduler "
205 "already existed in the system\n",
206 scheduler->name);
207 return -EINVAL;
208 }
209 }
210 /*
210 * Add it into the d-linked scheduler list 211 * Add it into the d-linked scheduler list
211 */ 212 */
212 list_add(&scheduler->n_list, &ip_vs_schedulers); 213 list_add(&scheduler->n_list, &ip_vs_schedulers);
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index c426dec6d579..d2bc6148a737 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1161,7 +1161,7 @@ static struct dst_entry *ipv4_negative_advice(struct dst_entry *dst)
1161 unsigned hash = rt_hash(rt->fl.fl4_dst, rt->fl.fl4_src, 1161 unsigned hash = rt_hash(rt->fl.fl4_dst, rt->fl.fl4_src,
1162 rt->fl.oif); 1162 rt->fl.oif);
1163#if RT_CACHE_DEBUG >= 1 1163#if RT_CACHE_DEBUG >= 1
1164 printk(KERN_DEBUG "ip_rt_advice: redirect to " 1164 printk(KERN_DEBUG "ipv4_negative_advice: redirect to "
1165 "%u.%u.%u.%u/%02x dropped\n", 1165 "%u.%u.%u.%u/%02x dropped\n",
1166 NIPQUAD(rt->rt_dst), rt->fl.fl4_tos); 1166 NIPQUAD(rt->rt_dst), rt->fl.fl4_tos);
1167#endif 1167#endif
@@ -1252,6 +1252,7 @@ static int ip_error(struct sk_buff *skb)
1252 break; 1252 break;
1253 case ENETUNREACH: 1253 case ENETUNREACH:
1254 code = ICMP_NET_UNREACH; 1254 code = ICMP_NET_UNREACH;
1255 IP_INC_STATS_BH(IPSTATS_MIB_INNOROUTES);
1255 break; 1256 break;
1256 case EACCES: 1257 case EACCES:
1257 code = ICMP_PKT_FILTERED; 1258 code = ICMP_PKT_FILTERED;
@@ -1881,6 +1882,8 @@ no_route:
1881 RT_CACHE_STAT_INC(in_no_route); 1882 RT_CACHE_STAT_INC(in_no_route);
1882 spec_dst = inet_select_addr(dev, 0, RT_SCOPE_UNIVERSE); 1883 spec_dst = inet_select_addr(dev, 0, RT_SCOPE_UNIVERSE);
1883 res.type = RTN_UNREACHABLE; 1884 res.type = RTN_UNREACHABLE;
1885 if (err == -ESRCH)
1886 err = -ENETUNREACH;
1884 goto local_input; 1887 goto local_input;
1885 1888
1886 /* 1889 /*
diff --git a/net/ipv4/tcp_illinois.c b/net/ipv4/tcp_illinois.c
index 64f1cbaf96e8..5aa5f5496d6d 100644
--- a/net/ipv4/tcp_illinois.c
+++ b/net/ipv4/tcp_illinois.c
@@ -298,7 +298,7 @@ static u32 tcp_illinois_ssthresh(struct sock *sk)
298 struct illinois *ca = inet_csk_ca(sk); 298 struct illinois *ca = inet_csk_ca(sk);
299 299
300 /* Multiplicative decrease */ 300 /* Multiplicative decrease */
301 return max((tp->snd_cwnd * ca->beta) >> BETA_SHIFT, 2U); 301 return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->beta) >> BETA_SHIFT), 2U);
302} 302}
303 303
304 304
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 0f0c1c9829a1..b9e429d2d1de 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3003,17 +3003,13 @@ static int tcp_process_frto(struct sock *sk, int flag)
3003 } 3003 }
3004 3004
3005 if (tp->frto_counter == 1) { 3005 if (tp->frto_counter == 1) {
3006 /* Sending of the next skb must be allowed or no F-RTO */ 3006 /* tcp_may_send_now needs to see updated state */
3007 if (!tcp_send_head(sk) ||
3008 after(TCP_SKB_CB(tcp_send_head(sk))->end_seq,
3009 tp->snd_una + tp->snd_wnd)) {
3010 tcp_enter_frto_loss(sk, (tp->frto_counter == 1 ? 2 : 3),
3011 flag);
3012 return 1;
3013 }
3014
3015 tp->snd_cwnd = tcp_packets_in_flight(tp) + 2; 3007 tp->snd_cwnd = tcp_packets_in_flight(tp) + 2;
3016 tp->frto_counter = 2; 3008 tp->frto_counter = 2;
3009
3010 if (!tcp_may_send_now(sk))
3011 tcp_enter_frto_loss(sk, 2, flag);
3012
3017 return 1; 3013 return 1;
3018 } else { 3014 } else {
3019 switch (sysctl_tcp_frto_response) { 3015 switch (sysctl_tcp_frto_response) {
@@ -3069,6 +3065,7 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag)
3069 } 3065 }
3070 3066
3071 prior_fackets = tp->fackets_out; 3067 prior_fackets = tp->fackets_out;
3068 prior_in_flight = tcp_packets_in_flight(tp);
3072 3069
3073 if (!(flag&FLAG_SLOWPATH) && after(ack, prior_snd_una)) { 3070 if (!(flag&FLAG_SLOWPATH) && after(ack, prior_snd_una)) {
3074 /* Window is constant, pure forward advance. 3071 /* Window is constant, pure forward advance.
@@ -3108,8 +3105,6 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag)
3108 if (!prior_packets) 3105 if (!prior_packets)
3109 goto no_queue; 3106 goto no_queue;
3110 3107
3111 prior_in_flight = tcp_packets_in_flight(tp);
3112
3113 /* See if we can take anything off of the retransmit queue. */ 3108 /* See if we can take anything off of the retransmit queue. */
3114 flag |= tcp_clean_rtx_queue(sk, &seq_rtt, prior_fackets); 3109 flag |= tcp_clean_rtx_queue(sk, &seq_rtt, prior_fackets);
3115 3110
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index e5130a7fe181..f4c1eef89af0 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1162,8 +1162,7 @@ int tcp_may_send_now(struct sock *sk)
1162 return (skb && 1162 return (skb &&
1163 tcp_snd_test(sk, skb, tcp_current_mss(sk, 1), 1163 tcp_snd_test(sk, skb, tcp_current_mss(sk, 1),
1164 (tcp_skb_is_last(sk, skb) ? 1164 (tcp_skb_is_last(sk, skb) ?
1165 TCP_NAGLE_PUSH : 1165 tp->nonagle : TCP_NAGLE_PUSH)));
1166 tp->nonagle)));
1167} 1166}
1168 1167
1169/* Trim TSO SKB to LEN bytes, put the remaining data into a new packet 1168/* Trim TSO SKB to LEN bytes, put the remaining data into a new packet
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 567664eac463..e8c347579da9 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2293,6 +2293,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
2293 break; 2293 break;
2294 } 2294 }
2295 2295
2296 if (!idev && dev->mtu >= IPV6_MIN_MTU)
2297 idev = ipv6_add_dev(dev);
2298
2296 if (idev) 2299 if (idev)
2297 idev->if_flags |= IF_READY; 2300 idev->if_flags |= IF_READY;
2298 } else { 2301 } else {
@@ -2357,12 +2360,18 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
2357 break; 2360 break;
2358 2361
2359 case NETDEV_CHANGEMTU: 2362 case NETDEV_CHANGEMTU:
2360 if ( idev && dev->mtu >= IPV6_MIN_MTU) { 2363 if (idev && dev->mtu >= IPV6_MIN_MTU) {
2361 rt6_mtu_change(dev, dev->mtu); 2364 rt6_mtu_change(dev, dev->mtu);
2362 idev->cnf.mtu6 = dev->mtu; 2365 idev->cnf.mtu6 = dev->mtu;
2363 break; 2366 break;
2364 } 2367 }
2365 2368
2369 if (!idev && dev->mtu >= IPV6_MIN_MTU) {
2370 idev = ipv6_add_dev(dev);
2371 if (idev)
2372 break;
2373 }
2374
2366 /* MTU falled under IPV6_MIN_MTU. Stop IPv6 on this interface. */ 2375 /* MTU falled under IPV6_MIN_MTU. Stop IPv6 on this interface. */
2367 2376
2368 case NETDEV_DOWN: 2377 case NETDEV_DOWN:
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 86e1835ce4e4..6338a9c1aa14 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -933,6 +933,8 @@ static int ip6_dst_lookup_tail(struct sock *sk,
933 return 0; 933 return 0;
934 934
935out_err_release: 935out_err_release:
936 if (err == -ENETUNREACH)
937 IP6_INC_STATS_BH(NULL, IPSTATS_MIB_OUTNOROUTES);
936 dst_release(*dst); 938 dst_release(*dst);
937 *dst = NULL; 939 *dst = NULL;
938 return err; 940 return err;
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c
index 1120b150e211..be627e1f04d8 100644
--- a/net/irda/ircomm/ircomm_tty.c
+++ b/net/irda/ircomm/ircomm_tty.c
@@ -1245,6 +1245,7 @@ static void ircomm_tty_flow_indication(void *instance, void *sap,
1245 self->flow = cmd; 1245 self->flow = cmd;
1246} 1246}
1247 1247
1248#ifdef CONFIG_PROC_FS
1248static int ircomm_tty_line_info(struct ircomm_tty_cb *self, char *buf) 1249static int ircomm_tty_line_info(struct ircomm_tty_cb *self, char *buf)
1249{ 1250{
1250 int ret=0; 1251 int ret=0;
@@ -1354,7 +1355,6 @@ static int ircomm_tty_line_info(struct ircomm_tty_cb *self, char *buf)
1354 * 1355 *
1355 * 1356 *
1356 */ 1357 */
1357#ifdef CONFIG_PROC_FS
1358static int ircomm_tty_read_proc(char *buf, char **start, off_t offset, int len, 1358static int ircomm_tty_read_proc(char *buf, char **start, off_t offset, int len,
1359 int *eof, void *unused) 1359 int *eof, void *unused)
1360{ 1360{
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 59350b8727ec..505af1f067ab 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -216,6 +216,7 @@ static int ieee80211_open(struct net_device *dev)
216 res = local->ops->start(local_to_hw(local)); 216 res = local->ops->start(local_to_hw(local));
217 if (res) 217 if (res)
218 return res; 218 return res;
219 ieee80211_hw_config(local);
219 } 220 }
220 221
221 switch (sdata->type) { 222 switch (sdata->type) {
@@ -232,7 +233,6 @@ static int ieee80211_open(struct net_device *dev)
232 netif_tx_unlock_bh(local->mdev); 233 netif_tx_unlock_bh(local->mdev);
233 234
234 local->hw.conf.flags |= IEEE80211_CONF_RADIOTAP; 235 local->hw.conf.flags |= IEEE80211_CONF_RADIOTAP;
235 ieee80211_hw_config(local);
236 } 236 }
237 break; 237 break;
238 case IEEE80211_IF_TYPE_STA: 238 case IEEE80211_IF_TYPE_STA:
@@ -334,8 +334,7 @@ static int ieee80211_stop(struct net_device *dev)
334 ieee80211_configure_filter(local); 334 ieee80211_configure_filter(local);
335 netif_tx_unlock_bh(local->mdev); 335 netif_tx_unlock_bh(local->mdev);
336 336
337 local->hw.conf.flags |= IEEE80211_CONF_RADIOTAP; 337 local->hw.conf.flags &= ~IEEE80211_CONF_RADIOTAP;
338 ieee80211_hw_config(local);
339 } 338 }
340 break; 339 break;
341 case IEEE80211_IF_TYPE_STA: 340 case IEEE80211_IF_TYPE_STA:
@@ -357,6 +356,11 @@ static int ieee80211_stop(struct net_device *dev)
357 cancel_delayed_work(&local->scan_work); 356 cancel_delayed_work(&local->scan_work);
358 } 357 }
359 flush_workqueue(local->hw.workqueue); 358 flush_workqueue(local->hw.workqueue);
359
360 sdata->u.sta.flags &= ~IEEE80211_STA_PRIVACY_INVOKED;
361 kfree(sdata->u.sta.extra_ie);
362 sdata->u.sta.extra_ie = NULL;
363 sdata->u.sta.extra_ie_len = 0;
360 /* fall through */ 364 /* fall through */
361 default: 365 default:
362 conf.if_id = dev->ifindex; 366 conf.if_id = dev->ifindex;
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 428a9fcf57d6..00f908d9275e 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -997,7 +997,7 @@ ieee80211_rx_h_drop_unencrypted(struct ieee80211_txrx_data *rx)
997 if (unlikely(!(rx->fc & IEEE80211_FCTL_PROTECTED) && 997 if (unlikely(!(rx->fc & IEEE80211_FCTL_PROTECTED) &&
998 (rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA && 998 (rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA &&
999 (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_NULLFUNC && 999 (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_NULLFUNC &&
1000 rx->sdata->drop_unencrypted && 1000 (rx->key || rx->sdata->drop_unencrypted) &&
1001 (rx->sdata->eapol == 0 || !ieee80211_is_eapol(rx->skb)))) { 1001 (rx->sdata->eapol == 0 || !ieee80211_is_eapol(rx->skb)))) {
1002 if (net_ratelimit()) 1002 if (net_ratelimit())
1003 printk(KERN_DEBUG "%s: RX non-WEP frame, but expected " 1003 printk(KERN_DEBUG "%s: RX non-WEP frame, but expected "
diff --git a/net/mac80211/wep.c b/net/mac80211/wep.c
index 9bf0e1cc530a..b5f3413403bd 100644
--- a/net/mac80211/wep.c
+++ b/net/mac80211/wep.c
@@ -265,7 +265,8 @@ int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb,
265 if (ieee80211_wep_decrypt_data(local->wep_rx_tfm, rc4key, klen, 265 if (ieee80211_wep_decrypt_data(local->wep_rx_tfm, rc4key, klen,
266 skb->data + hdrlen + WEP_IV_LEN, 266 skb->data + hdrlen + WEP_IV_LEN,
267 len)) { 267 len)) {
268 printk(KERN_DEBUG "WEP decrypt failed (ICV)\n"); 268 if (net_ratelimit())
269 printk(KERN_DEBUG "WEP decrypt failed (ICV)\n");
269 ret = -1; 270 ret = -1;
270 } 271 }
271 272
diff --git a/net/netfilter/xt_CONNMARK.c b/net/netfilter/xt_CONNMARK.c
index 856793e8db7a..0621ca7de3b0 100644
--- a/net/netfilter/xt_CONNMARK.c
+++ b/net/netfilter/xt_CONNMARK.c
@@ -86,11 +86,6 @@ checkentry(const char *tablename,
86{ 86{
87 const struct xt_connmark_target_info *matchinfo = targinfo; 87 const struct xt_connmark_target_info *matchinfo = targinfo;
88 88
89 if (nf_ct_l3proto_try_module_get(target->family) < 0) {
90 printk(KERN_WARNING "can't load conntrack support for "
91 "proto=%d\n", target->family);
92 return false;
93 }
94 if (matchinfo->mode == XT_CONNMARK_RESTORE) { 89 if (matchinfo->mode == XT_CONNMARK_RESTORE) {
95 if (strcmp(tablename, "mangle") != 0) { 90 if (strcmp(tablename, "mangle") != 0) {
96 printk(KERN_WARNING "CONNMARK: restore can only be " 91 printk(KERN_WARNING "CONNMARK: restore can only be "
@@ -103,6 +98,11 @@ checkentry(const char *tablename,
103 printk(KERN_WARNING "CONNMARK: Only supports 32bit mark\n"); 98 printk(KERN_WARNING "CONNMARK: Only supports 32bit mark\n");
104 return false; 99 return false;
105 } 100 }
101 if (nf_ct_l3proto_try_module_get(target->family) < 0) {
102 printk(KERN_WARNING "can't load conntrack support for "
103 "proto=%d\n", target->family);
104 return false;
105 }
106 return true; 106 return true;
107} 107}
108 108
diff --git a/net/netfilter/xt_CONNSECMARK.c b/net/netfilter/xt_CONNSECMARK.c
index 021b5c8d20e2..d8feba9bdb48 100644
--- a/net/netfilter/xt_CONNSECMARK.c
+++ b/net/netfilter/xt_CONNSECMARK.c
@@ -90,11 +90,6 @@ static bool checkentry(const char *tablename, const void *entry,
90{ 90{
91 const struct xt_connsecmark_target_info *info = targinfo; 91 const struct xt_connsecmark_target_info *info = targinfo;
92 92
93 if (nf_ct_l3proto_try_module_get(target->family) < 0) {
94 printk(KERN_WARNING "can't load conntrack support for "
95 "proto=%d\n", target->family);
96 return false;
97 }
98 switch (info->mode) { 93 switch (info->mode) {
99 case CONNSECMARK_SAVE: 94 case CONNSECMARK_SAVE:
100 case CONNSECMARK_RESTORE: 95 case CONNSECMARK_RESTORE:
@@ -105,6 +100,11 @@ static bool checkentry(const char *tablename, const void *entry,
105 return false; 100 return false;
106 } 101 }
107 102
103 if (nf_ct_l3proto_try_module_get(target->family) < 0) {
104 printk(KERN_WARNING "can't load conntrack support for "
105 "proto=%d\n", target->family);
106 return false;
107 }
108 return true; 108 return true;
109} 109}
110 110
diff --git a/net/netfilter/xt_TCPMSS.c b/net/netfilter/xt_TCPMSS.c
index 07435a602b11..8e76d1f52fbe 100644
--- a/net/netfilter/xt_TCPMSS.c
+++ b/net/netfilter/xt_TCPMSS.c
@@ -174,10 +174,8 @@ xt_tcpmss_target6(struct sk_buff *skb,
174 174
175 nexthdr = ipv6h->nexthdr; 175 nexthdr = ipv6h->nexthdr;
176 tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr); 176 tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr);
177 if (tcphoff < 0) { 177 if (tcphoff < 0)
178 WARN_ON(1);
179 return NF_DROP; 178 return NF_DROP;
180 }
181 ret = tcpmss_mangle_packet(skb, targinfo, tcphoff, 179 ret = tcpmss_mangle_packet(skb, targinfo, tcphoff,
182 sizeof(*ipv6h) + sizeof(struct tcphdr)); 180 sizeof(*ipv6h) + sizeof(struct tcphdr));
183 if (ret < 0) 181 if (ret < 0)
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c
index 73d60a307129..4469a7be006c 100644
--- a/net/rfkill/rfkill.c
+++ b/net/rfkill/rfkill.c
@@ -60,11 +60,7 @@ static void rfkill_led_trigger(struct rfkill *rfkill,
60static int rfkill_toggle_radio(struct rfkill *rfkill, 60static int rfkill_toggle_radio(struct rfkill *rfkill,
61 enum rfkill_state state) 61 enum rfkill_state state)
62{ 62{
63 int retval; 63 int retval = 0;
64
65 retval = mutex_lock_interruptible(&rfkill->mutex);
66 if (retval)
67 return retval;
68 64
69 if (state != rfkill->state) { 65 if (state != rfkill->state) {
70 retval = rfkill->toggle_radio(rfkill->data, state); 66 retval = rfkill->toggle_radio(rfkill->data, state);
@@ -74,7 +70,6 @@ static int rfkill_toggle_radio(struct rfkill *rfkill,
74 } 70 }
75 } 71 }
76 72
77 mutex_unlock(&rfkill->mutex);
78 return retval; 73 return retval;
79} 74}
80 75
@@ -158,12 +153,13 @@ static ssize_t rfkill_state_store(struct device *dev,
158 if (!capable(CAP_NET_ADMIN)) 153 if (!capable(CAP_NET_ADMIN))
159 return -EPERM; 154 return -EPERM;
160 155
156 if (mutex_lock_interruptible(&rfkill->mutex))
157 return -ERESTARTSYS;
161 error = rfkill_toggle_radio(rfkill, 158 error = rfkill_toggle_radio(rfkill,
162 state ? RFKILL_STATE_ON : RFKILL_STATE_OFF); 159 state ? RFKILL_STATE_ON : RFKILL_STATE_OFF);
163 if (error) 160 mutex_unlock(&rfkill->mutex);
164 return error;
165 161
166 return count; 162 return error ? error : count;
167} 163}
168 164
169static ssize_t rfkill_claim_show(struct device *dev, 165static ssize_t rfkill_claim_show(struct device *dev,
diff --git a/net/rose/rose_dev.c b/net/rose/rose_dev.c
index 1b6741f1d746..12cfcf09556b 100644
--- a/net/rose/rose_dev.c
+++ b/net/rose/rose_dev.c
@@ -55,13 +55,13 @@ static int rose_header(struct sk_buff *skb, struct net_device *dev,
55 55
56static int rose_rebuild_header(struct sk_buff *skb) 56static int rose_rebuild_header(struct sk_buff *skb)
57{ 57{
58#ifdef CONFIG_INET
58 struct net_device *dev = skb->dev; 59 struct net_device *dev = skb->dev;
59 struct net_device_stats *stats = netdev_priv(dev); 60 struct net_device_stats *stats = netdev_priv(dev);
60 unsigned char *bp = (unsigned char *)skb->data; 61 unsigned char *bp = (unsigned char *)skb->data;
61 struct sk_buff *skbn; 62 struct sk_buff *skbn;
62 unsigned int len; 63 unsigned int len;
63 64
64#ifdef CONFIG_INET
65 if (arp_find(bp + 7, skb)) { 65 if (arp_find(bp + 7, skb)) {
66 return 1; 66 return 1;
67 } 67 }
diff --git a/net/rxrpc/Kconfig b/net/rxrpc/Kconfig
index e662f1d07664..0d3103c4f11c 100644
--- a/net/rxrpc/Kconfig
+++ b/net/rxrpc/Kconfig
@@ -5,6 +5,7 @@
5config AF_RXRPC 5config AF_RXRPC
6 tristate "RxRPC session sockets" 6 tristate "RxRPC session sockets"
7 depends on INET && EXPERIMENTAL 7 depends on INET && EXPERIMENTAL
8 select CRYPTO
8 select KEYS 9 select KEYS
9 help 10 help
10 Say Y or M here to include support for RxRPC session sockets (just 11 Say Y or M here to include support for RxRPC session sockets (just
diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
index e09a95aa68ff..8e69d6993833 100644
--- a/net/rxrpc/rxkad.c
+++ b/net/rxrpc/rxkad.c
@@ -1021,6 +1021,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
1021 1021
1022 abort_code = RXKADINCONSISTENCY; 1022 abort_code = RXKADINCONSISTENCY;
1023 if (version != RXKAD_VERSION) 1023 if (version != RXKAD_VERSION)
1024 goto protocol_error;
1024 1025
1025 abort_code = RXKADTICKETLEN; 1026 abort_code = RXKADTICKETLEN;
1026 if (ticket_len < 4 || ticket_len > MAXKRB5TICKETLEN) 1027 if (ticket_len < 4 || ticket_len > MAXKRB5TICKETLEN)
diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig
index 8210f549c492..5390bc792159 100644
--- a/net/sctp/Kconfig
+++ b/net/sctp/Kconfig
@@ -6,9 +6,9 @@ menuconfig IP_SCTP
6 tristate "The SCTP Protocol (EXPERIMENTAL)" 6 tristate "The SCTP Protocol (EXPERIMENTAL)"
7 depends on INET && EXPERIMENTAL 7 depends on INET && EXPERIMENTAL
8 depends on IPV6 || IPV6=n 8 depends on IPV6 || IPV6=n
9 select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 9 select CRYPTO
10 select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 10 select CRYPTO_HMAC
11 select CRYPTO_SHA1 if SCTP_HMAC_SHA1 11 select CRYPTO_SHA1
12 select CRYPTO_MD5 if SCTP_HMAC_MD5 12 select CRYPTO_MD5 if SCTP_HMAC_MD5
13 ---help--- 13 ---help---
14 Stream Control Transmission Protocol 14 Stream Control Transmission Protocol
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 6d5fa6bb371b..97e6ebd14500 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -54,11 +54,13 @@ static struct sctp_hmac sctp_hmac_list[SCTP_AUTH_NUM_HMACS] = {
54 /* id 2 is reserved as well */ 54 /* id 2 is reserved as well */
55 .hmac_id = SCTP_AUTH_HMAC_ID_RESERVED_2, 55 .hmac_id = SCTP_AUTH_HMAC_ID_RESERVED_2,
56 }, 56 },
57#if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE)
57 { 58 {
58 .hmac_id = SCTP_AUTH_HMAC_ID_SHA256, 59 .hmac_id = SCTP_AUTH_HMAC_ID_SHA256,
59 .hmac_name="hmac(sha256)", 60 .hmac_name="hmac(sha256)",
60 .hmac_len = SCTP_SHA256_SIG_SIZE, 61 .hmac_len = SCTP_SHA256_SIG_SIZE,
61 } 62 }
63#endif
62}; 64};
63 65
64 66
@@ -631,7 +633,7 @@ static int __sctp_auth_cid(sctp_cid_t chunk, struct sctp_chunks_param *param)
631 int found = 0; 633 int found = 0;
632 int i; 634 int i;
633 635
634 if (!param) 636 if (!param || param->param_hdr.length == 0)
635 return 0; 637 return 0;
636 638
637 len = ntohs(param->param_hdr.length) - sizeof(sctp_paramhdr_t); 639 len = ntohs(param->param_hdr.length) - sizeof(sctp_paramhdr_t);
diff --git a/net/sctp/bind_addr.c b/net/sctp/bind_addr.c
index cae95af9a8cc..6a7d01091f0c 100644
--- a/net/sctp/bind_addr.c
+++ b/net/sctp/bind_addr.c
@@ -105,6 +105,32 @@ out:
105 return error; 105 return error;
106} 106}
107 107
108/* Exactly duplicate the address lists. This is necessary when doing
109 * peer-offs and accepts. We don't want to put all the current system
110 * addresses into the endpoint. That's useless. But we do want duplicat
111 * the list of bound addresses that the older endpoint used.
112 */
113int sctp_bind_addr_dup(struct sctp_bind_addr *dest,
114 const struct sctp_bind_addr *src,
115 gfp_t gfp)
116{
117 struct sctp_sockaddr_entry *addr;
118 struct list_head *pos;
119 int error = 0;
120
121 /* All addresses share the same port. */
122 dest->port = src->port;
123
124 list_for_each(pos, &src->address_list) {
125 addr = list_entry(pos, struct sctp_sockaddr_entry, list);
126 error = sctp_add_bind_addr(dest, &addr->a, 1, gfp);
127 if (error < 0)
128 break;
129 }
130
131 return error;
132}
133
108/* Initialize the SCTP_bind_addr structure for either an endpoint or 134/* Initialize the SCTP_bind_addr structure for either an endpoint or
109 * an association. 135 * an association.
110 */ 136 */
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 5a9783c38de1..f4876291bb5e 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -77,6 +77,8 @@ static int sctp_process_param(struct sctp_association *asoc,
77 union sctp_params param, 77 union sctp_params param,
78 const union sctp_addr *peer_addr, 78 const union sctp_addr *peer_addr,
79 gfp_t gfp); 79 gfp_t gfp);
80static void *sctp_addto_param(struct sctp_chunk *chunk, int len,
81 const void *data);
80 82
81/* What was the inbound interface for this chunk? */ 83/* What was the inbound interface for this chunk? */
82int sctp_chunk_iif(const struct sctp_chunk *chunk) 84int sctp_chunk_iif(const struct sctp_chunk *chunk)
@@ -207,11 +209,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
207 209
208 chunksize = sizeof(init) + addrs_len + SCTP_SAT_LEN(num_types); 210 chunksize = sizeof(init) + addrs_len + SCTP_SAT_LEN(num_types);
209 chunksize += sizeof(ecap_param); 211 chunksize += sizeof(ecap_param);
210 if (sctp_prsctp_enable) { 212
211 chunksize += sizeof(prsctp_param);
212 extensions[num_ext] = SCTP_CID_FWD_TSN;
213 num_ext += 1;
214 }
215 /* ADDIP: Section 4.2.7: 213 /* ADDIP: Section 4.2.7:
216 * An implementation supporting this extension [ADDIP] MUST list 214 * An implementation supporting this extension [ADDIP] MUST list
217 * the ASCONF,the ASCONF-ACK, and the AUTH chunks in its INIT and 215 * the ASCONF,the ASCONF-ACK, and the AUTH chunks in its INIT and
@@ -243,7 +241,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
243 if (auth_chunks->length) 241 if (auth_chunks->length)
244 chunksize += ntohs(auth_chunks->length); 242 chunksize += ntohs(auth_chunks->length);
245 else 243 else
246 auth_hmacs = NULL; 244 auth_chunks = NULL;
247 245
248 extensions[num_ext] = SCTP_CID_AUTH; 246 extensions[num_ext] = SCTP_CID_AUTH;
249 num_ext += 1; 247 num_ext += 1;
@@ -297,7 +295,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
297 htons(sizeof(sctp_supported_ext_param_t) + num_ext); 295 htons(sizeof(sctp_supported_ext_param_t) + num_ext);
298 sctp_addto_chunk(retval, sizeof(sctp_supported_ext_param_t), 296 sctp_addto_chunk(retval, sizeof(sctp_supported_ext_param_t),
299 &ext_param); 297 &ext_param);
300 sctp_addto_chunk(retval, num_ext, extensions); 298 sctp_addto_param(retval, num_ext, extensions);
301 } 299 }
302 300
303 if (sctp_prsctp_enable) 301 if (sctp_prsctp_enable)
@@ -371,20 +369,12 @@ struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc,
371 if (asoc->peer.ecn_capable) 369 if (asoc->peer.ecn_capable)
372 chunksize += sizeof(ecap_param); 370 chunksize += sizeof(ecap_param);
373 371
374 /* Tell peer that we'll do PR-SCTP only if peer advertised. */
375 if (asoc->peer.prsctp_capable) {
376 chunksize += sizeof(prsctp_param);
377 extensions[num_ext] = SCTP_CID_FWD_TSN;
378 num_ext += 1;
379 }
380
381 if (sctp_addip_enable) { 372 if (sctp_addip_enable) {
382 extensions[num_ext] = SCTP_CID_ASCONF; 373 extensions[num_ext] = SCTP_CID_ASCONF;
383 extensions[num_ext+1] = SCTP_CID_ASCONF_ACK; 374 extensions[num_ext+1] = SCTP_CID_ASCONF_ACK;
384 num_ext += 2; 375 num_ext += 2;
385 } 376 }
386 377
387 chunksize += sizeof(ext_param) + num_ext;
388 chunksize += sizeof(aiparam); 378 chunksize += sizeof(aiparam);
389 379
390 if (asoc->peer.auth_capable) { 380 if (asoc->peer.auth_capable) {
@@ -407,6 +397,9 @@ struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc,
407 num_ext += 1; 397 num_ext += 1;
408 } 398 }
409 399
400 if (num_ext)
401 chunksize += sizeof(sctp_supported_ext_param_t) + num_ext;
402
410 /* Now allocate and fill out the chunk. */ 403 /* Now allocate and fill out the chunk. */
411 retval = sctp_make_chunk(asoc, SCTP_CID_INIT_ACK, 0, chunksize); 404 retval = sctp_make_chunk(asoc, SCTP_CID_INIT_ACK, 0, chunksize);
412 if (!retval) 405 if (!retval)
@@ -428,7 +421,7 @@ struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc,
428 htons(sizeof(sctp_supported_ext_param_t) + num_ext); 421 htons(sizeof(sctp_supported_ext_param_t) + num_ext);
429 sctp_addto_chunk(retval, sizeof(sctp_supported_ext_param_t), 422 sctp_addto_chunk(retval, sizeof(sctp_supported_ext_param_t),
430 &ext_param); 423 &ext_param);
431 sctp_addto_chunk(retval, num_ext, extensions); 424 sctp_addto_param(retval, num_ext, extensions);
432 } 425 }
433 if (asoc->peer.prsctp_capable) 426 if (asoc->peer.prsctp_capable)
434 sctp_addto_chunk(retval, sizeof(prsctp_param), &prsctp_param); 427 sctp_addto_chunk(retval, sizeof(prsctp_param), &prsctp_param);
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index b8bbb960723c..5fb84778846d 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -959,7 +959,7 @@ sctp_disposition_t sctp_sf_sendbeat_8_3(const struct sctp_endpoint *ep,
959{ 959{
960 struct sctp_transport *transport = (struct sctp_transport *) arg; 960 struct sctp_transport *transport = (struct sctp_transport *) arg;
961 961
962 if (asoc->overall_error_count >= asoc->max_retrans) { 962 if (asoc->overall_error_count > asoc->max_retrans) {
963 sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, 963 sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
964 SCTP_ERROR(ETIMEDOUT)); 964 SCTP_ERROR(ETIMEDOUT));
965 /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ 965 /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index ff8bc95670ed..ea9649ca0b2a 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -6325,7 +6325,7 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk,
6325 struct sctp_endpoint *newep = newsp->ep; 6325 struct sctp_endpoint *newep = newsp->ep;
6326 struct sk_buff *skb, *tmp; 6326 struct sk_buff *skb, *tmp;
6327 struct sctp_ulpevent *event; 6327 struct sctp_ulpevent *event;
6328 int flags = 0; 6328 struct sctp_bind_hashbucket *head;
6329 6329
6330 /* Migrate socket buffer sizes and all the socket level options to the 6330 /* Migrate socket buffer sizes and all the socket level options to the
6331 * new socket. 6331 * new socket.
@@ -6342,23 +6342,21 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk,
6342 newsp->hmac = NULL; 6342 newsp->hmac = NULL;
6343 6343
6344 /* Hook this new socket in to the bind_hash list. */ 6344 /* Hook this new socket in to the bind_hash list. */
6345 head = &sctp_port_hashtable[sctp_phashfn(inet_sk(oldsk)->num)];
6346 sctp_local_bh_disable();
6347 sctp_spin_lock(&head->lock);
6345 pp = sctp_sk(oldsk)->bind_hash; 6348 pp = sctp_sk(oldsk)->bind_hash;
6346 sk_add_bind_node(newsk, &pp->owner); 6349 sk_add_bind_node(newsk, &pp->owner);
6347 sctp_sk(newsk)->bind_hash = pp; 6350 sctp_sk(newsk)->bind_hash = pp;
6348 inet_sk(newsk)->num = inet_sk(oldsk)->num; 6351 inet_sk(newsk)->num = inet_sk(oldsk)->num;
6352 sctp_spin_unlock(&head->lock);
6353 sctp_local_bh_enable();
6349 6354
6350 /* Copy the bind_addr list from the original endpoint to the new 6355 /* Copy the bind_addr list from the original endpoint to the new
6351 * endpoint so that we can handle restarts properly 6356 * endpoint so that we can handle restarts properly
6352 */ 6357 */
6353 if (PF_INET6 == assoc->base.sk->sk_family) 6358 sctp_bind_addr_dup(&newsp->ep->base.bind_addr,
6354 flags = SCTP_ADDR6_ALLOWED; 6359 &oldsp->ep->base.bind_addr, GFP_KERNEL);
6355 if (assoc->peer.ipv4_address)
6356 flags |= SCTP_ADDR4_PEERSUPP;
6357 if (assoc->peer.ipv6_address)
6358 flags |= SCTP_ADDR6_PEERSUPP;
6359 sctp_bind_addr_copy(&newsp->ep->base.bind_addr,
6360 &oldsp->ep->base.bind_addr,
6361 SCTP_SCOPE_GLOBAL, GFP_KERNEL, flags);
6362 6360
6363 /* Move any messages in the old socket's receive queue that are for the 6361 /* Move any messages in the old socket's receive queue that are for the
6364 * peeled off association to the new socket's receive queue. 6362 * peeled off association to the new socket's receive queue.
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index e835da8fc091..060bba4567d2 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1637,8 +1637,15 @@ static int unix_dgram_recvmsg(struct kiocb *iocb, struct socket *sock,
1637 mutex_lock(&u->readlock); 1637 mutex_lock(&u->readlock);
1638 1638
1639 skb = skb_recv_datagram(sk, flags, noblock, &err); 1639 skb = skb_recv_datagram(sk, flags, noblock, &err);
1640 if (!skb) 1640 if (!skb) {
1641 unix_state_lock(sk);
1642 /* Signal EOF on disconnected non-blocking SEQPACKET socket. */
1643 if (sk->sk_type == SOCK_SEQPACKET && err == -EAGAIN &&
1644 (sk->sk_shutdown & RCV_SHUTDOWN))
1645 err = 0;
1646 unix_state_unlock(sk);
1641 goto out_unlock; 1647 goto out_unlock;
1648 }
1642 1649
1643 wake_up_interruptible_sync(&u->peer_wait); 1650 wake_up_interruptible_sync(&u->peer_wait);
1644 1651
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index b702bd8a3893..9a4cf2e45a15 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1344,6 +1344,7 @@ restart:
1344 xfrm_nr += pols[0]->xfrm_nr; 1344 xfrm_nr += pols[0]->xfrm_nr;
1345 1345
1346 switch (policy->action) { 1346 switch (policy->action) {
1347 default:
1347 case XFRM_POLICY_BLOCK: 1348 case XFRM_POLICY_BLOCK:
1348 /* Prohibit the flow */ 1349 /* Prohibit the flow */
1349 err = -EPERM; 1350 err = -EPERM;
diff --git a/security/dummy.c b/security/dummy.c
index 6d895ade73de..3ccfbbe973b6 100644
--- a/security/dummy.c
+++ b/security/dummy.c
@@ -426,7 +426,7 @@ static int dummy_file_mmap (struct file *file, unsigned long reqprot,
426 unsigned long addr, 426 unsigned long addr,
427 unsigned long addr_only) 427 unsigned long addr_only)
428{ 428{
429 if (addr < mmap_min_addr) 429 if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
430 return -EACCES; 430 return -EACCES;
431 return 0; 431 return 0;
432} 432}
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index f5f3e6da5da7..2fa483f26113 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -65,6 +65,7 @@ static DEFINE_MUTEX(sel_mutex);
65/* global data for booleans */ 65/* global data for booleans */
66static struct dentry *bool_dir = NULL; 66static struct dentry *bool_dir = NULL;
67static int bool_num = 0; 67static int bool_num = 0;
68static char **bool_pending_names;
68static int *bool_pending_values = NULL; 69static int *bool_pending_values = NULL;
69 70
70/* global data for classes */ 71/* global data for classes */
@@ -832,15 +833,16 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf,
832 ssize_t length; 833 ssize_t length;
833 ssize_t ret; 834 ssize_t ret;
834 int cur_enforcing; 835 int cur_enforcing;
835 struct inode *inode; 836 struct inode *inode = filep->f_path.dentry->d_inode;
837 unsigned index = inode->i_ino & SEL_INO_MASK;
838 const char *name = filep->f_path.dentry->d_name.name;
836 839
837 mutex_lock(&sel_mutex); 840 mutex_lock(&sel_mutex);
838 841
839 ret = -EFAULT; 842 if (index >= bool_num || strcmp(name, bool_pending_names[index])) {
840 843 ret = -EINVAL;
841 /* check to see if this file has been deleted */
842 if (!filep->f_op)
843 goto out; 844 goto out;
845 }
844 846
845 if (count > PAGE_SIZE) { 847 if (count > PAGE_SIZE) {
846 ret = -EINVAL; 848 ret = -EINVAL;
@@ -851,15 +853,13 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf,
851 goto out; 853 goto out;
852 } 854 }
853 855
854 inode = filep->f_path.dentry->d_inode; 856 cur_enforcing = security_get_bool_value(index);
855 cur_enforcing = security_get_bool_value(inode->i_ino&SEL_INO_MASK);
856 if (cur_enforcing < 0) { 857 if (cur_enforcing < 0) {
857 ret = cur_enforcing; 858 ret = cur_enforcing;
858 goto out; 859 goto out;
859 } 860 }
860
861 length = scnprintf(page, PAGE_SIZE, "%d %d", cur_enforcing, 861 length = scnprintf(page, PAGE_SIZE, "%d %d", cur_enforcing,
862 bool_pending_values[inode->i_ino&SEL_INO_MASK]); 862 bool_pending_values[index]);
863 ret = simple_read_from_buffer(buf, count, ppos, page, length); 863 ret = simple_read_from_buffer(buf, count, ppos, page, length);
864out: 864out:
865 mutex_unlock(&sel_mutex); 865 mutex_unlock(&sel_mutex);
@@ -872,9 +872,11 @@ static ssize_t sel_write_bool(struct file *filep, const char __user *buf,
872 size_t count, loff_t *ppos) 872 size_t count, loff_t *ppos)
873{ 873{
874 char *page = NULL; 874 char *page = NULL;
875 ssize_t length = -EFAULT; 875 ssize_t length;
876 int new_value; 876 int new_value;
877 struct inode *inode; 877 struct inode *inode = filep->f_path.dentry->d_inode;
878 unsigned index = inode->i_ino & SEL_INO_MASK;
879 const char *name = filep->f_path.dentry->d_name.name;
878 880
879 mutex_lock(&sel_mutex); 881 mutex_lock(&sel_mutex);
880 882
@@ -882,16 +884,19 @@ static ssize_t sel_write_bool(struct file *filep, const char __user *buf,
882 if (length) 884 if (length)
883 goto out; 885 goto out;
884 886
885 /* check to see if this file has been deleted */ 887 if (index >= bool_num || strcmp(name, bool_pending_names[index])) {
886 if (!filep->f_op) 888 length = -EINVAL;
887 goto out; 889 goto out;
890 }
888 891
889 if (count >= PAGE_SIZE) { 892 if (count >= PAGE_SIZE) {
890 length = -ENOMEM; 893 length = -ENOMEM;
891 goto out; 894 goto out;
892 } 895 }
896
893 if (*ppos != 0) { 897 if (*ppos != 0) {
894 /* No partial writes. */ 898 /* No partial writes. */
899 length = -EINVAL;
895 goto out; 900 goto out;
896 } 901 }
897 page = (char*)get_zeroed_page(GFP_KERNEL); 902 page = (char*)get_zeroed_page(GFP_KERNEL);
@@ -900,6 +905,7 @@ static ssize_t sel_write_bool(struct file *filep, const char __user *buf,
900 goto out; 905 goto out;
901 } 906 }
902 907
908 length = -EFAULT;
903 if (copy_from_user(page, buf, count)) 909 if (copy_from_user(page, buf, count))
904 goto out; 910 goto out;
905 911
@@ -910,8 +916,7 @@ static ssize_t sel_write_bool(struct file *filep, const char __user *buf,
910 if (new_value) 916 if (new_value)
911 new_value = 1; 917 new_value = 1;
912 918
913 inode = filep->f_path.dentry->d_inode; 919 bool_pending_values[index] = new_value;
914 bool_pending_values[inode->i_ino&SEL_INO_MASK] = new_value;
915 length = count; 920 length = count;
916 921
917out: 922out:
@@ -931,7 +936,7 @@ static ssize_t sel_commit_bools_write(struct file *filep,
931 size_t count, loff_t *ppos) 936 size_t count, loff_t *ppos)
932{ 937{
933 char *page = NULL; 938 char *page = NULL;
934 ssize_t length = -EFAULT; 939 ssize_t length;
935 int new_value; 940 int new_value;
936 941
937 mutex_lock(&sel_mutex); 942 mutex_lock(&sel_mutex);
@@ -940,10 +945,6 @@ static ssize_t sel_commit_bools_write(struct file *filep,
940 if (length) 945 if (length)
941 goto out; 946 goto out;
942 947
943 /* check to see if this file has been deleted */
944 if (!filep->f_op)
945 goto out;
946
947 if (count >= PAGE_SIZE) { 948 if (count >= PAGE_SIZE) {
948 length = -ENOMEM; 949 length = -ENOMEM;
949 goto out; 950 goto out;
@@ -958,6 +959,7 @@ static ssize_t sel_commit_bools_write(struct file *filep,
958 goto out; 959 goto out;
959 } 960 }
960 961
962 length = -EFAULT;
961 if (copy_from_user(page, buf, count)) 963 if (copy_from_user(page, buf, count))
962 goto out; 964 goto out;
963 965
@@ -982,11 +984,9 @@ static const struct file_operations sel_commit_bools_ops = {
982 .write = sel_commit_bools_write, 984 .write = sel_commit_bools_write,
983}; 985};
984 986
985/* partial revoke() from fs/proc/generic.c proc_kill_inodes */
986static void sel_remove_entries(struct dentry *de) 987static void sel_remove_entries(struct dentry *de)
987{ 988{
988 struct list_head *p, *node; 989 struct list_head *node;
989 struct super_block *sb = de->d_sb;
990 990
991 spin_lock(&dcache_lock); 991 spin_lock(&dcache_lock);
992 node = de->d_subdirs.next; 992 node = de->d_subdirs.next;
@@ -1006,18 +1006,6 @@ static void sel_remove_entries(struct dentry *de)
1006 } 1006 }
1007 1007
1008 spin_unlock(&dcache_lock); 1008 spin_unlock(&dcache_lock);
1009
1010 file_list_lock();
1011 list_for_each(p, &sb->s_files) {
1012 struct file * filp = list_entry(p, struct file, f_u.fu_list);
1013 struct dentry * dentry = filp->f_path.dentry;
1014
1015 if (dentry->d_parent != de) {
1016 continue;
1017 }
1018 filp->f_op = NULL;
1019 }
1020 file_list_unlock();
1021} 1009}
1022 1010
1023#define BOOL_DIR_NAME "booleans" 1011#define BOOL_DIR_NAME "booleans"
@@ -1036,7 +1024,9 @@ static int sel_make_bools(void)
1036 u32 sid; 1024 u32 sid;
1037 1025
1038 /* remove any existing files */ 1026 /* remove any existing files */
1027 kfree(bool_pending_names);
1039 kfree(bool_pending_values); 1028 kfree(bool_pending_values);
1029 bool_pending_names = NULL;
1040 bool_pending_values = NULL; 1030 bool_pending_values = NULL;
1041 1031
1042 sel_remove_entries(dir); 1032 sel_remove_entries(dir);
@@ -1078,16 +1068,17 @@ static int sel_make_bools(void)
1078 d_add(dentry, inode); 1068 d_add(dentry, inode);
1079 } 1069 }
1080 bool_num = num; 1070 bool_num = num;
1071 bool_pending_names = names;
1081 bool_pending_values = values; 1072 bool_pending_values = values;
1082out: 1073out:
1083 free_page((unsigned long)page); 1074 free_page((unsigned long)page);
1075 return ret;
1076err:
1084 if (names) { 1077 if (names) {
1085 for (i = 0; i < num; i++) 1078 for (i = 0; i < num; i++)
1086 kfree(names[i]); 1079 kfree(names[i]);
1087 kfree(names); 1080 kfree(names);
1088 } 1081 }
1089 return ret;
1090err:
1091 kfree(values); 1082 kfree(values);
1092 sel_remove_entries(dir); 1083 sel_remove_entries(dir);
1093 ret = -ENOMEM; 1084 ret = -ENOMEM;