Skip to content

Commit e641fd4

Browse files
committed
Merge pull request #1547 from Parthasarathy/master
Fixed GCC Compiler warnings
2 parents 20948ad + a8e52a9 commit e641fd4

File tree

23 files changed

+96
-101
lines changed

23 files changed

+96
-101
lines changed

libraries/mbed/targets/cmsis/TARGET_Atmel/TARGET_SAM_CortexM0P/utils/compiler.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -139,13 +139,14 @@
139139
#endif
140140

141141
/* Define WEAK attribute */
142-
#if defined ( __CC_ARM )
143-
# define WEAK __attribute__ ((weak))
144-
#elif defined ( __ICCARM__ )
145-
# define WEAK __weak
146-
#elif defined ( __GNUC__ )
147-
# define WEAK __attribute__ ((weak))
148-
#endif
142+
//defined in toochain.h
143+
//#if defined ( __CC_ARM )
144+
//# define WEAK __attribute__ ((weak))
145+
//#elif defined ( __ICCARM__ )
146+
//# define WEAK __weak
147+
//#elif defined ( __GNUC__ )
148+
//# define WEAK __attribute__ ((weak))
149+
//#endif
149150

150151
/* Define NO_INIT attribute */
151152
#if defined ( __CC_ARM )

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMR21G18A/PeripheralPins.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ const struct pwm_pin_channel pwn_pins[] = {
218218
{PB31, PWM_0, 1},
219219

220220
/* Not connected */
221-
{NC , NC , NC}
221+
{(PinName) NC ,(PWMName) NC ,(uint8_t) NC}
222222
};
223223

224224

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMR21G18A/SAMR21_XPLAINED_PRO/mbed_overrides.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "compiler.h"
1818
#include "system.h"
1919

20+
2021
uint8_t g_sys_init = 0;
2122

2223
//called before main - implement here if board needs it ortherwise, let

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/analogin_api.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,10 @@ void analogin_init(analogin_t *obj, PinName pin)
192192
static uint8_t init_flag = 0;
193193

194194
pos_input = pinmap_find_peripheral(pin, PinMap_ADC);
195-
MBED_ASSERT(pos_input != NC);
195+
MBED_ASSERT(pos_input != (uint32_t)NC);
196196

197197
adc_get_config_defaults(&(obj->config_adc));
198-
obj->config_adc.positive_input = pos_input;
198+
obj->config_adc.positive_input = (enum adc_positive_input)pos_input;
199199
if (init_flag == 0) { // ADC init and enable to be done only once.
200200
adc_init(&adc_instance, ADC, &(obj->config_adc));
201201
adc_enable(&adc_instance);

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/dma_api.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ static void dma_handler(const struct dma_resource* const resource)
8383
return;
8484
}
8585

