NAME
flash —
subsystem for flash-like memory
devices
SYNOPSIS
#include <dev/flash/flash.h>
device_t
flash_attach_mi(
const
struct flash_interface *fl,
device_t dev);
DESCRIPTION
Flash-like devices can register themselves to the
flash layer
with the
flash_hw_if structure. This structure has
function pointers and other fields.
The attachment can be done by calling
flash_attach_mi() with
this structure and the device's
device_t as an argument.
Return value is the flash layer device. The
flash_interface structure is shown below.
struct flash_interface {
int (*erase) (device_t, struct flash_erase_instruction *);
int (*read) (device_t, off_t, size_t, size_t *, uint8_t *);
int (*write) (device_t, off_t, size_t, size_t *, const uint8_t *);
int (*block_markbad)(device_t, uint64_t);
int (*block_isbad)(device_t, uint64_t);
int (*sync) (device_t);
int (*submit)(device_t, struct buf *);
/* storage for partition info */
struct flash_partition partition;
/* total size of mtd */
flash_addr_t size;
uint32_t page_size;
uint32_t erasesize;
uint32_t writesize;
uint32_t minor;
uint8_t type;
};
SEE ALSO
flash(4),
nand(9)
AUTHORS
Adam Hoka
<
ahoka@NetBSD.org>