bcm63xx: backport upstream SSB SPROM extraction
New upstream changes extract more SPROM values and fix the antenna gain. These changes can be found in linux drivers/ssb/pci.c. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		| @@ -12,7 +12,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  |  | ||||||
| --- a/arch/mips/bcm63xx/sprom.c | --- a/arch/mips/bcm63xx/sprom.c | ||||||
| +++ b/arch/mips/bcm63xx/sprom.c | +++ b/arch/mips/bcm63xx/sprom.c | ||||||
| @@ -55,13 +55,492 @@ int bcm63xx_get_fallback_sprom(struct ss | @@ -55,13 +55,556 @@ int bcm63xx_get_fallback_sprom(struct ss | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
| @@ -43,13 +43,13 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +	} while (0) | +	} while (0) | ||||||
| + | + | ||||||
| + | + | ||||||
| +static s8 r123_extract_antgain(u8 sprom_revision, const u16 *in, | +static s8 sprom_extract_antgain(u8 sprom_revision, const u16 *in, u16 offset, | ||||||
| +			       u16 mask, u16 shift) | +				u16 mask, u16 shift) | ||||||
| +{ | +{ | ||||||
| +	u16 v; | +	u16 v; | ||||||
| +	u8 gain; | +	u8 gain; | ||||||
| + | + | ||||||
| +	v = in[SPOFF(SSB_SPROM1_AGAIN)]; | +	v = in[SPOFF(offset)]; | ||||||
| +	gain = (v & mask) >> shift; | +	gain = (v & mask) >> shift; | ||||||
| +	if (gain == 0xFF) | +	if (gain == 0xFF) | ||||||
| +		gain = 2; /* If unset use 2dBm */ | +		gain = 2; /* If unset use 2dBm */ | ||||||
| @@ -129,12 +129,14 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +	SPEX(alpha2[1], SSB_SPROM1_CCODE, 0x00ff, 0); | +	SPEX(alpha2[1], SSB_SPROM1_CCODE, 0x00ff, 0); | ||||||
| + | + | ||||||
| +	/* Extract the antenna gain values. */ | +	/* Extract the antenna gain values. */ | ||||||
| +	out->antenna_gain.a0 = r123_extract_antgain(out->revision, in, | +	out->antenna_gain.a0 = sprom_extract_antgain(out->revision, in, | ||||||
| +						    SSB_SPROM1_AGAIN_BG, | +						     SSB_SPROM1_AGAIN, | ||||||
| +						    SSB_SPROM1_AGAIN_BG_SHIFT); | +						     SSB_SPROM1_AGAIN_BG, | ||||||
| +	out->antenna_gain.a1 = r123_extract_antgain(out->revision, in, | +						     SSB_SPROM1_AGAIN_BG_SHIFT); | ||||||
| +						    SSB_SPROM1_AGAIN_A, | +	out->antenna_gain.a1 = sprom_extract_antgain(out->revision, in, | ||||||
| +						    SSB_SPROM1_AGAIN_A_SHIFT); | +						     SSB_SPROM1_AGAIN, | ||||||
|  | +						     SSB_SPROM1_AGAIN_A, | ||||||
|  | +						     SSB_SPROM1_AGAIN_A_SHIFT); | ||||||
| +	if (out->revision >= 2) | +	if (out->revision >= 2) | ||||||
| +		sprom_extract_r23(out, in); | +		sprom_extract_r23(out, in); | ||||||
| +} | +} | ||||||
| @@ -181,7 +183,15 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| + | + | ||||||
| +static void sprom_extract_r45(struct ssb_sprom *out, const u16 *in) | +static void sprom_extract_r45(struct ssb_sprom *out, const u16 *in) | ||||||
| +{ | +{ | ||||||
|  | +	static const u16 pwr_info_offset[] = { | ||||||
|  | +		SSB_SPROM4_PWR_INFO_CORE0, SSB_SPROM4_PWR_INFO_CORE1, | ||||||
|  | +		SSB_SPROM4_PWR_INFO_CORE2, SSB_SPROM4_PWR_INFO_CORE3 | ||||||
|  | +	}; | ||||||
| +	u16 il0mac_offset; | +	u16 il0mac_offset; | ||||||
|  | +	int i; | ||||||
|  | + | ||||||
|  | +	BUILD_BUG_ON(ARRAY_SIZE(pwr_info_offset) != | ||||||
|  | +		     ARRAY_SIZE(out->core_pwr_info)); | ||||||
| + | + | ||||||
| +	if (out->revision == 4) | +	if (out->revision == 4) | ||||||
| +		il0mac_offset = SSB_SPROM4_IL0MAC; | +		il0mac_offset = SSB_SPROM4_IL0MAC; | ||||||
| @@ -235,14 +245,59 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +	} | +	} | ||||||
| + | + | ||||||
| +	/* Extract the antenna gain values. */ | +	/* Extract the antenna gain values. */ | ||||||
| +	SPEX(antenna_gain.a0, SSB_SPROM4_AGAIN01, | +	out->antenna_gain.a0 = sprom_extract_antgain(out->revision, in, | ||||||
| +	     SSB_SPROM4_AGAIN0, SSB_SPROM4_AGAIN0_SHIFT); | +						     SSB_SPROM4_AGAIN01, | ||||||
| +	SPEX(antenna_gain.a1, SSB_SPROM4_AGAIN01, | +						     SSB_SPROM4_AGAIN0, | ||||||
| +	     SSB_SPROM4_AGAIN1, SSB_SPROM4_AGAIN1_SHIFT); | +						     SSB_SPROM4_AGAIN0_SHIFT); | ||||||
| +	SPEX(antenna_gain.a2, SSB_SPROM4_AGAIN23, | +	out->antenna_gain.a1 = sprom_extract_antgain(out->revision, in, | ||||||
| +	     SSB_SPROM4_AGAIN2, SSB_SPROM4_AGAIN2_SHIFT); | +						     SSB_SPROM4_AGAIN01, | ||||||
| +	SPEX(antenna_gain.a3, SSB_SPROM4_AGAIN23, | +						     SSB_SPROM4_AGAIN1, | ||||||
| +	     SSB_SPROM4_AGAIN3, SSB_SPROM4_AGAIN3_SHIFT); | +						     SSB_SPROM4_AGAIN1_SHIFT); | ||||||
|  | +	out->antenna_gain.a2 = sprom_extract_antgain(out->revision, in, | ||||||
|  | +						     SSB_SPROM4_AGAIN23, | ||||||
|  | +						     SSB_SPROM4_AGAIN2, | ||||||
|  | +						     SSB_SPROM4_AGAIN2_SHIFT); | ||||||
|  | +	out->antenna_gain.a3 = sprom_extract_antgain(out->revision, in, | ||||||
|  | +						     SSB_SPROM4_AGAIN23, | ||||||
|  | +						     SSB_SPROM4_AGAIN3, | ||||||
|  | +						     SSB_SPROM4_AGAIN3_SHIFT); | ||||||
|  | + | ||||||
|  | +	/* Extract cores power info info */ | ||||||
|  | +	for (i = 0; i < ARRAY_SIZE(pwr_info_offset); i++) { | ||||||
|  | +		u16 o = pwr_info_offset[i]; | ||||||
|  | + | ||||||
|  | +		SPEX(core_pwr_info[i].itssi_2g, o + SSB_SPROM4_2G_MAXP_ITSSI, | ||||||
|  | +			SSB_SPROM4_2G_ITSSI, SSB_SPROM4_2G_ITSSI_SHIFT); | ||||||
|  | +		SPEX(core_pwr_info[i].maxpwr_2g, o + SSB_SPROM4_2G_MAXP_ITSSI, | ||||||
|  | +			SSB_SPROM4_2G_MAXP, 0); | ||||||
|  | + | ||||||
|  | +		SPEX(core_pwr_info[i].pa_2g[0], o + SSB_SPROM4_2G_PA_0, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_2g[1], o + SSB_SPROM4_2G_PA_1, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_2g[2], o + SSB_SPROM4_2G_PA_2, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_2g[3], o + SSB_SPROM4_2G_PA_3, ~0, 0); | ||||||
|  | + | ||||||
|  | +		SPEX(core_pwr_info[i].itssi_5g, o + SSB_SPROM4_5G_MAXP_ITSSI, | ||||||
|  | +			SSB_SPROM4_5G_ITSSI, SSB_SPROM4_5G_ITSSI_SHIFT); | ||||||
|  | +		SPEX(core_pwr_info[i].maxpwr_5g, o + SSB_SPROM4_5G_MAXP_ITSSI, | ||||||
|  | +			SSB_SPROM4_5G_MAXP, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].maxpwr_5gh, o + SSB_SPROM4_5GHL_MAXP, | ||||||
|  | +			SSB_SPROM4_5GH_MAXP, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].maxpwr_5gl, o + SSB_SPROM4_5GHL_MAXP, | ||||||
|  | +			SSB_SPROM4_5GL_MAXP, SSB_SPROM4_5GL_MAXP_SHIFT); | ||||||
|  | + | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gl[0], o + SSB_SPROM4_5GL_PA_0, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gl[1], o + SSB_SPROM4_5GL_PA_1, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gl[2], o + SSB_SPROM4_5GL_PA_2, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gl[3], o + SSB_SPROM4_5GL_PA_3, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5g[0], o + SSB_SPROM4_5G_PA_0, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5g[1], o + SSB_SPROM4_5G_PA_1, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5g[2], o + SSB_SPROM4_5G_PA_2, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5g[3], o + SSB_SPROM4_5G_PA_3, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gh[0], o + SSB_SPROM4_5GH_PA_0, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gh[1], o + SSB_SPROM4_5GH_PA_1, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gh[2], o + SSB_SPROM4_5GH_PA_2, ~0, 0); | ||||||
|  | +		SPEX(core_pwr_info[i].pa_5gh[3], o + SSB_SPROM4_5GH_PA_3, ~0, 0); | ||||||
|  | +	} | ||||||
| + | + | ||||||
| +	sprom_extract_r458(out, in); | +	sprom_extract_r458(out, in); | ||||||
| + | + | ||||||
| @@ -253,7 +308,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +{ | +{ | ||||||
| +	int i; | +	int i; | ||||||
| +	u16 o; | +	u16 o; | ||||||
| +	u16 pwr_info_offset[] = { | +	static const u16 pwr_info_offset[] = { | ||||||
| +		SSB_SROM8_PWR_INFO_CORE0, SSB_SROM8_PWR_INFO_CORE1, | +		SSB_SROM8_PWR_INFO_CORE0, SSB_SROM8_PWR_INFO_CORE1, | ||||||
| +		SSB_SROM8_PWR_INFO_CORE2, SSB_SROM8_PWR_INFO_CORE3 | +		SSB_SROM8_PWR_INFO_CORE2, SSB_SROM8_PWR_INFO_CORE3 | ||||||
| +	}; | +	}; | ||||||
| @@ -329,14 +384,22 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +	SPEX32(ofdm5ghpo, SSB_SPROM8_OFDM5GHPO, 0xFFFFFFFF, 0); | +	SPEX32(ofdm5ghpo, SSB_SPROM8_OFDM5GHPO, 0xFFFFFFFF, 0); | ||||||
| + | + | ||||||
| +	/* Extract the antenna gain values. */ | +	/* Extract the antenna gain values. */ | ||||||
| +	SPEX(antenna_gain.a0, SSB_SPROM8_AGAIN01, | +	out->antenna_gain.a0 = sprom_extract_antgain(out->revision, in, | ||||||
| +	     SSB_SPROM8_AGAIN0, SSB_SPROM8_AGAIN0_SHIFT); | +						     SSB_SPROM8_AGAIN01, | ||||||
| +	SPEX(antenna_gain.a1, SSB_SPROM8_AGAIN01, | +						     SSB_SPROM8_AGAIN0, | ||||||
| +	     SSB_SPROM8_AGAIN1, SSB_SPROM8_AGAIN1_SHIFT); | +						     SSB_SPROM8_AGAIN0_SHIFT); | ||||||
| +	SPEX(antenna_gain.a2, SSB_SPROM8_AGAIN23, | +	out->antenna_gain.a1 = sprom_extract_antgain(out->revision, in, | ||||||
| +	     SSB_SPROM8_AGAIN2, SSB_SPROM8_AGAIN2_SHIFT); | +						     SSB_SPROM8_AGAIN01, | ||||||
| +	SPEX(antenna_gain.a3, SSB_SPROM8_AGAIN23, | +						     SSB_SPROM8_AGAIN1, | ||||||
| +	     SSB_SPROM8_AGAIN3, SSB_SPROM8_AGAIN3_SHIFT); | +						     SSB_SPROM8_AGAIN1_SHIFT); | ||||||
|  | +	out->antenna_gain.a2 = sprom_extract_antgain(out->revision, in, | ||||||
|  | +						     SSB_SPROM8_AGAIN23, | ||||||
|  | +						     SSB_SPROM8_AGAIN2, | ||||||
|  | +						     SSB_SPROM8_AGAIN2_SHIFT); | ||||||
|  | +	out->antenna_gain.a3 = sprom_extract_antgain(out->revision, in, | ||||||
|  | +						     SSB_SPROM8_AGAIN23, | ||||||
|  | +						     SSB_SPROM8_AGAIN3, | ||||||
|  | +						     SSB_SPROM8_AGAIN3_SHIFT); | ||||||
| + | + | ||||||
| +	/* Extract cores power info info */ | +	/* Extract cores power info info */ | ||||||
| +	for (i = 0; i < ARRAY_SIZE(pwr_info_offset); i++) { | +	for (i = 0; i < ARRAY_SIZE(pwr_info_offset); i++) { | ||||||
| @@ -460,6 +523,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +	memset(out, 0, sizeof(*out)); | +	memset(out, 0, sizeof(*out)); | ||||||
| + | + | ||||||
| +	out->revision = in[size - 1] & 0x00FF; | +	out->revision = in[size - 1] & 0x00FF; | ||||||
|  | + | ||||||
| +	memset(out->et0mac, 0xFF, 6);		/* preset et0 and et1 mac */ | +	memset(out->et0mac, 0xFF, 6);		/* preset et0 and et1 mac */ | ||||||
| +	memset(out->et1mac, 0xFF, 6); | +	memset(out->et1mac, 0xFF, 6); | ||||||
| + | + | ||||||
| @@ -478,7 +542,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
| +		break; | +		break; | ||||||
| +	default: | +	default: | ||||||
| +		pr_warn("Unsupported SPROM revision %d detected. Will extract v1\n", | +		pr_warn("Unsupported SPROM revision %d detected. Will extract v1\n", | ||||||
| +			 out->revision); | +			out->revision); | ||||||
| +		out->revision = 1; | +		out->revision = 1; | ||||||
| +		sprom_extract_r123(out, in); | +		sprom_extract_r123(out, in); | ||||||
| +	} | +	} | ||||||
| @@ -505,7 +569,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  	switch (data->type) { |  	switch (data->type) { | ||||||
|  	case SPROM_DEFAULT: |  	case SPROM_DEFAULT: | ||||||
|  		memcpy(&bcm63xx_sprom, &bcm63xx_default_sprom, |  		memcpy(&bcm63xx_sprom, &bcm63xx_default_sprom, | ||||||
| @@ -71,6 +550,9 @@ int __init bcm63xx_register_fallback_spr | @@ -71,6 +614,9 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -137,7 +137,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  static struct ssb_sprom bcm63xx_sprom; |  static struct ssb_sprom bcm63xx_sprom; | ||||||
|   |   | ||||||
|  int bcm63xx_get_fallback_sprom(struct ssb_bus *bus, struct ssb_sprom *out) |  int bcm63xx_get_fallback_sprom(struct ssb_bus *bus, struct ssb_sprom *out) | ||||||
| @@ -542,6 +658,26 @@ int __init bcm63xx_register_fallback_spr | @@ -606,6 +722,26 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  	u16 size = 0; |  	u16 size = 0; | ||||||
|   |   | ||||||
|  	switch (data->type) { |  	switch (data->type) { | ||||||
|   | |||||||
| @@ -84,7 +84,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|   |   | ||||||
|  /* FIXME: use lib_sprom after submission upstream */ |  /* FIXME: use lib_sprom after submission upstream */ | ||||||
|   |   | ||||||
| @@ -654,10 +671,11 @@ int __init bcm63xx_register_fallback_spr | @@ -718,10 +735,11 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  { |  { | ||||||
|  	int ret = 0; |  	int ret = 0; | ||||||
|   |   | ||||||
| @@ -97,7 +97,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  	case SPROM_BCM4306: |  	case SPROM_BCM4306: | ||||||
|  		memcpy(&template_sprom, &bcm4306_sprom, sizeof(bcm4306_sprom)); |  		memcpy(&template_sprom, &bcm4306_sprom, sizeof(bcm4306_sprom)); | ||||||
|  		size = ARRAY_SIZE(bcm4306_sprom); |  		size = ARRAY_SIZE(bcm4306_sprom); | ||||||
| @@ -678,6 +696,7 @@ int __init bcm63xx_register_fallback_spr | @@ -742,6 +760,7 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		memcpy(&template_sprom, &bcm43222_sprom, sizeof(bcm43222_sprom)); |  		memcpy(&template_sprom, &bcm43222_sprom, sizeof(bcm43222_sprom)); | ||||||
|  		size = ARRAY_SIZE(bcm43222_sprom); |  		size = ARRAY_SIZE(bcm43222_sprom); | ||||||
|  		break; |  		break; | ||||||
| @@ -105,7 +105,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  	case SPROM_DEFAULT: |  	case SPROM_DEFAULT: | ||||||
|  		memcpy(&bcm63xx_sprom, &bcm63xx_default_sprom, |  		memcpy(&bcm63xx_sprom, &bcm63xx_default_sprom, | ||||||
|  		       sizeof(bcm63xx_sprom)); |  		       sizeof(bcm63xx_sprom)); | ||||||
| @@ -692,8 +711,19 @@ int __init bcm63xx_register_fallback_spr | @@ -756,8 +775,19 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  	memcpy(bcm63xx_sprom.il0mac, data->mac_addr, ETH_ALEN); |  	memcpy(bcm63xx_sprom.il0mac, data->mac_addr, ETH_ALEN); | ||||||
|  	memcpy(bcm63xx_sprom.et0mac, data->mac_addr, ETH_ALEN); |  	memcpy(bcm63xx_sprom.et0mac, data->mac_addr, ETH_ALEN); | ||||||
|  	memcpy(bcm63xx_sprom.et1mac, data->mac_addr, ETH_ALEN); |  	memcpy(bcm63xx_sprom.et1mac, data->mac_addr, ETH_ALEN); | ||||||
|   | |||||||
| @@ -241,7 +241,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  static struct ssb_sprom bcm63xx_sprom; |  static struct ssb_sprom bcm63xx_sprom; | ||||||
|   |   | ||||||
|  #if defined(CONFIG_SSB_PCIHOST) |  #if defined(CONFIG_SSB_PCIHOST) | ||||||
| @@ -697,6 +917,42 @@ int __init bcm63xx_register_fallback_spr | @@ -761,6 +981,42 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		size = ARRAY_SIZE(bcm43222_sprom); |  		size = ARRAY_SIZE(bcm43222_sprom); | ||||||
|  		break; |  		break; | ||||||
|  #endif |  #endif | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  |  | ||||||
| --- a/arch/mips/bcm63xx/sprom.c | --- a/arch/mips/bcm63xx/sprom.c | ||||||
| +++ b/arch/mips/bcm63xx/sprom.c | +++ b/arch/mips/bcm63xx/sprom.c | ||||||
| @@ -883,6 +883,14 @@ static int sprom_extract(struct ssb_spro | @@ -947,6 +947,14 @@ static int sprom_extract(struct ssb_spro | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -31,7 +31,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  static __initdata u16 template_sprom[220]; |  static __initdata u16 template_sprom[220]; | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -961,8 +969,12 @@ int __init bcm63xx_register_fallback_spr | @@ -1025,8 +1033,12 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  		return 0; |  		return 0; | ||||||
|  	} else { |  	} else { | ||||||
|  		printk(KERN_ERR PFX "unable to fill SPROM for given bustype.\n"); |  		printk(KERN_ERR PFX "unable to fill SPROM for given bustype.\n"); | ||||||
| @@ -962,8 +980,8 @@ int __init bcm63xx_register_fallback_spr | @@ -1026,8 +1044,8 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		break; |  		break; | ||||||
|  #endif |  #endif | ||||||
|  	case SPROM_DEFAULT: |  	case SPROM_DEFAULT: | ||||||
| @@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | |||||||
|  		break; |  		break; | ||||||
|  	default: |  	default: | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
| @@ -973,12 +991,15 @@ int __init bcm63xx_register_fallback_spr | @@ -1037,12 +1055,15 @@ int __init bcm63xx_register_fallback_spr | ||||||
|  		sprom_apply_fixups(template_sprom, data->board_fixups, |  		sprom_apply_fixups(template_sprom, data->board_fixups, | ||||||
|  				   data->num_board_fixups); |  				   data->num_board_fixups); | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Álvaro Fernández Rojas
					Álvaro Fernández Rojas