@@ -1160,29 +1160,23 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11601160 return PTR_ERR (sci );
11611161 }
11621162
1163- if (!sci ) {
1164- dev_err (& pdev -> dev , "platform_data missing!\n" );
1165- return - ENODEV ;
1166- }
1163+ if (!sci )
1164+ return dev_err_probe (& pdev -> dev , - ENODEV ,
1165+ "Platform_data missing!\n" );
11671166
11681167 mem_res = platform_get_resource (pdev , IORESOURCE_MEM , 0 );
1169- if (mem_res == NULL ) {
1170- dev_err (& pdev -> dev , "Unable to get SPI MEM resource\n" );
1171- return - ENXIO ;
1172- }
1168+ if (!mem_res )
1169+ return dev_err_probe (& pdev -> dev , - ENXIO ,
1170+ "Unable to get SPI MEM resource\n" );
11731171
11741172 irq = platform_get_irq (pdev , 0 );
1175- if (irq < 0 ) {
1176- dev_warn (& pdev -> dev , "Failed to get IRQ: %d\n" , irq );
1177- return irq ;
1178- }
1173+ if (irq < 0 )
1174+ return dev_err_probe (& pdev -> dev , irq , "Failed to get IRQ\n" );
11791175
1180- master = spi_alloc_master (& pdev -> dev ,
1181- sizeof (struct s3c64xx_spi_driver_data ));
1182- if (master == NULL ) {
1183- dev_err (& pdev -> dev , "Unable to allocate SPI Master\n" );
1184- return - ENOMEM ;
1185- }
1176+ master = devm_spi_alloc_master (& pdev -> dev , sizeof (* sdd ));
1177+ if (!master )
1178+ return dev_err_probe (& pdev -> dev , - ENOMEM ,
1179+ "Unable to allocate SPI Master\n" );
11861180
11871181 platform_set_drvdata (pdev , master );
11881182
@@ -1194,11 +1188,9 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11941188 sdd -> sfr_start = mem_res -> start ;
11951189 if (pdev -> dev .of_node ) {
11961190 ret = of_alias_get_id (pdev -> dev .of_node , "spi" );
1197- if (ret < 0 ) {
1198- dev_err (& pdev -> dev , "failed to get alias id, errno %d\n" ,
1199- ret );
1200- goto err_deref_master ;
1201- }
1191+ if (ret < 0 )
1192+ return dev_err_probe (& pdev -> dev , ret ,
1193+ "Failed to get alias id\n" );
12021194 sdd -> port_id = ret ;
12031195 } else {
12041196 sdd -> port_id = pdev -> id ;
@@ -1232,41 +1224,31 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
12321224 master -> can_dma = s3c64xx_spi_can_dma ;
12331225
12341226 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- }
1227+ if (IS_ERR (sdd -> regs ))
1228+ return PTR_ERR (sdd -> regs );
12391229
1240- if (sci -> cfg_gpio && sci -> cfg_gpio ()) {
1241- dev_err (& pdev -> dev , "Unable to config gpio\n" );
1242- ret = - EBUSY ;
1243- goto err_deref_master ;
1244- }
1230+ if (sci -> cfg_gpio && sci -> cfg_gpio ())
1231+ return dev_err_probe (& pdev -> dev , - EBUSY ,
1232+ "Unable to config gpio\n" );
12451233
12461234 /* Setup clocks */
12471235 sdd -> clk = devm_clk_get_enabled (& pdev -> dev , "spi" );
1248- if (IS_ERR (sdd -> clk )) {
1249- dev_err (& pdev -> dev , "Unable to acquire clock 'spi'\n" );
1250- ret = PTR_ERR (sdd -> clk );
1251- goto err_deref_master ;
1252- }
1236+ if (IS_ERR (sdd -> clk ))
1237+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> clk ),
1238+ "Unable to acquire clock 'spi'\n" );
12531239
12541240 sprintf (clk_name , "spi_busclk%d" , sci -> src_clk_nr );
12551241 sdd -> src_clk = devm_clk_get_enabled (& pdev -> dev , clk_name );
1256- if (IS_ERR (sdd -> src_clk )) {
1257- dev_err (& pdev -> dev ,
1258- "Unable to acquire clock '%s'\n" , clk_name );
1259- ret = PTR_ERR (sdd -> src_clk );
1260- goto err_deref_master ;
1261- }
1242+ if (IS_ERR (sdd -> src_clk ))
1243+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> src_clk ),
1244+ "Unable to acquire clock '%s'\n" ,
1245+ clk_name );
12621246
12631247 if (sdd -> port_conf -> clk_ioclk ) {
12641248 sdd -> ioclk = devm_clk_get_enabled (& pdev -> dev , "spi_ioclk" );
1265- if (IS_ERR (sdd -> ioclk )) {
1266- dev_err (& pdev -> dev , "Unable to acquire 'ioclk'\n" );
1267- ret = PTR_ERR (sdd -> ioclk );
1268- goto err_deref_master ;
1269- }
1249+ if (IS_ERR (sdd -> ioclk ))
1250+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> ioclk ),
1251+ "Unable to acquire 'ioclk'\n" );
12701252 }
12711253
12721254 pm_runtime_set_autosuspend_delay (& pdev -> dev , AUTOSUSPEND_TIMEOUT );
@@ -1314,9 +1296,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
13141296 pm_runtime_disable (& pdev -> dev );
13151297 pm_runtime_set_suspended (& pdev -> dev );
13161298
1317- err_deref_master :
1318- spi_master_put (master );
1319-
13201299 return ret ;
13211300}
13221301
0 commit comments