aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-10 17:01:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-10 17:01:26 -0400
commit0d6ffdb8f151a2b685c7b45bde7ab2d49fc1bb00 (patch)
tree1768c906e87750dc897a2f113e335886d9b906e8 /arch/s390
parent7233e392760b3493095d3d5885cb15e44493d74a (diff)
parent7c8faa86290c1a2607d6b768a0b874ec392a5c2a (diff)
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] dasd: tunable missing interrupt handler [S390] dasd: allocate fallback cqr for reserve/release [S390] topology: use default MC domain initializer [S390] initrd: change default load address [S390] cmm, smsgiucv_app: convert sender to uppercase [S390] cmm: add missing __init/__exit annotations [S390] cio: use all available paths for some internal I/O [S390] ccwreq: add ability to use all paths [S390] cio: ccw_device_online_store return -EINVAL in case of missing driver [S390] cio: Log the response from the unit check handler [S390] cio: CHSC SIOSL Support
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/ccwdev.h2
-rw-r--r--arch/s390/include/asm/topology.h2
-rw-r--r--arch/s390/kernel/head.S2
-rw-r--r--arch/s390/mm/cmm.c11
4 files changed, 12 insertions, 5 deletions
diff --git a/arch/s390/include/asm/ccwdev.h b/arch/s390/include/asm/ccwdev.h
index 1c0030f9b890..f3ba0fa98de6 100644
--- a/arch/s390/include/asm/ccwdev.h
+++ b/arch/s390/include/asm/ccwdev.h
@@ -208,6 +208,8 @@ extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *);
208extern struct ccw_device *ccw_device_probe_console(void); 208extern struct ccw_device *ccw_device_probe_console(void);
209extern int ccw_device_force_console(void); 209extern int ccw_device_force_console(void);
210 210
211int ccw_device_siosl(struct ccw_device *);
212
211// FIXME: these have to go 213// FIXME: these have to go
212extern int _ccw_device_get_subchannel_number(struct ccw_device *); 214extern int _ccw_device_get_subchannel_number(struct ccw_device *);
213 215
diff --git a/arch/s390/include/asm/topology.h b/arch/s390/include/asm/topology.h
index dc8a67297d0f..831bd033ea77 100644
--- a/arch/s390/include/asm/topology.h
+++ b/arch/s390/include/asm/topology.h
@@ -30,8 +30,6 @@ static inline void s390_init_cpu_topology(void)
30}; 30};
31#endif 31#endif
32 32
33#define SD_MC_INIT SD_CPU_INIT
34
35#include <asm-generic/topology.h> 33#include <asm-generic/topology.h>
36 34
37#endif /* _ASM_S390_TOPOLOGY_H */ 35#endif /* _ASM_S390_TOPOLOGY_H */
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S
index 51838ad42d56..db1696e210af 100644
--- a/arch/s390/kernel/head.S
+++ b/arch/s390/kernel/head.S
@@ -366,7 +366,7 @@ iplstart:
366 l %r1,.Lstartup 366 l %r1,.Lstartup
367 br %r1 367 br %r1
368 368
369.Linitrd:.long _end + 0x400000 # default address of initrd 369.Linitrd:.long _end # default address of initrd
370.Lparm: .long PARMAREA 370.Lparm: .long PARMAREA
371.Lstartup: .long startup 371.Lstartup: .long startup
372.Lreset:.byte 0xc3,0xc8,0xc1,0xd5,0xc7,0xc5,0x40,0xd9,0xc4,0xd9,0x40 372.Lreset:.byte 0xc3,0xc8,0xc1,0xd5,0xc7,0xc5,0x40,0xd9,0xc4,0xd9,0x40
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c
index eb6a2ef5f82e..a9550dca3e4b 100644
--- a/arch/s390/mm/cmm.c
+++ b/arch/s390/mm/cmm.c
@@ -427,7 +427,7 @@ static struct notifier_block cmm_power_notifier = {
427 .notifier_call = cmm_power_event, 427 .notifier_call = cmm_power_event,
428}; 428};
429 429
430static int cmm_init(void) 430static int __init cmm_init(void)
431{ 431{
432 int rc = -ENOMEM; 432 int rc = -ENOMEM;
433 433
@@ -435,6 +435,13 @@ static int cmm_init(void)
435 if (!cmm_sysctl_header) 435 if (!cmm_sysctl_header)
436 goto out_sysctl; 436 goto out_sysctl;
437#ifdef CONFIG_CMM_IUCV 437#ifdef CONFIG_CMM_IUCV
438 /* convert sender to uppercase characters */
439 if (sender) {
440 int len = strlen(sender);
441 while (len--)
442 sender[len] = toupper(sender[len]);
443 }
444
438 rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target); 445 rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target);
439 if (rc < 0) 446 if (rc < 0)
440 goto out_smsg; 447 goto out_smsg;
@@ -467,7 +474,7 @@ out_sysctl:
467} 474}
468module_init(cmm_init); 475module_init(cmm_init);
469 476
470static void cmm_exit(void) 477static void __exit cmm_exit(void)
471{ 478{
472 unregister_sysctl_table(cmm_sysctl_header); 479 unregister_sysctl_table(cmm_sysctl_header);
473#ifdef CONFIG_CMM_IUCV 480#ifdef CONFIG_CMM_IUCV