diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index f567a4bb8a..8dfc8d965d 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -205,7 +205,7 @@ static int set_multiple_mode(int sectors); static int set_features(void); #ifndef ATA_TARGET_POLLING -STATICIRAM ICODE_ATTR int wait_for_bsy(void) +static ICODE_ATTR int wait_for_bsy(void) { long timeout = current_tick + HZ*30; @@ -220,7 +220,7 @@ STATICIRAM ICODE_ATTR int wait_for_bsy(void) return 0; /* timeout */ } -STATICIRAM ICODE_ATTR int wait_for_rdy(void) +static ICODE_ATTR int wait_for_rdy(void) { long timeout; @@ -244,7 +244,7 @@ STATICIRAM ICODE_ATTR int wait_for_rdy(void) #define wait_for_rdy ata_wait_for_rdy #endif -STATICIRAM ICODE_ATTR int wait_for_start_of_transfer(void) +static ICODE_ATTR int wait_for_start_of_transfer(void) { if (!wait_for_bsy()) return 0; @@ -252,7 +252,7 @@ STATICIRAM ICODE_ATTR int wait_for_start_of_transfer(void) return (ATA_IN8(ATA_ALT_STATUS) & (STATUS_BSY|STATUS_DRQ)) == STATUS_DRQ; } -STATICIRAM ICODE_ATTR int wait_for_end_of_transfer(void) +static ICODE_ATTR int wait_for_end_of_transfer(void) { if (!wait_for_bsy()) return 0; @@ -275,7 +275,7 @@ static void ata_led(bool on) #endif #ifndef ATA_OPTIMIZED_READING -STATICIRAM ICODE_ATTR void copy_read_sectors(unsigned char* buf, int wordcount) +static ICODE_ATTR void copy_read_sectors(unsigned char* buf, int wordcount) { unsigned short tmp = 0; @@ -307,7 +307,7 @@ STATICIRAM ICODE_ATTR void copy_read_sectors(unsigned char* buf, int wordcount) #endif /* !ATA_OPTIMIZED_READING */ #ifndef ATA_OPTIMIZED_WRITING -STATICIRAM ICODE_ATTR void copy_write_sectors(const unsigned char* buf, +static ICODE_ATTR void copy_write_sectors(const unsigned char* buf, int wordcount) { if ( (unsigned long)buf & 1) diff --git a/firmware/export/config.h b/firmware/export/config.h index d85cf1e784..b642775b95 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -912,21 +912,11 @@ Lyre prototype 1 */ && CONFIG_CPU != JZ4732 && CONFIG_CPU != AS3525v2 && CONFIG_CPU != IMX233 #define PLUGIN_USE_IRAM #endif -#if defined(CPU_ARM) && !defined(__ARM_EABI__) -/* GCC quirk workaround: arm-elf-gcc treats static functions as short_call - * when not compiling with -ffunction-sections, even when the function has - * a section attribute. - * This is fixed with eabi since all calls are short ones by default */ -#define STATICIRAM -#else -#define STATICIRAM static -#endif #else #define ICODE_ATTR #define ICONST_ATTR #define IDATA_ATTR #define IBSS_ATTR -#define STATICIRAM static #endif #if (defined(CPU_PP) || (CONFIG_CPU == AS3525) || (CONFIG_CPU == AS3525v2) || \ diff --git a/firmware/target/arm/pp/ata-pp5020.c b/firmware/target/arm/pp/ata-pp5020.c index 50a38cb23d..1fc302a60d 100644 --- a/firmware/target/arm/pp/ata-pp5020.c +++ b/firmware/target/arm/pp/ata-pp5020.c @@ -133,7 +133,7 @@ void ata_dma_set_mode(unsigned char mode) { /* This waits for an ATA interrupt using polling. In ATA_CONTROL, CONTROL_nIEN must be cleared. */ -STATICIRAM ICODE_ATTR int ata_wait_intrq(void) +static ICODE_ATTR int ata_wait_intrq(void) { long timeout = current_tick + HZ*10; diff --git a/lib/rbcodec/codecs/aiff_enc.c b/lib/rbcodec/codecs/aiff_enc.c index fc44196eb0..8e9246d2bb 100644 --- a/lib/rbcodec/codecs/aiff_enc.c +++ b/lib/rbcodec/codecs/aiff_enc.c @@ -76,9 +76,9 @@ static uint32_t enc_size; static int32_t err IBSS_ATTR; /* convert unsigned 32 bit value to 80-bit floating point number */ -STATICIRAM void uint32_h_to_ieee754_extended_be(uint8_t f[10], uint32_t l) +static void uint32_h_to_ieee754_extended_be(uint8_t f[10], uint32_t l) ICODE_ATTR; -STATICIRAM void uint32_h_to_ieee754_extended_be(uint8_t f[10], uint32_t l) +static void uint32_h_to_ieee754_extended_be(uint8_t f[10], uint32_t l) { int32_t exp; @@ -196,9 +196,9 @@ static bool on_end_file(struct enc_file_event_data *data) return true; } /* on_end_file */ -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) ICODE_ATTR; -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) { switch (event) { @@ -266,8 +266,8 @@ static inline void sample_to_mono(uint32_t **src, uint32_t **dst) *(*dst)++ = htobe32((lr1 << 16) | (uint16_t)lr2); } /* sample_to_mono */ -STATICIRAM void chunk_to_aiff_format(uint32_t *src, uint32_t *dst) ICODE_ATTR; -STATICIRAM void chunk_to_aiff_format(uint32_t *src, uint32_t *dst) +static void chunk_to_aiff_format(uint32_t *src, uint32_t *dst) ICODE_ATTR; +static void chunk_to_aiff_format(uint32_t *src, uint32_t *dst) { if (num_channels == 1) { diff --git a/lib/rbcodec/codecs/mod.c b/lib/rbcodec/codecs/mod.c index 5bd64994f1..8bb2dc5163 100644 --- a/lib/rbcodec/codecs/mod.c +++ b/lib/rbcodec/codecs/mod.c @@ -292,7 +292,7 @@ static signed short s_sintable[0x40] IDATA_ATTR = const unsigned short mixingrate = 44100; -STATICIRAM void mixer_playsample(int channel, int instrument) ICODE_ATTR; +static void mixer_playsample(int channel, int instrument) ICODE_ATTR; void mixer_playsample(int channel, int instrument) { struct s_channel *p_channel = &mixer.channel[channel]; @@ -347,7 +347,7 @@ static inline void mixer_setamigaperiod(int channel, int amigaperiod) } /* Initialize the MOD Player with default values and precalc tables */ -STATICIRAM void initmodplayer(void) ICODE_ATTR; +static void initmodplayer(void) ICODE_ATTR; void initmodplayer(void) { unsigned int c; @@ -432,7 +432,7 @@ void initmodplayer(void) } /* Load the MOD File from memory */ -STATICIRAM bool loadmod(void *modfile) ICODE_ATTR; +static bool loadmod(void *modfile) ICODE_ATTR; bool loadmod(void *modfile) { int i; @@ -561,7 +561,7 @@ bool loadmod(void *modfile) } /* Apply vibrato to channel */ -STATICIRAM void vibrate(int channel) ICODE_ATTR; +static void vibrate(int channel) ICODE_ATTR; void vibrate(int channel) { struct s_modchannel *p_modchannel = &modplayer.modchannel[channel]; @@ -579,7 +579,7 @@ void vibrate(int channel) /* Apply tremolo to channel * (same as vibrato, but only apply on volume instead of pitch) */ -STATICIRAM void tremolo(int channel) ICODE_ATTR; +static void tremolo(int channel) ICODE_ATTR; void tremolo(int channel) { struct s_modchannel *p_modchannel = &modplayer.modchannel[channel]; @@ -598,7 +598,7 @@ void tremolo(int channel) } /* Apply Slide to Note effect to channel */ -STATICIRAM void slidetonote(int channel) ICODE_ATTR; +static void slidetonote(int channel) ICODE_ATTR; void slidetonote(int channel) { struct s_modchannel *p_modchannel = &modplayer.modchannel[channel]; @@ -625,7 +625,7 @@ void slidetonote(int channel) /* Apply Slide to Note effect on channel, * but this time with glissando enabled */ -STATICIRAM void slidetonoteglissando(int channel) ICODE_ATTR; +static void slidetonoteglissando(int channel) ICODE_ATTR; void slidetonoteglissando(int channel) { struct s_modchannel *p_modchannel = &modplayer.modchannel[channel]; @@ -650,7 +650,7 @@ void slidetonoteglissando(int channel) } /* Apply Volume Slide */ -STATICIRAM void volumeslide(int channel, int effectx, int effecty) ICODE_ATTR; +static void volumeslide(int channel, int effectx, int effecty) ICODE_ATTR; void volumeslide(int channel, int effectx, int effecty) { struct s_modchannel *p_modchannel = &modplayer.modchannel[channel]; @@ -669,7 +669,7 @@ void volumeslide(int channel, int effectx, int effecty) } /* Play the current line (at tick 0) */ -STATICIRAM void playline(int pattern, int line) ICODE_ATTR; +static void playline(int pattern, int line) ICODE_ATTR; void playline(int pattern, int line) { int c; @@ -984,7 +984,7 @@ void playline(int pattern, int line) } /* Play the current effect of the note (ticks 1..speed) */ -STATICIRAM void playeffect(int currenttick) ICODE_ATTR; +static void playeffect(int currenttick) ICODE_ATTR; void playeffect(int currenttick) { int c; @@ -1155,7 +1155,7 @@ static inline int clip(int i) else return(i); } -STATICIRAM void synthrender(int32_t *renderbuffer, int samplecount) ICODE_ATTR; +static void synthrender(int32_t *renderbuffer, int samplecount) ICODE_ATTR; void synthrender(int32_t *renderbuffer, int samplecount) { /* 125bpm equals to 50Hz (= 0.02s) diff --git a/lib/rbcodec/codecs/mp3_enc.c b/lib/rbcodec/codecs/mp3_enc.c index f765e6bba6..e66ee1d910 100644 --- a/lib/rbcodec/codecs/mp3_enc.c +++ b/lib/rbcodec/codecs/mp3_enc.c @@ -2110,8 +2110,8 @@ static inline void to_mono(uint16_t **samp) *(*samp)++ = (uint16_t)m; } /* to_mono */ -STATICIRAM void to_mono_mm(void) ICODE_ATTR; -STATICIRAM void to_mono_mm(void) +static void to_mono_mm(void) ICODE_ATTR; +static void to_mono_mm(void) { /* |llllllllllllllll|rrrrrrrrrrrrrrrr| => * |mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm| @@ -2188,9 +2188,9 @@ static void set_scale_facs(int *mdct_freq) } } -STATICIRAM void encode_frame(char *buffer, struct enc_chunk_hdr *chunk) +static void encode_frame(char *buffer, struct enc_chunk_hdr *chunk) ICODE_ATTR; -STATICIRAM void encode_frame(char *buffer, struct enc_chunk_hdr *chunk) +static void encode_frame(char *buffer, struct enc_chunk_hdr *chunk) { int gr, gr_cnt; uint32_t max; diff --git a/lib/rbcodec/codecs/wav_enc.c b/lib/rbcodec/codecs/wav_enc.c index e4afeaf93c..85b6f560e3 100644 --- a/lib/rbcodec/codecs/wav_enc.c +++ b/lib/rbcodec/codecs/wav_enc.c @@ -182,9 +182,9 @@ static bool on_end_file(struct enc_file_event_data *data) return true; } /* on_end_file */ -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) ICODE_ATTR; -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) { switch (event) { @@ -252,8 +252,8 @@ static inline void sample_to_mono(uint32_t **src, uint32_t **dst) *(*dst)++ = htole32((lr2 << 16) | (uint16_t)lr1); } /* sample_to_mono */ -STATICIRAM void chunk_to_wav_format(uint32_t *src, uint32_t *dst) ICODE_ATTR; -STATICIRAM void chunk_to_wav_format(uint32_t *src, uint32_t *dst) +static void chunk_to_wav_format(uint32_t *src, uint32_t *dst) ICODE_ATTR; +static void chunk_to_wav_format(uint32_t *src, uint32_t *dst) { if (num_channels == 1) { diff --git a/lib/rbcodec/codecs/wavpack_enc.c b/lib/rbcodec/codecs/wavpack_enc.c index 730cf0734b..71454fff7d 100644 --- a/lib/rbcodec/codecs/wavpack_enc.c +++ b/lib/rbcodec/codecs/wavpack_enc.c @@ -118,8 +118,8 @@ static inline void sample_to_int32_stereo(int32_t **src, int32_t **dst) #endif } /* sample_to_int32_stereo */ -STATICIRAM void chunk_to_int32(int32_t *src) ICODE_ATTR; -STATICIRAM void chunk_to_int32(int32_t *src) +static void chunk_to_int32(int32_t *src) ICODE_ATTR; +static void chunk_to_int32(int32_t *src) { int32_t *src_end, *dst; #ifdef USE_IRAM @@ -307,9 +307,9 @@ static bool on_end_file(struct enc_file_event_data *data) return true; } /* on_end_file */ -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) ICODE_ATTR; -STATICIRAM void enc_events_callback(enum enc_events event, void *data) +static void enc_events_callback(enum enc_events event, void *data) { switch (event) { diff --git a/lib/rbcodec/platform.h b/lib/rbcodec/platform.h index 47df8fe6a2..fe79358b21 100644 --- a/lib/rbcodec/platform.h +++ b/lib/rbcodec/platform.h @@ -101,11 +101,7 @@ size_t strlcpy(char *dst, const char *src, size_t siz); #ifndef MEM_ALIGN_ATTR # define MEM_ALIGN_ATTR #endif -/* -#ifndef STATICIRAM -# define STATICIRAM -#endif -*/ + #ifndef CACHEALIGN_SIZE # define CACHEALIGN_SIZE 1 #endif