aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/Kconfig49
-rw-r--r--arch/s390/defconfig234
-rw-r--r--arch/s390/hypfs/inode.c2
-rw-r--r--arch/s390/kernel/ipl.c26
-rw-r--r--arch/s390/mm/fault.c5
-rw-r--r--drivers/ata/Kconfig1
-rw-r--r--drivers/auxdisplay/Kconfig1
-rw-r--r--drivers/block/Kconfig4
-rw-r--r--drivers/char/Kconfig11
-rw-r--r--drivers/char/ipmi/Kconfig2
-rw-r--r--drivers/char/tpm/Kconfig1
-rw-r--r--drivers/crypto/Kconfig22
-rw-r--r--drivers/dma/Kconfig1
-rw-r--r--drivers/edac/Kconfig1
-rw-r--r--drivers/hwmon/Kconfig1
-rw-r--r--drivers/i2c/Kconfig1
-rw-r--r--drivers/ide/Kconfig1
-rw-r--r--drivers/ieee1394/Kconfig1
-rw-r--r--drivers/infiniband/Kconfig1
-rw-r--r--drivers/input/Kconfig1
-rw-r--r--drivers/isdn/Kconfig1
-rw-r--r--drivers/kvm/Kconfig1
-rw-r--r--drivers/leds/Kconfig1
-rw-r--r--drivers/media/Kconfig1
-rw-r--r--drivers/message/fusion/Kconfig1
-rw-r--r--drivers/message/i2o/Kconfig1
-rw-r--r--drivers/mfd/Kconfig1
-rw-r--r--drivers/mmc/Kconfig1
-rw-r--r--drivers/mtd/Kconfig1
-rw-r--r--drivers/net/phy/Kconfig1
-rw-r--r--drivers/net/wireless/Kconfig1
-rw-r--r--drivers/parport/Kconfig1
-rw-r--r--drivers/pnp/Kconfig1
-rw-r--r--drivers/rtc/Kconfig1
-rw-r--r--drivers/s390/block/Kconfig11
-rw-r--r--drivers/s390/block/dasd.c8
-rw-r--r--drivers/s390/block/dasd_diag.c10
-rw-r--r--drivers/s390/block/dasd_eckd.c6
-rw-r--r--drivers/s390/block/dasd_ioctl.c4
-rw-r--r--drivers/s390/char/Kconfig (renamed from drivers/s390/Kconfig)111
-rw-r--r--drivers/s390/char/monreader.c14
-rw-r--r--drivers/s390/char/raw3270.c5
-rw-r--r--drivers/s390/char/sclp.h3
-rw-r--r--drivers/s390/char/sclp_sdias.c8
-rw-r--r--drivers/s390/char/zcore.c9
-rw-r--r--drivers/s390/cio/css.c3
-rw-r--r--drivers/s390/cio/css.h2
-rw-r--r--drivers/s390/cio/device.c4
-rw-r--r--drivers/s390/cio/device_ops.c11
-rw-r--r--drivers/s390/cio/qdio.c1
-rw-r--r--drivers/s390/net/Kconfig8
-rw-r--r--drivers/s390/net/qeth_mpc.c4
-rw-r--r--drivers/s390/scsi/zfcp_aux.c8
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c2
-rw-r--r--drivers/serial/Kconfig1
-rw-r--r--drivers/spi/Kconfig1
-rw-r--r--drivers/telephony/Kconfig1
-rw-r--r--drivers/usb/Kconfig1
-rw-r--r--drivers/video/Kconfig1
-rw-r--r--drivers/w1/Kconfig1
-rw-r--r--include/asm-s390/ccwdev.h3
-rw-r--r--include/asm-s390/ipl.h2
-rw-r--r--include/asm-s390/param.h2
-rw-r--r--net/Kconfig1
-rw-r--r--net/ax25/Kconfig2
-rw-r--r--net/bluetooth/Kconfig2
-rw-r--r--net/irda/Kconfig2
-rw-r--r--sound/Kconfig1
68 files changed, 321 insertions, 312 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 1a84719be264..098c62c29f9c 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -4,27 +4,23 @@
4# 4#
5 5
6config MMU 6config MMU
7 bool 7 def_bool y
8 default y
9 8
10config ZONE_DMA 9config ZONE_DMA
11 def_bool y 10 def_bool y
12 depends on 64BIT 11 depends on 64BIT
13 12
14config LOCKDEP_SUPPORT 13config LOCKDEP_SUPPORT
15 bool 14 def_bool y
16 default y
17 15
18config STACKTRACE_SUPPORT 16config STACKTRACE_SUPPORT
19 bool 17 def_bool y
20 default y
21 18
22config RWSEM_GENERIC_SPINLOCK 19config RWSEM_GENERIC_SPINLOCK
23 bool 20 bool
24 21
25config RWSEM_XCHGADD_ALGORITHM 22config RWSEM_XCHGADD_ALGORITHM
26 bool 23 def_bool y
27 default y
28 24
29config ARCH_HAS_ILOG2_U32 25config ARCH_HAS_ILOG2_U32
30 bool 26 bool
@@ -35,8 +31,7 @@ config ARCH_HAS_ILOG2_U64
35 default n 31 default n
36 32
37config GENERIC_HWEIGHT 33config GENERIC_HWEIGHT
38 bool 34 def_bool y
39 default y
40 35
41config GENERIC_TIME 36config GENERIC_TIME
42 def_bool y 37 def_bool y
@@ -55,8 +50,7 @@ config NO_DMA
55mainmenu "Linux Kernel Configuration" 50mainmenu "Linux Kernel Configuration"
56 51
57config S390 52config S390
58 bool 53 def_bool y
59 default y
60 54
61source "init/Kconfig" 55source "init/Kconfig"
62 56
@@ -280,6 +274,10 @@ config WARN_STACK_SIZE
280config ARCH_POPULATES_NODE_MAP 274config ARCH_POPULATES_NODE_MAP
281 def_bool y 275 def_bool y
282 276
277comment "Kernel preemption"
278
279source "kernel/Kconfig.preempt"
280
283source "mm/Kconfig" 281source "mm/Kconfig"
284 282
285config HOLES_IN_ZONE 283config HOLES_IN_ZONE
@@ -320,17 +318,6 @@ config QDIO_DEBUG
320 318
321comment "Misc" 319comment "Misc"
322 320
323config PREEMPT
324 bool "Preemptible Kernel"
325 help
326 This option reduces the latency of the kernel when reacting to
327 real-time or interactive events by allowing a low priority process to
328 be preempted even if it is in kernel mode executing a system call.
329 This allows applications to run more reliably even when the system is
330 under load.
331
332 Say N if you are unsure.
333
334config IPL 321config IPL
335 bool "Builtin IPL record support" 322 bool "Builtin IPL record support"
336 help 323 help
@@ -488,6 +475,8 @@ config APPLDATA_NET_SUM
488 This can also be compiled as a module, which will be called 475 This can also be compiled as a module, which will be called
489 appldata_net_sum.o. 476 appldata_net_sum.o.
490 477
478source kernel/Kconfig.hz
479
491config NO_IDLE_HZ 480config NO_IDLE_HZ
492 bool "No HZ timer ticks in idle" 481 bool "No HZ timer ticks in idle"
493 help 482 help
@@ -535,18 +524,12 @@ endmenu
535source "net/Kconfig" 524source "net/Kconfig"
536 525
537config PCMCIA 526config PCMCIA
538 bool 527 def_bool n
539 default n
540
541source "drivers/base/Kconfig"
542 528
543source "drivers/connector/Kconfig" 529config CCW
544 530 def_bool y
545source "drivers/scsi/Kconfig"
546
547source "drivers/s390/Kconfig"
548 531
549source "drivers/net/Kconfig" 532source "drivers/Kconfig"
550 533
551source "fs/Kconfig" 534source "fs/Kconfig"
552 535
diff --git a/arch/s390/defconfig b/arch/s390/defconfig
index 0e4da8a7d826..485b60c1983c 100644
--- a/arch/s390/defconfig
+++ b/arch/s390/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.21-rc1 3# Linux kernel version: 2.6.21
4# Wed Feb 21 10:44:30 2007 4# Thu May 10 15:18:19 2007
5# 5#
6CONFIG_MMU=y 6CONFIG_MMU=y
7CONFIG_ZONE_DMA=y 7CONFIG_ZONE_DMA=y
@@ -14,6 +14,7 @@ CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_TIME=y 14CONFIG_GENERIC_TIME=y
15CONFIG_GENERIC_BUG=y 15CONFIG_GENERIC_BUG=y
16CONFIG_NO_IOMEM=y 16CONFIG_NO_IOMEM=y
17CONFIG_NO_DMA=y
17CONFIG_S390=y 18CONFIG_S390=y
18CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
19 20
@@ -41,9 +42,11 @@ CONFIG_AUDIT=y
41# CONFIG_AUDITSYSCALL is not set 42# CONFIG_AUDITSYSCALL is not set
42CONFIG_IKCONFIG=y 43CONFIG_IKCONFIG=y
43CONFIG_IKCONFIG_PROC=y 44CONFIG_IKCONFIG_PROC=y
45CONFIG_LOG_BUF_SHIFT=17
44# CONFIG_CPUSETS is not set 46# CONFIG_CPUSETS is not set
45CONFIG_SYSFS_DEPRECATED=y 47CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set 48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
47CONFIG_INITRAMFS_SOURCE="" 50CONFIG_INITRAMFS_SOURCE=""
48# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 51# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
49CONFIG_SYSCTL=y 52CONFIG_SYSCTL=y
@@ -60,12 +63,14 @@ CONFIG_BASE_FULL=y
60CONFIG_FUTEX=y 63CONFIG_FUTEX=y
61CONFIG_EPOLL=y 64CONFIG_EPOLL=y
62CONFIG_SHMEM=y 65CONFIG_SHMEM=y
63CONFIG_SLAB=y
64CONFIG_VM_EVENT_COUNTERS=y 66CONFIG_VM_EVENT_COUNTERS=y
67CONFIG_SLUB_DEBUG=y
68CONFIG_SLAB=y
69# CONFIG_SLUB is not set
70# CONFIG_SLOB is not set
65CONFIG_RT_MUTEXES=y 71CONFIG_RT_MUTEXES=y
66# CONFIG_TINY_SHMEM is not set 72# CONFIG_TINY_SHMEM is not set
67CONFIG_BASE_SMALL=0 73CONFIG_BASE_SMALL=0
68# CONFIG_SLOB is not set
69 74
70# 75#
71# Loadable module support 76# Loadable module support
@@ -128,6 +133,14 @@ CONFIG_CHECK_STACK=y
128CONFIG_STACK_GUARD=256 133CONFIG_STACK_GUARD=256
129# CONFIG_WARN_STACK is not set 134# CONFIG_WARN_STACK is not set
130CONFIG_ARCH_POPULATES_NODE_MAP=y 135CONFIG_ARCH_POPULATES_NODE_MAP=y
136
137#
138# Kernel preemption
139#
140# CONFIG_PREEMPT_NONE is not set
141# CONFIG_PREEMPT_VOLUNTARY is not set
142CONFIG_PREEMPT=y
143CONFIG_PREEMPT_BKL=y
131CONFIG_SELECT_MEMORY_MODEL=y 144CONFIG_SELECT_MEMORY_MODEL=y
132CONFIG_FLATMEM_MANUAL=y 145CONFIG_FLATMEM_MANUAL=y
133# CONFIG_DISCONTIGMEM_MANUAL is not set 146# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -150,7 +163,6 @@ CONFIG_QDIO=y
150# 163#
151# Misc 164# Misc
152# 165#
153CONFIG_PREEMPT=y
154CONFIG_IPL=y 166CONFIG_IPL=y
155# CONFIG_IPL_TAPE is not set 167# CONFIG_IPL_TAPE is not set
156CONFIG_IPL_VM=y 168CONFIG_IPL_VM=y
@@ -163,6 +175,11 @@ CONFIG_PFAULT=y
163CONFIG_VIRT_TIMER=y 175CONFIG_VIRT_TIMER=y
164CONFIG_VIRT_CPU_ACCOUNTING=y 176CONFIG_VIRT_CPU_ACCOUNTING=y
165# CONFIG_APPLDATA_BASE is not set 177# CONFIG_APPLDATA_BASE is not set
178CONFIG_HZ_100=y
179# CONFIG_HZ_250 is not set
180# CONFIG_HZ_300 is not set
181# CONFIG_HZ_1000 is not set
182CONFIG_HZ=100
166CONFIG_NO_IDLE_HZ=y 183CONFIG_NO_IDLE_HZ=y
167CONFIG_NO_IDLE_HZ_INIT=y 184CONFIG_NO_IDLE_HZ_INIT=y
168CONFIG_S390_HYPFS_FS=y 185CONFIG_S390_HYPFS_FS=y
@@ -177,7 +194,6 @@ CONFIG_NET=y
177# 194#
178# Networking options 195# Networking options
179# 196#
180# CONFIG_NETDEBUG is not set
181CONFIG_PACKET=y 197CONFIG_PACKET=y
182# CONFIG_PACKET_MMAP is not set 198# CONFIG_PACKET_MMAP is not set
183CONFIG_UNIX=y 199CONFIG_UNIX=y
@@ -216,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
216CONFIG_IPV6=y 232CONFIG_IPV6=y
217# CONFIG_IPV6_PRIVACY is not set 233# CONFIG_IPV6_PRIVACY is not set
218# CONFIG_IPV6_ROUTER_PREF is not set 234# CONFIG_IPV6_ROUTER_PREF is not set
235# CONFIG_IPV6_OPTIMISTIC_DAD is not set
219# CONFIG_INET6_AH is not set 236# CONFIG_INET6_AH is not set
220# CONFIG_INET6_ESP is not set 237# CONFIG_INET6_ESP is not set
221# CONFIG_INET6_IPCOMP is not set 238# CONFIG_INET6_IPCOMP is not set
@@ -240,7 +257,12 @@ CONFIG_IPV6_SIT=y
240# 257#
241# SCTP Configuration (EXPERIMENTAL) 258# SCTP Configuration (EXPERIMENTAL)
242# 259#
243# CONFIG_IP_SCTP is not set 260CONFIG_IP_SCTP=m
261# CONFIG_SCTP_DBG_MSG is not set
262# CONFIG_SCTP_DBG_OBJCNT is not set
263# CONFIG_SCTP_HMAC_NONE is not set
264# CONFIG_SCTP_HMAC_SHA1 is not set
265CONFIG_SCTP_HMAC_MD5=y
244 266
245# 267#
246# TIPC Configuration (EXPERIMENTAL) 268# TIPC Configuration (EXPERIMENTAL)
@@ -263,9 +285,6 @@ CONFIG_IPV6_SIT=y
263# 285#
264CONFIG_NET_SCHED=y 286CONFIG_NET_SCHED=y
265CONFIG_NET_SCH_FIFO=y 287CONFIG_NET_SCH_FIFO=y
266CONFIG_NET_SCH_CLK_JIFFIES=y
267# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
268# CONFIG_NET_SCH_CLK_CPU is not set
269 288
270# 289#
271# Queueing/Scheduling 290# Queueing/Scheduling
@@ -308,11 +327,14 @@ CONFIG_NET_ESTIMATOR=y
308# 327#
309# CONFIG_NET_PKTGEN is not set 328# CONFIG_NET_PKTGEN is not set
310# CONFIG_NET_TCPPROBE is not set 329# CONFIG_NET_TCPPROBE is not set
311# CONFIG_HAMRADIO is not set 330# CONFIG_AF_RXRPC is not set
312# CONFIG_IRDA is not set 331# CONFIG_RFKILL is not set
313# CONFIG_BT is not set
314# CONFIG_IEEE80211 is not set
315# CONFIG_PCMCIA is not set 332# CONFIG_PCMCIA is not set
333CONFIG_CCW=y
334
335#
336# Device Drivers
337#
316 338
317# 339#
318# Generic Driver Options 340# Generic Driver Options
@@ -330,6 +352,37 @@ CONFIG_SYS_HYPERVISOR=y
330# CONFIG_CONNECTOR is not set 352# CONFIG_CONNECTOR is not set
331 353
332# 354#
355# Block devices
356#
357# CONFIG_BLK_DEV_COW_COMMON is not set
358CONFIG_BLK_DEV_LOOP=m
359# CONFIG_BLK_DEV_CRYPTOLOOP is not set
360CONFIG_BLK_DEV_NBD=m
361CONFIG_BLK_DEV_RAM=y
362CONFIG_BLK_DEV_RAM_COUNT=16
363CONFIG_BLK_DEV_RAM_SIZE=4096
364CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
365# CONFIG_CDROM_PKTCDVD is not set
366# CONFIG_ATA_OVER_ETH is not set
367
368#
369# S/390 block device drivers
370#
371CONFIG_BLK_DEV_XPRAM=m
372# CONFIG_DCSSBLK is not set
373CONFIG_DASD=y
374CONFIG_DASD_PROFILE=y
375CONFIG_DASD_ECKD=y
376CONFIG_DASD_FBA=y
377CONFIG_DASD_DIAG=y
378CONFIG_DASD_EER=y
379
380#
381# Misc devices
382#
383# CONFIG_BLINK is not set
384
385#
333# SCSI device support 386# SCSI device support
334# 387#
335# CONFIG_RAID_ATTRS is not set 388# CONFIG_RAID_ATTRS is not set
@@ -356,6 +409,7 @@ CONFIG_SCSI_MULTI_LUN=y
356CONFIG_SCSI_CONSTANTS=y 409CONFIG_SCSI_CONSTANTS=y
357CONFIG_SCSI_LOGGING=y 410CONFIG_SCSI_LOGGING=y
358CONFIG_SCSI_SCAN_ASYNC=y 411CONFIG_SCSI_SCAN_ASYNC=y
412CONFIG_SCSI_WAIT_SCAN=m
359 413
360# 414#
361# SCSI Transports 415# SCSI Transports
@@ -372,34 +426,6 @@ CONFIG_SCSI_FC_ATTRS=y
372# CONFIG_ISCSI_TCP is not set 426# CONFIG_ISCSI_TCP is not set
373# CONFIG_SCSI_DEBUG is not set 427# CONFIG_SCSI_DEBUG is not set
374CONFIG_ZFCP=y 428CONFIG_ZFCP=y
375CONFIG_CCW=y
376
377#
378# Block devices
379#
380# CONFIG_BLK_DEV_COW_COMMON is not set
381CONFIG_BLK_DEV_LOOP=m
382# CONFIG_BLK_DEV_CRYPTOLOOP is not set
383CONFIG_BLK_DEV_NBD=m
384CONFIG_BLK_DEV_RAM=y
385CONFIG_BLK_DEV_RAM_COUNT=16
386CONFIG_BLK_DEV_RAM_SIZE=4096
387CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
388CONFIG_BLK_DEV_INITRD=y
389# CONFIG_CDROM_PKTCDVD is not set
390
391#
392# S/390 block device drivers
393#
394CONFIG_BLK_DEV_XPRAM=m
395# CONFIG_DCSSBLK is not set
396CONFIG_DASD=y
397CONFIG_DASD_PROFILE=y
398CONFIG_DASD_ECKD=y
399CONFIG_DASD_FBA=y
400CONFIG_DASD_DIAG=y
401CONFIG_DASD_EER=y
402# CONFIG_ATA_OVER_ETH is not set
403 429
404# 430#
405# Multi-device support (RAID and LVM) 431# Multi-device support (RAID and LVM)
@@ -421,56 +447,7 @@ CONFIG_DM_MIRROR=y
421CONFIG_DM_ZERO=y 447CONFIG_DM_ZERO=y
422CONFIG_DM_MULTIPATH=y 448CONFIG_DM_MULTIPATH=y
423# CONFIG_DM_MULTIPATH_EMC is not set 449# CONFIG_DM_MULTIPATH_EMC is not set
424 450# CONFIG_DM_DELAY is not set
425#
426# Character device drivers
427#
428CONFIG_UNIX98_PTYS=y
429CONFIG_UNIX98_PTY_COUNT=2048
430# CONFIG_HANGCHECK_TIMER is not set
431
432#
433# Watchdog Cards
434#
435# CONFIG_WATCHDOG is not set
436
437#
438# S/390 character device drivers
439#
440CONFIG_TN3270=y
441CONFIG_TN3270_TTY=y
442CONFIG_TN3270_FS=m
443CONFIG_TN3270_CONSOLE=y
444CONFIG_TN3215=y
445CONFIG_TN3215_CONSOLE=y
446CONFIG_CCW_CONSOLE=y
447CONFIG_SCLP_TTY=y
448CONFIG_SCLP_CONSOLE=y
449CONFIG_SCLP_VT220_TTY=y
450CONFIG_SCLP_VT220_CONSOLE=y
451CONFIG_SCLP_CPI=m
452CONFIG_S390_TAPE=m
453
454#
455# S/390 tape interface support
456#
457CONFIG_S390_TAPE_BLOCK=y
458
459#
460# S/390 tape hardware support
461#
462CONFIG_S390_TAPE_34XX=m
463# CONFIG_S390_TAPE_3590 is not set
464# CONFIG_VMLOGRDR is not set
465# CONFIG_VMCP is not set
466# CONFIG_MONREADER is not set
467CONFIG_MONWRITER=m
468
469#
470# Cryptographic devices
471#
472CONFIG_ZCRYPT=m
473# CONFIG_ZCRYPT_MONOLITHIC is not set
474 451
475# 452#
476# Network device support 453# Network device support
@@ -482,10 +459,6 @@ CONFIG_EQUALIZER=m
482CONFIG_TUN=m 459CONFIG_TUN=m
483 460
484# 461#
485# PHY device support
486#
487
488#
489# Ethernet (10 or 100Mbit) 462# Ethernet (10 or 100Mbit)
490# 463#
491CONFIG_NET_ETHERNET=y 464CONFIG_NET_ETHERNET=y
@@ -498,6 +471,7 @@ CONFIG_NET_ETHERNET=y
498# 471#
499# Ethernet (10000 Mbit) 472# Ethernet (10000 Mbit)
500# 473#
474CONFIG_MLX4_DEBUG=y
501 475
502# 476#
503# Token Ring devices 477# Token Ring devices
@@ -505,11 +479,6 @@ CONFIG_NET_ETHERNET=y
505# CONFIG_TR is not set 479# CONFIG_TR is not set
506 480
507# 481#
508# Wireless LAN (non-hamradio)
509#
510# CONFIG_NET_RADIO is not set
511
512#
513# Wan interfaces 482# Wan interfaces
514# 483#
515# CONFIG_WAN is not set 484# CONFIG_WAN is not set
@@ -537,6 +506,56 @@ CONFIG_CCWGROUP=y
537# CONFIG_NET_POLL_CONTROLLER is not set 506# CONFIG_NET_POLL_CONTROLLER is not set
538 507
539# 508#
509# Character devices
510#
511CONFIG_UNIX98_PTYS=y
512CONFIG_LEGACY_PTYS=y
513CONFIG_LEGACY_PTY_COUNT=256
514
515#
516# Watchdog Cards
517#
518# CONFIG_WATCHDOG is not set
519CONFIG_HW_RANDOM=m
520# CONFIG_R3964 is not set
521CONFIG_RAW_DRIVER=m
522CONFIG_MAX_RAW_DEVS=256
523# CONFIG_HANGCHECK_TIMER is not set
524
525#
526# S/390 character device drivers
527#
528CONFIG_TN3270=y
529CONFIG_TN3270_TTY=y
530CONFIG_TN3270_FS=m
531CONFIG_TN3270_CONSOLE=y
532CONFIG_TN3215=y
533CONFIG_TN3215_CONSOLE=y
534CONFIG_CCW_CONSOLE=y
535CONFIG_SCLP=y
536CONFIG_SCLP_TTY=y
537CONFIG_SCLP_CONSOLE=y
538CONFIG_SCLP_VT220_TTY=y
539CONFIG_SCLP_VT220_CONSOLE=y
540CONFIG_SCLP_CPI=m
541CONFIG_S390_TAPE=m
542
543#
544# S/390 tape interface support
545#
546CONFIG_S390_TAPE_BLOCK=y
547
548#
549# S/390 tape hardware support
550#
551CONFIG_S390_TAPE_34XX=m
552# CONFIG_S390_TAPE_3590 is not set
553# CONFIG_VMLOGRDR is not set
554# CONFIG_VMCP is not set
555# CONFIG_MONREADER is not set
556CONFIG_MONWRITER=m
557
558#
540# File systems 559# File systems
541# 560#
542CONFIG_EXT2_FS=y 561CONFIG_EXT2_FS=y
@@ -628,6 +647,7 @@ CONFIG_LOCKD_V4=y
628CONFIG_EXPORTFS=y 647CONFIG_EXPORTFS=y
629CONFIG_NFS_COMMON=y 648CONFIG_NFS_COMMON=y
630CONFIG_SUNRPC=y 649CONFIG_SUNRPC=y
650# CONFIG_SUNRPC_BIND34 is not set
631# CONFIG_RPCSEC_GSS_KRB5 is not set 651# CONFIG_RPCSEC_GSS_KRB5 is not set
632# CONFIG_RPCSEC_GSS_SPKM3 is not set 652# CONFIG_RPCSEC_GSS_SPKM3 is not set
633# CONFIG_SMB_FS is not set 653# CONFIG_SMB_FS is not set
@@ -658,6 +678,7 @@ CONFIG_MSDOS_PARTITION=y
658# CONFIG_SUN_PARTITION is not set 678# CONFIG_SUN_PARTITION is not set
659# CONFIG_KARMA_PARTITION is not set 679# CONFIG_KARMA_PARTITION is not set
660# CONFIG_EFI_PARTITION is not set 680# CONFIG_EFI_PARTITION is not set
681# CONFIG_SYSV68_PARTITION is not set
661 682
662# 683#
663# Native Language Support 684# Native Language Support
@@ -668,8 +689,6 @@ CONFIG_MSDOS_PARTITION=y
668# Distributed Lock Manager 689# Distributed Lock Manager
669# 690#
670CONFIG_DLM=m 691CONFIG_DLM=m
671CONFIG_DLM_TCP=y
672# CONFIG_DLM_SCTP is not set
673# CONFIG_DLM_DEBUG is not set 692# CONFIG_DLM_DEBUG is not set
674 693
675# 694#
@@ -693,7 +712,6 @@ CONFIG_MAGIC_SYSRQ=y
693CONFIG_DEBUG_FS=y 712CONFIG_DEBUG_FS=y
694CONFIG_HEADERS_CHECK=y 713CONFIG_HEADERS_CHECK=y
695CONFIG_DEBUG_KERNEL=y 714CONFIG_DEBUG_KERNEL=y
696CONFIG_LOG_BUF_SHIFT=17
697# CONFIG_SCHEDSTATS is not set 715# CONFIG_SCHEDSTATS is not set
698# CONFIG_TIMER_STATS is not set 716# CONFIG_TIMER_STATS is not set
699# CONFIG_DEBUG_SLAB is not set 717# CONFIG_DEBUG_SLAB is not set
@@ -729,12 +747,13 @@ CONFIG_FORCED_INLINING=y
729CONFIG_CRYPTO=y 747CONFIG_CRYPTO=y
730CONFIG_CRYPTO_ALGAPI=y 748CONFIG_CRYPTO_ALGAPI=y
731CONFIG_CRYPTO_BLKCIPHER=y 749CONFIG_CRYPTO_BLKCIPHER=y
750CONFIG_CRYPTO_HASH=m
732CONFIG_CRYPTO_MANAGER=y 751CONFIG_CRYPTO_MANAGER=y
733# CONFIG_CRYPTO_HMAC is not set 752CONFIG_CRYPTO_HMAC=m
734# CONFIG_CRYPTO_XCBC is not set 753# CONFIG_CRYPTO_XCBC is not set
735# CONFIG_CRYPTO_NULL is not set 754# CONFIG_CRYPTO_NULL is not set
736# CONFIG_CRYPTO_MD4 is not set 755# CONFIG_CRYPTO_MD4 is not set
737# CONFIG_CRYPTO_MD5 is not set 756CONFIG_CRYPTO_MD5=m
738# CONFIG_CRYPTO_SHA1 is not set 757# CONFIG_CRYPTO_SHA1 is not set
739# CONFIG_CRYPTO_SHA256 is not set 758# CONFIG_CRYPTO_SHA256 is not set
740# CONFIG_CRYPTO_SHA512 is not set 759# CONFIG_CRYPTO_SHA512 is not set
@@ -745,6 +764,7 @@ CONFIG_CRYPTO_ECB=m
745CONFIG_CRYPTO_CBC=y 764CONFIG_CRYPTO_CBC=y
746CONFIG_CRYPTO_PCBC=m 765CONFIG_CRYPTO_PCBC=m
747# CONFIG_CRYPTO_LRW is not set 766# CONFIG_CRYPTO_LRW is not set
767# CONFIG_CRYPTO_CRYPTD is not set
748# CONFIG_CRYPTO_DES is not set 768# CONFIG_CRYPTO_DES is not set
749CONFIG_CRYPTO_FCRYPT=m 769CONFIG_CRYPTO_FCRYPT=m
750# CONFIG_CRYPTO_BLOWFISH is not set 770# CONFIG_CRYPTO_BLOWFISH is not set
@@ -771,6 +791,8 @@ CONFIG_CRYPTO_CAMELLIA=m
771# CONFIG_CRYPTO_DES_S390 is not set 791# CONFIG_CRYPTO_DES_S390 is not set
772# CONFIG_CRYPTO_AES_S390 is not set 792# CONFIG_CRYPTO_AES_S390 is not set
773CONFIG_S390_PRNG=m 793CONFIG_S390_PRNG=m
794CONFIG_ZCRYPT=m
795# CONFIG_ZCRYPT_MONOLITHIC is not set
774 796
775# 797#
776# Library routines 798# Library routines
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
index ba5d3167df0d..8e1ea1c40128 100644
--- a/arch/s390/hypfs/inode.c
+++ b/arch/s390/hypfs/inode.c
@@ -477,7 +477,7 @@ static int __init hypfs_init(void)
477 goto fail_diag; 477 goto fail_diag;
478 } 478 }
479 } 479 }
480 kset_set_kset_s(&s390_subsys, hypervisor_subsys); 480 kobj_set_kset_s(&s390_subsys, hypervisor_subsys);
481 rc = subsystem_register(&s390_subsys); 481 rc = subsystem_register(&s390_subsys);
482 if (rc) 482 if (rc)
483 goto fail_sysfs; 483 goto fail_sysfs;
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index 0ea048d350d8..367caf92ea78 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -816,23 +816,23 @@ static int __init ipl_register_fcp_files(void)
816{ 816{
817 int rc; 817 int rc;
818 818
819 rc = sysfs_create_group(&ipl_subsys.kset.kobj, 819 rc = sysfs_create_group(&ipl_subsys.kobj,
820 &ipl_fcp_attr_group); 820 &ipl_fcp_attr_group);
821 if (rc) 821 if (rc)
822 goto out; 822 goto out;
823 rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj, 823 rc = sysfs_create_bin_file(&ipl_subsys.kobj,
824 &ipl_parameter_attr); 824 &ipl_parameter_attr);
825 if (rc) 825 if (rc)
826 goto out_ipl_parm; 826 goto out_ipl_parm;
827 rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj, 827 rc = sysfs_create_bin_file(&ipl_subsys.kobj,
828 &ipl_scp_data_attr); 828 &ipl_scp_data_attr);
829 if (!rc) 829 if (!rc)
830 goto out; 830 goto out;
831 831
832 sysfs_remove_bin_file(&ipl_subsys.kset.kobj, &ipl_parameter_attr); 832 sysfs_remove_bin_file(&ipl_subsys.kobj, &ipl_parameter_attr);
833 833
834out_ipl_parm: 834out_ipl_parm:
835 sysfs_remove_group(&ipl_subsys.kset.kobj, &ipl_fcp_attr_group); 835 sysfs_remove_group(&ipl_subsys.kobj, &ipl_fcp_attr_group);
836out: 836out:
837 return rc; 837 return rc;
838} 838}
@@ -846,7 +846,7 @@ static int __init ipl_init(void)
846 return rc; 846 return rc;
847 switch (ipl_info.type) { 847 switch (ipl_info.type) {
848 case IPL_TYPE_CCW: 848 case IPL_TYPE_CCW:
849 rc = sysfs_create_group(&ipl_subsys.kset.kobj, 849 rc = sysfs_create_group(&ipl_subsys.kobj,
850 &ipl_ccw_attr_group); 850 &ipl_ccw_attr_group);
851 break; 851 break;
852 case IPL_TYPE_FCP: 852 case IPL_TYPE_FCP:
@@ -854,11 +854,11 @@ static int __init ipl_init(void)
854 rc = ipl_register_fcp_files(); 854 rc = ipl_register_fcp_files();
855 break; 855 break;
856 case IPL_TYPE_NSS: 856 case IPL_TYPE_NSS:
857 rc = sysfs_create_group(&ipl_subsys.kset.kobj, 857 rc = sysfs_create_group(&ipl_subsys.kobj,
858 &ipl_nss_attr_group); 858 &ipl_nss_attr_group);
859 break; 859 break;
860 default: 860 default:
861 rc = sysfs_create_group(&ipl_subsys.kset.kobj, 861 rc = sysfs_create_group(&ipl_subsys.kobj,
862 &ipl_unknown_attr_group); 862 &ipl_unknown_attr_group);
863 break; 863 break;
864 } 864 }
@@ -885,7 +885,7 @@ static int __init reipl_nss_init(void)
885 885
886 if (!MACHINE_IS_VM) 886 if (!MACHINE_IS_VM)
887 return 0; 887 return 0;
888 rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_nss_attr_group); 888 rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_nss_attr_group);
889 if (rc) 889 if (rc)
890 return rc; 890 return rc;
891 strncpy(reipl_nss_name, kernel_nss_name, NSS_NAME_SIZE + 1); 891 strncpy(reipl_nss_name, kernel_nss_name, NSS_NAME_SIZE + 1);
@@ -900,7 +900,7 @@ static int __init reipl_ccw_init(void)
900 reipl_block_ccw = (void *) get_zeroed_page(GFP_KERNEL); 900 reipl_block_ccw = (void *) get_zeroed_page(GFP_KERNEL);
901 if (!reipl_block_ccw) 901 if (!reipl_block_ccw)
902 return -ENOMEM; 902 return -ENOMEM;
903 rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_ccw_attr_group); 903 rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_ccw_attr_group);
904 if (rc) { 904 if (rc) {
905 free_page((unsigned long)reipl_block_ccw); 905 free_page((unsigned long)reipl_block_ccw);
906 return rc; 906 return rc;
@@ -938,7 +938,7 @@ static int __init reipl_fcp_init(void)
938 reipl_block_fcp = (void *) get_zeroed_page(GFP_KERNEL); 938 reipl_block_fcp = (void *) get_zeroed_page(GFP_KERNEL);
939 if (!reipl_block_fcp) 939 if (!reipl_block_fcp)
940 return -ENOMEM; 940 return -ENOMEM;
941 rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_fcp_attr_group); 941 rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_fcp_attr_group);
942 if (rc) { 942 if (rc) {
943 free_page((unsigned long)reipl_block_fcp); 943 free_page((unsigned long)reipl_block_fcp);
944 return rc; 944 return rc;
@@ -990,7 +990,7 @@ static int __init dump_ccw_init(void)
990 dump_block_ccw = (void *) get_zeroed_page(GFP_KERNEL); 990 dump_block_ccw = (void *) get_zeroed_page(GFP_KERNEL);
991 if (!dump_block_ccw) 991 if (!dump_block_ccw)
992 return -ENOMEM; 992 return -ENOMEM;
993 rc = sysfs_create_group(&dump_subsys.kset.kobj, &dump_ccw_attr_group); 993 rc = sysfs_create_group(&dump_subsys.kobj, &dump_ccw_attr_group);
994 if (rc) { 994 if (rc) {
995 free_page((unsigned long)dump_block_ccw); 995 free_page((unsigned long)dump_block_ccw);
996 return rc; 996 return rc;
@@ -1014,7 +1014,7 @@ static int __init dump_fcp_init(void)
1014 dump_block_fcp = (void *) get_zeroed_page(GFP_KERNEL); 1014 dump_block_fcp = (void *) get_zeroed_page(GFP_KERNEL);
1015 if (!dump_block_fcp) 1015 if (!dump_block_fcp)
1016 return -ENOMEM; 1016 return -ENOMEM;
1017 rc = sysfs_create_group(&dump_subsys.kset.kobj, &dump_fcp_attr_group); 1017 rc = sysfs_create_group(&dump_subsys.kobj, &dump_fcp_attr_group);
1018 if (rc) { 1018 if (rc) {
1019 free_page((unsigned long)dump_block_fcp); 1019 free_page((unsigned long)dump_block_fcp);
1020 return rc; 1020 return rc;
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index 8b924b359774..d855cdbf8fb8 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -253,7 +253,10 @@ static int signal_return(struct mm_struct *mm, struct pt_regs *regs,
253 unsigned long address, unsigned long error_code) 253 unsigned long address, unsigned long error_code)
254{ 254{
255 u16 instruction; 255 u16 instruction;
256 int rc, compat; 256 int rc;
257#ifdef CONFIG_COMPAT
258 int compat;
259#endif
257 260
258 pagefault_disable(); 261 pagefault_disable();
259 rc = __get_user(instruction, (u16 __user *) regs->psw.addr); 262 rc = __get_user(instruction, (u16 __user *) regs->psw.addr);
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index c7219663f2b9..f031b8732330 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Serial ATA (prod) and Parallel ATA (experimental) drivers" 5menu "Serial ATA (prod) and Parallel ATA (experimental) drivers"
6 depends on HAS_IOMEM
6 7
7config ATA 8config ATA
8 tristate "ATA device support" 9 tristate "ATA device support"
diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig
index 0300e7f54cc4..2e18a63ead36 100644
--- a/drivers/auxdisplay/Kconfig
+++ b/drivers/auxdisplay/Kconfig
@@ -6,6 +6,7 @@
6# 6#
7 7
8menu "Auxiliary Display support" 8menu "Auxiliary Display support"
9 depends on PARPORT
9 10
10config KS0108 11config KS0108
11 tristate "KS0108 LCD Controller" 12 tristate "KS0108 LCD Controller"
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 17ee97f3a99b..b4c8319138b2 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -444,8 +444,6 @@ config CDROM_PKTCDVD_WCACHE
444 this option is dangerous unless the CD-RW media is known good, as we 444 this option is dangerous unless the CD-RW media is known good, as we
445 don't do deferred write error handling yet. 445 don't do deferred write error handling yet.
446 446
447source "drivers/s390/block/Kconfig"
448
449config ATA_OVER_ETH 447config ATA_OVER_ETH
450 tristate "ATA over Ethernet support" 448 tristate "ATA over Ethernet support"
451 depends on NET 449 depends on NET
@@ -453,6 +451,8 @@ config ATA_OVER_ETH
453 This driver provides Support for ATA over Ethernet block 451 This driver provides Support for ATA over Ethernet block
454 devices like the Coraid EtherDrive (R) Storage Blade. 452 devices like the Coraid EtherDrive (R) Storage Blade.
455 453
454source "drivers/s390/block/Kconfig"
455
456endmenu 456endmenu
457 457
458endif 458endif
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 2df42fdcdc91..abcafac64738 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -6,6 +6,7 @@ menu "Character devices"
6 6
7config VT 7config VT
8 bool "Virtual terminal" if EMBEDDED 8 bool "Virtual terminal" if EMBEDDED
9 depends on !S390
9 select INPUT 10 select INPUT
10 default y if !VIOCONS 11 default y if !VIOCONS
11 ---help--- 12 ---help---
@@ -81,6 +82,7 @@ config VT_HW_CONSOLE_BINDING
81 82
82config SERIAL_NONSTANDARD 83config SERIAL_NONSTANDARD
83 bool "Non-standard serial port support" 84 bool "Non-standard serial port support"
85 depends on HAS_IOMEM
84 ---help--- 86 ---help---
85 Say Y here if you have any non-standard serial boards -- boards 87 Say Y here if you have any non-standard serial boards -- boards
86 which aren't supported using the standard "dumb" serial driver. 88 which aren't supported using the standard "dumb" serial driver.
@@ -765,7 +767,7 @@ config NVRAM
765 767
766config RTC 768config RTC
767 tristate "Enhanced Real Time Clock Support" 769 tristate "Enhanced Real Time Clock Support"
768 depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !SUPERH 770 depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !SUPERH && !S390
769 ---help--- 771 ---help---
770 If you say Y here and create a character special file /dev/rtc with 772 If you say Y here and create a character special file /dev/rtc with
771 major number 10 and minor number 135 using mknod ("man mknod"), you 773 major number 10 and minor number 135 using mknod ("man mknod"), you
@@ -813,7 +815,7 @@ config SGI_IP27_RTC
813 815
814config GEN_RTC 816config GEN_RTC
815 tristate "Generic /dev/rtc emulation" 817 tristate "Generic /dev/rtc emulation"
816 depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV 818 depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV && !S390
817 ---help--- 819 ---help---
818 If you say Y here and create a character special file /dev/rtc with 820 If you say Y here and create a character special file /dev/rtc with
819 major number 10 and minor number 135 using mknod ("man mknod"), you 821 major number 10 and minor number 135 using mknod ("man mknod"), you
@@ -858,6 +860,7 @@ config COBALT_LCD
858 860
859config DTLK 861config DTLK
860 tristate "Double Talk PC internal speech card support" 862 tristate "Double Talk PC internal speech card support"
863 depends on ISA
861 help 864 help
862 This driver is for the DoubleTalk PC, a speech synthesizer 865 This driver is for the DoubleTalk PC, a speech synthesizer
863 manufactured by RC Systems (<http://www.rcsys.com/>). It is also 866 manufactured by RC Systems (<http://www.rcsys.com/>). It is also
@@ -1043,7 +1046,7 @@ config HPET_MMAP
1043 1046
1044config HANGCHECK_TIMER 1047config HANGCHECK_TIMER
1045 tristate "Hangcheck timer" 1048 tristate "Hangcheck timer"
1046 depends on X86 || IA64 || PPC64 1049 depends on X86 || IA64 || PPC64 || S390
1047 help 1050 help
1048 The hangcheck-timer module detects when the system has gone 1051 The hangcheck-timer module detects when the system has gone
1049 out to lunch past a certain margin. It can reboot the system 1052 out to lunch past a certain margin. It can reboot the system
@@ -1078,5 +1081,7 @@ config DEVPORT
1078 depends on ISA || PCI 1081 depends on ISA || PCI
1079 default y 1082 default y
1080 1083
1084source "drivers/s390/char/Kconfig"
1085
1081endmenu 1086endmenu
1082 1087
diff --git a/drivers/char/ipmi/Kconfig b/drivers/char/ipmi/Kconfig
index a6dcb2918157..b894f67fdf14 100644
--- a/drivers/char/ipmi/Kconfig
+++ b/drivers/char/ipmi/Kconfig
@@ -3,6 +3,8 @@
3# 3#
4 4
5menu "IPMI" 5menu "IPMI"
6 depends on HAS_IOMEM
7
6config IPMI_HANDLER 8config IPMI_HANDLER
7 tristate 'IPMI top-level message handler' 9 tristate 'IPMI top-level message handler'
8 help 10 help
diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
index 11089be0691b..dc4e1ff7f56f 100644
--- a/drivers/char/tpm/Kconfig
+++ b/drivers/char/tpm/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "TPM devices" 5menu "TPM devices"
6 depends on HAS_IOMEM
6 7
7config TCG_TPM 8config TCG_TPM
8 tristate "TPM Hardware Support" 9 tristate "TPM Hardware Support"
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index f4c634504d1a..e678a33ea672 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -56,4 +56,26 @@ config CRYPTO_DEV_GEODE
56 To compile this driver as a module, choose M here: the module 56 To compile this driver as a module, choose M here: the module
57 will be called geode-aes. 57 will be called geode-aes.
58 58
59config ZCRYPT
60 tristate "Support for PCI-attached cryptographic adapters"
61 depends on S390
62 select ZCRYPT_MONOLITHIC if ZCRYPT="y"
63 default "m"
64 help
65 Select this option if you want to use a PCI-attached cryptographic
66 adapter like:
67 + PCI Cryptographic Accelerator (PCICA)
68 + PCI Cryptographic Coprocessor (PCICC)
69 + PCI-X Cryptographic Coprocessor (PCIXCC)
70 + Crypto Express2 Coprocessor (CEX2C)
71 + Crypto Express2 Accelerator (CEX2A)
72
73config ZCRYPT_MONOLITHIC
74 bool "Monolithic zcrypt module"
75 depends on ZCRYPT="m"
76 help
77 Select this option if you want to have a single module z90crypt.ko
78 that contains all parts of the crypto device driver (ap bus,
79 request router and all the card drivers).
80
59endmenu 81endmenu
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 30d021d1a07c..72be6c63edfc 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "DMA Engine support" 5menu "DMA Engine support"
6 depends on !S390
6 7
7config DMA_ENGINE 8config DMA_ENGINE
8 bool "Support for DMA engines" 9 bool "Support for DMA engines"
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index 4f0898400c6d..807c402df049 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -7,6 +7,7 @@
7# 7#
8 8
9menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)' 9menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)'
10 depends on HAS_IOMEM
10 11
11config EDAC 12config EDAC
12 tristate "EDAC core system error reporting (EXPERIMENTAL)" 13 tristate "EDAC core system error reporting (EXPERIMENTAL)"
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 3ba3a5221c41..4d1cb5b855d1 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -4,6 +4,7 @@
4 4
5menuconfig HWMON 5menuconfig HWMON
6 tristate "Hardware Monitoring support" 6 tristate "Hardware Monitoring support"
7 depends on HAS_IOMEM
7 default y 8 default y
8 help 9 help
9 Hardware monitoring devices let you monitor the hardware health 10 Hardware monitoring devices let you monitor the hardware health
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 434a61b415a3..96867347bcbf 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -4,6 +4,7 @@
4 4
5menuconfig I2C 5menuconfig I2C
6 tristate "I2C support" 6 tristate "I2C support"
7 depends on HAS_IOMEM
7 ---help--- 8 ---help---
8 I2C (pronounce: I-square-C) is a slow serial bus protocol used in 9 I2C (pronounce: I-square-C) is a slow serial bus protocol used in
9 many micro controller applications and developed by Philips. SMBus, 10 many micro controller applications and developed by Philips. SMBus,
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index 1d06b415ede9..9040809d2c25 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -7,6 +7,7 @@
7if BLOCK 7if BLOCK
8 8
9menu "ATA/ATAPI/MFM/RLL support" 9menu "ATA/ATAPI/MFM/RLL support"
10 depends on HAS_IOMEM
10 11
11config IDE 12config IDE
12 tristate "ATA/ATAPI/MFM/RLL support" 13 tristate "ATA/ATAPI/MFM/RLL support"
diff --git a/drivers/ieee1394/Kconfig b/drivers/ieee1394/Kconfig
index 61d7809a5a26..f21426ad2faa 100644
--- a/drivers/ieee1394/Kconfig
+++ b/drivers/ieee1394/Kconfig
@@ -1,4 +1,5 @@
1menu "IEEE 1394 (FireWire) support" 1menu "IEEE 1394 (FireWire) support"
2 depends on PCI || BROKEN
2 3
3config IEEE1394 4config IEEE1394
4 tristate "IEEE 1394 (FireWire) support" 5 tristate "IEEE 1394 (FireWire) support"
diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index 37deaae49190..994decc7bcf2 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -1,4 +1,5 @@
1menu "InfiniBand support" 1menu "InfiniBand support"
2 depends on HAS_IOMEM
2 3
3config INFINIBAND 4config INFINIBAND
4 depends on PCI || BROKEN 5 depends on PCI || BROKEN
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
index 0e9b69535ad6..f814fb3a469d 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Input device support" 5menu "Input device support"
6 depends on !S390
6 7
7config INPUT 8config INPUT
8 tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED 9 tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
diff --git a/drivers/isdn/Kconfig b/drivers/isdn/Kconfig
index c90afeea54aa..d42fe89cddf6 100644
--- a/drivers/isdn/Kconfig
+++ b/drivers/isdn/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "ISDN subsystem" 5menu "ISDN subsystem"
6 depends on !S390
6 7
7config ISDN 8config ISDN
8 tristate "ISDN support" 9 tristate "ISDN support"
diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
index 703cc88d1ef9..e8e37d826478 100644
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -2,6 +2,7 @@
2# KVM configuration 2# KVM configuration
3# 3#
4menu "Virtualization" 4menu "Virtualization"
5 depends on X86
5 6
6config KVM 7config KVM
7 tristate "Kernel-based Virtual Machine (KVM) support" 8 tristate "Kernel-based Virtual Machine (KVM) support"
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 80acd08f0e97..87d2046f866c 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -1,5 +1,6 @@
1 1
2menu "LED devices" 2menu "LED devices"
3 depends on HAS_IOMEM
3 4
4config NEW_LEDS 5config NEW_LEDS
5 bool "LED Support" 6 bool "LED Support"
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 91d25798ae4a..3a80e0cc7369 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Multimedia devices" 5menu "Multimedia devices"
6 depends on HAS_IOMEM
6 7
7config VIDEO_DEV 8config VIDEO_DEV
8 tristate "Video For Linux" 9 tristate "Video For Linux"
diff --git a/drivers/message/fusion/Kconfig b/drivers/message/fusion/Kconfig
index 71037f91c222..c88cc75ab49b 100644
--- a/drivers/message/fusion/Kconfig
+++ b/drivers/message/fusion/Kconfig
@@ -1,5 +1,6 @@
1 1
2menu "Fusion MPT device support" 2menu "Fusion MPT device support"
3 depends on PCI
3 4
4config FUSION 5config FUSION
5 bool 6 bool
diff --git a/drivers/message/i2o/Kconfig b/drivers/message/i2o/Kconfig
index 6443392bffff..f4ac21e5771e 100644
--- a/drivers/message/i2o/Kconfig
+++ b/drivers/message/i2o/Kconfig
@@ -1,5 +1,6 @@
1 1
2menu "I2O device support" 2menu "I2O device support"
3 depends on PCI
3 4
4config I2O 5config I2O
5 tristate "I2O support" 6 tristate "I2O support"
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index ab6e985275b2..a20a51efe118 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Multifunction device drivers" 5menu "Multifunction device drivers"
6 depends on HAS_IOMEM
6 7
7config MFD_SM501 8config MFD_SM501
8 tristate "Support for Silicon Motion SM501" 9 tristate "Support for Silicon Motion SM501"
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 45b7d53b949c..c0b41e8bcd9d 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -4,6 +4,7 @@
4 4
5menuconfig MMC 5menuconfig MMC
6 tristate "MMC/SD card support" 6 tristate "MMC/SD card support"
7 depends on HAS_IOMEM
7 help 8 help
8 MMC is the "multi-media card" bus protocol. 9 MMC is the "multi-media card" bus protocol.
9 10
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index c1b47db29bd2..fbec8cd55e38 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -2,6 +2,7 @@
2 2
3menuconfig MTD 3menuconfig MTD
4 tristate "Memory Technology Device (MTD) support" 4 tristate "Memory Technology Device (MTD) support"
5 depends on HAS_IOMEM
5 help 6 help
6 Memory Technology Devices are flash, RAM and similar chips, often 7 Memory Technology Devices are flash, RAM and similar chips, often
7 used for solid state file systems on embedded devices. This option 8 used for solid state file systems on embedded devices. This option
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index f994f129f3d8..c0d3101eb6a0 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "PHY device support" 5menu "PHY device support"
6 depends on !S390
6 7
7config PHYLIB 8config PHYLIB
8 tristate "PHY Device support and infrastructure" 9 tristate "PHY Device support and infrastructure"
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index e273347dc606..e3f5bb0fe603 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Wireless LAN" 5menu "Wireless LAN"
6 depends on !S390
6 7
7config WLAN_PRE80211 8config WLAN_PRE80211
8 bool "Wireless LAN (pre-802.11)" 9 bool "Wireless LAN (pre-802.11)"
diff --git a/drivers/parport/Kconfig b/drivers/parport/Kconfig
index 36c6a1bfe558..f46c69e4ed82 100644
--- a/drivers/parport/Kconfig
+++ b/drivers/parport/Kconfig
@@ -6,6 +6,7 @@
6# 6#
7 7
8menu "Parallel port support" 8menu "Parallel port support"
9 depends on HAS_IOMEM
9 10
10config PARPORT 11config PARPORT
11 tristate "Parallel port support" 12 tristate "Parallel port support"
diff --git a/drivers/pnp/Kconfig b/drivers/pnp/Kconfig
index c5143201419a..1959cef8e9de 100644
--- a/drivers/pnp/Kconfig
+++ b/drivers/pnp/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Plug and Play support" 5menu "Plug and Play support"
6 depends on HAS_IOMEM
6 7
7config PNP 8config PNP
8 bool "Plug and Play support" 9 bool "Plug and Play support"
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 76422eded36e..1759baad439c 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Real Time Clock" 5menu "Real Time Clock"
6 depends on !S390
6 7
7config RTC_LIB 8config RTC_LIB
8 tristate 9 tristate
diff --git a/drivers/s390/block/Kconfig b/drivers/s390/block/Kconfig
index b250c5354503..e879b212cf43 100644
--- a/drivers/s390/block/Kconfig
+++ b/drivers/s390/block/Kconfig
@@ -1,11 +1,9 @@
1if S390 && BLOCK
2
3comment "S/390 block device drivers" 1comment "S/390 block device drivers"
4 depends on S390 2 depends on S390 && BLOCK
5 3
6config BLK_DEV_XPRAM 4config BLK_DEV_XPRAM
7 tristate "XPRAM disk support" 5 tristate "XPRAM disk support"
8 depends on S390 6 depends on S390 && BLOCK
9 help 7 help
10 Select this option if you want to use your expanded storage on S/390 8 Select this option if you want to use your expanded storage on S/390
11 or zSeries as a disk. This is useful as a _fast_ swap device if you 9 or zSeries as a disk. This is useful as a _fast_ swap device if you
@@ -15,12 +13,13 @@ config BLK_DEV_XPRAM
15 13
16config DCSSBLK 14config DCSSBLK
17 tristate "DCSSBLK support" 15 tristate "DCSSBLK support"
16 depends on S390 && BLOCK
18 help 17 help
19 Support for dcss block device 18 Support for dcss block device
20 19
21config DASD 20config DASD
22 tristate "Support for DASD devices" 21 tristate "Support for DASD devices"
23 depends on CCW 22 depends on CCW && BLOCK
24 help 23 help
25 Enable this option if you want to access DASDs directly utilizing 24 Enable this option if you want to access DASDs directly utilizing
26 S/390s channel subsystem commands. This is necessary for running 25 S/390s channel subsystem commands. This is necessary for running
@@ -62,5 +61,3 @@ config DASD_EER
62 This driver provides a character device interface to the 61 This driver provides a character device interface to the
63 DASD extended error reporting. This is only needed if you want to 62 DASD extended error reporting. This is only needed if you want to
64 use applications written for the EER facility. 63 use applications written for the EER facility.
65
66endif
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 977521013fe8..bfeca57098fa 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -2174,9 +2174,10 @@ dasd_generic_notify(struct ccw_device *cdev, int event)
2174 return ret; 2174 return ret;
2175} 2175}
2176 2176
2177struct dasd_ccw_req * dasd_generic_build_rdc(struct dasd_device *device, 2177static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device,
2178 void *rdc_buffer, 2178 void *rdc_buffer,
2179 int rdc_buffer_size, char *magic) 2179 int rdc_buffer_size,
2180 char *magic)
2180{ 2181{
2181 struct dasd_ccw_req *cqr; 2182 struct dasd_ccw_req *cqr;
2182 struct ccw1 *ccw; 2183 struct ccw1 *ccw;
@@ -2219,6 +2220,7 @@ int dasd_generic_read_dev_chars(struct dasd_device *device, char *magic,
2219 dasd_sfree_request(cqr, cqr->device); 2220 dasd_sfree_request(cqr, cqr->device);
2220 return ret; 2221 return ret;
2221} 2222}
2223EXPORT_SYMBOL_GPL(dasd_generic_read_dev_chars);
2222 2224
2223static int __init 2225static int __init
2224dasd_init(void) 2226dasd_init(void)
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c
index e810e4a44ed4..eccac1c3b71b 100644
--- a/drivers/s390/block/dasd_diag.c
+++ b/drivers/s390/block/dasd_diag.c
@@ -50,6 +50,7 @@ struct dasd_diag_private {
50 struct dasd_diag_rw_io iob; 50 struct dasd_diag_rw_io iob;
51 struct dasd_diag_init_io iib; 51 struct dasd_diag_init_io iib;
52 blocknum_t pt_block; 52 blocknum_t pt_block;
53 struct ccw_dev_id dev_id;
53}; 54};
54 55
55struct dasd_diag_req { 56struct dasd_diag_req {
@@ -102,7 +103,7 @@ mdsk_init_io(struct dasd_device *device, unsigned int blocksize,
102 iib = &private->iib; 103 iib = &private->iib;
103 memset(iib, 0, sizeof (struct dasd_diag_init_io)); 104 memset(iib, 0, sizeof (struct dasd_diag_init_io));
104 105
105 iib->dev_nr = _ccw_device_get_device_number(device->cdev); 106 iib->dev_nr = private->dev_id.devno;
106 iib->block_size = blocksize; 107 iib->block_size = blocksize;
107 iib->offset = offset; 108 iib->offset = offset;
108 iib->flaga = DASD_DIAG_FLAGA_DEFAULT; 109 iib->flaga = DASD_DIAG_FLAGA_DEFAULT;
@@ -127,7 +128,7 @@ mdsk_term_io(struct dasd_device * device)
127 private = (struct dasd_diag_private *) device->private; 128 private = (struct dasd_diag_private *) device->private;
128 iib = &private->iib; 129 iib = &private->iib;
129 memset(iib, 0, sizeof (struct dasd_diag_init_io)); 130 memset(iib, 0, sizeof (struct dasd_diag_init_io));
130 iib->dev_nr = _ccw_device_get_device_number(device->cdev); 131 iib->dev_nr = private->dev_id.devno;
131 rc = dia250(iib, TERM_BIO); 132 rc = dia250(iib, TERM_BIO);
132 return rc; 133 return rc;
133} 134}
@@ -166,7 +167,7 @@ dasd_start_diag(struct dasd_ccw_req * cqr)
166 private = (struct dasd_diag_private *) device->private; 167 private = (struct dasd_diag_private *) device->private;
167 dreq = (struct dasd_diag_req *) cqr->data; 168 dreq = (struct dasd_diag_req *) cqr->data;
168 169
169 private->iob.dev_nr = _ccw_device_get_device_number(device->cdev); 170 private->iob.dev_nr = private->dev_id.devno;
170 private->iob.key = 0; 171 private->iob.key = 0;
171 private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; 172 private->iob.flags = DASD_DIAG_RWFLAG_ASYNC;
172 private->iob.block_count = dreq->block_count; 173 private->iob.block_count = dreq->block_count;
@@ -323,11 +324,12 @@ dasd_diag_check_device(struct dasd_device *device)
323 "memory allocation failed for private data"); 324 "memory allocation failed for private data");
324 return -ENOMEM; 325 return -ENOMEM;
325 } 326 }
327 ccw_device_get_id(device->cdev, &private->dev_id);
326 device->private = (void *) private; 328 device->private = (void *) private;
327 } 329 }
328 /* Read Device Characteristics */ 330 /* Read Device Characteristics */
329 rdc_data = (void *) &(private->rdc_data); 331 rdc_data = (void *) &(private->rdc_data);
330 rdc_data->dev_nr = _ccw_device_get_device_number(device->cdev); 332 rdc_data->dev_nr = private->dev_id.devno;
331 rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics); 333 rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics);
332 334
333 rc = diag210((struct diag210 *) rdc_data); 335 rc = diag210((struct diag210 *) rdc_data);
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index c9583fbc2a7d..418b4e63a4fa 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -450,9 +450,9 @@ dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid)
450 return 0; 450 return 0;
451} 451}
452 452
453struct dasd_ccw_req * dasd_eckd_build_rcd_lpm(struct dasd_device *device, 453static struct dasd_ccw_req *dasd_eckd_build_rcd_lpm(struct dasd_device *device,
454 void *rcd_buffer, 454 void *rcd_buffer,
455 struct ciw *ciw, __u8 lpm) 455 struct ciw *ciw, __u8 lpm)
456{ 456{
457 struct dasd_ccw_req *cqr; 457 struct dasd_ccw_req *cqr;
458 struct ccw1 *ccw; 458 struct ccw1 *ccw;
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c
index 758cfb542865..672eb0a3dd0b 100644
--- a/drivers/s390/block/dasd_ioctl.c
+++ b/drivers/s390/block/dasd_ioctl.c
@@ -255,6 +255,7 @@ dasd_ioctl_information(struct dasd_device *device,
255 unsigned long flags; 255 unsigned long flags;
256 int rc; 256 int rc;
257 struct ccw_device *cdev; 257 struct ccw_device *cdev;
258 struct ccw_dev_id dev_id;
258 259
259 if (!device->discipline->fill_info) 260 if (!device->discipline->fill_info)
260 return -EINVAL; 261 return -EINVAL;
@@ -270,8 +271,9 @@ dasd_ioctl_information(struct dasd_device *device,
270 } 271 }
271 272
272 cdev = device->cdev; 273 cdev = device->cdev;
274 ccw_device_get_id(cdev, &dev_id);
273 275
274 dasd_info->devno = _ccw_device_get_device_number(device->cdev); 276 dasd_info->devno = dev_id.devno;
275 dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev); 277 dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev);
276 dasd_info->cu_type = cdev->id.cu_type; 278 dasd_info->cu_type = cdev->id.cu_type;
277 dasd_info->cu_model = cdev->id.cu_model; 279 dasd_info->cu_model = cdev->id.cu_model;
diff --git a/drivers/s390/Kconfig b/drivers/s390/char/Kconfig
index 165af398fdea..66102a184322 100644
--- a/drivers/s390/Kconfig
+++ b/drivers/s390/char/Kconfig
@@ -1,69 +1,9 @@
1config CCW
2 bool
3 default y
4
5source "drivers/block/Kconfig"
6
7source "drivers/md/Kconfig"
8
9
10menu "Character device drivers"
11
12config UNIX98_PTYS
13 bool "Unix98 PTY support"
14 ---help---
15 A pseudo terminal (PTY) is a software device consisting of two
16 halves: a master and a slave. The slave device behaves identical to
17 a physical terminal; the master device is used by a process to
18 read data from and write data to the slave, thereby emulating a
19 terminal. Typical programs for the master side are telnet servers
20 and xterms.
21
22 Linux has traditionally used the BSD-like names /dev/ptyxx for
23 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
24 has a number of problems. The GNU C library glibc 2.1 and later,
25 however, supports the Unix98 naming standard: in order to acquire a
26 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
27 terminal is then made available to the process and the pseudo
28 terminal slave can be accessed as /dev/pts/<number>. What was
29 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
30
31 The entries in /dev/pts/ are created on the fly by a virtual
32 file system; therefore, if you say Y here you should say Y to
33 "/dev/pts file system for Unix98 PTYs" as well.
34
35 If you want to say Y here, you need to have the C library glibc 2.1
36 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
37 Read the instructions in <file:Documentation/Changes> pertaining to
38 pseudo terminals. It's safe to say N.
39
40config UNIX98_PTY_COUNT
41 int "Maximum number of Unix98 PTYs in use (0-2048)"
42 depends on UNIX98_PTYS
43 default "256"
44 help
45 The maximum number of Unix98 PTYs that can be used at any one time.
46 The default is 256, and should be enough for desktop systems. Server
47 machines which support incoming telnet/rlogin/ssh connections and/or
48 serve several X terminals may want to increase this: every incoming
49 connection and every xterm uses up one PTY.
50
51 When not in use, each additional set of 256 PTYs occupy
52 approximately 8 KB of kernel memory on 32-bit architectures.
53
54config HANGCHECK_TIMER
55 tristate "Hangcheck timer"
56 help
57 The hangcheck-timer module detects when the system has gone
58 out to lunch past a certain margin. It can reboot the system
59 or merely print a warning.
60
61source "drivers/char/watchdog/Kconfig"
62
63comment "S/390 character device drivers" 1comment "S/390 character device drivers"
2 depends on S390
64 3
65config TN3270 4config TN3270
66 tristate "Support for locally attached 3270 terminals" 5 tristate "Support for locally attached 3270 terminals"
6 depends on CCW
67 help 7 help
68 Include support for IBM 3270 terminals. 8 Include support for IBM 3270 terminals.
69 9
@@ -88,6 +28,7 @@ config TN3270_CONSOLE
88 28
89config TN3215 29config TN3215
90 bool "Support for 3215 line mode terminal" 30 bool "Support for 3215 line mode terminal"
31 depends on CCW
91 help 32 help
92 Include support for IBM 3215 line-mode terminals. 33 Include support for IBM 3215 line-mode terminals.
93 34
@@ -99,12 +40,19 @@ config TN3215_CONSOLE
99 Linux system console. 40 Linux system console.
100 41
101config CCW_CONSOLE 42config CCW_CONSOLE
102 bool 43 bool
103 depends on TN3215_CONSOLE || TN3270_CONSOLE 44 depends on TN3215_CONSOLE || TN3270_CONSOLE
104 default y 45 default y
105 46
47config SCLP
48 bool "Support for SCLP"
49 depends on S390
50 help
51 Include support for the SCLP interface to the service element.
52
106config SCLP_TTY 53config SCLP_TTY
107 bool "Support for SCLP line mode terminal" 54 bool "Support for SCLP line mode terminal"
55 depends on SCLP
108 help 56 help
109 Include support for IBM SCLP line-mode terminals. 57 Include support for IBM SCLP line-mode terminals.
110 58
@@ -117,6 +65,7 @@ config SCLP_CONSOLE
117 65
118config SCLP_VT220_TTY 66config SCLP_VT220_TTY
119 bool "Support for SCLP VT220-compatible terminal" 67 bool "Support for SCLP VT220-compatible terminal"
68 depends on SCLP
120 help 69 help
121 Include support for an IBM SCLP VT220-compatible terminal. 70 Include support for an IBM SCLP VT220-compatible terminal.
122 71
@@ -129,6 +78,7 @@ config SCLP_VT220_CONSOLE
129 78
130config SCLP_CPI 79config SCLP_CPI
131 tristate "Control-Program Identification" 80 tristate "Control-Program Identification"
81 depends on SCLP
132 help 82 help
133 This option enables the hardware console interface for system 83 This option enables the hardware console interface for system
134 identification. This is commonly used for workload management and 84 identification. This is commonly used for workload management and
@@ -140,6 +90,7 @@ config SCLP_CPI
140 90
141config S390_TAPE 91config S390_TAPE
142 tristate "S/390 tape device support" 92 tristate "S/390 tape device support"
93 depends on CCW
143 help 94 help
144 Select this option if you want to access channel-attached tape 95 Select this option if you want to access channel-attached tape
145 devices on IBM S/390 or zSeries. 96 devices on IBM S/390 or zSeries.
@@ -194,6 +145,7 @@ config VMLOGRDR
194 145
195config VMCP 146config VMCP
196 tristate "Support for the z/VM CP interface (VM only)" 147 tristate "Support for the z/VM CP interface (VM only)"
148 depends on S390
197 help 149 help
198 Select this option if you want to be able to interact with the control 150 Select this option if you want to be able to interact with the control
199 program on z/VM 151 program on z/VM
@@ -207,33 +159,8 @@ config MONREADER
207 159
208config MONWRITER 160config MONWRITER
209 tristate "API for writing z/VM monitor service records" 161 tristate "API for writing z/VM monitor service records"
162 depends on S390
210 default "m" 163 default "m"
211 help 164 help
212 Character device driver for writing z/VM monitor service records 165 Character device driver for writing z/VM monitor service records
213 166
214endmenu
215
216menu "Cryptographic devices"
217
218config ZCRYPT
219 tristate "Support for PCI-attached cryptographic adapters"
220 select ZCRYPT_MONOLITHIC if ZCRYPT="y"
221 default "m"
222 help
223 Select this option if you want to use a PCI-attached cryptographic
224 adapter like:
225 + PCI Cryptographic Accelerator (PCICA)
226 + PCI Cryptographic Coprocessor (PCICC)
227 + PCI-X Cryptographic Coprocessor (PCIXCC)
228 + Crypto Express2 Coprocessor (CEX2C)
229 + Crypto Express2 Accelerator (CEX2A)
230
231config ZCRYPT_MONOLITHIC
232 bool "Monolithic zcrypt module"
233 depends on ZCRYPT="m"
234 help
235 Select this option if you want to have a single module z90crypt.ko
236 that contains all parts of the crypto device driver (ap bus,
237 request router and all the card drivers).
238
239endmenu
diff --git a/drivers/s390/char/monreader.c b/drivers/s390/char/monreader.c
index 8df7b1323c05..67009bfa093e 100644
--- a/drivers/s390/char/monreader.c
+++ b/drivers/s390/char/monreader.c
@@ -97,7 +97,7 @@ static u8 user_data_sever[16] = {
97 * Create the 8 bytes EBCDIC DCSS segment name from 97 * Create the 8 bytes EBCDIC DCSS segment name from
98 * an ASCII name, incl. padding 98 * an ASCII name, incl. padding
99 */ 99 */
100static inline void dcss_mkname(char *ascii_name, char *ebcdic_name) 100static void dcss_mkname(char *ascii_name, char *ebcdic_name)
101{ 101{
102 int i; 102 int i;
103 103
@@ -191,7 +191,7 @@ static inline u32 mon_rec_end(struct mon_msg *monmsg)
191 return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 8)); 191 return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 8));
192} 192}
193 193
194static inline int mon_check_mca(struct mon_msg *monmsg) 194static int mon_check_mca(struct mon_msg *monmsg)
195{ 195{
196 if ((mon_rec_end(monmsg) <= mon_rec_start(monmsg)) || 196 if ((mon_rec_end(monmsg) <= mon_rec_start(monmsg)) ||
197 (mon_rec_start(monmsg) < mon_dcss_start) || 197 (mon_rec_start(monmsg) < mon_dcss_start) ||
@@ -209,8 +209,8 @@ static inline int mon_check_mca(struct mon_msg *monmsg)
209 return 0; 209 return 0;
210} 210}
211 211
212static inline int mon_send_reply(struct mon_msg *monmsg, 212static int mon_send_reply(struct mon_msg *monmsg,
213 struct mon_private *monpriv) 213 struct mon_private *monpriv)
214{ 214{
215 int rc; 215 int rc;
216 216
@@ -236,7 +236,7 @@ static inline int mon_send_reply(struct mon_msg *monmsg,
236 return 0; 236 return 0;
237} 237}
238 238
239static inline void mon_free_mem(struct mon_private *monpriv) 239static void mon_free_mem(struct mon_private *monpriv)
240{ 240{
241 int i; 241 int i;
242 242
@@ -246,7 +246,7 @@ static inline void mon_free_mem(struct mon_private *monpriv)
246 kfree(monpriv); 246 kfree(monpriv);
247} 247}
248 248
249static inline struct mon_private *mon_alloc_mem(void) 249static struct mon_private *mon_alloc_mem(void)
250{ 250{
251 int i; 251 int i;
252 struct mon_private *monpriv; 252 struct mon_private *monpriv;
@@ -307,7 +307,7 @@ static inline void mon_next_mca(struct mon_msg *monmsg)
307 monmsg->pos = 0; 307 monmsg->pos = 0;
308} 308}
309 309
310static inline struct mon_msg *mon_next_message(struct mon_private *monpriv) 310static struct mon_msg *mon_next_message(struct mon_private *monpriv)
311{ 311{
312 struct mon_msg *monmsg; 312 struct mon_msg *monmsg;
313 313
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index 8facd14adb7c..f6ef90ee3e7d 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -589,9 +589,10 @@ static int
589__raw3270_size_device_vm(struct raw3270 *rp) 589__raw3270_size_device_vm(struct raw3270 *rp)
590{ 590{
591 int rc, model; 591 int rc, model;
592 struct ccw_dev_id dev_id;
592 593
593 raw3270_init_diag210.vrdcdvno = 594 ccw_device_get_id(rp->cdev, &dev_id);
594 _ccw_device_get_device_number(rp->cdev); 595 raw3270_init_diag210.vrdcdvno = dev_id.devno;
595 raw3270_init_diag210.vrdclen = sizeof(struct diag210); 596 raw3270_init_diag210.vrdclen = sizeof(struct diag210);
596 rc = diag210(&raw3270_init_diag210); 597 rc = diag210(&raw3270_init_diag210);
597 if (rc) 598 if (rc)
diff --git a/drivers/s390/char/sclp.h b/drivers/s390/char/sclp.h
index 87ac4a3ad49d..dbb99d1b6f57 100644
--- a/drivers/s390/char/sclp.h
+++ b/drivers/s390/char/sclp.h
@@ -132,6 +132,9 @@ int sclp_deactivate(void);
132int sclp_reactivate(void); 132int sclp_reactivate(void);
133int sclp_service_call(sclp_cmdw_t command, void *sccb); 133int sclp_service_call(sclp_cmdw_t command, void *sccb);
134 134
135int sclp_sdias_init(void);
136void sclp_sdias_exit(void);
137
135/* useful inlines */ 138/* useful inlines */
136 139
137/* VM uses EBCDIC 037, LPAR+native(SE+HMC) use EBCDIC 500 */ 140/* VM uses EBCDIC 037, LPAR+native(SE+HMC) use EBCDIC 500 */
diff --git a/drivers/s390/char/sclp_sdias.c b/drivers/s390/char/sclp_sdias.c
index 52283daddaef..1c064976b32b 100644
--- a/drivers/s390/char/sclp_sdias.c
+++ b/drivers/s390/char/sclp_sdias.c
@@ -66,9 +66,9 @@ static DEFINE_MUTEX(sdias_mutex);
66 66
67static void sdias_callback(struct sclp_req *request, void *data) 67static void sdias_callback(struct sclp_req *request, void *data)
68{ 68{
69 struct sdias_sccb *sccb; 69 struct sdias_sccb *cbsccb;
70 70
71 sccb = (struct sdias_sccb *) request->sccb; 71 cbsccb = (struct sdias_sccb *) request->sccb;
72 sclp_req_done = 1; 72 sclp_req_done = 1;
73 wake_up(&sdias_wq); /* Inform caller, that request is complete */ 73 wake_up(&sdias_wq); /* Inform caller, that request is complete */
74 TRACE("callback done\n"); 74 TRACE("callback done\n");
@@ -229,7 +229,7 @@ out:
229 return rc; 229 return rc;
230} 230}
231 231
232int __init sdias_init(void) 232int __init sclp_sdias_init(void)
233{ 233{
234 int rc; 234 int rc;
235 235
@@ -248,7 +248,7 @@ int __init sdias_init(void)
248 return 0; 248 return 0;
249} 249}
250 250
251void __exit sdias_exit(void) 251void __exit sclp_sdias_exit(void)
252{ 252{
253 debug_unregister(sdias_dbf); 253 debug_unregister(sdias_dbf);
254 sclp_unregister(&sclp_sdias_register); 254 sclp_unregister(&sclp_sdias_register);
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c
index 89d439316a53..66eb0688d523 100644
--- a/drivers/s390/char/zcore.c
+++ b/drivers/s390/char/zcore.c
@@ -21,6 +21,7 @@
21#include <asm/debug.h> 21#include <asm/debug.h>
22#include <asm/processor.h> 22#include <asm/processor.h>
23#include <asm/irqflags.h> 23#include <asm/irqflags.h>
24#include "sclp.h"
24 25
25#define TRACE(x...) debug_sprintf_event(zcore_dbf, 1, x) 26#define TRACE(x...) debug_sprintf_event(zcore_dbf, 1, x)
26#define MSG(x...) printk( KERN_ALERT x ) 27#define MSG(x...) printk( KERN_ALERT x )
@@ -564,8 +565,6 @@ static void __init zcore_header_init(int arch, struct zcore_header *hdr)
564 get_cpu_id(&hdr->cpu_id); 565 get_cpu_id(&hdr->cpu_id);
565} 566}
566 567
567extern int sdias_init(void);
568
569static int __init zcore_init(void) 568static int __init zcore_init(void)
570{ 569{
571 unsigned char arch; 570 unsigned char arch;
@@ -582,7 +581,7 @@ static int __init zcore_init(void)
582 TRACE("wwpn: %llx\n", (unsigned long long) ipl_info.data.fcp.wwpn); 581 TRACE("wwpn: %llx\n", (unsigned long long) ipl_info.data.fcp.wwpn);
583 TRACE("lun: %llx\n", (unsigned long long) ipl_info.data.fcp.lun); 582 TRACE("lun: %llx\n", (unsigned long long) ipl_info.data.fcp.lun);
584 583
585 rc = sdias_init(); 584 rc = sclp_sdias_init();
586 if (rc) 585 if (rc)
587 goto fail; 586 goto fail;
588 587
@@ -634,12 +633,10 @@ fail:
634 return rc; 633 return rc;
635} 634}
636 635
637extern void sdias_exit(void);
638
639static void __exit zcore_exit(void) 636static void __exit zcore_exit(void)
640{ 637{
641 debug_unregister(zcore_dbf); 638 debug_unregister(zcore_dbf);
642 sdias_exit(); 639 sclp_sdias_exit();
643 diag308(DIAG308_REL_HSA, NULL); 640 diag308(DIAG308_REL_HSA, NULL);
644} 641}
645 642
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 27c6d9e55b23..dfca0ef139fd 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -191,8 +191,7 @@ static int css_register_subchannel(struct subchannel *sch)
191 return ret; 191 return ret;
192} 192}
193 193
194int 194static int css_probe_device(struct subchannel_id schid)
195css_probe_device(struct subchannel_id schid)
196{ 195{
197 int ret; 196 int ret;
198 struct subchannel *sch; 197 struct subchannel *sch;
diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h
index 71fcfdc42800..ed7977531c3f 100644
--- a/drivers/s390/cio/css.h
+++ b/drivers/s390/cio/css.h
@@ -138,9 +138,7 @@ struct css_driver {
138 * all css_drivers have the css_bus_type 138 * all css_drivers have the css_bus_type
139 */ 139 */
140extern struct bus_type css_bus_type; 140extern struct bus_type css_bus_type;
141extern struct css_driver io_subchannel_driver;
142 141
143extern int css_probe_device(struct subchannel_id);
144extern int css_sch_device_register(struct subchannel *); 142extern int css_sch_device_register(struct subchannel *);
145extern void css_sch_device_unregister(struct subchannel *); 143extern void css_sch_device_unregister(struct subchannel *);
146extern struct subchannel * get_subchannel_by_schid(struct subchannel_id); 144extern struct subchannel * get_subchannel_by_schid(struct subchannel_id);
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index a23ff582db9d..a8b373f69cf0 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -129,7 +129,7 @@ static void io_subchannel_verify(struct device *);
129static void io_subchannel_ioterm(struct device *); 129static void io_subchannel_ioterm(struct device *);
130static void io_subchannel_shutdown(struct subchannel *); 130static void io_subchannel_shutdown(struct subchannel *);
131 131
132struct css_driver io_subchannel_driver = { 132static struct css_driver io_subchannel_driver = {
133 .subchannel_type = SUBCHANNEL_TYPE_IO, 133 .subchannel_type = SUBCHANNEL_TYPE_IO,
134 .drv = { 134 .drv = {
135 .name = "io_subchannel", 135 .name = "io_subchannel",
@@ -546,7 +546,7 @@ static struct attribute_group ccwdev_attr_group = {
546 .attrs = ccwdev_attrs, 546 .attrs = ccwdev_attrs,
547}; 547};
548 548
549struct attribute_group *ccwdev_attr_groups[] = { 549static struct attribute_group *ccwdev_attr_groups[] = {
550 &ccwdev_attr_group, 550 &ccwdev_attr_group,
551 NULL, 551 NULL,
552}; 552};
diff --git a/drivers/s390/cio/device_ops.c b/drivers/s390/cio/device_ops.c
index 16f59fcb66b1..a5d263fb55ae 100644
--- a/drivers/s390/cio/device_ops.c
+++ b/drivers/s390/cio/device_ops.c
@@ -616,6 +616,17 @@ ccw_device_get_chp_desc(struct ccw_device *cdev, int chp_no)
616 return chp_get_chp_desc(chpid); 616 return chp_get_chp_desc(chpid);
617} 617}
618 618
619/**
620 * ccw_device_get_id - obtain a ccw device id
621 * @cdev: device to obtain the id for
622 * @dev_id: where to fill in the values
623 */
624void ccw_device_get_id(struct ccw_device *cdev, struct ccw_dev_id *dev_id)
625{
626 *dev_id = cdev->private->dev_id;
627}
628EXPORT_SYMBOL(ccw_device_get_id);
629
619// FIXME: these have to go: 630// FIXME: these have to go:
620 631
621int 632int
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c
index f770018fe1d5..e70aeb7a3781 100644
--- a/drivers/s390/cio/qdio.c
+++ b/drivers/s390/cio/qdio.c
@@ -1983,6 +1983,7 @@ qdio_handle_pci(struct qdio_irq *irq_ptr)
1983 if (q->is_input_q&QDIO_FLAG_NO_INPUT_INTERRUPT_CONTEXT) 1983 if (q->is_input_q&QDIO_FLAG_NO_INPUT_INTERRUPT_CONTEXT)
1984 qdio_mark_q(q); 1984 qdio_mark_q(q);
1985 else { 1985 else {
1986 qdio_perf_stat_dec(&perf_stats.tl_runs);
1986 __qdio_inbound_processing(q); 1987 __qdio_inbound_processing(q);
1987 } 1988 }
1988 } 1989 }
diff --git a/drivers/s390/net/Kconfig b/drivers/s390/net/Kconfig
index f98fa465df0a..eada69dec4fe 100644
--- a/drivers/s390/net/Kconfig
+++ b/drivers/s390/net/Kconfig
@@ -3,7 +3,7 @@ menu "S/390 network device drivers"
3 3
4config LCS 4config LCS
5 tristate "Lan Channel Station Interface" 5 tristate "Lan Channel Station Interface"
6 depends on NETDEVICES && (NET_ETHERNET || TR || FDDI) 6 depends on CCW && NETDEVICES && (NET_ETHERNET || TR || FDDI)
7 help 7 help
8 Select this option if you want to use LCS networking on IBM S/390 8 Select this option if you want to use LCS networking on IBM S/390
9 or zSeries. This device driver supports Token Ring (IEEE 802.5), 9 or zSeries. This device driver supports Token Ring (IEEE 802.5),
@@ -13,7 +13,7 @@ config LCS
13 13
14config CTC 14config CTC
15 tristate "CTC device support" 15 tristate "CTC device support"
16 depends on NETDEVICES 16 depends on CCW && NETDEVICES
17 help 17 help
18 Select this option if you want to use channel-to-channel networking 18 Select this option if you want to use channel-to-channel networking
19 on IBM S/390 or zSeries. This device driver supports real CTC 19 on IBM S/390 or zSeries. This device driver supports real CTC
@@ -42,7 +42,7 @@ config SMSGIUCV
42 42
43config CLAW 43config CLAW
44 tristate "CLAW device support" 44 tristate "CLAW device support"
45 depends on NETDEVICES 45 depends on CCW && NETDEVICES
46 help 46 help
47 This driver supports channel attached CLAW devices. 47 This driver supports channel attached CLAW devices.
48 CLAW is Common Link Access for Workstation. Common devices 48 CLAW is Common Link Access for Workstation. Common devices
@@ -52,7 +52,7 @@ config CLAW
52 52
53config QETH 53config QETH
54 tristate "Gigabit Ethernet device support" 54 tristate "Gigabit Ethernet device support"
55 depends on NETDEVICES && IP_MULTICAST && QDIO 55 depends on CCW && NETDEVICES && IP_MULTICAST && QDIO
56 help 56 help
57 This driver supports the IBM S/390 and zSeries OSA Express adapters 57 This driver supports the IBM S/390 and zSeries OSA Express adapters
58 in QDIO mode (all media types), HiperSockets interfaces and VM GuestLAN 58 in QDIO mode (all media types), HiperSockets interfaces and VM GuestLAN
diff --git a/drivers/s390/net/qeth_mpc.c b/drivers/s390/net/qeth_mpc.c
index f54fdfdbf06f..f29a4bc4f6f2 100644
--- a/drivers/s390/net/qeth_mpc.c
+++ b/drivers/s390/net/qeth_mpc.c
@@ -162,7 +162,7 @@ struct ipa_rc_msg {
162 char *msg; 162 char *msg;
163}; 163};
164 164
165struct ipa_rc_msg qeth_ipa_rc_msg[] = { 165static struct ipa_rc_msg qeth_ipa_rc_msg[] = {
166 {IPA_RC_SUCCESS, "success"}, 166 {IPA_RC_SUCCESS, "success"},
167 {IPA_RC_NOTSUPP, "Command not supported"}, 167 {IPA_RC_NOTSUPP, "Command not supported"},
168 {IPA_RC_IP_TABLE_FULL, "Add Addr IP Table Full - ipv6"}, 168 {IPA_RC_IP_TABLE_FULL, "Add Addr IP Table Full - ipv6"},
@@ -226,7 +226,7 @@ struct ipa_cmd_names {
226 char *name; 226 char *name;
227}; 227};
228 228
229struct ipa_cmd_names qeth_ipa_cmd_names[] = { 229static struct ipa_cmd_names qeth_ipa_cmd_names[] = {
230 {IPA_CMD_STARTLAN, "startlan"}, 230 {IPA_CMD_STARTLAN, "startlan"},
231 {IPA_CMD_STOPLAN, "stoplan"}, 231 {IPA_CMD_STOPLAN, "stoplan"},
232 {IPA_CMD_SETVMAC, "setvmac"}, 232 {IPA_CMD_SETVMAC, "setvmac"},
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 324899c96efe..ddff40c4212c 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -607,8 +607,7 @@ zfcp_sg_list_free(struct zfcp_sg_list *sg_list)
607 * @sg_count: elements in array 607 * @sg_count: elements in array
608 * Return: size of entire scatter-gather list 608 * Return: size of entire scatter-gather list
609 */ 609 */
610size_t 610static size_t zfcp_sg_size(struct scatterlist *sg, unsigned int sg_count)
611zfcp_sg_size(struct scatterlist *sg, unsigned int sg_count)
612{ 611{
613 unsigned int i; 612 unsigned int i;
614 struct scatterlist *p; 613 struct scatterlist *p;
@@ -975,8 +974,7 @@ zfcp_free_low_mem_buffers(struct zfcp_adapter *adapter)
975 mempool_destroy(adapter->pool.data_gid_pn); 974 mempool_destroy(adapter->pool.data_gid_pn);
976} 975}
977 976
978void 977static void zfcp_dummy_release(struct device *dev)
979zfcp_dummy_release(struct device *dev)
980{ 978{
981 return; 979 return;
982} 980}
@@ -1336,7 +1334,7 @@ zfcp_nameserver_enqueue(struct zfcp_adapter *adapter)
1336 1334
1337#define ZFCP_LOG_AREA ZFCP_LOG_AREA_FC 1335#define ZFCP_LOG_AREA ZFCP_LOG_AREA_FC
1338 1336
1339void 1337static void
1340zfcp_fsf_incoming_els_rscn(struct zfcp_adapter *adapter, 1338zfcp_fsf_incoming_els_rscn(struct zfcp_adapter *adapter,
1341 struct fsf_status_read_buffer *status_buffer) 1339 struct fsf_status_read_buffer *status_buffer)
1342{ 1340{
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index d8191d115c14..5f3212440f68 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -478,7 +478,7 @@ static struct debug_view zfcp_hba_dbf_view = {
478 NULL 478 NULL
479}; 479};
480 480
481void 481static void
482_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req, 482_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req,
483 u32 s_id, u32 d_id, void *buffer, int buflen) 483 u32 s_id, u32 d_id, void *buffer, int buflen)
484{ 484{
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index e8efe938c4e7..a6f5bfbb777b 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -5,6 +5,7 @@
5# 5#
6 6
7menu "Serial drivers" 7menu "Serial drivers"
8 depends on HAS_IOMEM
8 9
9# 10#
10# The new 8250/16550 serial drivers 11# The new 8250/16550 serial drivers
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 07c587ec71be..7c9d37f651e3 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -6,6 +6,7 @@
6# fully appropriate there, so it'd need some thought to do well. 6# fully appropriate there, so it'd need some thought to do well.
7# 7#
8menu "SPI support" 8menu "SPI support"
9 depends on HAS_IOMEM
9 10
10config SPI 11config SPI
11 bool "SPI support" 12 bool "SPI support"
diff --git a/drivers/telephony/Kconfig b/drivers/telephony/Kconfig
index 7625b1816baf..dd1d6a53f3c0 100644
--- a/drivers/telephony/Kconfig
+++ b/drivers/telephony/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Telephony Support" 5menu "Telephony Support"
6 depends on HAS_IOMEM
6 7
7config PHONE 8config PHONE
8 tristate "Linux telephony support" 9 tristate "Linux telephony support"
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 278a22cea5bf..15499b7e33f4 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "USB support" 5menu "USB support"
6 depends on HAS_IOMEM
6 7
7# Host-side USB depends on having a host controller 8# Host-side USB depends on having a host controller
8# NOTE: dummy_hcd is always an option, but it's ignored here ... 9# NOTE: dummy_hcd is always an option, but it's ignored here ...
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 9a256d2ff9dc..f54438828cb9 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -3,6 +3,7 @@
3# 3#
4 4
5menu "Graphics support" 5menu "Graphics support"
6 depends on HAS_IOMEM
6 7
7source "drivers/video/backlight/Kconfig" 8source "drivers/video/backlight/Kconfig"
8source "drivers/video/display/Kconfig" 9source "drivers/video/display/Kconfig"
diff --git a/drivers/w1/Kconfig b/drivers/w1/Kconfig
index c287a9ae4fdd..ca75b3ad3a2e 100644
--- a/drivers/w1/Kconfig
+++ b/drivers/w1/Kconfig
@@ -1,4 +1,5 @@
1menu "Dallas's 1-wire bus" 1menu "Dallas's 1-wire bus"
2 depends on HAS_IOMEM
2 3
3config W1 4config W1
4 tristate "Dallas's 1-wire support" 5 tristate "Dallas's 1-wire support"
diff --git a/include/asm-s390/ccwdev.h b/include/asm-s390/ccwdev.h
index 6795ecefd15b..4c2e1710f157 100644
--- a/include/asm-s390/ccwdev.h
+++ b/include/asm-s390/ccwdev.h
@@ -16,6 +16,7 @@
16/* structs from asm/cio.h */ 16/* structs from asm/cio.h */
17struct irb; 17struct irb;
18struct ccw1; 18struct ccw1;
19struct ccw_dev_id;
19 20
20/* simplified initializers for struct ccw_device: 21/* simplified initializers for struct ccw_device:
21 * CCW_DEVICE and CCW_DEVICE_DEVTYPE initialize one 22 * CCW_DEVICE and CCW_DEVICE_DEVTYPE initialize one
@@ -175,6 +176,7 @@ extern int ccw_device_set_offline(struct ccw_device *cdev);
175 176
176extern struct ciw *ccw_device_get_ciw(struct ccw_device *, __u32 cmd); 177extern struct ciw *ccw_device_get_ciw(struct ccw_device *, __u32 cmd);
177extern __u8 ccw_device_get_path_mask(struct ccw_device *); 178extern __u8 ccw_device_get_path_mask(struct ccw_device *);
179extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *);
178 180
179#define get_ccwdev_lock(x) (x)->ccwlock 181#define get_ccwdev_lock(x) (x)->ccwlock
180 182
@@ -184,7 +186,6 @@ extern __u8 ccw_device_get_path_mask(struct ccw_device *);
184extern struct ccw_device *ccw_device_probe_console(void); 186extern struct ccw_device *ccw_device_probe_console(void);
185 187
186// FIXME: these have to go 188// FIXME: these have to go
187extern int _ccw_device_get_device_number(struct ccw_device *);
188extern int _ccw_device_get_subchannel_number(struct ccw_device *); 189extern int _ccw_device_get_subchannel_number(struct ccw_device *);
189 190
190extern void *ccw_device_get_chp_desc(struct ccw_device *, int); 191extern void *ccw_device_get_chp_desc(struct ccw_device *, int);
diff --git a/include/asm-s390/ipl.h b/include/asm-s390/ipl.h
index bdcd448d43fb..2c40fd3a137f 100644
--- a/include/asm-s390/ipl.h
+++ b/include/asm-s390/ipl.h
@@ -79,8 +79,8 @@ struct ipl_parameter_block {
79 * IPL validity flags 79 * IPL validity flags
80 */ 80 */
81extern u32 ipl_flags; 81extern u32 ipl_flags;
82
83extern u32 dump_prefix_page; 82extern u32 dump_prefix_page;
83extern unsigned int zfcpdump_prefix_array[];
84 84
85extern void do_reipl(void); 85extern void do_reipl(void);
86extern void ipl_save_parameters(void); 86extern void ipl_save_parameters(void);
diff --git a/include/asm-s390/param.h b/include/asm-s390/param.h
index 085a7e229b23..34aaa4603347 100644
--- a/include/asm-s390/param.h
+++ b/include/asm-s390/param.h
@@ -10,7 +10,7 @@
10#define _ASMS390_PARAM_H 10#define _ASMS390_PARAM_H
11 11
12#ifdef __KERNEL__ 12#ifdef __KERNEL__
13# define HZ 100 /* Internal kernel timer frequency */ 13# define HZ CONFIG_HZ /* Internal kernel timer frequency */
14# define USER_HZ 100 /* .. some user interfaces are in "ticks" */ 14# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
15# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ 15# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
16#endif 16#endif
diff --git a/net/Kconfig b/net/Kconfig
index caeacd16656a..f3de72978ab6 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -218,6 +218,7 @@ config FIB_RULES
218 bool 218 bool
219 219
220menu "Wireless" 220menu "Wireless"
221 depends on !S390
221 222
222source "net/wireless/Kconfig" 223source "net/wireless/Kconfig"
223source "net/mac80211/Kconfig" 224source "net/mac80211/Kconfig"
diff --git a/net/ax25/Kconfig b/net/ax25/Kconfig
index 43dd86fca4d3..2a72aa96a568 100644
--- a/net/ax25/Kconfig
+++ b/net/ax25/Kconfig
@@ -3,7 +3,7 @@
3# 3#
4 4
5menuconfig HAMRADIO 5menuconfig HAMRADIO
6 depends on NET 6 depends on NET && !S390
7 bool "Amateur Radio support" 7 bool "Amateur Radio support"
8 help 8 help
9 If you want to connect your Linux box to an amateur radio, answer Y 9 If you want to connect your Linux box to an amateur radio, answer Y
diff --git a/net/bluetooth/Kconfig b/net/bluetooth/Kconfig
index 6929490d095a..7725da95a767 100644
--- a/net/bluetooth/Kconfig
+++ b/net/bluetooth/Kconfig
@@ -3,7 +3,7 @@
3# 3#
4 4
5menuconfig BT 5menuconfig BT
6 depends on NET 6 depends on NET && !S390
7 tristate "Bluetooth subsystem support" 7 tristate "Bluetooth subsystem support"
8 help 8 help
9 Bluetooth is low-cost, low-power, short-range wireless technology. 9 Bluetooth is low-cost, low-power, short-range wireless technology.
diff --git a/net/irda/Kconfig b/net/irda/Kconfig
index 9efb17ba48ac..c8671a7ffb3c 100644
--- a/net/irda/Kconfig
+++ b/net/irda/Kconfig
@@ -3,7 +3,7 @@
3# 3#
4 4
5menuconfig IRDA 5menuconfig IRDA
6 depends on NET 6 depends on NET && !S390
7 tristate "IrDA (infrared) subsystem support" 7 tristate "IrDA (infrared) subsystem support"
8 select CRC_CCITT 8 select CRC_CCITT
9 ---help--- 9 ---help---
diff --git a/sound/Kconfig b/sound/Kconfig
index 97532bbc2ccb..9ea473823418 100644
--- a/sound/Kconfig
+++ b/sound/Kconfig
@@ -2,6 +2,7 @@
2# 2#
3 3
4menu "Sound" 4menu "Sound"
5 depends on HAS_IOMEM
5 6
6config SOUND 7config SOUND
7 tristate "Sound card support" 8 tristate "Sound card support"