dm9000.c (ac88c531a5b38877eba2365a3f28f0c8b513dc33) | dm9000.c (cf9e60aa69ae6c40d3e3e4c94dd6c8de31674e9b) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Davicom DM9000 Fast Ethernet driver for Linux. 4 * Copyright (C) 1997 Sten Wang 5 * 6 * (C) Copyright 1997-1998 DAVICOM Semiconductor,Inc. All Rights Reserved. 7 * 8 * Additional updates, Copyright: --- 119 unchanged lines hidden (view full) --- 128 129 spinlock_t lock; 130 131 struct mii_if_info mii; 132 u32 msg_enable; 133 u32 wake_state; 134 135 int ip_summed; | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Davicom DM9000 Fast Ethernet driver for Linux. 4 * Copyright (C) 1997 Sten Wang 5 * 6 * (C) Copyright 1997-1998 DAVICOM Semiconductor,Inc. All Rights Reserved. 7 * 8 * Additional updates, Copyright: --- 119 unchanged lines hidden (view full) --- 128 129 spinlock_t lock; 130 131 struct mii_if_info mii; 132 u32 msg_enable; 133 u32 wake_state; 134 135 int ip_summed; |
136 137 struct regulator *power_supply; |
|
136}; 137 138/* debug code */ 139 140#define dm9000_dbg(db, lev, msg...) do { \ 141 if ((lev) < debug) { \ 142 dev_dbg(db->dev, msg); \ 143 } \ --- 1332 unchanged lines hidden (view full) --- 1476 1477 dev_dbg(&pdev->dev, "dm9000_probe()\n"); 1478 1479 /* setup board info structure */ 1480 db = netdev_priv(ndev); 1481 1482 db->dev = &pdev->dev; 1483 db->ndev = ndev; | 138}; 139 140/* debug code */ 141 142#define dm9000_dbg(db, lev, msg...) do { \ 143 if ((lev) < debug) { \ 144 dev_dbg(db->dev, msg); \ 145 } \ --- 1332 unchanged lines hidden (view full) --- 1478 1479 dev_dbg(&pdev->dev, "dm9000_probe()\n"); 1480 1481 /* setup board info structure */ 1482 db = netdev_priv(ndev); 1483 1484 db->dev = &pdev->dev; 1485 db->ndev = ndev; |
1486 if (!IS_ERR(power)) 1487 db->power_supply = power; |
|
1484 1485 spin_lock_init(&db->lock); 1486 mutex_init(&db->addr_lock); 1487 1488 INIT_DELAYED_WORK(&db->phy_poll, dm9000_poll_work); 1489 1490 db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1491 db->data_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); --- 269 unchanged lines hidden (view full) --- 1761 .suspend = dm9000_drv_suspend, 1762 .resume = dm9000_drv_resume, 1763}; 1764 1765static int 1766dm9000_drv_remove(struct platform_device *pdev) 1767{ 1768 struct net_device *ndev = platform_get_drvdata(pdev); | 1488 1489 spin_lock_init(&db->lock); 1490 mutex_init(&db->addr_lock); 1491 1492 INIT_DELAYED_WORK(&db->phy_poll, dm9000_poll_work); 1493 1494 db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1495 db->data_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); --- 269 unchanged lines hidden (view full) --- 1765 .suspend = dm9000_drv_suspend, 1766 .resume = dm9000_drv_resume, 1767}; 1768 1769static int 1770dm9000_drv_remove(struct platform_device *pdev) 1771{ 1772 struct net_device *ndev = platform_get_drvdata(pdev); |
1773 struct board_info *dm = to_dm9000_board(ndev); |
|
1769 1770 unregister_netdev(ndev); | 1774 1775 unregister_netdev(ndev); |
1771 dm9000_release_board(pdev, netdev_priv(ndev)); | 1776 dm9000_release_board(pdev, dm); |
1772 free_netdev(ndev); /* free device structure */ | 1777 free_netdev(ndev); /* free device structure */ |
1778 if (dm->power_supply) 1779 regulator_disable(dm->power_supply); |
|
1773 1774 dev_dbg(&pdev->dev, "released and freed device\n"); 1775 return 0; 1776} 1777 1778#ifdef CONFIG_OF 1779static const struct of_device_id dm9000_of_matches[] = { 1780 { .compatible = "davicom,dm9000", }, --- 21 unchanged lines hidden --- | 1780 1781 dev_dbg(&pdev->dev, "released and freed device\n"); 1782 return 0; 1783} 1784 1785#ifdef CONFIG_OF 1786static const struct of_device_id dm9000_of_matches[] = { 1787 { .compatible = "davicom,dm9000", }, --- 21 unchanged lines hidden --- |