Re: [PATCH 1/8] mtd: rawnand: timings: Add mode information to the timings structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux