summaryrefslogtreecommitdiff
path: root/package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch')
-rw-r--r--package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch131
1 files changed, 0 insertions, 131 deletions
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
index 7a1ef3b..0000000
--- a/package/boot/uboot-lantiq/patches/0004-sf-add-malloc-free-probe-functions-dedicated-for-SPL.patch
+++ /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)
- {