From 7e5fc4076aa82ad329aad280e938cdffbb0422e8 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sat, 3 Dec 2022 16:15:20 +0000 Subject: Add INIT_ATTR to i2c_init() It's usually only called from init() in main.c, so this is safe. There is one more call in system-dm320.c from system_init(), but that's also "safe". I don't know if it's okay to call i2c_init() twice, but presumably it works... Change-Id: I9c1cd918d162d9955f7cf03209e836cbd5e30c57 --- firmware/export/i2c-coldfire.h | 2 +- firmware/export/i2c-rk27xx.h | 2 +- firmware/export/i2c-s5l8700.h | 2 +- firmware/export/i2c-s5l8702.h | 2 +- firmware/export/i2c.h | 2 +- firmware/target/arm/imx31/i2c-imx31.c | 2 +- firmware/target/arm/imx31/i2c-imx31.h | 2 +- firmware/target/arm/s3c2440/i2c-s3c2440.h | 2 +- firmware/target/arm/tms320dm320/i2c-dm320.h | 2 +- firmware/target/mips/ingenic_x1000/i2c-x1000.h | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/firmware/export/i2c-coldfire.h b/firmware/export/i2c-coldfire.h index b0d21a8631..f98daf5d5f 100644 --- a/firmware/export/i2c-coldfire.h +++ b/firmware/export/i2c-coldfire.h @@ -30,7 +30,7 @@ #include "cpu.h" -void i2c_init(void); +void i2c_init(void) INIT_ATTR; int i2c_read (volatile unsigned char *iface, unsigned char addr, unsigned char *buf, int count); int i2c_write(volatile unsigned char *iface, unsigned char addr, diff --git a/firmware/export/i2c-rk27xx.h b/firmware/export/i2c-rk27xx.h index 96baf566a7..d16d4c3dbb 100644 --- a/firmware/export/i2c-rk27xx.h +++ b/firmware/export/i2c-rk27xx.h @@ -24,7 +24,7 @@ #include "config.h" -void i2c_init(void); +void i2c_init(void) INIT_ATTR; int i2c_write(unsigned char slave, int address, int len, const unsigned char *data); int i2c_read(unsigned char slave, int address, int len, unsigned char *data); diff --git a/firmware/export/i2c-s5l8700.h b/firmware/export/i2c-s5l8700.h index e6ffcfae55..607f361384 100644 --- a/firmware/export/i2c-s5l8700.h +++ b/firmware/export/i2c-s5l8700.h @@ -24,7 +24,7 @@ #include "config.h" -void i2c_init(void); +void i2c_init(void) INIT_ATTR; int i2c_write(unsigned char slave, int address, int len, const unsigned char *data); int i2c_read(unsigned char slave, int address, int len, unsigned char *data); diff --git a/firmware/export/i2c-s5l8702.h b/firmware/export/i2c-s5l8702.h index f671e4059e..a1e7be04b4 100644 --- a/firmware/export/i2c-s5l8702.h +++ b/firmware/export/i2c-s5l8702.h @@ -24,7 +24,7 @@ #include "config.h" -void i2c_init(void); +void i2c_init(void) INIT_ATTR; int i2c_write(int bus, unsigned char slave, int address, int len, const unsigned char *data); int i2c_read(int bus, unsigned char slave, int address, int len, unsigned char *data); diff --git a/firmware/export/i2c.h b/firmware/export/i2c.h index ac9ddba055..21ec809f13 100644 --- a/firmware/export/i2c.h +++ b/firmware/export/i2c.h @@ -21,7 +21,7 @@ #ifndef I2C_H #define I2C_H -extern void i2c_init(void); +extern void i2c_init(void) INIT_ATTR; extern void i2c_begin(void); extern void i2c_end(void); extern int i2c_write(int device, const unsigned char* buf, int count ); diff --git a/firmware/target/arm/imx31/i2c-imx31.c b/firmware/target/arm/imx31/i2c-imx31.c index 972c7d465b..ce5e4cc8f8 100644 --- a/firmware/target/arm/imx31/i2c-imx31.c +++ b/firmware/target/arm/imx31/i2c-imx31.c @@ -367,7 +367,7 @@ int i2c_write(struct i2c_node *node, const unsigned char *data, return -1; } -void INIT_ATTR i2c_init(void) +void i2c_init(void) { /* Do one-time inits for each module that will be used - leave * module disabled and unclocked until something wants it. */ diff --git a/firmware/target/arm/imx31/i2c-imx31.h b/firmware/target/arm/imx31/i2c-imx31.h index b7305931d1..dad5a3da00 100644 --- a/firmware/target/arm/imx31/i2c-imx31.h +++ b/firmware/target/arm/imx31/i2c-imx31.h @@ -76,7 +76,7 @@ struct i2c_sync_transfer_desc }; /* One-time init of i2c driver */ -void i2c_init(void); +void i2c_init(void) INIT_ATTR; /* Enable or disable the node - modules will be switched on/off accordingly. */ void i2c_enable_node(struct i2c_node *node, bool enable); diff --git a/firmware/target/arm/s3c2440/i2c-s3c2440.h b/firmware/target/arm/s3c2440/i2c-s3c2440.h index 793ee213fd..8b739358af 100644 --- a/firmware/target/arm/s3c2440/i2c-s3c2440.h +++ b/firmware/target/arm/s3c2440/i2c-s3c2440.h @@ -41,6 +41,6 @@ /* IICLC */ #define I2C_FLT_ENB (1 << 2) -void i2c_init(void); +void i2c_init(void) INIT_ATTR; void i2c_write(int addr, const unsigned char *data, int count); diff --git a/firmware/target/arm/tms320dm320/i2c-dm320.h b/firmware/target/arm/tms320dm320/i2c-dm320.h index 43271692eb..89a8e6f1a4 100644 --- a/firmware/target/arm/tms320dm320/i2c-dm320.h +++ b/firmware/target/arm/tms320dm320/i2c-dm320.h @@ -24,7 +24,7 @@ #include "system.h" -void i2c_init(void); +void i2c_init(void) INIT_ATTR; int i2c_write(unsigned short address, const unsigned char *data, int count); int i2c_read(unsigned short address, unsigned char* buf, int count); diff --git a/firmware/target/mips/ingenic_x1000/i2c-x1000.h b/firmware/target/mips/ingenic_x1000/i2c-x1000.h index e76624d511..9b9ba5e088 100644 --- a/firmware/target/mips/ingenic_x1000/i2c-x1000.h +++ b/firmware/target/mips/ingenic_x1000/i2c-x1000.h @@ -27,7 +27,7 @@ #define I2C_FREQ_100K 100000 #define I2C_FREQ_400K 400000 -extern void i2c_init(void); +extern void i2c_init(void) INIT_ATTR; /* Configure the I2C controller prior to use. * -- cgit