diff options
Diffstat (limited to 'libhw/w5500_ll.h')
-rw-r--r-- | libhw/w5500_ll.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/libhw/w5500_ll.h b/libhw/w5500_ll.h index 25aa6b5..92d9f14 100644 --- a/libhw/w5500_ll.h +++ b/libhw/w5500_ll.h @@ -3,7 +3,7 @@ * Based entirely on the W5500 datasheet, v1.1.0. * https://docs.wiznet.io/img/products/w5500/W5500_ds_v110e.pdf * - * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> + * Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com> * SPDX-License-Identifier: AGPL-3.0-or-later */ @@ -15,10 +15,9 @@ #include <libmisc/assert.h> /* for assert(), static_assert() */ #include <libmisc/endian.h> /* for uint16be_t */ -#include <libmisc/vcall.h> /* for VCALL() */ #include <libhw/generic/net.h> /* for struct net_eth_addr, struct net_ip4_addr */ -#include <libhw/generic/spi.h> /* for implements_spi */ +#include <libhw/generic/spi.h> /* for lo_interface spi */ /* Config *********************************************************************/ @@ -74,8 +73,8 @@ _w5500ll_write(const char *func, #else w5500ll_write( #endif - implements_spi *spidev, uint16_t addr, uint8_t block, void *data, size_t data_len) { - assert(spidev); + lo_interface spi spidev, uint16_t addr, uint8_t block, void *data, size_t data_len) { + assert(!LO_IS_NULL(spidev)); assert((block & ~CTL_MASK_BLOCK) == 0); assert(data); assert(data_len); @@ -94,7 +93,7 @@ w5500ll_write( {.iov_read_dst = NULL, .iov_write_src = header, .iov_len = sizeof(header)}, {.iov_read_dst = NULL, .iov_write_src = data, .iov_len = data_len}, }; - VCALL(spidev, readwritev, iov, 2); + LO_CALL(spidev, readwritev, iov, 2); } static inline void @@ -104,8 +103,8 @@ _w5500ll_read(const char *func, #else w5500ll_read( #endif - implements_spi *spidev, uint16_t addr, uint8_t block, void *data, size_t data_len) { - assert(spidev); + lo_interface spi spidev, uint16_t addr, uint8_t block, void *data, size_t data_len) { + assert(!LO_IS_NULL(spidev)); assert((block & ~CTL_MASK_BLOCK) == 0); assert(data); assert(data_len); @@ -124,7 +123,7 @@ w5500ll_read( {.iov_read_dst = NULL, .iov_write_src = header, .iov_len = sizeof(header)}, {.iov_read_dst = data, .iov_write_src = NULL, .iov_len = data_len}, }; - VCALL(spidev, readwritev, iov, 2); + LO_CALL(spidev, readwritev, iov, 2); } /* Common chip-wide registers. ***********************************************/ |