Staging: et131x: config is already zeroed
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / dm9000.c
index 8603806be8982311e87802ddc7db7176c5a58464..31b8bef49d2e1a15323634f29b72b8453815b0e8 100644 (file)
@@ -1251,8 +1251,6 @@ static const struct net_device_ops dm9000_netdev_ops = {
 #endif
 };
 
-#define res_size(_r) (((_r)->end - (_r)->start) + 1)
-
 /*
  * Search DM9000 board, allocate space and register it
  */
@@ -1281,7 +1279,6 @@ dm9000_probe(struct platform_device *pdev)
 
        /* setup board info structure */
        db = netdev_priv(ndev);
-       memset(db, 0, sizeof(*db));
 
        db->dev = &pdev->dev;
        db->ndev = ndev;
@@ -1302,7 +1299,7 @@ dm9000_probe(struct platform_device *pdev)
                goto out;
        }
 
-       iosize = res_size(db->addr_res);
+       iosize = resource_size(db->addr_res);
        db->addr_req = request_mem_region(db->addr_res->start, iosize,
                                          pdev->name);
 
@@ -1320,7 +1317,7 @@ dm9000_probe(struct platform_device *pdev)
                goto out;
        }
 
-       iosize = res_size(db->data_res);
+       iosize = resource_size(db->data_res);
        db->data_req = request_mem_region(db->data_res->start, iosize,
                                          pdev->name);
 
@@ -1483,9 +1480,10 @@ out:
 }
 
 static int
-dm9000_drv_suspend(struct platform_device *dev, pm_message_t state)
+dm9000_drv_suspend(struct device *dev)
 {
-       struct net_device *ndev = platform_get_drvdata(dev);
+       struct platform_device *pdev = to_platform_device(dev);
+       struct net_device *ndev = platform_get_drvdata(pdev);
        board_info_t *db;
 
        if (ndev) {
@@ -1501,9 +1499,10 @@ dm9000_drv_suspend(struct platform_device *dev, pm_message_t state)
 }
 
 static int
-dm9000_drv_resume(struct platform_device *dev)
+dm9000_drv_resume(struct device *dev)
 {
-       struct net_device *ndev = platform_get_drvdata(dev);
+       struct platform_device *pdev = to_platform_device(dev);
+       struct net_device *ndev = platform_get_drvdata(pdev);
        board_info_t *db = netdev_priv(ndev);
 
        if (ndev) {
@@ -1520,6 +1519,11 @@ dm9000_drv_resume(struct platform_device *dev)
        return 0;
 }
 
+static struct dev_pm_ops dm9000_drv_pm_ops = {
+       .suspend        = dm9000_drv_suspend,
+       .resume         = dm9000_drv_resume,
+};
+
 static int __devexit
 dm9000_drv_remove(struct platform_device *pdev)
 {
@@ -1539,11 +1543,10 @@ static struct platform_driver dm9000_driver = {
        .driver = {
                .name    = "dm9000",
                .owner   = THIS_MODULE,
+               .pm      = &dm9000_drv_pm_ops,
        },
        .probe   = dm9000_probe,
        .remove  = __devexit_p(dm9000_drv_remove),
-       .suspend = dm9000_drv_suspend,
-       .resume  = dm9000_drv_resume,
 };
 
 static int __init