diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-04-22 14:42:00 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:42:27 -0300 |
commit | c1b4d92789ada9ea6b7f1156ede7022eab309eab (patch) | |
tree | 77f6f4e0d38019f111b80d80486d032b9333262c | |
parent | f9e315a16a5536120bac09a6d4217b8381c73c5c (diff) | |
download | op-kernel-dev-c1b4d92789ada9ea6b7f1156ede7022eab309eab.zip op-kernel-dev-c1b4d92789ada9ea6b7f1156ede7022eab309eab.tar.gz |
V4L/DVB (7137): tuner: return number of instances remaining after hybrid_tuner_release_state
Assign the number of instances remaining as the return value of
hybrid_tuner_release_state, in case there is any extra cleanup that
the tuner driver needs to do after an instance has been destroyed.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/tuner-i2c.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/video/tuner-i2c.h b/drivers/media/video/tuner-i2c.h index 8ec5b41d..c53c327 100644 --- a/drivers/media/video/tuner-i2c.h +++ b/drivers/media/video/tuner-i2c.h @@ -155,13 +155,17 @@ __fail: \ __ret; \ }) -#define hybrid_tuner_release_state(state) do { \ +#define hybrid_tuner_release_state(state) \ +({ \ + int __ret; \ state->i2c_props.count--; \ + __ret = state->i2c_props.count; \ if (!state->i2c_props.count) { \ __tuner_info(state->i2c_props, "destroying instance\n");\ list_del(&state->hybrid_tuner_instance_list); \ kfree(state); \ } \ -} while (0) + __ret; \ +}) #endif /* __TUNER_I2C_H__ */ |