You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* (C) Copyright 2018 Rockchip Electronics Co., Ltd
*/
#ifndef __RAMDISK_H__
#define __RAMDISK_H__
struct ramdisk_ops {
/*
* read() - read from a block device
*
* @desc: Block descriptor
* @start: Start block number to read
* @blkcnt: Number of blocks to read
* @buffer: Destination buffer for data read
*
* @return blkcnt is OK, otherwise is error.
*/
ulong (*read)(struct blk_desc *desc,
lbaint_t start, lbaint_t blkcnt, void *buffer);
/*
* write() - write to a block device
*
* @desc: Block descriptor
* @start: Start block number to write
* @blkcnt: Number of blocks to write
* @buffer: Source buffer for data to write
*
* @return blkcnt is OK, otherwise is error.
*/
ulong (*write)(struct blk_desc *desc,
lbaint_t start, lbaint_t blkcnt, const void *buffer);
/*
* erase() - erase a section of a block device
*
* @desc: Block descriptor
* @start: Start block number to erase
* @blkcnt: Number of blocks to erase
*
* @return blkcnt is OK, otherwise is error.
*/
ulong (*erase)(struct blk_desc *desc, lbaint_t start, lbaint_t blkcnt);
};
int dm_ramdisk_is_enabled(void);
#endif /* __RAMDISK_H__ */