瀏覽代碼

usb: otg: mv_otg: remove unused clock

The origianl understanding of clock is wrong. The OTG controller
only have one clock input.
Passing clock name by pdata is wrong. The clock is defined by device
iteself.

Signed-off-by: Chao Xie <chao.xie@marvell.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Chao Xie 12 年之前
父節點
當前提交
df18fedae5
共有 2 個文件被更改,包括 8 次插入23 次删除
  1. 7 21
      drivers/usb/phy/phy-mv-usb.c
  2. 1 2
      drivers/usb/phy/phy-mv-usb.h

+ 7 - 21
drivers/usb/phy/phy-mv-usb.c

@@ -237,18 +237,12 @@ static void mv_otg_start_periphrals(struct mv_otg *mvotg, int on)
 
 
 static void otg_clock_enable(struct mv_otg *mvotg)
 static void otg_clock_enable(struct mv_otg *mvotg)
 {
 {
-	unsigned int i;
-
-	for (i = 0; i < mvotg->clknum; i++)
-		clk_prepare_enable(mvotg->clk[i]);
+	clk_prepare_enable(mvotg->clk);
 }
 }
 
 
 static void otg_clock_disable(struct mv_otg *mvotg)
 static void otg_clock_disable(struct mv_otg *mvotg)
 {
 {
-	unsigned int i;
-
-	for (i = 0; i < mvotg->clknum; i++)
-		clk_disable_unprepare(mvotg->clk[i]);
+	clk_disable_unprepare(mvotg->clk);
 }
 }
 
 
 static int mv_otg_enable_internal(struct mv_otg *mvotg)
 static int mv_otg_enable_internal(struct mv_otg *mvotg)
@@ -684,16 +678,14 @@ static int mv_otg_probe(struct platform_device *pdev)
 	struct mv_otg *mvotg;
 	struct mv_otg *mvotg;
 	struct usb_otg *otg;
 	struct usb_otg *otg;
 	struct resource *r;
 	struct resource *r;
-	int retval = 0, clk_i, i;
-	size_t size;
+	int retval = 0, i;
 
 
 	if (pdata == NULL) {
 	if (pdata == NULL) {
 		dev_err(&pdev->dev, "failed to get platform data\n");
 		dev_err(&pdev->dev, "failed to get platform data\n");
 		return -ENODEV;
 		return -ENODEV;
 	}
 	}
 
 
-	size = sizeof(*mvotg) + sizeof(struct clk *) * pdata->clknum;
-	mvotg = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+	mvotg = devm_kzalloc(&pdev->dev, sizeof(*mvotg), GFP_KERNEL);
 	if (!mvotg) {
 	if (!mvotg) {
 		dev_err(&pdev->dev, "failed to allocate memory!\n");
 		dev_err(&pdev->dev, "failed to allocate memory!\n");
 		return -ENOMEM;
 		return -ENOMEM;
@@ -708,15 +700,9 @@ static int mv_otg_probe(struct platform_device *pdev)
 	mvotg->pdev = pdev;
 	mvotg->pdev = pdev;
 	mvotg->pdata = pdata;
 	mvotg->pdata = pdata;
 
 
-	mvotg->clknum = pdata->clknum;
-	for (clk_i = 0; clk_i < mvotg->clknum; clk_i++) {
-		mvotg->clk[clk_i] = devm_clk_get(&pdev->dev,
-						pdata->clkname[clk_i]);
-		if (IS_ERR(mvotg->clk[clk_i])) {
-			retval = PTR_ERR(mvotg->clk[clk_i]);
-			return retval;
-		}
-	}
+	mvotg->clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(mvotg->clk))
+		return PTR_ERR(mvotg->clk);
 
 
 	mvotg->qwork = create_singlethread_workqueue("mv_otg_queue");
 	mvotg->qwork = create_singlethread_workqueue("mv_otg_queue");
 	if (!mvotg->qwork) {
 	if (!mvotg->qwork) {

+ 1 - 2
drivers/usb/phy/phy-mv-usb.h

@@ -158,8 +158,7 @@ struct mv_otg {
 
 
 	unsigned int active;
 	unsigned int active;
 	unsigned int clock_gating;
 	unsigned int clock_gating;
-	unsigned int clknum;
-	struct clk *clk[0];
+	struct clk *clk;
 };
 };
 
 
 #endif
 #endif