MIPS: convert CONFIG_SYS_MIPS_TIMER_FREQ to Kconfig
[platform/kernel/u-boot.git] / include / blk.h
index 8806c38..e854166 100644 (file)
@@ -119,7 +119,7 @@ int blkcache_init(void);
  * @param start - starting block number
  * @param blkcnt - number of blocks to read
  * @param blksz - size in bytes of each block
- * @param buf - buffer to contain cached data
+ * @param buffer - buffer to contain cached data
  *
  * Return: - 1 if block returned from cache, 0 otherwise.
  */
@@ -136,7 +136,7 @@ int blkcache_read(int iftype, int dev,
  * @param start - starting block number
  * @param blkcnt - number of blocks available
  * @param blksz - size in bytes of each block
- * @param buf - buffer containing data to cache
+ * @param buffer - buffer containing data to cache
  *
  */
 void blkcache_fill(int iftype, int dev,
@@ -250,7 +250,7 @@ struct blk_ops {
         * The MMC standard provides for two boot partitions (numbered 1 and 2),
         * rpmb (3), and up to 4 addition general-purpose partitions (4-7).
         *
-        * @desc:       Block device to update
+        * @dev:        Block device to update
         * @hwpart:     Hardware partition number to select. 0 means the raw
         *              device, 1 is the first partition, 2 is the second, etc.
         * @return 0 if OK, -ve on error
@@ -274,6 +274,43 @@ unsigned long blk_derase(struct blk_desc *block_dev, lbaint_t start,
                         lbaint_t blkcnt);
 
 /**
+ * blk_read() - Read from a block device
+ *
+ * @dev: Device to read from
+ * @start: Start block for the read
+ * @blkcnt: Number of blocks to read
+ * @buf: Place to put the data
+ * @return number of blocks read (which may be less than @blkcnt),
+ * or -ve on error. This never returns 0 unless @blkcnt is 0
+ */
+long blk_read(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+             void *buffer);
+
+/**
+ * blk_write() - Write to a block device
+ *
+ * @dev: Device to write to
+ * @start: Start block for the write
+ * @blkcnt: Number of blocks to write
+ * @buf: Data to write
+ * @return number of blocks written (which may be less than @blkcnt),
+ * or -ve on error. This never returns 0 unless @blkcnt is 0
+ */
+long blk_write(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+              const void *buffer);
+
+/**
+ * blk_erase() - Erase part of a block device
+ *
+ * @dev: Device to erase
+ * @start: Start block for the erase
+ * @blkcnt: Number of blocks to erase
+ * @return number of blocks erased (which may be less than @blkcnt),
+ * or -ve on error. This never returns 0 unless @blkcnt is 0
+ */
+long blk_erase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt);
+
+/**
  * blk_find_device() - Find a block device
  *
  * This function does not activate the device. The device will be returned
@@ -428,7 +465,7 @@ const char *blk_get_devtype(struct udevice *dev);
 
 /**
  * blk_get_by_device() - Get the block device descriptor for the given device
- * @dev:       Instance of a storage device
+ * @dev:       Instance of a storage device (the parent of the block device)
  *
  * Return: With block device descriptor on success , NULL if there is no such
  *        block device.
@@ -642,6 +679,7 @@ int blk_print_part_devnum(enum uclass_id uclass_id, int devnum);
  *
  * @uclass_id: Block device type
  * @devnum:    Device number
+ * @start:     Start block number to read (0=first)
  * @blkcnt:    Number of blocks to read
  * @buffer:    Address to write data to
  * Return: number of blocks read, or -ve error number on error
@@ -654,6 +692,7 @@ ulong blk_read_devnum(enum uclass_id uclass_id, int devnum, lbaint_t start,
  *
  * @uclass_id: Block device type
  * @devnum:    Device number
+ * @start:     Start block number to write (0=first)
  * @blkcnt:    Number of blocks to write
  * @buffer:    Address to read data from
  * Return: number of blocks written, or -ve error number on error