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

FUJITA Tomonori
2023-10-07T07:41:15Z

On Fri, 6 Oct 2023 17:57:41 +0200
Andrew Lunn <andrew@lunn.ch> wrote:

>> Now I'm thinking that this is the best option. Kconfig would be the following:
>>
>> config AX88796B_PHY
>> tristate "Asix PHYs"
>> help
>> Currently supports the Asix Electronics PHY found in the X-Surf 100
>> AX88796B package.
>>
>> choice
>> prompt "Implementation options"
>> depends on AX88796B_PHY
>> help
>> There are two implementations for a driver for Asix PHYs; C and Rust.
>> If not sure, choose C.
>>
>> config AX88796B_C_PHY
>> bool "The C version driver for Asix PHYs"
>>
>> config AX88796B_RUST_PHY
>> bool "The Rust version driver for Asix PHYs"
>> depends on RUST
>>
>> endchoice
>>
>>
>> No hack in Makefile:
>>
>> obj-$(CONFIG_AX88796B_C_PHY) += ax88796b.o
>> obj-$(CONFIG_AX88796B_RUST_PHY) += ax88796b_rust.o
>
> This looks reasonable. Lets use this. But i still think we need some
> sort of RUST_PHYLIB_BINDING.

Sorry, I found that it doesn't work well when you try to build
AX88796B_PHY as a module.

With AX88796B_PHY=m, if you choose the C version, then you got
AX88796B_C_PHY=y; the driver will be built-in.

Seems that we need a trick in Makefile in any ways, I'll go with the
original version of this patch; the simplest, I think.