From 134d84401dc21b5b6f2e087291a0962bc94b4f5f Mon Sep 17 00:00:00 2001 From: LP-HAW Date: Wed, 5 Jun 2024 09:11:17 +0200 Subject: [PATCH 1/2] drivers/w5500: remove Kconfig --- drivers/w5500/Kconfig | 52 ----------------------------- tests/drivers/w5500/app.config.test | 2 -- 2 files changed, 54 deletions(-) delete mode 100644 drivers/w5500/Kconfig delete mode 100644 tests/drivers/w5500/app.config.test diff --git a/drivers/w5500/Kconfig b/drivers/w5500/Kconfig deleted file mode 100644 index da916efd4d..0000000000 --- a/drivers/w5500/Kconfig +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (C) 2023 Stefan Schmidt -# -# This file is subject to the terms and conditions of the GNU Lesser -# General Public License v2.1. See the file LICENSE in the top level -# directory for more details. -# - -menuconfig MODULE_W5500 - bool "W5500 Ethernet Adapter" - depends on HAS_PERIPH_GPIO - depends on HAS_PERIPH_GPIO_IRQ - depends on HAS_PERIPH_SPI - depends on TEST_KCONFIG - select MODULE_LUID - select MODULE_NETDEV_ETH - select MODULE_PERIPH_GPIO - select MODULE_PERIPH_GPIO_IRQ - select MODULE_PERIPH_SPI - -config HAVE_W5500 - bool - select MODULE_W5500 if MODULE_NETDEV_DEFAULT - help - Indicates that a w5500 ethernet adapter is present. - -if MODULE_W5500 - -config W5500_USE_POLLING - bool "Use driver in polling mode" - default y - -if W5500_USE_POLLING - -config W5500_POLLING_INTERVAL - int "Polling interval in ms" - default 100 - -#endif # W5500_USE_POLLING - -config W5500_MAC_FILTER - bool "Enable hardware MAC filter" - default n - -config W5500_BROADCAST_FILTER - bool "Enable hardware broadcast filter" - default n - -config W5500_MULTICAST_FILTER - bool "Enable hardware multicast filter" - default n - -endif # MODULE_W5500 diff --git a/tests/drivers/w5500/app.config.test b/tests/drivers/w5500/app.config.test deleted file mode 100644 index 545f8aebb7..0000000000 --- a/tests/drivers/w5500/app.config.test +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_MODULE_TEST_UTILS_NETDEV_ETH_MINIMAL=y -CONFIG_MODULE_W5500=y From 8ab2c795e52ea90af557ad3d95844b3a8079cd62 Mon Sep 17 00:00:00 2001 From: LP-HAW Date: Wed, 5 Jun 2024 09:18:40 +0200 Subject: [PATCH 2/2] drivers/w5500: enable polling in interrupt mode --- drivers/w5500/w5500.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/w5500/w5500.c b/drivers/w5500/w5500.c index 0c99ddf994..3f7ec6cd83 100644 --- a/drivers/w5500/w5500.c +++ b/drivers/w5500/w5500.c @@ -104,10 +104,8 @@ static void extint(void *arg) w5500_t *dev = (w5500_t *)arg; netdev_trigger_event_isr(&dev->netdev); - if (!gpio_is_valid(dev->p.irq)) { - /* restart timer if we are polling */ - ztimer_set(ZTIMER_MSEC, &dev->timerInstance, dev->p.polling_interval_ms); - } + + ztimer_set(ZTIMER_MSEC, &dev->timerInstance, dev->p.polling_interval_ms); } void w5500_setup(w5500_t *dev, const w5500_params_t *params, uint8_t index) @@ -181,12 +179,11 @@ static int init(netdev_t *netdev) write_register(dev, REG_SIPR2, 0x00); write_register(dev, REG_SIPR3, 0x00); - if (!gpio_is_valid(dev->p.irq)) { - dev->timerInstance.callback = extint; - dev->timerInstance.arg = dev; - ztimer_set(ZTIMER_MSEC, &dev->timerInstance, dev->p.polling_interval_ms); - } - else { + dev->timerInstance.callback = extint; + dev->timerInstance.arg = dev; + ztimer_set(ZTIMER_MSEC, &dev->timerInstance, dev->p.polling_interval_ms); + + if (gpio_is_valid(dev->p.irq)) { /* Configure interrupt pin to trigger on socket 0 events. */ write_register(dev, REG_SIMR, IMR_S0_INT); } @@ -419,10 +416,6 @@ static int get(netdev_t *netdev, netopt_t opt, void *value, size_t max_len) res = ETHERNET_ADDR_LEN; break; case NETOPT_LINK: - spi_acquire(dev->p.spi, dev->p.cs, SPI_CONF, dev->p.clk); - uint8_t tmp = read_register(dev, REG_PHYCFGR); - spi_release(dev->p.spi); - dev->link_up = ((tmp & PHY_LINK_UP) != 0u); *((netopt_enable_t *)value) = dev->link_up ? NETOPT_ENABLE : NETOPT_DISABLE; res = sizeof(netopt_enable_t);