diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-11-08 16:29:08 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:41 -0500 |
commit | 054286b12c7ba7d37a945326d38716a00434002b (patch) | |
tree | d0d236c5f9d4341e38a3896f9d81a93bc51b8d4b /drivers/media/dvb/firewire/firedtv-1394.c | |
parent | 56411f49f69140b97e259256b99dc276f2b2b427 (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.c | 11 |
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) | |||
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 | ||
90 | static int node_lock(struct firedtv *fdtv, u64 addr, void *data, __be32 arg) | 90 | static 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 | ||
96 | static int node_read(struct firedtv *fdtv, u64 addr, void *data, size_t len) | 101 | static int node_read(struct firedtv *fdtv, u64 addr, void *data, size_t len) |