Re: [PATCH 00/11] Add support for RaspberryPi RP1 PCI device using a DT overlay

Andrea della Porta
2024-08-29T13:13:27Z

Hi Andrew,

On 15:04 Thu 29 Aug , Andrew Lunn wrote:
> > > > WARNING: externs should be avoided in .c files
> > > > #331: FILE: drivers/misc/rp1/rp1-pci.c:58:
> > > > +extern char __dtbo_rp1_pci_begin[];
> > > >
> > > > True, but in this case we don't have a symbol that should be exported to other
> > > > translation units, it just needs to be referenced inside the driver and
> > > > consumed locally. Hence it would be better to place the extern in .c file.
> > >
> > > Did you try making it static.
> >
> > The dtso is compiled into an obj and linked with the driver which is in
> > a different transaltion unit. I'm not aware on other ways to include that
> > symbol without declaring it extern (the exception being some hackery
> > trick that compile the dtso into a .c file to be included into the driver
> > main source file).
> > Or probably I'm not seeing what you are proposing, could you please elaborate
> > on that?
>
> Sorry, i jumped to the wrong conclusion. Often it is missing static
> keyword which causes warnings. However, you say it needs to be global
> scope.
>
> Reading the warning again:
>
> > > > WARNING: externs should be avoided in .c files
>
> It is wanting you to put it in a .h file, which then gets
> included by the two users.

Ah I see now what you were referring to, thanks.
I'll put the extern into an header file, although there are no two users
of that, the only one being rp1-pci.c.

Many thanks,
Andrea

>
> Andrew