Skip to content

Commit 76fbad4

Browse files
Andi Shytibroonie
authored andcommitted
spi: s3c64xx: Use the managed spi master allocation function
Use devm_spi_alloc_master() and get rid of one goto error path Signed-off-by: Andi Shyti <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 8098a93 commit 76fbad4

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

drivers/spi/spi-s3c64xx.c

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,8 +1177,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11771177
return irq;
11781178
}
11791179

1180-
master = spi_alloc_master(&pdev->dev,
1181-
sizeof(struct s3c64xx_spi_driver_data));
1180+
master = devm_spi_alloc_master(&pdev->dev, sizeof(*sdd));
11821181
if (master == NULL) {
11831182
dev_err(&pdev->dev, "Unable to allocate SPI Master\n");
11841183
return -ENOMEM;
@@ -1197,7 +1196,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11971196
if (ret < 0) {
11981197
dev_err(&pdev->dev, "failed to get alias id, errno %d\n",
11991198
ret);
1200-
goto err_deref_master;
1199+
return ret;
12011200
}
12021201
sdd->port_id = ret;
12031202
} else {
@@ -1232,40 +1231,34 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
12321231
master->can_dma = s3c64xx_spi_can_dma;
12331232

12341233
sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res);
1235-
if (IS_ERR(sdd->regs)) {
1236-
ret = PTR_ERR(sdd->regs);
1237-
goto err_deref_master;
1238-
}
1234+
if (IS_ERR(sdd->regs))
1235+
return PTR_ERR(sdd->regs);
12391236

12401237
if (sci->cfg_gpio && sci->cfg_gpio()) {
12411238
dev_err(&pdev->dev, "Unable to config gpio\n");
1242-
ret = -EBUSY;
1243-
goto err_deref_master;
1239+
return -EBUSY;
12441240
}
12451241

12461242
/* Setup clocks */
12471243
sdd->clk = devm_clk_get_enabled(&pdev->dev, "spi");
12481244
if (IS_ERR(sdd->clk)) {
12491245
dev_err(&pdev->dev, "Unable to acquire clock 'spi'\n");
1250-
ret = PTR_ERR(sdd->clk);
1251-
goto err_deref_master;
1246+
return PTR_ERR(sdd->clk);
12521247
}
12531248

12541249
sprintf(clk_name, "spi_busclk%d", sci->src_clk_nr);
12551250
sdd->src_clk = devm_clk_get_enabled(&pdev->dev, clk_name);
12561251
if (IS_ERR(sdd->src_clk)) {
12571252
dev_err(&pdev->dev,
12581253
"Unable to acquire clock '%s'\n", clk_name);
1259-
ret = PTR_ERR(sdd->src_clk);
1260-
goto err_deref_master;
1254+
return PTR_ERR(sdd->src_clk);
12611255
}
12621256

12631257
if (sdd->port_conf->clk_ioclk) {
12641258
sdd->ioclk = devm_clk_get_enabled(&pdev->dev, "spi_ioclk");
12651259
if (IS_ERR(sdd->ioclk)) {
12661260
dev_err(&pdev->dev, "Unable to acquire 'ioclk'\n");
1267-
ret = PTR_ERR(sdd->ioclk);
1268-
goto err_deref_master;
1261+
return PTR_ERR(sdd->ioclk);
12691262
}
12701263
}
12711264

@@ -1314,9 +1307,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
13141307
pm_runtime_disable(&pdev->dev);
13151308
pm_runtime_set_suspended(&pdev->dev);
13161309

1317-
err_deref_master:
1318-
spi_master_put(master);
1319-
13201310
return ret;
13211311
}
13221312

0 commit comments

Comments
 (0)