I took time for the Denali driver to catch up with the latest framework. - switch over to exec_op() and remove legacy hooks - separate controller/chips - various cleanups Major changes in v4: - Add denali_exec_out() and denali_exec_in() in order to make denali_exec_instr() readable - Make .read_page_raw() and .write_page_raw() even simpler by giving up the performance Major changes in v3: - Drop "mtd: rawnand: denali: use more precise timeout for NAND_OP_WAITRDT_INSTR" entirely according to the review comments in v2 - Add comments to helpers in 2/9 Masahiro Yamada (9): mtd: rawnand: denali: use nand_chip pointer more for internal functions mtd: rawnand: denali: refactor raw page accessors mtd: rawnand: denali: remove unneeded casts in denali_{read,write}_pio mtd: rawnand: denali: switch over to ->exec_op() from legacy hooks mtd: rawnand: denali: use bool type instead of int where appropriate mtd: rawnand: denali_pci: rename goto labels mtd: rawnand: denali: decouple controller and NAND chips mtd: rawnand: denali: remove DENALI_NR_BANKS macro mtd: rawnand: denali: clean up coding style .../devicetree/bindings/mtd/denali-nand.txt | 40 +- drivers/mtd/nand/raw/denali.c | 1146 ++++++++++---------- drivers/mtd/nand/raw/denali.h | 117 +- drivers/mtd/nand/raw/denali_dt.c | 98 +- drivers/mtd/nand/raw/denali_pci.c | 38 +- 5 files changed, 823 insertions(+), 616 deletions(-) -- 2.7.4