On Tue, 21 Apr 2020 18:46:30 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > Convert the timings union into a structure containing the mode and the > actual values. The values are still a union in prevision of the > addition of the NVDDR modes. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> Two nits below. > --- > drivers/mtd/nand/raw/nand_timings.c | 6 ++++++ > include/linux/mtd/rawnand.h | 10 +++++++--- > 2 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/drivers/mtd/nand/raw/nand_timings.c b/drivers/mtd/nand/raw/nand_timings.c > index f64b06a71dfa..0061cbaf931d 100644 > --- a/drivers/mtd/nand/raw/nand_timings.c > +++ b/drivers/mtd/nand/raw/nand_timings.c > @@ -16,6 +16,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 0 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 0, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > @@ -58,6 +59,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 1 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 1, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > @@ -100,6 +102,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 2 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 2, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > @@ -142,6 +145,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 3 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 3, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > @@ -184,6 +188,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 4 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 4, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > @@ -226,6 +231,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { > /* Mode 5 */ > { > .type = NAND_SDR_IFACE, > + .timings.mode = 5, > .timings.sdr = { > .tCCS_min = 500000, > .tR_max = 200000000, > diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h > index 1e76196f9829..d91f914d2e9e 100644 > --- a/include/linux/mtd/rawnand.h > +++ b/include/linux/mtd/rawnand.h > @@ -491,13 +491,17 @@ enum nand_data_interface_type { > /** > * struct nand_data_interface - NAND interface timing > * @type: type of the timing > - * @timings: The timing, type according to @type > + * @timings: The timing ^timing information > + * @timings.mode: Timing mode as referred in the specification ^ as defined? > * @timings.sdr: Use it when @type is %NAND_SDR_IFACE. > */ > struct nand_data_interface { > enum nand_data_interface_type type; > - union { > - struct nand_sdr_timings sdr; > + struct nand_timings { > + unsigned int mode; > + union { > + struct nand_sdr_timings sdr; > + }; > } timings; > }; > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/