s390/sclp: move sclp_facilities into "struct sclp"
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Wed, 6 May 2015 07:17:51 +0000 (09:17 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 13 May 2015 07:58:18 +0000 (09:58 +0200)
Let's also move the facilities into the sclp struct, so we can avoid
another separate external variable.

Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/sclp.h
drivers/s390/char/sclp.c
drivers/s390/char/sclp.h
drivers/s390/char/sclp_cmd.c
drivers/s390/char/sclp_early.c

index 6b00faa7e1adc2ada20e52e382e4762e9b9bf716..c891f41b27532f5fdfd646cffbd3f8f15171311a 100644 (file)
@@ -62,6 +62,7 @@ struct sclp_info {
        unsigned long long hamax;
        unsigned int max_cpu;
        unsigned long hsa_size;
+       unsigned long long facilities;
 };
 extern struct sclp_info sclp;
 
index 41ba56d2e75218f6126ce61cd8c1f1443a5a9ada..5e20513c0587e82ba38eefa7604769e257036665 100644 (file)
@@ -665,7 +665,7 @@ sclp_state_change_cb(struct evbuf_header *evbuf)
                sclp_send_mask = scbuf->sclp_send_mask;
        spin_unlock_irqrestore(&sclp_lock, flags);
        if (scbuf->validity_sclp_active_facility_mask)
-               sclp_facilities = scbuf->sclp_active_facility_mask;
+               sclp.facilities = scbuf->sclp_active_facility_mask;
        sclp_dispatch_state_change();
 }
 
index 852f20649f33e84d17669c4b541a346a78891672..026e3899095220fff6d18239975ae5db1f8adbe4 100644 (file)
@@ -100,13 +100,11 @@ struct init_sccb {
        sccb_mask_t sclp_send_mask;
 } __attribute__((packed));
 
-extern u64 sclp_facilities;
-
-#define SCLP_HAS_CHP_INFO      (sclp_facilities & 0x8000000000000000ULL)
-#define SCLP_HAS_CHP_RECONFIG  (sclp_facilities & 0x2000000000000000ULL)
-#define SCLP_HAS_CPU_INFO      (sclp_facilities & 0x0800000000000000ULL)
-#define SCLP_HAS_CPU_RECONFIG  (sclp_facilities & 0x0400000000000000ULL)
-#define SCLP_HAS_PCI_RECONFIG  (sclp_facilities & 0x0000000040000000ULL)
+#define SCLP_HAS_CHP_INFO      (sclp.facilities & 0x8000000000000000ULL)
+#define SCLP_HAS_CHP_RECONFIG  (sclp.facilities & 0x2000000000000000ULL)
+#define SCLP_HAS_CPU_INFO      (sclp.facilities & 0x0800000000000000ULL)
+#define SCLP_HAS_CPU_RECONFIG  (sclp.facilities & 0x0400000000000000ULL)
+#define SCLP_HAS_PCI_RECONFIG  (sclp.facilities & 0x0000000040000000ULL)
 
 
 struct gds_subvector {
index 215e7950fd296aa0b169a93b125127c71c134f2d..a186918dc3935d52a2165f1fa54747bded7e74e3 100644 (file)
@@ -508,7 +508,7 @@ static int __init sclp_detect_standby_memory(void)
 
        if (OLDMEM_BASE) /* No standby memory in kdump mode */
                return 0;
-       if ((sclp_facilities & 0xe00000000000ULL) != 0xe00000000000ULL)
+       if ((sclp.facilities & 0xe00000000000ULL) != 0xe00000000000ULL)
                return 0;
        rc = -ENOMEM;
        sccb = (void *) __get_free_page(GFP_KERNEL | GFP_DMA);
index 914ff62112c8fef72914f83af255d8bb1b01029c..d7f696d95597734568bb4cfb6f35f577a7bc6b30 100644 (file)
@@ -52,7 +52,6 @@ static struct sclp_ipl_info sclp_ipl_info;
 
 struct sclp_info sclp;
 EXPORT_SYMBOL(sclp);
-u64 sclp_facilities;
 
 static int __init sclp_cmd_sync_early(sclp_cmdw_t cmd, void *sccb)
 {
@@ -105,7 +104,7 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb)
        if (sclp_read_info_early(sccb))
                return;
 
-       sclp_facilities = sccb->facilities;
+       sclp.facilities = sccb->facilities;
        sclp.has_sprp = !!(sccb->fac84 & 0x02);
        sclp.has_cpu_type = !!(sccb->fac84 & 0x01);
        if (sccb->fac85 & 0x02)