Re: linux-next: build failure after merge of the nand tree

Miquel Raynal
2020-03-11T10:10:45Z

Hi Stephen,

+ Janusz, ams-delta patch author

Stephen Rothwell <sfr@canb.auug.org.au> wrote on Wed, 11 Mar 2020
13:16:16 +1100:

> Hi all,
>
> After merging the nand tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

Thanks for the report.

>
> FATAL: modpost: drivers/mtd/nand/raw/ams-delta: sizeof(struct of_device_id)=200 is not a modulo of the size of section __mod_of__<identifier>_device_table=64.
> Fix definition of struct of_device_id in mod_devicetable.h
>
> Maybe caused by commit
>
> 966d708517e3 ("mtd: rawnand: ams-delta: Add module device tables")
>
> But I have no idea why.
>

This is strange. I think this is caused because of the addition of a
second device table with the same "of" scope. Changing one of them to
"platform" (the legacy one) seems to fix the problem.

Janusz, Is the following change okay for you? I would like to apply it
today so that linux-next get's updated with the 50+ stack of new
patches by tomorrow.

--- a/drivers/mtd/nand/raw/ams-delta.c
+++ b/drivers/mtd/nand/raw/ams-delta.c
@@ -411,7 +411,7 @@ static const struct platform_device_id gpio_nand_plat_id_table[] = {
/* sentinel */
},
};
-MODULE_DEVICE_TABLE(of, gpio_nand_plat_id_table);
+MODULE_DEVICE_TABLE(platform, gpio_nand_plat_id_table);

static struct platform_driver gpio_nand_driver = {
.probe = gpio_nand_probe,

Thanks,
Miquèl