From c1b4d92789ada9ea6b7f1156ede7022eab309eab Mon Sep 17 00:00:00 2001
From: Michael Krufky <mkrufky@linuxtv.org>
Date: Tue, 22 Apr 2008 14:42:00 -0300
Subject: [PATCH] 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>
---
 drivers/media/video/tuner-i2c.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/tuner-i2c.h b/drivers/media/video/tuner-i2c.h
index 8ec5b41d459f..c53c327a487c 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__ */
-- 
GitLab