Ignore:
Timestamp:
2017-08-18T21:15:26Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
24abb85d
Parents:
1c85bae
Message:

Turn IRQ structures into kernel objects

ipc_irq_subscribe() now returns a capability for the underlying IRQ kernel
object. ipc_irq_unsubscribe() can now be done only with a valid IRQ capability.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/kobject/kobject.h

    r1c85bae re9d15d9  
    3838#include <typedefs.h>
    3939#include <ipc/ipc.h>
     40#include <ddi/irq.h>
    4041
    4142#define MAX_KERNEL_OBJECTS  64
    42 
    43 #define KOBJECT_INVALID_CAP -1
    4443
    4544typedef enum {
    4645        KOBJECT_TYPE_INVALID,
    4746        KOBJECT_TYPE_ALLOCATED,
    48         KOBJECT_TYPE_PHONE
     47        KOBJECT_TYPE_PHONE,
     48        KOBJECT_TYPE_IRQ
    4949} kobject_type_t;
    5050
     
    5555        union {
    5656                phone_t phone;
     57                irq_t irq;
    5758        };
    5859} kobject_t;
     
    6061struct task;
    6162
    62 extern void kobject_init(kobject_t *);
     63extern void kobject_initialize(kobject_t *);
    6364extern kobject_t *kobject_get(struct task *, int, kobject_type_t);
    6465extern kobject_t *kobject_get_current(int, kobject_type_t);
Note: See TracChangeset for help on using the changeset viewer.