int nand_erase_nand(struct nand_chip *chip, struct erase_info *instr,
int allowbbt);
int onfi_fill_data_interface(struct nand_chip *chip,
+ struct nand_data_interface *iface,
enum nand_data_interface_type type,
int timing_mode);
int nand_get_features(struct nand_chip *chip, int addr, u8 *subfeature_param);
* timings to timing mode 0.
*/
- onfi_fill_data_interface(chip, NAND_SDR_IFACE, 0);
+ onfi_fill_data_interface(chip, &chip->data_interface, NAND_SDR_IFACE, 0);
ret = chip->controller->ops->setup_data_interface(chip, chipnr,
&chip->data_interface);
if (ret)
}
for (mode = fls(modes) - 1; mode >= 0; mode--) {
- ret = onfi_fill_data_interface(chip, NAND_SDR_IFACE, mode);
+ ret = onfi_fill_data_interface(chip, &chip->data_interface,
+ NAND_SDR_IFACE, mode);
if (ret)
continue;
mutex_init(&chip->lock);
/* Enforce the right timings for reset/detection */
- onfi_fill_data_interface(chip, NAND_SDR_IFACE, 0);
+ onfi_fill_data_interface(chip, &chip->data_interface, NAND_SDR_IFACE, 0);
ret = nand_dt_init(chip);
if (ret)
/**
* onfi_fill_data_interface - Initialize a data interface from a given ONFI mode
* @chip: The NAND chip
+ * @iface: The data interface to fill
* @type: The data interface type
* @timing_mode: The ONFI timing mode
*/
int onfi_fill_data_interface(struct nand_chip *chip,
+ struct nand_data_interface *iface,
enum nand_data_interface_type type,
int timing_mode)
{
- struct nand_data_interface *iface = &chip->data_interface;
struct onfi_params *onfi = chip->parameters.onfi;
if (type != NAND_SDR_IFACE)