From f52b2a5e6bf14f3eb65988d7cccd9c38e93cb83e Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sat, 10 Jan 2015 20:12:02 +0000 Subject: mcs814x: add 3.14 kernel support Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43926 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../mcs814x/files-3.14/drivers/net/phy/mcs814x.c | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 target/linux/mcs814x/files-3.14/drivers/net/phy/mcs814x.c (limited to 'target/linux/mcs814x/files-3.14/drivers/net/phy/mcs814x.c') diff --git a/target/linux/mcs814x/files-3.14/drivers/net/phy/mcs814x.c b/target/linux/mcs814x/files-3.14/drivers/net/phy/mcs814x.c new file mode 100644 index 0000000000..e92176e3be --- /dev/null +++ b/target/linux/mcs814x/files-3.14/drivers/net/phy/mcs814x.c @@ -0,0 +1,64 @@ +/* + * Driver for Moschip MCS814x internal PHY + * + * Copyright (c) 2012 Florian Fainelli + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +MODULE_DESCRIPTION("Moschip MCS814x PHY driver"); +MODULE_AUTHOR("Florian Fainelli "); +MODULE_LICENSE("GPL"); + +/* Nothing special about this PHY but its OUI (O) */ +static struct phy_driver mcs8140_driver = { + .phy_id = 0, + .name = "Moschip MCS8140", + .phy_id_mask = 0x02, + .features = PHY_BASIC_FEATURES, + .config_aneg = &genphy_config_aneg, + .read_status = &genphy_read_status, + .suspend = genphy_suspend, + .resume = genphy_resume, + .driver = { .owner = THIS_MODULE,}, +}; + +static int __init mcs814x_phy_init(void) +{ + return phy_driver_register(&mcs8140_driver); +} + +static void __exit mcs814x_phy_exit(void) +{ + phy_driver_unregister(&mcs8140_driver); +} + +module_init(mcs814x_phy_init); +module_exit(mcs814x_phy_exit); + +static struct mdio_device_id __maybe_unused mcs814x_phy_tbl[] = { + { 0x0, 0x0ffffff0 }, + { } +}; + +MODULE_DEVICE_TABLE(mdio, mcs814x_phy_tbl); -- cgit v1.2.3