hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/fpga/machxo2-spi.c
....@@ -157,7 +157,8 @@
157157 spi_message_init(&msg);
158158 tx[1].tx_buf = &refresh;
159159 tx[1].len = sizeof(refresh);
160
- tx[1].delay_usecs = MACHXO2_REFRESH_USEC;
160
+ tx[1].delay.value = MACHXO2_REFRESH_USEC;
161
+ tx[1].delay.unit = SPI_DELAY_UNIT_USECS;
161162 spi_message_add_tail(&tx[1], &msg);
162163 ret = spi_sync(spi, &msg);
163164 if (ret)
....@@ -208,7 +209,8 @@
208209 spi_message_init(&msg);
209210 tx[0].tx_buf = &enable;
210211 tx[0].len = sizeof(enable);
211
- tx[0].delay_usecs = MACHXO2_LOW_DELAY_USEC;
212
+ tx[0].delay.value = MACHXO2_LOW_DELAY_USEC;
213
+ tx[0].delay.unit = SPI_DELAY_UNIT_USECS;
212214 spi_message_add_tail(&tx[0], &msg);
213215
214216 tx[1].tx_buf = &erase;
....@@ -271,7 +273,8 @@
271273 spi_message_init(&msg);
272274 tx.tx_buf = payload;
273275 tx.len = MACHXO2_BUF_SIZE;
274
- tx.delay_usecs = MACHXO2_HIGH_DELAY_USEC;
276
+ tx.delay.value = MACHXO2_HIGH_DELAY_USEC;
277
+ tx.delay.unit = SPI_DELAY_UNIT_USECS;
275278 spi_message_add_tail(&tx, &msg);
276279 ret = spi_sync(spi, &msg);
277280 if (ret) {
....@@ -320,7 +323,8 @@
320323 spi_message_init(&msg);
321324 tx[1].tx_buf = &refresh;
322325 tx[1].len = sizeof(refresh);
323
- tx[1].delay_usecs = MACHXO2_REFRESH_USEC;
326
+ tx[1].delay.value = MACHXO2_REFRESH_USEC;
327
+ tx[1].delay.unit = SPI_DELAY_UNIT_USECS;
324328 spi_message_add_tail(&tx[1], &msg);
325329 ret = spi_sync(spi, &msg);
326330 if (ret)
....@@ -360,25 +364,20 @@
360364 {
361365 struct device *dev = &spi->dev;
362366 struct fpga_manager *mgr;
363
- int ret;
364367
365368 if (spi->max_speed_hz > MACHXO2_MAX_SPEED) {
366369 dev_err(dev, "Speed is too high\n");
367370 return -EINVAL;
368371 }
369372
370
- mgr = fpga_mgr_create(dev, "Lattice MachXO2 SPI FPGA Manager",
371
- &machxo2_ops, spi);
373
+ mgr = devm_fpga_mgr_create(dev, "Lattice MachXO2 SPI FPGA Manager",
374
+ &machxo2_ops, spi);
372375 if (!mgr)
373376 return -ENOMEM;
374377
375378 spi_set_drvdata(spi, mgr);
376379
377
- ret = fpga_mgr_register(mgr);
378
- if (ret)
379
- fpga_mgr_free(mgr);
380
-
381
- return ret;
380
+ return fpga_mgr_register(mgr);
382381 }
383382
384383 static int machxo2_spi_remove(struct spi_device *spi)