Your message dated Sun, 28 Jan 2007 20:31:32 +0000
with message-id <[EMAIL PROTECTED]>
and subject line [Pkg-mythtv-maintainers] Bug#408838: ivtv-source: rough patch 
for new work queue in 2.6.20
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: ivtv-source
Version: 0.8.2-2
Severity: normal

This patch nneeds conditionals to make sure it is only applied in 2.6.20
and up, but it is a Works For Me(TM) patch.

Thanks,

-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.20-rc5-686
Locale: LANG=en_US.UTF8, LC_CTYPE=en_US.UTF8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF8)

Versions of packages ivtv-source depends on:
ii  bzip2                         1.0.3-6    high-quality block-sorting file co
ii  debhelper                     5.0.42     helper programs for debian/rules
ii  dpatch                        2.0.21     patch maintenance system for Debia
ii  module-assistant              0.10.8     tool to make module package creati

ivtv-source recommends no packages.

-- no debconf information
-- 
 -----------------------------------------------------------------
|   ,''`.                                            Stephen Gran |
|  : :' :                                        [EMAIL PROTECTED] |
|  `. `'                        Debian user, admin, and developer |
|    `-                                     http://www.debian.org |
 -----------------------------------------------------------------
diff -x debian -Nru /usr/src/modules/ivtv/driver/ivtv-driver.c 
modules/ivtv/driver/ivtv-driver.c
--- /usr/src/modules/ivtv/driver/ivtv-driver.c  2006-11-25 21:20:43.000000000 
+0000
+++ modules/ivtv/driver/ivtv-driver.c   2007-01-28 15:10:00.000000000 +0000
@@ -696,7 +696,7 @@
                IVTV_ERR("Could not create VBI workqueue\n");
                return -1;
        }
-       INIT_WORK(&itv->vbi_work_queue, vbi_work_handler, itv);
+       INIT_DELAYED_WORK(&itv->vbi_work_queue, vbi_work_handler);
 #else
        INIT_TQUEUE(&itv->vbi_work_queue, vbi_work_handler, itv);
 #endif
diff -x debian -Nru /usr/src/modules/ivtv/driver/ivtv-driver.h 
modules/ivtv/driver/ivtv-driver.h
--- /usr/src/modules/ivtv/driver/ivtv-driver.h  2006-11-19 12:07:58.000000000 
+0000
+++ modules/ivtv/driver/ivtv-driver.h   2007-01-28 15:07:02.000000000 +0000
@@ -1016,7 +1016,7 @@
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
        struct workqueue_struct *vbi_work_queues;
-       struct work_struct vbi_work_queue;
+       struct delayed_work vbi_work_queue;
 #else
        struct tq_struct vbi_work_queue;
 #endif
diff -x debian -Nru /usr/src/modules/ivtv/driver/ivtv-kthreads.c 
modules/ivtv/driver/ivtv-kthreads.c
--- /usr/src/modules/ivtv/driver/ivtv-kthreads.c        2006-11-19 
12:07:58.000000000 +0000
+++ modules/ivtv/driver/ivtv-kthreads.c 2007-01-28 15:35:21.000000000 +0000
@@ -345,9 +345,9 @@
        return bytes_received;
 }
 
-static void enc_work_handler(void *arg)
+static void enc_work_handler(struct work_struct *arg)
 {
-       struct ivtv *itv = (struct ivtv *)arg;
+       struct ivtv *itv = container_of(arg, struct ivtv, vbi_work_queue.work);
 
        /* VIDEO or VBI */
         set_bit(IVTV_F_T_ENC_RUNNING, &itv->t_flags);
@@ -359,9 +359,9 @@
        return;
 }
 
-static void enc_vbi_work_handler(void *arg)
+static void enc_vbi_work_handler(struct work_struct *arg)
 {
-        struct ivtv *itv = (struct ivtv *)arg;
+       struct ivtv *itv = container_of(arg, struct ivtv, vbi_work_queue.work);
 
         /* ENC VBI */
         set_bit(IVTV_F_T_ENC_VBI_RUNNING, &itv->t_flags);
@@ -373,9 +373,9 @@
         return;
 }
 
-static void dec_vbi_work_handler(void *arg)
+static void dec_vbi_work_handler(struct work_struct *arg)
 {
-        struct ivtv *itv = (struct ivtv *)arg;
+       struct ivtv *itv = container_of(arg, struct ivtv, vbi_work_queue.work);
 
         /* DEC VBI */
         set_bit(IVTV_F_T_DEC_VBI_RUNNING, &itv->t_flags);
@@ -387,9 +387,9 @@
         return;
 }
 
