altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align
[fw/altos] / src / stm / ao_eeprom_stm.c
index 4207a8607e3d593df3482505ad5ca42eb411d385..4f477122784975f78db3eda27e2ac021c342ccda 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -82,7 +83,7 @@ ao_intflash_write32(uint16_t pos, uint32_t w)
 {
        volatile uint32_t       *addr;
 
-       addr = (uint32_t *) (stm_eeprom + pos);
+       addr = (uint32_t *) (void *) (stm_eeprom + pos);
 
        /* Write a word to a valid address in the data EEPROM */
        *addr = w;
@@ -95,7 +96,7 @@ ao_intflash_write8(uint16_t pos, uint8_t d)
        uint32_t        w, *addr, mask;
        uint8_t         shift;
        
-       addr = (uint32_t *) (stm_eeprom + (pos & ~3));
+       addr = (uint32_t *) (void *) (stm_eeprom + (pos & ~3));
 
        /* Compute word to be written */
        shift = (pos & 3) << 3;