V4L/DVB (6582): Fix em28xx to allow multiple open
Allows shared access support for em28xx. Just one userspace application is
allowed to get stream. The other(s) application(s) can change V4L2 controls,
set video standards, etc.
This patch were splited from Markus Rechberger's tree and backported to 2.6.17
by Pádraig Brady.
The original patch were ported to the latest em28xx version and had CodingStyle
corrected to solve the issues pointed by scripts/checkpatch.pl.
Thanks to Pádraig Brady <P@draigBrady.com> for pointing this.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index c2531da..f8ad0f4a 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -258,6 +258,7 @@
int vscale; /* vertical scale factor (see datasheet) */
int interlaced; /* 1=interlace fileds, 0=just top fileds */
int type;
+ unsigned int reader:1;
unsigned long hash; /* eeprom hash - for boards with generic ID */
unsigned long i2c_hash; /* i2c devicelist hash - for boards with generic ID */
@@ -294,6 +295,11 @@
int (*em28xx_read_reg_req) (struct em28xx * dev, u8 req, u16 reg);
};
+struct em28xx_fh {
+ struct em28xx *dev;
+ unsigned int reader:1;
+};
+
/* Provided by em28xx-i2c.c */
void em28xx_i2c_call_clients(struct em28xx *dev, unsigned int cmd, void *arg);