Xenomai API  2.6.5
8255.h
Go to the documentation of this file.
1 
21 #ifndef __ANALOGY_8255_H__
22 #define __ANALOGY_8255_H__
23 
24 #include <analogy/analogy_driver.h>
25 
26 typedef int (*a4l_8255_cb_t)(int, int, int, unsigned long);
27 
28 typedef struct subd_8255_struct {
29  unsigned long cb_arg;
30  a4l_8255_cb_t cb_func;
31  unsigned int status;
32  int have_irq;
33  int io_bits;
34 } subd_8255_t;
35 
36 #if (defined(CONFIG_XENO_DRIVERS_ANALOGY_8255) || \
37  defined(CONFIG_XENO_DRIVERS_ANALOGY_8255_MODULE))
38 
39 #define _8255_SIZE 4
40 
41 #define _8255_DATA 0
42 #define _8255_CR 3
43 
44 #define CR_C_LO_IO 0x01
45 #define CR_B_IO 0x02
46 #define CR_B_MODE 0x04
47 #define CR_C_HI_IO 0x08
48 #define CR_A_IO 0x10
49 #define CR_A_MODE(a) ((a)<<5)
50 #define CR_CW 0x80
51 
52 void a4l_subdev_8255_init(a4l_subd_t *subd);
53 void a4l_subdev_8255_interrupt(a4l_subd_t *subd);
54 
55 #else /* !CONFIG_XENO_DRIVERS_ANALOGY_8255 */
56 
57 #define a4l_subdev_8255_init(x) do { } while(0)
58 #define a4l_subdev_8255_interrupt(x) do { } while(0)
59 
60 #endif /* CONFIG_XENO_DRIVERS_ANALOGY_8255 */
61 
62 #endif /* !__ANALOGY_8255_H__ */
Analogy for Linux, driver facilities.
Structure describing the subdevice.
Definition: subdevice.h:180