]> git.sur5r.net Git - u-boot/blobdiff - disk/part.c
spi: fsl_qspi: Fix issues on arm64
[u-boot] / disk / part.c
index 2a460503922cda45f8c9546178375d945c59c956..543cab8103204e0bc8fcba57e8b1b0474b4fe1bd 100644 (file)
 #define PRINTF(fmt,args...)
 #endif
 
-struct block_drvr {
-       char *name;
-       struct blk_desc* (*get_dev)(int dev);
-       int (*select_hwpart)(int dev_num, int hwpart);
-};
-
-static const struct block_drvr block_drvr[] = {
+const struct block_drvr block_drvr[] = {
 #if defined(CONFIG_CMD_IDE)
        { .name = "ide", .get_dev = ide_get_dev, },
 #endif
@@ -274,6 +268,8 @@ void part_init(struct blk_desc *dev_desc)
        const int n_ents = ll_entry_count(struct part_driver, part_driver);
        struct part_driver *entry;
 
+       blkcache_invalidate(dev_desc->if_type, dev_desc->devnum);
+
        dev_desc->part_type = PART_TYPE_UNKNOWN;
        for (entry = drv; entry != drv + n_ents; entry++) {
                int ret;
@@ -369,7 +365,8 @@ int part_get_info(struct blk_desc *dev_desc, int part,
                return -EPROTONOSUPPORT;
        }
        if (!drv->get_info) {
-               PRINTF("## Driver %s does not have the get_info() method\n");
+               PRINTF("## Driver %s does not have the get_info() method\n",
+                      drv->name);
                return -ENOSYS;
        }
        if (drv->get_info(dev_desc, part, info) == 0) {