The Kconfig for ARCH_BOARD_SAMA5D3_XPLAINED had this:

select ARCH_PHY_INTERRUPT if NETDEVICES
>

Since now NETDEVICES can include CDC ECM Ethernet over USB which does not
have a PHY interrupt, I solved the conflict like this:

select ARCH_PHY_INTERRUPT if NETDEVICES && (SAMA5_EMACA || SAMA5_EMAC0 ||
> SAMA5_EMAC1 || SAMA5_GMAC)
>

Thanks for the help!

cheers
adam


On Thu, Jan 9, 2020 at 8:43 AM Adam Feuer <a...@starcat.io> wrote:

> The "imply BAZ" method seems like a way to have a permanent solution to
> this.
>
> I'll try to track this down. If I do that, is it something that can would
> be accepted as part of a PR?
>
> cheers
> adam
>
> On Thu, Jan 9, 2020 at 6:10 AM Gregory Nutt <spudan...@gmail.com> wrote:
>
>>
>> >> This is an error in the Kconfig files.  This one is complex because a
>> >> lot of settings are involved.  This kind of error occurs because you
>> >> are auto-selecting a setting that has dependencies that are not
>> >> selected.  A simple example would be like
>> >
>> > config FOO
>> >     bool "Foo"
>> >     depends on BAR
>> >
>> > config BAZ
>> >     bool "Baz"
>> >     select FOO
>> >
>> > That causes the error if BAZ is not selected.  Fixes:
>> >
>> >   * Temporary workaround:  Select BAR in the configuration
>> >   * Select BAR before FOO when BAZ is selected
>> >   * May BAZ depend on BAR too
>> >   * Select FOO conditional 'select FOO if BAR'
>> >
>> There is one more option (at least).  You can use 'imply FOO' instead of
>> 'select FOO'.  Per the Kconfig-frontends documentation:
>>
>>     - weak reverse dependencies: "imply" <symbol> ["if" <expr>]
>>        This is similar to "select" as it enforces a lower limit on another
>>        symbol except that the "implied" symbol's value may still be set
>> to n
>>        from a direct dependency or with a visible prompt.
>>
>>        Given the following example:
>>
>>        config FOO
>>              tristate
>>              imply BAZ
>>
>>        config BAZ
>>              tristate
>>              depends on BAR
>>
>>        The following values are possible:
>>
>>              FOO             BAR             BAZ's default choice for BAZ
>>              ---             ---             ------------- --------------
>>              n               y               n N/m/y
>>              m               y               m M/y/n
>>              y               y               y Y/n
>>              y               n               * N
>>
>>        This is useful e.g. with multiple drivers that want to indicate
>> their
>>        ability to hook into a secondary subsystem while allowing the user
>> to
>>        configure that subsystem out without also having to unset these
>>     drivers.
>>
>> Greg
>>
>>
>
> --
> Adam Feuer <a...@starcat.io>
>


-- 
Adam Feuer <a...@starcat.io>

Reply via email to