From b8c4ab5b69363b4be805a216dbee39110e4c44a9 Mon Sep 17 00:00:00 2001 From: Benjamin Valentin Date: Thu, 18 Jul 2019 15:19:55 +0200 Subject: [PATCH] cpu: make use of ARRAY_SIZE macro --- cpu/esp32/irq_arch.c | 2 +- cpu/esp32/periph/pwm.c | 4 ++-- cpu/esp8266/esp-wifi/esp_wifi_netdev.c | 2 +- cpu/esp8266/periph/i2c.c | 4 ++-- cpu/esp8266/periph/timer.c | 4 ++-- cpu/kinetis/dist/calc_spi_scalers/calc_spi_scalers.c | 4 ++-- cpu/kinetis/doc.txt | 8 ++++---- cpu/kinetis/periph/i2c.c | 4 ++-- cpu/samd21/periph/pwm.c | 2 +- cpu/stm32_common/dist/spi_divtable/spi_divtable.c | 4 ++-- cpu/stm32_common/periph/dma.c | 4 ++-- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/cpu/esp32/irq_arch.c b/cpu/esp32/irq_arch.c index 000328849b..12b2beabb9 100644 --- a/cpu/esp32/irq_arch.c +++ b/cpu/esp32/irq_arch.c @@ -129,7 +129,7 @@ static const struct _irq_alloc_table_t _irq_alloc_table[] = { typedef void (*intr_handler_t)(void *arg); -#define IRQ_ALLOC_TABLE_SIZE (sizeof(_irq_alloc_table)/sizeof(struct _irq_alloc_table_t)) +#define IRQ_ALLOC_TABLE_SIZE ARRAY_SIZE(_irq_alloc_table) #define ESP_INTR_FLAG_INTRDISABLED (1<<11) /** diff --git a/cpu/esp32/periph/pwm.c b/cpu/esp32/periph/pwm.c index 19053d9a3f..3bbe6a4e60 100644 --- a/cpu/esp32/periph/pwm.c +++ b/cpu/esp32/periph/pwm.c @@ -100,7 +100,7 @@ static const struct _pwm_hw_t _pwm_hw[] = .mod = PERIPH_PWM0_MODULE, .int_src = ETS_PWM0_INTR_SOURCE, .signal_group = PWM0_OUT0A_IDX, - .gpio_num = sizeof(pwm0_channels) / sizeof(pwm0_channels[0]), + .gpio_num = ARRAY_SIZE(pwm0_channels), .gpios = pwm0_channels, }, #endif @@ -110,7 +110,7 @@ static const struct _pwm_hw_t _pwm_hw[] = .mod = PERIPH_PWM1_MODULE, .int_src = ETS_PWM1_INTR_SOURCE, .signal_group = PWM1_OUT0A_IDX, - .gpio_num = sizeof(pwm1_channels) / sizeof(pwm1_channels[0]), + .gpio_num = ARRAY_SIZE(pwm1_channels), .gpios = pwm1_channels, }, #endif diff --git a/cpu/esp8266/esp-wifi/esp_wifi_netdev.c b/cpu/esp8266/esp-wifi/esp_wifi_netdev.c index b57bb2408c..ef616ac252 100644 --- a/cpu/esp8266/esp-wifi/esp_wifi_netdev.c +++ b/cpu/esp8266/esp-wifi/esp_wifi_netdev.c @@ -113,7 +113,7 @@ static const struct station_config station_cfg = { */ static const struct softap_config softap_cfg = { .ssid = ESP_WIFI_SSID, - .ssid_len = sizeof(ESP_WIFI_SSID) / sizeof(ESP_WIFI_SSID[0]), + .ssid_len = ARRAY_SIZE(ESP_WIFI_SSID), .ssid_hidden = 1, /* don't make the AP visible */ .password = ESP_WIFI_PASS, .authmode = AUTH_WPA2_PSK, diff --git a/cpu/esp8266/periph/i2c.c b/cpu/esp8266/periph/i2c.c index baded7e444..23421906d6 100644 --- a/cpu/esp8266/periph/i2c.c +++ b/cpu/esp8266/periph/i2c.c @@ -137,10 +137,10 @@ static void _i2c_clear (_i2c_bus_t* bus); /* implementation of i2c interface */ void i2c_init(i2c_t dev) { - if (I2C_NUMOF != sizeof(_i2c_bus)/sizeof(_i2c_bus_t)) { + if (I2C_NUMOF != ARRAY_SIZE(_i2c_bus)) { LOG_INFO("I2C_NUMOF does not match number of I2C_SDA_x/I2C_SCL_x definitions\n"); LOG_INFO("Please check your board configuration in 'board.h'\n"); - assert(I2C_NUMOF < sizeof(_i2c_bus)/sizeof(_i2c_bus_t)); + assert(I2C_NUMOF < ARRAY_SIZE(_i2c_bus)); return; } diff --git a/cpu/esp8266/periph/timer.c b/cpu/esp8266/periph/timer.c index 0d26ba8ada..967787b081 100644 --- a/cpu/esp8266/periph/timer.c +++ b/cpu/esp8266/periph/timer.c @@ -297,7 +297,7 @@ void timer_print_config(void) { for (int i = 0; i < HW_TIMER_NUMOF; i++) { LOG_INFO("\tTIMER_DEV(%d): %d channel(s)\n", i, - sizeof(timers[i].channels) / sizeof(struct hw_channel_t)); + ARRAY_SIZE(timers[i].channels)); } } @@ -562,7 +562,7 @@ void timer_print_config(void) { for (int i = 0; i < OS_TIMER_NUMOF; i++) { LOG_INFO("\tTIMER_DEV(%d): %d channel(s)\n", i, - sizeof(timers[i].channels) / sizeof(struct phy_channel_t)); + ARRAY_SIZE(timers[i].channels)); } } diff --git a/cpu/kinetis/dist/calc_spi_scalers/calc_spi_scalers.c b/cpu/kinetis/dist/calc_spi_scalers/calc_spi_scalers.c index 1d98e9017e..a2f1fdad81 100644 --- a/cpu/kinetis/dist/calc_spi_scalers/calc_spi_scalers.c +++ b/cpu/kinetis/dist/calc_spi_scalers/calc_spi_scalers.c @@ -195,7 +195,7 @@ int main(int argc, char **argv) puts("static const uint32_t spi_clk_config[] = {"); - for (i = 0; i < (sizeof(targets) / sizeof(targets[0])); i++) { + for (i = 0; i < ARRAY_SIZE(targets); i++) { uint8_t tmp, ptmp; long res; /* bus clock */ @@ -229,7 +229,7 @@ int main(int argc, char **argv) } printf(" SPI_CTAR_PDT(%i) | SPI_CTAR_DT(%i)\n", (int)ptmp, (int)tmp); - if (i == (sizeof(targets) / sizeof(targets[0])) - 1) { + if (i == ARRAY_SIZE(targets) - 1) { puts(" )"); } else { diff --git a/cpu/kinetis/doc.txt b/cpu/kinetis/doc.txt index 3292878679..0933d2d23c 100644 --- a/cpu/kinetis/doc.txt +++ b/cpu/kinetis/doc.txt @@ -22,7 +22,7 @@ { .dev = ADC0, .pin = GPIO_PIN(PORT_C, 1), .chan = 15 }, // PTC1 { .dev = ADC0, .pin = GPIO_PIN(PORT_C, 2), .chan = 4 }, // PTC2 }; - #define ADC_NUMOF (sizeof(adc_config) / sizeof(adc_config[0])) + #define ADC_NUMOF ARRAYSIZE(adc_config) @defgroup cpu_kinetis_cpuid Kinetis CPUID @@ -59,7 +59,7 @@ No configuration is necessary. .sda_pcr = (PORT_PCR_MUX(2) | PORT_PCR_ODE_MASK), }, }; - #define I2C_NUMOF (sizeof(i2c_config) / sizeof(i2c_config[0])) + #define I2C_NUMOF ARRAYSIZE(i2c_config) #define I2C_0_ISR (isr_i2c0) @@ -195,7 +195,7 @@ because of the additional overhead of calling gpio_set/clear at every transfer. .simmask = SIM_SCGC6_SPI1_MASK } }; - #define SPI_NUMOF (sizeof(spi_config) / sizeof(spi_config[0])) + #define SPI_NUMOF ARRAYSIZE(spi_config) @defgroup cpu_kinetis_timer Kinetis Timer @@ -281,6 +281,6 @@ available. .mode = UART_MODE_8N1, }, }; - #define UART_NUMOF (sizeof(uart_config) / sizeof(uart_config[0])) + #define UART_NUMOF ARRAYSIZE(uart_config) */ diff --git a/cpu/kinetis/periph/i2c.c b/cpu/kinetis/periph/i2c.c index defb9f4457..a2adaf1d60 100644 --- a/cpu/kinetis/periph/i2c.c +++ b/cpu/kinetis/periph/i2c.c @@ -129,7 +129,7 @@ static uint8_t i2c_find_divider(unsigned freq, unsigned speed) { unsigned diff = UINT_MAX; /* Use maximum divider if nothing matches */ - uint8_t F = sizeof(i2c_dividers) / sizeof(i2c_dividers[0]) - 1; + uint8_t F = ARRAY_SIZE(i2c_dividers) - 1; /* We avoid using the MULT field to simplify the driver and avoid having to * work around hardware errata on some Kinetis parts * @@ -151,7 +151,7 @@ static uint8_t i2c_find_divider(unsigned freq, unsigned speed) * the I2Cx_F [MULT] field to the original value after the repeated start * has occurred */ - for (unsigned k = 0; k < sizeof(i2c_dividers) / sizeof(i2c_dividers[0]); ++k) { + for (unsigned k = 0; k < ARRAY_SIZE(i2c_dividers); ++k) { /* Test dividers until we find one that gives a good match */ unsigned lim = (speed * i2c_dividers[k]); if (lim >= freq) { diff --git a/cpu/samd21/periph/pwm.c b/cpu/samd21/periph/pwm.c index 02434fddd1..ceaf7ec9f0 100644 --- a/cpu/samd21/periph/pwm.c +++ b/cpu/samd21/periph/pwm.c @@ -158,7 +158,7 @@ uint32_t pwm_init(pwm_t dev, pwm_mode_t mode, uint32_t freq, uint16_t res) uint8_t pwm_channels(pwm_t dev) { - return sizeof(pwm_config[dev].chan) / sizeof(pwm_config[dev].chan[0]); + return ARRAY_SIZE(pwm_config[dev].chan); } void pwm_set(pwm_t dev, uint8_t channel, uint16_t value) diff --git a/cpu/stm32_common/dist/spi_divtable/spi_divtable.c b/cpu/stm32_common/dist/spi_divtable/spi_divtable.c index 2086bc8706..6571bf92af 100644 --- a/cpu/stm32_common/dist/spi_divtable/spi_divtable.c +++ b/cpu/stm32_common/dist/spi_divtable/spi_divtable.c @@ -72,7 +72,7 @@ static int real_clk(int bus, int br) int main(int argc, char **argv) { - int tnum = sizeof(targets) / sizeof(targets[0]); + int tnum = ARRAY_SIZE(targets); int apb[2]; if (argc != 3) { @@ -90,7 +90,7 @@ int main(int argc, char **argv) printf("static const uint8_t spi_divtable[2][%i] = {\n", tnum); - for (int bus = 0; bus < (sizeof(apb) / sizeof(apb[0])); bus ++) { + for (int bus = 0; bus < ARRAY_SIZE(apb); bus ++) { printf(" { /* for APB%i @ %iHz */\n", (bus + 1), apb[bus]); for (int t = 0; t < tnum; t++) { int br = find_best(apb[bus], targets[t]); diff --git a/cpu/stm32_common/periph/dma.c b/cpu/stm32_common/periph/dma.c index 3bf3a05253..b73877c653 100644 --- a/cpu/stm32_common/periph/dma.c +++ b/cpu/stm32_common/periph/dma.c @@ -586,7 +586,7 @@ static void shared_isr(uint8_t *streams, size_t nb) void DMA_SHARED_ISR_0(void) { uint8_t streams[] = DMA_SHARED_ISR_0_STREAMS; - shared_isr(streams, sizeof(streams) / sizeof(streams[0])); + shared_isr(streams, ARRAY_SIZE(streams)); } #endif @@ -594,6 +594,6 @@ void DMA_SHARED_ISR_0(void) void DMA_SHARED_ISR_1(void) { uint8_t streams[] = DMA_SHARED_ISR_1_STREAMS; - shared_isr(streams, sizeof(streams) / sizeof(streams[0])); + shared_isr(streams, ARRAY_SIZE(streams)); } #endif