Build PHY device tables by using module_device_table macro. The PHY abstractions have been generating their own device tables manually instead of using the module_device_table macro provided by the device_id crate. However, the format of device tables occasionally changes [1] [2], requiring updates to both the device_id crate and the custom format used by the PHY abstractions, which is cumbersome to maintain. [1]: https://lore.kernel.org/lkml/20241119235705.1576946-14-masahiroy@xxxxxxxxxx/ [2]: https://lore.kernel.org/lkml/6e2f70b07a710e761eb68d089d96cee7b27bb2d5.1750511018.git.legion@xxxxxxxxxx/ v3: - Fix Safety comments and typo v2: https://lore.kernel.org/lkml/20250701141252.600113-1-fujita.tomonori@xxxxxxxxx/ - Split off index-related parts of RawDeviceId into RawDeviceIdIndex v1: https://lore.kernel.org/lkml/20250623060951.118564-1-fujita.tomonori@xxxxxxxxx/ FUJITA Tomonori (3): rust: device_id: split out index support into a separate trait rust: net::phy represent DeviceId as transparent wrapper over mdio_device_id rust: net::phy Change module_phy_driver macro to use module_device_table macro rust/kernel/auxiliary.rs | 11 +++-- rust/kernel/device_id.rs | 91 ++++++++++++++++++++++++---------- rust/kernel/net/phy.rs | 104 +++++++++++++++++++-------------------- rust/kernel/of.rs | 15 ++++-- rust/kernel/pci.rs | 11 +++-- 5 files changed, 138 insertions(+), 94 deletions(-) base-commit: 2009a2d5696944d85c34d75e691a6f3884e787c0 -- 2.43.0