From 04a0cf7d79f2f7fef63b6754b6da1bd85becb3fd Mon Sep 17 00:00:00 2001 From: Daniel Leung Date: Tue, 10 Oct 2023 14:02:01 -0700 Subject: [PATCH] kernel: deprecate K_THREAD_STACK_MEMBER The macro K_THREAD_STACK_MEMBER has actually been deprecated since v2.4.0 in the macro doxygen description, but it was never marked with __DEPRECATED_MACRO. Since this was being used in various drivers, make it follow the deprecation process. Signed-off-by: Daniel Leung --- doc/kernel/usermode/mpu_stack_objects.rst | 3 +-- drivers/adc/adc_ads1x1x.c | 2 +- drivers/adc/adc_b91.c | 2 +- drivers/adc/adc_max1125x.c | 2 +- drivers/ethernet/eth_w5500_priv.h | 2 +- drivers/sensor/fdc2x1x/fdc2x1x.h | 2 +- drivers/sensor/sm351lt/sm351lt.h | 2 +- drivers/sensor/tmag5170/tmag5170.h | 2 +- drivers/sensor/tsl2540/tsl2540.h | 2 +- drivers/sensor/vcnl4040/vcnl4040.h | 2 +- include/zephyr/kernel/thread_stack.h | 6 +++--- 11 files changed, 13 insertions(+), 14 deletions(-) diff --git a/doc/kernel/usermode/mpu_stack_objects.rst b/doc/kernel/usermode/mpu_stack_objects.rst index 944be144ada..477a4596757 100644 --- a/doc/kernel/usermode/mpu_stack_objects.rst +++ b/doc/kernel/usermode/mpu_stack_objects.rst @@ -6,8 +6,7 @@ MPU Stack Objects Thread Stack Creation ********************* -Thread stacks are declared statically with :c:macro:`K_THREAD_STACK_DEFINE()` -or embedded within structures using :c:macro:`K_THREAD_STACK_MEMBER()` +Thread stacks are declared statically with :c:macro:`K_THREAD_STACK_DEFINE()`. For architectures which utilize memory protection unit (MPU) hardware, stacks are physically contiguous allocations. This contiguous allocation diff --git a/drivers/adc/adc_ads1x1x.c b/drivers/adc/adc_ads1x1x.c index 5549c7a83a0..a448eb6bf72 100644 --- a/drivers/adc/adc_ads1x1x.c +++ b/drivers/adc/adc_ads1x1x.c @@ -140,7 +140,7 @@ struct ads1x1x_data { struct k_thread thread; bool differential; - K_THREAD_STACK_MEMBER(stack, CONFIG_ADC_ADS1X1X_ACQUISITION_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(stack, CONFIG_ADC_ADS1X1X_ACQUISITION_THREAD_STACK_SIZE); }; static int ads1x1x_read_reg(const struct device *dev, enum ads1x1x_reg reg_addr, uint16_t *buf) diff --git a/drivers/adc/adc_b91.c b/drivers/adc/adc_b91.c index 6779665c459..4b1d4abba26 100644 --- a/drivers/adc/adc_b91.c +++ b/drivers/adc/adc_b91.c @@ -35,7 +35,7 @@ struct b91_adc_data { struct k_sem acq_sem; struct k_thread thread; - K_THREAD_STACK_MEMBER(stack, CONFIG_ADC_B91_ACQUISITION_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(stack, CONFIG_ADC_B91_ACQUISITION_THREAD_STACK_SIZE); }; struct b91_adc_cfg { diff --git a/drivers/adc/adc_max1125x.c b/drivers/adc/adc_max1125x.c index 82a85d2af1c..7a9bf0ed026 100644 --- a/drivers/adc/adc_max1125x.c +++ b/drivers/adc/adc_max1125x.c @@ -226,7 +226,7 @@ struct max1125x_data { struct k_thread thread; bool differential; - K_THREAD_STACK_MEMBER(stack, CONFIG_ADC_MAX1125X_ACQUISITION_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(stack, CONFIG_ADC_MAX1125X_ACQUISITION_THREAD_STACK_SIZE); }; static void max1125x_data_ready_handler(const struct device *dev, struct gpio_callback *gpio_cb, diff --git a/drivers/ethernet/eth_w5500_priv.h b/drivers/ethernet/eth_w5500_priv.h index aed1fe4adfa..5367300d5ef 100644 --- a/drivers/ethernet/eth_w5500_priv.h +++ b/drivers/ethernet/eth_w5500_priv.h @@ -90,7 +90,7 @@ struct w5500_config { struct w5500_runtime { struct net_if *iface; - K_THREAD_STACK_MEMBER(thread_stack, + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_ETH_W5500_RX_THREAD_STACK_SIZE); struct k_thread thread; uint8_t mac_addr[6]; diff --git a/drivers/sensor/fdc2x1x/fdc2x1x.h b/drivers/sensor/fdc2x1x/fdc2x1x.h index 33b94168d67..7442de37631 100644 --- a/drivers/sensor/fdc2x1x/fdc2x1x.h +++ b/drivers/sensor/fdc2x1x/fdc2x1x.h @@ -159,7 +159,7 @@ struct fdc2x1x_data { const struct device *dev; #ifdef CONFIG_FDC2X1X_TRIGGER_OWN_THREAD - K_THREAD_STACK_MEMBER(thread_stack, CONFIG_FDC2X1X_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_FDC2X1X_THREAD_STACK_SIZE); struct k_sem gpio_sem; struct k_thread thread; #elif CONFIG_FDC2X1X_TRIGGER_GLOBAL_THREAD diff --git a/drivers/sensor/sm351lt/sm351lt.h b/drivers/sensor/sm351lt/sm351lt.h index 78b5aa01725..6e1edf67931 100644 --- a/drivers/sensor/sm351lt/sm351lt.h +++ b/drivers/sensor/sm351lt/sm351lt.h @@ -30,7 +30,7 @@ struct sm351lt_data { const struct sensor_trigger *changed_trigger; #if defined(CONFIG_SM351LT_TRIGGER_OWN_THREAD) - K_THREAD_STACK_MEMBER(thread_stack, CONFIG_SM351LT_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_SM351LT_THREAD_STACK_SIZE); struct k_thread thread; struct k_sem gpio_sem; #elif defined(CONFIG_SM351LT_TRIGGER_GLOBAL_THREAD) diff --git a/drivers/sensor/tmag5170/tmag5170.h b/drivers/sensor/tmag5170/tmag5170.h index 91778e81c56..28f76d2e12b 100644 --- a/drivers/sensor/tmag5170/tmag5170.h +++ b/drivers/sensor/tmag5170/tmag5170.h @@ -48,7 +48,7 @@ struct tmag5170_data { struct k_sem sem; struct k_thread thread; - K_THREAD_STACK_MEMBER(thread_stack, + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_TMAG5170_THREAD_STACK_SIZE); #elif defined(CONFIG_TMAG5170_TRIGGER_GLOBAL_THREAD) struct k_work work; diff --git a/drivers/sensor/tsl2540/tsl2540.h b/drivers/sensor/tsl2540/tsl2540.h index 36822f82da2..7cabaaeb519 100644 --- a/drivers/sensor/tsl2540/tsl2540.h +++ b/drivers/sensor/tsl2540/tsl2540.h @@ -91,7 +91,7 @@ struct tsl2540_data { sensor_trigger_handler_t als_handler; #endif #ifdef CONFIG_TSL2540_TRIGGER_OWN_THREAD - K_THREAD_STACK_MEMBER(thread_stack, CONFIG_TSL2540_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_TSL2540_THREAD_STACK_SIZE); struct k_thread thread; struct k_sem trig_sem; #endif diff --git a/drivers/sensor/vcnl4040/vcnl4040.h b/drivers/sensor/vcnl4040/vcnl4040.h index 755d9de31af..1341375f71b 100644 --- a/drivers/sensor/vcnl4040/vcnl4040.h +++ b/drivers/sensor/vcnl4040/vcnl4040.h @@ -118,7 +118,7 @@ struct vcnl4040_data { const struct sensor_trigger *als_trigger; #endif #ifdef CONFIG_VCNL4040_TRIGGER_OWN_THREAD - K_THREAD_STACK_MEMBER(thread_stack, CONFIG_VCNL4040_THREAD_STACK_SIZE); + K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_VCNL4040_THREAD_STACK_SIZE); struct k_thread thread; struct k_sem trig_sem; #endif diff --git a/include/zephyr/kernel/thread_stack.h b/include/zephyr/kernel/thread_stack.h index 2ecfcb3aeac..133f055c08f 100644 --- a/include/zephyr/kernel/thread_stack.h +++ b/include/zephyr/kernel/thread_stack.h @@ -625,13 +625,13 @@ static inline char *Z_KERNEL_STACK_BUFFER(k_thread_stack_t *sym) * A user thread can only be started with a stack defined in this way if * the thread starting it is in supervisor mode. * - * This is now deprecated, as stacks defined in this way are not usable from - * user mode. Use K_KERNEL_STACK_MEMBER. + * @deprecated This is now deprecated, as stacks defined in this way are not + * usable from user mode. Use K_KERNEL_STACK_MEMBER. * * @param sym Thread stack symbol name * @param size Size of the stack memory region */ -#define K_THREAD_STACK_MEMBER(sym, size) \ +#define K_THREAD_STACK_MEMBER(sym, size) __DEPRECATED_MACRO \ Z_THREAD_STACK_DEFINE_IN(sym, size,) /** @} */