86-
callback_func = dma_channels[channel_index].handler;
86+
callback_func = (void(*)(void))(dma_channels[channel_index].handler);
8787
if (callback_func) {
8888
callback_func();
8989
}
@@ -268,7 +268,6 @@ bool dma_start_transfer(int channelid)
268268
*/
269269
bool dma_busy(int channelid)
270270
{
271-
int res = 0;
272271
/* Sanity check arguments */
273272
MBED_ASSERT(channelid < CONF_MAX_USED_CHANNEL_NUM);
274273

@@ -278,7 +277,8 @@ bool dma_busy(int channelid)
278277

279278
if (channel_index >= CONF_MAX_USED_CHANNEL_NUM) {
280279
/* This channel is not active! return zero for now */
281-
res = 0;
280+
//res = 0;
281+
return 0;
282282
}
283283

284284
return dma_is_busy(&dma_channels[channel_index].resource);
@@ -292,7 +292,6 @@ bool dma_busy(int channelid)
292292
*/
293293
bool dma_is_transfer_complete(int channelid)
294294
{
295-
int res = 0;
296295
/* Sanity check arguments */
297296
MBED_ASSERT(channelid < CONF_MAX_USED_CHANNEL_NUM);
298297

@@ -302,7 +301,8 @@ bool dma_is_transfer_complete(int channelid)
302301

303302
if (channel_index >= CONF_MAX_USED_CHANNEL_NUM) {
304303
/* This channel is not active! return zero for now */
305-
res = 0;
304+
// res = 0;
305+
return 0;
306306
}
307307

308308
return (STATUS_OK == dma_get_job_status(&dma_channels[channel_index].resource));
@@ -332,10 +332,10 @@ void dma_set_handler(int channelid, uint32_t handler, uint32_t event)
332332

333333
dma_channels[channel_index].handler = handler;
334334
if (event & DMA_TRANSFER_ERROR) {
335-
dma_register_callback(&dma_channels[channel_index].resource, dma_handler, DMA_CALLBACK_TRANSFER_ERROR);
335+
dma_register_callback(&dma_channels[channel_index].resource, (dma_callback_t)dma_handler, DMA_CALLBACK_TRANSFER_ERROR);
336336
}
337337
if (event & DMA_TRANSFER_COMPLETE) {
338-
dma_register_callback(&dma_channels[channel_index].resource, dma_handler, DMA_CALLBACK_TRANSFER_DONE);
338+
dma_register_callback(&dma_channels[channel_index].resource, (dma_callback_t)dma_handler, DMA_CALLBACK_TRANSFER_DONE);
339339
}
340340

341341
/* Set interrupt vector if someone have removed it */

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/dma_api_HAL.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ void dma_set_handler(int channelid, uint32_t handler, uint32_t event);
103103
}
104104
#endif
105105

106-
#endif /* _DMA_API_HAL_H */
106+
#endif /* _DMA_API_HAL_H */

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/drivers/system/clock/TARGET_SAMD21/clock.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -487,40 +487,29 @@ enum status_code system_clock_source_write_calibration(
487487
{
488488
switch (clock_source) {
489489
case SYSTEM_CLOCK_SOURCE_OSC8M:
490-
491490
if (calibration_value > 0xfff || freq_range > 4) {
492491
return STATUS_ERR_INVALID_ARG;
493492
}
494-
495493
SYSCTRL->OSC8M.bit.CALIB = calibration_value;
496494
SYSCTRL->OSC8M.bit.FRANGE = freq_range;
497495
break;
498-
499496
case SYSTEM_CLOCK_SOURCE_OSC32K:
500-
501497
if (calibration_value > 128) {
502498
return STATUS_ERR_INVALID_ARG;
503499
}
504-
505500
_system_osc32k_wait_for_sync();
506501
SYSCTRL->OSC32K.bit.CALIB = calibration_value;
507502
break;
508-
509503
case SYSTEM_CLOCK_SOURCE_ULP32K:
510-
511504
if (calibration_value > 32) {
512505
return STATUS_ERR_INVALID_ARG;
513506
}
514-
515507
SYSCTRL->OSCULP32K.bit.CALIB = calibration_value;
516508
break;
517-
518509
default:
519510
Assert(false);
520511
return STATUS_ERR_INVALID_ARG;
521-
break;
522512
}
523-
524513
return STATUS_OK;
525514
}
526515

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/drivers/system/clock/TARGET_SAMR21/clock.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ enum status_code system_clock_source_write_calibration(
518518
default:
519519
Assert(false);
520520
return STATUS_ERR_INVALID_ARG;
521-
break;
521+
522522
}
523523

524524
return STATUS_OK;

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/drivers/system/system.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
*/
4646

4747
#include <system.h>
48+
#include <toolchain.h>
4849

4950
/**
5051
* \internal

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/gpio_api.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ void gpio_mode(gpio_t *obj, PinMode mode)
5555
struct port_config pin_conf;
5656

5757
obj->mode = mode;
58-
pin_conf.direction = obj->direction;
58+
pin_conf.direction = (enum port_pin_dir)obj->direction;
5959
pin_conf.powersave = obj->powersave;
6060
switch (mode) {
6161
case PullNone :
@@ -75,9 +75,8 @@ void gpio_dir(gpio_t *obj, PinDirection direction)
7575
{
7676
MBED_ASSERT(obj->pin != (PinName)NC);
7777
struct port_config pin_conf;
78-
7978
obj->direction = direction;
80-
pin_conf.input_pull = obj->mode;
79+
pin_conf.input_pull = (enum port_pin_pull)obj->mode;
8180
pin_conf.powersave = obj->powersave;
8281
switch (direction) {
8382
case PIN_INPUT :

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/gpio_irq_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void gpio_irq(void)
4343
if (extint_chan_is_detected(current_channel)) {
4444
extint_chan_clear_detected(current_channel);
4545
port_base = (PortGroup*)port_get_group_from_gpio_pin(ext_int_pins[current_channel]);
46-
mask = gpio_set(ext_int_pins[current_channel]);
46+
mask = gpio_set((PinName)ext_int_pins[current_channel]);
4747
if ((port_base->IN.reg & mask) != 0) {
4848
event = IRQ_RISE;
4949
} else {

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/i2c_api.c

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ static uint32_t i2c_instances[SERCOM_INST_NUM] = {0};
6464
const uint32_t sercom_irq_handlers[SERCOM_INST_NUM] = {
6565
MREPEAT(SERCOM_INST_NUM, _SERCOM_INTERRUPT_HANDLERS, ~)
6666
};
67+
6768
#endif
6869

6970
/* Forward declaration */
@@ -330,7 +331,7 @@ int i2c_write(i2c_t *obj, int address, const char *data, int length, int stop)
330331
struct i2c_master_packet packet;
331332
packet.address = (address & 0xFF) >> 1;
332333
packet.data_length = length;
333-
packet.data = data;
334+
packet.data = (uint8_t *)data;
334335
packet.ten_bit_address = false;
335336
packet.high_speed = false;
336337

@@ -596,7 +597,7 @@ void i2c_slave_mode(i2c_t *obj, int enable_slave)
596597
uint32_t sercom_index = _sercom_get_sercom_inst_index(pI2C_S(obj)->master.hw);
597598
for (i=0; i<2; i++) {
598599
mux_func[i] = pinmap_function_sercom(pI2C_S(obj)->pins[0], sercom_index);
599-
if (mux_func[i] == NC) return;
600+
if (mux_func[i] == (uint32_t)NC) return;
600601
}
601602

602603
if (enable_slave) {
@@ -721,7 +722,7 @@ int i2c_slave_write(i2c_t *obj, const char *data, int length)
721722

722723
struct i2c_slave_packet packet;
723724
packet.data_length = length;
724-
packet.data = data;
725+
packet.data = (uint8_t *)data;
725726

726727
tmp_status = i2c_slave_write_packet_wait(&pI2C_S(obj)->slave, &packet);
727728

@@ -731,6 +732,7 @@ int i2c_slave_write(i2c_t *obj, const char *data, int length)
731732
/* Currently, no way to track no of bytes transmitted, so return 0 */
732733
return 0;
733734
}
735+
734736
}
735737

736738
/** Configure I2C slave address.
@@ -863,7 +865,7 @@ void i2c_transfer_asynch(i2c_t *obj, const void *tx, size_t tx_length, void *rx,
863865
/* Init i2c packet. */
864866
pI2C_S(obj)->wr_packet.address = address >> 1;
865867
pI2C_S(obj)->wr_packet.data_length = tx_length;
866-
pI2C_S(obj)->wr_packet.data = tx;
868+
pI2C_S(obj)->wr_packet.data = (uint8_t *)tx;
867869

868870
pI2C_S(obj)->rd_packet.address = address >> 1;
869871
pI2C_S(obj)->rd_packet.data_length = rx_length;
@@ -877,8 +879,8 @@ void i2c_transfer_asynch(i2c_t *obj, const void *tx, size_t tx_length, void *rx,
877879

878880
/* Set interrupt handler to default handler of ASF */
879881
/* Enable interrupt */
880-
NVIC_SetVector((SERCOM0_IRQn + sercom_index), sercom_irq_handlers[sercom_index]);
881-
NVIC_EnableIRQ(SERCOM0_IRQn + sercom_index);
882+
NVIC_SetVector((IRQn_Type)((uint32_t)SERCOM0_IRQn + sercom_index), sercom_irq_handlers[sercom_index]);
883+
NVIC_EnableIRQ((IRQn_Type)((uint32_t)SERCOM0_IRQn + sercom_index));
882884

883885
/* Register callbacks */
884886
i2c_master_register_callback(&pI2C_S(obj)->master, i2c_transfer_complete_callback, I2C_MASTER_CALLBACK_ERROR);
@@ -927,20 +929,20 @@ uint32_t i2c_irq_handler_asynch(i2c_t *obj)
927929
case STATUS_OK:
928930
/* Transfer is complete */
929931
return (I2C_EVENT_TRANSFER_COMPLETE & event_mask);
930-
break;
932+
931933
case STATUS_ERR_BAD_ADDRESS:
932934
/* Received a NACK */
933935
return (I2C_EVENT_ERROR_NO_SLAVE & event_mask);
934-
break;
936+
935937
case STATUS_ERR_PACKET_COLLISION:
936938
/* An error occurred in between transfer */
937939
return (I2C_EVENT_ERROR & event_mask);
938-
break;
940+
939941
default:
940942
return 0;
941943
}
942944

943-
return 0;
945+
//return 0;
944946
}
945947

