Changeset 63530c62 in mainline for kernel/generic/include/ddi/irq.h


Ignore:
Timestamp:
2006-10-14T19:31:03Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e3890b3f
Parents:
7dcf22a
Message:

Changes in ns16550 and z8530 drivers.
Add some stuff for IRQ notifications to irq_t.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ddi/irq.h

    r7dcf22a r63530c62  
    3838#include <arch/types.h>
    3939#include <adt/list.h>
     40#include <ipc/ipc.h>
     41#include <ipc/irq.h>
     42#include <atomic.h>
     43#include <synch/spinlock.h>
    4044
    4145typedef enum {
     
    6367        link_t link;
    6468
     69        /** Lock protecting everything in this structure
     70         *  except the link member. When both the IRQ
     71         *  hash table lock and this lock are to be acquired,
     72         *  this lock must not be taken first.
     73         */
     74        SPINLOCK_DECLARE(lock);
     75
    6576        /** Unique device number. -1 if not yet assigned. */
    6677        devno_t devno;
     
    6879        /** Actual IRQ number. -1 if not yet assigned. */
    6980        inr_t inr;
    70         /** Task ID of the task to be notified about the IRQ or 0. */
    71         task_id_t notif;
    7281        /** Trigger level of the IRQ.*/
    7382        irq_trigger_t trigger;
     
    7887        /** Argument for the handler. */
    7988        void *arg;
     89
     90        /** Answerbox of the task that wanted to be notified. */
     91        answerbox_t *notif_answerbox;
     92        /** Pseudo-code to be performed by the top-half
     93         *  before a notification is sent. */
     94        irq_code_t *code;
     95        /** Counter of IRQ notifications. */
     96        atomic_t counter;
    8097};
    8198
Note: See TracChangeset for help on using the changeset viewer.