blk: Call part_init() in the post_probe() method
[pandora-u-boot.git] / drivers / block / sandbox.c
index 34d1c63..d3b1aaa 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2013 Henrik Nordstrom <henrik@henriknordstrom.net>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -34,7 +33,7 @@ static unsigned long host_block_read(struct udevice *dev,
                                     unsigned long start, lbaint_t blkcnt,
                                     void *buffer)
 {
-       struct host_block_dev *host_dev = dev_get_priv(dev);
+       struct host_block_dev *host_dev = dev_get_platdata(dev);
        struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
 
 #else
@@ -65,7 +64,7 @@ static unsigned long host_block_write(struct udevice *dev,
                                      unsigned long start, lbaint_t blkcnt,
                                      const void *buffer)
 {
-       struct host_block_dev *host_dev = dev_get_priv(dev);
+       struct host_block_dev *host_dev = dev_get_platdata(dev);
        struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
 #else
 static unsigned long host_block_write(struct blk_desc *block_dev,
@@ -129,20 +128,21 @@ int host_dev_bind(int devnum, char *filename)
        }
        ret = blk_create_device(gd->dm_root, "sandbox_host_blk", str,
                                IF_TYPE_HOST, devnum, 512,
-                               os_lseek(fd, 0, OS_SEEK_END), &dev);
+                               os_lseek(fd, 0, OS_SEEK_END) / 512, &dev);
        if (ret)
                goto err_file;
+
+       host_dev = dev_get_platdata(dev);
+       host_dev->fd = fd;
+       host_dev->filename = fname;
+
        ret = device_probe(dev);
        if (ret) {
                device_unbind(dev);
                goto err_file;
        }
 
-       host_dev = dev_get_priv(dev);
-       host_dev->fd = fd;
-       host_dev->filename = fname;
-
-       return blk_prepare_device(dev);
+       return 0;
 err_file:
        os_close(fd);
 err:
@@ -227,7 +227,7 @@ U_BOOT_DRIVER(sandbox_host_blk) = {
        .name           = "sandbox_host_blk",
        .id             = UCLASS_BLK,
        .ops            = &sandbox_host_blk_ops,
-       .priv_auto_alloc_size   = sizeof(struct host_block_dev),
+       .platdata_auto_alloc_size = sizeof(struct host_block_dev),
 };
 #else
 U_BOOT_LEGACY_BLK(sandbox_host) = {