summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Niedzwiecki <dn@semihalf.com>2021-11-24 09:51:31 +0100
committerCommit Bot <commit-bot@chromium.org>2021-11-29 22:04:38 +0000
commite744855f94f37388d4adb1f9a79077aca61ec71c (patch)
treea5bdaf261ec980b9c0d2d2837a94800386335145
parent1399d232a7a8d5b0978300bfb9d129a97a3e4124 (diff)
downloadchrome-ec-e744855f94f37388d4adb1f9a79077aca61ec71c.tar.gz
atomic: cast pointers to atomic_t* for atomic_* calls
Some atomic_* calls use pointers to different types of variables than atomic_t. Cast those to atomic_t* to avoid compilation errors. It shouldn't change the generated code. BUG=b:207082842 TEST=make buildall && zmake testall && build_compare.sh -b all BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I5d8e8eca7c5d7fe661c75bc75f82c49083c88be0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3300319 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
-rw-r--r--board/twinkie/sniffer.c4
-rw-r--r--chip/lm4/registers.h3
-rw-r--r--chip/stm32/usart_info_command.c4
-rw-r--r--chip/stm32/usart_rx_dma.c4
-rw-r--r--chip/stm32/usart_rx_interrupt-stm32f4.c2
-rw-r--r--chip/stm32/usart_rx_interrupt-stm32l.c4
-rw-r--r--chip/stm32/usart_rx_interrupt.c2
-rw-r--r--chip/stm32/usb.c2
-rw-r--r--chip/stm32/usb_hid_keyboard.c2
-rw-r--r--common/charge_manager.c4
-rw-r--r--common/keyboard_scan.c4
-rw-r--r--common/timer.c6
12 files changed, 21 insertions, 20 deletions
diff --git a/board/twinkie/sniffer.c b/board/twinkie/sniffer.c
index a567b5d725..7d2d8d439f 100644
--- a/board/twinkie/sniffer.c
+++ b/board/twinkie/sniffer.c
@@ -316,9 +316,9 @@ void sniffer_task(void)
+ (EP_PACKET_HEADER_SIZE>>1))),
samples[d >> 4]+off,
EP_PAYLOAD_SIZE);
- atomic_clear_bits((uint32_t *)&free_usb, 1 << u);
+ atomic_clear_bits((atomic_t *)&free_usb, 1 << u);
u = !u;
- atomic_clear_bits((uint32_t *)&filled_dma, 1 << d);
+ atomic_clear_bits((atomic_t *)&filled_dma, 1 << d);
}
led_reset_record();
diff --git a/chip/lm4/registers.h b/chip/lm4/registers.h
index 0c59da19f6..1065cd7f5e 100644
--- a/chip/lm4/registers.h
+++ b/chip/lm4/registers.h
@@ -8,6 +8,7 @@
#ifndef __CROS_EC_REGISTERS_H
#define __CROS_EC_REGISTERS_H
+#include "atomic.h"
#include "common.h"
#define LM4_UART_CH0_BASE 0x4000c000
@@ -265,7 +266,7 @@ static inline int lm4_fan_addr(int ch, int offset)
#define LM4_SYSTEM_SRI2C REG32(0x400fe520)
#define LM4_SYSTEM_SREEPROM REG32(0x400fe558)
-#define LM4_SYSTEM_SRI2C_ADDR ((uint32_t *)0x400fe520)
+#define LM4_SYSTEM_SRI2C_ADDR ((atomic_t *)0x400fe520)
#define LM4_SYSTEM_RCGC_BASE ((volatile uint32_t *)0x400fe600)
#define LM4_SYSTEM_RCGCGPIO REG32(0x400fe608)
diff --git a/chip/stm32/usart_info_command.c b/chip/stm32/usart_info_command.c
index 2649a97351..50d56aa2ba 100644
--- a/chip/stm32/usart_info_command.c
+++ b/chip/stm32/usart_info_command.c
@@ -25,8 +25,8 @@ static int command_usart_info(int argc, char **argv)
" dropped %d bytes\n"
" overran %d times\n",
config->hw->index + 1,
- atomic_clear((uint32_t *)&(config->state->rx_dropped)),
- atomic_clear((uint32_t *)&(config->state->rx_overrun)));
+ atomic_clear((atomic_t *)&(config->state->rx_dropped)),
+ atomic_clear((atomic_t *)&(config->state->rx_overrun)));
if (config->rx->info)
config->rx->info(config);
diff --git a/chip/stm32/usart_rx_dma.c b/chip/stm32/usart_rx_dma.c
index a185878261..13c63949dd 100644
--- a/chip/stm32/usart_rx_dma.c
+++ b/chip/stm32/usart_rx_dma.c
@@ -81,7 +81,7 @@ static void usart_rx_dma_interrupt_common(
/* (new_index == old_index): nothing to add to the queue. */
}
- atomic_add((uint32_t *)&(config->state->rx_dropped), new_bytes - added);
+ atomic_add((atomic_t *)&(config->state->rx_dropped), new_bytes - added);
if (dma_config->state->max_bytes < new_bytes)
dma_config->state->max_bytes = new_bytes;
@@ -115,5 +115,5 @@ void usart_rx_dma_info(struct usart_config const *config)
DOWNCAST(config->rx, struct usart_rx_dma const, usart_rx);
ccprintf(" DMA RX max_bytes %d\n",
- atomic_clear((uint32_t *)&dma_config->state->max_bytes));
+ atomic_clear((atomic_t *)&dma_config->state->max_bytes));
}
diff --git a/chip/stm32/usart_rx_interrupt-stm32f4.c b/chip/stm32/usart_rx_interrupt-stm32f4.c
index 198c6dd180..b796ae1175 100644
--- a/chip/stm32/usart_rx_interrupt-stm32f4.c
+++ b/chip/stm32/usart_rx_interrupt-stm32f4.c
@@ -33,7 +33,7 @@ static void usart_rx_interrupt_handler(struct usart_config const *config)
uint8_t byte = STM32_USART_RDR(base);
if (!queue_add_unit(config->producer.queue, &byte))
- atomic_add((uint32_t *)&(config->state->rx_dropped), 1);
+ atomic_add((atomic_t *)&(config->state->rx_dropped), 1);
}
}
diff --git a/chip/stm32/usart_rx_interrupt-stm32l.c b/chip/stm32/usart_rx_interrupt-stm32l.c
index 24ca7a0487..7c3f765f19 100644
--- a/chip/stm32/usart_rx_interrupt-stm32l.c
+++ b/chip/stm32/usart_rx_interrupt-stm32l.c
@@ -39,14 +39,14 @@ static void usart_rx_interrupt_handler(struct usart_config const *config)
if (!(status & STM32_USART_SR_RXNE))
(void)STM32_USART_RDR(config->hw->base);
- atomic_add((uint32_t *)&(config->state->rx_overrun), 1);
+ atomic_add((atomic_t *)&(config->state->rx_overrun), 1);
}
if (status & STM32_USART_SR_RXNE) {
uint8_t byte = STM32_USART_RDR(base);
if (!queue_add_unit(config->producer.queue, &byte))
- atomic_add((uint32_t *)&(config->state->rx_dropped), 1);
+ atomic_add((atomic_t *)&(config->state->rx_dropped), 1);
}
}
diff --git a/chip/stm32/usart_rx_interrupt.c b/chip/stm32/usart_rx_interrupt.c
index 3bc30d4aaf..49d4e83894 100644
--- a/chip/stm32/usart_rx_interrupt.c
+++ b/chip/stm32/usart_rx_interrupt.c
@@ -30,7 +30,7 @@ static void usart_rx_interrupt_handler(struct usart_config const *config)
uint8_t byte = STM32_USART_RDR(base);
if (!queue_add_unit(config->producer.queue, &byte))
- atomic_add((uint32_t *)&(config->state->rx_dropped), 1);
+ atomic_add((atomic_t *)&(config->state->rx_dropped), 1);
}
}
diff --git a/chip/stm32/usb.c b/chip/stm32/usb.c
index dde84efaea..a1f60e8906 100644
--- a/chip/stm32/usb.c
+++ b/chip/stm32/usb.c
@@ -578,7 +578,7 @@ void usb_wake(void)
}
/* Only allow one caller at a time. */
- if (!atomic_clear((int *)&usb_wake_done))
+ if (!atomic_clear((atomic_t *)&usb_wake_done))
return;
CPRINTF("WAKE\n");
diff --git a/chip/stm32/usb_hid_keyboard.c b/chip/stm32/usb_hid_keyboard.c
index ac4a9f5a1f..b4561d591f 100644
--- a/chip/stm32/usb_hid_keyboard.c
+++ b/chip/stm32/usb_hid_keyboard.c
@@ -397,7 +397,7 @@ static void write_keyboard_report(void)
return;
}
- if (atomic_clear((int *)&hid_ep_data_ready)) {
+ if (atomic_clear((atomic_t *)&hid_ep_data_ready)) {
/*
* Endpoint is not busy, and interrupt handler did not just
* send the buffer: enable TX.
diff --git a/common/charge_manager.c b/common/charge_manager.c
index 3d41c3a08d..041f41f1bc 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -1388,9 +1388,9 @@ void charge_manager_source_port(int port, int enable)
int p, rp;
if (enable)
- atomic_or((uint32_t *)&source_port_bitmap, 1 << port);
+ atomic_or((atomic_t *)&source_port_bitmap, 1 << port);
else
- atomic_clear_bits((uint32_t *)&source_port_bitmap, 1 << port);
+ atomic_clear_bits((atomic_t *)&source_port_bitmap, 1 << port);
/* No change, exit early. */
if (prev_bitmap == source_port_bitmap)
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c
index 071b441cfa..d192214f1e 100644
--- a/common/keyboard_scan.c
+++ b/common/keyboard_scan.c
@@ -140,9 +140,9 @@ void keyboard_scan_enable(int enable, enum kb_scan_disable_masks mask)
{
/* Access atomically */
if (enable) {
- atomic_clear_bits((uint32_t *)&disable_scanning_mask, mask);
+ atomic_clear_bits((atomic_t *)&disable_scanning_mask, mask);
} else {
- atomic_or((uint32_t *)&disable_scanning_mask, mask);
+ atomic_or((atomic_t *)&disable_scanning_mask, mask);
clear_typematic_key();
}
diff --git a/common/timer.c b/common/timer.c
index 0490741c4c..0cb0d97289 100644
--- a/common/timer.c
+++ b/common/timer.c
@@ -49,7 +49,7 @@ static int timer_irq;
static void expire_timer(task_id_t tskid)
{
/* we are done with this timer */
- atomic_clear_bits(&timer_running, 1 << tskid);
+ atomic_clear_bits((atomic_t *)&timer_running, 1 << tskid);
/* wake up the taks waiting for this timer */
task_set_event(tskid, TASK_EVENT_TIMER);
}
@@ -142,7 +142,7 @@ int timer_arm(timestamp_t event, task_id_t tskid)
return EC_ERROR_BUSY;
timer_deadline[tskid] = event;
- atomic_or(&timer_running, BIT(tskid));
+ atomic_or((atomic_t *)&timer_running, BIT(tskid));
/* Modify the next event if needed */
if ((event.le.hi < now.le.hi) ||
@@ -156,7 +156,7 @@ void timer_cancel(task_id_t tskid)
{
ASSERT(tskid < TASK_ID_COUNT);
- atomic_clear_bits(&timer_running, BIT(tskid));
+ atomic_clear_bits((atomic_t *)&timer_running, BIT(tskid));
/*
* Don't need to cancel the hardware timer interrupt, instead do
* timer-related housekeeping when the next timer interrupt fires.