summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-05-27 12:00:29 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-05-27 12:00:29 +0000
commit435e08eae1502f520ce14b279cd2754093e195cb (patch)
treec34e4e445f87056b64a880c63af1c70b79f531e8
parentb36e721aa66e20595eb4441edaaddac76f8d5147 (diff)
downloadrockbox-435e08eae1502f520ce14b279cd2754093e195cb.tar.gz
rockbox-435e08eae1502f520ce14b279cd2754093e195cb.zip
mark some functions as init functions (discarded after init() has run)
tick_start, fmradio_i2c_init, pcm_init, pcm_postinit, pcm_play_dma_init Also add some as3525 target specific functions Make as3525v2 use this attribute git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26328 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/config.h2
-rw-r--r--firmware/export/fmradio_i2c.h3
-rw-r--r--firmware/export/kernel.h2
-rw-r--r--firmware/export/pcm.h6
-rw-r--r--firmware/target/arm/as3525/ascodec-target.h2
-rw-r--r--firmware/target/arm/as3525/dma-target.h3
6 files changed, 10 insertions, 8 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 38eb696515..0ed1be4157 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -753,7 +753,7 @@ Lyre prototype 1 */
753#define IBSS_ATTR 753#define IBSS_ATTR
754#define STATICIRAM static 754#define STATICIRAM static
755#endif 755#endif
756#if (defined(CPU_PP) || (CONFIG_CPU == AS3525)) \ 756#if (defined(CPU_PP) || (CONFIG_CPU == AS3525) || (CONFIG_CPU == AS3525v2)) \
757 && !defined(SIMULATOR) && !defined(BOOTLOADER) 757 && !defined(SIMULATOR) && !defined(BOOTLOADER)
758/* Functions that have INIT_ATTR attached are NOT guaranteed to survive after 758/* Functions that have INIT_ATTR attached are NOT guaranteed to survive after
759 * root_menu() has been called. Their code may be overwritten by other data or 759 * root_menu() has been called. Their code may be overwritten by other data or
diff --git a/firmware/export/fmradio_i2c.h b/firmware/export/fmradio_i2c.h
index 0dc3889b08..f8f6e4f646 100644
--- a/firmware/export/fmradio_i2c.h
+++ b/firmware/export/fmradio_i2c.h
@@ -22,9 +22,10 @@
22#ifndef FMRADIO_I2C_H 22#ifndef FMRADIO_I2C_H
23#define FMRADIO_I2C_H 23#define FMRADIO_I2C_H
24 24
25#include "config.h" /* for INIT_ATTR */
25#include <stdbool.h> 26#include <stdbool.h>
26 27
27void fmradio_i2c_init(void); 28void fmradio_i2c_init(void) INIT_ATTR;
28void fmradio_i2c_enable(bool enable); 29void fmradio_i2c_enable(bool enable);
29int fmradio_i2c_write(unsigned char address, const unsigned char* buf, int count); 30int fmradio_i2c_write(unsigned char address, const unsigned char* buf, int count);
30int fmradio_i2c_read(unsigned char address, unsigned char* buf, int count); 31int fmradio_i2c_read(unsigned char address, unsigned char* buf, int count);
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h
index a4761302e0..bcf51c1723 100644
--- a/firmware/export/kernel.h
+++ b/firmware/export/kernel.h
@@ -211,7 +211,7 @@ extern void yield(void);
211extern void sleep(int ticks); 211extern void sleep(int ticks);
212int tick_add_task(void (*f)(void)); 212int tick_add_task(void (*f)(void));
213int tick_remove_task(void (*f)(void)); 213int tick_remove_task(void (*f)(void));
214extern void tick_start(unsigned int interval_in_ms); 214extern void tick_start(unsigned int interval_in_ms) INIT_ATTR;
215 215
216#ifdef INCLUDE_TIMEOUT_API 216#ifdef INCLUDE_TIMEOUT_API
217struct timeout; 217struct timeout;
diff --git a/firmware/export/pcm.h b/firmware/export/pcm.h
index 40bfe6fa46..304f120059 100644
--- a/firmware/export/pcm.h
+++ b/firmware/export/pcm.h
@@ -67,8 +67,8 @@ void pcm_apply_settings(void);
67void pcm_play_lock(void); 67void pcm_play_lock(void);
68void pcm_play_unlock(void); 68void pcm_play_unlock(void);
69 69
70void pcm_init(void); 70void pcm_init(void) INIT_ATTR;
71void pcm_postinit(void); 71void pcm_postinit(void) INIT_ATTR;
72 72
73/* This is for playing "raw" PCM data */ 73/* This is for playing "raw" PCM data */
74void pcm_play_data(pcm_play_callback_type get_more, 74void pcm_play_data(pcm_play_callback_type get_more,
@@ -104,7 +104,7 @@ extern volatile bool pcm_paused;
104 104
105void pcm_play_dma_lock(void); 105void pcm_play_dma_lock(void);
106void pcm_play_dma_unlock(void); 106void pcm_play_dma_unlock(void);
107void pcm_play_dma_init(void); 107void pcm_play_dma_init(void) INIT_ATTR;
108void pcm_play_dma_start(const void *addr, size_t size); 108void pcm_play_dma_start(const void *addr, size_t size);
109void pcm_play_dma_stop(void); 109void pcm_play_dma_stop(void);
110void pcm_play_dma_pause(bool pause); 110void pcm_play_dma_pause(bool pause);
diff --git a/firmware/target/arm/as3525/ascodec-target.h b/firmware/target/arm/as3525/ascodec-target.h
index d3d095c365..a92fea9f61 100644
--- a/firmware/target/arm/as3525/ascodec-target.h
+++ b/firmware/target/arm/as3525/ascodec-target.h
@@ -70,7 +70,7 @@ struct ascodec_request {
70 struct ascodec_request *next; 70 struct ascodec_request *next;
71}; 71};
72 72
73void ascodec_init(void); 73void ascodec_init(void) INIT_ATTR;
74 74
75int ascodec_write(unsigned int index, unsigned int value); 75int ascodec_write(unsigned int index, unsigned int value);
76 76
diff --git a/firmware/target/arm/as3525/dma-target.h b/firmware/target/arm/as3525/dma-target.h
index 00897fa070..a64055984d 100644
--- a/firmware/target/arm/as3525/dma-target.h
+++ b/firmware/target/arm/as3525/dma-target.h
@@ -19,6 +19,7 @@
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22#include "config.h" /* for INIT_ATTR */
22#include <stdbool.h> 23#include <stdbool.h>
23#include <stdlib.h> 24#include <stdlib.h>
24 25
@@ -32,7 +33,7 @@
32#define DMA_PERI_SD 5 /* embedded storage */ 33#define DMA_PERI_SD 5 /* embedded storage */
33#define DMA_PERI_DBOP 8 34#define DMA_PERI_DBOP 8
34 35
35void dma_init(void); 36void dma_init(void) INIT_ATTR;
36void dma_enable_channel(int channel, void *src, void *dst, int peri, 37void dma_enable_channel(int channel, void *src, void *dst, int peri,
37 int flow_controller, bool src_inc, bool dst_inc, 38 int flow_controller, bool src_inc, bool dst_inc,
38 size_t size, int nwords, void (*callback)(void)); 39 size_t size, int nwords, void (*callback)(void));