On Mon, 27 Apr 2015 08:00:59 +0200 Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > On Sun, Apr 26, 2015 at 05:38:31PM +0300, Antony Pavlov wrote: > > Hi! > > > > Just now barebox' of_device_id struct uses unsigned long type for data field: > > > > struct of_device_id { > > char *compatible; > > unsigned long data; > > }; > > > > Here is of_device_id struct in linux kernel: > > > > struct of_device_id { > > char name[32]; > > char type[32]; > > char compatible[128]; > > const void *data; > > }; > > > > Just all data fields are used as pointers and need 'unsigned long' casting. > > E.g. see 'git grep -A 4 of_device_id drivers/' output: > > > > drivers/ata/sata-imx.c:static __maybe_unused struct of_device_id imx_sata_dt_ids[] = { > > drivers/ata/sata-imx.c- { > > drivers/ata/sata-imx.c- .compatible = "fsl,imx6q-ahci", > > drivers/ata/sata-imx.c- .data = (unsigned long)&data_imx6, > > drivers/ata/sata-imx.c- }, { > > > > Could we use 'const void *' type for data field as linux kernel does? > > Yes, good idea. Ok, I'll try to prepare the patch in several days. -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox