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

From: Miquel Raynal <[email-masked]>
Date: Wed, 11 Mar 2020 11:10:41 +0100

Hi Stephen,

+ Janusz, ams-delta patch author

Stephen Rothwell <[email-masked]> 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