Commit 9868e0ec authored by Stefan Richter's avatar Stefan Richter

ieee1394: raw1394: defer feature removal of old isoch interface

Known to be affected:
 - libdc1394: prefers video1394 for now, old-style raw1394 support might
   be dropped eventually
 - OpenH323 PWLib, AVC video input module: uses libraw1394's old API
Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 63cca59e
...@@ -30,11 +30,12 @@ Who: Adrian Bunk <bunk@stusta.de> ...@@ -30,11 +30,12 @@ Who: Adrian Bunk <bunk@stusta.de>
--------------------------- ---------------------------
What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN
When: November 2006 When: June 2007
Why: Deprecated in favour of the new ioctl-based rawiso interface, which is Why: Deprecated in favour of the more efficient and robust rawiso interface.
more efficient. You should really be using libraw1394 for raw1394 Affected are applications which use the deprecated part of libraw1394
access anyway. (raw1394_iso_write, raw1394_start_iso_write, raw1394_start_iso_rcv,
Who: Jody McIntyre <scjody@modernduck.com> raw1394_stop_iso_rcv) or bypass libraw1394.
Who: Dan Dennedy <dan@dennedy.org>, Stefan Richter <stefanr@s5r6.in-berlin.de>
--------------------------- ---------------------------
......
...@@ -99,6 +99,21 @@ static struct hpsb_address_ops arm_ops = { ...@@ -99,6 +99,21 @@ static struct hpsb_address_ops arm_ops = {
static void queue_complete_cb(struct pending_request *req); static void queue_complete_cb(struct pending_request *req);
#include <asm/current.h>
static void print_old_iso_deprecation(void)
{
static pid_t p;
if (p == current->pid)
return;
p = current->pid;
printk(KERN_WARNING "raw1394: WARNING - Program \"%s\" uses unsupported"
" isochronous request types which will be removed in a next"
" kernel release\n", current->comm);
printk(KERN_WARNING "raw1394: Update your software to use libraw1394's"
" newer interface\n");
}
static struct pending_request *__alloc_pending_request(gfp_t flags) static struct pending_request *__alloc_pending_request(gfp_t flags)
{ {
struct pending_request *req; struct pending_request *req;
...@@ -2292,6 +2307,7 @@ static int state_connected(struct file_info *fi, struct pending_request *req) ...@@ -2292,6 +2307,7 @@ static int state_connected(struct file_info *fi, struct pending_request *req)
return sizeof(struct raw1394_request); return sizeof(struct raw1394_request);
case RAW1394_REQ_ISO_SEND: case RAW1394_REQ_ISO_SEND:
print_old_iso_deprecation();
return handle_iso_send(fi, req, node); return handle_iso_send(fi, req, node);
case RAW1394_REQ_ARM_REGISTER: case RAW1394_REQ_ARM_REGISTER:
...@@ -2310,6 +2326,7 @@ static int state_connected(struct file_info *fi, struct pending_request *req) ...@@ -2310,6 +2326,7 @@ static int state_connected(struct file_info *fi, struct pending_request *req)
return reset_notification(fi, req); return reset_notification(fi, req);
case RAW1394_REQ_ISO_LISTEN: case RAW1394_REQ_ISO_LISTEN:
print_old_iso_deprecation();
handle_iso_listen(fi, req); handle_iso_listen(fi, req);
return sizeof(struct raw1394_request); return sizeof(struct raw1394_request);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment