aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/firewire/firedtv-1394.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-11-08 16:29:08 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:41:41 -0500
commit054286b12c7ba7d37a945326d38716a00434002b (patch)
treed0d236c5f9d4341e38a3896f9d81a93bc51b8d4b /drivers/media/dvb/firewire/firedtv-1394.c
parent56411f49f69140b97e259256b99dc276f2b2b427 (diff)
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 a2e3841f8ee..22ea4c90f5c 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)
87 return container_of(fdtv->device, struct unit_directory, device)->ne; 87 return container_of(fdtv->device, struct unit_directory, device)->ne;
88} 88}
89 89
90static int node_lock(struct firedtv *fdtv, u64 addr, void *data, __be32 arg) 90static int node_lock(struct firedtv *fdtv, u64 addr, __be32 data[])
91{ 91{
92 return hpsb_node_lock(node_of(fdtv), addr, EXTCODE_COMPARE_SWAP, data, 92 int ret;
93 (__force quadlet_t)arg); 93
94 ret = hpsb_node_lock(node_of(fdtv), addr, EXTCODE_COMPARE_SWAP,
95 (__force quadlet_t *)&data[1], (__force quadlet_t)data[0]);
96 data[0] = data[1];
97
98 return ret;
94} 99}
95 100
96static int node_read(struct firedtv *fdtv, u64 addr, void *data, size_t len) 101static int node_read(struct firedtv *fdtv, u64 addr, void *data, size_t len)