mtd: rawnand: gpmi: Introduce GPMI_IS_MXS() macro

Message ID 20190207105055.10860-1-festevam@gmail.com
State New
Delegated to: Miquel Raynal
Headers show
Series
  • mtd: rawnand: gpmi: Introduce GPMI_IS_MXS() macro
Related show

Commit Message

Fabio Estevam Feb. 7, 2019, 10:50 a.m.
Introduce a GPMI_IS_MXS() macro to take into account the cases
when mx23 or mx28 are used, which helps readability.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c  | 6 ++----
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 2 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h | 1 +
 3 files changed, 4 insertions(+), 5 deletions(-)

Comments

Miquel Raynal Feb. 7, 2019, 11:01 a.m. | #1
Hi Fabio,

Fabio Estevam <festevam@gmail.com> wrote on Thu,  7 Feb 2019 08:50:54
-0200:

> Introduce a GPMI_IS_MXS() macro to take into account the cases
> when mx23 or mx28 are used, which helps readability.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c  | 6 ++----
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 2 +-
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h | 1 +
>  3 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> index a4768df5083f..a8b26d2e793c 100644
> --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
> @@ -157,8 +157,7 @@ int gpmi_init(struct gpmi_nand_data *this)
>  	 * Reset BCH here, too. We got failures otherwise :(
>  	 * See later BCH reset for explanation of MX23 and MX28 handling
>  	 */
> -	ret = gpmi_reset_block(r->bch_regs,
> -			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
> +	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MXS(this));
>  	if (ret)
>  		goto err_out;
>  
> @@ -266,8 +265,7 @@ int bch_set_geometry(struct gpmi_nand_data *this)
>  	* chip, otherwise it will lock up. So we skip resetting BCH on the MX23.
>  	* and MX28.
>  	*/
> -	ret = gpmi_reset_block(r->bch_regs,
> -			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
> +	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MXS(this));
>  	if (ret)
>  		goto err_out;
>  
> diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> index ed405c9434fe..bcf5328cf239 100644
> --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> @@ -171,7 +171,7 @@ static inline bool gpmi_check_ecc(struct gpmi_nand_data *this)
>  	struct bch_geometry *geo = &this->bch_geometry;
>  
>  	/* Do the sanity check. */
> -	if (GPMI_IS_MX23(this) || GPMI_IS_MX28(this)) {
> +	if (GPMI_IS_MXS(this)) {
>  		/* The mx23/mx28 only support the GF13. */
>  		if (geo->gf_len == 14)
>  			return false;
> diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
> index d0b79bac2728..a804a4a5bd46 100644
> --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
> +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
> @@ -207,4 +207,5 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off,
>  
>  #define GPMI_IS_MX6(x)		(GPMI_IS_MX6Q(x) || GPMI_IS_MX6SX(x) || \
>  				 GPMI_IS_MX7D(x))
> +#define GPMI_IS_MXS(x)		(GPMI_IS_MX23(x) || GPMI_IS_MX28(x))
>  #endif

I'm fine with the patch but as this depends on the fix Boris just took I
will apply it for 5.2.


Thanks,
Miquèl
Fabio Estevam Feb. 7, 2019, 11:29 a.m. | #2
Hi Miquel,

On Thu, Feb 7, 2019 at 9:01 AM Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> I'm fine with the patch but as this depends on the fix Boris just took I
> will apply it for 5.2.

That works, thanks.

Patch

diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
index a4768df5083f..a8b26d2e793c 100644
--- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c
@@ -157,8 +157,7 @@  int gpmi_init(struct gpmi_nand_data *this)
 	 * Reset BCH here, too. We got failures otherwise :(
 	 * See later BCH reset for explanation of MX23 and MX28 handling
 	 */
-	ret = gpmi_reset_block(r->bch_regs,
-			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
+	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MXS(this));
 	if (ret)
 		goto err_out;
 
@@ -266,8 +265,7 @@  int bch_set_geometry(struct gpmi_nand_data *this)
 	* chip, otherwise it will lock up. So we skip resetting BCH on the MX23.
 	* and MX28.
 	*/
-	ret = gpmi_reset_block(r->bch_regs,
-			       GPMI_IS_MX23(this) || GPMI_IS_MX28(this));
+	ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MXS(this));
 	if (ret)
 		goto err_out;
 
diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
index ed405c9434fe..bcf5328cf239 100644
--- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
@@ -171,7 +171,7 @@  static inline bool gpmi_check_ecc(struct gpmi_nand_data *this)
 	struct bch_geometry *geo = &this->bch_geometry;
 
 	/* Do the sanity check. */
-	if (GPMI_IS_MX23(this) || GPMI_IS_MX28(this)) {
+	if (GPMI_IS_MXS(this)) {
 		/* The mx23/mx28 only support the GF13. */
 		if (geo->gf_len == 14)
 			return false;
diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
index d0b79bac2728..a804a4a5bd46 100644
--- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
+++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h
@@ -207,4 +207,5 @@  void gpmi_copy_bits(u8 *dst, size_t dst_bit_off,
 
 #define GPMI_IS_MX6(x)		(GPMI_IS_MX6Q(x) || GPMI_IS_MX6SX(x) || \
 				 GPMI_IS_MX7D(x))
+#define GPMI_IS_MXS(x)		(GPMI_IS_MX23(x) || GPMI_IS_MX28(x))
 #endif