Commit fc0b60f1 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] update default configuration.
  [S390] Kconfig: no wireless on s390.
  [S390] Kconfig: use common Kconfig files for s390.
  [S390] Kconfig: common config options for s390.
  [S390] Kconfig: unwanted menus for s390.
  [S390] Kconfig: menus with depends on HAS_IOMEM.
  [S390] Kconfig: refine depends statements.
  [S390] Avoid compile warning.
  [S390] qdio: re-add lost perf_stats.tl_runs change in qdio_handle_pci
  [S390] Avoid sparse warnings.
  [S390] dasd: Fix modular build.
  [S390] monreader inlining cleanup.
  [S390] cio: Make some structures and a function static.
  [S390] cio: Get rid of _ccw_device_get_device_number().
  [S390] fix subsystem removal fallout
parents e9910846 906fc9e9
...@@ -4,27 +4,23 @@ ...@@ -4,27 +4,23 @@
# #
config MMU config MMU
bool def_bool y
default y
config ZONE_DMA config ZONE_DMA
def_bool y def_bool y
depends on 64BIT depends on 64BIT
config LOCKDEP_SUPPORT config LOCKDEP_SUPPORT
bool def_bool y
default y
config STACKTRACE_SUPPORT config STACKTRACE_SUPPORT
bool def_bool y
default y
config RWSEM_GENERIC_SPINLOCK config RWSEM_GENERIC_SPINLOCK
bool bool
config RWSEM_XCHGADD_ALGORITHM config RWSEM_XCHGADD_ALGORITHM
bool def_bool y
default y
config ARCH_HAS_ILOG2_U32 config ARCH_HAS_ILOG2_U32
bool bool
...@@ -35,8 +31,7 @@ config ARCH_HAS_ILOG2_U64 ...@@ -35,8 +31,7 @@ config ARCH_HAS_ILOG2_U64
default n default n
config GENERIC_HWEIGHT config GENERIC_HWEIGHT
bool def_bool y
default y
config GENERIC_TIME config GENERIC_TIME
def_bool y def_bool y
...@@ -55,8 +50,7 @@ config NO_DMA ...@@ -55,8 +50,7 @@ config NO_DMA
mainmenu "Linux Kernel Configuration" mainmenu "Linux Kernel Configuration"
config S390 config S390
bool def_bool y
default y
source "init/Kconfig" source "init/Kconfig"
...@@ -280,6 +274,10 @@ config WARN_STACK_SIZE ...@@ -280,6 +274,10 @@ config WARN_STACK_SIZE
config ARCH_POPULATES_NODE_MAP config ARCH_POPULATES_NODE_MAP
def_bool y def_bool y
comment "Kernel preemption"
source "kernel/Kconfig.preempt"
source "mm/Kconfig" source "mm/Kconfig"
config HOLES_IN_ZONE config HOLES_IN_ZONE
...@@ -320,17 +318,6 @@ config QDIO_DEBUG ...@@ -320,17 +318,6 @@ config QDIO_DEBUG
comment "Misc" comment "Misc"
config PREEMPT
bool "Preemptible Kernel"
help
This option reduces the latency of the kernel when reacting to
real-time or interactive events by allowing a low priority process to
be preempted even if it is in kernel mode executing a system call.
This allows applications to run more reliably even when the system is
under load.
Say N if you are unsure.
config IPL config IPL
bool "Builtin IPL record support" bool "Builtin IPL record support"
help help
...@@ -488,6 +475,8 @@ config APPLDATA_NET_SUM ...@@ -488,6 +475,8 @@ config APPLDATA_NET_SUM
This can also be compiled as a module, which will be called This can also be compiled as a module, which will be called
appldata_net_sum.o. appldata_net_sum.o.
source kernel/Kconfig.hz
config NO_IDLE_HZ config NO_IDLE_HZ
bool "No HZ timer ticks in idle" bool "No HZ timer ticks in idle"
help help
...@@ -535,18 +524,12 @@ endmenu ...@@ -535,18 +524,12 @@ endmenu
source "net/Kconfig" source "net/Kconfig"
config PCMCIA config PCMCIA
bool def_bool n
default n
source "drivers/base/Kconfig"
source "drivers/connector/Kconfig" config CCW
def_bool y
source "drivers/scsi/Kconfig"
source "drivers/s390/Kconfig"
source "drivers/net/Kconfig" source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc1 # Linux kernel version: 2.6.21
# Wed Feb 21 10:44:30 2007 # Thu May 10 15:18:19 2007
# #
CONFIG_MMU=y CONFIG_MMU=y
CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA=y
...@@ -14,6 +14,7 @@ CONFIG_GENERIC_HWEIGHT=y ...@@ -14,6 +14,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_TIME=y CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG=y
CONFIG_NO_IOMEM=y CONFIG_NO_IOMEM=y
CONFIG_NO_DMA=y
CONFIG_S390=y CONFIG_S390=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
...@@ -41,9 +42,11 @@ CONFIG_AUDIT=y ...@@ -41,9 +42,11 @@ CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set # CONFIG_AUDITSYSCALL is not set
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CPUSETS is not set # CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="" CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
...@@ -60,12 +63,14 @@ CONFIG_BASE_FULL=y ...@@ -60,12 +63,14 @@ CONFIG_BASE_FULL=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_SHMEM=y CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set # CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
# #
# Loadable module support # Loadable module support
...@@ -128,6 +133,14 @@ CONFIG_CHECK_STACK=y ...@@ -128,6 +133,14 @@ CONFIG_CHECK_STACK=y
CONFIG_STACK_GUARD=256 CONFIG_STACK_GUARD=256
# CONFIG_WARN_STACK is not set # CONFIG_WARN_STACK is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
#
# Kernel preemption
#
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set
...@@ -150,7 +163,6 @@ CONFIG_QDIO=y ...@@ -150,7 +163,6 @@ CONFIG_QDIO=y
# #
# Misc # Misc
# #
CONFIG_PREEMPT=y
CONFIG_IPL=y CONFIG_IPL=y
# CONFIG_IPL_TAPE is not set # CONFIG_IPL_TAPE is not set
CONFIG_IPL_VM=y CONFIG_IPL_VM=y
...@@ -163,6 +175,11 @@ CONFIG_PFAULT=y ...@@ -163,6 +175,11 @@ CONFIG_PFAULT=y
CONFIG_VIRT_TIMER=y CONFIG_VIRT_TIMER=y
CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_APPLDATA_BASE is not set # CONFIG_APPLDATA_BASE is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_NO_IDLE_HZ=y CONFIG_NO_IDLE_HZ=y
CONFIG_NO_IDLE_HZ_INIT=y CONFIG_NO_IDLE_HZ_INIT=y
CONFIG_S390_HYPFS_FS=y CONFIG_S390_HYPFS_FS=y
...@@ -177,7 +194,6 @@ CONFIG_NET=y ...@@ -177,7 +194,6 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
...@@ -216,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" ...@@ -216,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_IPV6=y CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set # CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set # CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set # CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set # CONFIG_INET6_IPCOMP is not set
...@@ -240,7 +257,12 @@ CONFIG_IPV6_SIT=y ...@@ -240,7 +257,12 @@ CONFIG_IPV6_SIT=y
# #
# SCTP Configuration (EXPERIMENTAL) # SCTP Configuration (EXPERIMENTAL)
# #
# CONFIG_IP_SCTP is not set CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# #
# TIPC Configuration (EXPERIMENTAL) # TIPC Configuration (EXPERIMENTAL)
...@@ -263,9 +285,6 @@ CONFIG_IPV6_SIT=y ...@@ -263,9 +285,6 @@ CONFIG_IPV6_SIT=y
# #
CONFIG_NET_SCHED=y CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FIFO=y CONFIG_NET_SCH_FIFO=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
# #
# Queueing/Scheduling # Queueing/Scheduling
...@@ -308,11 +327,14 @@ CONFIG_NET_ESTIMATOR=y ...@@ -308,11 +327,14 @@ CONFIG_NET_ESTIMATOR=y
# #
# CONFIG_NET_PKTGEN is not set # CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set # CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set # CONFIG_AF_RXRPC is not set
# CONFIG_IRDA is not set # CONFIG_RFKILL is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
# CONFIG_PCMCIA is not set # CONFIG_PCMCIA is not set
CONFIG_CCW=y
#
# Device Drivers
#
# #
# Generic Driver Options # Generic Driver Options
...@@ -329,6 +351,37 @@ CONFIG_SYS_HYPERVISOR=y ...@@ -329,6 +351,37 @@ CONFIG_SYS_HYPERVISOR=y
# #
# CONFIG_CONNECTOR is not set # CONFIG_CONNECTOR is not set
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# S/390 block device drivers
#
CONFIG_BLK_DEV_XPRAM=m
# CONFIG_DCSSBLK is not set
CONFIG_DASD=y
CONFIG_DASD_PROFILE=y
CONFIG_DASD_ECKD=y
CONFIG_DASD_FBA=y
CONFIG_DASD_DIAG=y
CONFIG_DASD_EER=y
#
# Misc devices
#
# CONFIG_BLINK is not set
# #
# SCSI device support # SCSI device support
# #
...@@ -356,6 +409,7 @@ CONFIG_SCSI_MULTI_LUN=y ...@@ -356,6 +409,7 @@ CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m
# #
# SCSI Transports # SCSI Transports
...@@ -372,34 +426,6 @@ CONFIG_SCSI_FC_ATTRS=y ...@@ -372,34 +426,6 @@ CONFIG_SCSI_FC_ATTRS=y
# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
CONFIG_ZFCP=y CONFIG_ZFCP=y
CONFIG_CCW=y
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
#
# S/390 block device drivers
#
CONFIG_BLK_DEV_XPRAM=m
# CONFIG_DCSSBLK is not set
CONFIG_DASD=y
CONFIG_DASD_PROFILE=y
CONFIG_DASD_ECKD=y
CONFIG_DASD_FBA=y
CONFIG_DASD_DIAG=y
CONFIG_DASD_EER=y
# CONFIG_ATA_OVER_ETH is not set
# #
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
...@@ -421,56 +447,7 @@ CONFIG_DM_MIRROR=y ...@@ -421,56 +447,7 @@ CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y CONFIG_DM_MULTIPATH=y
# CONFIG_DM_MULTIPATH_EMC is not set # CONFIG_DM_MULTIPATH_EMC is not set
# CONFIG_DM_DELAY is not set
#
# Character device drivers
#
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=2048
# CONFIG_HANGCHECK_TIMER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
#
# S/390 character device drivers
#
CONFIG_TN3270=y
CONFIG_TN3270_TTY=y
CONFIG_TN3270_FS=m
CONFIG_TN3270_CONSOLE=y
CONFIG_TN3215=y
CONFIG_TN3215_CONSOLE=y
CONFIG_CCW_CONSOLE=y
CONFIG_SCLP_TTY=y
CONFIG_SCLP_CONSOLE=y
CONFIG_SCLP_VT220_TTY=y
CONFIG_SCLP_VT220_CONSOLE=y
CONFIG_SCLP_CPI=m
CONFIG_S390_TAPE=m
#
# S/390 tape interface support
#
CONFIG_S390_TAPE_BLOCK=y
#
# S/390 tape hardware support
#
CONFIG_S390_TAPE_34XX=m
# CONFIG_S390_TAPE_3590 is not set
# CONFIG_VMLOGRDR is not set
# CONFIG_VMCP is not set
# CONFIG_MONREADER is not set
CONFIG_MONWRITER=m
#
# Cryptographic devices
#
CONFIG_ZCRYPT=m
# CONFIG_ZCRYPT_MONOLITHIC is not set
# #
# Network device support # Network device support
...@@ -481,10 +458,6 @@ CONFIG_BONDING=m ...@@ -481,10 +458,6 @@ CONFIG_BONDING=m
CONFIG_EQUALIZER=m CONFIG_EQUALIZER=m
CONFIG_TUN=m CONFIG_TUN=m
#
# PHY device support
#
# #
# Ethernet (10 or 100Mbit) # Ethernet (10 or 100Mbit)
# #
...@@ -498,17 +471,13 @@ CONFIG_NET_ETHERNET=y ...@@ -498,17 +471,13 @@ CONFIG_NET_ETHERNET=y
# #
# Ethernet (10000 Mbit) # Ethernet (10000 Mbit)
# #
CONFIG_MLX4_DEBUG=y
# #
# Token Ring devices # Token Ring devices
# #
# CONFIG_TR is not set # CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
# #
# Wan interfaces # Wan interfaces
# #
...@@ -536,6 +505,56 @@ CONFIG_CCWGROUP=y ...@@ -536,6 +505,56 @@ CONFIG_CCWGROUP=y
# CONFIG_NETPOLL is not set # CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set # CONFIG_NET_POLL_CONTROLLER is not set
#
# Character devices
#
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=m
# CONFIG_R3964 is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HANGCHECK_TIMER is not set
#
# S/390 character device drivers
#
CONFIG_TN3270=y
CONFIG_TN3270_TTY=y
CONFIG_TN3270_FS=m
CONFIG_TN3270_CONSOLE=y
CONFIG_TN3215=y
CONFIG_TN3215_CONSOLE=y
CONFIG_CCW_CONSOLE=y
CONFIG_SCLP=y
CONFIG_SCLP_TTY=y
CONFIG_SCLP_CONSOLE=y
CONFIG_SCLP_VT220_TTY=y
CONFIG_SCLP_VT220_CONSOLE=y
CONFIG_SCLP_CPI=m
CONFIG_S390_TAPE=m
#
# S/390 tape interface support
#
CONFIG_S390_TAPE_BLOCK=y
#
# S/390 tape hardware support
#
CONFIG_S390_TAPE_34XX=m
# CONFIG_S390_TAPE_3590 is not set
# CONFIG_VMLOGRDR is not set
# CONFIG_VMCP is not set
# CONFIG_MONREADER is not set
CONFIG_MONWRITER=m
# #
# File systems # File systems
# #
...@@ -628,6 +647,7 @@ CONFIG_LOCKD_V4=y ...@@ -628,6 +647,7 @@ CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y CONFIG_SUNRPC=y
# CONFIG_SUNRPC_BIND34 is not set
# CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set # CONFIG_SMB_FS is not set
...@@ -658,6 +678,7 @@ CONFIG_MSDOS_PARTITION=y ...@@ -658,6 +678,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SUN_PARTITION is not set # CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set # CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set # CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
# #
# Native Language Support # Native Language Support
...@@ -668,8 +689,6 @@ CONFIG_MSDOS_PARTITION=y ...@@ -668,8 +689,6 @@ CONFIG_MSDOS_PARTITION=y
# Distributed Lock Manager # Distributed Lock Manager
# #
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_TCP=y
# CONFIG_DLM_SCTP is not set
# CONFIG_DLM_DEBUG is not set # CONFIG_DLM_DEBUG is not set
# #
...@@ -693,7 +712,6 @@ CONFIG_MAGIC_SYSRQ=y ...@@ -693,7 +712,6 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_SCHEDSTATS is not set # CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set # CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SLAB is not set
...@@ -729,12 +747,13 @@ CONFIG_FORCED_INLINING=y ...@@ -729,12 +747,13 @@ CONFIG_FORCED_INLINING=y
CONFIG_CRYPTO=y CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
# CONFIG_CRYPTO_HMAC is not set CONFIG_CRYPTO_HMAC=m
# CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set CONFIG_CRYPTO_MD5=m
# CONFIG_CRYPTO_SHA1 is not set # CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_SHA512 is not set
...@@ -745,6 +764,7 @@ CONFIG_CRYPTO_ECB=m ...@@ -745,6 +764,7 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_DES is not set
CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FCRYPT=m
# CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_BLOWFISH is not set
...@@ -771,6 +791,8 @@ CONFIG_CRYPTO_CAMELLIA=m ...@@ -771,6 +791,8 @@ CONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_DES_S390 is not set # CONFIG_CRYPTO_DES_S390 is not set
# CONFIG_CRYPTO_AES_S390 is not set # CONFIG_CRYPTO_AES_S390 is not set
CONFIG_S390_PRNG=m CONFIG_S390_PRNG=m
CONFIG_ZCRYPT=m
# CONFIG_ZCRYPT_MONOLITHIC is not set
# #
# Library routines # Library routines
......
...@@ -477,7 +477,7 @@ static int __init hypfs_init(void) ...@@ -477,7 +477,7 @@ static int __init hypfs_init(void)
goto fail_diag; goto fail_diag;
} }
} }
kset_set_kset_s(&s390_subsys, hypervisor_subsys); kobj_set_kset_s(&s390_subsys, hypervisor_subsys);
rc = subsystem_register(&s390_subsys); rc = subsystem_register(&s390_subsys);
if (rc) if (rc)
goto fail_sysfs; goto fail_sysfs;
......
...@@ -816,23 +816,23 @@ static int __init ipl_register_fcp_files(void) ...@@ -816,23 +816,23 @@ static int __init ipl_register_fcp_files(void)
{ {
int rc; int rc;
rc = sysfs_create_group(&ipl_subsys.kset.kobj, rc = sysfs_create_group(&ipl_subsys.kobj,
&ipl_fcp_attr_group); &ipl_fcp_attr_group);
if (rc) if (rc)
goto out; goto out;
rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj, rc = sysfs_create_bin_file(&ipl_subsys.kobj,
&ipl_parameter_attr); &ipl_parameter_attr);
if (rc) if (rc)
goto out_ipl_parm; goto out_ipl_parm;
rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj, rc = sysfs_create_bin_file(&ipl_subsys.kobj,
&ipl_scp_data_attr); &ipl_scp_data_attr);
if (!rc) if (!rc)
goto out; goto out;
sysfs_remove_bin_file(&ipl_subsys.kset.kobj, &ipl_parameter_attr); sysfs_remove_bin_file(&ipl_subsys.kobj, &ipl_parameter_attr);
out_ipl_parm: out_ipl_parm:
sysfs_remove_group(&ipl_subsys.kset.kobj, &ipl_fcp_attr_group); sysfs_remove_group(&ipl_subsys.kobj, &ipl_fcp_attr_group);
out: out:
return rc; return rc;
} }
...@@ -846,7 +846,7 @@ static int __init ipl_init(void) ...@@ -846,7 +846,7 @@ static int __init ipl_init(void)
return rc; return rc;
switch (ipl_info.type) { switch (ipl_info.type) {
case IPL_TYPE_CCW: case IPL_TYPE_CCW:
rc = sysfs_create_group(&ipl_subsys.kset.kobj, rc = sysfs_create_group(&ipl_subsys.kobj,
&ipl_ccw_attr_group); &ipl_ccw_attr_group);
break; break;
case IPL_TYPE_FCP: case IPL_TYPE_FCP:
...@@ -854,11 +854,11 @@ static int __init ipl_init(void) ...@@ -854,11 +854,11 @@ static int __init ipl_init(void)
rc = ipl_register_fcp_files(); rc = ipl_register_fcp_files();
break; break;
case IPL_TYPE_NSS: case IPL_TYPE_NSS:
rc = sysfs_create_group(&ipl_subsys.kset.kobj, rc = sysfs_create_group(&ipl_subsys.kobj,
&ipl_nss_attr_group); &ipl_nss_attr_group);
break; break;
default: default:
rc = sysfs_create_group(&ipl_subsys.kset.kobj, rc = sysfs_create_group(&ipl_subsys.kobj,
&ipl_unknown_attr_group); &ipl_unknown_attr_group);
break; break;
} }
...@@ -885,7 +885,7 @@ static int __init reipl_nss_init(void) ...@@ -885,7 +885,7 @@ static int __init reipl_nss_init(void)
if (!MACHINE_IS_VM) if (!MACHINE_IS_VM)
return 0; return 0;
rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_nss_attr_group); rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_nss_attr_group);
if (rc) if (rc)
return rc; return rc;
strncpy(reipl_nss_name, kernel_nss_name, NSS_NAME_SIZE + 1); strncpy(reipl_nss_name, kernel_nss_name, NSS_NAME_SIZE + 1);
...@@ -900,7 +900,7 @@ static int __init reipl_ccw_init(void) ...@@ -900,7 +900,7 @@ static int __init reipl_ccw_init(void)
reipl_block_ccw = (void *) get_zeroed_page(GFP_KERNEL); reipl_block_ccw = (void *) get_zeroed_page(GFP_KERNEL);
if (!reipl_block_ccw) if (!reipl_block_ccw)
return -ENOMEM; return -ENOMEM;
rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_ccw_attr_group); rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_ccw_attr_group);
if (rc) { if (rc) {
free_page((unsigned long)reipl_block_ccw); free_page((unsigned long)reipl_block_ccw);
return rc; return rc;
...@@ -938,7 +938,7 @@ static int __init reipl_fcp_init(void) ...@@ -938,7 +938,7 @@ static int __init reipl_fcp_init(void)
reipl_block_fcp = (void *) get_zeroed_page(GFP_KERNEL); reipl_block_fcp = (void *) get_zeroed_page(GFP_KERNEL);
if (!reipl_block_fcp) if (!reipl_block_fcp)
return -ENOMEM; return -ENOMEM;
rc = sysfs_create_group(&reipl_subsys.kset.kobj, &reipl_fcp_attr_group); rc = sysfs_create_group(&reipl_subsys.kobj, &reipl_fcp_attr_group);
if (rc) { if (rc) {
free_page((unsigned long)reipl_block_fcp); free_page((unsigned long)reipl_block_fcp);
return rc; return rc;
...@@ -990,7 +990,7 @@ static int __init dump_ccw_init(void) ...@@ -990,7 +990,7 @@ static int __init dump_ccw_init(void)
dump_block_ccw = (void *) get_zeroed_page(GFP_KERNEL); dump_block_ccw = (void *) get_zeroed_page(GFP_KERNEL);
if (!dump_block_ccw) if (!dump_block_ccw)
return -ENOMEM; return -ENOMEM;
rc = sysfs_create_group(&dump_subsys.kset.kobj, &dump_ccw_attr_group); rc = sysfs_create_group(&dump_subsys.kobj, &dump_ccw_attr_group);
if (rc) { if (rc) {
free_page((unsigned long)dump_block_ccw); free_page((unsigned long)dump_block_ccw);
return rc; return rc;
...@@ -1014,7 +1014,7 @@ static int __init dump_fcp_init(void) ...@@ -1014,7 +1014,7 @@ static int __init dump_fcp_init(void)
dump_block_fcp = (void *) get_zeroed_page(GFP_KERNEL); dump_block_fcp = (void *) get_zeroed_page(GFP_KERNEL);
if (!dump_block_fcp) if (!dump_block_fcp)
return -ENOMEM; return -ENOMEM;
rc = sysfs_create_group(&dump_subsys.kset.kobj, &dump_fcp_attr_group); rc = sysfs_create_group(&dump_subsys.kobj, &dump_fcp_attr_group);
if (rc) { if (rc) {
free_page((unsigned long)dump_block_fcp); free_page((unsigned long)dump_block_fcp);
return rc; return rc;
......
...@@ -253,7 +253,10 @@ static int signal_return(struct mm_struct *mm, struct pt_regs *regs, ...@@ -253,7 +253,10 @@ static int signal_return(struct mm_struct *mm, struct pt_regs *regs,
unsigned long address, unsigned long error_code) unsigned long address, unsigned long error_code)
{ {
u16 instruction; u16 instruction;
int rc, compat; int rc;
#ifdef CONFIG_COMPAT
int compat;
#endif
pagefault_disable(); pagefault_disable();
rc = __get_user(instruction, (u16 __user *) regs->psw.addr); rc = __get_user(instruction, (u16 __user *) regs->psw.addr);
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Serial ATA (prod) and Parallel ATA (experimental) drivers" menu "Serial ATA (prod) and Parallel ATA (experimental) drivers"
depends on HAS_IOMEM
config ATA config ATA
tristate "ATA device support" tristate "ATA device support"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
# #
menu "Auxiliary Display support" menu "Auxiliary Display support"
depends on PARPORT
config KS0108 config KS0108
tristate "KS0108 LCD Controller" tristate "KS0108 LCD Controller"
......
...@@ -444,8 +444,6 @@ config CDROM_PKTCDVD_WCACHE ...@@ -444,8 +444,6 @@ config CDROM_PKTCDVD_WCACHE
this option is dangerous unless the CD-RW media is known good, as we this option is dangerous unless the CD-RW media is known good, as we
don't do deferred write error handling yet. don't do deferred write error handling yet.
source "drivers/s390/block/Kconfig"
config ATA_OVER_ETH config ATA_OVER_ETH
tristate "ATA over Ethernet support" tristate "ATA over Ethernet support"
depends on NET depends on NET
...@@ -453,6 +451,8 @@ config ATA_OVER_ETH ...@@ -453,6 +451,8 @@ config ATA_OVER_ETH
This driver provides Support for ATA over Ethernet block This driver provides Support for ATA over Ethernet block
devices like the Coraid EtherDrive (R) Storage Blade. devices like the Coraid EtherDrive (R) Storage Blade.
source "drivers/s390/block/Kconfig"
endmenu endmenu
endif endif
...@@ -6,6 +6,7 @@ menu "Character devices" ...@@ -6,6 +6,7 @@ menu "Character devices"
config VT config VT
bool "Virtual terminal" if EMBEDDED bool "Virtual terminal" if EMBEDDED
depends on !S390
select INPUT select INPUT
default y if !VIOCONS default y if !VIOCONS
---help--- ---help---
...@@ -81,6 +82,7 @@ config VT_HW_CONSOLE_BINDING ...@@ -81,6 +82,7 @@ config VT_HW_CONSOLE_BINDING
config SERIAL_NONSTANDARD config SERIAL_NONSTANDARD
bool "Non-standard serial port support" bool "Non-standard serial port support"
depends on HAS_IOMEM
---help--- ---help---
Say Y here if you have any non-standard serial boards -- boards Say Y here if you have any non-standard serial boards -- boards
which aren't supported using the standard "dumb" serial driver. which aren't supported using the standard "dumb" serial driver.
...@@ -765,7 +767,7 @@ config NVRAM ...@@ -765,7 +767,7 @@ config NVRAM
config RTC config RTC
tristate "Enhanced Real Time Clock Support" tristate "Enhanced Real Time Clock Support"
depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !SUPERH depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !SUPERH && !S390
---help--- ---help---
If you say Y here and create a character special file /dev/rtc with If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you major number 10 and minor number 135 using mknod ("man mknod"), you
...@@ -813,7 +815,7 @@ config SGI_IP27_RTC ...@@ -813,7 +815,7 @@ config SGI_IP27_RTC
config GEN_RTC config GEN_RTC
tristate "Generic /dev/rtc emulation" tristate "Generic /dev/rtc emulation"
depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV && !S390
---help--- ---help---
If you say Y here and create a character special file /dev/rtc with If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you major number 10 and minor number 135 using mknod ("man mknod"), you
...@@ -858,6 +860,7 @@ config COBALT_LCD ...@@ -858,6 +860,7 @@ config COBALT_LCD
config DTLK config DTLK
tristate "Double Talk PC internal speech card support" tristate "Double Talk PC internal speech card support"
depends on ISA
help help
This driver is for the DoubleTalk PC, a speech synthesizer This driver is for the DoubleTalk PC, a speech synthesizer
manufactured by RC Systems (<http://www.rcsys.com/>). It is also manufactured by RC Systems (<http://www.rcsys.com/>). It is also
...@@ -1043,7 +1046,7 @@ config HPET_MMAP ...@@ -1043,7 +1046,7 @@ config HPET_MMAP
config HANGCHECK_TIMER config HANGCHECK_TIMER
tristate "Hangcheck timer" tristate "Hangcheck timer"
depends on X86 || IA64 || PPC64 depends on X86 || IA64 || PPC64 || S390
help help
The hangcheck-timer module detects when the system has gone The hangcheck-timer module detects when the system has gone
out to lunch past a certain margin. It can reboot the system out to lunch past a certain margin. It can reboot the system
...@@ -1078,5 +1081,7 @@ config DEVPORT ...@@ -1078,5 +1081,7 @@ config DEVPORT
depends on ISA || PCI depends on ISA || PCI
default y default y
source "drivers/s390/char/Kconfig"
endmenu endmenu
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
# #
menu "IPMI" menu "IPMI"
depends on HAS_IOMEM
config IPMI_HANDLER config IPMI_HANDLER
tristate 'IPMI top-level message handler' tristate 'IPMI top-level message handler'
help help
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "TPM devices" menu "TPM devices"
depends on HAS_IOMEM
config TCG_TPM config TCG_TPM
tristate "TPM Hardware Support" tristate "TPM Hardware Support"
......
...@@ -56,4 +56,26 @@ config CRYPTO_DEV_GEODE ...@@ -56,4 +56,26 @@ config CRYPTO_DEV_GEODE
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called geode-aes. will be called geode-aes.
config ZCRYPT
tristate "Support for PCI-attached cryptographic adapters"
depends on S390
select ZCRYPT_MONOLITHIC if ZCRYPT="y"
default "m"
help
Select this option if you want to use a PCI-attached cryptographic
adapter like:
+ PCI Cryptographic Accelerator (PCICA)
+ PCI Cryptographic Coprocessor (PCICC)
+ PCI-X Cryptographic Coprocessor (PCIXCC)
+ Crypto Express2 Coprocessor (CEX2C)
+ Crypto Express2 Accelerator (CEX2A)
config ZCRYPT_MONOLITHIC
bool "Monolithic zcrypt module"
depends on ZCRYPT="m"
help
Select this option if you want to have a single module z90crypt.ko
that contains all parts of the crypto device driver (ap bus,
request router and all the card drivers).
endmenu endmenu
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "DMA Engine support" menu "DMA Engine support"
depends on !S390
config DMA_ENGINE config DMA_ENGINE
bool "Support for DMA engines" bool "Support for DMA engines"
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# #
menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)' menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)'
depends on HAS_IOMEM
config EDAC config EDAC
tristate "EDAC core system error reporting (EXPERIMENTAL)" tristate "EDAC core system error reporting (EXPERIMENTAL)"
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
menuconfig HWMON menuconfig HWMON
tristate "Hardware Monitoring support" tristate "Hardware Monitoring support"
depends on HAS_IOMEM
default y default y
help help
Hardware monitoring devices let you monitor the hardware health Hardware monitoring devices let you monitor the hardware health
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
menuconfig I2C menuconfig I2C
tristate "I2C support" tristate "I2C support"
depends on HAS_IOMEM
---help--- ---help---
I2C (pronounce: I-square-C) is a slow serial bus protocol used in I2C (pronounce: I-square-C) is a slow serial bus protocol used in
many micro controller applications and developed by Philips. SMBus, many micro controller applications and developed by Philips. SMBus,
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
if BLOCK if BLOCK
menu "ATA/ATAPI/MFM/RLL support" menu "ATA/ATAPI/MFM/RLL support"
depends on HAS_IOMEM
config IDE config IDE
tristate "ATA/ATAPI/MFM/RLL support" tristate "ATA/ATAPI/MFM/RLL support"
......
menu "IEEE 1394 (FireWire) support" menu "IEEE 1394 (FireWire) support"
depends on PCI || BROKEN
config IEEE1394 config IEEE1394
tristate "IEEE 1394 (FireWire) support" tristate "IEEE 1394 (FireWire) support"
......
menu "InfiniBand support" menu "InfiniBand support"
depends on HAS_IOMEM
config INFINIBAND config INFINIBAND
depends on PCI || BROKEN depends on PCI || BROKEN
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Input device support" menu "Input device support"
depends on !S390
config INPUT config INPUT
tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "ISDN subsystem" menu "ISDN subsystem"
depends on !S390
config ISDN config ISDN
tristate "ISDN support" tristate "ISDN support"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# KVM configuration # KVM configuration
# #
menu "Virtualization" menu "Virtualization"
depends on X86
config KVM config KVM
tristate "Kernel-based Virtual Machine (KVM) support" tristate "Kernel-based Virtual Machine (KVM) support"
......
menu "LED devices" menu "LED devices"
depends on HAS_IOMEM
config NEW_LEDS config NEW_LEDS
bool "LED Support" bool "LED Support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Multimedia devices" menu "Multimedia devices"
depends on HAS_IOMEM
config VIDEO_DEV config VIDEO_DEV
tristate "Video For Linux" tristate "Video For Linux"
......
menu "Fusion MPT device support" menu "Fusion MPT device support"
depends on PCI
config FUSION config FUSION
bool bool
......
menu "I2O device support" menu "I2O device support"
depends on PCI
config I2O config I2O
tristate "I2O support" tristate "I2O support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Multifunction device drivers" menu "Multifunction device drivers"
depends on HAS_IOMEM
config MFD_SM501 config MFD_SM501
tristate "Support for Silicon Motion SM501" tristate "Support for Silicon Motion SM501"
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
menuconfig MMC menuconfig MMC
tristate "MMC/SD card support" tristate "MMC/SD card support"
depends on HAS_IOMEM
help help
MMC is the "multi-media card" bus protocol. MMC is the "multi-media card" bus protocol.
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
menuconfig MTD menuconfig MTD
tristate "Memory Technology Device (MTD) support" tristate "Memory Technology Device (MTD) support"
depends on HAS_IOMEM
help help
Memory Technology Devices are flash, RAM and similar chips, often Memory Technology Devices are flash, RAM and similar chips, often
used for solid state file systems on embedded devices. This option used for solid state file systems on embedded devices. This option
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "PHY device support" menu "PHY device support"
depends on !S390
config PHYLIB config PHYLIB
tristate "PHY Device support and infrastructure" tristate "PHY Device support and infrastructure"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Wireless LAN" menu "Wireless LAN"
depends on !S390
config WLAN_PRE80211 config WLAN_PRE80211
bool "Wireless LAN (pre-802.11)" bool "Wireless LAN (pre-802.11)"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
# #
menu "Parallel port support" menu "Parallel port support"
depends on HAS_IOMEM
config PARPORT config PARPORT
tristate "Parallel port support" tristate "Parallel port support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Plug and Play support" menu "Plug and Play support"
depends on HAS_IOMEM
config PNP config PNP
bool "Plug and Play support" bool "Plug and Play support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Real Time Clock" menu "Real Time Clock"
depends on !S390
config RTC_LIB config RTC_LIB
tristate tristate
......
if S390 && BLOCK
comment "S/390 block device drivers" comment "S/390 block device drivers"
depends on S390 depends on S390 && BLOCK
config BLK_DEV_XPRAM config BLK_DEV_XPRAM
tristate "XPRAM disk support" tristate "XPRAM disk support"
depends on S390 depends on S390 && BLOCK
help help
Select this option if you want to use your expanded storage on S/390 Select this option if you want to use your expanded storage on S/390
or zSeries as a disk. This is useful as a _fast_ swap device if you or zSeries as a disk. This is useful as a _fast_ swap device if you
...@@ -15,12 +13,13 @@ config BLK_DEV_XPRAM ...@@ -15,12 +13,13 @@ config BLK_DEV_XPRAM
config DCSSBLK config DCSSBLK
tristate "DCSSBLK support" tristate "DCSSBLK support"
depends on S390 && BLOCK
help help
Support for dcss block device Support for dcss block device
config DASD config DASD
tristate "Support for DASD devices" tristate "Support for DASD devices"
depends on CCW depends on CCW && BLOCK
help help
Enable this option if you want to access DASDs directly utilizing Enable this option if you want to access DASDs directly utilizing
S/390s channel subsystem commands. This is necessary for running S/390s channel subsystem commands. This is necessary for running
...@@ -62,5 +61,3 @@ config DASD_EER ...@@ -62,5 +61,3 @@ config DASD_EER
This driver provides a character device interface to the This driver provides a character device interface to the
DASD extended error reporting. This is only needed if you want to DASD extended error reporting. This is only needed if you want to
use applications written for the EER facility. use applications written for the EER facility.
endif
...@@ -2174,9 +2174,10 @@ dasd_generic_notify(struct ccw_device *cdev, int event) ...@@ -2174,9 +2174,10 @@ dasd_generic_notify(struct ccw_device *cdev, int event)
return ret; return ret;
} }
struct dasd_ccw_req * dasd_generic_build_rdc(struct dasd_device *device, static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device,
void *rdc_buffer, void *rdc_buffer,
int rdc_buffer_size, char *magic) int rdc_buffer_size,
char *magic)
{ {
struct dasd_ccw_req *cqr; struct dasd_ccw_req *cqr;
struct ccw1 *ccw; struct ccw1 *ccw;
...@@ -2219,6 +2220,7 @@ int dasd_generic_read_dev_chars(struct dasd_device *device, char *magic, ...@@ -2219,6 +2220,7 @@ int dasd_generic_read_dev_chars(struct dasd_device *device, char *magic,
dasd_sfree_request(cqr, cqr->device); dasd_sfree_request(cqr, cqr->device);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(dasd_generic_read_dev_chars);
static int __init static int __init
dasd_init(void) dasd_init(void)
......
...@@ -50,6 +50,7 @@ struct dasd_diag_private { ...@@ -50,6 +50,7 @@ struct dasd_diag_private {
struct dasd_diag_rw_io iob; struct dasd_diag_rw_io iob;
struct dasd_diag_init_io iib; struct dasd_diag_init_io iib;
blocknum_t pt_block; blocknum_t pt_block;
struct ccw_dev_id dev_id;
}; };
struct dasd_diag_req { struct dasd_diag_req {
...@@ -102,7 +103,7 @@ mdsk_init_io(struct dasd_device *device, unsigned int blocksize, ...@@ -102,7 +103,7 @@ mdsk_init_io(struct dasd_device *device, unsigned int blocksize,
iib = &private->iib; iib = &private->iib;
memset(iib, 0, sizeof (struct dasd_diag_init_io)); memset(iib, 0, sizeof (struct dasd_diag_init_io));
iib->dev_nr = _ccw_device_get_device_number(device->cdev); iib->dev_nr = private->dev_id.devno;
iib->block_size = blocksize; iib->block_size = blocksize;
iib->offset = offset; iib->offset = offset;
iib->flaga = DASD_DIAG_FLAGA_DEFAULT; iib->flaga = DASD_DIAG_FLAGA_DEFAULT;
...@@ -127,7 +128,7 @@ mdsk_term_io(struct dasd_device * device) ...@@ -127,7 +128,7 @@ mdsk_term_io(struct dasd_device * device)
private = (struct dasd_diag_private *) device->private; private = (struct dasd_diag_private *) device->private;
iib = &private->iib; iib = &private->iib;
memset(iib, 0, sizeof (struct dasd_diag_init_io)); memset(iib, 0, sizeof (struct dasd_diag_init_io));
iib->dev_nr = _ccw_device_get_device_number(device->cdev); iib->dev_nr = private->dev_id.devno;
rc = dia250(iib, TERM_BIO); rc = dia250(iib, TERM_BIO);
return rc; return rc;
} }
...@@ -166,7 +167,7 @@ dasd_start_diag(struct dasd_ccw_req * cqr) ...@@ -166,7 +167,7 @@ dasd_start_diag(struct dasd_ccw_req * cqr)
private = (struct dasd_diag_private *) device->private; private = (struct dasd_diag_private *) device->private;
dreq = (struct dasd_diag_req *) cqr->data; dreq = (struct dasd_diag_req *) cqr->data;
private->iob.dev_nr = _ccw_device_get_device_number(device->cdev); private->iob.dev_nr = private->dev_id.devno;
private->iob.key = 0; private->iob.key = 0;
private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; private->iob.flags = DASD_DIAG_RWFLAG_ASYNC;
private->iob.block_count = dreq->block_count; private->iob.block_count = dreq->block_count;
...@@ -323,11 +324,12 @@ dasd_diag_check_device(struct dasd_device *device) ...@@ -323,11 +324,12 @@ dasd_diag_check_device(struct dasd_device *device)
"memory allocation failed for private data"); "memory allocation failed for private data");
return -ENOMEM; return -ENOMEM;
} }
ccw_device_get_id(device->cdev, &private->dev_id);
device->private = (void *) private; device->private = (void *) private;
} }
/* Read Device Characteristics */ /* Read Device Characteristics */
rdc_data = (void *) &(private->rdc_data); rdc_data = (void *) &(private->rdc_data);
rdc_data->dev_nr = _ccw_device_get_device_number(device->cdev); rdc_data->dev_nr = private->dev_id.devno;
rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics); rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics);
rc = diag210((struct diag210 *) rdc_data); rc = diag210((struct diag210 *) rdc_data);
......
...@@ -450,9 +450,9 @@ dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid) ...@@ -450,9 +450,9 @@ dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid)
return 0; return 0;
} }
struct dasd_ccw_req * dasd_eckd_build_rcd_lpm(struct dasd_device *device, static struct dasd_ccw_req *dasd_eckd_build_rcd_lpm(struct dasd_device *device,
void *rcd_buffer, void *rcd_buffer,
struct ciw *ciw, __u8 lpm) struct ciw *ciw, __u8 lpm)
{ {
struct dasd_ccw_req *cqr; struct dasd_ccw_req *cqr;
struct ccw1 *ccw; struct ccw1 *ccw;
......
...@@ -255,6 +255,7 @@ dasd_ioctl_information(struct dasd_device *device, ...@@ -255,6 +255,7 @@ dasd_ioctl_information(struct dasd_device *device,
unsigned long flags; unsigned long flags;
int rc; int rc;
struct ccw_device *cdev; struct ccw_device *cdev;
struct ccw_dev_id dev_id;
if (!device->discipline->fill_info) if (!device->discipline->fill_info)
return -EINVAL; return -EINVAL;
...@@ -270,8 +271,9 @@ dasd_ioctl_information(struct dasd_device *device, ...@@ -270,8 +271,9 @@ dasd_ioctl_information(struct dasd_device *device,
} }
cdev = device->cdev; cdev = device->cdev;
ccw_device_get_id(cdev, &dev_id);
dasd_info->devno = _ccw_device_get_device_number(device->cdev); dasd_info->devno = dev_id.devno;
dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev); dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev);
dasd_info->cu_type = cdev->id.cu_type; dasd_info->cu_type = cdev->id.cu_type;
dasd_info->cu_model = cdev->id.cu_model; dasd_info->cu_model = cdev->id.cu_model;
......
config CCW
bool
default y
source "drivers/block/Kconfig"
source "drivers/md/Kconfig"
menu "Character device drivers"
config UNIX98_PTYS
bool "Unix98 PTY support"
---help---
A pseudo terminal (PTY) is a software device consisting of two
halves: a master and a slave. The slave device behaves identical to
a physical terminal; the master device is used by a process to
read data from and write data to the slave, thereby emulating a
terminal. Typical programs for the master side are telnet servers
and xterms.
Linux has traditionally used the BSD-like names /dev/ptyxx for
masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
has a number of problems. The GNU C library glibc 2.1 and later,
however, supports the Unix98 naming standard: in order to acquire a
pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
terminal is then made available to the process and the pseudo
terminal slave can be accessed as /dev/pts/<number>. What was
traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
The entries in /dev/pts/ are created on the fly by a virtual
file system; therefore, if you say Y here you should say Y to
"/dev/pts file system for Unix98 PTYs" as well.
If you want to say Y here, you need to have the C library glibc 2.1
or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
Read the instructions in <file:Documentation/Changes> pertaining to
pseudo terminals. It's safe to say N.
config UNIX98_PTY_COUNT
int "Maximum number of Unix98 PTYs in use (0-2048)"
depends on UNIX98_PTYS
default "256"
help
The maximum number of Unix98 PTYs that can be used at any one time.
The default is 256, and should be enough for desktop systems. Server
machines which support incoming telnet/rlogin/ssh connections and/or
serve several X terminals may want to increase this: every incoming
connection and every xterm uses up one PTY.
When not in use, each additional set of 256 PTYs occupy
approximately 8 KB of kernel memory on 32-bit architectures.
config HANGCHECK_TIMER
tristate "Hangcheck timer"
help
The hangcheck-timer module detects when the system has gone
out to lunch past a certain margin. It can reboot the system
or merely print a warning.
source "drivers/char/watchdog/Kconfig"
comment "S/390 character device drivers" comment "S/390 character device drivers"
depends on S390
config TN3270 config TN3270
tristate "Support for locally attached 3270 terminals" tristate "Support for locally attached 3270 terminals"
depends on CCW
help help
Include support for IBM 3270 terminals. Include support for IBM 3270 terminals.
...@@ -88,6 +28,7 @@ config TN3270_CONSOLE ...@@ -88,6 +28,7 @@ config TN3270_CONSOLE
config TN3215 config TN3215
bool "Support for 3215 line mode terminal" bool "Support for 3215 line mode terminal"
depends on CCW
help help
Include support for IBM 3215 line-mode terminals. Include support for IBM 3215 line-mode terminals.
...@@ -99,12 +40,19 @@ config TN3215_CONSOLE ...@@ -99,12 +40,19 @@ config TN3215_CONSOLE
Linux system console. Linux system console.
config CCW_CONSOLE config CCW_CONSOLE
bool bool
depends on TN3215_CONSOLE || TN3270_CONSOLE depends on TN3215_CONSOLE || TN3270_CONSOLE
default y default y
config SCLP
bool "Support for SCLP"
depends on S390
help
Include support for the SCLP interface to the service element.
config SCLP_TTY config SCLP_TTY
bool "Support for SCLP line mode terminal" bool "Support for SCLP line mode terminal"
depends on SCLP
help help
Include support for IBM SCLP line-mode terminals. Include support for IBM SCLP line-mode terminals.
...@@ -117,6 +65,7 @@ config SCLP_CONSOLE ...@@ -117,6 +65,7 @@ config SCLP_CONSOLE
config SCLP_VT220_TTY config SCLP_VT220_TTY
bool "Support for SCLP VT220-compatible terminal" bool "Support for SCLP VT220-compatible terminal"
depends on SCLP
help help
Include support for an IBM SCLP VT220-compatible terminal. Include support for an IBM SCLP VT220-compatible terminal.
...@@ -129,6 +78,7 @@ config SCLP_VT220_CONSOLE ...@@ -129,6 +78,7 @@ config SCLP_VT220_CONSOLE
config SCLP_CPI config SCLP_CPI
tristate "Control-Program Identification" tristate "Control-Program Identification"
depends on SCLP
help help
This option enables the hardware console interface for system This option enables the hardware console interface for system
identification. This is commonly used for workload management and identification. This is commonly used for workload management and
...@@ -140,6 +90,7 @@ config SCLP_CPI ...@@ -140,6 +90,7 @@ config SCLP_CPI
config S390_TAPE config S390_TAPE
tristate "S/390 tape device support" tristate "S/390 tape device support"
depends on CCW
help help
Select this option if you want to access channel-attached tape Select this option if you want to access channel-attached tape
devices on IBM S/390 or zSeries. devices on IBM S/390 or zSeries.
...@@ -194,6 +145,7 @@ config VMLOGRDR ...@@ -194,6 +145,7 @@ config VMLOGRDR
config VMCP config VMCP
tristate "Support for the z/VM CP interface (VM only)" tristate "Support for the z/VM CP interface (VM only)"
depends on S390
help help
Select this option if you want to be able to interact with the control Select this option if you want to be able to interact with the control
program on z/VM program on z/VM
...@@ -207,33 +159,8 @@ config MONREADER ...@@ -207,33 +159,8 @@ config MONREADER
config MONWRITER config MONWRITER
tristate "API for writing z/VM monitor service records" tristate "API for writing z/VM monitor service records"
depends on S390
default "m" default "m"
help help
Character device driver for writing z/VM monitor service records Character device driver for writing z/VM monitor service records
endmenu
menu "Cryptographic devices"
config ZCRYPT
tristate "Support for PCI-attached cryptographic adapters"
select ZCRYPT_MONOLITHIC if ZCRYPT="y"
default "m"
help
Select this option if you want to use a PCI-attached cryptographic
adapter like:
+ PCI Cryptographic Accelerator (PCICA)
+ PCI Cryptographic Coprocessor (PCICC)
+ PCI-X Cryptographic Coprocessor (PCIXCC)
+ Crypto Express2 Coprocessor (CEX2C)
+ Crypto Express2 Accelerator (CEX2A)
config ZCRYPT_MONOLITHIC
bool "Monolithic zcrypt module"
depends on ZCRYPT="m"
help
Select this option if you want to have a single module z90crypt.ko
that contains all parts of the crypto device driver (ap bus,
request router and all the card drivers).
endmenu
...@@ -97,7 +97,7 @@ static u8 user_data_sever[16] = { ...@@ -97,7 +97,7 @@ static u8 user_data_sever[16] = {
* Create the 8 bytes EBCDIC DCSS segment name from * Create the 8 bytes EBCDIC DCSS segment name from
* an ASCII name, incl. padding * an ASCII name, incl. padding
*/ */
static inline void dcss_mkname(char *ascii_name, char *ebcdic_name) static void dcss_mkname(char *ascii_name, char *ebcdic_name)
{ {
int i; int i;
...@@ -191,7 +191,7 @@ static inline u32 mon_rec_end(struct mon_msg *monmsg) ...@@ -191,7 +191,7 @@ static inline u32 mon_rec_end(struct mon_msg *monmsg)
return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 8)); return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 8));
} }
static inline int mon_check_mca(struct mon_msg *monmsg) static int mon_check_mca(struct mon_msg *monmsg)
{ {
if ((mon_rec_end(monmsg) <= mon_rec_start(monmsg)) || if ((mon_rec_end(monmsg) <= mon_rec_start(monmsg)) ||
(mon_rec_start(monmsg) < mon_dcss_start) || (mon_rec_start(monmsg) < mon_dcss_start) ||
...@@ -209,8 +209,8 @@ static inline int mon_check_mca(struct mon_msg *monmsg) ...@@ -209,8 +209,8 @@ static inline int mon_check_mca(struct mon_msg *monmsg)
return 0; return 0;
} }
static inline int mon_send_reply(struct mon_msg *monmsg, static int mon_send_reply(struct mon_msg *monmsg,
struct mon_private *monpriv) struct mon_private *monpriv)
{ {
int rc; int rc;
...@@ -236,7 +236,7 @@ static inline int mon_send_reply(struct mon_msg *monmsg, ...@@ -236,7 +236,7 @@ static inline int mon_send_reply(struct mon_msg *monmsg,
return 0; return 0;
} }
static inline void mon_free_mem(struct mon_private *monpriv) static void mon_free_mem(struct mon_private *monpriv)
{ {
int i; int i;
...@@ -246,7 +246,7 @@ static inline void mon_free_mem(struct mon_private *monpriv) ...@@ -246,7 +246,7 @@ static inline void mon_free_mem(struct mon_private *monpriv)
kfree(monpriv); kfree(monpriv);
} }
static inline struct mon_private *mon_alloc_mem(void) static struct mon_private *mon_alloc_mem(void)
{ {
int i; int i;
struct mon_private *monpriv; struct mon_private *monpriv;
...@@ -307,7 +307,7 @@ static inline void mon_next_mca(struct mon_msg *monmsg) ...@@ -307,7 +307,7 @@ static inline void mon_next_mca(struct mon_msg *monmsg)
monmsg->pos = 0; monmsg->pos = 0;
} }
static inline struct mon_msg *mon_next_message(struct mon_private *monpriv) static struct mon_msg *mon_next_message(struct mon_private *monpriv)
{ {
struct mon_msg *monmsg; struct mon_msg *monmsg;
......
...@@ -589,9 +589,10 @@ static int ...@@ -589,9 +589,10 @@ static int
__raw3270_size_device_vm(struct raw3270 *rp) __raw3270_size_device_vm(struct raw3270 *rp)
{ {
int rc, model; int rc, model;
struct ccw_dev_id dev_id;
raw3270_init_diag210.vrdcdvno = ccw_device_get_id(rp->cdev, &dev_id);
_ccw_device_get_device_number(rp->cdev); raw3270_init_diag210.vrdcdvno = dev_id.devno;
raw3270_init_diag210.vrdclen = sizeof(struct diag210); raw3270_init_diag210.vrdclen = sizeof(struct diag210);
rc = diag210(&raw3270_init_diag210); rc = diag210(&raw3270_init_diag210);
if (rc) if (rc)
......
...@@ -132,6 +132,9 @@ int sclp_deactivate(void); ...@@ -132,6 +132,9 @@ int sclp_deactivate(void);
int sclp_reactivate(void); int sclp_reactivate(void);
int sclp_service_call(sclp_cmdw_t command, void *sccb); int sclp_service_call(sclp_cmdw_t command, void *sccb);
int sclp_sdias_init(void);
void sclp_sdias_exit(void);
/* useful inlines */ /* useful inlines */
/* VM uses EBCDIC 037, LPAR+native(SE+HMC) use EBCDIC 500 */ /* VM uses EBCDIC 037, LPAR+native(SE+HMC) use EBCDIC 500 */
......
...@@ -66,9 +66,9 @@ static DEFINE_MUTEX(sdias_mutex); ...@@ -66,9 +66,9 @@ static DEFINE_MUTEX(sdias_mutex);
static void sdias_callback(struct sclp_req *request, void *data) static void sdias_callback(struct sclp_req *request, void *data)
{ {
struct sdias_sccb *sccb; struct sdias_sccb *cbsccb;
sccb = (struct sdias_sccb *) request->sccb; cbsccb = (struct sdias_sccb *) request->sccb;
sclp_req_done = 1; sclp_req_done = 1;
wake_up(&sdias_wq); /* Inform caller, that request is complete */ wake_up(&sdias_wq); /* Inform caller, that request is complete */
TRACE("callback done\n"); TRACE("callback done\n");
...@@ -229,7 +229,7 @@ int sclp_sdias_copy(void *dest, int start_blk, int nr_blks) ...@@ -229,7 +229,7 @@ int sclp_sdias_copy(void *dest, int start_blk, int nr_blks)
return rc; return rc;
} }
int __init sdias_init(void) int __init sclp_sdias_init(void)
{ {
int rc; int rc;
...@@ -248,7 +248,7 @@ int __init sdias_init(void) ...@@ -248,7 +248,7 @@ int __init sdias_init(void)
return 0; return 0;
} }
void __exit sdias_exit(void) void __exit sclp_sdias_exit(void)
{ {
debug_unregister(sdias_dbf); debug_unregister(sdias_dbf);
sclp_unregister(&sclp_sdias_register); sclp_unregister(&sclp_sdias_register);
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <asm/debug.h> #include <asm/debug.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/irqflags.h> #include <asm/irqflags.h>
#include "sclp.h"
#define TRACE(x...) debug_sprintf_event(zcore_dbf, 1, x) #define TRACE(x...) debug_sprintf_event(zcore_dbf, 1, x)
#define MSG(x...) printk( KERN_ALERT x ) #define MSG(x...) printk( KERN_ALERT x )
...@@ -564,8 +565,6 @@ static void __init zcore_header_init(int arch, struct zcore_header *hdr) ...@@ -564,8 +565,6 @@ static void __init zcore_header_init(int arch, struct zcore_header *hdr)
get_cpu_id(&hdr->cpu_id); get_cpu_id(&hdr->cpu_id);
} }
extern int sdias_init(void);
static int __init zcore_init(void) static int __init zcore_init(void)
{ {
unsigned char arch; unsigned char arch;
...@@ -582,7 +581,7 @@ static int __init zcore_init(void) ...@@ -582,7 +581,7 @@ static int __init zcore_init(void)
TRACE("wwpn: %llx\n", (unsigned long long) ipl_info.data.fcp.wwpn); TRACE("wwpn: %llx\n", (unsigned long long) ipl_info.data.fcp.wwpn);
TRACE("lun: %llx\n", (unsigned long long) ipl_info.data.fcp.lun); TRACE("lun: %llx\n", (unsigned long long) ipl_info.data.fcp.lun);
rc = sdias_init(); rc = sclp_sdias_init();
if (rc) if (rc)
goto fail; goto fail;
...@@ -634,12 +633,10 @@ static int __init zcore_init(void) ...@@ -634,12 +633,10 @@ static int __init zcore_init(void)
return rc; return rc;
} }
extern void sdias_exit(void);
static void __exit zcore_exit(void) static void __exit zcore_exit(void)
{ {
debug_unregister(zcore_dbf); debug_unregister(zcore_dbf);
sdias_exit(); sclp_sdias_exit();
diag308(DIAG308_REL_HSA, NULL); diag308(DIAG308_REL_HSA, NULL);
} }
......
...@@ -191,8 +191,7 @@ static int css_register_subchannel(struct subchannel *sch) ...@@ -191,8 +191,7 @@ static int css_register_subchannel(struct subchannel *sch)
return ret; return ret;
} }
int static int css_probe_device(struct subchannel_id schid)
css_probe_device(struct subchannel_id schid)
{ {
int ret; int ret;
struct subchannel *sch; struct subchannel *sch;
......
...@@ -138,9 +138,7 @@ struct css_driver { ...@@ -138,9 +138,7 @@ struct css_driver {
* all css_drivers have the css_bus_type * all css_drivers have the css_bus_type
*/ */
extern struct bus_type css_bus_type; extern struct bus_type css_bus_type;
extern struct css_driver io_subchannel_driver;
extern int css_probe_device(struct subchannel_id);
extern int css_sch_device_register(struct subchannel *); extern int css_sch_device_register(struct subchannel *);
extern void css_sch_device_unregister(struct subchannel *); extern void css_sch_device_unregister(struct subchannel *);
extern struct subchannel * get_subchannel_by_schid(struct subchannel_id); extern struct subchannel * get_subchannel_by_schid(struct subchannel_id);
......
...@@ -129,7 +129,7 @@ static void io_subchannel_verify(struct device *); ...@@ -129,7 +129,7 @@ static void io_subchannel_verify(struct device *);
static void io_subchannel_ioterm(struct device *); static void io_subchannel_ioterm(struct device *);
static void io_subchannel_shutdown(struct subchannel *); static void io_subchannel_shutdown(struct subchannel *);
struct css_driver io_subchannel_driver = { static struct css_driver io_subchannel_driver = {
.subchannel_type = SUBCHANNEL_TYPE_IO, .subchannel_type = SUBCHANNEL_TYPE_IO,
.drv = { .drv = {
.name = "io_subchannel", .name = "io_subchannel",
...@@ -546,7 +546,7 @@ static struct attribute_group ccwdev_attr_group = { ...@@ -546,7 +546,7 @@ static struct attribute_group ccwdev_attr_group = {
.attrs = ccwdev_attrs, .attrs = ccwdev_attrs,
}; };
struct attribute_group *ccwdev_attr_groups[] = { static struct attribute_group *ccwdev_attr_groups[] = {
&ccwdev_attr_group, &ccwdev_attr_group,
NULL, NULL,
}; };
......
...@@ -616,6 +616,17 @@ ccw_device_get_chp_desc(struct ccw_device *cdev, int chp_no) ...@@ -616,6 +616,17 @@ ccw_device_get_chp_desc(struct ccw_device *cdev, int chp_no)
return chp_get_chp_desc(chpid); return chp_get_chp_desc(chpid);
} }
/**
* ccw_device_get_id - obtain a ccw device id
* @cdev: device to obtain the id for
* @dev_id: where to fill in the values
*/
void ccw_device_get_id(struct ccw_device *cdev, struct ccw_dev_id *dev_id)
{
*dev_id = cdev->private->dev_id;
}
EXPORT_SYMBOL(ccw_device_get_id);
// FIXME: these have to go: // FIXME: these have to go:
int int
......
...@@ -1983,6 +1983,7 @@ qdio_handle_pci(struct qdio_irq *irq_ptr) ...@@ -1983,6 +1983,7 @@ qdio_handle_pci(struct qdio_irq *irq_ptr)
if (q->is_input_q&QDIO_FLAG_NO_INPUT_INTERRUPT_CONTEXT) if (q->is_input_q&QDIO_FLAG_NO_INPUT_INTERRUPT_CONTEXT)
qdio_mark_q(q); qdio_mark_q(q);
else { else {
qdio_perf_stat_dec(&perf_stats.tl_runs);
__qdio_inbound_processing(q); __qdio_inbound_processing(q);
} }
} }
......
...@@ -3,7 +3,7 @@ menu "S/390 network device drivers" ...@@ -3,7 +3,7 @@ menu "S/390 network device drivers"
config LCS config LCS
tristate "Lan Channel Station Interface" tristate "Lan Channel Station Interface"
depends on NETDEVICES && (NET_ETHERNET || TR || FDDI) depends on CCW && NETDEVICES && (NET_ETHERNET || TR || FDDI)
help help
Select this option if you want to use LCS networking on IBM S/390 Select this option if you want to use LCS networking on IBM S/390
or zSeries. This device driver supports Token Ring (IEEE 802.5), or zSeries. This device driver supports Token Ring (IEEE 802.5),
...@@ -13,7 +13,7 @@ config LCS ...@@ -13,7 +13,7 @@ config LCS
config CTC config CTC
tristate "CTC device support" tristate "CTC device support"
depends on NETDEVICES depends on CCW && NETDEVICES
help help
Select this option if you want to use channel-to-channel networking Select this option if you want to use channel-to-channel networking
on IBM S/390 or zSeries. This device driver supports real CTC on IBM S/390 or zSeries. This device driver supports real CTC
...@@ -42,7 +42,7 @@ config SMSGIUCV ...@@ -42,7 +42,7 @@ config SMSGIUCV
config CLAW config CLAW
tristate "CLAW device support" tristate "CLAW device support"
depends on NETDEVICES depends on CCW && NETDEVICES
help help
This driver supports channel attached CLAW devices. This driver supports channel attached CLAW devices.
CLAW is Common Link Access for Workstation. Common devices CLAW is Common Link Access for Workstation. Common devices
...@@ -52,7 +52,7 @@ config CLAW ...@@ -52,7 +52,7 @@ config CLAW
config QETH config QETH
tristate "Gigabit Ethernet device support" tristate "Gigabit Ethernet device support"
depends on NETDEVICES && IP_MULTICAST && QDIO depends on CCW && NETDEVICES && IP_MULTICAST && QDIO
help help
This driver supports the IBM S/390 and zSeries OSA Express adapters This driver supports the IBM S/390 and zSeries OSA Express adapters
in QDIO mode (all media types), HiperSockets interfaces and VM GuestLAN in QDIO mode (all media types), HiperSockets interfaces and VM GuestLAN
......
...@@ -162,7 +162,7 @@ struct ipa_rc_msg { ...@@ -162,7 +162,7 @@ struct ipa_rc_msg {
char *msg; char *msg;
}; };
struct ipa_rc_msg qeth_ipa_rc_msg[] = { static struct ipa_rc_msg qeth_ipa_rc_msg[] = {
{IPA_RC_SUCCESS, "success"}, {IPA_RC_SUCCESS, "success"},
{IPA_RC_NOTSUPP, "Command not supported"}, {IPA_RC_NOTSUPP, "Command not supported"},
{IPA_RC_IP_TABLE_FULL, "Add Addr IP Table Full - ipv6"}, {IPA_RC_IP_TABLE_FULL, "Add Addr IP Table Full - ipv6"},
...@@ -226,7 +226,7 @@ struct ipa_cmd_names { ...@@ -226,7 +226,7 @@ struct ipa_cmd_names {
char *name; char *name;
}; };
struct ipa_cmd_names qeth_ipa_cmd_names[] = { static struct ipa_cmd_names qeth_ipa_cmd_names[] = {
{IPA_CMD_STARTLAN, "startlan"}, {IPA_CMD_STARTLAN, "startlan"},
{IPA_CMD_STOPLAN, "stoplan"}, {IPA_CMD_STOPLAN, "stoplan"},
{IPA_CMD_SETVMAC, "setvmac"}, {IPA_CMD_SETVMAC, "setvmac"},
......
...@@ -607,8 +607,7 @@ zfcp_sg_list_free(struct zfcp_sg_list *sg_list) ...@@ -607,8 +607,7 @@ zfcp_sg_list_free(struct zfcp_sg_list *sg_list)
* @sg_count: elements in array * @sg_count: elements in array
* Return: size of entire scatter-gather list * Return: size of entire scatter-gather list
*/ */
size_t static size_t zfcp_sg_size(struct scatterlist *sg, unsigned int sg_count)
zfcp_sg_size(struct scatterlist *sg, unsigned int sg_count)
{ {
unsigned int i; unsigned int i;
struct scatterlist *p; struct scatterlist *p;
...@@ -975,8 +974,7 @@ zfcp_free_low_mem_buffers(struct zfcp_adapter *adapter) ...@@ -975,8 +974,7 @@ zfcp_free_low_mem_buffers(struct zfcp_adapter *adapter)
mempool_destroy(adapter->pool.data_gid_pn); mempool_destroy(adapter->pool.data_gid_pn);
} }
void static void zfcp_dummy_release(struct device *dev)
zfcp_dummy_release(struct device *dev)
{ {
return; return;
} }
...@@ -1336,7 +1334,7 @@ zfcp_nameserver_enqueue(struct zfcp_adapter *adapter) ...@@ -1336,7 +1334,7 @@ zfcp_nameserver_enqueue(struct zfcp_adapter *adapter)
#define ZFCP_LOG_AREA ZFCP_LOG_AREA_FC #define ZFCP_LOG_AREA ZFCP_LOG_AREA_FC
void static void
zfcp_fsf_incoming_els_rscn(struct zfcp_adapter *adapter, zfcp_fsf_incoming_els_rscn(struct zfcp_adapter *adapter,
struct fsf_status_read_buffer *status_buffer) struct fsf_status_read_buffer *status_buffer)
{ {
......
...@@ -478,7 +478,7 @@ static struct debug_view zfcp_hba_dbf_view = { ...@@ -478,7 +478,7 @@ static struct debug_view zfcp_hba_dbf_view = {
NULL NULL
}; };
void static void
_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req, _zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req,
u32 s_id, u32 d_id, void *buffer, int buflen) u32 s_id, u32 d_id, void *buffer, int buflen)
{ {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
# #
menu "Serial drivers" menu "Serial drivers"
depends on HAS_IOMEM
# #
# The new 8250/16550 serial drivers # The new 8250/16550 serial drivers
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
# fully appropriate there, so it'd need some thought to do well. # fully appropriate there, so it'd need some thought to do well.
# #
menu "SPI support" menu "SPI support"
depends on HAS_IOMEM
config SPI config SPI
bool "SPI support" bool "SPI support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Telephony Support" menu "Telephony Support"
depends on HAS_IOMEM
config PHONE config PHONE
tristate "Linux telephony support" tristate "Linux telephony support"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "USB support" menu "USB support"
depends on HAS_IOMEM
# Host-side USB depends on having a host controller # Host-side USB depends on having a host controller
# NOTE: dummy_hcd is always an option, but it's ignored here ... # NOTE: dummy_hcd is always an option, but it's ignored here ...
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
menu "Graphics support" menu "Graphics support"
depends on HAS_IOMEM
source "drivers/video/backlight/Kconfig" source "drivers/video/backlight/Kconfig"
source "drivers/video/display/Kconfig" source "drivers/video/display/Kconfig"
......
menu "Dallas's 1-wire bus" menu "Dallas's 1-wire bus"
depends on HAS_IOMEM
config W1 config W1
tristate "Dallas's 1-wire support" tristate "Dallas's 1-wire support"
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
/* structs from asm/cio.h */ /* structs from asm/cio.h */
struct irb; struct irb;
struct ccw1; struct ccw1;
struct ccw_dev_id;
/* simplified initializers for struct ccw_device: /* simplified initializers for struct ccw_device:
* CCW_DEVICE and CCW_DEVICE_DEVTYPE initialize one * CCW_DEVICE and CCW_DEVICE_DEVTYPE initialize one
...@@ -175,6 +176,7 @@ extern int ccw_device_set_offline(struct ccw_device *cdev); ...@@ -175,6 +176,7 @@ extern int ccw_device_set_offline(struct ccw_device *cdev);
extern struct ciw *ccw_device_get_ciw(struct ccw_device *, __u32 cmd); extern struct ciw *ccw_device_get_ciw(struct ccw_device *, __u32 cmd);
extern __u8 ccw_device_get_path_mask(struct ccw_device *); extern __u8 ccw_device_get_path_mask(struct ccw_device *);
extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *);
#define get_ccwdev_lock(x) (x)->ccwlock #define get_ccwdev_lock(x) (x)->ccwlock
...@@ -184,7 +186,6 @@ extern __u8 ccw_device_get_path_mask(struct ccw_device *); ...@@ -184,7 +186,6 @@ extern __u8 ccw_device_get_path_mask(struct ccw_device *);
extern struct ccw_device *ccw_device_probe_console(void); extern struct ccw_device *ccw_device_probe_console(void);
// FIXME: these have to go // FIXME: these have to go
extern int _ccw_device_get_device_number(struct ccw_device *);
extern int _ccw_device_get_subchannel_number(struct ccw_device *); extern int _ccw_device_get_subchannel_number(struct ccw_device *);
extern void *ccw_device_get_chp_desc(struct ccw_device *, int); extern void *ccw_device_get_chp_desc(struct ccw_device *, int);
......
...@@ -79,8 +79,8 @@ struct ipl_parameter_block { ...@@ -79,8 +79,8 @@ struct ipl_parameter_block {
* IPL validity flags * IPL validity flags
*/ */
extern u32 ipl_flags; extern u32 ipl_flags;
extern u32 dump_prefix_page; extern u32 dump_prefix_page;
extern unsigned int zfcpdump_prefix_array[];
extern void do_reipl(void); extern void do_reipl(void);
extern void ipl_save_parameters(void); extern void ipl_save_parameters(void);
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#define _ASMS390_PARAM_H #define _ASMS390_PARAM_H
#ifdef __KERNEL__ #ifdef __KERNEL__
# define HZ 100 /* Internal kernel timer frequency */ # define HZ CONFIG_HZ /* Internal kernel timer frequency */
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */ # define USER_HZ 100 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ # define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif #endif
......
...@@ -218,6 +218,7 @@ config FIB_RULES ...@@ -218,6 +218,7 @@ config FIB_RULES
bool bool
menu "Wireless" menu "Wireless"
depends on !S390
source "net/wireless/Kconfig" source "net/wireless/Kconfig"
source "net/mac80211/Kconfig" source "net/mac80211/Kconfig"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
menuconfig HAMRADIO menuconfig HAMRADIO
depends on NET depends on NET && !S390
bool "Amateur Radio support" bool "Amateur Radio support"
help help
If you want to connect your Linux box to an amateur radio, answer Y If you want to connect your Linux box to an amateur radio, answer Y
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
menuconfig BT menuconfig BT
depends on NET depends on NET && !S390
tristate "Bluetooth subsystem support" tristate "Bluetooth subsystem support"
help help
Bluetooth is low-cost, low-power, short-range wireless technology. Bluetooth is low-cost, low-power, short-range wireless technology.
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
menuconfig IRDA menuconfig IRDA
depends on NET depends on NET && !S390
tristate "IrDA (infrared) subsystem support" tristate "IrDA (infrared) subsystem support"
select CRC_CCITT select CRC_CCITT
---help--- ---help---
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# #
menu "Sound" menu "Sound"
depends on HAS_IOMEM
config SOUND config SOUND
tristate "Sound card support" tristate "Sound card support"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment