@@ -1244,46 +1244,28 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1244
1244
}
1245
1245
1246
1246
/* Setup clocks */
1247
- sdd -> clk = devm_clk_get (& pdev -> dev , "spi" );
1247
+ sdd -> clk = devm_clk_get_enabled (& pdev -> dev , "spi" );
1248
1248
if (IS_ERR (sdd -> clk )) {
1249
1249
dev_err (& pdev -> dev , "Unable to acquire clock 'spi'\n" );
1250
1250
ret = PTR_ERR (sdd -> clk );
1251
1251
goto err_deref_master ;
1252
1252
}
1253
1253
1254
- ret = clk_prepare_enable (sdd -> clk );
1255
- if (ret ) {
1256
- dev_err (& pdev -> dev , "Couldn't enable clock 'spi'\n" );
1257
- goto err_deref_master ;
1258
- }
1259
-
1260
1254
sprintf (clk_name , "spi_busclk%d" , sci -> src_clk_nr );
1261
- sdd -> src_clk = devm_clk_get (& pdev -> dev , clk_name );
1255
+ sdd -> src_clk = devm_clk_get_enabled (& pdev -> dev , clk_name );
1262
1256
if (IS_ERR (sdd -> src_clk )) {
1263
1257
dev_err (& pdev -> dev ,
1264
1258
"Unable to acquire clock '%s'\n" , clk_name );
1265
1259
ret = PTR_ERR (sdd -> src_clk );
1266
- goto err_disable_clk ;
1267
- }
1268
-
1269
- ret = clk_prepare_enable (sdd -> src_clk );
1270
- if (ret ) {
1271
- dev_err (& pdev -> dev , "Couldn't enable clock '%s'\n" , clk_name );
1272
- goto err_disable_clk ;
1260
+ goto err_deref_master ;
1273
1261
}
1274
1262
1275
1263
if (sdd -> port_conf -> clk_ioclk ) {
1276
- sdd -> ioclk = devm_clk_get (& pdev -> dev , "spi_ioclk" );
1264
+ sdd -> ioclk = devm_clk_get_enabled (& pdev -> dev , "spi_ioclk" );
1277
1265
if (IS_ERR (sdd -> ioclk )) {
1278
1266
dev_err (& pdev -> dev , "Unable to acquire 'ioclk'\n" );
1279
1267
ret = PTR_ERR (sdd -> ioclk );
1280
- goto err_disable_src_clk ;
1281
- }
1282
-
1283
- ret = clk_prepare_enable (sdd -> ioclk );
1284
- if (ret ) {
1285
- dev_err (& pdev -> dev , "Couldn't enable clock 'ioclk'\n" );
1286
- goto err_disable_src_clk ;
1268
+ goto err_deref_master ;
1287
1269
}
1288
1270
}
1289
1271
@@ -1332,11 +1314,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1332
1314
pm_runtime_disable (& pdev -> dev );
1333
1315
pm_runtime_set_suspended (& pdev -> dev );
1334
1316
1335
- clk_disable_unprepare (sdd -> ioclk );
1336
- err_disable_src_clk :
1337
- clk_disable_unprepare (sdd -> src_clk );
1338
- err_disable_clk :
1339
- clk_disable_unprepare (sdd -> clk );
1340
1317
err_deref_master :
1341
1318
spi_master_put (master );
1342
1319
@@ -1357,12 +1334,6 @@ static void s3c64xx_spi_remove(struct platform_device *pdev)
1357
1334
dma_release_channel (sdd -> tx_dma .ch );
1358
1335
}
1359
1336
1360
- clk_disable_unprepare (sdd -> ioclk );
1361
-
1362
- clk_disable_unprepare (sdd -> src_clk );
1363
-
1364
- clk_disable_unprepare (sdd -> clk );
1365
-
1366
1337
pm_runtime_put_noidle (& pdev -> dev );
1367
1338
pm_runtime_disable (& pdev -> dev );
1368
1339
pm_runtime_set_suspended (& pdev -> dev );
0 commit comments