19 #ifndef _COBALT_RTDM_UDD_H 20 #define _COBALT_RTDM_UDD_H 22 #include <linux/list.h> 65 #define UDD_IRQ_NONE 0 72 #define UDD_IRQ_CUSTOM (-1) 91 #define UDD_MEM_NONE 0 97 #define UDD_MEM_PHYS 1 102 #define UDD_MEM_LOGICAL 2 108 #define UDD_MEM_VIRTUAL 3 111 #define UDD_NR_MAPS 5 223 int (*
open)(
struct rtdm_fd *fd,
int oflags);
245 unsigned int request,
void *arg);
260 int (*
mmap)(
struct rtdm_fd *fd,
261 struct vm_area_struct *vma);
311 struct rtdm_event pulse;
318 } mapdev[UDD_NR_MAPS];
int udd_register_device(struct udd_device *udd)
Register a UDD device
Definition: udd.c:355
int(* mmap)(struct rtdm_fd *fd, struct vm_area_struct *vma)
Ancillary mmap() handler for the mapper device, optional.
Definition: udd.h:260
const char * name
Name of the region (informational but required)
Definition: udd.h:171
const char * device_name
Name of the device managed by the mini-driver, appears automatically in the /dev/rtdm namespace upon ...
Definition: udd.h:202
unsigned long addr
Start address of the region.
Definition: udd.h:177
Reserved to the UDD core.
Definition: udd.h:307
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:653
void udd_disable_irq(struct udd_device *udd, rtdm_event_t *done)
Disable the device IRQ line
Definition: udd.c:627
size_t len
Length (in bytes) of the region.
Definition: udd.h:182
Real-Time Driver Model for Xenomai, driver API header.
void udd_notify_event(struct udd_device *udd)
Notify an IRQ event for an unmanaged interrupt
Definition: udd.c:502
int(* interrupt)(struct udd_device *udd)
Definition: udd.h:290
void udd_enable_irq(struct udd_device *udd, rtdm_event_t *done)
Enable the device IRQ line
Definition: udd.c:592
int irq
IRQ number.
Definition: udd.h:298
int device_subclass
Subclass code of the device managed by the mini-driver (see RTDM_SUBCLASS_xxx definition in the Devic...
Definition: udd.h:214
struct udd_memregion mem_regions[UDD_NR_MAPS]
Array of memory regions defined by the device.
Definition: udd.h:305
int(* ioctl)(struct rtdm_fd *fd, unsigned int request, void *arg)
Ancillary ioctl() handler, optional.
Definition: udd.h:244
int device_flags
Additional device flags (e.g.
Definition: udd.h:207
int udd_unregister_device(struct udd_device *udd)
Unregister a UDD device
Definition: udd.c:454
void(* close)(struct rtdm_fd *fd)
Ancillary close() handler, optional.
Definition: udd.h:231
int type
Type of the region.
Definition: udd.h:187
int(* open)(struct rtdm_fd *fd, int oflags)
Ancillary open() handler, optional.
Definition: udd.h:223
UDD event notification descriptor.
Definition: udd.h:44
RTDM device.
Definition: driver.h:338
RTDM driver.
Definition: driver.h:249