19 #ifndef _COBALT_RTDM_UDD_H
20 #define _COBALT_RTDM_UDD_H
22 #include <linux/list.h>
63 #define UDD_IRQ_NONE 0
69 #define UDD_IRQ_CUSTOM (-1)
88 #define UDD_MEM_NONE 0
94 #define UDD_MEM_PHYS 1
99 #define UDD_MEM_LOGICAL 2
105 #define UDD_MEM_VIRTUAL 3
108 #define UDD_NR_MAPS 5
214 int (*
open)(
struct rtdm_fd *fd,
int oflags);
225 unsigned int request,
void *arg);
237 int (*
mmap)(
struct rtdm_fd *fd,
238 struct vm_area_struct *vma);
285 struct rtdm_event pulse;
int udd_register_device(struct udd_device *udd)
Register a UDD device.
Definition: udd.c:335
const char * name
Name of the region (informational but required)
Definition: udd.h:165
int(* open)(struct rtdm_fd *fd, int oflags)
Ancillary open() handler, optional.
Definition: udd.h:214
const char * device_name
Name of the device managed by the mini-driver, appears automatically in the /dev/rtdm namespace upon ...
Definition: udd.h:196
unsigned long addr
Start address of the region.
Definition: udd.h:171
Reserved to the UDD core.
Definition: udd.h:281
This file is part of the Xenomai project.
struct udd_device * udd_get_device(struct rtdm_fd *fd)
RTDM file descriptor to target UDD device.
Definition: udd.c:585
size_t len
Length (in bytes) of the region.
Definition: udd.h:176
Real-Time Driver Model for Xenomai, driver API header.
int(* ioctl)(struct rtdm_fd *fd, unsigned int request, void *arg)
Ancillary ioctl() handler, optional.
Definition: udd.h:224
void udd_notify_event(struct udd_device *udd)
Notify an IRQ event for an unmanaged interrupt.
Definition: udd.c:469
int irq
IRQ number.
Definition: udd.h:272
void udd_post_irq_disable(int irq)
Post a request for disabling an IRQ line.
Definition: udd.c:563
int(* mmap)(struct rtdm_fd *fd, struct vm_area_struct *vma)
Ancillary mmap() handler for the mapper device, optional.
Definition: udd.h:237
int device_subclass
Subclass code of the device managed by the mini-driver (see RTDM_SUBCLASS_xxx definition in the Devic...
Definition: udd.h:208
int(* interrupt)(struct udd_device *udd)
Definition: udd.h:264
struct udd_memregion mem_regions[UDD_NR_MAPS]
Array of memory regions defined by the device.
Definition: udd.h:279
int device_flags
Additional device flags (e.g.
Definition: udd.h:201
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition: atomic.h:24
int udd_unregister_device(struct udd_device *udd)
Unregister a UDD device.
Definition: udd.c:425
void(* close)(struct rtdm_fd *fd)
Ancillary close() handler, optional.
Definition: udd.h:219
int type
Type of the region.
Definition: udd.h:181
void udd_post_irq_enable(int irq)
Post a request for enabling an IRQ line.
Definition: udd.c:541
UDD event notification descriptor.
Definition: udd.h:44
RTDM device.
Definition: driver.h:321
RTDM driver.
Definition: driver.h:245