s390/sclp: avoid copy of sclp_info_sccb

For extended sccb support, sccb size could be up to 3 pages. Hence avoid
copy of sclp_info_sccb.

Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Sumanth Korikkar 2020-11-08 14:21:14 -06:00 committed by Heiko Carstens
parent 08ab919d0d
commit d25d23e134
3 changed files with 9 additions and 8 deletions

View file

@ -328,7 +328,7 @@ unsigned int sclp_early_con_check_vt220(struct init_sccb *sccb);
int sclp_early_set_event_mask(struct init_sccb *sccb,
sccb_mask_t receive_mask,
sccb_mask_t send_mask);
int sclp_early_get_info(struct read_info_sccb *info);
struct read_info_sccb * __init sclp_early_get_info(void);
/* useful inlines */

View file

@ -22,12 +22,14 @@ static struct sclp_ipl_info sclp_ipl_info;
struct sclp_info sclp;
EXPORT_SYMBOL(sclp);
static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb)
static void __init sclp_early_facilities_detect(void)
{
struct sclp_core_entry *cpue;
struct read_info_sccb *sccb;
u16 boot_cpu_address, cpu;
if (sclp_early_get_info(sccb))
sccb = sclp_early_get_info();
if (!sccb)
return;
sclp.facilities = sccb->facilities;
@ -155,7 +157,7 @@ void __init sclp_early_detect(void)
{
void *sccb = sclp_early_sccb;
sclp_early_facilities_detect(sccb);
sclp_early_facilities_detect();
/*
* Turn off SCLP event notifications. Also save remote masks in the

View file

@ -258,13 +258,12 @@ int __init sclp_early_read_info(void)
return -EIO;
}
int __init sclp_early_get_info(struct read_info_sccb *info)
struct read_info_sccb * __init sclp_early_get_info(void)
{
if (!sclp_info_sccb_valid)
return -EIO;
return NULL;
*info = sclp_info_sccb;
return 0;
return &sclp_info_sccb;
}
int __init sclp_early_get_memsize(unsigned long *mem)