interrupts: new static IRQ API
The interrupt API has been redesigned: - irq_connect() for dynamic interrupts renamed to irq_connect_dynamic(). It will be used in situations where the new static irq_connect() won't work, i.e. the value of arguments can't be computed at build time - a new API for static interrupts replaces irq_connect(). it is used exactly the same way as its dynamic counterpart. The old static irq macros will be removed - Separate stub assembly files are no longer needed as the stubs are now generated inline with irq_connect() ReST documentation updated for the changed API. Some detail about the IDT in ROM added, and an oblique reference to the internal-only _irq_handler_set() API removed; we don't talk about internal APIs in the official documentation. Change-Id: I280519993da0e0fe671eb537a876f67de33d3cd4 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
4a2ce3c0c9
commit
d9cfbd5a61
70 changed files with 347 additions and 923 deletions
|
@ -311,9 +311,6 @@ static void tickless_idle_init(void) {}
|
|||
*/
|
||||
int _sys_clock_driver_init(struct device *device)
|
||||
{
|
||||
int irq = CONFIG_ARCV2_TIMER0_INT_LVL;
|
||||
int prio = CONFIG_ARCV2_TIMER0_INT_PRI;
|
||||
|
||||
ARG_UNUSED(device);
|
||||
|
||||
/* ensure that the timer will not generate interrupts */
|
||||
|
@ -322,7 +319,8 @@ int _sys_clock_driver_init(struct device *device)
|
|||
|
||||
cycles_per_tick = sys_clock_hw_cycles_per_tick;
|
||||
|
||||
(void)irq_connect(irq, prio, _timer_int_handler, 0, 0);
|
||||
irq_connect(CONFIG_ARCV2_TIMER0_INT_LVL, CONFIG_ARCV2_TIMER0_INT_PRI,
|
||||
_timer_int_handler, 0, 0);
|
||||
|
||||
/*
|
||||
* Set the reload value to achieve the configured tick rate, enable the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue