hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/fpga/ice40-spi.c
....@@ -1,11 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * FPGA Manager Driver for Lattice iCE40.
34 *
45 * Copyright (c) 2016 Joel Holdsworth
5
- *
6
- * This program is free software; you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License as published by
8
- * the Free Software Foundation; version 2 of the License.
96 *
107 * This driver adds support to the FPGA manager for configuring the SRAM of
118 * Lattice iCE40 FPGAs through slave SPI.
....@@ -49,10 +46,16 @@
4946 struct spi_message message;
5047 struct spi_transfer assert_cs_then_reset_delay = {
5148 .cs_change = 1,
52
- .delay_usecs = ICE40_SPI_RESET_DELAY
49
+ .delay = {
50
+ .value = ICE40_SPI_RESET_DELAY,
51
+ .unit = SPI_DELAY_UNIT_USECS
52
+ }
5353 };
5454 struct spi_transfer housekeeping_delay_then_release_cs = {
55
- .delay_usecs = ICE40_SPI_HOUSEKEEPING_DELAY
55
+ .delay = {
56
+ .value = ICE40_SPI_HOUSEKEEPING_DELAY,
57
+ .unit = SPI_DELAY_UNIT_USECS
58
+ }
5659 };
5760 int ret;
5861
....@@ -175,18 +178,14 @@
175178 return ret;
176179 }
177180
178
- mgr = fpga_mgr_create(dev, "Lattice iCE40 FPGA Manager",
179
- &ice40_fpga_ops, priv);
181
+ mgr = devm_fpga_mgr_create(dev, "Lattice iCE40 FPGA Manager",
182
+ &ice40_fpga_ops, priv);
180183 if (!mgr)
181184 return -ENOMEM;
182185
183186 spi_set_drvdata(spi, mgr);
184187
185
- ret = fpga_mgr_register(mgr);
186
- if (ret)
187
- fpga_mgr_free(mgr);
188
-
189
- return ret;
188
+ return fpga_mgr_register(mgr);
190189 }
191190
192191 static int ice40_fpga_remove(struct spi_device *spi)