Re: [PATCH v2 3/3] net: phy: add Rust Asix PHY driver

FUJITA Tomonori
2023-10-06T14:30:57Z

On Fri, 6 Oct 2023 16:12:24 +0200
Greg KH <gregkh@linuxfoundation.org> wrote:

> On Fri, Oct 06, 2023 at 10:53:25PM +0900, FUJITA Tomonori wrote:
>> On Fri, 6 Oct 2023 12:31:59 +0200
>> Greg KH <gregkh@linuxfoundation.org> wrote:
>>
>> > On Fri, Oct 06, 2023 at 06:49:11PM +0900, FUJITA Tomonori wrote:
>> >> +config AX88796B_RUST_PHY
>> >> + bool "Rust reference driver"
>> >> + depends on RUST && AX88796B_PHY
>> >> + default n
>> >
>> > Nit, "n" is always the default, there is no need for this line.
>>
>> Understood, I'll remove this line.
>>
>> >> + help
>> >> + Uses the Rust version driver for Asix PHYs.
>> >
>> > You need more text here please. Provide a better description of what
>> > hardware is supported and the name of the module if it is built aas a
>> > module.
>> >
>> > Also that if you select this one, the C driver will not be built (which
>> > is not expressed in the Kconfig language, why not?
>>
>> Because the way to load a PHY driver module can't handle multiple
>> modules with the same phy id (a NIC driver loads a PHY driver module).
>> There is no machinism to specify which PHY driver module should be
>> loaded when multiple PHY modules have the same phy id (as far as I know).
>
> Sorry, I know that, I mean I am pretty sure you can express this "one or
> the other" type of restriction in Kconfig, no need to encode it in the
> Makefile logic.
>
> Try doing "depens on AX88796B_PHY=n" as the dependency for the rust
> driver.

You meant the following?

config AX88796B_PHY
tristate "Asix PHYs"
help
Currently supports the Asix Electronics PHY found in the X-Surf 100
AX88796B package.

config AX88796B_RUST_PHY
bool "Rust reference driver"
depends on RUST && AX88796B_PHY
default n
help
Uses the Rust version driver for Asix PHYs.

The problem is that there are NIC drivers that `select
AX88796B_PHY`. the Kconfig language doesn't support something like
`select AX88796B_PHY or AX88796B_RUST_PHY`, I guess.