Thread (13 messages) 13 messages, 2 authors, 2012-03-06

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

From: Arend van Spriel <hidden>
Date: 2012-03-06 13:28:13
Also in: linux-mips

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help