OSDN Git Service

stmmac: remove setup/free glue callbacks
authorJoachim Eastwood <manabian@gmail.com>
Tue, 28 Jul 2015 22:09:03 +0000 (00:09 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Jul 2015 07:13:25 +0000 (00:13 -0700)
As all dwmac-* drivers have been converted to have a proper probe
function the setup callback can now be removed. Also remove the
free callback that wasn't used by any driver.

New dwmac-* drivers should implement standard probe and remove
functions to preform any needed setup and teardown.

Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/stmmac.txt
drivers/net/ethernet/stmicro/stmmac/dwmac-generic.c
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
include/linux/stmmac.h

index de5c423..2903b1c 100644 (file)
@@ -135,8 +135,6 @@ struct plat_stmmacenet_data {
        int maxmtu;
        void (*fix_mac_speed)(void *priv, unsigned int speed);
        void (*bus_setup)(void __iomem *ioaddr);
-       void *(*setup)(struct platform_device *pdev);
-       void (*free)(struct platform_device *pdev, void *priv);
        int (*init)(struct platform_device *pdev, void *priv);
        void (*exit)(struct platform_device *pdev, void *priv);
        void *bsp_priv;
@@ -177,12 +175,10 @@ Where:
  o bus_setup: perform HW setup of the bus. For example, on some ST platforms
             this field is used to configure the AMBA  bridge to generate more
             efficient STBus traffic.
- o setup/init/exit: callbacks used for calling a custom initialization;
+ o init/exit: callbacks used for calling a custom initialization;
             this is sometime necessary on some platforms (e.g. ST boxes)
             where the HW needs to have set some PIO lines or system cfg
-            registers. setup should return a pointer to private data,
-            which will be stored in bsp_priv, and then passed to init and
-            exit callbacks. init/exit callbacks should not use or modify
+            registers.  init/exit callbacks should not use or modify
             platform data.
  o bsp_priv: another private pointer.
 
index f4fe9f1..b1e5f24 100644 (file)
@@ -46,13 +46,6 @@ static int dwmac_generic_probe(struct platform_device *pdev)
                plat_dat->unicast_filter_entries = 1;
        }
 
-       /* Custom setup (if needed) */
-       if (plat_dat->setup) {
-               plat_dat->bsp_priv = plat_dat->setup(pdev);
-               if (IS_ERR(plat_dat->bsp_priv))
-                       return PTR_ERR(plat_dat->bsp_priv);
-       }
-
        /* Custom initialisation (if needed) */
        if (plat_dat->init) {
                ret = plat_dat->init(pdev, plat_dat->bsp_priv);
index 55e569b..1cb6604 100644 (file)
@@ -300,9 +300,6 @@ int stmmac_pltfr_remove(struct platform_device *pdev)
        if (priv->plat->exit)
                priv->plat->exit(pdev, priv->plat->bsp_priv);
 
-       if (priv->plat->free)
-               priv->plat->free(pdev, priv->plat->bsp_priv);
-
        return ret;
 }
 EXPORT_SYMBOL_GPL(stmmac_pltfr_remove);
index b43cd56..eead8ab 100644 (file)
@@ -119,8 +119,6 @@ struct plat_stmmacenet_data {
        int rx_fifo_size;
        void (*fix_mac_speed)(void *priv, unsigned int speed);
        void (*bus_setup)(void __iomem *ioaddr);
-       void *(*setup)(struct platform_device *pdev);
-       void (*free)(struct platform_device *pdev, void *priv);
        int (*init)(struct platform_device *pdev, void *priv);
        void (*exit)(struct platform_device *pdev, void *priv);
        void *bsp_priv;