diff --git a/chip/lm4/i2c.c b/chip/lm4/i2c.c index 51470eed70..56b4666330 100644 --- a/chip/lm4/i2c.c +++ b/chip/lm4/i2c.c @@ -406,7 +406,7 @@ static void i2c_init(void) i2c_set_timeout(i, 0); } } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); /** * Handle an interrupt on the specified port. diff --git a/chip/mec1322/i2c.c b/chip/mec1322/i2c.c index adc3cef04d..038d4763d9 100644 --- a/chip/mec1322/i2c.c +++ b/chip/mec1322/i2c.c @@ -340,7 +340,7 @@ static void i2c_init(void) for (i = 0; i < i2c_ports_used; ++i) configure_port(i2c_ports[i].port, i2c_ports[i].kbps); } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); static void handle_interrupt(int port) { diff --git a/chip/npcx/i2c.c b/chip/npcx/i2c.c index 1e71ed6c7b..e09bda30b6 100644 --- a/chip/npcx/i2c.c +++ b/chip/npcx/i2c.c @@ -589,4 +589,4 @@ static void i2c_init(void) task_enable_irq(i2c_irqs[port]); } } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); diff --git a/chip/nrf51/i2c.c b/chip/nrf51/i2c.c index 7065345580..6ef109ea0e 100644 --- a/chip/nrf51/i2c.c +++ b/chip/nrf51/i2c.c @@ -63,7 +63,7 @@ static void i2c_init(void) for (i = 0; i < i2c_ports_used; i++) i2c_init_port(i); } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); static void dump_i2c_reg(int port) { diff --git a/chip/stm32/i2c-stm32f.c b/chip/stm32/i2c-stm32f.c index 674808277c..88728f1eb1 100644 --- a/chip/stm32/i2c-stm32f.c +++ b/chip/stm32/i2c-stm32f.c @@ -380,7 +380,7 @@ static void i2c_init(void) task_enable_irq(STM32_IRQ_I2C2_EV); task_enable_irq(STM32_IRQ_I2C2_ER); } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); /*****************************************************************************/ /* STM32 Host I2C */ diff --git a/chip/stm32/i2c-stm32f0.c b/chip/stm32/i2c-stm32f0.c index 28726307ef..a72233d462 100644 --- a/chip/stm32/i2c-stm32f0.c +++ b/chip/stm32/i2c-stm32f0.c @@ -443,7 +443,7 @@ static void i2c_init(void) task_enable_irq(IRQ_SLAVE); #endif } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); #ifdef CONFIG_HOSTCMD_I2C_SLAVE_ADDR /** diff --git a/chip/stm32/i2c-stm32l.c b/chip/stm32/i2c-stm32l.c index 8b37eb3ef9..510c138410 100644 --- a/chip/stm32/i2c-stm32l.c +++ b/chip/stm32/i2c-stm32l.c @@ -408,7 +408,7 @@ static void i2c_init(void) for (i = 0; i < i2c_ports_used; i++, p++) i2c_init_port(p); } -DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, i2c_init, HOOK_PRIO_INIT_I2C); /*****************************************************************************/ /* Console commands */ diff --git a/include/hooks.h b/include/hooks.h index 579aa0470f..a4a518354a 100644 --- a/include/hooks.h +++ b/include/hooks.h @@ -21,16 +21,18 @@ enum hook_priority { HOOK_PRIO_INIT_DMA = HOOK_PRIO_FIRST + 1, /* LPC inits before modules which need memory-mapped I/O */ HOOK_PRIO_INIT_LPC = HOOK_PRIO_FIRST + 1, + /* I2C is needed before chipset inits (battery communications). */ + HOOK_PRIO_INIT_I2C = HOOK_PRIO_FIRST + 2, /* Chipset inits before modules which need to know its initial state. */ - HOOK_PRIO_INIT_CHIPSET = HOOK_PRIO_FIRST + 2, + HOOK_PRIO_INIT_CHIPSET = HOOK_PRIO_FIRST + 3, /* Lid switch inits before power button */ - HOOK_PRIO_INIT_LID = HOOK_PRIO_FIRST + 3, + HOOK_PRIO_INIT_LID = HOOK_PRIO_FIRST + 4, /* Power button inits before chipset and switch */ - HOOK_PRIO_INIT_POWER_BUTTON = HOOK_PRIO_FIRST + 4, + HOOK_PRIO_INIT_POWER_BUTTON = HOOK_PRIO_FIRST + 5, /* PWM inits before modules which might use it (fans, LEDs) */ - HOOK_PRIO_INIT_PWM = HOOK_PRIO_FIRST + 5, + HOOK_PRIO_INIT_PWM = HOOK_PRIO_FIRST + 6, /* Extpower inits before modules which might use it (battery, LEDs) */ - HOOK_PRIO_INIT_EXTPOWER = HOOK_PRIO_FIRST + 6, + HOOK_PRIO_INIT_EXTPOWER = HOOK_PRIO_FIRST + 7, /* Specific values to lump temperature-related hooks together */ HOOK_PRIO_TEMP_SENSOR = 6000,