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
51 lines
1.2 KiB
8 months ago
|
/* 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__ */
|