diff options
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/char/sclp_cmd.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 36506366158d..766cb7b19b40 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/mmzone.h> | 18 | #include <linux/mmzone.h> |
19 | #include <linux/memory.h> | 19 | #include <linux/memory.h> |
20 | #include <linux/module.h> | ||
20 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
21 | #include <asm/chpid.h> | 22 | #include <asm/chpid.h> |
22 | #include <asm/sclp.h> | 23 | #include <asm/sclp.h> |
@@ -38,7 +39,8 @@ struct read_info_sccb { | |||
38 | u64 facilities; /* 48-55 */ | 39 | u64 facilities; /* 48-55 */ |
39 | u8 _reserved2[84 - 56]; /* 56-83 */ | 40 | u8 _reserved2[84 - 56]; /* 56-83 */ |
40 | u8 fac84; /* 84 */ | 41 | u8 fac84; /* 84 */ |
41 | u8 _reserved3[91 - 85]; /* 85-90 */ | 42 | u8 fac85; /* 85 */ |
43 | u8 _reserved3[91 - 86]; /* 86-90 */ | ||
42 | u8 flags; /* 91 */ | 44 | u8 flags; /* 91 */ |
43 | u8 _reserved4[100 - 92]; /* 92-99 */ | 45 | u8 _reserved4[100 - 92]; /* 92-99 */ |
44 | u32 rnsize2; /* 100-103 */ | 46 | u32 rnsize2; /* 100-103 */ |
@@ -51,6 +53,7 @@ static int __initdata early_read_info_sccb_valid; | |||
51 | 53 | ||
52 | u64 sclp_facilities; | 54 | u64 sclp_facilities; |
53 | static u8 sclp_fac84; | 55 | static u8 sclp_fac84; |
56 | static u8 sclp_fac85; | ||
54 | static unsigned long long rzm; | 57 | static unsigned long long rzm; |
55 | static unsigned long long rnmax; | 58 | static unsigned long long rnmax; |
56 | 59 | ||
@@ -112,6 +115,7 @@ void __init sclp_facilities_detect(void) | |||
112 | sccb = &early_read_info_sccb; | 115 | sccb = &early_read_info_sccb; |
113 | sclp_facilities = sccb->facilities; | 116 | sclp_facilities = sccb->facilities; |
114 | sclp_fac84 = sccb->fac84; | 117 | sclp_fac84 = sccb->fac84; |
118 | sclp_fac85 = sccb->fac85; | ||
115 | rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2; | 119 | rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2; |
116 | rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2; | 120 | rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2; |
117 | rzm <<= 20; | 121 | rzm <<= 20; |
@@ -127,6 +131,12 @@ unsigned long long sclp_get_rzm(void) | |||
127 | return rzm; | 131 | return rzm; |
128 | } | 132 | } |
129 | 133 | ||
134 | u8 sclp_get_fac85(void) | ||
135 | { | ||
136 | return sclp_fac85; | ||
137 | } | ||
138 | EXPORT_SYMBOL_GPL(sclp_get_fac85); | ||
139 | |||
130 | /* | 140 | /* |
131 | * This function will be called after sclp_facilities_detect(), which gets | 141 | * This function will be called after sclp_facilities_detect(), which gets |
132 | * called from early.c code. Therefore the sccb should have valid contents. | 142 | * called from early.c code. Therefore the sccb should have valid contents. |