On Mon, Mar 13, 2017 at 9:09 PM, Nicolas Pitre <nicolas.pi...@linaro.org> wrote: > On Mon, 13 Mar 2017, Arnd Bergmann wrote: > >> With posix timers having become optional, we get a build error with >> the cpts time sync option of the CPSW driver: >> >> drivers/net/ethernet/ti/cpts.c: In function 'cpts_find_ts': >> drivers/net/ethernet/ti/cpts.c:291:23: error: implicit declaration of >> function 'ptp_classify_raw';did you mean 'ptp_classifier_init'? >> [-Werror=implicit-function-declaration] >> >> It really makes no sense to build this driver if we can't use PTP, >> so it's better to go back to 'select PTP_1588_CLOCK' but instead >> add a dependency on POSIX_TIMERS. Adding 'depends on PTP_1588_CLOCK' >> might also work, but has the risk of circular dependencies when >> mixed with other drivers using 'imply'. > > Could you elaborate on that risk please?
I have seen many circular dependencies in the past that tend to be of type config FOO depends on A select B config BAR select A depends on B The best way to avoid this problem is to only ever use either 'select' or 'depends on' for any given dependency, but not both. In this case, almost all references to PTP_1588_CLOCK use 'select' or 'implies', so I don't want to introduce any more 'depends on'. Arnd