Commit 39ce941e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] dcss: Initialize workqueue before using it.
  [S390] Remove BUILD_BUG_ON() in vmem code.
  [S390] sclp_tty/sclp_vt220: Fix scheduling while atomic
  [S390] dasd: fix panic caused by alias device offline
  [S390] dasd: add ifcc handling
  [S390] latencytop s390 support.
  [S390] Implement ext2_find_next_bit.
  [S390] Cleanup & optimize bitops.
  [S390] Define GENERIC_LOCKBREAK.
  [S390] console: allow vt220 console to be the only console
  [S390] Fix couple of section mismatches.
  [S390] Fix smp_call_function_mask semantics.
  [S390] Fix linker script.
  [S390] DEBUG_PAGEALLOC support for s390.
  [S390] cio: Add shutdown callback for ccwgroup.
  [S390] cio: Update documentation.
  [S390] cio: Clean up chsc response code handling.
  [S390] cio: make sense id procedure work with partial hardware response
parents 3d412f60 c5411dba
Loading
Loading
Loading
Loading
+16 −5
Original line number Original line Diff line number Diff line
@@ -59,7 +59,7 @@
   <title>Introduction</title>
   <title>Introduction</title>
  <para>
  <para>
    This document describes the interfaces available for device drivers that
    This document describes the interfaces available for device drivers that
    drive s390 based channel attached devices. This includes interfaces for
    drive s390 based channel attached I/O devices. This includes interfaces for
    interaction with the hardware and interfaces for interacting with the
    interaction with the hardware and interfaces for interacting with the
    common driver core. Those interfaces are provided by the s390 common I/O
    common driver core. Those interfaces are provided by the s390 common I/O
    layer.
    layer.
@@ -86,9 +86,10 @@
	The ccw bus typically contains the majority of devices available to
	The ccw bus typically contains the majority of devices available to
	a s390 system. Named after the channel command word (ccw), the basic
	a s390 system. Named after the channel command word (ccw), the basic
	command structure used to address its devices, the ccw bus contains
	command structure used to address its devices, the ccw bus contains
	so-called channel attached devices. They are addressed via subchannels,
	so-called channel attached devices. They are addressed via I/O
	visible on the css bus. A device driver, however, will never interact
	subchannels, visible on the css bus. A device driver for
	with the subchannel directly, but only via the device on the ccw bus,
	channel-attached devices, however, will never interact	with the
	subchannel directly, but only via the I/O device on the ccw bus,
	the ccw device.
	the ccw device.
  </para>
  </para>
    <sect1 id="channelIO">
    <sect1 id="channelIO">
@@ -116,7 +117,6 @@
!Iinclude/asm-s390/ccwdev.h
!Iinclude/asm-s390/ccwdev.h
!Edrivers/s390/cio/device.c
!Edrivers/s390/cio/device.c
!Edrivers/s390/cio/device_ops.c
!Edrivers/s390/cio/device_ops.c
!Edrivers/s390/cio/airq.c
    </sect1>
    </sect1>
    <sect1 id="cmf">
    <sect1 id="cmf">
     <title>The channel-measurement facility</title>
     <title>The channel-measurement facility</title>
@@ -147,4 +147,15 @@
   </sect1>
   </sect1>
  </chapter>
  </chapter>


  <chapter id="genericinterfaces">
   <title>Generic interfaces</title>
  <para>
	Some interfaces are available to other drivers that do not necessarily
	have anything to do with the busses described above, but still are
	indirectly using basic infrastructure in the common I/O layer.
	One example is the support for adapter interrupts.
  </para>
!Edrivers/s390/cio/airq.c
  </chapter>

</book>
</book>
+8 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,9 @@ config LOCKDEP_SUPPORT
config STACKTRACE_SUPPORT
config STACKTRACE_SUPPORT
	def_bool y
	def_bool y


config HAVE_LATENCYTOP_SUPPORT
	def_bool y

