]> git.hungrycats.org Git - linux/commitdiff
[ARM] Miscellaneous updates
authorRussell King <rmk@flint.arm.linux.org.uk>
Wed, 10 Jul 2002 18:01:55 +0000 (19:01 +0100)
committerRussell King <rmk@flint.arm.linux.org.uk>
Wed, 10 Jul 2002 18:01:55 +0000 (19:01 +0100)
- Fix missed cli()/sti() conversions.
- Fix SA1100 sleep code.
- Update small_page.c for changes to struct page.
- Clean up assabet/neponset initialisation.
- Clean up compiler warnings in iop310 build.
- Add missed bits from previous xscale cset.

18 files changed:
arch/arm/config.in
arch/arm/def-configs/neponset
arch/arm/mach-arc/small_page.c
arch/arm/mach-iop310/iq80310-pci.c
arch/arm/mach-sa1100/assabet.c
arch/arm/mach-sa1100/irq.c
arch/arm/mach-sa1100/pm.c
arch/arm/mach-sa1100/shannon.c
arch/arm/mach-sa1100/sleep.S
arch/arm/mach-sa1100/xp860.c
arch/arm/mm/fault-common.c
arch/arm/vmlinux-armo.lds.in
include/asm-arm/arch-sa1100/assabet.h
include/asm-arm/arch-sa1100/neponset.h [new file with mode: 0644]
include/asm-arm/arch-sa1100/pfs168.h
include/asm-arm/arch-sa1100/serial.h
include/asm-arm/glue.h
include/asm-arm/mach/serial_sa1100.h

