RFC: of_device_id: use pointer for the data field
Sascha Hauer
s.hauer at pengutronix.de
Sun Apr 26 23:00:59 PDT 2015
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.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list