946948
/** Attempts to determine if I2C peripheral is already in use.

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/pinmap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ void pin_mode(PinName pin, PinMode mode)
103103
}
104104

105105
system_pinmux_pin_set_config(pin, &pin_conf);
106-
}
106+
}

libraries/mbed/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/pinmap_function.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ static uint32_t pinmap_merge_pins(uint32_t a, uint32_t b)
4747
*/
4848
uint32_t pinmap_find_peripheral_from_pad(PinName pin, enum sercom_pad_selection pad_select)
4949
{
50-
uint32_t pin_sercom = NC;
50+
uint32_t pin_sercom =(uint32_t)NC;
5151

52-
if (pin == NC) return NC;
52+
if (pin == NC) return (uint32_t)NC;
5353

5454
if (pad_select == SERCOM_USE_EXTENDED_PAD) {
5555
pin_sercom = pinmap_find_peripheral(pin, PinMap_SERCOM_PADEx);
@@ -99,7 +99,7 @@ uint32_t pinmap_find_sercom(PinName pin1, PinName pin2, PinName pin3, PinName pi
9999
{
100100
int i;
101101
uint32_t sercom_index[4];
102-
uint32_t pin_com = NC;
102+
uint32_t pin_com = (uint32_t)NC;
103103

104104
sercom_index[0] = pinmap_find_peripheral_from_pad(pin1, SERCOM_USE_DEFAULT_PAD);
105105
sercom_index[1] = pinmap_find_peripheral_from_pad(pin2, SERCOM_USE_DEFAULT_PAD);
@@ -112,7 +112,7 @@ uint32_t pinmap_find_sercom(PinName pin1, PinName pin2, PinName pin3, PinName pi
112112
if (pin_com == (uint32_t)NC) {
113113
pin_com = sercom_index[i] & 0x0F;
114114
} else if (pin_com != (sercom_index[i] & 0x0F)) {
115-
return NC;
115+
return (uint32_t)NC;
116116
}
117117
}
118118
}
@@ -128,12 +128,12 @@ uint32_t pinmap_find_sercom(PinName pin1, PinName pin2, PinName pin3, PinName pi
128128
*/
129129
uint32_t pinmap_function_sercom(PinName pin, uint32_t sercom_index)
130130
{
131-
uint32_t func = NC;
131+
uint32_t func = (uint32_t)NC;
132132
uint32_t index;
133133
sercom_index &= 0x0F;
134134

135135
if ((pin == NC) || (sercom_index >= SERCOM_INST_NUM)) {
136-
return NC;
136+
return (uint32_t)NC;
137137
}
138138
index = pinmap_peripheral(pin, PinMap_SERCOM_PAD);
139139
if ((index & 0x0F) == sercom_index) {
@@ -145,7 +145,7 @@ uint32_t pinmap_function_sercom(PinName pin, uint32_t sercom_index)
145145
func = pinmap_function(pin, PinMap_SERCOM_PADEx);
146146
return func;
147147
}
148-
return NC;
148+
return (uint32_t)NC;
149149
}
150150

151151
/** Find the MUX pad of input pin specific to given SERCOM index
@@ -160,7 +160,7 @@ uint32_t pinmap_pad_sercom(PinName pin, uint32_t sercom_index)
160160
sercom_index &= 0x0F;
161161

162162
if ((pin == NC) || (sercom_index >= SERCOM_INST_NUM)) {
163-
return NC;
163+
return (uint32_t)NC;
164164
}
165165
index = pinmap_peripheral(pin, PinMap_SERCOM_PAD);
166166
if ((index & 0x0F) == sercom_index) {
@@ -170,7 +170,7 @@ uint32_t pinmap_pad_sercom(PinName pin, uint32_t sercom_index)
170170
if ((index & 0x0F) == sercom_index) {
171171
return ((index >> 4) & 0x0F);
172172
}
173-
return NC;
173+
return (uint32_t)NC;
174174
}
175175

176176
/** Find the MUX function of input pin specific to given SERCOM index
@@ -201,7 +201,7 @@ uint32_t pinmap_peripheral_sercom(PinName pin, uint32_t sercom_index)
201201
uint32_t index = sercom_index & 0x0F;
202202

203203
if (index >= SERCOM_INST_NUM) {
204-
return NC;
204+
return (uint32_t)NC;
205205
}
206206
return sercom_address[(sercom_index&0x0F)];
207207
}
@@ -222,5 +222,5 @@ uint32_t pinmap_channel_pwm(PinName pin, PWMName pwm)
222222
}
223223
pwm_ch++;
224224
}
225-
return NC;
225+
return (uint32_t)NC;
226226
}

0 commit comments

Comments
 (0)