|
@@ -64,6 +64,18 @@ static int rtl8211e_config_intr(struct phy_device *phydev)
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+/* RTL8201CP */
|
|
|
+static struct phy_driver rtl8201cp_driver = {
|
|
|
+ .phy_id = 0x00008201,
|
|
|
+ .name = "RTL8201CP Ethernet",
|
|
|
+ .phy_id_mask = 0x0000ffff,
|
|
|
+ .features = PHY_BASIC_FEATURES,
|
|
|
+ .flags = PHY_HAS_INTERRUPT,
|
|
|
+ .config_aneg = &genphy_config_aneg,
|
|
|
+ .read_status = &genphy_read_status,
|
|
|
+ .driver = { .owner = THIS_MODULE,},
|
|
|
+};
|
|
|
+
|
|
|
/* RTL8211B */
|
|
|
static struct phy_driver rtl8211b_driver = {
|
|
|
.phy_id = 0x001cc912,
|
|
@@ -98,6 +110,9 @@ static int __init realtek_init(void)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
+ ret = phy_driver_register(&rtl8201cp_driver);
|
|
|
+ if (ret < 0)
|
|
|
+ return -ENODEV;
|
|
|
ret = phy_driver_register(&rtl8211b_driver);
|
|
|
if (ret < 0)
|
|
|
return -ENODEV;
|