s390/sclp: get rid of sclp_get_mtid() and sclp_get_mtid_max()
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Wed, 6 May 2015 11:19:29 +0000 (13:19 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 13 May 2015 07:58:17 +0000 (09:58 +0200)
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 <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
arch/s390/kernel/smp.c
drivers/s390/char/sclp_early.c

index 74ba690064f5cf950a8427afcb3f0f0774ab60b0..6b00faa7e1adc2ada20e52e382e4762e9b9bf716 100644 (file)
@@ -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);
index ac7dda556a7d85df27a48ed23326ab342d233d9a..0d9d59d4710e9878d99edd3d59bdfbbd67b93022 100644 (file)
@@ -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);
index 4f6525d5e987ee2fa1dd9e1b1d40b4a89a16a56e..914ff62112c8fef72914f83af255d8bb1b01029c 100644 (file)
@@ -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