mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
Merge branch 'net-phy-remove-modalias-based-mdio-device-bus-matching'
Heiner Kallweit says: ==================== net: phy: remove modalias-based MDIO device bus matching modalias-based MDIO device bus matching has only one user (dsa-loop), where we can replace modalias-based matching with a simple custom match function. This, and first patch of the series, lay the foundation for removing modalias-based matching. ==================== Link: https://patch.msgid.link/d9543e7d-23e1-4dba-a6b3-35dcd6a35dec@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
commit
4906859dff
|
|
@ -395,6 +395,12 @@ static struct mdio_driver dsa_loop_drv = {
|
|||
.shutdown = dsa_loop_drv_shutdown,
|
||||
};
|
||||
|
||||
static int dsa_loop_bus_match(struct device *dev,
|
||||
const struct device_driver *drv)
|
||||
{
|
||||
return drv == &dsa_loop_drv.mdiodrv.driver;
|
||||
}
|
||||
|
||||
static void dsa_loop_phydevs_unregister(void)
|
||||
{
|
||||
for (int i = 0; i < NUM_FIXED_PHYS; i++) {
|
||||
|
|
@ -428,7 +434,7 @@ static int __init dsa_loop_create_switch_mdiodev(void)
|
|||
if (IS_ERR(switch_mdiodev))
|
||||
goto out;
|
||||
|
||||
strscpy(switch_mdiodev->modalias, "dsa-loop");
|
||||
switch_mdiodev->bus_match = dsa_loop_bus_match;
|
||||
switch_mdiodev->dev.platform_data = &dsa_loop_pdata;
|
||||
|
||||
ret = mdio_device_register(switch_mdiodev);
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ enum adin1110_chips_id {
|
|||
|
||||
struct adin1110_cfg {
|
||||
enum adin1110_chips_id id;
|
||||
char name[MDIO_NAME_SIZE];
|
||||
const char *name;
|
||||
u32 phy_ids[PHY_MAX_ADDR];
|
||||
u32 ports_nr;
|
||||
u32 phy_id_val;
|
||||
|
|
|
|||
|
|
@ -36,18 +36,6 @@ static void mdio_device_release(struct device *dev)
|
|||
kfree(to_mdio_device(dev));
|
||||
}
|
||||
|
||||
static int mdio_device_bus_match(struct device *dev,
|
||||
const struct device_driver *drv)
|
||||
{
|
||||
struct mdio_device *mdiodev = to_mdio_device(dev);
|
||||
const struct mdio_driver *mdiodrv = to_mdio_driver(drv);
|
||||
|
||||
if (mdiodrv->mdiodrv.flags & MDIO_DEVICE_IS_PHY)
|
||||
return 0;
|
||||
|
||||
return strcmp(mdiodev->modalias, drv->name) == 0;
|
||||
}
|
||||
|
||||
struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr)
|
||||
{
|
||||
struct mdio_device *mdiodev;
|
||||
|
|
@ -60,7 +48,6 @@ struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr)
|
|||
mdiodev->dev.release = mdio_device_release;
|
||||
mdiodev->dev.parent = &bus->dev;
|
||||
mdiodev->dev.bus = &mdio_bus_type;
|
||||
mdiodev->bus_match = mdio_device_bus_match;
|
||||
mdiodev->device_free = mdio_device_free;
|
||||
mdiodev->device_remove = mdio_device_remove;
|
||||
mdiodev->bus = bus;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ struct mdio_device {
|
|||
struct device dev;
|
||||
|
||||
struct mii_bus *bus;
|
||||
char modalias[MDIO_NAME_SIZE];
|
||||
|
||||
int (*bus_match)(struct device *dev, const struct device_driver *drv);
|
||||
void (*device_free)(struct mdio_device *mdiodev);
|
||||
|
|
|
|||
|
|
@ -609,7 +609,6 @@ struct platform_device_id {
|
|||
kernel_ulong_t driver_data;
|
||||
};
|
||||
|
||||
#define MDIO_NAME_SIZE 32
|
||||
#define MDIO_MODULE_PREFIX "mdio:"
|
||||
|
||||
#define MDIO_ID_FMT "%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user