]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
sf: Move read_id code to sf_ops
authorJagan Teki <jteki@openedev.com>
Tue, 29 Sep 2015 12:36:04 +0000 (18:06 +0530)
committerJagan Teki <jteki@openedev.com>
Fri, 11 Dec 2015 16:42:23 +0000 (22:12 +0530)
read_id code is related to spi_flash stuff
hence moved to sf_ops.

Tested-by: Jagan Teki <jteki@openedev.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jagan Teki <jteki@openedev.com>
drivers/mtd/spi/sf_internal.h
drivers/mtd/spi/sf_ops.c
drivers/mtd/spi/sf_probe.c

index f3eb6f3c463f72678760f69b835e7e2998d4077a..670429f79adf38ed23ae01a9e1511445fed22fbc 100644 (file)
@@ -248,7 +248,6 @@ void spi_flash_mtd_unregister(void);
 /**
  * spi_flash_scan - scan the SPI FLASH
  * @spi:       the spi slave structure
- * @idcode:    idcode of spi flash
  * @flash:     the spi flash structure
  *
  * The drivers can use this fuction to scan the SPI FLASH.
@@ -257,6 +256,6 @@ void spi_flash_mtd_unregister(void);
  *
  * Return: 0 for success, others for failure.
  */
-int spi_flash_scan(struct spi_slave *spi, u8 *idcode, struct spi_flash *flash);
+int spi_flash_scan(struct spi_slave *spi, struct spi_flash *flash);
 
 #endif /* _SF_INTERNAL_H_ */
index 306db8f56e1d311df7127ee581e4c54a210391e3..54c6468e424007f09e2d97c9757416c1400d70f9 100644 (file)
@@ -898,14 +898,29 @@ int spi_flash_decode_fdt(const void *blob, struct spi_flash *flash)
 }
 #endif /* CONFIG_IS_ENABLED(OF_CONTROL) */
 
-int spi_flash_scan(struct spi_slave *spi, u8 *idcode, struct spi_flash *flash)
+int spi_flash_scan(struct spi_slave *spi, struct spi_flash *flash)
 {
        const struct spi_flash_params *params;
+       u16 jedec, ext_jedec;
+       u8 idcode[5];
        u8 cmd;
-       u16 jedec = idcode[1] << 8 | idcode[2];
-       u16 ext_jedec = idcode[3] << 8 | idcode[4];
        int ret;
 
+       /* Read the ID codes */
+       ret = spi_flash_cmd(spi, CMD_READ_ID, idcode, sizeof(idcode));
+       if (ret) {
+               printf("SF: Failed to get idcodes\n");
+               return -EINVAL;
+       }
+
+#ifdef DEBUG
+       printf("SF: Got idcodes\n");
+       print_buffer(0, idcode, 1, sizeof(idcode), 0);
+#endif
+
+       jedec = idcode[1] << 8 | idcode[2];
+       ext_jedec = idcode[3] << 8 | idcode[4];
+
        /* Validate params from spi_flash_params table */
        params = spi_flash_params_table;
        for (; params->name != NULL; params++) {
index 994559d5489dccf586742532ead48f96454c2e14..e35b91760fc7c9813fe6c9b0a00acb77970d0999 100644 (file)
@@ -29,7 +29,6 @@
  */
 int spi_flash_probe_slave(struct spi_slave *spi, struct spi_flash *flash)
 {
-       u8 idcode[5];
        int ret;
 
        /* Setup spi_slave */
@@ -45,19 +44,7 @@ int spi_flash_probe_slave(struct spi_slave *spi, struct spi_flash *flash)
                return ret;
        }
 
-       /* Read the ID codes */
-       ret = spi_flash_cmd(spi, CMD_READ_ID, idcode, sizeof(idcode));
-       if (ret) {
-               printf("SF: Failed to get idcodes\n");
-               goto err_read_id;
-       }
-
-#ifdef DEBUG
-       printf("SF: Got idcodes\n");
-       print_buffer(0, idcode, 1, sizeof(idcode), 0);
-#endif
-
-       ret = spi_flash_scan(spi, idcode, flash);
+       ret = spi_flash_scan(spi, flash);
        if (ret) {
                ret = -EINVAL;
                goto err_read_id;