aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-11-10 20:21:01 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:02:06 -0500
commita3a048cea301baba5d451991074a85dc20a8f228 (patch)
tree4dc2f79f974c1e73b6809adaebc5d849686a91d0 /drivers/media/video/em28xx/em28xx.h
parent2c94a674e059e89252d58da655efa4e798be4d48 (diff)
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>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r--drivers/media/video/em28xx/em28xx.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index c2531da2e618..f8ad0f4ae6d2 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -258,6 +258,7 @@ struct em28xx {
258 int vscale; /* vertical scale factor (see datasheet) */ 258 int vscale; /* vertical scale factor (see datasheet) */
259 int interlaced; /* 1=interlace fileds, 0=just top fileds */ 259 int interlaced; /* 1=interlace fileds, 0=just top fileds */
260 int type; 260 int type;
261 unsigned int reader:1;
261 262
262 unsigned long hash; /* eeprom hash - for boards with generic ID */ 263 unsigned long hash; /* eeprom hash - for boards with generic ID */
263 unsigned long i2c_hash; /* i2c devicelist hash - for boards with generic ID */ 264 unsigned long i2c_hash; /* i2c devicelist hash - for boards with generic ID */
@@ -294,6 +295,11 @@ struct em28xx {
294 int (*em28xx_read_reg_req) (struct em28xx * dev, u8 req, u16 reg); 295 int (*em28xx_read_reg_req) (struct em28xx * dev, u8 req, u16 reg);
295}; 296};
296 297
298struct em28xx_fh {
299 struct em28xx *dev;
300 unsigned int reader:1;
301};
302
297/* Provided by em28xx-i2c.c */ 303/* Provided by em28xx-i2c.c */
298 304
299void em28xx_i2c_call_clients(struct em28xx *dev, unsigned int cmd, void *arg); 305void em28xx_i2c_call_clients(struct em28xx *dev, unsigned int cmd, void *arg);