config RWSEM_GENERIC_SPINLOCK
config RWSEM_GENERIC_SPINLOCK
	bool
	bool


@@ -47,6 +50,11 @@ config NO_IOMEM
config NO_DMA
config NO_DMA
	def_bool y
	def_bool y


config GENERIC_LOCKBREAK
	bool
	default y
	depends on SMP && PREEMPT

mainmenu "Linux Kernel Configuration"
mainmenu "Linux Kernel Configuration"


config S390
config S390
+8 −0
Original line number Original line Diff line number Diff line
@@ -6,4 +6,12 @@ config TRACE_IRQFLAGS_SUPPORT


source "lib/Kconfig.debug"
source "lib/Kconfig.debug"


config DEBUG_PAGEALLOC
	bool "Debug page memory allocations"
	depends on DEBUG_KERNEL
	help
	  Unmap pages from the kernel linear mapping after free_pages().
	  This results in a slowdown, but helps to find certain types of
	  memory corruptions.

endmenu
endmenu
+2 −5
Original line number Original line Diff line number Diff line
@@ -11,6 +11,7 @@


#include <linux/sys.h>
#include <linux/sys.h>
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/cache.h>
#include <asm/cache.h>
#include <asm/lowcore.h>
#include <asm/lowcore.h>
#include <asm/errno.h>
#include <asm/errno.h>
@@ -830,9 +831,7 @@ mcck_return:
 * Restart interruption handler, kick starter for additional CPUs
 * Restart interruption handler, kick starter for additional CPUs
 */
 */
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
#ifndef CONFIG_HOTPLUG_CPU
	__CPUINIT
	.section .init.text,"ax"
#endif
	.globl restart_int_handler
	.globl restart_int_handler
restart_int_handler:
restart_int_handler:
	l	%r15,__LC_SAVE_AREA+60	# load ksp
	l	%r15,__LC_SAVE_AREA+60	# load ksp
@@ -845,9 +844,7 @@ restart_int_handler:
	br	%r14			# branch to start_secondary
	br	%r14			# branch to start_secondary
restart_addr:
restart_addr:
	.long	start_secondary
	.long	start_secondary
#ifndef CONFIG_HOTPLUG_CPU
	.previous
	.previous
#endif
#else
#else
/*
/*
 * If we do not run with SMP enabled, let the new CPU crash ...
 * If we do not run with SMP enabled, let the new CPU crash ...
+2 −5
Original line number Original line Diff line number Diff line
@@ -11,6 +11,7 @@


#include <linux/sys.h>
#include <linux/sys.h>
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/cache.h>
#include <asm/cache.h>
#include <asm/lowcore.h>
#include <asm/lowcore.h>
#include <asm/errno.h>
#include <asm/errno.h>
@@ -801,9 +802,7 @@ mcck_return:
 * Restart interruption handler, kick starter for additional CPUs
 * Restart interruption handler, kick starter for additional CPUs
 */
 */
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
#ifndef CONFIG_HOTPLUG_CPU
	__CPUINIT
	.section .init.text,"ax"
#endif
	.globl restart_int_handler
	.globl restart_int_handler
restart_int_handler:
restart_int_handler:
	lg	%r15,__LC_SAVE_AREA+120 # load ksp
	lg	%r15,__LC_SAVE_AREA+120 # load ksp
@@ -814,9 +813,7 @@ restart_int_handler:
	lmg	%r6,%r15,__SF_GPRS(%r15) # load registers from clone
	lmg	%r6,%r15,__SF_GPRS(%r15) # load registers from clone
	stosm	__SF_EMPTY(%r15),0x04	# now we can turn dat on
	stosm	__SF_EMPTY(%r15),0x04	# now we can turn dat on
	jg	start_secondary
	jg	start_secondary
#ifndef CONFIG_HOTPLUG_CPU
	.previous
	.previous
#endif
#else
#else
/*
/*
 * If we do not run with SMP enabled, let the new CPU crash ...
 * If we do not run with SMP enabled, let the new CPU crash ...
Loading