Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/interrupt.c

    r9359aae r56fd7cf  
    3939#include <errno.h>
    4040#include <sys/types.h>
    41 #include <macros.h>
    4241
    4342#include "ddf/interrupt.h"
     
    5655static interrupt_context_t *find_interrupt_context(
    5756    interrupt_context_list_t *list, ddf_dev_t *dev, int irq);
     57int register_interrupt_handler(ddf_dev_t *dev, int irq,
     58    interrupt_handler_t *handler, irq_code_t *pseudocode);
     59int unregister_interrupt_handler(ddf_dev_t *dev, int irq);
    5860
    5961/** Interrupts */
     
    6668};
    6769
    68 static const irq_code_t default_pseudocode = {
     70static irq_code_t default_pseudocode = {
    6971        0,
    7072        NULL,
    71         ARRAY_SIZE(default_cmds),
     73        sizeof(default_cmds) / sizeof(irq_cmd_t),
    7274        default_cmds
    7375};
     
    136138    interrupt_context_list_t *list, int id)
    137139{
    138         fibril_mutex_lock(&list->mutex);
    139        
    140         list_foreach(list->contexts, link, interrupt_context_t, ctx) {
     140        interrupt_context_t *ctx;
     141       
     142        fibril_mutex_lock(&list->mutex);
     143       
     144        list_foreach(list->contexts, link) {
     145                ctx = list_get_instance(link, interrupt_context_t, link);
    141146                if (ctx->id == id) {
    142147                        fibril_mutex_unlock(&list->mutex);
     
    152157    interrupt_context_list_t *list, ddf_dev_t *dev, int irq)
    153158{
    154         fibril_mutex_lock(&list->mutex);
    155        
    156         list_foreach(list->contexts, link, interrupt_context_t, ctx) {
     159        interrupt_context_t *ctx;
     160       
     161        fibril_mutex_lock(&list->mutex);
     162       
     163        list_foreach(list->contexts, link) {
     164                ctx = list_get_instance(link, interrupt_context_t, link);
    157165                if (ctx->irq == irq && ctx->dev == dev) {
    158166                        fibril_mutex_unlock(&list->mutex);
     
    167175
    168176int register_interrupt_handler(ddf_dev_t *dev, int irq,
    169     interrupt_handler_t *handler, const irq_code_t *pseudocode)
     177    interrupt_handler_t *handler, irq_code_t *pseudocode)
    170178{
    171179        interrupt_context_t *ctx = create_interrupt_context();
Note: See TracChangeset for help on using the changeset viewer.