Patchwork nand: gpmi-nand: Fix clock registration

login
register
mail settings
Submitter Fabio Estevam
Date Sept. 23, 2012, 6:31 p.m.
Message ID <1348425062-17427-1-git-send-email-festevam@gmail.com>
Download mbox | patch
Permalink /patch/186251/
State New
Headers show

Comments

Fabio Estevam - Sept. 23, 2012, 6:31 p.m.
From: Fabio Estevam <fabio.estevam@freescale.com>

On a mx28 board the following error happens since commit 638064e56c 
(mtd: gpmi: change the code for clocks):

gpmi-nand: probe of 8000c000.gpmi-nand failed with error -12

Acquire the clock using "NULL" as it was done previously, so that the driver
can register on mx23/mx28 as well.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Huang Shijie - Oct. 8, 2012, 2:45 a.m.
于 2012年09月24日 02:31, Fabio Estevam 写道:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> On a mx28 board the following error happens since commit 638064e56c 
> (mtd: gpmi: change the code for clocks):
>
> gpmi-nand: probe of 8000c000.gpmi-nand failed with error -12
>
> Acquire the clock using "NULL" as it was done previously, so that the driver
> can register on mx23/mx28 as well.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> index c46be6c..1f23cb4 100644
> --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> @@ -492,7 +492,7 @@ static int __devinit gpmi_get_clks(struct gpmi_nand_data *this)
>  	int i;
>  
>  	/* The main clock is stored in the first. */
> -	r->clock[0] = clk_get(this->dev, "gpmi_io");
> +	r->clock[0] = clk_get(this->dev, NULL);
Please do not change this line.

The gpmi_io is for mx6q.
If you replace it with `NULL`. The mx6q can not find the proper clock.

thanks
Huang Shijie
>  	if (IS_ERR(r->clock[0]))
>  		goto err_clock;
>
Marek Vasut - Oct. 8, 2012, 3:15 a.m.
Dear Huang Shijie,

> 于 2012年09月24日 02:31, Fabio Estevam 写道:
> > From: Fabio Estevam <fabio.estevam@freescale.com>
> > 
> > On a mx28 board the following error happens since commit 638064e56c
> > (mtd: gpmi: change the code for clocks):
> > 
> > gpmi-nand: probe of 8000c000.gpmi-nand failed with error -12
> > 
> > Acquire the clock using "NULL" as it was done previously, so that the
> > driver can register on mx23/mx28 as well.
> > 
> > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> > ---
> > 
> >  drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> > b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index c46be6c..1f23cb4 100644
> > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> > @@ -492,7 +492,7 @@ static int __devinit gpmi_get_clks(struct
> > gpmi_nand_data *this)
> > 
> >  	int i;
> >  	
> >  	/* The main clock is stored in the first. */
> > 
> > -	r->clock[0] = clk_get(this->dev, "gpmi_io");
> > +	r->clock[0] = clk_get(this->dev, NULL);
> 
> Please do not change this line.
> 
> The gpmi_io is for mx6q.
> If you replace it with `NULL`. The mx6q can not find the proper clock.

Suggestion is really welcome though, please :) This is a problem, GPMI NAND is 
broken on anything != mx6q. Huang, can you please also test the changes you do 
to GPMI NAND on mx28/mx23 so we can avoid this breakage in the future?

Best regards,
Marek Vasut
Huang Shijie - Oct. 8, 2012, 3:34 a.m.
于 2012年10月08日 11:15, Marek Vasut 写道:
> Dear Huang Shijie,
>
>> 于 2012年09月24日 02:31, Fabio Estevam 写道:
>>> From: Fabio Estevam <fabio.estevam@freescale.com>
>>>
>>> On a mx28 board the following error happens since commit 638064e56c
>>> (mtd: gpmi: change the code for clocks):
>>>
>>> gpmi-nand: probe of 8000c000.gpmi-nand failed with error -12
>>>
>>> Acquire the clock using "NULL" as it was done previously, so that the
>>> driver can register on mx23/mx28 as well.
>>>
>>> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
>>> ---
>>>
>>>  drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
>>> b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index c46be6c..1f23cb4 100644
>>> --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
>>> +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
>>> @@ -492,7 +492,7 @@ static int __devinit gpmi_get_clks(struct
>>> gpmi_nand_data *this)
>>>
>>>  	int i;
>>>  	
>>>  	/* The main clock is stored in the first. */
>>>
>>> -	r->clock[0] = clk_get(this->dev, "gpmi_io");
>>> +	r->clock[0] = clk_get(this->dev, NULL);
>> Please do not change this line.
>>
>> The gpmi_io is for mx6q.
>> If you replace it with `NULL`. The mx6q can not find the proper clock.
> Suggestion is really welcome though, please :) This is a problem, GPMI NAND is 
> broken on anything != mx6q. Huang, can you please also test the changes you do 
> to GPMI NAND on mx28/mx23 so we can avoid this breakage in the future?
yes. I tested in the mx23/mx28. It's ok, do not worry.

BR
Huang Shijie
> Best regards,
> Marek Vasut
>
Marek Vasut - Oct. 8, 2012, 3:37 a.m.
Dear Huang Shijie,

> 于 2012年10月08日 11:15, Marek Vasut 写道:
> > Dear Huang Shijie,
> > 
> >> 于 2012年09月24日 02:31, Fabio Estevam 写道:
> >>> From: Fabio Estevam <fabio.estevam@freescale.com>
> >>> 
> >>> On a mx28 board the following error happens since commit 638064e56c
> >>> (mtd: gpmi: change the code for clocks):
> >>> 
> >>> gpmi-nand: probe of 8000c000.gpmi-nand failed with error -12
> >>> 
> >>> Acquire the clock using "NULL" as it was done previously, so that the
> >>> driver can register on mx23/mx28 as well.
> >>> 
> >>> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> >>> ---
> >>> 
> >>>  drivers/mtd/nand/gpmi-nand/gpmi-nand.c |    2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>> 
> >>> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> >>> b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index c46be6c..1f23cb4 100644
> >>> --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> >>> +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> >>> @@ -492,7 +492,7 @@ static int __devinit gpmi_get_clks(struct
> >>> gpmi_nand_data *this)
> >>> 
> >>>  	int i;
> >>>  	
> >>>  	/* The main clock is stored in the first. */
> >>> 
> >>> -	r->clock[0] = clk_get(this->dev, "gpmi_io");
> >>> +	r->clock[0] = clk_get(this->dev, NULL);
> >> 
> >> Please do not change this line.
> >> 
> >> The gpmi_io is for mx6q.
> >> If you replace it with `NULL`. The mx6q can not find the proper clock.
> > 
> > Suggestion is really welcome though, please :) This is a problem, GPMI
> > NAND is broken on anything != mx6q. Huang, can you please also test the
> > changes you do to GPMI NAND on mx28/mx23 so we can avoid this breakage
> > in the future?
> 
> yes. I tested in the mx23/mx28. It's ok, do not worry.

I won't be posting here that it's broken in the first place if it was ok ;-)

Give it one more go with latest -next ...

Best regards,
Marek Vasut

Patch

diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index c46be6c..1f23cb4 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -492,7 +492,7 @@  static int __devinit gpmi_get_clks(struct gpmi_nand_data *this)
 	int i;
 
 	/* The main clock is stored in the first. */
-	r->clock[0] = clk_get(this->dev, "gpmi_io");
+	r->clock[0] = clk_get(this->dev, NULL);
 	if (IS_ERR(r->clock[0]))
 		goto err_clock;