aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorlawrence rust <lawrence@softsystem.co.uk>2010-08-25 08:50:20 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:04:52 -0400
commit2e4e98e788d8fbe30892bee3375067a4937155da (patch)
tree66d0ae3a74fa77f3e1cffa752dc61bd4089ce609 /drivers/media
parentf71d76812e6cd3af8e293eeb8eb465c208e771cc (diff)
V4L/DVB: drivers/media: Make static data tables and strings const
Making static data const avoids allocation of additional r/w memory and reduces initialisation time. It also provides some additional opportunities for compiler optimisations. Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/common/tuners/xc5000.c2
-rw-r--r--drivers/media/common/tuners/xc5000.h4
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.h2
-rw-r--r--drivers/media/dvb/dvb-usb/friio-fe.c2
-rw-r--r--drivers/media/dvb/frontends/cx24110.c2
-rw-r--r--drivers/media/dvb/frontends/lgs8gxx.c2
-rw-r--r--drivers/media/dvb/frontends/mt352.c2
-rw-r--r--drivers/media/dvb/frontends/mt352.h2
-rw-r--r--drivers/media/dvb/frontends/si21xx.c2
-rw-r--r--drivers/media/dvb/frontends/stb6100.c2
-rw-r--r--drivers/media/dvb/frontends/stb6100.h4
-rw-r--r--drivers/media/dvb/frontends/stv0288.c2
-rw-r--r--drivers/media/dvb/frontends/stv0299.c2
-rw-r--r--drivers/media/dvb/frontends/stv0299.h2
-rw-r--r--drivers/media/dvb/frontends/tda1004x.c2
-rw-r--r--drivers/media/dvb/frontends/zl10353.c2
-rw-r--r--drivers/media/video/cx88/cx88-alsa.c18
-rw-r--r--drivers/media/video/cx88/cx88-cards.c6
-rw-r--r--drivers/media/video/cx88/cx88-core.c26
-rw-r--r--drivers/media/video/cx88/cx88-dsp.c2
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c118
-rw-r--r--drivers/media/video/cx88/cx88-i2c.c4
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c6
-rw-r--r--drivers/media/video/cx88/cx88-tvaudio.c6
-rw-r--r--drivers/media/video/cx88/cx88-vbi.c2
-rw-r--r--drivers/media/video/cx88/cx88-video.c30
-rw-r--r--drivers/media/video/cx88/cx88.h24
27 files changed, 139 insertions, 139 deletions
diff --git a/drivers/media/common/tuners/xc5000.c b/drivers/media/common/tuners/xc5000.c
index d2b2c12a556..76ac5cd84af 100644
--- a/drivers/media/common/tuners/xc5000.c
+++ b/drivers/media/common/tuners/xc5000.c
@@ -1042,7 +1042,7 @@ static const struct dvb_tuner_ops xc5000_tuner_ops = {
1042 1042
1043struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, 1043struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
1044 struct i2c_adapter *i2c, 1044 struct i2c_adapter *i2c,
1045 struct xc5000_config *cfg) 1045 const struct xc5000_config *cfg)
1046{ 1046{
1047 struct xc5000_priv *priv = NULL; 1047 struct xc5000_priv *priv = NULL;
1048 int instance; 1048 int instance;
diff --git a/drivers/media/common/tuners/xc5000.h b/drivers/media/common/tuners/xc5000.h
index e6d7236c9ea..3756e73649b 100644
--- a/drivers/media/common/tuners/xc5000.h
+++ b/drivers/media/common/tuners/xc5000.h
@@ -53,11 +53,11 @@ struct xc5000_config {
53 (defined(CONFIG_MEDIA_TUNER_XC5000_MODULE) && defined(MODULE)) 53 (defined(CONFIG_MEDIA_TUNER_XC5000_MODULE) && defined(MODULE))
54extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, 54extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
55 struct i2c_adapter *i2c, 55 struct i2c_adapter *i2c,
56 struct xc5000_config *cfg); 56 const struct xc5000_config *cfg);
57#else 57#else
58static inline struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, 58static inline struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
59 struct i2c_adapter *i2c, 59 struct i2c_adapter *i2c,
60 struct xc5000_config *cfg) 60 const struct xc5000_config *cfg)
61{ 61{
62 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 62 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
63 return NULL; 63 return NULL;
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index bf0e6bed28d..f9f19be7718 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -260,7 +260,7 @@ struct dvb_frontend_ops {
260 int (*init)(struct dvb_frontend* fe); 260 int (*init)(struct dvb_frontend* fe);
261 int (*sleep)(struct dvb_frontend* fe); 261 int (*sleep)(struct dvb_frontend* fe);
262 262
263 int (*write)(struct dvb_frontend* fe, u8* buf, int len); 263 int (*write)(struct dvb_frontend* fe, const u8 buf[], int len);
264 264
265 /* if this is set, it overrides the default swzigzag */ 265 /* if this is set, it overrides the default swzigzag */
266 int (*tune)(struct dvb_frontend* fe, 266 int (*tune)(struct dvb_frontend* fe,
diff --git a/drivers/media/dvb/dvb-usb/friio-fe.c b/drivers/media/dvb/dvb-usb/friio-fe.c
index 93c21ddd0b7..015b4e8af1a 100644
--- a/drivers/media/dvb/dvb-usb/friio-fe.c
+++ b/drivers/media/dvb/dvb-usb/friio-fe.c
@@ -75,7 +75,7 @@ static int jdvbt90502_single_reg_write(struct jdvbt90502_state *state,
75 return 0; 75 return 0;
76} 76}
77 77
78static int _jdvbt90502_write(struct dvb_frontend *fe, u8 *buf, int len) 78static int _jdvbt90502_write(struct dvb_frontend *fe, const u8 buf[], int len)
79{ 79{
80 struct jdvbt90502_state *state = fe->demodulator_priv; 80 struct jdvbt90502_state *state = fe->demodulator_priv;
81 int err, i; 81 int err, i;
diff --git a/drivers/media/dvb/frontends/cx24110.c b/drivers/media/dvb/frontends/cx24110.c
index 00a4e8f0330..7a1a5bc337d 100644
--- a/drivers/media/dvb/frontends/cx24110.c
+++ b/drivers/media/dvb/frontends/cx24110.c
@@ -310,7 +310,7 @@ static int cx24110_set_symbolrate (struct cx24110_state* state, u32 srate)
310 310
311} 311}
312 312
313static int _cx24110_pll_write (struct dvb_frontend* fe, u8 *buf, int len) 313static int _cx24110_pll_write (struct dvb_frontend* fe, const u8 buf[], int len)
314{ 314{
315 struct cx24110_state *state = fe->demodulator_priv; 315 struct cx24110_state *state = fe->demodulator_priv;
316 316
diff --git a/drivers/media/dvb/frontends/lgs8gxx.c b/drivers/media/dvb/frontends/lgs8gxx.c
index 5ea28ae2ba8..0fcddc4569d 100644
--- a/drivers/media/dvb/frontends/lgs8gxx.c
+++ b/drivers/media/dvb/frontends/lgs8gxx.c
@@ -662,7 +662,7 @@ static void lgs8gxx_release(struct dvb_frontend *fe)
662} 662}
663 663
664 664
665static int lgs8gxx_write(struct dvb_frontend *fe, u8 *buf, int len) 665static int lgs8gxx_write(struct dvb_frontend *fe, const u8 buf[], int len)
666{ 666{
667 struct lgs8gxx_state *priv = fe->demodulator_priv; 667 struct lgs8gxx_state *priv = fe->demodulator_priv;
668 668
diff --git a/drivers/media/dvb/frontends/mt352.c b/drivers/media/dvb/frontends/mt352.c
index beba5aa0db5..319672f8e1a 100644
--- a/drivers/media/dvb/frontends/mt352.c
+++ b/drivers/media/dvb/frontends/mt352.c
@@ -69,7 +69,7 @@ static int mt352_single_write(struct dvb_frontend *fe, u8 reg, u8 val)
69 return 0; 69 return 0;
70} 70}
71 71
72static int _mt352_write(struct dvb_frontend* fe, u8* ibuf, int ilen) 72static int _mt352_write(struct dvb_frontend* fe, const u8 ibuf[], int ilen)
73{ 73{
74 int err,i; 74 int err,i;
75 for (i=0; i < ilen-1; i++) 75 for (i=0; i < ilen-1; i++)
diff --git a/drivers/media/dvb/frontends/mt352.h b/drivers/media/dvb/frontends/mt352.h
index 595092f9f0c..ca2562d6f28 100644
--- a/drivers/media/dvb/frontends/mt352.h
+++ b/drivers/media/dvb/frontends/mt352.h
@@ -63,7 +63,7 @@ static inline struct dvb_frontend* mt352_attach(const struct mt352_config* confi
63} 63}
64#endif // CONFIG_DVB_MT352 64#endif // CONFIG_DVB_MT352
65 65
66static inline int mt352_write(struct dvb_frontend *fe, u8 *buf, int len) { 66static inline int mt352_write(struct dvb_frontend *fe, const u8 buf[], int len) {
67 int r = 0; 67 int r = 0;
68 if (fe->ops.write) 68 if (fe->ops.write)
69 r = fe->ops.write(fe, buf, len); 69 r = fe->ops.write(fe, buf, len);
diff --git a/drivers/media/dvb/frontends/si21xx.c b/drivers/media/dvb/frontends/si21xx.c
index d21a327db62..4b0c99a08a8 100644
--- a/drivers/media/dvb/frontends/si21xx.c
+++ b/drivers/media/dvb/frontends/si21xx.c
@@ -268,7 +268,7 @@ static int si21_writereg(struct si21xx_state *state, u8 reg, u8 data)
268 return (ret != 1) ? -EREMOTEIO : 0; 268 return (ret != 1) ? -EREMOTEIO : 0;
269} 269}
270 270
271static int si21_write(struct dvb_frontend *fe, u8 *buf, int len) 271static int si21_write(struct dvb_frontend *fe, const u8 buf[], int len)
272{ 272{
273 struct si21xx_state *state = fe->demodulator_priv; 273 struct si21xx_state *state = fe->demodulator_priv;
274 274
diff --git a/drivers/media/dvb/frontends/stb6100.c b/drivers/media/dvb/frontends/stb6100.c
index f73c13323e9..80a9e4cba63 100644
--- a/drivers/media/dvb/frontends/stb6100.c
+++ b/drivers/media/dvb/frontends/stb6100.c
@@ -506,7 +506,7 @@ static struct dvb_tuner_ops stb6100_ops = {
506}; 506};
507 507
508struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, 508struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe,
509 struct stb6100_config *config, 509 const struct stb6100_config *config,
510 struct i2c_adapter *i2c) 510 struct i2c_adapter *i2c)
511{ 511{
512 struct stb6100_state *state = NULL; 512 struct stb6100_state *state = NULL;
diff --git a/drivers/media/dvb/frontends/stb6100.h b/drivers/media/dvb/frontends/stb6100.h
index 395d056599a..2ab096614b3 100644
--- a/drivers/media/dvb/frontends/stb6100.h
+++ b/drivers/media/dvb/frontends/stb6100.h
@@ -97,13 +97,13 @@ struct stb6100_state {
97#if defined(CONFIG_DVB_STB6100) || (defined(CONFIG_DVB_STB6100_MODULE) && defined(MODULE)) 97#if defined(CONFIG_DVB_STB6100) || (defined(CONFIG_DVB_STB6100_MODULE) && defined(MODULE))
98 98
99extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, 99extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe,
100 struct stb6100_config *config, 100 const struct stb6100_config *config,
101 struct i2c_adapter *i2c); 101 struct i2c_adapter *i2c);
102 102
103#else 103#else
104 104
105static inline struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, 105static inline struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe,
106 struct stb6100_config *config, 106 const struct stb6100_config *config,
107 struct i2c_adapter *i2c) 107 struct i2c_adapter *i2c)
108{ 108{
109 printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__); 109 printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__);
diff --git a/drivers/media/dvb/frontends/stv0288.c b/drivers/media/dvb/frontends/stv0288.c
index 2930a5d6768..743989dbb18 100644
--- a/drivers/media/dvb/frontends/stv0288.c
+++ b/drivers/media/dvb/frontends/stv0288.c
@@ -78,7 +78,7 @@ static int stv0288_writeregI(struct stv0288_state *state, u8 reg, u8 data)
78 return (ret != 1) ? -EREMOTEIO : 0; 78 return (ret != 1) ? -EREMOTEIO : 0;
79} 79}
80 80
81static int stv0288_write(struct dvb_frontend *fe, u8 *buf, int len) 81static int stv0288_write(struct dvb_frontend *fe, const u8 buf[], int len)
82{ 82{
83 struct stv0288_state *state = fe->demodulator_priv; 83 struct stv0288_state *state = fe->demodulator_priv;
84 84
diff --git a/drivers/media/dvb/frontends/stv0299.c b/drivers/media/dvb/frontends/stv0299.c
index 96887446972..4e3db3a42e0 100644
--- a/drivers/media/dvb/frontends/stv0299.c
+++ b/drivers/media/dvb/frontends/stv0299.c
@@ -92,7 +92,7 @@ static int stv0299_writeregI (struct stv0299_state* state, u8 reg, u8 data)
92 return (ret != 1) ? -EREMOTEIO : 0; 92 return (ret != 1) ? -EREMOTEIO : 0;
93} 93}
94 94
95static int stv0299_write(struct dvb_frontend* fe, u8 *buf, int len) 95static int stv0299_write(struct dvb_frontend* fe, const u8 buf[], int len)
96{ 96{
97 struct stv0299_state* state = fe->demodulator_priv; 97 struct stv0299_state* state = fe->demodulator_priv;
98 98
diff --git a/drivers/media/dvb/frontends/stv0299.h b/drivers/media/dvb/frontends/stv0299.h
index 0fd96e22b65..ba219b767a6 100644
--- a/drivers/media/dvb/frontends/stv0299.h
+++ b/drivers/media/dvb/frontends/stv0299.h
@@ -65,7 +65,7 @@ struct stv0299_config
65 * First of each pair is the register, second is the value. 65 * First of each pair is the register, second is the value.
66 * List should be terminated with an 0xff, 0xff pair. 66 * List should be terminated with an 0xff, 0xff pair.
67 */ 67 */
68 u8* inittab; 68 const u8* inittab;
69 69
70 /* master clock to use */ 70 /* master clock to use */
71 u32 mclk; 71 u32 mclk;
diff --git a/drivers/media/dvb/frontends/tda1004x.c b/drivers/media/dvb/frontends/tda1004x.c
index f2a8abe0a24..ea485d92355 100644
--- a/drivers/media/dvb/frontends/tda1004x.c
+++ b/drivers/media/dvb/frontends/tda1004x.c
@@ -598,7 +598,7 @@ static int tda1004x_decode_fec(int tdafec)
598 return -1; 598 return -1;
599} 599}
600 600
601static int tda1004x_write(struct dvb_frontend* fe, u8 *buf, int len) 601static int tda1004x_write(struct dvb_frontend* fe, const u8 buf[], int len)
602{ 602{
603 struct tda1004x_state* state = fe->demodulator_priv; 603 struct tda1004x_state* state = fe->demodulator_priv;
604 604
diff --git a/drivers/media/dvb/frontends/zl10353.c b/drivers/media/dvb/frontends/zl10353.c
index 8c612719adf..adbbf6d3d04 100644
--- a/drivers/media/dvb/frontends/zl10353.c
+++ b/drivers/media/dvb/frontends/zl10353.c
@@ -64,7 +64,7 @@ static int zl10353_single_write(struct dvb_frontend *fe, u8 reg, u8 val)
64 return 0; 64 return 0;
65} 65}
66 66
67static int zl10353_write(struct dvb_frontend *fe, u8 *ibuf, int ilen) 67static int zl10353_write(struct dvb_frontend *fe, const u8 ibuf[], int ilen)
68{ 68{
69 int err, i; 69 int err, i;
70 for (i = 0; i < ilen - 1; i++) 70 for (i = 0; i < ilen - 1; i++)
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
index 4f383cdf529..54b7fcd469a 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -94,7 +94,7 @@ typedef struct cx88_audio_dev snd_cx88_card_t;
94 ****************************************************************************/ 94 ****************************************************************************/
95 95
96static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 96static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
97static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 97static const char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
98static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1}; 98static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1};
99 99
100module_param_array(enable, bool, NULL, 0444); 100module_param_array(enable, bool, NULL, 0444);
@@ -131,7 +131,7 @@ static int _cx88_start_audio_dma(snd_cx88_card_t *chip)
131{ 131{
132 struct cx88_audio_buffer *buf = chip->buf; 132 struct cx88_audio_buffer *buf = chip->buf;
133 struct cx88_core *core=chip->core; 133 struct cx88_core *core=chip->core;
134 struct sram_channel *audio_ch = &cx88_sram_channels[SRAM_CH25]; 134 const struct sram_channel *audio_ch = &cx88_sram_channels[SRAM_CH25];
135 135
136 /* Make sure RISC/FIFO are off before changing FIFO/RISC settings */ 136 /* Make sure RISC/FIFO are off before changing FIFO/RISC settings */
137 cx_clear(MO_AUD_DMACNTRL, 0x11); 137 cx_clear(MO_AUD_DMACNTRL, 0x11);
@@ -197,7 +197,7 @@ static int _cx88_stop_audio_dma(snd_cx88_card_t *chip)
197/* 197/*
198 * BOARD Specific: IRQ dma bits 198 * BOARD Specific: IRQ dma bits
199 */ 199 */
200static char *cx88_aud_irqs[32] = { 200static const char *cx88_aud_irqs[32] = {
201 "dn_risci1", "up_risci1", "rds_dn_risc1", /* 0-2 */ 201 "dn_risci1", "up_risci1", "rds_dn_risc1", /* 0-2 */
202 NULL, /* reserved */ 202 NULL, /* reserved */
203 "dn_risci2", "up_risci2", "rds_dn_risc2", /* 4-6 */ 203 "dn_risci2", "up_risci2", "rds_dn_risc2", /* 4-6 */
@@ -308,7 +308,7 @@ static int dsp_buffer_free(snd_cx88_card_t *chip)
308 * Digital hardware definition 308 * Digital hardware definition
309 */ 309 */
310#define DEFAULT_FIFO_SIZE 4096 310#define DEFAULT_FIFO_SIZE 4096
311static struct snd_pcm_hardware snd_cx88_digital_hw = { 311static const struct snd_pcm_hardware snd_cx88_digital_hw = {
312 .info = SNDRV_PCM_INFO_MMAP | 312 .info = SNDRV_PCM_INFO_MMAP |
313 SNDRV_PCM_INFO_INTERLEAVED | 313 SNDRV_PCM_INFO_INTERLEAVED |
314 SNDRV_PCM_INFO_BLOCK_TRANSFER | 314 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -533,7 +533,7 @@ static struct snd_pcm_ops snd_cx88_pcm_ops = {
533/* 533/*
534 * create a PCM device 534 * create a PCM device
535 */ 535 */
536static int __devinit snd_cx88_pcm(snd_cx88_card_t *chip, int device, char *name) 536static int __devinit snd_cx88_pcm(snd_cx88_card_t *chip, int device, const char *name)
537{ 537{
538 int err; 538 int err;
539 struct snd_pcm *pcm; 539 struct snd_pcm *pcm;
@@ -614,7 +614,7 @@ static int snd_cx88_volume_put(struct snd_kcontrol *kcontrol,
614 614
615static const DECLARE_TLV_DB_SCALE(snd_cx88_db_scale, -6300, 100, 0); 615static const DECLARE_TLV_DB_SCALE(snd_cx88_db_scale, -6300, 100, 0);
616 616
617static struct snd_kcontrol_new snd_cx88_volume = { 617static const struct snd_kcontrol_new snd_cx88_volume = {
618 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 618 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
619 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | 619 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE |
620 SNDRV_CTL_ELEM_ACCESS_TLV_READ, 620 SNDRV_CTL_ELEM_ACCESS_TLV_READ,
@@ -656,7 +656,7 @@ static int snd_cx88_switch_put(struct snd_kcontrol *kcontrol,
656 return ret; 656 return ret;
657} 657}
658 658
659static struct snd_kcontrol_new snd_cx88_dac_switch = { 659static const struct snd_kcontrol_new snd_cx88_dac_switch = {
660 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 660 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
661 .name = "Playback Switch", 661 .name = "Playback Switch",
662 .info = snd_ctl_boolean_mono_info, 662 .info = snd_ctl_boolean_mono_info,
@@ -665,7 +665,7 @@ static struct snd_kcontrol_new snd_cx88_dac_switch = {
665 .private_value = (1<<8), 665 .private_value = (1<<8),
666}; 666};
667 667
668static struct snd_kcontrol_new snd_cx88_source_switch = { 668static const struct snd_kcontrol_new snd_cx88_source_switch = {
669 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 669 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
670 .name = "Capture Switch", 670 .name = "Capture Switch",
671 .info = snd_ctl_boolean_mono_info, 671 .info = snd_ctl_boolean_mono_info,
@@ -683,7 +683,7 @@ static struct snd_kcontrol_new snd_cx88_source_switch = {
683 * Only boards with eeprom and byte 1 at eeprom=1 have it 683 * Only boards with eeprom and byte 1 at eeprom=1 have it
684 */ 684 */
685 685
686static struct pci_device_id cx88_audio_pci_tbl[] __devinitdata = { 686static const struct pci_device_id const cx88_audio_pci_tbl[] __devinitdata = {
687 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 687 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
688 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 688 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
689 {0, } 689 {0, }
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index e8416b76da6..97672cb49b5 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -2673,10 +2673,10 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
2673/* ----------------------------------------------------------------------- */ 2673/* ----------------------------------------------------------------------- */
2674/* some GDI (was: Modular Technology) specific stuff */ 2674/* some GDI (was: Modular Technology) specific stuff */
2675 2675
2676static struct { 2676static const struct {
2677 int id; 2677 int id;
2678 int fm; 2678 int fm;
2679 char *name; 2679 const char *name;
2680} gdi_tuner[] = { 2680} gdi_tuner[] = {
2681 [ 0x01 ] = { .id = TUNER_ABSENT, 2681 [ 0x01 ] = { .id = TUNER_ABSENT,
2682 .name = "NTSC_M" }, 2682 .name = "NTSC_M" },
@@ -2710,7 +2710,7 @@ static struct {
2710 2710
2711static void gdi_eeprom(struct cx88_core *core, u8 *eeprom_data) 2711static void gdi_eeprom(struct cx88_core *core, u8 *eeprom_data)
2712{ 2712{
2713 char *name = (eeprom_data[0x0d] < ARRAY_SIZE(gdi_tuner)) 2713 const char *name = (eeprom_data[0x0d] < ARRAY_SIZE(gdi_tuner))
2714 ? gdi_tuner[eeprom_data[0x0d]].name : NULL; 2714 ? gdi_tuner[eeprom_data[0x0d]].name : NULL;
2715 2715
2716 info_printk(core, "GDI: tuner=%s\n", name ? name : "unknown"); 2716 info_printk(core, "GDI: tuner=%s\n", name ? name : "unknown");
diff --git a/drivers/media/video/cx88/cx88-core.c b/drivers/media/video/cx88/cx88-core.c
index 56066a1ff20..e46dd7ed63c 100644
--- a/drivers/media/video/cx88/cx88-core.c
+++ b/drivers/media/video/cx88/cx88-core.c
@@ -253,7 +253,7 @@ cx88_free_buffer(struct videobuf_queue *q, struct cx88_buffer *buf)
253 * 0x0c00 - FIFOs 253 * 0x0c00 - FIFOs
254 */ 254 */
255 255
256struct sram_channel cx88_sram_channels[] = { 256const struct sram_channel const cx88_sram_channels[] = {
257 [SRAM_CH21] = { 257 [SRAM_CH21] = {
258 .name = "video y / packed", 258 .name = "video y / packed",
259 .cmds_start = 0x180040, 259 .cmds_start = 0x180040,
@@ -353,7 +353,7 @@ struct sram_channel cx88_sram_channels[] = {
353}; 353};
354 354
355int cx88_sram_channel_setup(struct cx88_core *core, 355int cx88_sram_channel_setup(struct cx88_core *core,
356 struct sram_channel *ch, 356 const struct sram_channel *ch,
357 unsigned int bpl, u32 risc) 357 unsigned int bpl, u32 risc)
358{ 358{
359 unsigned int i,lines; 359 unsigned int i,lines;
@@ -394,7 +394,7 @@ int cx88_sram_channel_setup(struct cx88_core *core,
394 394
395static int cx88_risc_decode(u32 risc) 395static int cx88_risc_decode(u32 risc)
396{ 396{
397 static char *instr[16] = { 397 static const char * const instr[16] = {
398 [ RISC_SYNC >> 28 ] = "sync", 398 [ RISC_SYNC >> 28 ] = "sync",
399 [ RISC_WRITE >> 28 ] = "write", 399 [ RISC_WRITE >> 28 ] = "write",
400 [ RISC_WRITEC >> 28 ] = "writec", 400 [ RISC_WRITEC >> 28 ] = "writec",
@@ -406,14 +406,14 @@ static int cx88_risc_decode(u32 risc)
406 [ RISC_WRITECM >> 28 ] = "writecm", 406 [ RISC_WRITECM >> 28 ] = "writecm",
407 [ RISC_WRITECR >> 28 ] = "writecr", 407 [ RISC_WRITECR >> 28 ] = "writecr",
408 }; 408 };
409 static int incr[16] = { 409 static int const incr[16] = {
410 [ RISC_WRITE >> 28 ] = 2, 410 [ RISC_WRITE >> 28 ] = 2,
411 [ RISC_JUMP >> 28 ] = 2, 411 [ RISC_JUMP >> 28 ] = 2,
412 [ RISC_WRITERM >> 28 ] = 3, 412 [ RISC_WRITERM >> 28 ] = 3,
413 [ RISC_WRITECM >> 28 ] = 3, 413 [ RISC_WRITECM >> 28 ] = 3,
414 [ RISC_WRITECR >> 28 ] = 4, 414 [ RISC_WRITECR >> 28 ] = 4,
415 }; 415 };
416 static char *bits[] = { 416 static const char * const bits[] = {
417 "12", "13", "14", "resync", 417 "12", "13", "14", "resync",
418 "cnt0", "cnt1", "18", "19", 418 "cnt0", "cnt1", "18", "19",
419 "20", "21", "22", "23", 419 "20", "21", "22", "23",
@@ -432,9 +432,9 @@ static int cx88_risc_decode(u32 risc)
432 432
433 433
434void cx88_sram_channel_dump(struct cx88_core *core, 434void cx88_sram_channel_dump(struct cx88_core *core,
435 struct sram_channel *ch) 435 const struct sram_channel *ch)
436{ 436{
437 static char *name[] = { 437 static const char * const name[] = {
438 "initial risc", 438 "initial risc",
439 "cdt base", 439 "cdt base",
440 "cdt size", 440 "cdt size",
@@ -489,14 +489,14 @@ void cx88_sram_channel_dump(struct cx88_core *core,
489 core->name,cx_read(ch->cnt2_reg)); 489 core->name,cx_read(ch->cnt2_reg));
490} 490}
491 491
492static char *cx88_pci_irqs[32] = { 492static const char *cx88_pci_irqs[32] = {
493 "vid", "aud", "ts", "vip", "hst", "5", "6", "tm1", 493 "vid", "aud", "ts", "vip", "hst", "5", "6", "tm1",
494 "src_dma", "dst_dma", "risc_rd_err", "risc_wr_err", 494 "src_dma", "dst_dma", "risc_rd_err", "risc_wr_err",
495 "brdg_err", "src_dma_err", "dst_dma_err", "ipb_dma_err", 495 "brdg_err", "src_dma_err", "dst_dma_err", "ipb_dma_err",
496 "i2c", "i2c_rack", "ir_smp", "gpio0", "gpio1" 496 "i2c", "i2c_rack", "ir_smp", "gpio0", "gpio1"
497}; 497};
498 498
499void cx88_print_irqbits(char *name, char *tag, char **strings, 499void cx88_print_irqbits(const char *name, const char *tag, const char *strings[],
500 int len, u32 bits, u32 mask) 500 int len, u32 bits, u32 mask)
501{ 501{
502 unsigned int i; 502 unsigned int i;
@@ -770,7 +770,7 @@ static const u32 xtal = 28636363;
770 770
771static int set_pll(struct cx88_core *core, int prescale, u32 ofreq) 771static int set_pll(struct cx88_core *core, int prescale, u32 ofreq)
772{ 772{
773 static u32 pre[] = { 0, 0, 0, 3, 2, 1 }; 773 static const u32 pre[] = { 0, 0, 0, 3, 2, 1 };
774 u64 pll; 774 u64 pll;
775 u32 reg; 775 u32 reg;
776 int i; 776 int i;
@@ -1020,15 +1020,15 @@ int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm)
1020 1020
1021struct video_device *cx88_vdev_init(struct cx88_core *core, 1021struct video_device *cx88_vdev_init(struct cx88_core *core,
1022 struct pci_dev *pci, 1022 struct pci_dev *pci,
1023 struct video_device *template, 1023 const struct video_device *template_,
1024 char *type) 1024 const char *type)
1025{ 1025{
1026 struct video_device *vfd; 1026 struct video_device *vfd;
1027 1027
1028 vfd = video_device_alloc(); 1028 vfd = video_device_alloc();
1029 if (NULL == vfd) 1029 if (NULL == vfd)
1030 return NULL; 1030 return NULL;
1031 *vfd = *template; 1031 *vfd = *template_;
1032 vfd->v4l2_dev = &core->v4l2_dev; 1032 vfd->v4l2_dev = &core->v4l2_dev;
1033 vfd->parent = &pci->dev; 1033 vfd->parent = &pci->dev;
1034 vfd->release = video_device_release; 1034 vfd->release = video_device_release;
diff --git a/drivers/media/video/cx88/cx88-dsp.c b/drivers/media/video/cx88/cx88-dsp.c
index 2e6a92fbb97..a9907265ff6 100644
--- a/drivers/media/video/cx88/cx88-dsp.c
+++ b/drivers/media/video/cx88/cx88-dsp.c
@@ -230,7 +230,7 @@ static s32 detect_btsc(struct cx88_core *core, s16 x[], u32 N)
230 230
231static s16 *read_rds_samples(struct cx88_core *core, u32 *N) 231static s16 *read_rds_samples(struct cx88_core *core, u32 *N)
232{ 232{
233 struct sram_channel *srch = &cx88_sram_channels[SRAM_CH27]; 233 const struct sram_channel *srch = &cx88_sram_channels[SRAM_CH27];
234 s16 *samples; 234 s16 *samples;
235 235
236 unsigned int i; 236 unsigned int i;
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index faa8e8163a4..e24fd8d711d 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -105,7 +105,7 @@ static void dvb_buf_release(struct videobuf_queue *q,
105 cx88_free_buffer(q, (struct cx88_buffer*)vb); 105 cx88_free_buffer(q, (struct cx88_buffer*)vb);
106} 106}
107 107
108static struct videobuf_queue_ops dvb_qops = { 108static const struct videobuf_queue_ops dvb_qops = {
109 .buf_setup = dvb_buf_setup, 109 .buf_setup = dvb_buf_setup,
110 .buf_prepare = dvb_buf_prepare, 110 .buf_prepare = dvb_buf_prepare,
111 .buf_queue = dvb_buf_queue, 111 .buf_queue = dvb_buf_queue,
@@ -167,12 +167,12 @@ static void cx88_dvb_gate_ctrl(struct cx88_core *core, int open)
167 167
168static int dvico_fusionhdtv_demod_init(struct dvb_frontend* fe) 168static int dvico_fusionhdtv_demod_init(struct dvb_frontend* fe)
169{ 169{
170 static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x39 }; 170 static const u8 clock_config [] = { CLOCK_CTL, 0x38, 0x39 };
171 static u8 reset [] = { RESET, 0x80 }; 171 static const u8 reset [] = { RESET, 0x80 };
172 static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 }; 172 static const u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
173 static u8 agc_cfg [] = { AGC_TARGET, 0x24, 0x20 }; 173 static const u8 agc_cfg [] = { AGC_TARGET, 0x24, 0x20 };
174 static u8 gpp_ctl_cfg [] = { GPP_CTL, 0x33 }; 174 static const u8 gpp_ctl_cfg [] = { GPP_CTL, 0x33 };
175 static u8 capt_range_cfg[] = { CAPT_RANGE, 0x32 }; 175 static const u8 capt_range_cfg[] = { CAPT_RANGE, 0x32 };
176 176
177 mt352_write(fe, clock_config, sizeof(clock_config)); 177 mt352_write(fe, clock_config, sizeof(clock_config));
178 udelay(200); 178 udelay(200);
@@ -187,12 +187,12 @@ static int dvico_fusionhdtv_demod_init(struct dvb_frontend* fe)
187 187
188static int dvico_dual_demod_init(struct dvb_frontend *fe) 188static int dvico_dual_demod_init(struct dvb_frontend *fe)
189{ 189{
190 static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x38 }; 190 static const u8 clock_config [] = { CLOCK_CTL, 0x38, 0x38 };
191 static u8 reset [] = { RESET, 0x80 }; 191 static const u8 reset [] = { RESET, 0x80 };
192 static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 }; 192 static const u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
193 static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0x20 }; 193 static const u8 agc_cfg [] = { AGC_TARGET, 0x28, 0x20 };
194 static u8 gpp_ctl_cfg [] = { GPP_CTL, 0x33 }; 194 static const u8 gpp_ctl_cfg [] = { GPP_CTL, 0x33 };
195 static u8 capt_range_cfg[] = { CAPT_RANGE, 0x32 }; 195 static const u8 capt_range_cfg[] = { CAPT_RANGE, 0x32 };
196 196
197 mt352_write(fe, clock_config, sizeof(clock_config)); 197 mt352_write(fe, clock_config, sizeof(clock_config));
198 udelay(200); 198 udelay(200);
@@ -208,13 +208,13 @@ static int dvico_dual_demod_init(struct dvb_frontend *fe)
208 208
209static int dntv_live_dvbt_demod_init(struct dvb_frontend* fe) 209static int dntv_live_dvbt_demod_init(struct dvb_frontend* fe)
210{ 210{
211 static u8 clock_config [] = { 0x89, 0x38, 0x39 }; 211 static const u8 clock_config [] = { 0x89, 0x38, 0x39 };
212 static u8 reset [] = { 0x50, 0x80 }; 212 static const u8 reset [] = { 0x50, 0x80 };
213 static u8 adc_ctl_1_cfg [] = { 0x8E, 0x40 }; 213 static const u8 adc_ctl_1_cfg [] = { 0x8E, 0x40 };
214 static u8 agc_cfg [] = { 0x67, 0x10, 0x23, 0x00, 0xFF, 0xFF, 214 static const u8 agc_cfg [] = { 0x67, 0x10, 0x23, 0x00, 0xFF, 0xFF,
215 0x00, 0xFF, 0x00, 0x40, 0x40 }; 215 0x00, 0xFF, 0x00, 0x40, 0x40 };
216 static u8 dntv_extra[] = { 0xB5, 0x7A }; 216 static const u8 dntv_extra[] = { 0xB5, 0x7A };
217 static u8 capt_range_cfg[] = { 0x75, 0x32 }; 217 static const u8 capt_range_cfg[] = { 0x75, 0x32 };
218 218
219 mt352_write(fe, clock_config, sizeof(clock_config)); 219 mt352_write(fe, clock_config, sizeof(clock_config));
220 udelay(2000); 220 udelay(2000);
@@ -229,22 +229,22 @@ static int dntv_live_dvbt_demod_init(struct dvb_frontend* fe)
229 return 0; 229 return 0;
230} 230}
231 231
232static struct mt352_config dvico_fusionhdtv = { 232static const struct mt352_config dvico_fusionhdtv = {
233 .demod_address = 0x0f, 233 .demod_address = 0x0f,
234 .demod_init = dvico_fusionhdtv_demod_init, 234 .demod_init = dvico_fusionhdtv_demod_init,
235}; 235};
236 236
237static struct mt352_config dntv_live_dvbt_config = { 237static const struct mt352_config dntv_live_dvbt_config = {
238 .demod_address = 0x0f, 238 .demod_address = 0x0f,
239 .demod_init = dntv_live_dvbt_demod_init, 239 .demod_init = dntv_live_dvbt_demod_init,
240}; 240};
241 241
242static struct mt352_config dvico_fusionhdtv_dual = { 242static const struct mt352_config dvico_fusionhdtv_dual = {
243 .demod_address = 0x0f, 243 .demod_address = 0x0f,
244 .demod_init = dvico_dual_demod_init, 244 .demod_init = dvico_dual_demod_init,
245}; 245};
246 246
247static struct zl10353_config cx88_terratec_cinergy_ht_pci_mkii_config = { 247static const struct zl10353_config cx88_terratec_cinergy_ht_pci_mkii_config = {
248 .demod_address = (0x1e >> 1), 248 .demod_address = (0x1e >> 1),
249 .no_tuner = 1, 249 .no_tuner = 1,
250 .if2 = 45600, 250 .if2 = 45600,
@@ -253,13 +253,13 @@ static struct zl10353_config cx88_terratec_cinergy_ht_pci_mkii_config = {
253#if defined(CONFIG_VIDEO_CX88_VP3054) || (defined(CONFIG_VIDEO_CX88_VP3054_MODULE) && defined(MODULE)) 253#if defined(CONFIG_VIDEO_CX88_VP3054) || (defined(CONFIG_VIDEO_CX88_VP3054_MODULE) && defined(MODULE))
254static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend* fe) 254static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend* fe)
255{ 255{
256 static u8 clock_config [] = { 0x89, 0x38, 0x38 }; 256 static const u8 clock_config [] = { 0x89, 0x38, 0x38 };
257 static u8 reset [] = { 0x50, 0x80 }; 257 static const u8 reset [] = { 0x50, 0x80 };
258 static u8 adc_ctl_1_cfg [] = { 0x8E, 0x40 }; 258 static const u8 adc_ctl_1_cfg [] = { 0x8E, 0x40 };
259 static u8 agc_cfg [] = { 0x67, 0x10, 0x20, 0x00, 0xFF, 0xFF, 259 static const u8 agc_cfg [] = { 0x67, 0x10, 0x20, 0x00, 0xFF, 0xFF,
260 0x00, 0xFF, 0x00, 0x40, 0x40 }; 260 0x00, 0xFF, 0x00, 0x40, 0x40 };
261 static u8 dntv_extra[] = { 0xB5, 0x7A }; 261 static const u8 dntv_extra[] = { 0xB5, 0x7A };
262 static u8 capt_range_cfg[] = { 0x75, 0x32 }; 262 static const u8 capt_range_cfg[] = { 0x75, 0x32 };
263 263
264 mt352_write(fe, clock_config, sizeof(clock_config)); 264 mt352_write(fe, clock_config, sizeof(clock_config));
265 udelay(2000); 265 udelay(2000);
@@ -274,41 +274,41 @@ static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend* fe)
274 return 0; 274 return 0;
275} 275}
276 276
277static struct mt352_config dntv_live_dvbt_pro_config = { 277static const struct mt352_config dntv_live_dvbt_pro_config = {
278 .demod_address = 0x0f, 278 .demod_address = 0x0f,
279 .no_tuner = 1, 279 .no_tuner = 1,
280 .demod_init = dntv_live_dvbt_pro_demod_init, 280 .demod_init = dntv_live_dvbt_pro_demod_init,
281}; 281};
282#endif 282#endif
283 283
284static struct zl10353_config dvico_fusionhdtv_hybrid = { 284static const struct zl10353_config dvico_fusionhdtv_hybrid = {
285 .demod_address = 0x0f, 285 .demod_address = 0x0f,
286 .no_tuner = 1, 286 .no_tuner = 1,
287}; 287};
288 288
289static struct zl10353_config dvico_fusionhdtv_xc3028 = { 289static const struct zl10353_config dvico_fusionhdtv_xc3028 = {
290 .demod_address = 0x0f, 290 .demod_address = 0x0f,
291 .if2 = 45600, 291 .if2 = 45600,
292 .no_tuner = 1, 292 .no_tuner = 1,
293}; 293};
294 294
295static struct mt352_config dvico_fusionhdtv_mt352_xc3028 = { 295static const struct mt352_config dvico_fusionhdtv_mt352_xc3028 = {
296 .demod_address = 0x0f, 296 .demod_address = 0x0f,
297 .if2 = 4560, 297 .if2 = 4560,
298 .no_tuner = 1, 298 .no_tuner = 1,
299 .demod_init = dvico_fusionhdtv_demod_init, 299 .demod_init = dvico_fusionhdtv_demod_init,
300}; 300};
301 301
302static struct zl10353_config dvico_fusionhdtv_plus_v1_1 = { 302static const struct zl10353_config dvico_fusionhdtv_plus_v1_1 = {
303 .demod_address = 0x0f, 303 .demod_address = 0x0f,
304}; 304};
305 305
306static struct cx22702_config connexant_refboard_config = { 306static const struct cx22702_config connexant_refboard_config = {
307 .demod_address = 0x43, 307 .demod_address = 0x43,
308 .output_mode = CX22702_SERIAL_OUTPUT, 308 .output_mode = CX22702_SERIAL_OUTPUT,
309}; 309};
310 310
311static struct cx22702_config hauppauge_hvr_config = { 311static const struct cx22702_config hauppauge_hvr_config = {
312 .demod_address = 0x63, 312 .demod_address = 0x63,
313 .output_mode = CX22702_SERIAL_OUTPUT, 313 .output_mode = CX22702_SERIAL_OUTPUT,
314}; 314};
@@ -320,7 +320,7 @@ static int or51132_set_ts_param(struct dvb_frontend* fe, int is_punctured)
320 return 0; 320 return 0;
321} 321}
322 322
323static struct or51132_config pchdtv_hd3000 = { 323static const struct or51132_config pchdtv_hd3000 = {
324 .demod_address = 0x15, 324 .demod_address = 0x15,
325 .set_ts_params = or51132_set_ts_param, 325 .set_ts_params = or51132_set_ts_param,
326}; 326};
@@ -355,14 +355,14 @@ static struct lgdt330x_config fusionhdtv_3_gold = {
355 .set_ts_params = lgdt330x_set_ts_param, 355 .set_ts_params = lgdt330x_set_ts_param,
356}; 356};
357 357
358static struct lgdt330x_config fusionhdtv_5_gold = { 358static const struct lgdt330x_config fusionhdtv_5_gold = {
359 .demod_address = 0x0e, 359 .demod_address = 0x0e,
360 .demod_chip = LGDT3303, 360 .demod_chip = LGDT3303,
361 .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */ 361 .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
362 .set_ts_params = lgdt330x_set_ts_param, 362 .set_ts_params = lgdt330x_set_ts_param,
363}; 363};
364 364
365static struct lgdt330x_config pchdtv_hd5500 = { 365static const struct lgdt330x_config pchdtv_hd5500 = {
366 .demod_address = 0x59, 366 .demod_address = 0x59,
367 .demod_chip = LGDT3303, 367 .demod_chip = LGDT3303,
368 .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */ 368 .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
@@ -376,7 +376,7 @@ static int nxt200x_set_ts_param(struct dvb_frontend* fe, int is_punctured)
376 return 0; 376 return 0;
377} 377}
378 378
379static struct nxt200x_config ati_hdtvwonder = { 379static const struct nxt200x_config ati_hdtvwonder = {
380 .demod_address = 0x0a, 380 .demod_address = 0x0a,
381 .set_ts_params = nxt200x_set_ts_param, 381 .set_ts_params = nxt200x_set_ts_param,
382}; 382};
@@ -445,23 +445,23 @@ static int tevii_dvbs_set_voltage(struct dvb_frontend *fe,
445 return 0; 445 return 0;
446} 446}
447 447
448static struct cx24123_config geniatech_dvbs_config = { 448static const struct cx24123_config geniatech_dvbs_config = {
449 .demod_address = 0x55, 449 .demod_address = 0x55,
450 .set_ts_params = cx24123_set_ts_param, 450 .set_ts_params = cx24123_set_ts_param,
451}; 451};
452 452
453static struct cx24123_config hauppauge_novas_config = { 453static const struct cx24123_config hauppauge_novas_config = {
454 .demod_address = 0x55, 454 .demod_address = 0x55,
455 .set_ts_params = cx24123_set_ts_param, 455 .set_ts_params = cx24123_set_ts_param,
456}; 456};
457 457
458static struct cx24123_config kworld_dvbs_100_config = { 458static const struct cx24123_config kworld_dvbs_100_config = {
459 .demod_address = 0x15, 459 .demod_address = 0x15,
460 .set_ts_params = cx24123_set_ts_param, 460 .set_ts_params = cx24123_set_ts_param,
461 .lnb_polarity = 1, 461 .lnb_polarity = 1,
462}; 462};
463 463
464static struct s5h1409_config pinnacle_pctv_hd_800i_config = { 464static const struct s5h1409_config pinnacle_pctv_hd_800i_config = {
465 .demod_address = 0x32 >> 1, 465 .demod_address = 0x32 >> 1,
466 .output_mode = S5H1409_PARALLEL_OUTPUT, 466 .output_mode = S5H1409_PARALLEL_OUTPUT,
467 .gpio = S5H1409_GPIO_ON, 467 .gpio = S5H1409_GPIO_ON,
@@ -471,7 +471,7 @@ static struct s5h1409_config pinnacle_pctv_hd_800i_config = {
471 .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK, 471 .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,
472}; 472};
473 473
474static struct s5h1409_config dvico_hdtv5_pci_nano_config = { 474static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {
475 .demod_address = 0x32 >> 1, 475 .demod_address = 0x32 >> 1,
476 .output_mode = S5H1409_SERIAL_OUTPUT, 476 .output_mode = S5H1409_SERIAL_OUTPUT,
477 .gpio = S5H1409_GPIO_OFF, 477 .gpio = S5H1409_GPIO_OFF,
@@ -480,7 +480,7 @@ static struct s5h1409_config dvico_hdtv5_pci_nano_config = {
480 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, 480 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
481}; 481};
482 482
483static struct s5h1409_config kworld_atsc_120_config = { 483static const struct s5h1409_config kworld_atsc_120_config = {
484 .demod_address = 0x32 >> 1, 484 .demod_address = 0x32 >> 1,
485 .output_mode = S5H1409_SERIAL_OUTPUT, 485 .output_mode = S5H1409_SERIAL_OUTPUT,
486 .gpio = S5H1409_GPIO_OFF, 486 .gpio = S5H1409_GPIO_OFF,
@@ -489,24 +489,24 @@ static struct s5h1409_config kworld_atsc_120_config = {
489 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, 489 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
490}; 490};
491 491
492static struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = { 492static const struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = {
493 .i2c_address = 0x64, 493 .i2c_address = 0x64,
494 .if_khz = 5380, 494 .if_khz = 5380,
495}; 495};
496 496
497static struct zl10353_config cx88_pinnacle_hybrid_pctv = { 497static const struct zl10353_config cx88_pinnacle_hybrid_pctv = {
498 .demod_address = (0x1e >> 1), 498 .demod_address = (0x1e >> 1),
499 .no_tuner = 1, 499 .no_tuner = 1,
500 .if2 = 45600, 500 .if2 = 45600,
501}; 501};
502 502
503static struct zl10353_config cx88_geniatech_x8000_mt = { 503static const struct zl10353_config cx88_geniatech_x8000_mt = {
504 .demod_address = (0x1e >> 1), 504 .demod_address = (0x1e >> 1),
505 .no_tuner = 1, 505 .no_tuner = 1,
506 .disable_i2c_gate_ctrl = 1, 506 .disable_i2c_gate_ctrl = 1,
507}; 507};
508 508
509static struct s5h1411_config dvico_fusionhdtv7_config = { 509static const struct s5h1411_config dvico_fusionhdtv7_config = {
510 .output_mode = S5H1411_SERIAL_OUTPUT, 510 .output_mode = S5H1411_SERIAL_OUTPUT,
511 .gpio = S5H1411_GPIO_ON, 511 .gpio = S5H1411_GPIO_ON,
512 .mpeg_timing = S5H1411_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, 512 .mpeg_timing = S5H1411_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
@@ -516,7 +516,7 @@ static struct s5h1411_config dvico_fusionhdtv7_config = {
516 .status_mode = S5H1411_DEMODLOCKING 516 .status_mode = S5H1411_DEMODLOCKING
517}; 517};
518 518
519static struct xc5000_config dvico_fusionhdtv7_tuner_config = { 519static const struct xc5000_config dvico_fusionhdtv7_tuner_config = {
520 .i2c_address = 0xc2 >> 1, 520 .i2c_address = 0xc2 >> 1,
521 .if_khz = 5380, 521 .if_khz = 5380,
522}; 522};
@@ -601,19 +601,19 @@ static int cx24116_reset_device(struct dvb_frontend *fe)
601 return 0; 601 return 0;
602} 602}
603 603
604static struct cx24116_config hauppauge_hvr4000_config = { 604static const struct cx24116_config hauppauge_hvr4000_config = {
605 .demod_address = 0x05, 605 .demod_address = 0x05,
606 .set_ts_params = cx24116_set_ts_param, 606 .set_ts_params = cx24116_set_ts_param,
607 .reset_device = cx24116_reset_device, 607 .reset_device = cx24116_reset_device,
608}; 608};
609 609
610static struct cx24116_config tevii_s460_config = { 610static const struct cx24116_config tevii_s460_config = {
611 .demod_address = 0x55, 611 .demod_address = 0x55,
612 .set_ts_params = cx24116_set_ts_param, 612 .set_ts_params = cx24116_set_ts_param,
613 .reset_device = cx24116_reset_device, 613 .reset_device = cx24116_reset_device,
614}; 614};
615 615
616static struct stv0900_config prof_7301_stv0900_config = { 616static const struct stv0900_config prof_7301_stv0900_config = {
617 .demod_address = 0x6a, 617 .demod_address = 0x6a,
618/* demod_mode = 0,*/ 618/* demod_mode = 0,*/
619 .xtal = 27000000, 619 .xtal = 27000000,
@@ -625,12 +625,12 @@ static struct stv0900_config prof_7301_stv0900_config = {
625 .set_ts_params = stv0900_set_ts_param, 625 .set_ts_params = stv0900_set_ts_param,
626}; 626};
627 627
628static struct stb6100_config prof_7301_stb6100_config = { 628static const struct stb6100_config prof_7301_stb6100_config = {
629 .tuner_address = 0x60, 629 .tuner_address = 0x60,
630 .refclock = 27000000, 630 .refclock = 27000000,
631}; 631};
632 632
633static struct stv0299_config tevii_tuner_sharp_config = { 633static const struct stv0299_config tevii_tuner_sharp_config = {
634 .demod_address = 0x68, 634 .demod_address = 0x68,
635 .inittab = sharp_z0194a_inittab, 635 .inittab = sharp_z0194a_inittab,
636 .mclk = 88000000UL, 636 .mclk = 88000000UL,
@@ -643,7 +643,7 @@ static struct stv0299_config tevii_tuner_sharp_config = {
643 .set_ts_params = cx24116_set_ts_param, 643 .set_ts_params = cx24116_set_ts_param,
644}; 644};
645 645
646static struct stv0288_config tevii_tuner_earda_config = { 646static const struct stv0288_config tevii_tuner_earda_config = {
647 .demod_address = 0x68, 647 .demod_address = 0x68,
648 .min_delay_ms = 100, 648 .min_delay_ms = 100,
649 .set_ts_params = cx24116_set_ts_param, 649 .set_ts_params = cx24116_set_ts_param,
@@ -676,7 +676,7 @@ static int cx8802_alloc_frontends(struct cx8802_dev *dev)
676 676
677 677
678 678
679static u8 samsung_smt_7020_inittab[] = { 679static const u8 samsung_smt_7020_inittab[] = {
680 0x01, 0x15, 680 0x01, 0x15,
681 0x02, 0x00, 681 0x02, 0x00,
682 0x03, 0x00, 682 0x03, 0x00,
@@ -850,7 +850,7 @@ static int samsung_smt_7020_stv0299_set_symbol_rate(struct dvb_frontend *fe,
850} 850}
851 851
852 852
853static struct stv0299_config samsung_stv0299_config = { 853static const struct stv0299_config samsung_stv0299_config = {
854 .demod_address = 0x68, 854 .demod_address = 0x68,
855 .inittab = samsung_smt_7020_inittab, 855 .inittab = samsung_smt_7020_inittab,
856 .mclk = 88000000UL, 856 .mclk = 88000000UL,
diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c
index 82db555b22d..9d25d4f4926 100644
--- a/drivers/media/video/cx88/cx88-i2c.c
+++ b/drivers/media/video/cx88/cx88-i2c.c
@@ -108,7 +108,7 @@ static const struct i2c_algo_bit_data cx8800_i2c_algo_template = {
108 108
109/* ----------------------------------------------------------------------- */ 109/* ----------------------------------------------------------------------- */
110 110
111static char *i2c_devs[128] = { 111static const char * const i2c_devs[128] = {
112 [ 0x1c >> 1 ] = "lgdt330x", 112 [ 0x1c >> 1 ] = "lgdt330x",
113 [ 0x86 >> 1 ] = "tda9887/cx22702", 113 [ 0x86 >> 1 ] = "tda9887/cx22702",
114 [ 0xa0 >> 1 ] = "eeprom", 114 [ 0xa0 >> 1 ] = "eeprom",
@@ -117,7 +117,7 @@ static char *i2c_devs[128] = {
117 [ 0xc8 >> 1 ] = "xc5000", 117 [ 0xc8 >> 1 ] = "xc5000",
118}; 118};
119 119
120static void do_i2c_scan(char *name, struct i2c_client *c) 120static void do_i2c_scan(const char *name, struct i2c_client *c)
121{ 121{
122 unsigned char buf; 122 unsigned char buf;
123 int i,rc; 123 int i,rc;
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index 499f8d512ad..f7d71acbb07 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -313,7 +313,7 @@ void cx8802_buf_queue(struct cx8802_dev *dev, struct cx88_buffer *buf)
313 313
314/* ----------------------------------------------------------- */ 314/* ----------------------------------------------------------- */
315 315
316static void do_cancel_buffers(struct cx8802_dev *dev, char *reason, int restart) 316static void do_cancel_buffers(struct cx8802_dev *dev, const char *reason, int restart)
317{ 317{
318 struct cx88_dmaqueue *q = &dev->mpegq; 318 struct cx88_dmaqueue *q = &dev->mpegq;
319 struct cx88_buffer *buf; 319 struct cx88_buffer *buf;
@@ -358,7 +358,7 @@ static void cx8802_timeout(unsigned long data)
358 do_cancel_buffers(dev,"timeout",1); 358 do_cancel_buffers(dev,"timeout",1);
359} 359}
360 360
361static char *cx88_mpeg_irqs[32] = { 361static const char * cx88_mpeg_irqs[32] = {
362 "ts_risci1", NULL, NULL, NULL, 362 "ts_risci1", NULL, NULL, NULL,
363 "ts_risci2", NULL, NULL, NULL, 363 "ts_risci2", NULL, NULL, NULL,
364 "ts_oflow", NULL, NULL, NULL, 364 "ts_oflow", NULL, NULL, NULL,
@@ -849,7 +849,7 @@ static void __devexit cx8802_remove(struct pci_dev *pci_dev)
849 kfree(dev); 849 kfree(dev);
850} 850}
851 851
852static struct pci_device_id cx8802_pci_tbl[] = { 852static const struct pci_device_id cx8802_pci_tbl[] = {
853 { 853 {
854 .vendor = 0x14f1, 854 .vendor = 0x14f1,
855 .device = 0x8802, 855 .device = 0x8802,
diff --git a/drivers/media/video/cx88/cx88-tvaudio.c b/drivers/media/video/cx88/cx88-tvaudio.c
index db635470906..08220de3d74 100644
--- a/drivers/media/video/cx88/cx88-tvaudio.c
+++ b/drivers/media/video/cx88/cx88-tvaudio.c
@@ -70,7 +70,7 @@ MODULE_PARM_DESC(radio_deemphasis, "Radio deemphasis time constant, "
70 70
71/* ----------------------------------------------------------- */ 71/* ----------------------------------------------------------- */
72 72
73static char *aud_ctl_names[64] = { 73static const char * const aud_ctl_names[64] = {
74 [EN_BTSC_FORCE_MONO] = "BTSC_FORCE_MONO", 74 [EN_BTSC_FORCE_MONO] = "BTSC_FORCE_MONO",
75 [EN_BTSC_FORCE_STEREO] = "BTSC_FORCE_STEREO", 75 [EN_BTSC_FORCE_STEREO] = "BTSC_FORCE_STEREO",
76 [EN_BTSC_FORCE_SAP] = "BTSC_FORCE_SAP", 76 [EN_BTSC_FORCE_SAP] = "BTSC_FORCE_SAP",
@@ -809,8 +809,8 @@ void cx88_newstation(struct cx88_core *core)
809 809
810void cx88_get_stereo(struct cx88_core *core, struct v4l2_tuner *t) 810void cx88_get_stereo(struct cx88_core *core, struct v4l2_tuner *t)
811{ 811{
812 static char *m[] = { "stereo", "dual mono", "mono", "sap" }; 812 static const char * const m[] = { "stereo", "dual mono", "mono", "sap" };
813 static char *p[] = { "no pilot", "pilot c1", "pilot c2", "?" }; 813 static const char * const p[] = { "no pilot", "pilot c1", "pilot c2", "?" };
814 u32 reg, mode, pilot; 814 u32 reg, mode, pilot;
815 815
816 reg = cx_read(AUD_STATUS); 816 reg = cx_read(AUD_STATUS);
diff --git a/drivers/media/video/cx88/cx88-vbi.c b/drivers/media/video/cx88/cx88-vbi.c
index d9445b0e7ab..f8f8389c036 100644
--- a/drivers/media/video/cx88/cx88-vbi.c
+++ b/drivers/media/video/cx88/cx88-vbi.c
@@ -230,7 +230,7 @@ static void vbi_release(struct videobuf_queue *q, struct videobuf_buffer *vb)
230 cx88_free_buffer(q,buf); 230 cx88_free_buffer(q,buf);
231} 231}
232 232
233struct videobuf_queue_ops cx8800_vbi_qops = { 233const struct videobuf_queue_ops cx8800_vbi_qops = {
234 .buf_setup = vbi_setup, 234 .buf_setup = vbi_setup,
235 .buf_prepare = vbi_prepare, 235 .buf_prepare = vbi_prepare,
236 .buf_queue = vbi_queue, 236 .buf_queue = vbi_queue,
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 4fba913edb1..b755bf100a2 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -78,7 +78,7 @@ MODULE_PARM_DESC(vid_limit,"capture memory limit in megabytes");
78/* ------------------------------------------------------------------- */ 78/* ------------------------------------------------------------------- */
79/* static data */ 79/* static data */
80 80
81static struct cx8800_fmt formats[] = { 81static const struct cx8800_fmt formats[] = {
82 { 82 {
83 .name = "8 bpp, gray", 83 .name = "8 bpp, gray",
84 .fourcc = V4L2_PIX_FMT_GREY, 84 .fourcc = V4L2_PIX_FMT_GREY,
@@ -142,7 +142,7 @@ static struct cx8800_fmt formats[] = {
142 }, 142 },
143}; 143};
144 144
145static struct cx8800_fmt* format_by_fourcc(unsigned int fourcc) 145static const struct cx8800_fmt* format_by_fourcc(unsigned int fourcc)
146{ 146{
147 unsigned int i; 147 unsigned int i;
148 148
@@ -159,7 +159,7 @@ static const struct v4l2_queryctrl no_ctl = {
159 .flags = V4L2_CTRL_FLAG_DISABLED, 159 .flags = V4L2_CTRL_FLAG_DISABLED,
160}; 160};
161 161
162static struct cx88_ctrl cx8800_ctls[] = { 162static const struct cx88_ctrl cx8800_ctls[] = {
163 /* --- video --- */ 163 /* --- video --- */
164 { 164 {
165 .v = { 165 .v = {
@@ -288,7 +288,7 @@ static struct cx88_ctrl cx8800_ctls[] = {
288 .shift = 0, 288 .shift = 0,
289 } 289 }
290}; 290};
291static const int CX8800_CTLS = ARRAY_SIZE(cx8800_ctls); 291enum { CX8800_CTLS = ARRAY_SIZE(cx8800_ctls) };
292 292
293/* Must be sorted from low to high control ID! */ 293/* Must be sorted from low to high control ID! */
294const u32 cx88_user_ctrls[] = { 294const u32 cx88_user_ctrls[] = {
@@ -306,7 +306,7 @@ const u32 cx88_user_ctrls[] = {
306}; 306};
307EXPORT_SYMBOL(cx88_user_ctrls); 307EXPORT_SYMBOL(cx88_user_ctrls);
308 308
309static const u32 *ctrl_classes[] = { 309static const u32 * const ctrl_classes[] = {
310 cx88_user_ctrls, 310 cx88_user_ctrls,
311 NULL 311 NULL
312}; 312};
@@ -710,7 +710,7 @@ static void buffer_release(struct videobuf_queue *q, struct videobuf_buffer *vb)
710 cx88_free_buffer(q,buf); 710 cx88_free_buffer(q,buf);
711} 711}
712 712
713static struct videobuf_queue_ops cx8800_video_qops = { 713static const struct videobuf_queue_ops cx8800_video_qops = {
714 .buf_setup = buffer_setup, 714 .buf_setup = buffer_setup,
715 .buf_prepare = buffer_prepare, 715 .buf_prepare = buffer_prepare,
716 .buf_queue = buffer_queue, 716 .buf_queue = buffer_queue,
@@ -944,7 +944,7 @@ video_mmap(struct file *file, struct vm_area_struct * vma)
944 944
945int cx88_get_control (struct cx88_core *core, struct v4l2_control *ctl) 945int cx88_get_control (struct cx88_core *core, struct v4l2_control *ctl)
946{ 946{
947 struct cx88_ctrl *c = NULL; 947 const struct cx88_ctrl *c = NULL;
948 u32 value; 948 u32 value;
949 int i; 949 int i;
950 950
@@ -976,7 +976,7 @@ EXPORT_SYMBOL(cx88_get_control);
976 976
977int cx88_set_control(struct cx88_core *core, struct v4l2_control *ctl) 977int cx88_set_control(struct cx88_core *core, struct v4l2_control *ctl)
978{ 978{
979 struct cx88_ctrl *c = NULL; 979 const struct cx88_ctrl *c = NULL;
980 u32 value,mask; 980 u32 value,mask;
981 int i; 981 int i;
982 982
@@ -1072,7 +1072,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
1072 struct v4l2_format *f) 1072 struct v4l2_format *f)
1073{ 1073{
1074 struct cx88_core *core = ((struct cx8800_fh *)priv)->dev->core; 1074 struct cx88_core *core = ((struct cx8800_fh *)priv)->dev->core;
1075 struct cx8800_fmt *fmt; 1075 const struct cx8800_fmt *fmt;
1076 enum v4l2_field field; 1076 enum v4l2_field field;
1077 unsigned int maxw, maxh; 1077 unsigned int maxw, maxh;
1078 1078
@@ -1247,7 +1247,7 @@ static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id *tvnorms)
1247/* only one input in this sample driver */ 1247/* only one input in this sample driver */
1248int cx88_enum_input (struct cx88_core *core,struct v4l2_input *i) 1248int cx88_enum_input (struct cx88_core *core,struct v4l2_input *i)
1249{ 1249{
1250 static const char *iname[] = { 1250 static const char * const iname[] = {
1251 [ CX88_VMUX_COMPOSITE1 ] = "Composite1", 1251 [ CX88_VMUX_COMPOSITE1 ] = "Composite1",
1252 [ CX88_VMUX_COMPOSITE2 ] = "Composite2", 1252 [ CX88_VMUX_COMPOSITE2 ] = "Composite2",
1253 [ CX88_VMUX_COMPOSITE3 ] = "Composite3", 1253 [ CX88_VMUX_COMPOSITE3 ] = "Composite3",
@@ -1579,7 +1579,7 @@ static void cx8800_vid_timeout(unsigned long data)
1579 spin_unlock_irqrestore(&dev->slock,flags); 1579 spin_unlock_irqrestore(&dev->slock,flags);
1580} 1580}
1581 1581
1582static char *cx88_vid_irqs[32] = { 1582static const char *cx88_vid_irqs[32] = {
1583 "y_risci1", "u_risci1", "v_risci1", "vbi_risc1", 1583 "y_risci1", "u_risci1", "v_risci1", "vbi_risc1",
1584 "y_risci2", "u_risci2", "v_risci2", "vbi_risc2", 1584 "y_risci2", "u_risci2", "v_risci2", "vbi_risc2",
1585 "y_oflow", "u_oflow", "v_oflow", "vbi_oflow", 1585 "y_oflow", "u_oflow", "v_oflow", "vbi_oflow",
@@ -1724,7 +1724,7 @@ static const struct v4l2_ioctl_ops video_ioctl_ops = {
1724 1724
1725static struct video_device cx8800_vbi_template; 1725static struct video_device cx8800_vbi_template;
1726 1726
1727static struct video_device cx8800_video_template = { 1727static const struct video_device cx8800_video_template = {
1728 .name = "cx8800-video", 1728 .name = "cx8800-video",
1729 .fops = &video_fops, 1729 .fops = &video_fops,
1730 .ioctl_ops = &video_ioctl_ops, 1730 .ioctl_ops = &video_ioctl_ops,
@@ -1759,7 +1759,7 @@ static const struct v4l2_ioctl_ops radio_ioctl_ops = {
1759#endif 1759#endif
1760}; 1760};
1761 1761
1762static struct video_device cx8800_radio_template = { 1762static const struct video_device cx8800_radio_template = {
1763 .name = "cx8800-radio", 1763 .name = "cx8800-radio",
1764 .fops = &radio_fops, 1764 .fops = &radio_fops,
1765 .ioctl_ops = &radio_ioctl_ops, 1765 .ioctl_ops = &radio_ioctl_ops,
@@ -1886,7 +1886,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
1886 switch (core->boardnr) { 1886 switch (core->boardnr) {
1887 case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD: 1887 case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD:
1888 case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD: { 1888 case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD: {
1889 static struct i2c_board_info rtc_info = { 1889 static const struct i2c_board_info rtc_info = {
1890 I2C_BOARD_INFO("isl1208", 0x6f) 1890 I2C_BOARD_INFO("isl1208", 0x6f)
1891 }; 1891 };
1892 1892
@@ -2083,7 +2083,7 @@ static int cx8800_resume(struct pci_dev *pci_dev)
2083 2083
2084/* ----------------------------------------------------------- */ 2084/* ----------------------------------------------------------- */
2085 2085
2086static struct pci_device_id cx8800_pci_tbl[] = { 2086static const struct pci_device_id cx8800_pci_tbl[] = {
2087 { 2087 {
2088 .vendor = 0x14f1, 2088 .vendor = 0x14f1,
2089 .device = 0x8800, 2089 .device = 0x8800,
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index d9554090eb6..bda9e3ee425 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -108,7 +108,7 @@ static unsigned int inline norm_maxh(v4l2_std_id norm)
108/* static data */ 108/* static data */
109 109
110struct cx8800_fmt { 110struct cx8800_fmt {
111 char *name; 111 const char *name;
112 u32 fourcc; /* v4l2 format id */ 112 u32 fourcc; /* v4l2 format id */
113 int depth; 113 int depth;
114 int flags; 114 int flags;
@@ -138,7 +138,7 @@ struct cx88_ctrl {
138/* more */ 138/* more */
139 139
140struct sram_channel { 140struct sram_channel {
141 char *name; 141 const char *name;
142 u32 cmds_start; 142 u32 cmds_start;
143 u32 ctrl_start; 143 u32 ctrl_start;
144 u32 cdt; 144 u32 cdt;
@@ -149,7 +149,7 @@ struct sram_channel {
149 u32 cnt1_reg; 149 u32 cnt1_reg;
150 u32 cnt2_reg; 150 u32 cnt2_reg;
151}; 151};
152extern struct sram_channel cx88_sram_channels[]; 152extern const struct sram_channel const cx88_sram_channels[];
153 153
154/* ----------------------------------------------------------- */ 154/* ----------------------------------------------------------- */
155/* card configuration */ 155/* card configuration */
@@ -262,7 +262,7 @@ struct cx88_input {
262}; 262};
263 263
264struct cx88_board { 264struct cx88_board {
265 char *name; 265 const char *name;
266 unsigned int tuner_type; 266 unsigned int tuner_type;
267 unsigned int radio_type; 267 unsigned int radio_type;
268 unsigned char tuner_addr; 268 unsigned char tuner_addr;
@@ -314,7 +314,7 @@ struct cx88_buffer {
314 /* cx88 specific */ 314 /* cx88 specific */
315 unsigned int bpl; 315 unsigned int bpl;
316 struct btcx_riscmem risc; 316 struct btcx_riscmem risc;
317 struct cx8800_fmt *fmt; 317 const struct cx8800_fmt *fmt;
318 u32 count; 318 u32 count;
319}; 319};
320 320
@@ -424,7 +424,7 @@ struct cx8800_fh {
424 unsigned int nclips; 424 unsigned int nclips;
425 425
426 /* video capture */ 426 /* video capture */
427 struct cx8800_fmt *fmt; 427 const struct cx8800_fmt *fmt;
428 unsigned int width,height; 428 unsigned int width,height;
429 struct videobuf_queue vidq; 429 struct videobuf_queue vidq;
430 430
@@ -579,7 +579,7 @@ struct cx8802_dev {
579/* ----------------------------------------------------------- */ 579/* ----------------------------------------------------------- */
580/* cx88-core.c */ 580/* cx88-core.c */
581 581
582extern void cx88_print_irqbits(char *name, char *tag, char **strings, 582extern void cx88_print_irqbits(const char *name, const char *tag, const char *strings[],
583 int len, u32 bits, u32 mask); 583 int len, u32 bits, u32 mask);
584 584
585extern int cx88_core_irq(struct cx88_core *core, u32 status); 585extern int cx88_core_irq(struct cx88_core *core, u32 status);
@@ -606,10 +606,10 @@ cx88_free_buffer(struct videobuf_queue *q, struct cx88_buffer *buf);
606extern void cx88_risc_disasm(struct cx88_core *core, 606extern void cx88_risc_disasm(struct cx88_core *core,
607 struct btcx_riscmem *risc); 607 struct btcx_riscmem *risc);
608extern int cx88_sram_channel_setup(struct cx88_core *core, 608extern int cx88_sram_channel_setup(struct cx88_core *core,
609 struct sram_channel *ch, 609 const struct sram_channel *ch,
610 unsigned int bpl, u32 risc); 610 unsigned int bpl, u32 risc);
611extern void cx88_sram_channel_dump(struct cx88_core *core, 611extern void cx88_sram_channel_dump(struct cx88_core *core,
612 struct sram_channel *ch); 612 const struct sram_channel *ch);
613 613
614extern int cx88_set_scale(struct cx88_core *core, unsigned int width, 614extern int cx88_set_scale(struct cx88_core *core, unsigned int width,
615 unsigned int height, enum v4l2_field field); 615 unsigned int height, enum v4l2_field field);
@@ -617,8 +617,8 @@ extern int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm);
617 617
618extern struct video_device *cx88_vdev_init(struct cx88_core *core, 618extern struct video_device *cx88_vdev_init(struct cx88_core *core,
619 struct pci_dev *pci, 619 struct pci_dev *pci,
620 struct video_device *template, 620 const struct video_device *template_,
621 char *type); 621 const char *type);
622extern struct cx88_core* cx88_core_get(struct pci_dev *pci); 622extern struct cx88_core* cx88_core_get(struct pci_dev *pci);
623extern void cx88_core_put(struct cx88_core *core, 623extern void cx88_core_put(struct cx88_core *core,
624 struct pci_dev *pci); 624 struct pci_dev *pci);
@@ -644,7 +644,7 @@ int cx8800_restart_vbi_queue(struct cx8800_dev *dev,
644 struct cx88_dmaqueue *q); 644 struct cx88_dmaqueue *q);
645void cx8800_vbi_timeout(unsigned long data); 645void cx8800_vbi_timeout(unsigned long data);
646 646
647extern struct videobuf_queue_ops cx8800_vbi_qops; 647extern const struct videobuf_queue_ops cx8800_vbi_qops;
648 648
649/* ----------------------------------------------------------- */ 649/* ----------------------------------------------------------- */
650/* cx88-i2c.c */ 650/* cx88-i2c.c */