From: David Hildenbrand Date: Wed, 6 May 2015 07:17:51 +0000 (+0200) Subject: s390/sclp: move sclp_facilities into "struct sclp" X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=78335a30e0ea2ac79db5a9915fdf6edd9e8ded9b;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git s390/sclp: move sclp_facilities into "struct sclp" Let's also move the facilities into the sclp struct, so we can avoid another separate external variable. Acked-by: Martin Schwidefsky Signed-off-by: David Hildenbrand Signed-off-by: Martin Schwidefsky --- diff --git a/arch/s390/include/asm/sclp.h b/arch/s390/include/asm/sclp.h index 6b00faa7e1ad..c891f41b2753 100644 --- a/arch/s390/include/asm/sclp.h +++ b/arch/s390/include/asm/sclp.h @@ -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; diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index 41ba56d2e752..5e20513c0587 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c @@ -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(); } diff --git a/drivers/s390/char/sclp.h b/drivers/s390/char/sclp.h index 852f20649f33..026e38990952 100644 --- a/drivers/s390/char/sclp.h +++ b/drivers/s390/char/sclp.h @@ -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 { diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 215e7950fd29..a186918dc393 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c @@ -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); diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c index 914ff62112c8..d7f696d95597 100644 --- a/drivers/s390/char/sclp_early.c +++ b/drivers/s390/char/sclp_early.c @@ -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)