index b5b9520bc2a41eb1f364f14ef0962a34377348c8..58348535603413c69a63eaa2695d5287da83f125 100644 (file)
@@ -153,18 +153,15 @@ if [ "$CONFIG_ARCH_EP7211" = "y" -o \
 fi
 endmenu
 
-if [ "$CONFIG_ARCH_IOP310" = "y" ]; then
-   mainmenu_option next_comment
-   comment 'IOP310 Implementation Options'
-   choice 'IOP310 System Type' \
-       "IQ80310        CONFIG_ARCH_IQ80310" IQ80310
-   comment 'IOP310 Chipset Features'
-   bool 'Support Intel 80312 Application Accelerator Unit (EXPERIMENTAL)' CONFIG_IOP310_AAU
-   bool 'Support Intel 80312 DMA (EXPERIMENTAL)' CONFIG_IOP310_DMA
-   bool 'Support Intel 80312 Messaging Unit (EXPERIMENTAL)' CONFIG_IOP310_MU
-   bool 'Support Intel 80312 Performance Monitor (EXPERIMENTAL)' CONFIG_IOP310_PMON
-   endmenu
-fi
+mainmenu_option next_comment
+comment 'IOP310 Implementation Options'
+dep_bool '  IQ80310' CONFIG_ARCH_IQ80310 $CONFIG_ARCH_IOP310
+comment 'IOP310 Chipset Features'
+dep_bool 'Support Intel 80312 Application Accelerator Unit (EXPERIMENTAL)' CONFIG_IOP310_AAU $CONFIG_ARCH_IOP310 $CONFIG_EXPERIMENTAL
+dep_bool 'Support Intel 80312 DMA (EXPERIMENTAL)' CONFIG_IOP310_DMA $CONFIG_ARCH_IOP310 $CONFIG_EXPERIMENTAL
+dep_bool 'Support Intel 80312 Messaging Unit (EXPERIMENTAL)' CONFIG_IOP310_MU $CONFIG_ARCH_IOP310 $CONFIG_EXPERIMENTAL
+dep_bool 'Support Intel 80312 Performance Monitor (EXPERIMENTAL)' CONFIG_IOP310_PMON $CONFIG_ARCH_IOP310 $CONFIG_EXPERIMENTAL
+endmenu
 
 # Definitions to make life easier
 if [ "$CONFIG_ARCH_ARCA5K" = "y" -o \
index 47d51bcdbd74ba592b8d5749edf5097f4226f194..1e762975f66a329ecee103234da611a405123272 100644 (file)
@@ -15,7 +15,14 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_OBSOLETE is not set
+
+#
+# General setup
+#
+CONFIG_NET=y
+CONFIG_SYSVIPC=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
 
 #
 # Loadable module support
@@ -27,6 +34,7 @@ CONFIG_MODULES=y
 #
 # System Type
 #
+# CONFIG_ARCH_ADIFCC is not set
 # CONFIG_ARCH_ANAKIN is not set
 # CONFIG_ARCH_ARCA5K is not set
 # CONFIG_ARCH_CLPS7500 is not set
@@ -36,6 +44,7 @@ CONFIG_MODULES=y
 # CONFIG_ARCH_CAMELOT is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP310 is not set
 # CONFIG_ARCH_L7200 is not set
 # CONFIG_ARCH_RPC is not set
 CONFIG_ARCH_SA1100=y
@@ -68,12 +77,16 @@ CONFIG_ASSABET_NEPONSET=y
 # CONFIG_SA1100_ADSBITSY is not set
 # CONFIG_SA1100_BRUTUS is not set
 # CONFIG_SA1100_CERF is not set
+# CONFIG_SA1100_H3100 is not set
 # CONFIG_SA1100_H3600 is not set
+# CONFIG_SA1100_H3800 is not set
+# CONFIG_SA1100_H3XXX is not set
 # CONFIG_SA1100_EXTENEX1 is not set
 # CONFIG_SA1100_FLEXANET is not set
 # CONFIG_SA1100_FREEBIRD is not set
 # CONFIG_SA1100_GRAPHICSCLIENT is not set
 # CONFIG_SA1100_GRAPHICSMASTER is not set
+# CONFIG_SA1100_BADGE4 is not set
 # CONFIG_SA1100_JORNADA720 is not set
 # CONFIG_SA1100_HUW_WEBPANEL is not set
 # CONFIG_SA1100_ITSY is not set
@@ -82,27 +95,46 @@ CONFIG_ASSABET_NEPONSET=y
 # CONFIG_SA1100_OMNIMETER is not set
 # CONFIG_SA1100_PANGOLIN is not set
 # CONFIG_SA1100_PLEB is not set
+# CONFIG_SA1100_PT_SYSTEM3 is not set
+# CONFIG_SA1100_SHANNON is not set
 # CONFIG_SA1100_SHERMAN is not set
 # CONFIG_SA1100_SIMPAD is not set
 # CONFIG_SA1100_PFS168 is not set
 # CONFIG_SA1100_VICTOR is not set
 # CONFIG_SA1100_XP860 is not set
 # CONFIG_SA1100_YOPY is not set
+# CONFIG_SA1100_STORK is not set
 CONFIG_SA1111=y
 CONFIG_FORCE_MAX_ZONEORDER=9
-CONFIG_SA1100_USB=m
-CONFIG_SA1100_USB_NETLINK=m
-CONFIG_SA1100_USB_CHAR=m
+# CONFIG_SA1100_USB is not set
+# CONFIG_SA1100_USB_NETLINK is not set
+# CONFIG_SA1100_USB_CHAR is not set
+# CONFIG_H3600_SLEEVE is not set
 
 #
 # CLPS711X/EP721X Implementations
 #
+# CONFIG_ARCH_AUTCPU12 is not set
 # CONFIG_ARCH_CDB89712 is not set
 # CONFIG_ARCH_CLEP7312 is not set
 # CONFIG_ARCH_EDB7211 is not set
 # CONFIG_ARCH_P720T is not set
+# CONFIG_ARCH_FORTUNET is not set
 # CONFIG_ARCH_EP7211 is not set
 # CONFIG_ARCH_EP7212 is not set
+
+#
+# IOP310 Implementation Options
+#
+# CONFIG_ARCH_IQ80310 is not set
+
+#
+# IOP310 Chipset Features
+#
+# CONFIG_IOP310_AAU is not set
+# CONFIG_IOP310_DMA is not set
+# CONFIG_IOP310_MU is not set
+# CONFIG_IOP310_PMON is not set
 # CONFIG_ARCH_ACORN is not set
 # CONFIG_FOOTBRIDGE is not set
 # CONFIG_FOOTBRIDGE_HOST is not set
@@ -115,22 +147,34 @@ CONFIG_CPU_32=y
 #
 # CONFIG_CPU_32v3 is not set
 CONFIG_CPU_32v4=y
+# CONFIG_CPU_32v5 is not set
 # CONFIG_CPU_ARM610 is not set
 # CONFIG_CPU_ARM710 is not set
 # CONFIG_CPU_ARM720T is not set
 # CONFIG_CPU_ARM920T is not set
+# CONFIG_CPU_ARM922T is not set
+# CONFIG_CPU_ARM926T is not set
 # CONFIG_CPU_ARM1020 is not set
 # CONFIG_CPU_SA110 is not set
 CONFIG_CPU_SA1100=y
-# CONFIG_ARM_THUMB is not set
-CONFIG_DISCONTIGMEM=y
+# CONFIG_CPU_XSCALE is not set
+# CONFIG_XSCALE_PMU is not set
+
+#
+# Processor Features
+#
 
 #
 # General setup
 #
+CONFIG_DISCONTIGMEM=y
 # CONFIG_PCI is not set
 CONFIG_ISA=y
 # CONFIG_ISA_DMA is not set
+# CONFIG_FIQ is not set
+# CONFIG_ZBOOT_ROM is not set
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
 CONFIG_CPU_FREQ=y
 CONFIG_HOTPLUG=y
 
@@ -138,14 +182,12 @@ CONFIG_HOTPLUG=y
 # PCMCIA/CardBus support
 #
 CONFIG_PCMCIA=y
+CONFIG_PCMCIA_PROBE=y
+# CONFIG_I82092 is not set
 # CONFIG_I82365 is not set
 # CONFIG_TCIC is not set
 # CONFIG_PCMCIA_CLPS6700 is not set
 CONFIG_PCMCIA_SA1100=y
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
 
 #
 # At least one math emulation must be selected
@@ -154,12 +196,14 @@ CONFIG_FPE_NWFPE=y
 # CONFIG_FPE_FASTFPE is not set
 CONFIG_KCORE_ELF=y
 # CONFIG_KCORE_AOUT is not set
-# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_AOUT=y
 CONFIG_BINFMT_ELF=y
 # CONFIG_BINFMT_MISC is not set
-# CONFIG_PM is not set
+CONFIG_PM=y
+# CONFIG_PREEMPT is not set
+CONFIG_APM=y
 # CONFIG_ARTHUR is not set
-CONFIG_CMDLINE=""
+CONFIG_CMDLINE="console=ttySA0,38400n8 console=tty1 cpufreq=221200 rw root=/dev/mtdblock3 load_ramdisk=1 prompt_ramdisk=0 mem=32M noinitrd initrd=0xc0800000,3M profile=2"
 CONFIG_LEDS=y
 CONFIG_LEDS_TIMER=y
 CONFIG_LEDS_CPU=y
@@ -173,30 +217,34 @@ CONFIG_ALIGNMENT_TRAP=y
 #
 # Memory Technology Devices (MTD)
 #
-CONFIG_MTD=m
+CONFIG_MTD=y
 # CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_BOOTLDR_PARTS=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_REDBOOT_PARTS=y
+# CONFIG_MTD_BOOTLDR_PARTS is not set
 # CONFIG_MTD_AFS_PARTS is not set
 
 #
 # User Modules And Translation Layers
 #
-CONFIG_MTD_CHAR=m
-CONFIG_MTD_BLOCK=m
-# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_MTD_CHAR is not set
+CONFIG_MTD_BLOCK=y
 # CONFIG_FTL is not set
 # CONFIG_NFTL is not set
 
 #
 # RAM/ROM/Flash chip drivers
 #
-CONFIG_MTD_CFI=m
+CONFIG_MTD_CFI=y
 # CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=m
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_CFI_INTELEXT=y
 # CONFIG_MTD_CFI_AMDSTD is not set
 # CONFIG_MTD_RAM is not set
 # CONFIG_MTD_ROM is not set
@@ -213,9 +261,12 @@ CONFIG_MTD_CFI_INTELEXT=m
 # CONFIG_MTD_NORA is not set
 # CONFIG_MTD_ARM_INTEGRATOR is not set
 # CONFIG_MTD_CDB89712 is not set
-CONFIG_MTD_SA1100=m
+CONFIG_MTD_SA1100=y
+# CONFIG_MTD_2PARTS_IPAQ is not set
 # CONFIG_MTD_DC21285 is not set
 # CONFIG_MTD_IQ80310 is not set
+# CONFIG_MTD_EPXA10DB is not set
+# CONFIG_MTD_FORTUNET is not set
 # CONFIG_MTD_PCI is not set
 
 #
@@ -256,10 +307,11 @@ CONFIG_MTD_SA1100=m
 # CONFIG_BLK_CPQ_CISS_DA is not set
 # CONFIG_CISS_SCSI_TAPE is not set
 # CONFIG_BLK_DEV_DAC960 is not set
-CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_LOOP is not set
 # CONFIG_BLK_DEV_NBD is not set
 CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_INITRD=y
 
 #
@@ -277,8 +329,9 @@ CONFIG_BLK_DEV_INITRD=y
 #
 # Networking options
 #
-# CONFIG_PACKET is not set
-# CONFIG_NETLINK is not set
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+# CONFIG_NETLINK_DEV is not set
 # CONFIG_NETFILTER is not set
 # CONFIG_FILTER is not set
 CONFIG_UNIX=y
@@ -288,17 +341,24 @@ CONFIG_INET=y
 # CONFIG_IP_PNP is not set
 # CONFIG_NET_IPIP is not set
 # CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
 # CONFIG_INET_ECN is not set
 # CONFIG_SYN_COOKIES is not set
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
 #
 # CONFIG_IPX is not set
 # CONFIG_ATALK is not set
+
+#
+# Appletalk devices
+#
+# CONFIG_DEV_APPLETALK is not set
 # CONFIG_DECNET is not set
 # CONFIG_BRIDGE is not set
 # CONFIG_X25 is not set
@@ -328,6 +388,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_BONDING is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
+# CONFIG_ETHERTAP is not set
 
 #
 # Ethernet (10 or 100Mbit)
@@ -337,7 +398,6 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
-# CONFIG_SUNLANCE is not set
 # CONFIG_SUNGEM is not set
 # CONFIG_NET_VENDOR_3COM is not set
 # CONFIG_LANCE is not set
@@ -360,11 +420,13 @@ CONFIG_SMC9194=y
 #
 # CONFIG_ACENIC is not set
 # CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
 # CONFIG_MYRI_SBUS is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
 # CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
 # CONFIG_PLIP is not set
@@ -389,6 +451,11 @@ CONFIG_SMC9194=y
 #
 # CONFIG_WAN is not set
 
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+
 #
 # PCMCIA network device support
 #
@@ -400,6 +467,7 @@ CONFIG_PCMCIA_PCNET=y
 # CONFIG_PCMCIA_NMCLAN is not set
 # CONFIG_PCMCIA_SMC91C92 is not set
 # CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
 # CONFIG_ARCNET_COM20020_CS is not set
 # CONFIG_PCMCIA_IBMTR is not set
 # CONFIG_NET_PCMCIA_RADIO is not set
@@ -417,38 +485,8 @@ CONFIG_PCMCIA_PCNET=y
 #
 # ATA/IDE/MFM/RLL support
 #
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_HD_IDE is not set
+# CONFIG_IDE is not set
 # CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_IDEDISK=y
-# CONFIG_IDEDISK_MULTI_MODE is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-# CONFIG_IDE_CHIPSETS is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
 
 #
 # SCSI support
@@ -467,37 +505,131 @@ CONFIG_BLK_DEV_IDECS=y
 #
 # ISDN subsystem
 #
-# CONFIG_ISDN is not set
+# CONFIG_ISDN_BOOL is not set
 
 #
-# Input core support
+# Input device support
 #
 CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
 CONFIG_INPUT_KEYBDEV=y
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
 # CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_TSLIBDEV=y
 # CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input I/O drivers
+#
+# CONFIG_GAMEPORT is not set
+CONFIG_SOUND_GAMEPORT=y
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+# CONFIG_INPUT_EMU10K1 is not set
+# CONFIG_GAMEPORT_VORTEX is not set
+# CONFIG_GAMEPORT_FM801 is not set
+# CONFIG_GAMEPORT_CS461x is not set
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_PARKBD is not set
+CONFIG_SERIO_SA1111=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_PS2SERKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE_USB is not set
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDDLER is not set
+# CONFIG_JOYSTICK_DB9 is not set
+# CONFIG_JOYSTICK_GAMECON is not set
+# CONFIG_JOYSTICK_TURBOGRAFX is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
 
 #
 # Character devices
 #
 CONFIG_VT=y
 # CONFIG_VT_CONSOLE is not set
-# CONFIG_SERIAL is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+# CONFIG_ROCKETPORT is not set
+# CONFIG_CYCLADES is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_DIGI is not set
+# CONFIG_ESPSERIAL is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+# CONFIG_SYNCLINK is not set
+# CONFIG_SYNCLINKMP is not set
+# CONFIG_N_HDLC is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALDRV is not set
 
 #
 # Serial drivers
 #
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_CONSOLE is not set
+CONFIG_SERIAL_8250_CS=y
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+# CONFIG_SERIAL_8250_SHARE_IRQ is not set
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_MULTIPORT is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_ATOMWIDE_SERIAL is not set
+# CONFIG_DUALSP_SERIAL is not set
 # CONFIG_SERIAL_ANAKIN is not set
 # CONFIG_SERIAL_ANAKIN_CONSOLE is not set
 # CONFIG_SERIAL_AMBA is not set
 # CONFIG_SERIAL_AMBA_CONSOLE is not set
 # CONFIG_SERIAL_CLPS711X is not set
 # CONFIG_SERIAL_CLPS711X_CONSOLE is not set
+# CONFIG_SERIAL_CLPS711X_OLD_NAME is not set
 # CONFIG_SERIAL_21285 is not set
 # CONFIG_SERIAL_21285_OLD is not set
 # CONFIG_SERIAL_21285_CONSOLE is not set
@@ -505,15 +637,6 @@ CONFIG_VT=y
 # CONFIG_SERIAL_UART00_CONSOLE is not set
 CONFIG_SERIAL_SA1100=y
 CONFIG_SERIAL_SA1100_CONSOLE=y
-CONFIG_SA1100_DEFAULT_BAUDRATE=9600
-CONFIG_SERIAL_8250=m
-# CONFIG_SERIAL_8250_CONSOLE is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_MANY_PORTS is not set
-# CONFIG_SERIAL_8250_SHARE_IRQ is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-# CONFIG_SERIAL_8250_MULTIPORT is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_UNIX98_PTYS=y
@@ -522,71 +645,61 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # I2C support
 #
-# CONFIG_I2C is not set
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_PHILIPSPAR is not set
+# CONFIG_I2C_ELV is not set
+# CONFIG_I2C_VELLEMAN is not set
+CONFIG_I2C_BIT_SA1100_GPIO=y
+# CONFIG_I2C_ALGOPCF is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_PROC=y
 
 #
 # L3 serial bus support
 #
-# CONFIG_L3 is not set
-# CONFIG_L3_ALGOBIT is not set
-# CONFIG_L3_BIT_SA1100_GPIO is not set
+CONFIG_L3=y
+CONFIG_L3_ALGOBIT=y
+CONFIG_L3_BIT_SA1100_GPIO=y
 
 #
 # Other L3 adapters
 #
-# CONFIG_L3_SA1111 is not set
-# CONFIG_BIT_SA1100_GPIO is not set
+CONFIG_L3_SA1111=y
+CONFIG_BIT_SA1100_GPIO=y
 
 #
 # Mice
 #
 # CONFIG_BUSMOUSE is not set
 # CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-# CONFIG_INPUT_NS558 is not set
-# CONFIG_INPUT_LIGHTNING is not set
-# CONFIG_INPUT_PCIGAME is not set
-# CONFIG_INPUT_CS461X is not set
-# CONFIG_INPUT_EMU10K1 is not set
-# CONFIG_INPUT_SERIO is not set
-# CONFIG_INPUT_SERPORT is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_ANALOG is not set
-# CONFIG_INPUT_A3D is not set
-# CONFIG_INPUT_ADI is not set
-# CONFIG_INPUT_COBRA is not set
-# CONFIG_INPUT_GF2K is not set
-# CONFIG_INPUT_GRIP is not set
-# CONFIG_INPUT_INTERACT is not set
-# CONFIG_INPUT_TMDC is not set
-# CONFIG_INPUT_SIDEWINDER is not set
-# CONFIG_INPUT_IFORCE_USB is not set
-# CONFIG_INPUT_IFORCE_232 is not set
-# CONFIG_INPUT_WARRIOR is not set
-# CONFIG_INPUT_MAGELLAN is not set
-# CONFIG_INPUT_SPACEORB is not set
-# CONFIG_INPUT_SPACEBALL is not set
-# CONFIG_INPUT_STINGER is not set
-# CONFIG_INPUT_DB9 is not set
-# CONFIG_INPUT_GAMECON is not set
-# CONFIG_INPUT_TURBOGRAFX is not set
 # CONFIG_QIC02_TAPE is not set
 
 #
 # Watchdog Cards
 #
-# CONFIG_WATCHDOG is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_WDT is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_PCWATCHDOG is not set
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_21285_WATCHDOG is not set
+# CONFIG_977_WATCHDOG is not set
+CONFIG_SA1100_WATCHDOG=m
+# CONFIG_EUROTECH_WDT is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_I810_TCO is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_60XX_WDT is not set
+# CONFIG_W83877F_WDT is not set
+# CONFIG_MACHZ_WDT is not set
 # CONFIG_INTEL_RNG is not set
 # CONFIG_NVRAM is not set
 # CONFIG_RTC is not set
-# CONFIG_SA1100_RTC is not set
+CONFIG_SA1100_RTC=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
@@ -601,8 +714,7 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # PCMCIA character devices
 #
-CONFIG_PCMCIA_SERIAL_CS=m
-# CONFIG_MWAVE is not set
+# CONFIG_SYNCLINK_CS is not set
 
 #
 # Multimedia devices
@@ -613,35 +725,41 @@ CONFIG_PCMCIA_SERIAL_CS=m
 # File systems
 #
 # CONFIG_QUOTA is not set
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
 # CONFIG_AUTOFS_FS is not set
 # CONFIG_AUTOFS4_FS is not set
 # CONFIG_REISERFS_FS is not set
 # CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
 # CONFIG_ADFS_FS is not set
 # CONFIG_ADFS_FS_RW is not set
 # CONFIG_AFFS_FS is not set
 # CONFIG_HFS_FS is not set
 # CONFIG_BFS_FS is not set
-# CONFIG_CMS_FS is not set
 # CONFIG_EXT3_FS is not set
 # CONFIG_JBD is not set
 # CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
 # CONFIG_UMSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
+CONFIG_VFAT_FS=m
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS=y
 CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_JFFS2_FS_NAND is not set
 # CONFIG_CRAMFS is not set
 # CONFIG_TMPFS is not set
-# CONFIG_RAMFS is not set
+CONFIG_RAMFS=y
 # CONFIG_ISO9660_FS is not set
 # CONFIG_JOLIET is not set
 # CONFIG_ZISOFS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
 # CONFIG_MINIX_FS is not set
-# CONFIG_FREEVXFS_FS is not set
+# CONFIG_VXFS_FS is not set
 # CONFIG_NTFS_FS is not set
 # CONFIG_NTFS_DEBUG is not set
 # CONFIG_HPFS_FS is not set
@@ -670,8 +788,10 @@ CONFIG_NFS_FS=y
 # CONFIG_ROOT_NFS is not set
 # CONFIG_NFSD is not set
 # CONFIG_NFSD_V3 is not set
+# CONFIG_NFSD_TCP is not set
 CONFIG_SUNRPC=y
 CONFIG_LOCKD=y
+# CONFIG_EXPORTFS is not set
 # CONFIG_SMB_FS is not set
 # CONFIG_NCP_FS is not set
 # CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -683,7 +803,6 @@ CONFIG_LOCKD=y
 # CONFIG_NCPFS_NLS is not set
 # CONFIG_NCPFS_EXTRAS is not set
 # CONFIG_ZISOFS_FS is not set
-# CONFIG_ZLIB_FS_INFLATE is not set
 
 #
 # Partition Types
@@ -694,15 +813,12 @@ CONFIG_PARTITION_ADVANCED=y
 # CONFIG_AMIGA_PARTITION is not set
 # CONFIG_ATARI_PARTITION is not set
 # CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_MSDOS_PARTITION is not set
 # CONFIG_LDM_PARTITION is not set
 # CONFIG_SGI_PARTITION is not set
 # CONFIG_ULTRIX_PARTITION is not set
 # CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
 # CONFIG_SMB_NLS is not set
 CONFIG_NLS=y
 
@@ -710,7 +826,7 @@ CONFIG_NLS=y
 # Native Language Support
 #
 CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_437=m
 # CONFIG_NLS_CODEPAGE_737 is not set
 # CONFIG_NLS_CODEPAGE_775 is not set
 # CONFIG_NLS_CODEPAGE_850 is not set
@@ -731,8 +847,9 @@ CONFIG_NLS_CODEPAGE_437=y
 # CONFIG_NLS_CODEPAGE_949 is not set
 # CONFIG_NLS_CODEPAGE_874 is not set
 # CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
 # CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
+CONFIG_NLS_ISO8859_1=m
 # CONFIG_NLS_ISO8859_2 is not set
 # CONFIG_NLS_ISO8859_3 is not set
 # CONFIG_NLS_ISO8859_4 is not set
@@ -771,16 +888,21 @@ CONFIG_FBCON_CFB8=y
 CONFIG_FBCON_CFB16=y
 CONFIG_FBCON_FONTWIDTH8_ONLY=y
 CONFIG_FBCON_FONTS=y
-CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x8 is not set
 # CONFIG_FONT_8x16 is not set
 # CONFIG_FONT_SUN8x16 is not set
 # CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
+CONFIG_FONT_ACORN_8x8=y
 
 #
 # Sound
 #
 CONFIG_SOUND=y
+
+#
+# Open Sound System
+#
+CONFIG_SOUND_PRIME=y
 # CONFIG_SOUND_BT878 is not set
 # CONFIG_SOUND_CMPCI is not set
 # CONFIG_SOUND_EMU10K1 is not set
@@ -801,16 +923,23 @@ CONFIG_SOUND=y
 # CONFIG_SOUND_VIA82CXXX is not set
 # CONFIG_MIDI_VIA82CXXX is not set
 CONFIG_SOUND_SA1100=y
-# CONFIG_SOUND_UDA1341 is not set
-# CONFIG_SOUND_ASSABET_UDA1341 is not set
+CONFIG_SOUND_UDA1341=y
+CONFIG_SOUND_ASSABET_UDA1341=y
 # CONFIG_SOUND_H3600_UDA1341 is not set
 # CONFIG_SOUND_PANGOLIN_UDA1341 is not set
-# CONFIG_SOUND_SA1111_UDA1341 is not set
+CONFIG_SOUND_SA1111_UDA1341=y
+# CONFIG_SOUND_STORK_UDA1341 is not set
 # CONFIG_SOUND_SA1100SSP is not set
+# CONFIG_SOUND_STORK_AC97 is not set
 # CONFIG_SOUND_OSS is not set
 # CONFIG_SOUND_WAVEARTIST is not set
 # CONFIG_SOUND_TVMIXER is not set
 
+#
+# Advanced Linux Sound Architecture
+#
+# CONFIG_SND is not set
+
 #
 # Multimedia Capabilities Port drivers
 #
@@ -823,37 +952,43 @@ CONFIG_MCP_UCB1200_TS=y
 #
 # Console Switches
 #
-CONFIG_SWITCHES=y
-CONFIG_SWITCHES_SA1100=y
-CONFIG_SWITCHES_UCB1X00=y
+# CONFIG_SWITCHES is not set
 
 #
 # USB support
 #
-CONFIG_USB=y
+CONFIG_USB=m
 CONFIG_USB_DEBUG=y
 
 #
 # Miscellaneous USB options
 #
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_BANDWIDTH is not set
+CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_LONG_TIMEOUT is not set
-# CONFIG_USB_LARGE_CONFIG is not set
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
 
 #
-# USB Controllers
+# USB Host Controller Drivers
 #
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-# CONFIG_USB_OHCI is not set
-CONFIG_USB_OHCI_SA1111=y
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD_ALT is not set
+CONFIG_USB_OHCI_SA1111=m
+# CONFIG_USB_SL811HS is not set
 
 #
 # USB Device Class drivers
 #
 # CONFIG_USB_AUDIO is not set
-# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_BLUETOOTH_TTY is not set
+# CONFIG_USB_MIDI is not set
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+#   SCSI support is needed for USB Storage
+#
 # CONFIG_USB_STORAGE is not set
 # CONFIG_USB_STORAGE_DEBUG is not set
 # CONFIG_USB_STORAGE_DATAFAB is not set
@@ -862,21 +997,23 @@ CONFIG_USB_OHCI_SA1111=y
 # CONFIG_USB_STORAGE_DPCM is not set
 # CONFIG_USB_STORAGE_HP8200e is not set
 # CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
 # CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
 
 #
 # USB Human Interface Devices (HID)
 #
-CONFIG_USB_HID=y
+# CONFIG_USB_HID is not set
+# CONFIG_USB_HIDINPUT is not set
 # CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
 # CONFIG_USB_WACOM is not set
 
 #
 # USB Imaging devices
 #
-# CONFIG_USB_DC2XX is not set
 # CONFIG_USB_MDC800 is not set
 # CONFIG_USB_SCANNER is not set
 # CONFIG_USB_MICROTEK is not set
@@ -885,18 +1022,28 @@ CONFIG_USB_HID=y
 #
 # USB Multimedia devices
 #
+# CONFIG_USB_DABUSB is not set
 
 #
 #   Video4Linux support is needed for USB Multimedia device support
 #
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
 
 #
 # USB Network adaptors
 #
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_KAWETH is not set
 # CONFIG_USB_CATC is not set
 # CONFIG_USB_CDCETHER is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
 # CONFIG_USB_USBNET is not set
 
 #
@@ -915,6 +1062,7 @@ CONFIG_USB_HID=y
 # CONFIG_USB_SERIAL_EMPEG is not set
 # CONFIG_USB_SERIAL_FTDI_SIO is not set
 # CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
 # CONFIG_USB_SERIAL_IR is not set
 # CONFIG_USB_SERIAL_EDGEPORT is not set
 # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
@@ -926,9 +1074,14 @@ CONFIG_USB_HID=y
 # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
 # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
 # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
 # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KLSI is not set
 # CONFIG_USB_SERIAL_MCT_U232 is not set
 # CONFIG_USB_SERIAL_PL2303 is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
 # CONFIG_USB_SERIAL_CYBERJACK is not set
 # CONFIG_USB_SERIAL_XIRCOM is not set
 # CONFIG_USB_SERIAL_OMNINET is not set
@@ -936,8 +1089,11 @@ CONFIG_USB_HID=y
 #
 # USB Miscellaneous drivers
 #
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_TIGL is not set
+# CONFIG_USB_AUERSWALD is not set
 # CONFIG_USB_RIO500 is not set
-# CONFIG_USB_ID75 is not set
+# CONFIG_USB_BRLVGER is not set
 
 #
 # Bluetooth support
@@ -948,13 +1104,22 @@ CONFIG_USB_HID=y
 # Kernel hacking
 #
 # CONFIG_NO_FRAME_POINTER is not set
-CONFIG_DEBUG_ERRORS=y
 CONFIG_DEBUG_USER=y
 # CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_SLAB=y
 CONFIG_MAGIC_SYSRQ=y
 # CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_NO_PGT_CACHE is not set
-# CONFIG_DEBUG_LL is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
 # CONFIG_DEBUG_DC21285_PORT is not set
 # CONFIG_DEBUG_CLPS711X_UART2 is not set
+
+#
+# Library routines
+#
+# CONFIG_CRC32 is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
index 39efa5551b088d0d7da11a7a0dc5435f90ef6c21..f17cc1ecfa827cd080e0b2cce276106c3162c795 100644 (file)
@@ -50,7 +50,7 @@
  */
 
 struct order {
-       struct page *queue;
+       struct list_head queue;
        unsigned int mask;              /* (1 << shift) - 1             */
        unsigned int shift;             /* (1 << shift) size of page    */
        unsigned int block_mask;        /* nr_blocks - 1                */
@@ -60,10 +60,10 @@ struct order {
 
 static struct order orders[] = {
 #if PAGE_SIZE == 4096
-       { NULL, 2047, 11,  1, 0x00000003 }
+       { LIST_HEAD_INIT(orders[0].queue), 2047, 11,  1, 0x00000003 }
 #elif PAGE_SIZE == 32768
-       { NULL, 2047, 11, 15, 0x0000ffff },
-       { NULL, 8191, 13,  3, 0x0000000f }
+       { LIST_HEAD_INIT(orders[0].queue), 2047, 11, 15, 0x0000ffff },
+       { LIST_HEAD_INIT(orders[1].queue), 8191, 13,  3, 0x0000000f }
 #else
 #error unsupported page size
 #endif
@@ -75,70 +75,49 @@ static struct order orders[] = {
 
 static spinlock_t small_page_lock = SPIN_LOCK_UNLOCKED;
 
-static void add_page_to_queue(struct page *page, struct page **p)
-{
-#ifdef PEDANTIC
-       if (page->pprev_hash)
-               PAGE_BUG(page);
-#endif
-       page->next_hash = *p;
-       if (*p)
-               (*p)->pprev_hash = &page->next_hash;
-       *p = page;
-       page->pprev_hash = p;
-}
-
-static void remove_page_from_queue(struct page *page)
-{
-       if (page->pprev_hash) {
-               if (page->next_hash)
-                       page->next_hash->pprev_hash = page->pprev_hash;
-               *page->pprev_hash = page->next_hash;
-               page->pprev_hash = NULL;
-       }
-}
-
 static unsigned long __get_small_page(int priority, struct order *order)
 {
        unsigned long flags;
        struct page *page;
        int offset;
 
-       if (!order->queue)
-               goto need_new_page;
+       do {
+               spin_lock_irqsave(&small_page_lock, flags);
+
+               if (list_empty(&order->queue))
+                       goto need_new_page;
 
-       spin_lock_irqsave(&small_page_lock, flags);
-       page = order->queue;
+               page = list_entry(order->queue.next, struct page, list);
 again:
 #ifdef PEDANTIC
-       if (USED_MAP(page) & ~order->all_used)
-               PAGE_BUG(page);
+               if (USED_MAP(page) & ~order->all_used)
+                       PAGE_BUG(page);
 #endif
-       offset = ffz(USED_MAP(page));
-       SET_USED(page, offset);
-       if (USED_MAP(page) == order->all_used)
-               remove_page_from_queue(page);
-       spin_unlock_irqrestore(&small_page_lock, flags);
+               offset = ffz(USED_MAP(page));
+               SET_USED(page, offset);
+               if (USED_MAP(page) == order->all_used)
+                       list_del_init(&page->list);
+               spin_unlock_irqrestore(&small_page_lock, flags);
 
-       return (unsigned long) page_address(page) + (offset << order->shift);
+               return (unsigned long) page_address(page) + (offset << order->shift);
 
 need_new_page:
-       page = alloc_page(priority);
-
-       spin_lock_irqsave(&small_page_lock, flags);
-       if (!order->queue) {
-               if (!page)
-                       goto no_page;
-               SetPageReserved(page);
-               USED_MAP(page) = 0;
-               cli();
-               add_page_to_queue(page, &order->queue);
-       } else {
+               spin_unlock_irqrestore(&small_page_lock, flags);
+               page = alloc_page(priority);
+               spin_lock_irqsave(&small_page_lock, flags);
+
+               if (list_empty(&order->queue)) {
+                       if (!page)
+                               goto no_page;
+                       SetPageReserved(page);
+                       USED_MAP(page) = 0;
+                       list_add(&page->list, &order->queue);
+                       goto again;
+               }
+
+               spin_unlock_irqrestore(&small_page_lock, flags);
                __free_page(page);
-               cli();
-               page = order->queue;
-       }
-       goto again;
+       } while (1);
 
 no_page:
        spin_unlock_irqrestore(&small_page_lock, flags);
@@ -173,7 +152,7 @@ static void __free_small_page(unsigned long spage, struct order *order)
                spin_lock_irqsave(&small_page_lock, flags);
 
                if (USED_MAP(page) == order->all_used)
-                       add_page_to_queue(page, &order->queue);
+                       list_add(&page->list, &order->queue);
 
                if (!TEST_AND_CLEAR_USED(page, spage))
                        goto already_free;
@@ -189,7 +168,7 @@ free_page:
        /*
         * unlink the page from the small page queue and free it
         */
-       remove_page_from_queue(page);
+       list_del_init(&page->list);
        spin_unlock_irqrestore(&small_page_lock, flags);
        ClearPageReserved(page);
        __free_page(page);
index b6f6b2308a694ae34b04bc2fd70fa388b59dbb73..462df2c098bdff174c87ad31d2a742d5ce66236e 100644 (file)
  * format for those systems that do not already have PCI
  * interrupts properly routed.  We assume 1 <= pin <= 4
  */
-#define PCI_IRQ_TABLE_LOOKUP(minid,maxid)                       \
-({ int _ctl_ = -1;                                              \
-   if (idsel >= minid && idsel <= maxid && pin >= 1 && pin <= 4) \
-      _ctl_ = pci_irq_table[idsel - minid][pin-1];              \
+#define PCI_IRQ_TABLE_LOOKUP(minid,maxid)      \
+({ int _ctl_ = -1;                             \
+   unsigned int _idsel = idsel - minid;                \
+   if (_idsel <= maxid)                                \
+      _ctl_ = pci_irq_table[_idsel][pin-1];    \
    _ctl_; })
 
 #define INTA   IRQ_IQ80310_INTA
@@ -64,6 +65,8 @@ iq80310_pri_map_irq(struct pci_dev *dev, u8 idsel, u8 pin)
 {
        irq_table *pci_irq_table;
 
+       BUG_ON(pin < 1 || pin > 4);
+
        if (!system_rev) {
                pci_irq_table = pci_pri_d_irq_table;
        } else {
@@ -99,6 +102,8 @@ iq80310_sec_map_irq(struct pci_dev *dev, u8 idsel, u8 pin)
 {
        irq_table *pci_irq_table;
 
+       BUG_ON(pin < 1 || pin > 4);
+
        if (!system_rev) {
                pci_irq_table = pci_sec_d_irq_table;
        } else {
index 92034993e3e062cedcfc42ee1506241c687e695c..f6ab3d2415c0bfec2333cd4eccd6cdb61db178fa 100644 (file)
@@ -88,9 +88,21 @@ static int __init assabet_init(void)
                return -EINVAL;
 
        /*
-        * Set the IRQ edges
+        * Ensure that these pins are set as outputs and are driving
+        * logic 0.  This ensures that we won't inadvertently toggle
+        * the WS latch in the CPLD, and we don't float causing
+        * excessive power drain.  --rmk
         */
-       set_irq_type(IRQ_GPIO23, IRQT_RISING);  /* UCB1300 */
+       GPDR |= GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
+       GPCR = GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
+
+       /*
+        * Set up registers for sleep mode.
+        */
+       PWER = PWER_GPIO0;
+       PGSR = 0;
+       PCFR = 0;
+       PSDR = 0;
 
        sa1100fb_lcd_power = assabet_lcd_power;
        sa1100fb_backlight_power = assabet_backlight_power;
@@ -254,13 +266,19 @@ static struct map_desc assabet_io_desc[] __initdata = {
 
 static void __init assabet_map_io(void)
 {
-       extern void neponset_map_io(void);
-
        sa1100_map_io();
        iotable_init(assabet_io_desc, ARRAY_SIZE(assabet_io_desc));
 
+       /*
+        * Set SUS bit in SDCR0 so serial port 1 functions.
+        * Its called GPCLKR0 in my SA1110 manual.
+        */
+       Ser1SDCR0 |= SDCR0_SUS;
+
        if (machine_has_neponset()) {
 #ifdef CONFIG_ASSABET_NEPONSET
+               extern void neponset_map_io(void);
+
                /*
                 * We map Neponset registers even if it isn't present since
                 * many drivers will try to probe their stuff (and fail).
@@ -279,33 +297,11 @@ static void __init assabet_map_io(void)
                 */
                sa1100_register_uart(0, 3);
                sa1100_register_uart(2, 1);
-               /*
-                * Set SUS bit in SDCR0 so serial port 1 functions.
-                * Its called GPCLKR0 in my SA1110 manual.
-                */
-               Ser1SDCR0 |= SDCR0_SUS;
        } else {
                sa1100_register_uart_fns(&assabet_port_fns);
                sa1100_register_uart(0, 1);     /* com port */
                sa1100_register_uart(2, 3);     /* radio module */
        }
-
-       /*
-        * Ensure that these pins are set as outputs and are driving
-        * logic 0.  This ensures that we won't inadvertently toggle
-        * the WS latch in the CPLD, and we don't float causing
-        * excessive power drain.  --rmk
-        */
-       GPDR |= GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
-       GPCR = GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
-
-       /*
-        * Set up registers for sleep mode.
-        */
-       PWER = PWER_GPIO0;
-       PGSR = 0;
-       PCFR = 0;
-       PSDR = 0;
 }
 
 
index 9c442c5d43ec1167ff3c0d1e9b90f1870802e995..b2766dd7351a70bbc04127d5b327c3bb6984f41b 100644 (file)
@@ -58,7 +58,7 @@ static int sa1100_gpio_type(unsigned int irq, unsigned int type)
        if (type == IRQT_PROBE) {
                if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask)
                        return 0;
-               type == __IRQT_RISEDGE | __IRQT_FALEDGE;
+               type = __IRQT_RISEDGE | __IRQT_FALEDGE;
        }
 
        if (type & __IRQT_RISEDGE) {
index 59e0cb8d7fcccd8b6699f6ee2da0171bf79eb756..4134f92ad910b17bd30644a3b88f87cb1414ff8a 100644 (file)
@@ -73,7 +73,7 @@ int pm_do_suspend(void)
 {
        unsigned long sleep_save[SLEEP_SAVE_SIZE];
 
-       cli();
+       local_irq_disable();
 
        leds_event(led_stop);
 
@@ -157,7 +157,7 @@ int pm_do_suspend(void)
 
        leds_event(led_start);
 
-       sti();
+       local_irq_enable();
 
        /*
         * Restore the CPU frequency settings.
index 5b9f5b22f3a8fe8cc12c1d81530aea165d9045f1..0dbe474c7611c460cb92e9cfd0f437d2315a4dfa 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/serial_sa1100.h>
+#include <asm/arch/shannon.h>
 
 #include "generic.h"
 
@@ -23,13 +24,16 @@ static void __init shannon_map_io(void)
 
        sa1100_register_uart(0, 3);
        sa1100_register_uart(1, 1);
+
        Ser1SDCR0 |= SDCR0_SUS;
        GAFR |= (GPIO_UART_TXD | GPIO_UART_RXD);
-       GPDR |= GPIO_UART_TXD;
+       GPDR |= GPIO_UART_TXD | SHANNON_GPIO_CODEC_RESET;
        GPDR &= ~GPIO_UART_RXD;
        PPAR |= PPAR_UPR;
 
-       set_GPIO_IRQ_edge(SHANNON_GPIO_IRQ_CODEC);
+       /* reset the codec */
+       GPCR = SHANNON_GPIO_CODEC_RESET;
+       GPSR = SHANNON_GPIO_CODEC_RESET;
 }
 
 MACHINE_START(SHANNON, "Shannon (AKA: Tuxscreen)")
index 033609b833df50cd15c70fc58d4613276fe44f11..d2235f1e1d8e2f5f4c3b1b6566d56d886b68a8d2 100644 (file)
@@ -44,7 +44,8 @@ ENTRY(sa1100_cpu_suspend)
        mrc     p15, 0, r7, c1, c0, 0           @ control reg
 
        @ store them plus current virtual stack ptr on stack
-       stmfd   sp!, {r4 - r7, sp}
+       mov     r8, sp
+       stmfd   sp!, {r4 - r8}
 
        @ preserve phys address of stack
        mov     r0, sp
index 6b9af10bfb9e4ce8d6a71b7725aaa4c8ee080a19..8e7a46c0d3a0c8c5b6e5e7d473670039ddcca241 100644 (file)
@@ -22,7 +22,7 @@
 
 static void xp860_power_off(void)
 {
-       cli();
+       local_irq_disable();
        GPDR |= GPIO_GPIO20;
        GPSR = GPIO_GPIO20;
        mdelay(1000);
index 37c2d96302c4ed65856caad953241415f68a13e2..2feafb6d40dc60d8038f09bf650c672398486eb4 100644 (file)
 #define READ_FAULT(m)          (!((m) & FAULT_CODE_WRITE))
 #else
 /*
- * On 32-bit processors, we define "mode" to be zero when reading,
- * non-zero when writing.  This now ties up nicely with the polarity
- * of the 26-bit machines, and also means that we avoid the horrible
- * gcc code for "int val = !other_val;".
+ * "code" is actually the FSR register.  Bit 11 set means the
+ * isntruction was performing a write.
  */
-#define DO_COW(code)           ((code) & (1 << 8))
+#define DO_COW(code)           ((code) & (1 << 11))
 #define READ_FAULT(code)       (!DO_COW(code))
 #endif
 
@@ -56,7 +54,7 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
 
        printk(KERN_ALERT "pgd = %p\n", mm->pgd);
        pgd = pgd_offset(mm, addr);
-       printk(KERN_ALERT "*pgd = %08lx", pgd_val(*pgd));
+       printk(KERN_ALERT "*pgd=%08lx", pgd_val(*pgd));
 
        do {
                pmd_t *pmd;
@@ -71,7 +69,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
                }
 
                pmd = pmd_offset(pgd, addr);
-               printk(", *pmd = %08lx", pmd_val(*pmd));
+#if PTRS_PER_PMD != 1
+               printk(", *pmd=%08lx", pmd_val(*pmd));
+#endif
 
                if (pmd_none(*pmd))
                        break;
@@ -84,9 +84,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
 #ifndef CONFIG_HIGHMEM
                /* We must not map this if we have highmem enabled */
                pte = pte_offset_map(pmd, addr);
-               printk(", *pte = %08lx", pte_val(*pte));
+               printk(", *pte=%08lx", pte_val(*pte));
 #ifdef CONFIG_CPU_32
-               printk(", *ppte = %08lx", pte_val(pte[-PTRS_PER_PTE]));
+               printk(", *ppte=%08lx", pte_val(pte[-PTRS_PER_PTE]));
 #endif
                pte_unmap(pte);
 #endif
index 838d82d3e7222019af1913a1a7f16d8345b2d114..01a88505d153d7563d7513b3d798f2d9e776dbc7 100644 (file)
@@ -8,10 +8,9 @@ jiffies = jiffies_64;
 SECTIONS
 {
        . = TEXTADDR;
-
-       .init : {
+       .init : {                       /* Init code and data           */
                _stext = .;
-               __init_begin = .;       /* Init code and data           */
+               __init_begin = .;
                        *(.text.init)
                __proc_info_begin = .;
                        *(.proc.info)
@@ -50,7 +49,7 @@ SECTIONS
                *(.exitcall.exit)
        }
 
-       .text : {
+       .text : {                       /* Real text segment            */
                _text = .;              /* Text and read-only data      */
                        *(.text)
                        *(.fixup)
@@ -59,19 +58,24 @@ SECTIONS
                        *(.rodata.*)
                        *(.glue_7)
                        *(.glue_7t)
-                       *(.kstrtab)
-               . = ALIGN(16);          /* Exception table              */
+               *(.got)                 /* Global offset table          */
+
+               _etext = .;             /* End of text section          */
+       }
+
+       .kstrtab : { *(.kstrtab) }
+
+       . = ALIGN(16);
+       __ex_table : {                  /* Exception table              */
                __start___ex_table = .;
                        *(__ex_table)
                __stop___ex_table = .;
+       }
 
-               __start___ksymtab = .;  /* Kernel symbol table          */
+       __ksymtab : {                   /* Kernel symbol table          */
+               __start___ksymtab = .;
                        *(__ksymtab)
                __stop___ksymtab = .;
-
-               *(.got)                 /* Global offset table          */
-
-               _etext = .;             /* End of text section          */
        }
 
        .data : {
@@ -90,14 +94,12 @@ SECTIONS
                _edata = .;
        }
 
-
        .bss : {
                __bss_start = .;        /* BSS                          */
                *(.bss)
                *(COMMON)
                _end = . ;
        }
-
                                        /* Stabs debugging sections.    */
        .stab 0 : { *(.stab) }
        .stabstr 0 : { *(.stabstr) }
index 35754657b1e3ef8a7daced9368ea33746e2efe7b..1f59b368c3f68334364997b0c500a1e3862bceac 100644 (file)
 
 #define ASSABET_SCR_INIT       -1
 
+extern unsigned long SCR_value;
+
+#ifdef CONFIG_ASSABET_NEPONSET
+#define machine_has_neponset()  ((SCR_value & ASSABET_SCR_SA1111) == 0)
+#else
+#define machine_has_neponset() (0)
+#endif
 
 /* Board Control Register */
 
@@ -57,8 +64,6 @@
 #define ASSABET_BCR_RAD_ON     (1<<22) /* Radio Power On */
 #define ASSABET_BCR_SPK_OFF    (1<<23) /* 1 = Speaker amplifier power off */
 
-extern unsigned long SCR_value;
-
 #ifdef CONFIG_SA1100_ASSABET
 extern void ASSABET_BCR_frob(unsigned int mask, unsigned int set);
 #else
@@ -98,70 +103,4 @@ extern void ASSABET_BCR_frob(unsigned int mask, unsigned int set);
 #define ASSABET_IRQ_GPIO_CF_BVD2       IRQ_GPIO24
 #define ASSABET_IRQ_GPIO_CF_BVD1       IRQ_GPIO25
 
-
-/*
- * Neponset definitions: 
- */
-
-#define NEPONSET_CPLD_BASE      (0x10000000)
-#define Nep_p2v( x )            ((x) - NEPONSET_CPLD_BASE + 0xf3000000)
-#define Nep_v2p( x )            ((x) - 0xf3000000 + NEPONSET_CPLD_BASE)
-
-#define _IRR                    0x10000024      /* Interrupt Reason Register */
-#define _AUD_CTL                0x100000c0      /* Audio controls (RW)       */
-#define _MDM_CTL_0              0x100000b0      /* Modem control 0 (RW)      */
-#define _MDM_CTL_1              0x100000b4      /* Modem control 1 (RW)      */
-#define _NCR_0                 0x100000a0      /* Control Register (RW)     */
-#define _KP_X_OUT               0x10000090      /* Keypad row write (RW)     */
-#define _KP_Y_IN                0x10000080      /* Keypad column read (RO)   */
-#define _SWPK                   0x10000020      /* Switch pack (RO)          */
-#define _WHOAMI                 0x10000000      /* System ID Register (RO)   */
-
-#define _LEDS                   0x10000010      /* LEDs [31:0] (WO)          */
-
-#define IRR                     (*((volatile u_char *) Nep_p2v(_IRR)))
-#define AUD_CTL                 (*((volatile u_char *) Nep_p2v(_AUD_CTL)))
-#define MDM_CTL_0               (*((volatile u_char *) Nep_p2v(_MDM_CTL_0)))
-#define MDM_CTL_1               (*((volatile u_char *) Nep_p2v(_MDM_CTL_1)))
-#define NCR_0                  (*((volatile u_char *) Nep_p2v(_NCR_0)))
-#define KP_X_OUT                (*((volatile u_char *) Nep_p2v(_KP_X_OUT)))
-#define KP_Y_IN                 (*((volatile u_char *) Nep_p2v(_KP_Y_IN)))
-#define SWPK                    (*((volatile u_char *) Nep_p2v(_SWPK)))
-#define WHOAMI                  (*((volatile u_char *) Nep_p2v(_WHOAMI)))
-
-#define LEDS                    (*((volatile Word   *) Nep_p2v(_LEDS)))
-
-#define IRR_ETHERNET           (1<<0)
-#define IRR_USAR               (1<<1)
-#define IRR_SA1111             (1<<2)
-
-#define AUD_SEL_1341            (1<<0)
-#define AUD_MUTE_1341           (1<<1)
-
-#define MDM_CTL0_RTS1          (1 << 0)
-#define MDM_CTL0_DTR1          (1 << 1)
-#define MDM_CTL0_RTS2          (1 << 2)
-#define MDM_CTL0_DTR2          (1 << 3)
-
-#define MDM_CTL1_CTS1          (1 << 0)
-#define MDM_CTL1_DSR1          (1 << 1)
-#define MDM_CTL1_DCD1          (1 << 2)
-#define MDM_CTL1_CTS2          (1 << 3)
-#define MDM_CTL1_DSR2          (1 << 4)
-#define MDM_CTL1_DCD2          (1 << 5)
-
-#define NCR_GP01_OFF           (1<<0)
-#define NCR_TP_PWR_EN          (1<<1)
-#define NCR_MS_PWR_EN          (1<<2)
-#define NCR_ENET_OSC_EN                (1<<3)
-#define NCR_SPI_KB_WK_UP       (1<<4)
-#define NCR_A0VPP              (1<<5)
-#define NCR_A1VPP              (1<<6)
-
-#ifdef CONFIG_ASSABET_NEPONSET
-#define machine_has_neponset()  ((SCR_value & ASSABET_SCR_SA1111) == 0)
-#else
-#define machine_has_neponset() (0)
-#endif
-
 #endif
diff --git a/include/asm-arm/arch-sa1100/neponset.h b/include/asm-arm/arch-sa1100/neponset.h
new file mode 100644 (file)
index 0000000..8051fd7
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * linux/include/asm-arm/arch-sa1100/assabet.h
+ *
+ * Created 2000/06/05 by Nicolas Pitre <nico@cam.org>
+ *
+ * This file contains the hardware specific definitions for Assabet
+ * Only include this file from SA1100-specific files.
+ *
+ * 2000/05/23 John Dorsey <john+@cs.cmu.edu>
+ *      Definitions for Neponset added.
+ */
+#ifndef __ASM_ARCH_NEPONSET_H
+#define __ASM_ARCH_NEPONSET_H
+
+/*
+ * Neponset definitions: 
+ */
+
+#define NEPONSET_CPLD_BASE      (0x10000000)
+#define Nep_p2v( x )            ((x) - NEPONSET_CPLD_BASE + 0xf3000000)
+#define Nep_v2p( x )            ((x) - 0xf3000000 + NEPONSET_CPLD_BASE)
+
+#define _IRR                    0x10000024      /* Interrupt Reason Register */
+#define _AUD_CTL                0x100000c0      /* Audio controls (RW)       */
+#define _MDM_CTL_0              0x100000b0      /* Modem control 0 (RW)      */
+#define _MDM_CTL_1              0x100000b4      /* Modem control 1 (RW)      */
+#define _NCR_0                 0x100000a0      /* Control Register (RW)     */
+#define _KP_X_OUT               0x10000090      /* Keypad row write (RW)     */
+#define _KP_Y_IN                0x10000080      /* Keypad column read (RO)   */
+#define _SWPK                   0x10000020      /* Switch pack (RO)          */
+#define _WHOAMI                 0x10000000      /* System ID Register (RO)   */
+
+#define _LEDS                   0x10000010      /* LEDs [31:0] (WO)          */
+
+#define IRR                     (*((volatile u_char *) Nep_p2v(_IRR)))
+#define AUD_CTL                 (*((volatile u_char *) Nep_p2v(_AUD_CTL)))
+#define MDM_CTL_0               (*((volatile u_char *) Nep_p2v(_MDM_CTL_0)))
+#define MDM_CTL_1               (*((volatile u_char *) Nep_p2v(_MDM_CTL_1)))
+#define NCR_0                  (*((volatile u_char *) Nep_p2v(_NCR_0)))
+#define KP_X_OUT                (*((volatile u_char *) Nep_p2v(_KP_X_OUT)))
+#define KP_Y_IN                 (*((volatile u_char *) Nep_p2v(_KP_Y_IN)))
+#define SWPK                    (*((volatile u_char *) Nep_p2v(_SWPK)))
+#define WHOAMI                  (*((volatile u_char *) Nep_p2v(_WHOAMI)))
+
+#define LEDS                    (*((volatile Word   *) Nep_p2v(_LEDS)))
+
+#define IRR_ETHERNET           (1<<0)
+#define IRR_USAR               (1<<1)
+#define IRR_SA1111             (1<<2)
+
+#define AUD_SEL_1341            (1<<0)
+#define AUD_MUTE_1341           (1<<1)
+
+#define MDM_CTL0_RTS1          (1 << 0)
+#define MDM_CTL0_DTR1          (1 << 1)
+#define MDM_CTL0_RTS2          (1 << 2)
+#define MDM_CTL0_DTR2          (1 << 3)
+
+#define MDM_CTL1_CTS1          (1 << 0)
+#define MDM_CTL1_DSR1          (1 << 1)
+#define MDM_CTL1_DCD1          (1 << 2)
+#define MDM_CTL1_CTS2          (1 << 3)
+#define MDM_CTL1_DSR2          (1 << 4)
+#define MDM_CTL1_DCD2          (1 << 5)
+
+#define NCR_GP01_OFF           (1<<0)
+#define NCR_TP_PWR_EN          (1<<1)
+#define NCR_MS_PWR_EN          (1<<2)
+#define NCR_ENET_OSC_EN                (1<<3)
+#define NCR_SPI_KB_WK_UP       (1<<4)
+#define NCR_A0VPP              (1<<5)
+#define NCR_A1VPP              (1<<6)
+
+#endif
index 65572645fe8a2082aaea5d647a1351355aba03f9..9e635f3540b3f560a488113bfa5d2eaadee62547 100644 (file)
@@ -47,8 +47,6 @@
 #define SA1111_BASE             (0x40000000)
 
 #ifndef __ASSEMBLY__
-#define machine_has_neponset() (0)
-
 #define PFS168_COM5_VBASE              (*((volatile unsigned char *)(0xf0000000UL)))
 #define PFS168_COM6_VBASE              (*((volatile unsigned char *)(0xf0001000UL)))
 #define PFS168_SYSC1RTS                        (*((volatile unsigned char *)(0xf0002000UL)))
index dee6be3afafe68723cc3c68e2ee034191753de23..74ebcd5c669c5c696cb3112cd9b9b090870d37da 100644 (file)
@@ -7,6 +7,26 @@
  * This is included by serial.c -- serial_sa1100.c makes no use of it.
  */
 
+/* Standard COM flags */
+#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
+
+/*
+ * Rather empty table...
+ * Hardwired serial ports should be defined here.
+ * PCMCIA will fill it dynamically.
+ */
+#ifdef CONFIG_SA1100_TRIZEPS
+
+#define RS_TABLE_SIZE 2
+
+#define STD_SERIAL_PORT_DEFNS  \
+       /* UART CLK             PORT            IRQ             FLAGS           */ \
+       { 0,    1500000,        TRIZEPS_UART5,  IRQ_GPIO16,     STD_COM_FLAGS },   \
+       { 0,    1500000,        TRIZEPS_UART6,  IRQ_GPIO17,     STD_COM_FLAGS }
+
+#else
+
+#define RS_TABLE_SIZE 4
 
 /*
  * This assumes you have a 1.8432 MHz clock for your UART.
  */
 #define BASE_BAUD ( 1843200 / 16 )
 
-/* Standard COM flags */
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
-
-#define RS_TABLE_SIZE 4
-
-
-/*
- * Rather empty table...
- * Hardwired serial ports should be defined here.
- * PCMCIA will fill it dynamically.
- */
 #define STD_SERIAL_PORT_DEFNS  \
        /* UART CLK             PORT            IRQ     FLAGS           */ \
        { 0,    BASE_BAUD,      0,              0,      STD_COM_FLAGS },   \
@@ -35,5 +44,6 @@
        { 0,    BASE_BAUD,      0,              0,      STD_COM_FLAGS },   \
        { 0,    BASE_BAUD,      0,              0,      STD_COM_FLAGS }
 
-#define EXTRA_SERIAL_PORT_DEFNS
+#endif
 
+#define EXTRA_SERIAL_PORT_DEFNS
index d0c0c121aa2893916b77b0a3657f43d9b5050827..84b5d77c7562e1ba82f2267471e02af1c9e550b8 100644 (file)
@@ -89,7 +89,8 @@
  *       v4_early      - ARMv4 without Thumb early abort handler
  *       v4t_late      - ARMv4 with Thumb late abort handler
  *       v4t_early     - ARMv4 with Thumb early abort handler
- *       v5ej_early    - ARMv5 with Thumb and Java early abort handler
+ *       v5tej_early   - ARMv5 with Thumb and Java early abort handler
+ *       xscale        - ARMv5 with Thumb with Xscale extensions
  */
 #undef CPU_ABORT_HANDLER
 #undef MULTI_ABORT
 #endif
 
 #if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \
-    defined(CONFIG_CPU_ARM1020) || defined(CONFIG_CPU_XSCALE)
+    defined(CONFIG_CPU_ARM1020)
 # ifdef CPU_ABORT_HANDLER
 #  define MULTI_ABORT 1
 # else
 # ifdef CPU_ABORT_HANDLER
 #  define MULTI_ABORT 1
 # else
-#  define CPU_ABORT_HANDLER v5ej_early_abort
+#  define CPU_ABORT_HANDLER v5tej_early_abort
+# endif
+#endif
+
+#if defined(CONFIG_CPU_XSCALE)
+# ifdef CPU_ABORT_HANDLER
+#  define MULTI_ABORT 1
+# else
+#  define CPU_ABORT_HANDLER xscale_abort
 # endif
 #endif
 
  *       v4wt          - ARMv4 with writethrough cache, without minicache
  *       v4wb          - ARMv4 with writeback cache, without minicache
  *       v4_mc         - ARMv4 with minicache
- *       v5te_mc       - ARMv5TE with minicache
+ *       xscale        - Xscale
  */
 #undef _USER
 #undef MULTI_USER
 # ifdef _USER
 #  define MULTI_USER 1
 # else
-#  define _USER v5te_mc
+#  define _USER xscale_mc
 # endif
 #endif
 
index bb91ca6b6bb763e418ef6336e11e6764fc64cb13..9162018585df7ae5fd747e3f2af33fc9b5aae338 100644 (file)
@@ -19,11 +19,8 @@ struct uart_info;
 struct sa1100_port_fns {
        void    (*set_mctrl)(struct uart_port *, u_int);
        u_int   (*get_mctrl)(struct uart_port *);
-       void    (*enable_ms)(struct uart_port *);
        void    (*pm)(struct uart_port *, u_int, u_int);
        int     (*set_wake)(struct uart_port *, u_int);
-       int     (*open)(struct uart_port *, struct uart_info *);
-       void    (*close)(struct uart_port *, struct uart_info *);
 };
 
 #ifdef CONFIG_SERIAL_SA1100