On Thu, Dec 28, 2023 at 03:23:50PM +0800, Yajun Deng wrote:
The struct mdio_driver_common is a wrapper for driver-model structure,usb_mdio_driver?
it contains device_driver and flags. There are only struct phy_driver
and mdio_driver that use it. The flags is used to distinguish between
struct phy_driver and mdio_driver.
We can test that if probe of device_driver is equal to phy_probe. This
way, the struct mdio_driver_common is no longer needed, and struct
phy_driver and usb_mdio_driver will be consistent with other driver
structs.
I'm not sure why this consistency is even desired, the commit message
doesn't properly say _why_ this change is being proposed.
I think this exported can be removed.
+bool is_phy_driver(struct device_driver *driver)Do we really need this exported? It doesn't seem like something anything
+{
+ return driver->probe == phy_probe;
+}
+EXPORT_SYMBOL_GPL(is_phy_driver);
other than core MDIO/phylib code should know about, and all that becomes
a single module when building it in a modular way - phylib can't be a
separate module from mdio stuff.