cfi_ops
struct cfi_ops cfi_ops; /* chip dependent functions */
KASSERT(cfi->cfi_ops.cfi_reset != NULL);
cfi->cfi_ops.cfi_reset(cfi);
KASSERT(cfi->cfi_ops.cfi_erase_sector != NULL);
return cfi->cfi_ops.cfi_erase_sector(cfi, offset);
KASSERT(cfi->cfi_ops.cfi_program_word != NULL);
return cfi->cfi_ops.cfi_program_word(cfi, offset);
cfi->cfi_ops.cfi_reset = cfi_reset_std;
cfi->cfi_ops.cfi_busy = cfi_0002_busy_dq7;
cfi->cfi_ops.cfi_erase_sector = cfi_0002_erase_sector_q;
cfi->cfi_ops.cfi_program_word = cfi_0002_program_word_ub;
cfi->cfi_ops.cfi_busy = cfi_0002_busy_reg;
cfi->cfi_ops.cfi_erase_sector = cfi_0002_erase_sector_1;
cfi->cfi_ops.cfi_program_word = cfi_0002_program_word_no_ub;
if (! cfi->cfi_ops.cfi_busy(cfi, offset))
if (! cfi->cfi_ops.cfi_busy(cfi, offset)) {
if (! cfi->cfi_ops.cfi_busy(cfi, offset))