[PATCH v2] mtd: nand: pxa3xx: Fix registered MTD name
Brian Norris
computersforpeace at gmail.com
Fri Oct 18 12:15:39 PDT 2013
On Fri, Oct 18, 2013 at 11:14 AM, Ezequiel Garcia
<ezequiel.garcia at free-electrons.com> wrote:
> In a recent commit:
>
> commit f455578dd961087a5cf94730d9f6489bb1d355f0
> Author: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> Date: Mon Aug 12 14:14:53 2013 -0300
>
> mtd: nand: pxa3xx: Remove hardcoded mtd name
>
> There's no advantage in using a hardcoded name for the mtd device.
> Instead use the provided by the platform_device.
>
> The MTD name was changed to use the one provided by the platform_device.
> However, this can be problematic as some users want to set partitions
> using the kernel parameter 'mtdpart', where the name is needed.
>
> Therefore, to avoid regressions in users relying in 'mtdpart' we revert
> the change and use the previous one 'pxa3xx_nand-0'.
>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
Should this be marked for -stable (or squeezed into 3.12-rc now), so
we don't leave the regression in 3.12?
> ---
> v1->v2:
> * Use exactly the same name as before, and avoid regressions
> instead of using any seemingly better or cleaner one.
>
> drivers/mtd/nand/pxa3xx_nand.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index aa75adf..4d53e8e 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -46,6 +46,8 @@
> */
> #define INIT_BUFFER_SIZE 256
>
> +#define DRIVER_NAME "pxa3xx_nand-0"
> +
> /* registers and bit definitions */
> #define NDCR (0x00) /* Control register */
> #define NDTR0CS0 (0x04) /* Timing Parameter 0 for CS0 */
> @@ -1339,7 +1341,7 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
> for (cs = 0; cs < pdata->num_cs; cs++) {
> struct mtd_info *mtd = info->host[cs]->mtd;
>
> - mtd->name = pdev->name;
> + mtd->name = DRIVER_NAME;
> info->cs = cs;
> ret = pxa3xx_nand_scan(mtd);
> if (ret) {
> @@ -1425,7 +1427,7 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
>
> static struct platform_driver pxa3xx_nand_driver = {
> .driver = {
> - .name = "pxa3xx-nand",
> + .name = DRIVER_NAME,
> .of_match_table = pxa3xx_nand_dt_ids,
> },
> .probe = pxa3xx_nand_probe,
For mtdparts' sake, do we need both the driver name and the MTD name
to be the same? Or could we just stick the "pxa3xx_nand-0" directly
in mtd->name only, where it's needed for compatibility, and allow the
driver name to be cleaner? Or is that a silly idea?
Brian
More information about the linux-mtd
mailing list