summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/firewire/firedtv-1394.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-11-08 22:29:08 +0100
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 21:41:41 +0100
commit054286b12c7ba7d37a945326d38716a00434002b (patch)
treed0d236c5f9d4341e38a3896f9d81a93bc51b8d4b /drivers/media/dvb/firewire/firedtv-1394.c
parentV4L/DVB (13397): firedtv: move remote control workqueue handling into rc sour... (diff)
downloadlinux-054286b12c7ba7d37a945326d38716a00434002b.tar.xz
linux-054286b12c7ba7d37a945326d38716a00434002b.zip
V4L/DVB (13398): firedtv: reform lock transaction backend call
Preparation for the port of firedtv to the firewire-core kernel API: The fdtv->backend->lock() hook and thus the CMP code is slightly changed to better fit with the new API. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/firewire/firedtv-1394.c')
-rw-r--r--drivers/media/dvb/firewire/firedtv-1394.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/dvb/firewire/firedtv-1394.c b/drivers/media/dvb/firewire/firedtv-1394.c
index a2e3841f8ee9..22ea4c90f5c9 100644
--- a/drivers/media/dvb/firewire/firedtv-1394.c
+++ b/drivers/media/dvb/firewire/firedtv-1394.c
@@ -87,10 +87,15 @@ static inline struct node_entry *node_of(struct firedtv *fdtv)
return container_of(fdtv->device, struct unit_directory, device)->ne;
}
-static int node_lock(struct firedtv *fdtv, u64 addr, void *data, __be32 arg)
+static int node_lock(struct firedtv *fdtv, u64 addr, __be32 data[])
{
- return hpsb_node_lock(node_of(fdtv), addr, EXTCODE_COMPARE_SWAP, data,
- (__force quadlet_t)arg);
+ int ret;
+
+ ret = hpsb_node_lock(node_of(fdtv), addr, EXTCODE_COMPARE_SWAP,
+ (__force quadlet_t *)&data[1], (__force quadlet_t)data[0]);
+ data[0] = data[1];
+
+ return ret;
}
static int node_read(struct firedtv *fdtv, u64 addr, void *data, size_t len)