Commit d25d23e1 authored by Sumanth Korikkar's avatar Sumanth Korikkar Committed by Heiko Carstens
Browse files

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: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
Reviewed-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 08ab919d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 */

+5 −3
Original line number Diff line number Diff line
@@ -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
+3 −4
Original line number Diff line number Diff line
@@ -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)