Re: [PATCH net v3] net: ethernet: ti: fix build and remove TI_CPTS_MOD workaround

From: Arnd Bergmann
Date: Fri May 08 2020 - 07:25:33 EST


On Fri, May 8, 2020 at 1:14 PM Grygorii Strashko
<grygorii.strashko@xxxxxx> wrote:
> On 08/05/2020 13:10, Arnd Bergmann wrote:
> > On Fri, May 8, 2020 at 11:59 AM Grygorii Strashko

> >> That's because TI_CPTS_MOD (which is the symbol gating the _compilation_ of
> >> cpts.c) now depends on PTP_1588_CLOCK, and so is not enabled in these
> >> configurations, but TI_CPTS (which is the symbol gating _calls_ to the cpts
> >> functions) _is_ enabled. So we end up compiling calls to functions that
> >> don't exist, resulting in the linker errors.
> >>
> >> This patch fixes build errors and restores previous behavior by:
> >> - ensure PTP_1588_CLOCK=y in TI specific configs and CPTS will be built
> >> - use IS_REACHABLE(CONFIG_TI_CPTS) in code instead of IS_ENABLED()
> >
> > I don't understand what IS_REACHABLE() is needed for once all the other
> > changes are in place. I'd hope we can avoid that. Do you still see
> > failures without
> > that or is it just a precaution. I can do some randconfig testing on your patch
> > to see what else might be needed to avoid IS_REACHABLE().
>
> I've not changed this part of original patch, but seems you're right.
>
> I can drop it and resend, but, unfortunately, i do not have time today for full build testing.

I have applied to patch locally to my randconfig tree, with the IS_REACHABLE()
changes taken out.

> By the way in ptp_clock_kernel.h
> #if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)

This should also be changed I think, but it can wait for another day.

Arnd