#include #include #include #include #include #include #include #include #include #include #include "miphy.h" #define NAME "stm-miphy-dummy" struct stm_miphy_miphy_device { struct stm_miphy_device miphy_dev; }; static struct stm_miphy_miphy_device miphy_dummy_dev; static u8 stm_miphy_dummy_reg_read(int port, u8 addr) { return 0; } static void stm_miphy_dummy_reg_write(int port, u8 addr, u8 data) { } static const struct miphy_if_ops stm_miphy_dummy_ops = { .reg_write = stm_miphy_dummy_reg_write, .reg_read = stm_miphy_dummy_reg_read, }; static int stm_miphy_dummy_probe(struct platform_device *pdev) { struct stm_plat_miphy_dummy_data *data = pdev->dev.platform_data; int result; result = miphy_if_register(&miphy_dummy_dev.miphy_dev, DUMMY_IF, data->miphy_first, data->miphy_count, data->miphy_modes, &pdev->dev, &stm_miphy_dummy_ops); if (result) { printk(KERN_ERR "Unable to Register DUMMY MiPHY device\n"); return result; } return 0; } static int stm_miphy_dummy_remove(struct platform_device *pdev) { miphy_if_unregister(&miphy_dummy_dev.miphy_dev); return 0; } static struct platform_driver stm_miphy_dummy_driver = { .driver.name = NAME, .driver.owner = THIS_MODULE, .probe = stm_miphy_dummy_probe, .remove = stm_miphy_dummy_remove, }; static int __init stm_miphy_dummy_init(void) { return platform_driver_register(&stm_miphy_dummy_driver); } postcore_initcall(stm_miphy_dummy_init); MODULE_AUTHOR("STMicroelectronics @st.com"); MODULE_DESCRIPTION("STM MiPHY DUMMY driver"); MODULE_LICENSE("GPL");