-static void dec_work_handler(void *arg)
+static void dec_work_handler(struct work_struct *arg)
 {
-       struct ivtv *itv = (struct ivtv *)arg;
+       struct ivtv *itv = container_of(arg, struct ivtv, vbi_work_queue.work);
        int type = IVTV_DEC_STREAM_TYPE_MPG;
        struct ivtv_stream *stream;
        int ret = -1;
@@ -1080,7 +1080,7 @@
                if (atomic_read(&itv->dec_thread_running) == 0)
                        break;
 
-               dec_work_handler(itv);
+               dec_work_handler(&itv->vbi_work_queue.work);
        }
        itv->dec_thread_pid = 0;
        return 0;
@@ -1138,7 +1138,7 @@
                if (atomic_read(&itv->enc_thread_running) == 0)
                        break;
 
-               enc_work_handler(itv);
+               enc_work_handler(&itv->vbi_work_queue.work);
        }
        itv->enc_thread_pid = 0;
        return 0;
@@ -1196,7 +1196,7 @@
                 if (atomic_read(&itv->enc_vbi_thread_running) == 0)
                         break;
 
-                enc_vbi_work_handler(itv);
+                enc_vbi_work_handler(&itv->vbi_work_queue.work);
         }
         itv->enc_vbi_thread_pid = 0;
         return 0;
@@ -1254,7 +1254,7 @@
                 if (atomic_read(&itv->dec_vbi_thread_running) == 0)
                         break;
 
-                dec_vbi_work_handler(itv);
+                dec_vbi_work_handler(&itv->vbi_work_queue.work);
         }
         itv->dec_vbi_thread_pid = 0;
         return 0;
diff -x debian -Nru /usr/src/modules/ivtv/driver/ivtv-vbi.c 
modules/ivtv/driver/ivtv-vbi.c
--- /usr/src/modules/ivtv/driver/ivtv-vbi.c     2006-04-19 22:34:16.000000000 
+0100
+++ modules/ivtv/driver/ivtv-vbi.c      2007-01-28 15:34:33.000000000 +0000
@@ -79,7 +79,7 @@
 void vbi_schedule_work(struct ivtv *itv)
 {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-       queue_work(itv->vbi_work_queues, &itv->vbi_work_queue);
+       queue_delayed_work(itv->vbi_work_queues, &itv->vbi_work_queue, 0);
 #else
        ivtv_schedule_work(&itv->vbi_work_queue);
 #endif
@@ -593,9 +593,9 @@
        vbi_schedule_work(itv);
 }
 
-void vbi_work_handler(void *arg)
+void vbi_work_handler(struct work_struct *arg)
 {
-       struct ivtv *itv = arg;
+       struct ivtv *itv = container_of(arg, struct ivtv, vbi_work_queue.work);
        struct v4l2_sliced_vbi_data data;
        int count = 0;
 
diff -x debian -Nru /usr/src/modules/ivtv/driver/ivtv-vbi.h 
modules/ivtv/driver/ivtv-vbi.h
--- /usr/src/modules/ivtv/driver/ivtv-vbi.h     2005-11-04 23:25:13.000000000 
+0000
+++ modules/ivtv/driver/ivtv-vbi.h      2007-01-28 15:28:10.000000000 +0000
@@ -26,5 +26,5 @@
 void ivtv_disable_vbi(struct ivtv *itv);
 void ivtv_set_vbi(unsigned long arg);
 void vbi_setup_lcr(struct ivtv *itv, int set, int is_pal, struct 
v4l2_sliced_vbi_format *fmt);
-void vbi_work_handler(void *arg);
+void vbi_work_handler(struct work_struct *arg);
 void vbi_schedule_work(struct ivtv *itv);

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
On Sun, 2007-01-28 at 17:17 +0000, Stephen Gran wrote:
> Package: ivtv-source
> Version: 0.8.2-2
> Severity: normal
> 
> This patch nneeds conditionals to make sure it is only applied in 2.6.20
> and up, but it is a Works For Me(TM) patch.

Thanks for your patch.

The ivtv upstream trunk branch already supports 2.6.20. The reason I
have stuck with the 0.8.x branch for Debian is that we are frozen for
Etch which contains kernel 2.6.18 and therefore requires 0.8.x.

Once a new kernel enters Sid I'll upload the matching branch of ivtv. In
the meantime there are package for the other branches on my webpage at
http://www.hellion.org.uk/ivtv. Currently the latest is only 0.9.x which
is for 2.6.19 but might work for 2.6.20. Once 2.6.20 comes out upstream
will release a new branch (0.10.x?) and I'll upload include that on my
page.

Ian.
-- 
Ian Campbell

If something has not yet gone wrong then it would ultimately have been
beneficial for it to go wrong.

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---

Reply via email to