Loading drivers/spi/spi-s3c64xx.c +30 −51 Original line number Diff line number Diff line Loading @@ -1160,29 +1160,23 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) return PTR_ERR(sci); } if (!sci) { dev_err(&pdev->dev, "platform_data missing!\n"); return -ENODEV; } if (!sci) return dev_err_probe(&pdev->dev, -ENODEV, "Platform_data missing!\n"); mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (mem_res == NULL) { dev_err(&pdev->dev, "Unable to get SPI MEM resource\n"); return -ENXIO; } if (!mem_res) return dev_err_probe(&pdev->dev, -ENXIO, "Unable to get SPI MEM resource\n"); irq = platform_get_irq(pdev, 0); if (irq < 0) { dev_warn(&pdev->dev, "Failed to get IRQ: %d\n", irq); return irq; } if (irq < 0) return dev_err_probe(&pdev->dev, irq, "Failed to get IRQ\n"); master = spi_alloc_master(&pdev->dev, sizeof(struct s3c64xx_spi_driver_data)); if (master == NULL) { dev_err(&pdev->dev, "Unable to allocate SPI Master\n"); return -ENOMEM; } master = devm_spi_alloc_master(&pdev->dev, sizeof(*sdd)); if (!master) return dev_err_probe(&pdev->dev, -ENOMEM, "Unable to allocate SPI Master\n"); platform_set_drvdata(pdev, master); Loading @@ -1194,11 +1188,9 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) sdd->sfr_start = mem_res->start; if (pdev->dev.of_node) { ret = of_alias_get_id(pdev->dev.of_node, "spi"); if (ret < 0) { dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); goto err_deref_master; } if (ret < 0) return dev_err_probe(&pdev->dev, ret, "Failed to get alias id\n"); sdd->port_id = ret; } else { sdd->port_id = pdev->id; Loading Loading @@ -1232,41 +1224,31 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) master->can_dma = s3c64xx_spi_can_dma; sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res); if (IS_ERR(sdd->regs)) { ret = PTR_ERR(sdd->regs); goto err_deref_master; } if (IS_ERR(sdd->regs)) return PTR_ERR(sdd->regs); if (sci->cfg_gpio && sci->cfg_gpio()) { dev_err(&pdev->dev, "Unable to config gpio\n"); ret = -EBUSY; goto err_deref_master; } if (sci->cfg_gpio && sci->cfg_gpio()) return dev_err_probe(&pdev->dev, -EBUSY, "Unable to config gpio\n"); /* Setup clocks */ sdd->clk = devm_clk_get_enabled(&pdev->dev, "spi"); if (IS_ERR(sdd->clk)) { dev_err(&pdev->dev, "Unable to acquire clock 'spi'\n"); ret = PTR_ERR(sdd->clk); goto err_deref_master; } if (IS_ERR(sdd->clk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->clk), "Unable to acquire clock 'spi'\n"); sprintf(clk_name, "spi_busclk%d", sci->src_clk_nr); sdd->src_clk = devm_clk_get_enabled(&pdev->dev, clk_name); if (IS_ERR(sdd->src_clk)) { dev_err(&pdev->dev, "Unable to acquire clock '%s'\n", clk_name); ret = PTR_ERR(sdd->src_clk); goto err_deref_master; } if (IS_ERR(sdd->src_clk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->src_clk), "Unable to acquire clock '%s'\n", clk_name); if (sdd->port_conf->clk_ioclk) { sdd->ioclk = devm_clk_get_enabled(&pdev->dev, "spi_ioclk"); if (IS_ERR(sdd->ioclk)) { dev_err(&pdev->dev, "Unable to acquire 'ioclk'\n"); ret = PTR_ERR(sdd->ioclk); goto err_deref_master; } if (IS_ERR(sdd->ioclk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->ioclk), "Unable to acquire 'ioclk'\n"); } pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT); Loading Loading @@ -1314,9 +1296,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); err_deref_master: spi_master_put(master); return ret; } Loading Loading
drivers/spi/spi-s3c64xx.c +30 −51 Original line number Diff line number Diff line Loading @@ -1160,29 +1160,23 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) return PTR_ERR(sci); } if (!sci) { dev_err(&pdev->dev, "platform_data missing!\n"); return -ENODEV; } if (!sci) return dev_err_probe(&pdev->dev, -ENODEV, "Platform_data missing!\n"); mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (mem_res == NULL) { dev_err(&pdev->dev, "Unable to get SPI MEM resource\n"); return -ENXIO; } if (!mem_res) return dev_err_probe(&pdev->dev, -ENXIO, "Unable to get SPI MEM resource\n"); irq = platform_get_irq(pdev, 0); if (irq < 0) { dev_warn(&pdev->dev, "Failed to get IRQ: %d\n", irq); return irq; } if (irq < 0) return dev_err_probe(&pdev->dev, irq, "Failed to get IRQ\n"); master = spi_alloc_master(&pdev->dev, sizeof(struct s3c64xx_spi_driver_data)); if (master == NULL) { dev_err(&pdev->dev, "Unable to allocate SPI Master\n"); return -ENOMEM; } master = devm_spi_alloc_master(&pdev->dev, sizeof(*sdd)); if (!master) return dev_err_probe(&pdev->dev, -ENOMEM, "Unable to allocate SPI Master\n"); platform_set_drvdata(pdev, master); Loading @@ -1194,11 +1188,9 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) sdd->sfr_start = mem_res->start; if (pdev->dev.of_node) { ret = of_alias_get_id(pdev->dev.of_node, "spi"); if (ret < 0) { dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); goto err_deref_master; } if (ret < 0) return dev_err_probe(&pdev->dev, ret, "Failed to get alias id\n"); sdd->port_id = ret; } else { sdd->port_id = pdev->id; Loading Loading @@ -1232,41 +1224,31 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) master->can_dma = s3c64xx_spi_can_dma; sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res); if (IS_ERR(sdd->regs)) { ret = PTR_ERR(sdd->regs); goto err_deref_master; } if (IS_ERR(sdd->regs)) return PTR_ERR(sdd->regs); if (sci->cfg_gpio && sci->cfg_gpio()) { dev_err(&pdev->dev, "Unable to config gpio\n"); ret = -EBUSY; goto err_deref_master; } if (sci->cfg_gpio && sci->cfg_gpio()) return dev_err_probe(&pdev->dev, -EBUSY, "Unable to config gpio\n"); /* Setup clocks */ sdd->clk = devm_clk_get_enabled(&pdev->dev, "spi"); if (IS_ERR(sdd->clk)) { dev_err(&pdev->dev, "Unable to acquire clock 'spi'\n"); ret = PTR_ERR(sdd->clk); goto err_deref_master; } if (IS_ERR(sdd->clk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->clk), "Unable to acquire clock 'spi'\n"); sprintf(clk_name, "spi_busclk%d", sci->src_clk_nr); sdd->src_clk = devm_clk_get_enabled(&pdev->dev, clk_name); if (IS_ERR(sdd->src_clk)) { dev_err(&pdev->dev, "Unable to acquire clock '%s'\n", clk_name); ret = PTR_ERR(sdd->src_clk); goto err_deref_master; } if (IS_ERR(sdd->src_clk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->src_clk), "Unable to acquire clock '%s'\n", clk_name); if (sdd->port_conf->clk_ioclk) { sdd->ioclk = devm_clk_get_enabled(&pdev->dev, "spi_ioclk"); if (IS_ERR(sdd->ioclk)) { dev_err(&pdev->dev, "Unable to acquire 'ioclk'\n"); ret = PTR_ERR(sdd->ioclk); goto err_deref_master; } if (IS_ERR(sdd->ioclk)) return dev_err_probe(&pdev->dev, PTR_ERR(sdd->ioclk), "Unable to acquire 'ioclk'\n"); } pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT); Loading Loading @@ -1314,9 +1296,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); err_deref_master: spi_master_put(master); return ret; } Loading