[PATCH 5/6] mtd: rawnand: ams-delta: use GPIO lookup table
From: jmkrzyszt@gmail.com (Janusz Krzysztofik)
Date: 2018-05-20 15:37:48
Also in:
alsa-devel, linux-fbdev, linux-input, linux-omap, lkml
On Sunday, May 20, 2018 4:44:31 PM CEST Andy Shevchenko wrote:
On Sun, May 20, 2018 at 12:55 AM, Janusz Krzysztofik [off-list ref] wrote:quoted
On Saturday, May 19, 2018 8:00:38 PM CEST Andy Shevchenko wrote:quoted
On Sat, May 19, 2018 at 2:15 AM, Janusz Krzysztofik [off-list ref]wrote:quoted
NULL check in practice discards the _optional part of gpiod_get(). So, either you use non-optional variant and decide how to handle an errors, or user _optional w/o NULL check.OK, I'm going to use something like the below while submitting v2: - gpiod_rdy = devm_gpiod_get_optional(&pdev->dev, "rdy", GPIOD_IN); - if (!IS_ERR_OR_NULL(gpiod_rdy)) { - this->dev_ready = ams_delta_nand_ready; - } else { - this->dev_ready = NULL; - pr_notice("Couldn't request gpio for Delta NAND ready.\n"); + priv->gpiod_rdy = devm_gpiod_get_optional(&pdev->dev, "rdy", + GPIOD_IN); + if (IS_ERR(priv->gpiod_rdy)) { + err = PTR_ERR(priv->gpiod_nwp); + dev_warn(&pdev->dev, "RDY GPIO request failed (%d)\n", err); + goto err_gpiod; } + if (priv->gpiod_rdy) + this->dev_ready = ams_delta_nand_ready;This makes sense. Though, I completely dislike "rdy" name of GPIO. Where is it documented?
No documentation files for Amstrad Delta nor for its NAND driver specifically exist under Documentation/. However, there exist some for generic GPIO NAND driver where the pin name "rdy" is used explicitly: Documentation/driver-api/gpio/drivers-on-gpio.rst Documentation/devicetree/bindings/mtd/gpio-control-nand.txt You can find that mnemonic used across drivers/mtd/nand/, standalone or as a suffix, including the Amstrad Delta NAND driver before the change discussed. To be honest, I don't like it much either, but I'm just using it instead of inventing something new. Thanks, Janusz