From 3a9f3fe69eab40d9de948230a6789bd7ea68d5e9 Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Wed, 6 May 2015 13:19:29 +0200 Subject: s390/sclp: get rid of sclp_get_mtid() and sclp_get_mtid_max() As all relevant sclp data is now directly accessible, let's move the logic of these two functions to the single caller. 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 74ba690..6b00faa 100644 --- a/arch/s390/include/asm/sclp.h +++ b/arch/s390/include/asm/sclp.h @@ -68,8 +68,6 @@ extern struct sclp_info sclp; int sclp_get_cpu_info(struct sclp_cpu_info *info); int sclp_cpu_configure(u8 cpu); int sclp_cpu_deconfigure(u8 cpu); -unsigned int sclp_get_mtid(u8 cpu_type); -unsigned int sclp_get_mtid_max(void); int sclp_sdias_blk_count(void); int sclp_sdias_copy(void *dest, int blk_num, int nr_blks); int sclp_chp_configure(struct chp_id chpid); diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index ac7dda5..0d9d59d 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -740,7 +740,7 @@ static void __init smp_detect_cpus(void) #endif /* Set multi-threading state for the current system */ - mtid = sclp_get_mtid(boot_cpu_type); + mtid = boot_cpu_type ? sclp.mtid : sclp.mtid_cp; mtid = (mtid < smp_max_threads) ? mtid : smp_max_threads - 1; pcpu_set_smt(mtid); @@ -882,7 +882,8 @@ void __init smp_fill_possible_mask(void) { unsigned int possible, sclp_max, cpu; - sclp_max = min(smp_max_threads, sclp_get_mtid_max() + 1); + sclp_max = max(sclp.mtid, sclp.mtid_cp) + 1; + sclp_max = min(smp_max_threads, sclp_max); sclp_max = sclp.max_cpu * sclp_max ?: nr_cpu_ids; possible = setup_possible_cpus ?: nr_cpu_ids; possible = min(possible, sclp_max); diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c index 4f6525d..914ff62 100644 --- a/drivers/s390/char/sclp_early.c +++ b/drivers/s390/char/sclp_early.c @@ -49,7 +49,6 @@ struct read_info_sccb { static char sccb_early[PAGE_SIZE] __aligned(PAGE_SIZE) __initdata; static struct sclp_ipl_info sclp_ipl_info; -static unsigned int sclp_mtid_max; struct sclp_info sclp; EXPORT_SYMBOL(sclp); @@ -143,20 +142,9 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb) sclp.mtid = (sccb->fac42 & 0x80) ? (sccb->fac42 & 31) : 0; sclp.mtid_cp = (sccb->fac42 & 0x80) ? (sccb->fac43 & 31) : 0; - sclp_mtid_max = max(sclp.mtid, sclp.mtid_cp); sclp.mtid_prev = (sccb->fac42 & 0x80) ? (sccb->fac66 & 31) : 0; } -unsigned int sclp_get_mtid(u8 cpu_type) -{ - return cpu_type ? sclp.mtid : sclp.mtid_cp; -} - -unsigned int sclp_get_mtid_max(void) -{ - return sclp_mtid_max; -} - /* * This function will be called after sclp_facilities_detect(), which gets * called from early.c code. The sclp_facilities_detect() function retrieves -- cgit v0.10.2