[PATCH v2 07/11] bcma: add support for sprom not found on the device

Arend van Spriel arend at broadcom.com
Tue Mar 6 08:27:30 EST 2012


On 02/28/2012 12:56 AM, Hauke Mehrtens wrote:
>   	if (!bus->drv_cc.core)
>   		return -EOPNOTSUPP;
>
> -	if (!(bus->drv_cc.capabilities&  BCMA_CC_CAP_SPROM))
> -		return -ENOENT;
> -
> -	if (bus->drv_cc.core->id.rev>= 32) {
> -		sromctrl = bcma_read32(bus->drv_cc.core, BCMA_CC_SROM_CONTROL);
> -		if (!(sromctrl&  BCMA_CC_SROM_CONTROL_PRESENT))
> -			return -ENOENT;
> +	if (!bcma_is_sprom_available(bus)) {
> +		/*
> +		 * Maybe there is no SPROM on the device?
> +		 * Now we ask the arch code if there is some sprom
> +		 * available for this device in some other storage.
> +		 */
> +		err = bcma_fill_sprom_with_fallback(bus,&bus->sprom);
> +		if (err) {
> +			pr_warn("Using fallback SPROM failed (err %d)\n", err);

Hi Hauke,

I just noticed in this patch that the code continues when sprom fallback 
fails. Does that make sense? I have corrected it in my OTP patch. So if 
you agree or disagree you can comment on that patch.

> +		} else {
> +			pr_debug("Using SPROM revision %d provided by"
> +				 " platform.\n", bus->sprom.revision);
> +			return 0;
> +		}
>   	}
>
>   	sprom = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),

Gr. AvS




More information about the b43-dev mailing list