RFC: of_device_id: use pointer for the data field
Antony Pavlov
antonynpavlov at gmail.com
Mon Apr 27 02:17:31 PDT 2015
On Mon, 27 Apr 2015 08:00:59 +0200
Sascha Hauer <s.hauer at pengutronix.de> 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
More information about the barebox
mailing list