27
27
#include <linux/io.h>
28
28
#include <linux/module.h>
29
29
#include <linux/of.h>
30
- #include <linux/phy/phy.h>
31
30
#include <linux/platform_device.h>
32
31
#include <linux/reset.h>
33
32
#include <linux/usb.h>
44
43
struct ehci_platform_priv {
45
44
struct clk * clks [EHCI_MAX_CLKS ];
46
45
struct reset_control * rsts ;
47
- struct phy * * phys ;
48
- int num_phys ;
49
46
bool reset_on_resume ;
50
47
};
51
48
@@ -80,32 +77,16 @@ static int ehci_platform_power_on(struct platform_device *dev)
80
77
{
81
78
struct usb_hcd * hcd = platform_get_drvdata (dev );
82
79
struct ehci_platform_priv * priv = hcd_to_ehci_priv (hcd );
83
- int clk , ret , phy_num ;
80
+ int clk , ret ;
84
81
85
82
for (clk = 0 ; clk < EHCI_MAX_CLKS && priv -> clks [clk ]; clk ++ ) {
86
83
ret = clk_prepare_enable (priv -> clks [clk ]);
87
84
if (ret )
88
85
goto err_disable_clks ;
89
86
}
90
87
91
- for (phy_num = 0 ; phy_num < priv -> num_phys ; phy_num ++ ) {
92
- ret = phy_init (priv -> phys [phy_num ]);
93
- if (ret )
94
- goto err_exit_phy ;
95
- ret = phy_power_on (priv -> phys [phy_num ]);
96
- if (ret ) {
97
- phy_exit (priv -> phys [phy_num ]);
98
- goto err_exit_phy ;
99
- }
100
- }
101
-
102
88
return 0 ;
103
89
104
- err_exit_phy :
105
- while (-- phy_num >= 0 ) {
106
- phy_power_off (priv -> phys [phy_num ]);
107
- phy_exit (priv -> phys [phy_num ]);
108
- }
109
90
err_disable_clks :
110
91
while (-- clk >= 0 )
111
92
clk_disable_unprepare (priv -> clks [clk ]);
@@ -117,12 +98,7 @@ static void ehci_platform_power_off(struct platform_device *dev)
117
98
{
118
99
struct usb_hcd * hcd = platform_get_drvdata (dev );
119
100
struct ehci_platform_priv * priv = hcd_to_ehci_priv (hcd );
120
- int clk , phy_num ;
121
-
122
- for (phy_num = 0 ; phy_num < priv -> num_phys ; phy_num ++ ) {
123
- phy_power_off (priv -> phys [phy_num ]);
124
- phy_exit (priv -> phys [phy_num ]);
125
- }
101
+ int clk ;
126
102
127
103
for (clk = EHCI_MAX_CLKS - 1 ; clk >= 0 ; clk -- )
128
104
if (priv -> clks [clk ])
@@ -149,7 +125,7 @@ static int ehci_platform_probe(struct platform_device *dev)
149
125
struct usb_ehci_pdata * pdata = dev_get_platdata (& dev -> dev );
150
126
struct ehci_platform_priv * priv ;
151
127
struct ehci_hcd * ehci ;
152
- int err , irq , phy_num , clk = 0 ;
128
+ int err , irq , clk = 0 ;
153
129
154
130
if (usb_disabled ())
155
131
return - ENODEV ;
@@ -202,29 +178,6 @@ static int ehci_platform_probe(struct platform_device *dev)
202
178
"has-transaction-translator" ))
203
179
hcd -> has_tt = 1 ;
204
180
205
- priv -> num_phys = of_count_phandle_with_args (dev -> dev .of_node ,
206
- "phys" , "#phy-cells" );
207
-
208
- if (priv -> num_phys > 0 ) {
209
- priv -> phys = devm_kcalloc (& dev -> dev , priv -> num_phys ,
210
- sizeof (struct phy * ), GFP_KERNEL );
211
- if (!priv -> phys )
212
- return - ENOMEM ;
213
- } else
214
- priv -> num_phys = 0 ;
215
-
216
- for (phy_num = 0 ; phy_num < priv -> num_phys ; phy_num ++ ) {
217
- priv -> phys [phy_num ] = devm_of_phy_get_by_index (
218
- & dev -> dev , dev -> dev .of_node , phy_num );
219
- if (IS_ERR (priv -> phys [phy_num ])) {
220
- err = PTR_ERR (priv -> phys [phy_num ]);
221
- goto err_put_hcd ;
222
- } else {
223
- /* Avoiding phy_get() in usb_add_hcd() */
224
- hcd -> skip_phy_initialization = 1 ;
225
- }
226
- }
227
-
228
181
for (clk = 0 ; clk < EHCI_MAX_CLKS ; clk ++ ) {
229
182
priv -> clks [clk ] = of_clk_get (dev -> dev .of_node , clk );
230
183
if (IS_ERR (priv -> clks [clk ])) {
@@ -306,7 +259,7 @@ static int ehci_platform_probe(struct platform_device *dev)
306
259
err_put_clks :
307
260
while (-- clk >= 0 )
308
261
clk_put (priv -> clks [clk ]);
309
- err_put_hcd :
262
+
310
263
if (pdata == & ehci_platform_defaults )
311
264
dev -> dev .platform_data = NULL ;
312
265
0 commit comments