diff mbox

mtd: fsmc_nand.c: Use default timings if none are provided in the dts

Message ID 1426772069-12677-1-git-send-email-sr@denx.de
State Accepted
Commit 62b57f4c1475a4c452000192e5cad2ae86164be5
Headers show

Commit Message

Stefan Roese March 19, 2015, 1:34 p.m. UTC
Without this patch the timings are all set to 0 if not specified in the dts.
With this patch the driver falls back to use the defaults that are already
present in the driver and are known to work okay for some (older) boards.

Tested on a custom SPEAr600 based board.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
---
 drivers/mtd/nand/fsmc_nand.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Linus Walleij March 27, 2015, 8:38 a.m. UTC | #1
On Thu, Mar 19, 2015 at 2:34 PM, Stefan Roese <sr@denx.de> wrote:

> Without this patch the timings are all set to 0 if not specified in the dts.
> With this patch the driver falls back to use the defaults that are already
> present in the driver and are known to work okay for some (older) boards.
>
> Tested on a custom SPEAr600 based board.
>
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Viresh Kumar <viresh.linux@gmail.com>
> Cc: Brian Norris <computersforpeace@gmail.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Brian Norris March 31, 2015, 12:50 a.m. UTC | #2
On Thu, Mar 19, 2015 at 02:34:29PM +0100, Stefan Roese wrote:
> Without this patch the timings are all set to 0 if not specified in the dts.
> With this patch the driver falls back to use the defaults that are already
> present in the driver and are known to work okay for some (older) boards.
> 
> Tested on a custom SPEAr600 based board.
> 
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Viresh Kumar <viresh.linux@gmail.com>
> Cc: Brian Norris <computersforpeace@gmail.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>

Pushed to l2-mtd.git.

Brian
diff mbox

Patch

diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c
index edfaa21..e58af4b 100644
--- a/drivers/mtd/nand/fsmc_nand.c
+++ b/drivers/mtd/nand/fsmc_nand.c
@@ -873,6 +873,7 @@  static int fsmc_nand_probe_config_dt(struct platform_device *pdev,
 {
 	struct fsmc_nand_platform_data *pdata = dev_get_platdata(&pdev->dev);
 	u32 val;
+	int ret;
 
 	/* Set default NAND width to 8 bits */
 	pdata->width = 8;
@@ -891,8 +892,12 @@  static int fsmc_nand_probe_config_dt(struct platform_device *pdev,
 				sizeof(*pdata->nand_timings), GFP_KERNEL);
 	if (!pdata->nand_timings)
 		return -ENOMEM;
-	of_property_read_u8_array(np, "timings", (u8 *)pdata->nand_timings,
+	ret = of_property_read_u8_array(np, "timings", (u8 *)pdata->nand_timings,
 						sizeof(*pdata->nand_timings));
+	if (ret) {
+		dev_info(&pdev->dev, "No timings in dts specified, using default timings!\n");
+		pdata->nand_timings = NULL;
+	}
 
 	/* Set default NAND bank to 0 */
 	pdata->bank = 0;