[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-08-02 Thread GIT version control
Module: xenomai-head
Branch: master
Commit: 957779281f73c60d68e6d9895c2fa3876795db0e
URL:
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=957779281f73c60d68e6d9895c2fa3876795db0e

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {
a4l_dev_t 

[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-07-09 Thread GIT version control
Module: xenomai-abe
Branch: analogy
Commit: 957779281f73c60d68e6d9895c2fa3876795db0e
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=957779281f73c60d68e6d9895c2fa3876795db0e

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {
a4l_dev_t 

[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-07-07 Thread GIT version control
Module: xenomai-abe
Branch: analogy
Commit: d367f5090563eaee71a834b59aae38d932d66e00
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=d367f5090563eaee71a834b59aae38d932d66e00

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {
a4l_dev_t 

[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-06-24 Thread GIT version control
Module: xenomai-abe
Branch: analogy
Commit: 647144ce585cd727ececd44700c96735540c727f
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=647144ce585cd727ececd44700c96735540c727f

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {
a4l_dev_t 

[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-06-13 Thread GIT version control
Module: xenomai-abe
Branch: experimental
Commit: 6154ffb43b84c0cd281646b41520787827dd92c7
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=6154ffb43b84c0cd281646b41520787827dd92c7

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {

[Xenomai-git] Alexis Berlemont : analogy: fix the last compilation problems

2010-06-11 Thread GIT version control
Module: xenomai-abe
Branch: experimental
Commit: 22d51109d439e882fffb2637748724e1e7542ff9
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=22d51109d439e882fffb2637748724e1e7542ff9

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Fri Jun 11 00:01:01 2010 +0200

analogy: fix the last compilation problems

---

 include/analogy/buffer.h  |   22 --
 include/analogy/subdevice.h   |6 +++---
 ksrc/drivers/analogy/buffer.c |   25 -
 ksrc/drivers/analogy/rtdm_interface.c |   13 +
 ksrc/drivers/analogy/transfer.c   |3 +--
 5 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/include/analogy/buffer.h b/include/analogy/buffer.h
index 4bd5db0..148c07f 100644
--- a/include/analogy/buffer.h
+++ b/include/analogy/buffer.h
@@ -35,20 +35,23 @@
 #include analogy/os_facilities.h
 #include analogy/context.h
 
-/* Events bits */
+/* --- Events bits / flags --- */
+
 #define A4L_BUF_EOBUF_NR 0
-#define A4L_BUF_ERROR_NR 1
-#define A4L_BUF_EOA_NR 2
-/* Events flags */
 #define A4L_BUF_EOBUF (1  A4L_BUF_EOBUF_NR)
+
+#define A4L_BUF_ERROR_NR 1
 #define A4L_BUF_ERROR (1  A4L_BUF_ERROR_NR)
+
+#define A4L_BUF_EOA_NR 2
 #define A4L_BUF_EOA (1  A4L_BUF_EOA_NR)
 
-/* Status bits */
+/* --- Status bits / flags --- */
+
 #define A4L_BUF_BULK_NR 8
-#define A4L_BUF_MAP_NR 9
-/* Status flags */
 #define A4L_BUF_BULK (1  A4L_BUF_BULK_NR)
+
+#define A4L_BUF_MAP_NR 9
 #define A4L_BUF_MAP (1  A4L_BUF_MAP_NR)
 
 struct a4l_subdevice;
@@ -391,9 +394,8 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg);
 int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg);
-ssize_t a4l_read(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
-ssize_t a4l_write(a4l_cxt_t * cxt, 
- const void *bufdata, size_t nbytes);
+ssize_t a4l_read_buffer(a4l_cxt_t * cxt, void *bufdata, size_t nbytes);
+ssize_t a4l_write_buffer(a4l_cxt_t * cxt, const void *bufdata, size_t nbytes);
 int a4l_select(a4l_cxt_t *cxt, 
   rtdm_selector_t *selector,
   enum rtdm_selecttype type, unsigned fd_index);
diff --git a/include/analogy/subdevice.h b/include/analogy/subdevice.h
index 8649c8a..4223748 100644
--- a/include/analogy/subdevice.h
+++ b/include/analogy/subdevice.h
@@ -286,10 +286,10 @@ int a4l_check_chanlist(a4l_subd_t * subd,
 
 static inline int a4l_reserve_subd(a4l_subd_t *subd)
 {
-return test_and_set_bit(A4L_SUBD_BUSY, subd-status) ? -EBUSY : 0;
+return test_and_set_bit(A4L_SUBD_BUSY_NR, subd-status) ? -EBUSY : 0;
 }
-#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY, ((x)-status))
-#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY, ((x)-status)))
+#define a4l_release_subd(x) clear_bit(A4L_SUBD_BUSY_NR, ((x)-flags))
+#define a4l_subd_is_busy(x) (test_bit(A4L_SUBD_BUSY_NR, ((x)-flags)))
 
 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ  (x)-flags) != 0)
 /* The following macro considers that a DIO subdevice is firstly an
diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index ac1abce..a72b4ad 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -436,13 +436,13 @@ unsigned long a4l_buf_count(a4l_subd_t *subd)
 void a4l_map(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   set_bit(A4L_TSF_MMAP, status);
+   set_bit(A4L_BUF_MAP_NR, status);
 }
 
 void a4l_unmap(struct vm_area_struct *area)
 {
unsigned long *status = (unsigned long *)area-vm_private_data;
-   clear_bit(A4L_TSF_MMAP, status);
+   clear_bit(A4L_BUF_MAP_NR, status);
 }
 
 static struct vm_operations_struct a4l_vm_ops = {
@@ -454,6 +454,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 {
a4l_mmap_t map_cfg;
a4l_dev_t *dev;
+   a4l_buf_t *buf;
int ret;
 
/* The mmap operation cannot be performed in a 
@@ -463,6 +464,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
}
 
dev = a4l_get_dev(cxt);
+   buf = cxt-buffer;
 
/* Basic checkings */
 
@@ -487,12 +489,10 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
/* All the magic is here */
ret = rtdm_mmap_to_user(cxt-user_info,
-   dev-transfer.bufs[map_cfg.idx_subd]-buf,
+   buf-buf,
map_cfg.size,
PROT_READ | PROT_WRITE,
-   map_cfg.ptr,
-   a4l_vm_ops,
-   (dev-transfer.status[map_cfg.idx_subd]));
+   map_cfg.ptr, a4l_vm_ops, buf-flags);
 
if (ret  0) {
__a4l_err(a4l_ioctl_mmap: internal error, 
@@ -545,7 +545,7 @@ int a4l_ioctl_cancel(a4l_cxt_t * cxt, void *arg)
 int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 {