On Mon, May 11, 2020 at 1:11 PM Grygorii Strashko
<[email protected]> wrote:
>
> Hi Arnd,
>
> On 09/05/2020 01:17, Arnd Bergmann wrote:
> > On Fri, May 8, 2020 at 12:01 PM Grygorii Strashko
> > <[email protected]> wrote:
> >
> >> +static int __init k3_chipinfo_init(void)
> >> +{
> >> + struct soc_device_attribute *soc_dev_attr;
> >> + struct soc_device *soc_dev;
> >> + struct device_node *node;
> >> + struct regmap *regmap;
> >> + u32 partno_id;
> >> + u32 variant;
> >> + u32 jtag_id;
> >> + u32 mfg;
> >> + int ret;
> >> +
> >> + node = of_find_compatible_node(NULL, NULL, "ti,am654-chipid");
> >> + if (!node)
> >> + return -ENODEV;
> >
> > This will fail the initcall and print a warning when the kernel runs on any
> > other SoC. Would it be possible to just make this a platform_driver?
> >
> > If not, I think you should silently return success when the device
> > node is absent.
>
> Thank you for your report.
> Can' make it platform drv., as the SoC info need to be accessible by divers
> early.
Which drivers in particular? In most cases you should be able to still do this
right by relying on initcall ordering as long as this one can only be built-in
(or possibly only a module for compile-testing).
Arnd