@@ -359,25 +359,16 @@ smsc911x_rx_readfifo_shift(struct smsc911x_data *pdata, unsigned int *buf,
}
/*
- * enable regulator and clock resources.
- */
-static int smsc911x_enable_resources(struct platform_device *pdev)
-{
- static const char *const supplies[] = { "vdd33a", "vddvario" };
-
- return devm_regulator_bulk_get_enable(&pdev->dev, ARRAY_SIZE(supplies),
- supplies);
-}
-
-/*
- * Request resources, currently just regulators.
+ * Request and enable resources.
*
* The SMSC911x has two power pins: vddvario and vdd33a, in designs where
* these are not always-on we need to request regulators to be turned on
* before we can try to access the device registers.
*/
+
static int smsc911x_request_resources(struct platform_device *pdev)
{
+ static const char *const supplies[] = { "vdd33a", "vddvario" };
struct net_device *ndev = platform_get_drvdata(pdev);
struct smsc911x_data *pdata = netdev_priv(ndev);
struct clk *clk;
@@ -393,7 +384,8 @@ static int smsc911x_request_resources(struct platform_device *pdev)
return dev_err_probe(&pdev->dev, PTR_ERR(clk),
"couldn't get clock");
- return 0;
+ return devm_regulator_bulk_get_enable(&pdev->dev, ARRAY_SIZE(supplies),
+ supplies);
}
/* waits for MAC not busy, with timeout. Only called by smsc911x_mac_read
@@ -2330,10 +2322,6 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
if (retval)
return retval;
- retval = smsc911x_enable_resources(pdev);
- if (retval)
- return retval;
-
retval = smsc911x_probe_config(&pdata->config, &pdev->dev);
if (retval && config) {
/* copy config parameters across to pdata */
With devm cleanups, only one function makes sense to have here. Signed-off-by: Rosen Penev <rosenp@gmail.com> --- drivers/net/ethernet/smsc/smsc911x.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-)