diff options
Diffstat (limited to 'drivers/fpga/machxo2-spi.c')
| -rw-r--r-- | drivers/fpga/machxo2-spi.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/fpga/machxo2-spi.c b/drivers/fpga/machxo2-spi.c index a582e0000c97..4d8a87641587 100644 --- a/drivers/fpga/machxo2-spi.c +++ b/drivers/fpga/machxo2-spi.c | |||
| @@ -356,25 +356,20 @@ static int machxo2_spi_probe(struct spi_device *spi) | |||
| 356 | { | 356 | { |
| 357 | struct device *dev = &spi->dev; | 357 | struct device *dev = &spi->dev; |
| 358 | struct fpga_manager *mgr; | 358 | struct fpga_manager *mgr; |
| 359 | int ret; | ||
| 360 | 359 | ||
| 361 | if (spi->max_speed_hz > MACHXO2_MAX_SPEED) { | 360 | if (spi->max_speed_hz > MACHXO2_MAX_SPEED) { |
| 362 | dev_err(dev, "Speed is too high\n"); | 361 | dev_err(dev, "Speed is too high\n"); |
| 363 | return -EINVAL; | 362 | return -EINVAL; |
| 364 | } | 363 | } |
| 365 | 364 | ||
| 366 | mgr = fpga_mgr_create(dev, "Lattice MachXO2 SPI FPGA Manager", | 365 | mgr = devm_fpga_mgr_create(dev, "Lattice MachXO2 SPI FPGA Manager", |
| 367 | &machxo2_ops, spi); | 366 | &machxo2_ops, spi); |
| 368 | if (!mgr) | 367 | if (!mgr) |
| 369 | return -ENOMEM; | 368 | return -ENOMEM; |
| 370 | 369 | ||
| 371 | spi_set_drvdata(spi, mgr); | 370 | spi_set_drvdata(spi, mgr); |
| 372 | 371 | ||
| 373 | ret = fpga_mgr_register(mgr); | 372 | return fpga_mgr_register(mgr); |
| 374 | if (ret) | ||
| 375 | fpga_mgr_free(mgr); | ||
| 376 | |||
| 377 | return ret; | ||
| 378 | } | 373 | } |
| 379 | 374 | ||
| 380 | static int machxo2_spi_remove(struct spi_device *spi) | 375 | static int machxo2_spi_remove(struct spi_device *spi) |
