Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56e57a84 authored by Hendrik Brueckner's avatar Hendrik Brueckner Committed by Martin Schwidefsky
Browse files

s390/sclp_early: Replace early_read_info_sccb with sccb_early



Replace early_read_info_sccb and use sccb_early instead.
Also saves some memory.

Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
Reviewed-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
Reviewed-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 333cce91
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -35,8 +35,7 @@ struct read_info_sccb {
	u8	_reserved5[4096 - 112];	/* 112-4095 */
} __packed __aligned(PAGE_SIZE);

static __initdata struct read_info_sccb early_read_info_sccb;
static __initdata char sccb_early[PAGE_SIZE] __aligned(PAGE_SIZE);
static char sccb_early[PAGE_SIZE] __aligned(PAGE_SIZE) __initdata;
static unsigned long sclp_hsa_size;
static struct sclp_ipl_info sclp_ipl_info;

@@ -63,14 +62,12 @@ static int __init sclp_cmd_sync_early(sclp_cmdw_t cmd, void *sccb)
	return rc;
}

static int __init sclp_read_info_early(void)
static int __init sclp_read_info_early(struct read_info_sccb *sccb)
{
	int rc, i;
	struct read_info_sccb *sccb;
	sclp_cmdw_t commands[] = {SCLP_CMDW_READ_SCP_INFO_FORCED,
				  SCLP_CMDW_READ_SCP_INFO};

	sccb = &early_read_info_sccb;
	for (i = 0; i < ARRAY_SIZE(commands); i++) {
		do {
			memset(sccb, 0, sizeof(*sccb));
@@ -92,12 +89,11 @@ static int __init sclp_read_info_early(void)

static void __init sclp_facilities_detect(void)
{
	struct read_info_sccb *sccb;
	struct read_info_sccb *sccb = (void *) &sccb_early;

	if (sclp_read_info_early())
	if (sclp_read_info_early(sccb))
		return;

	sccb = &early_read_info_sccb;
	sclp_facilities = sccb->facilities;
	sclp_fac84 = sccb->fac84;
	if (sccb->fac85 & 0x02)