kernel: update bcma and ssb to wireless-testing master-2013-09-09
[15.05/openwrt.git] / target / linux / generic / patches-3.10 / 020-ssb_update.patch
index 3287186..1605705 100644 (file)
@@ -1,6 +1,13 @@
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
-@@ -144,7 +144,7 @@ config SSB_SFLASH
+@@ -138,13 +138,13 @@ config SSB_DRIVER_MIPS
+ config SSB_SFLASH
+       bool "SSB serial flash support"
+-      depends on SSB_DRIVER_MIPS && BROKEN
++      depends on SSB_DRIVER_MIPS
+       default y
  # Assumption: We are on embedded, if we compile the MIPS core.
  config SSB_EMBEDDED
        bool
        u32 id, id2;
  
        switch (cc->capabilities & SSB_CHIPCO_CAP_FLASHT) {
-@@ -131,9 +145,21 @@ int ssb_sflash_init(struct ssb_chipcommo
+@@ -131,10 +145,20 @@ int ssb_sflash_init(struct ssb_chipcommo
                return -ENOTSUPP;
        }
  
+-      pr_info("Found %s serial flash (blocksize: 0x%X, blocks: %d)\n",
+-              e->name, e->blocksize, e->numblocks);
+-
+-      pr_err("Serial flash support is not implemented yet!\n");
 +      sflash->window = SSB_FLASH2;
 +      sflash->blocksize = e->blocksize;
 +      sflash->numblocks = e->numblocks;
 +      sflash->size = sflash->blocksize * sflash->numblocks;
 +      sflash->present = true;
 +
-       pr_info("Found %s serial flash (blocksize: 0x%X, blocks: %d)\n",
-               e->name, e->blocksize, e->numblocks);
++      pr_info("Found %s serial flash (size: %dKiB, blocksize: 0x%X, blocks: %d)\n",
++              e->name, sflash->size / 1024, e->blocksize, e->numblocks);
++
 +      /* Prepare platform device, but don't register it yet. It's too early,
 +       * malloc (required by device_private_init) is not available yet. */
 +      ssb_sflash_dev.resource[0].end = ssb_sflash_dev.resource[0].start +
 +                                       sflash->size;
 +      ssb_sflash_dev.dev.platform_data = sflash;
-+
-       pr_err("Serial flash support is not implemented yet!\n");
  
-       return -ENOTSUPP;
+-      return -ENOTSUPP;
++      return 0;
+ }
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
 @@ -553,6 +553,14 @@ static int ssb_devices_register(struct s