Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -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>


---------------------------
---------------------------


+17 −0
Original line number Original line Diff line number Diff line
@@ -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)
		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)
		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);