[PATCH] atmel_lcdfb: introduce driver data
Sam Ravnborg
sam at ravnborg.org
Sat Jan 13 02:21:19 PST 2018
Hi Sasha.
> > +
> > static __maybe_unused struct of_device_id atmel_lcdfb_compatible[] = {
> > - { .compatible = "atmel,at91sam9261-lcdc", },
> > - { .compatible = "atmel,at91sam9263-lcdc", },
> > - { .compatible = "atmel,at91sam9g10-lcdc", },
> > - { .compatible = "atmel,at91sam9g45-lcdc", },
> > + { .compatible = "atmel,at91sam9261-lcdc", .data = &at91sam9261_config, },
> > + { .compatible = "atmel,at91sam9263-lcdc", .data = &at91sam9263_config, },
> > + { .compatible = "atmel,at91sam9g10-lcdc", .data = &at91sam9g10_config, },
> > + { .compatible = "atmel,at91sam9g45-lcdc", .data = &at91sam9g45_config, },
> > { .compatible = "atmel,at91sam9g45es-lcdc", },
> > - { .compatible = "atmel,at91sam9rl-lcdc", },
> > - { .compatible = "atmel,at32ap-lcdc", },
> > + { .compatible = "atmel,at91sam9rl-lcdc", .data = &at91sam9rl_config, },
> > + { .compatible = "atmel,at32ap-lcdc", .data = &at32ap_config, },
> > { /* sentinel */ }
> > };
>
> Note that we can match on different platform_device_ids aswell, so you
> could also attach driver_data to platform devices aswell. For an example
> see drivers/serial/serial_imx.c.
>
> I leave it up to you if you change this patch accordingly, I can also
> apply it as is.
I took a look at it today.
With these Atmel CPUs we have different behaviour of each IP block
depending on what CPU it is included in which is why I have added
all these _config blocks (I could have re-used a few).
So it is not that we see that for example at91sam9rl-lcdc
is used in many CPU's.
Adding the platform_id in this case resulted in extra code with no
added benefit - or at least no benefit I could see.
I had to maintain both a of_device_id table and a platform_device_id table,
so it also looked like a duplicate.
So unless I miss something then the original patch is the best
solution.
Sam
More information about the barebox
mailing list