uboot-lantiq: update to v2013.10
[openwrt.git] / package / boot / uboot-lantiq / patches / 0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch
diff --git a/package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch b/package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch
deleted file mode 100644 (file)
index 7a1ef3b..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-From f9ab44c271fbd82a5702b6ba067fa90e33a30089 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Wed, 7 Nov 2012 15:29:27 +0100
-Subject: sf: add malloc-free probe functions dedicated for SPL
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
---- a/drivers/mtd/spi/spi_flash.c
-+++ b/drivers/mtd/spi/spi_flash.c
-@@ -339,11 +339,11 @@ static struct {
- DECLARE_GLOBAL_DATA_PTR;
- #endif
--struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs,
--              unsigned int max_hz, unsigned int spi_mode)
-+int spi_flash_probe_spl(struct spi_flash *flash, unsigned int bus,
-+                      unsigned int cs, unsigned int max_hz,
-+                      unsigned int spi_mode)
- {
-       struct spi_slave *spi;
--      struct spi_flash *flash;
-       int ret, i, shift;
-       u8 idcode[IDCODE_LEN], *idp;
- #ifdef CONFIG_NEEDS_MANUAL_RELOC
-@@ -359,8 +359,8 @@ struct spi_flash *spi_flash_probe(unsign
-       spi = spi_setup_slave(bus, cs, max_hz, spi_mode);
-       if (!spi) {
--              printf("SF: Failed to set up slave\n");
--              return NULL;
-+              debug("SF: Failed to set up slave\n");
-+              return -1;
-       }
-       ret = spi_claim_bus(spi);
-@@ -379,13 +379,6 @@ struct spi_flash *spi_flash_probe(unsign
-       print_buffer(0, idcode, 1, sizeof(idcode), 0);
- #endif
--      flash = malloc(sizeof(*flash));
--      if (!flash) {
--              debug("SF: failed to alloc memory\n");
--              goto err_malloc;
--      }
--
--      memset(flash, 0, sizeof(*flash));
-       flash->spi = spi;
-       /* count the number of continuation bytes */
-@@ -404,30 +397,58 @@ struct spi_flash *spi_flash_probe(unsign
-               }
-       if (ret <= 0) {
--              printf("SF: Unsupported manufacturer %02x\n", *idp);
-+              debug("SF: Unsupported manufacturer %02x\n", *idp);
-               goto err_manufacturer_probe;
-       }
--      printf("SF: Detected %s with page size ", flash->name);
--      print_size(flash->sector_size, ", total ");
--      print_size(flash->size, "\n");
--
-       spi_release_bus(spi);
--      return flash;
-+      return 0;
- err_manufacturer_probe:
--      free(flash);
--err_malloc:
- err_read_id:
-       spi_release_bus(spi);
- err_claim_bus:
-       spi_free_slave(spi);
-+
-+      return ret;
-+}
-+
-+struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs,
-+              unsigned int max_hz, unsigned int spi_mode)
-+{
-+      struct spi_flash *flash;
-+      int ret;
-+
-+      flash = malloc(sizeof(*flash));
-+      if (!flash) {
-+              debug("SF: Failed to malloc spi_flash\n");
-+              return NULL;
-+      }
-+      memset(flash, 0, sizeof(*flash));
-+
-+      ret = spi_flash_probe_spl(flash, bus, cs, max_hz, spi_mode);
-+      if (ret)
-+              goto err_probe;
-+
-+      printf("SF:    %s, page size ", flash->name);
-+      print_size(flash->sector_size, ", total ");
-+      print_size(flash->size, "\n");
-+
-+      return flash;
-+
-+err_probe:
-+      free(flash);
-       return NULL;
- }
--void spi_flash_free(struct spi_flash *flash)
-+void spi_flash_free_spl(struct spi_flash *flash)
- {
-       spi_free_slave(flash->spi);
-+}
-+
-+void spi_flash_free(struct spi_flash *flash)
-+{
-+      spi_flash_free_spl(flash);
-       free(flash);
- }
---- a/include/spi_flash.h
-+++ b/include/spi_flash.h
-@@ -52,6 +52,11 @@ struct spi_flash *spi_flash_probe(unsign
-               unsigned int max_hz, unsigned int spi_mode);
- void spi_flash_free(struct spi_flash *flash);
-+int spi_flash_probe_spl(struct spi_flash *flash, unsigned int bus,
-+                      unsigned int cs, unsigned int max_hz,
-+                      unsigned int spi_mode);
-+void spi_flash_free_spl(struct spi_flash *flash);
-+
- static inline int spi_flash_read(struct spi_flash *flash, u32 offset,
-               size_t len, void *buf)
- {