diff options
Diffstat (limited to 'drivers/media')
113 files changed, 434 insertions, 444 deletions
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c index 49d95040096..0223ad255cb 100644 --- a/drivers/media/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb-core/dvb_frontend.c @@ -1820,7 +1820,7 @@ static int dvb_frontend_ioctl(struct file *file,  	struct dvb_frontend *fe = dvbdev->priv;  	struct dtv_frontend_properties *c = &fe->dtv_property_cache;  	struct dvb_frontend_private *fepriv = fe->frontend_priv; -	int err = -ENOTTY; +	int err = -EOPNOTSUPP;  	dev_dbg(fe->dvb->device, "%s: (%d)\n", __func__, _IOC_NR(cmd));  	if (fepriv->exit != DVB_FE_NO_EXIT) @@ -1938,7 +1938,7 @@ static int dvb_frontend_ioctl_properties(struct file *file,  		}  	} else -		err = -ENOTTY; +		err = -EOPNOTSUPP;  out:  	kfree(tvp); @@ -2071,7 +2071,7 @@ static int dvb_frontend_ioctl_legacy(struct file *file,  	struct dvb_frontend *fe = dvbdev->priv;  	struct dvb_frontend_private *fepriv = fe->frontend_priv;  	struct dtv_frontend_properties *c = &fe->dtv_property_cache; -	int err = -ENOTTY; +	int err = -EOPNOTSUPP;  	switch (cmd) {  	case FE_GET_INFO: { diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c index 45ecf8db1ea..64d71fb87a9 100644 --- a/drivers/media/i2c/adv7180.c +++ b/drivers/media/i2c/adv7180.c @@ -540,8 +540,8 @@ static int init_device(struct i2c_client *client, struct adv7180_state *state)  	return 0;  } -static __devinit int adv7180_probe(struct i2c_client *client, -				   const struct i2c_device_id *id) +static int adv7180_probe(struct i2c_client *client, +			 const struct i2c_device_id *id)  {  	struct adv7180_state *state;  	struct v4l2_subdev *sd; @@ -587,7 +587,7 @@ err:  	return ret;  } -static __devexit int adv7180_remove(struct i2c_client *client) +static int adv7180_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client);  	struct adv7180_state *state = to_state(sd); @@ -652,7 +652,7 @@ static struct i2c_driver adv7180_driver = {  		   .name = KBUILD_MODNAME,  		   },  	.probe = adv7180_probe, -	.remove = __devexit_p(adv7180_remove), +	.remove = adv7180_remove,  #ifdef CONFIG_PM  	.suspend = adv7180_suspend,  	.resume = adv7180_resume, diff --git a/drivers/media/i2c/adv7183.c b/drivers/media/i2c/adv7183.c index 10c3c1db4cd..6fed5b74e74 100644 --- a/drivers/media/i2c/adv7183.c +++ b/drivers/media/i2c/adv7183.c @@ -677,7 +677,7 @@ static struct i2c_driver adv7183_driver = {  		.name   = "adv7183",  	},  	.probe          = adv7183_probe, -	.remove         = __devexit_p(adv7183_remove), +	.remove         = adv7183_remove,  	.id_table       = adv7183_id,  }; diff --git a/drivers/media/i2c/as3645a.c b/drivers/media/i2c/as3645a.c index 3bfdbf9d9bf..58d523f2648 100644 --- a/drivers/media/i2c/as3645a.c +++ b/drivers/media/i2c/as3645a.c @@ -713,7 +713,7 @@ static int as3645a_resume(struct device *dev)   * The number of LEDs reported in platform data is used to compute default   * limits. Parameters passed through platform data can override those limits.   */ -static int __devinit as3645a_init_controls(struct as3645a *flash) +static int as3645a_init_controls(struct as3645a *flash)  {  	const struct as3645a_platform_data *pdata = flash->pdata;  	struct v4l2_ctrl *ctrl; @@ -804,8 +804,8 @@ static int __devinit as3645a_init_controls(struct as3645a *flash)  	return flash->ctrls.error;  } -static int __devinit as3645a_probe(struct i2c_client *client, -				   const struct i2c_device_id *devid) +static int as3645a_probe(struct i2c_client *client, +			 const struct i2c_device_id *devid)  {  	struct as3645a *flash;  	int ret; @@ -846,7 +846,7 @@ done:  	return ret;  } -static int __devexit as3645a_remove(struct i2c_client *client) +static int as3645a_remove(struct i2c_client *client)  {  	struct v4l2_subdev *subdev = i2c_get_clientdata(client);  	struct as3645a *flash = to_as3645a(subdev); @@ -877,7 +877,7 @@ static struct i2c_driver as3645a_i2c_driver = {  		.pm   = &as3645a_pm_ops,  	},  	.probe	= as3645a_probe, -	.remove	= __devexit_p(as3645a_remove), +	.remove	= as3645a_remove,  	.id_table = as3645a_id_table,  }; diff --git a/drivers/media/i2c/m5mols/m5mols_core.c b/drivers/media/i2c/m5mols/m5mols_core.c index 8131d651de9..d4e7567b367 100644 --- a/drivers/media/i2c/m5mols/m5mols_core.c +++ b/drivers/media/i2c/m5mols/m5mols_core.c @@ -556,7 +556,7 @@ static int m5mols_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,  	mutex_lock(&info->lock);  	format = __find_format(info, fh, fmt->which, info->res_type); -	if (!format) +	if (format)  		fmt->format = *format;  	else  		ret = -EINVAL; @@ -926,8 +926,8 @@ static irqreturn_t m5mols_irq_handler(int irq, void *data)  	return IRQ_HANDLED;  } -static int __devinit m5mols_probe(struct i2c_client *client, -				  const struct i2c_device_id *id) +static int m5mols_probe(struct i2c_client *client, +			const struct i2c_device_id *id)  {  	const struct m5mols_platform_data *pdata = client->dev.platform_data;  	struct m5mols_info *info; @@ -1018,7 +1018,7 @@ out_free:  	return ret;  } -static int __devexit m5mols_remove(struct i2c_client *client) +static int m5mols_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client);  	struct m5mols_info *info = to_m5mols(sd); @@ -1045,7 +1045,7 @@ static struct i2c_driver m5mols_i2c_driver = {  		.name	= MODULE_NAME,  	},  	.probe		= m5mols_probe, -	.remove		= __devexit_p(m5mols_remove), +	.remove		= m5mols_remove,  	.id_table	= m5mols_id,  }; diff --git a/drivers/media/i2c/vs6624.c b/drivers/media/i2c/vs6624.c index f434a19b9bc..9ac1b8c3a83 100644 --- a/drivers/media/i2c/vs6624.c +++ b/drivers/media/i2c/vs6624.c @@ -788,7 +788,7 @@ static const struct v4l2_subdev_ops vs6624_ops = {  	.video = &vs6624_video_ops,  }; -static int __devinit vs6624_probe(struct i2c_client *client, +static int vs6624_probe(struct i2c_client *client,  			const struct i2c_device_id *id)  {  	struct vs6624 *sensor; @@ -881,7 +881,7 @@ static int __devinit vs6624_probe(struct i2c_client *client,  	return ret;  } -static int __devexit vs6624_remove(struct i2c_client *client) +static int vs6624_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client);  	struct vs6624 *sensor = to_vs6624(sd); @@ -906,7 +906,7 @@ static struct i2c_driver vs6624_driver = {  		.name   = "vs6624",  	},  	.probe          = vs6624_probe, -	.remove         = __devexit_p(vs6624_remove), +	.remove         = vs6624_remove,  	.id_table       = vs6624_id,  }; diff --git a/drivers/media/mmc/siano/smssdio.c b/drivers/media/mmc/siano/smssdio.c index d6f3f100699..15d34935e00 100644 --- a/drivers/media/mmc/siano/smssdio.c +++ b/drivers/media/mmc/siano/smssdio.c @@ -50,7 +50,7 @@  #define SMSSDIO_INT		0x04  #define SMSSDIO_BLOCK_SIZE	128 -static const struct sdio_device_id smssdio_ids[] __devinitconst = { +static const struct sdio_device_id smssdio_ids[] = {  	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_STELLAR),  	 .driver_data = SMS1XXX_BOARD_SIANO_STELLAR},  	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_NOVA_A0), @@ -224,7 +224,7 @@ static void smssdio_interrupt(struct sdio_func *func)  	smscore_onresponse(smsdev->coredev, cb);  } -static int __devinit smssdio_probe(struct sdio_func *func, +static int smssdio_probe(struct sdio_func *func,  			 const struct sdio_device_id *id)  {  	int ret; diff --git a/drivers/media/pci/bt8xx/bt878.c b/drivers/media/pci/bt8xx/bt878.c index b34fa95185e..66eb0baab0e 100644 --- a/drivers/media/pci/bt8xx/bt878.c +++ b/drivers/media/pci/bt8xx/bt878.c @@ -391,7 +391,7 @@ EXPORT_SYMBOL(bt878_device_control);  		.driver_data = (unsigned long) name \  	} -static struct pci_device_id bt878_pci_tbl[] __devinitdata = { +static struct pci_device_id bt878_pci_tbl[] = {  	BROOKTREE_878_DEVICE(0x0071, 0x0101, "Nebula Electronics DigiTV"),  	BROOKTREE_878_DEVICE(0x1461, 0x0761, "AverMedia AverTV DVB-T 761"),  	BROOKTREE_878_DEVICE(0x11bd, 0x001c, "Pinnacle PCTV Sat"), @@ -410,7 +410,7 @@ static struct pci_device_id bt878_pci_tbl[] __devinitdata = {  MODULE_DEVICE_TABLE(pci, bt878_pci_tbl); -static const char * __devinit card_name(const struct pci_device_id *id) +static const char * card_name(const struct pci_device_id *id)  {  	return id->driver_data ? (const char *)id->driver_data : "Unknown";  } @@ -419,8 +419,7 @@ static const char * __devinit card_name(const struct pci_device_id *id)  /* PCI device handling */  /***********************/ -static int __devinit bt878_probe(struct pci_dev *dev, -				 const struct pci_device_id *pci_id) +static int bt878_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)  {  	int result = 0;  	unsigned char lat; @@ -529,7 +528,7 @@ static int __devinit bt878_probe(struct pci_dev *dev,  	return result;  } -static void __devexit bt878_remove(struct pci_dev *pci_dev) +static void bt878_remove(struct pci_dev *pci_dev)  {  	u8 command;  	struct bt878 *bt = pci_get_drvdata(pci_dev); @@ -573,7 +572,7 @@ static struct pci_driver bt878_pci_driver = {        .name	= "bt878",        .id_table = bt878_pci_tbl,        .probe	= bt878_probe, -      .remove	= __devexit_p(bt878_remove), +      .remove	= bt878_remove,  };  /*******************************/ diff --git a/drivers/media/pci/bt8xx/bttv-cards.c b/drivers/media/pci/bt8xx/bttv-cards.c index 38952faaffd..c4c59175e52 100644 --- a/drivers/media/pci/bt8xx/bttv-cards.c +++ b/drivers/media/pci/bt8xx/bttv-cards.c @@ -87,7 +87,7 @@ static int tea5757_read(struct bttv *btv);  static int tea5757_write(struct bttv *btv, int value);  static void identify_by_eeprom(struct bttv *btv,  			       unsigned char eeprom_data[256]); -static int __devinit pvr_boot(struct bttv *btv); +static int pvr_boot(struct bttv *btv);  /* config variables */  static unsigned int triton1; @@ -151,7 +151,7 @@ static struct CARD {  	unsigned id;  	int cardnr;  	char *name; -} cards[] __devinitdata = { +} cards[] = {  	{ 0x13eb0070, BTTV_BOARD_HAUPPAUGE878,  "Hauppauge WinTV" },  	{ 0x39000070, BTTV_BOARD_HAUPPAUGE878,  "Hauppauge WinTV-D" },  	{ 0x45000070, BTTV_BOARD_HAUPPAUGEPVR,  "Hauppauge WinTV/PVR" }, @@ -2837,7 +2837,7 @@ static unsigned char eeprom_data[256];  /*   * identify card   */ -void __devinit bttv_idcard(struct bttv *btv) +void bttv_idcard(struct bttv *btv)  {  	unsigned int gpiobits;  	int i,type; @@ -3235,7 +3235,7 @@ static void bttv_reset_audio(struct bttv *btv)  }  /* initialization part one -- before registering i2c bus */ -void __devinit bttv_init_card1(struct bttv *btv) +void bttv_init_card1(struct bttv *btv)  {  	switch (btv->c.type) {  	case BTTV_BOARD_HAUPPAUGE: @@ -3267,7 +3267,7 @@ void __devinit bttv_init_card1(struct bttv *btv)  }  /* initialization part two -- after registering i2c bus */ -void __devinit bttv_init_card2(struct bttv *btv) +void bttv_init_card2(struct bttv *btv)  {  	btv->tuner_type = UNSET; @@ -3571,7 +3571,7 @@ no_audio:  /* initialize the tuner */ -void __devinit bttv_init_tuner(struct bttv *btv) +void bttv_init_tuner(struct bttv *btv)  {  	int addr = ADDR_UNSET; @@ -3635,7 +3635,7 @@ static void modtec_eeprom(struct bttv *btv)  	}  } -static void __devinit hauppauge_eeprom(struct bttv *btv) +static void hauppauge_eeprom(struct bttv *btv)  {  	struct tveeprom tv; @@ -3709,8 +3709,7 @@ static int terratec_active_radio_upgrade(struct bttv *btv)  #define BTTV_ALT_DCLK		0x100000  #define BTTV_ALT_NCONFIG	0x800000 -static int __devinit pvr_altera_load(struct bttv *btv, const u8 *micro, -				     u32 microlen) +static int pvr_altera_load(struct bttv *btv, const u8 *micro, u32 microlen)  {  	u32 n;  	u8 bits; @@ -3747,7 +3746,7 @@ static int __devinit pvr_altera_load(struct bttv *btv, const u8 *micro,  	return 0;  } -static int __devinit pvr_boot(struct bttv *btv) +static int pvr_boot(struct bttv *btv)  {  	const struct firmware *fw_entry;  	int rc; @@ -3767,7 +3766,7 @@ static int __devinit pvr_boot(struct bttv *btv)  /* ----------------------------------------------------------------------- */  /* some osprey specific stuff                                              */ -static void __devinit osprey_eeprom(struct bttv *btv, const u8 ee[256]) +static void osprey_eeprom(struct bttv *btv, const u8 ee[256])  {  	int i;  	u32 serial = 0; @@ -3898,7 +3897,7 @@ static int tuner_1_table[] = {  	TUNER_TEMIC_4012FY5, TUNER_TEMIC_4012FY5, /* TUNER_TEMIC_SECAM */  	TUNER_TEMIC_4012FY5, TUNER_TEMIC_PAL}; -static void __devinit avermedia_eeprom(struct bttv *btv) +static void avermedia_eeprom(struct bttv *btv)  {  	int tuner_make, tuner_tv_fm, tuner_format, tuner_type = 0; @@ -3960,7 +3959,7 @@ u32 bttv_tda9880_setnorm(struct bttv *btv, u32 gpiobits)   * Hauppauge:  pin  5   * Voodoo:     pin 20   */ -static void __devinit boot_msp34xx(struct bttv *btv, int pin) +static void boot_msp34xx(struct bttv *btv, int pin)  {  	int mask = (1 << pin); @@ -3983,11 +3982,10 @@ static void __devinit boot_msp34xx(struct bttv *btv, int pin)   *  used by Alessandro Rubini in his pxc200   *  driver, but using BTTV functions */ -static void __devinit init_PXC200(struct bttv *btv) +static void init_PXC200(struct bttv *btv)  { -	static int vals[] __devinitdata = { 0x08, 0x09, 0x0a, 0x0b, 0x0d, 0x0d, -					    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, -					    0x00 }; +	static int vals[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0d, 0x0d, 0x01, 0x02, +			      0x03, 0x04, 0x05, 0x06, 0x00 };  	unsigned int i;  	int tmp;  	u32 val; @@ -4851,7 +4849,7 @@ void __init bttv_check_chipset(void)  	}  } -int __devinit bttv_handle_chipset(struct bttv *btv) +int bttv_handle_chipset(struct bttv *btv)  {  	unsigned char command; diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c index de6f41f1918..45e5d0661b6 100644 --- a/drivers/media/pci/bt8xx/bttv-driver.c +++ b/drivers/media/pci/bt8xx/bttv-driver.c @@ -4199,7 +4199,7 @@ static void bttv_unregister_video(struct bttv *btv)  }  /* register video4linux devices */ -static int __devinit bttv_register_video(struct bttv *btv) +static int bttv_register_video(struct bttv *btv)  {  	if (no_overlay > 0)  		pr_notice("Overlay support disabled\n"); @@ -4265,8 +4265,7 @@ static void pci_set_command(struct pci_dev *dev)  #endif  } -static int __devinit bttv_probe(struct pci_dev *dev, -				const struct pci_device_id *pci_id) +static int bttv_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)  {  	int result;  	unsigned char lat; @@ -4454,7 +4453,7 @@ fail0:  	return result;  } -static void __devexit bttv_remove(struct pci_dev *pci_dev) +static void bttv_remove(struct pci_dev *pci_dev)  {  	struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);  	struct bttv *btv = to_bttv(v4l2_dev); @@ -4598,7 +4597,7 @@ static struct pci_driver bttv_pci_driver = {  	.name     = "bttv",  	.id_table = bttv_pci_tbl,  	.probe    = bttv_probe, -	.remove   = __devexit_p(bttv_remove), +	.remove   = bttv_remove,  #ifdef CONFIG_PM  	.suspend  = bttv_suspend,  	.resume   = bttv_resume, diff --git a/drivers/media/pci/bt8xx/bttv-i2c.c b/drivers/media/pci/bt8xx/bttv-i2c.c index 580c8e68239..5039b8826e0 100644 --- a/drivers/media/pci/bt8xx/bttv-i2c.c +++ b/drivers/media/pci/bt8xx/bttv-i2c.c @@ -99,7 +99,7 @@ static int bttv_bit_getsda(void *data)  	return state;  } -static struct i2c_algo_bit_data __devinitdata bttv_i2c_algo_bit_template = { +static struct i2c_algo_bit_data bttv_i2c_algo_bit_template = {  	.setsda  = bttv_bit_setsda,  	.setscl  = bttv_bit_setscl,  	.getsda  = bttv_bit_getsda, @@ -312,7 +312,7 @@ int bttv_I2CWrite(struct bttv *btv, unsigned char addr, unsigned char b1,  }  /* read EEPROM content */ -void __devinit bttv_readee(struct bttv *btv, unsigned char *eedata, int addr) +void bttv_readee(struct bttv *btv, unsigned char *eedata, int addr)  {  	memset(eedata, 0, 256);  	if (0 != btv->i2c_rc) @@ -347,7 +347,7 @@ static void do_i2c_scan(char *name, struct i2c_client *c)  }  /* init + register i2c adapter */ -int __devinit init_bttv_i2c(struct bttv *btv) +int init_bttv_i2c(struct bttv *btv)  {  	strlcpy(btv->i2c_client.name, "bttv internal", I2C_NAME_SIZE); diff --git a/drivers/media/pci/bt8xx/bttv-input.c b/drivers/media/pci/bt8xx/bttv-input.c index ef4c7cd4198..04207a79905 100644 --- a/drivers/media/pci/bt8xx/bttv-input.c +++ b/drivers/media/pci/bt8xx/bttv-input.c @@ -368,7 +368,7 @@ static int get_key_pv951(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)  }  /* Instantiate the I2C IR receiver device, if present */ -void __devinit init_bttv_i2c_ir(struct bttv *btv) +void init_bttv_i2c_ir(struct bttv *btv)  {  	const unsigned short addr_list[] = {  		0x1a, 0x18, 0x64, 0x30, 0x71, @@ -411,7 +411,7 @@ void __devinit init_bttv_i2c_ir(struct bttv *btv)  	return;  } -int __devexit fini_bttv_i2c(struct bttv *btv) +int fini_bttv_i2c(struct bttv *btv)  {  	if (0 != btv->i2c_rc)  		return 0; diff --git a/drivers/media/pci/bt8xx/dvb-bt8xx.c b/drivers/media/pci/bt8xx/dvb-bt8xx.c index 81fab9adc1c..d407244fd1b 100644 --- a/drivers/media/pci/bt8xx/dvb-bt8xx.c +++ b/drivers/media/pci/bt8xx/dvb-bt8xx.c @@ -118,7 +118,8 @@ static int is_pci_slot_eq(struct pci_dev* adev, struct pci_dev* bdev)  	return 0;  } -static struct bt878 __devinit *dvb_bt8xx_878_match(unsigned int bttv_nr, struct pci_dev* bttv_pci_dev) +static struct bt878 *dvb_bt8xx_878_match(unsigned int bttv_nr, +					 struct pci_dev* bttv_pci_dev)  {  	unsigned int card_nr; @@ -720,7 +721,7 @@ static void frontend_init(struct dvb_bt8xx_card *card, u32 type)  		}  } -static int __devinit dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, u32 type) +static int dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, u32 type)  {  	int result; @@ -811,7 +812,7 @@ err_unregister_adaptor:  	return result;  } -static int __devinit dvb_bt8xx_probe(struct bttv_sub_device *sub) +static int dvb_bt8xx_probe(struct bttv_sub_device *sub)  {  	struct dvb_bt8xx_card *card;  	struct pci_dev* bttv_pci_dev; diff --git a/drivers/media/pci/cx18/cx18-driver.c b/drivers/media/pci/cx18/cx18-driver.c index 039133d692e..613e5ae7d5c 100644 --- a/drivers/media/pci/cx18/cx18-driver.c +++ b/drivers/media/pci/cx18/cx18-driver.c @@ -53,7 +53,7 @@ int (*cx18_ext_init)(struct cx18 *);  EXPORT_SYMBOL(cx18_ext_init);  /* add your revision and whatnot here */ -static struct pci_device_id cx18_pci_tbl[] __devinitdata = { +static struct pci_device_id cx18_pci_tbl[] = {  	{PCI_VENDOR_ID_CX, PCI_DEVICE_ID_CX23418,  	 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},  	{0,} @@ -691,7 +691,7 @@ done:  	cx->card_i2c = cx->card->i2c;  } -static int __devinit cx18_create_in_workq(struct cx18 *cx) +static int cx18_create_in_workq(struct cx18 *cx)  {  	snprintf(cx->in_workq_name, sizeof(cx->in_workq_name), "%s-in",  		 cx->v4l2_dev.name); @@ -703,7 +703,7 @@ static int __devinit cx18_create_in_workq(struct cx18 *cx)  	return 0;  } -static void __devinit cx18_init_in_work_orders(struct cx18 *cx) +static void cx18_init_in_work_orders(struct cx18 *cx)  {  	int i;  	for (i = 0; i < CX18_MAX_IN_WORK_ORDERS; i++) { @@ -718,7 +718,7 @@ static void __devinit cx18_init_in_work_orders(struct cx18 *cx)     No assumptions on the card type may be made here (see cx18_init_struct2     for that).   */ -static int __devinit cx18_init_struct1(struct cx18 *cx) +static int cx18_init_struct1(struct cx18 *cx)  {  	int ret; @@ -775,7 +775,7 @@ static int __devinit cx18_init_struct1(struct cx18 *cx)  /* Second initialization part. Here the card type has been     autodetected. */ -static void __devinit cx18_init_struct2(struct cx18 *cx) +static void cx18_init_struct2(struct cx18 *cx)  {  	int i; @@ -892,8 +892,8 @@ static void cx18_init_subdevs(struct cx18 *cx)  		cx->sd_extmux = cx18_find_hw(cx, cx->card->hw_muxer);  } -static int __devinit cx18_probe(struct pci_dev *pci_dev, -				const struct pci_device_id *pci_id) +static int cx18_probe(struct pci_dev *pci_dev, +		      const struct pci_device_id *pci_id)  {  	int retval = 0;  	int i; diff --git a/drivers/media/pci/cx23885/cx23885-core.c b/drivers/media/pci/cx23885/cx23885-core.c index 065ecd54bda..f0416a668b4 100644 --- a/drivers/media/pci/cx23885/cx23885-core.c +++ b/drivers/media/pci/cx23885/cx23885-core.c @@ -2086,8 +2086,8 @@ void cx23885_gpio_enable(struct cx23885_dev *dev, u32 mask, int asoutput)  	/* TODO: 23-19 */  } -static int __devinit cx23885_initdev(struct pci_dev *pci_dev, -				     const struct pci_device_id *pci_id) +static int cx23885_initdev(struct pci_dev *pci_dev, +			   const struct pci_device_id *pci_id)  {  	struct cx23885_dev *dev;  	int err; @@ -2167,7 +2167,7 @@ fail_free:  	return err;  } -static void __devexit cx23885_finidev(struct pci_dev *pci_dev) +static void cx23885_finidev(struct pci_dev *pci_dev)  {  	struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);  	struct cx23885_dev *dev = to_cx23885(v4l2_dev); @@ -2210,7 +2210,7 @@ static struct pci_driver cx23885_pci_driver = {  	.name     = "cx23885",  	.id_table = cx23885_pci_tbl,  	.probe    = cx23885_initdev, -	.remove   = __devexit_p(cx23885_finidev), +	.remove   = cx23885_finidev,  	/* TODO */  	.suspend  = NULL,  	.resume   = NULL, diff --git a/drivers/media/pci/cx25821/cx25821-core.c b/drivers/media/pci/cx25821/cx25821-core.c index f11f6f07e91..1884e2cc35e 100644 --- a/drivers/media/pci/cx25821/cx25821-core.c +++ b/drivers/media/pci/cx25821/cx25821-core.c @@ -1361,8 +1361,8 @@ struct cx25821_dev *cx25821_dev_get(struct pci_dev *pci)  }  EXPORT_SYMBOL(cx25821_dev_get); -static int __devinit cx25821_initdev(struct pci_dev *pci_dev, -				     const struct pci_device_id *pci_id) +static int cx25821_initdev(struct pci_dev *pci_dev, +			   const struct pci_device_id *pci_id)  {  	struct cx25821_dev *dev;  	int err = 0; @@ -1433,7 +1433,7 @@ fail_free:  	return err;  } -static void __devexit cx25821_finidev(struct pci_dev *pci_dev) +static void cx25821_finidev(struct pci_dev *pci_dev)  {  	struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);  	struct cx25821_dev *dev = get_cx25821(v4l2_dev); @@ -1478,7 +1478,7 @@ static struct pci_driver cx25821_pci_driver = {  	.name = "cx25821",  	.id_table = cx25821_pci_tbl,  	.probe = cx25821_initdev, -	.remove = __devexit_p(cx25821_finidev), +	.remove = cx25821_finidev,  	/* TODO */  	.suspend = NULL,  	.resume = NULL, diff --git a/drivers/media/pci/cx88/cx88-alsa.c b/drivers/media/pci/cx88/cx88-alsa.c index d2de1a913e1..27d62623274 100644 --- a/drivers/media/pci/cx88/cx88-alsa.c +++ b/drivers/media/pci/cx88/cx88-alsa.c @@ -540,7 +540,7 @@ static struct snd_pcm_ops snd_cx88_pcm_ops = {  /*   * create a PCM device   */ -static int __devinit snd_cx88_pcm(snd_cx88_card_t *chip, int device, const char *name) +static int snd_cx88_pcm(snd_cx88_card_t *chip, int device, const char *name)  {  	int err;  	struct snd_pcm *pcm; @@ -753,7 +753,7 @@ static struct snd_kcontrol_new snd_cx88_alc_switch = {   * Only boards with eeprom and byte 1 at eeprom=1 have it   */ -static const struct pci_device_id cx88_audio_pci_tbl[] __devinitdata = { +static const struct pci_device_id cx88_audio_pci_tbl[] = {  	{0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},  	{0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},  	{0, } @@ -792,10 +792,9 @@ static void snd_cx88_dev_free(struct snd_card * card)   */  static int devno; -static int __devinit snd_cx88_create(struct snd_card *card, -				     struct pci_dev *pci, -				     snd_cx88_card_t **rchip, -				     struct cx88_core **core_ptr) +static int snd_cx88_create(struct snd_card *card, struct pci_dev *pci, +			   snd_cx88_card_t **rchip, +			   struct cx88_core **core_ptr)  {  	snd_cx88_card_t   *chip;  	struct cx88_core  *core; @@ -862,8 +861,8 @@ static int __devinit snd_cx88_create(struct snd_card *card,  	return 0;  } -static int __devinit cx88_audio_initdev(struct pci_dev *pci, -				    const struct pci_device_id *pci_id) +static int cx88_audio_initdev(struct pci_dev *pci, +			      const struct pci_device_id *pci_id)  {  	struct snd_card  *card;  	snd_cx88_card_t  *chip; @@ -931,7 +930,7 @@ error:  /*   * ALSA destructor   */ -static void __devexit cx88_audio_finidev(struct pci_dev *pci) +static void cx88_audio_finidev(struct pci_dev *pci)  {  	struct cx88_audio_dev *card = pci_get_drvdata(pci); @@ -950,7 +949,7 @@ static struct pci_driver cx88_audio_pci_driver = {  	.name     = "cx88_audio",  	.id_table = cx88_audio_pci_tbl,  	.probe    = cx88_audio_initdev, -	.remove   = __devexit_p(cx88_audio_finidev), +	.remove   = cx88_audio_finidev,  };  /**************************************************************************** diff --git a/drivers/media/pci/cx88/cx88-mpeg.c b/drivers/media/pci/cx88/cx88-mpeg.c index d46b008a46b..c9d3182f79d 100644 --- a/drivers/media/pci/cx88/cx88-mpeg.c +++ b/drivers/media/pci/cx88/cx88-mpeg.c @@ -791,8 +791,8 @@ int cx8802_unregister_driver(struct cx8802_driver *drv)  }  /* ----------------------------------------------------------- */ -static int __devinit cx8802_probe(struct pci_dev *pci_dev, -			       const struct pci_device_id *pci_id) +static int cx8802_probe(struct pci_dev *pci_dev, +			const struct pci_device_id *pci_id)  {  	struct cx8802_dev *dev;  	struct cx88_core  *core; @@ -840,7 +840,7 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev,  	return err;  } -static void __devexit cx8802_remove(struct pci_dev *pci_dev) +static void cx8802_remove(struct pci_dev *pci_dev)  {  	struct cx8802_dev *dev; @@ -898,7 +898,7 @@ static struct pci_driver cx8802_pci_driver = {  	.name     = "cx88-mpeg driver manager",  	.id_table = cx8802_pci_tbl,  	.probe    = cx8802_probe, -	.remove   = __devexit_p(cx8802_remove), +	.remove   = cx8802_remove,  };  static int __init cx8802_init(void) diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c index 05171457bf2..bc78354262a 100644 --- a/drivers/media/pci/cx88/cx88-video.c +++ b/drivers/media/pci/cx88/cx88-video.c @@ -1696,8 +1696,8 @@ static void cx8800_unregister_video(struct cx8800_dev *dev)  	}  } -static int __devinit cx8800_initdev(struct pci_dev *pci_dev, -				    const struct pci_device_id *pci_id) +static int cx8800_initdev(struct pci_dev *pci_dev, +			  const struct pci_device_id *pci_id)  {  	struct cx8800_dev *dev;  	struct cx88_core *core; @@ -1923,7 +1923,7 @@ fail_free:  	return err;  } -static void __devexit cx8800_finidev(struct pci_dev *pci_dev) +static void cx8800_finidev(struct pci_dev *pci_dev)  {  	struct cx8800_dev *dev = pci_get_drvdata(pci_dev);  	struct cx88_core *core = dev->core; @@ -2052,7 +2052,7 @@ static struct pci_driver cx8800_pci_driver = {  	.name     = "cx8800",  	.id_table = cx8800_pci_tbl,  	.probe    = cx8800_initdev, -	.remove   = __devexit_p(cx8800_finidev), +	.remove   = cx8800_finidev,  #ifdef CONFIG_PM  	.suspend  = cx8800_suspend,  	.resume   = cx8800_resume, diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c index feff57ee5a0..36e34522b9a 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c +++ b/drivers/media/pci/ddbridge/ddbridge-core.c @@ -1542,7 +1542,7 @@ static void ddb_unmap(struct ddb *dev)  } -static void __devexit ddb_remove(struct pci_dev *pdev) +static void ddb_remove(struct pci_dev *pdev)  {  	struct ddb *dev = (struct ddb *) pci_get_drvdata(pdev); @@ -1565,8 +1565,7 @@ static void __devexit ddb_remove(struct pci_dev *pdev)  } -static int __devinit ddb_probe(struct pci_dev *pdev, -			       const struct pci_device_id *id) +static int ddb_probe(struct pci_dev *pdev, const struct pci_device_id *id)  {  	struct ddb *dev;  	int stat = 0; @@ -1679,7 +1678,7 @@ static struct ddb_info ddb_v6 = {  	.subvendor   = _subvend, .subdevice = _subdev, \  	.driver_data = (unsigned long)&_driverdata } -static const struct pci_device_id ddb_id_tbl[] __devinitdata = { +static const struct pci_device_id ddb_id_tbl[] = {  	DDB_ID(DDVID, 0x0002, DDVID, 0x0001, ddb_octopus),  	DDB_ID(DDVID, 0x0003, DDVID, 0x0001, ddb_octopus),  	DDB_ID(DDVID, 0x0003, DDVID, 0x0002, ddb_octopus_le), @@ -1696,7 +1695,7 @@ static struct pci_driver ddb_pci_driver = {  	.name        = "DDBridge",  	.id_table    = ddb_id_tbl,  	.probe       = ddb_probe, -	.remove      = __devexit_p(ddb_remove), +	.remove      = ddb_remove,  };  static __init int module_init_ddbridge(void) diff --git a/drivers/media/pci/dm1105/dm1105.c b/drivers/media/pci/dm1105/dm1105.c index f288ffcc4b6..904c3ea350f 100644 --- a/drivers/media/pci/dm1105/dm1105.c +++ b/drivers/media/pci/dm1105/dm1105.c @@ -616,7 +616,7 @@ static void dm1105_set_dma_addr(struct dm1105_dev *dev)  	dm_writel(DM1105_STADR, cpu_to_le32(dev->dma_addr));  } -static int __devinit dm1105_dma_map(struct dm1105_dev *dev) +static int dm1105_dma_map(struct dm1105_dev *dev)  {  	dev->ts_buf = pci_alloc_consistent(dev->pdev,  					6 * DM1105_DMA_BYTES, @@ -736,7 +736,7 @@ static irqreturn_t dm1105_irq(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static int __devinit dm1105_ir_init(struct dm1105_dev *dm1105) +static int dm1105_ir_init(struct dm1105_dev *dm1105)  {  	struct rc_dev *dev;  	int err = -ENOMEM; @@ -776,12 +776,12 @@ static int __devinit dm1105_ir_init(struct dm1105_dev *dm1105)  	return 0;  } -static void __devexit dm1105_ir_exit(struct dm1105_dev *dm1105) +static void dm1105_ir_exit(struct dm1105_dev *dm1105)  {  	rc_unregister_device(dm1105->ir.dev);  } -static int __devinit dm1105_hw_init(struct dm1105_dev *dev) +static int dm1105_hw_init(struct dm1105_dev *dev)  {  	dm1105_disable_irqs(dev); @@ -849,7 +849,7 @@ static struct ds3000_config dvbworld_ds3000_config = {  	.demod_address = 0x68,  }; -static int __devinit frontend_init(struct dm1105_dev *dev) +static int frontend_init(struct dm1105_dev *dev)  {  	int ret; @@ -949,7 +949,7 @@ static int __devinit frontend_init(struct dm1105_dev *dev)  	return 0;  } -static void __devinit dm1105_read_mac(struct dm1105_dev *dev, u8 *mac) +static void dm1105_read_mac(struct dm1105_dev *dev, u8 *mac)  {  	static u8 command[1] = { 0x28 }; @@ -971,7 +971,7 @@ static void __devinit dm1105_read_mac(struct dm1105_dev *dev, u8 *mac)  	dev_info(&dev->pdev->dev, "MAC %pM\n", mac);  } -static int __devinit dm1105_probe(struct pci_dev *pdev, +static int dm1105_probe(struct pci_dev *pdev,  				  const struct pci_device_id *ent)  {  	struct dm1105_dev *dev; @@ -1174,7 +1174,7 @@ err_kfree:  	return ret;  } -static void __devexit dm1105_remove(struct pci_dev *pdev) +static void dm1105_remove(struct pci_dev *pdev)  {  	struct dm1105_dev *dev = pci_get_drvdata(pdev);  	struct dvb_adapter *dvb_adapter = &dev->dvb_adapter; @@ -1207,7 +1207,7 @@ static void __devexit dm1105_remove(struct pci_dev *pdev)  	kfree(dev);  } -static struct pci_device_id dm1105_id_table[] __devinitdata = { +static struct pci_device_id dm1105_id_table[] = {  	{  		.vendor = PCI_VENDOR_ID_TRIGEM,  		.device = PCI_DEVICE_ID_DM1105, @@ -1229,7 +1229,7 @@ static struct pci_driver dm1105_driver = {  	.name = DRIVER_NAME,  	.id_table = dm1105_id_table,  	.probe = dm1105_probe, -	.remove = __devexit_p(dm1105_remove), +	.remove = dm1105_remove,  };  static int __init dm1105_init(void) diff --git a/drivers/media/pci/ivtv/ivtv-driver.c b/drivers/media/pci/ivtv/ivtv-driver.c index 74e9a503236..df88dc4ab55 100644 --- a/drivers/media/pci/ivtv/ivtv-driver.c +++ b/drivers/media/pci/ivtv/ivtv-driver.c @@ -73,7 +73,7 @@ int (*ivtv_ext_init)(struct ivtv *);  EXPORT_SYMBOL(ivtv_ext_init);  /* add your revision and whatnot here */ -static struct pci_device_id ivtv_pci_tbl[] __devinitdata = { +static struct pci_device_id ivtv_pci_tbl[] = {  	{PCI_VENDOR_ID_ICOMP, PCI_DEVICE_ID_IVTV15,  	 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},  	{PCI_VENDOR_ID_ICOMP, PCI_DEVICE_ID_IVTV16, @@ -736,7 +736,7 @@ done:     No assumptions on the card type may be made here (see ivtv_init_struct2     for that).   */ -static int __devinit ivtv_init_struct1(struct ivtv *itv) +static int ivtv_init_struct1(struct ivtv *itv)  {  	struct sched_param param = { .sched_priority = 99 }; @@ -802,7 +802,7 @@ static int __devinit ivtv_init_struct1(struct ivtv *itv)  /* Second initialization part. Here the card type has been     autodetected. */ -static void __devinit ivtv_init_struct2(struct ivtv *itv) +static void ivtv_init_struct2(struct ivtv *itv)  {  	int i; @@ -1001,8 +1001,7 @@ static void ivtv_load_and_init_modules(struct ivtv *itv)  	}  } -static int __devinit ivtv_probe(struct pci_dev *pdev, -				const struct pci_device_id *pci_id) +static int ivtv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)  {  	int retval = 0;  	int vbi_buf_size; diff --git a/drivers/media/pci/mantis/hopper_cards.c b/drivers/media/pci/mantis/hopper_cards.c index cc0251e0107..6fe9fe5293d 100644 --- a/drivers/media/pci/mantis/hopper_cards.c +++ b/drivers/media/pci/mantis/hopper_cards.c @@ -151,7 +151,8 @@ static irqreturn_t hopper_irq_handler(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static int __devinit hopper_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) +static int hopper_pci_probe(struct pci_dev *pdev, +			    const struct pci_device_id *pci_id)  {  	struct mantis_pci *mantis;  	struct mantis_hwconfig *config; @@ -230,7 +231,7 @@ fail0:  	return err;  } -static void __devexit hopper_pci_remove(struct pci_dev *pdev) +static void hopper_pci_remove(struct pci_dev *pdev)  {  	struct mantis_pci *mantis = pci_get_drvdata(pdev); @@ -259,12 +260,12 @@ static struct pci_driver hopper_pci_driver = {  	.remove		= hopper_pci_remove,  }; -static int __devinit hopper_init(void) +static int hopper_init(void)  {  	return pci_register_driver(&hopper_pci_driver);  } -static void __devexit hopper_exit(void) +static void hopper_exit(void)  {  	return pci_unregister_driver(&hopper_pci_driver);  } diff --git a/drivers/media/pci/mantis/mantis_cards.c b/drivers/media/pci/mantis/mantis_cards.c index 0207d1f064e..932a0d73a7f 100644 --- a/drivers/media/pci/mantis/mantis_cards.c +++ b/drivers/media/pci/mantis/mantis_cards.c @@ -159,7 +159,8 @@ static irqreturn_t mantis_irq_handler(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static int __devinit mantis_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) +static int mantis_pci_probe(struct pci_dev *pdev, +			    const struct pci_device_id *pci_id)  {  	struct mantis_pci *mantis;  	struct mantis_hwconfig *config; @@ -249,7 +250,7 @@ fail0:  	return err;  } -static void __devexit mantis_pci_remove(struct pci_dev *pdev) +static void mantis_pci_remove(struct pci_dev *pdev)  {  	struct mantis_pci *mantis = pci_get_drvdata(pdev); @@ -289,12 +290,12 @@ static struct pci_driver mantis_pci_driver = {  	.remove		= mantis_pci_remove,  }; -static int __devinit mantis_init(void) +static int mantis_init(void)  {  	return pci_register_driver(&mantis_pci_driver);  } -static void __devexit mantis_exit(void) +static void mantis_exit(void)  {  	return pci_unregister_driver(&mantis_pci_driver);  } diff --git a/drivers/media/pci/mantis/mantis_dvb.c b/drivers/media/pci/mantis/mantis_dvb.c index 5d15c6b74d9..5a71e1791cf 100644 --- a/drivers/media/pci/mantis/mantis_dvb.c +++ b/drivers/media/pci/mantis/mantis_dvb.c @@ -144,7 +144,7 @@ static int mantis_dvb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)  	return 0;  } -int __devinit mantis_dvb_init(struct mantis_pci *mantis) +int mantis_dvb_init(struct mantis_pci *mantis)  {  	struct mantis_hwconfig *config = mantis->hwconfig;  	int result = -1; @@ -271,7 +271,7 @@ err0:  }  EXPORT_SYMBOL_GPL(mantis_dvb_init); -int __devexit mantis_dvb_exit(struct mantis_pci *mantis) +int mantis_dvb_exit(struct mantis_pci *mantis)  {  	int err; diff --git a/drivers/media/pci/mantis/mantis_i2c.c b/drivers/media/pci/mantis/mantis_i2c.c index e7794517fe2..937fb9d5021 100644 --- a/drivers/media/pci/mantis/mantis_i2c.c +++ b/drivers/media/pci/mantis/mantis_i2c.c @@ -217,7 +217,7 @@ static struct i2c_algorithm mantis_algo = {  	.functionality		= mantis_i2c_func,  }; -int __devinit mantis_i2c_init(struct mantis_pci *mantis) +int mantis_i2c_init(struct mantis_pci *mantis)  {  	u32 intstat, intmask;  	struct i2c_adapter *i2c_adapter = &mantis->adapter; diff --git a/drivers/media/pci/mantis/mantis_pci.c b/drivers/media/pci/mantis/mantis_pci.c index 371558af2d9..a846036ea02 100644 --- a/drivers/media/pci/mantis/mantis_pci.c +++ b/drivers/media/pci/mantis/mantis_pci.c @@ -46,7 +46,7 @@  #define DRIVER_NAME		"Mantis Core" -int __devinit mantis_pci_init(struct mantis_pci *mantis) +int mantis_pci_init(struct mantis_pci *mantis)  {  	u8 latency;  	struct mantis_hwconfig *config	= mantis->hwconfig; diff --git a/drivers/media/pci/meye/meye.c b/drivers/media/pci/meye/meye.c index ae7d32027bf..049e18667cd 100644 --- a/drivers/media/pci/meye/meye.c +++ b/drivers/media/pci/meye/meye.c @@ -1728,8 +1728,7 @@ static int meye_resume(struct pci_dev *pdev)  }  #endif -static int __devinit meye_probe(struct pci_dev *pcidev, -				const struct pci_device_id *ent) +static int meye_probe(struct pci_dev *pcidev, const struct pci_device_id *ent)  {  	struct v4l2_device *v4l2_dev = &meye.v4l2_dev;  	int ret = -EBUSY; @@ -1889,7 +1888,7 @@ outnotdev:  	return ret;  } -static void __devexit meye_remove(struct pci_dev *pcidev) +static void meye_remove(struct pci_dev *pcidev)  {  	video_unregister_device(meye.vdev); @@ -1935,7 +1934,7 @@ static struct pci_driver meye_driver = {  	.name		= "meye",  	.id_table	= meye_pci_tbl,  	.probe		= meye_probe, -	.remove		= __devexit_p(meye_remove), +	.remove		= meye_remove,  #ifdef CONFIG_PM  	.suspend	= meye_suspend,  	.resume		= meye_resume, diff --git a/drivers/media/pci/ngene/ngene-cards.c b/drivers/media/pci/ngene/ngene-cards.c index b38bce52956..fad21411366 100644 --- a/drivers/media/pci/ngene/ngene-cards.c +++ b/drivers/media/pci/ngene/ngene-cards.c @@ -743,7 +743,7 @@ static struct ngene_info ngene_info_terratec = {  /****************************************************************************/ -static const struct pci_device_id ngene_id_tbl[] __devinitdata = { +static const struct pci_device_id ngene_id_tbl[] = {  	NGENE_ID(0x18c3, 0xabc3, ngene_info_cineS2),  	NGENE_ID(0x18c3, 0xabc4, ngene_info_cineS2),  	NGENE_ID(0x18c3, 0xdb01, ngene_info_satixS2), @@ -800,7 +800,7 @@ static struct pci_driver ngene_pci_driver = {  	.name        = "ngene",  	.id_table    = ngene_id_tbl,  	.probe       = ngene_probe, -	.remove      = __devexit_p(ngene_remove), +	.remove      = ngene_remove,  	.err_handler = &ngene_errors,  	.shutdown    = ngene_shutdown,  }; diff --git a/drivers/media/pci/ngene/ngene-core.c b/drivers/media/pci/ngene/ngene-core.c index 8eeec4f50cc..37ebc42392a 100644 --- a/drivers/media/pci/ngene/ngene-core.c +++ b/drivers/media/pci/ngene/ngene-core.c @@ -1636,7 +1636,7 @@ void ngene_shutdown(struct pci_dev *pdev)  /* device probe/remove calls ************************************************/  /****************************************************************************/ -void __devexit ngene_remove(struct pci_dev *pdev) +void ngene_remove(struct pci_dev *pdev)  {  	struct ngene *dev = pci_get_drvdata(pdev);  	int i; @@ -1652,8 +1652,7 @@ void __devexit ngene_remove(struct pci_dev *pdev)  	pci_disable_device(pdev);  } -int __devinit ngene_probe(struct pci_dev *pci_dev, -			  const struct pci_device_id *id) +int ngene_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)  {  	struct ngene *dev;  	int stat = 0; diff --git a/drivers/media/pci/ngene/ngene.h b/drivers/media/pci/ngene/ngene.h index 5443dc0caea..22c39ff6bfa 100644 --- a/drivers/media/pci/ngene/ngene.h +++ b/drivers/media/pci/ngene/ngene.h @@ -887,9 +887,8 @@ struct ngene_buffer {  /* Provided by ngene-core.c */ -int __devinit ngene_probe(struct pci_dev *pci_dev, -			  const struct pci_device_id *id); -void __devexit ngene_remove(struct pci_dev *pdev); +int ngene_probe(struct pci_dev *pci_dev, const struct pci_device_id *id); +void ngene_remove(struct pci_dev *pdev);  void ngene_shutdown(struct pci_dev *pdev);  int ngene_command(struct ngene *dev, struct ngene_command *com);  int ngene_command_gpio_set(struct ngene *dev, u8 select, u8 level); diff --git a/drivers/media/pci/pluto2/pluto2.c b/drivers/media/pci/pluto2/pluto2.c index f148b19a206..2290faee585 100644 --- a/drivers/media/pci/pluto2/pluto2.c +++ b/drivers/media/pci/pluto2/pluto2.c @@ -240,7 +240,7 @@ static void pluto_set_dma_addr(struct pluto *pluto)  	pluto_writereg(pluto, REG_PCAR, pluto->dma_addr);  } -static int __devinit pluto_dma_map(struct pluto *pluto) +static int pluto_dma_map(struct pluto *pluto)  {  	pluto->dma_addr = pci_map_single(pluto->pdev, pluto->dma_buf,  			TS_DMA_BYTES, PCI_DMA_FROMDEVICE); @@ -368,7 +368,7 @@ static irqreturn_t pluto_irq(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static void __devinit pluto_enable_irqs(struct pluto *pluto) +static void pluto_enable_irqs(struct pluto *pluto)  {  	u32 val = pluto_readreg(pluto, REG_TSCR); @@ -394,7 +394,7 @@ static void pluto_disable_irqs(struct pluto *pluto)  	pluto_write_tscr(pluto, val);  } -static int __devinit pluto_hw_init(struct pluto *pluto) +static int pluto_hw_init(struct pluto *pluto)  {  	pluto_reset_frontend(pluto, 1); @@ -505,7 +505,7 @@ static int pluto2_request_firmware(struct dvb_frontend *fe,  	return request_firmware(fw, name, &pluto->pdev->dev);  } -static struct tda1004x_config pluto2_fe_config __devinitdata = { +static struct tda1004x_config pluto2_fe_config = {  	.demod_address = I2C_ADDR_TDA10046 >> 1,  	.invert = 1,  	.invert_oclk = 0, @@ -515,7 +515,7 @@ static struct tda1004x_config pluto2_fe_config __devinitdata = {  	.request_firmware = pluto2_request_firmware,  }; -static int __devinit frontend_init(struct pluto *pluto) +static int frontend_init(struct pluto *pluto)  {  	int ret; @@ -536,14 +536,14 @@ static int __devinit frontend_init(struct pluto *pluto)  	return 0;  } -static void __devinit pluto_read_rev(struct pluto *pluto) +static void pluto_read_rev(struct pluto *pluto)  {  	u32 val = pluto_readreg(pluto, REG_MISC) & MISC_DVR;  	dev_info(&pluto->pdev->dev, "board revision %d.%d\n",  			(val >> 12) & 0x0f, (val >> 4) & 0xff);  } -static void __devinit pluto_read_mac(struct pluto *pluto, u8 *mac) +static void pluto_read_mac(struct pluto *pluto, u8 *mac)  {  	u32 val = pluto_readreg(pluto, REG_MMAC);  	mac[0] = (val >> 8) & 0xff; @@ -560,7 +560,7 @@ static void __devinit pluto_read_mac(struct pluto *pluto, u8 *mac)  	dev_info(&pluto->pdev->dev, "MAC %pM\n", mac);  } -static int __devinit pluto_read_serial(struct pluto *pluto) +static int pluto_read_serial(struct pluto *pluto)  {  	struct pci_dev *pdev = pluto->pdev;  	unsigned int i, j; @@ -588,8 +588,7 @@ out:  	return 0;  } -static int __devinit pluto2_probe(struct pci_dev *pdev, -				  const struct pci_device_id *ent) +static int pluto2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  {  	struct pluto *pluto;  	struct dvb_adapter *dvb_adapter; @@ -742,7 +741,7 @@ err_kfree:  	goto out;  } -static void __devexit pluto2_remove(struct pci_dev *pdev) +static void pluto2_remove(struct pci_dev *pdev)  {  	struct pluto *pluto = pci_get_drvdata(pdev);  	struct dvb_adapter *dvb_adapter = &pluto->dvb_adapter; @@ -777,7 +776,7 @@ static void __devexit pluto2_remove(struct pci_dev *pdev)  #define PCI_DEVICE_ID_PLUTO2	0x0001  #endif -static struct pci_device_id pluto2_id_table[] __devinitdata = { +static struct pci_device_id pluto2_id_table[] = {  	{  		.vendor = PCI_VENDOR_ID_SCM,  		.device = PCI_DEVICE_ID_PLUTO2, @@ -794,7 +793,7 @@ static struct pci_driver pluto2_driver = {  	.name = DRIVER_NAME,  	.id_table = pluto2_id_table,  	.probe = pluto2_probe, -	.remove = __devexit_p(pluto2_remove), +	.remove = pluto2_remove,  };  static int __init pluto2_init(void) diff --git a/drivers/media/pci/pt1/pt1.c b/drivers/media/pci/pt1/pt1.c index 15b35c4725f..e9211086df4 100644 --- a/drivers/media/pci/pt1/pt1.c +++ b/drivers/media/pci/pt1/pt1.c @@ -1058,7 +1058,7 @@ static void pt1_i2c_init(struct pt1 *pt1)  		pt1_i2c_emit(pt1, i, 0, 0, 1, 1, 0);  } -static void __devexit pt1_remove(struct pci_dev *pdev) +static void pt1_remove(struct pci_dev *pdev)  {  	struct pt1 *pt1;  	void __iomem *regs; @@ -1083,8 +1083,7 @@ static void __devexit pt1_remove(struct pci_dev *pdev)  	pci_disable_device(pdev);  } -static int __devinit -pt1_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +static int pt1_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  {  	int ret;  	void __iomem *regs; @@ -1222,7 +1221,7 @@ MODULE_DEVICE_TABLE(pci, pt1_id_table);  static struct pci_driver pt1_driver = {  	.name		= DRIVER_NAME,  	.probe		= pt1_probe, -	.remove		= __devexit_p(pt1_remove), +	.remove		= pt1_remove,  	.id_table	= pt1_id_table,  }; diff --git a/drivers/media/pci/saa7134/saa7134-core.c b/drivers/media/pci/saa7134/saa7134-core.c index 8976d0e6581..e359d200d69 100644 --- a/drivers/media/pci/saa7134/saa7134-core.c +++ b/drivers/media/pci/saa7134/saa7134-core.c @@ -754,7 +754,7 @@ static int saa7134_hwfini(struct saa7134_dev *dev)  	return 0;  } -static void __devinit must_configure_manually(int has_eeprom) +static void must_configure_manually(int has_eeprom)  {  	unsigned int i,p; @@ -860,8 +860,8 @@ static void mpeg_ops_detach(struct saa7134_mpeg_ops *ops,  	dev->mops = NULL;  } -static int __devinit saa7134_initdev(struct pci_dev *pci_dev, -				     const struct pci_device_id *pci_id) +static int saa7134_initdev(struct pci_dev *pci_dev, +			   const struct pci_device_id *pci_id)  {  	struct saa7134_dev *dev;  	struct saa7134_mpeg_ops *mops; @@ -1102,7 +1102,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,  	return err;  } -static void __devexit saa7134_finidev(struct pci_dev *pci_dev) +static void saa7134_finidev(struct pci_dev *pci_dev)  {  	struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);  	struct saa7134_dev *dev = container_of(v4l2_dev, struct saa7134_dev, v4l2_dev); @@ -1322,7 +1322,7 @@ static struct pci_driver saa7134_pci_driver = {  	.name     = "saa7134",  	.id_table = saa7134_pci_tbl,  	.probe    = saa7134_initdev, -	.remove   = __devexit_p(saa7134_finidev), +	.remove   = saa7134_finidev,  #ifdef CONFIG_PM  	.suspend  = saa7134_suspend,  	.resume   = saa7134_resume diff --git a/drivers/media/pci/saa7134/saa7134.h b/drivers/media/pci/saa7134/saa7134.h index c24b6512bd8..075908fae4d 100644 --- a/drivers/media/pci/saa7134/saa7134.h +++ b/drivers/media/pci/saa7134/saa7134.h @@ -739,7 +739,7 @@ extern int (*saa7134_dmasound_exit)(struct saa7134_dev *dev);  extern struct saa7134_board saa7134_boards[];  extern const unsigned int saa7134_bcount; -extern struct pci_device_id __devinitdata saa7134_pci_tbl[]; +extern struct pci_device_id saa7134_pci_tbl[];  extern int saa7134_board_init1(struct saa7134_dev *dev);  extern int saa7134_board_init2(struct saa7134_dev *dev); diff --git a/drivers/media/pci/saa7164/saa7164-core.c b/drivers/media/pci/saa7164/saa7164-core.c index 063047f5676..63502e7a2a7 100644 --- a/drivers/media/pci/saa7164/saa7164-core.c +++ b/drivers/media/pci/saa7164/saa7164-core.c @@ -1185,8 +1185,8 @@ static int saa7164_thread_function(void *data)  	return 0;  } -static int __devinit saa7164_initdev(struct pci_dev *pci_dev, -				     const struct pci_device_id *pci_id) +static int saa7164_initdev(struct pci_dev *pci_dev, +			   const struct pci_device_id *pci_id)  {  	struct saa7164_dev *dev;  	int err, i; @@ -1376,7 +1376,7 @@ static void saa7164_shutdown(struct saa7164_dev *dev)  	dprintk(1, "%s()\n", __func__);  } -static void __devexit saa7164_finidev(struct pci_dev *pci_dev) +static void saa7164_finidev(struct pci_dev *pci_dev)  {  	struct saa7164_dev *dev = pci_get_drvdata(pci_dev); @@ -1459,7 +1459,7 @@ static struct pci_driver saa7164_pci_driver = {  	.name     = "saa7164",  	.id_table = saa7164_pci_tbl,  	.probe    = saa7164_initdev, -	.remove   = __devexit_p(saa7164_finidev), +	.remove   = saa7164_finidev,  	/* TODO */  	.suspend  = NULL,  	.resume   = NULL, diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c index 4c10205264d..27ae4884265 100644 --- a/drivers/media/pci/sta2x11/sta2x11_vip.c +++ b/drivers/media/pci/sta2x11/sta2x11_vip.c @@ -1205,8 +1205,8 @@ static void vip_gpio_release(struct device *dev, int pin, const char *name)   *   * -ENODEV, device could not be detected or registered   */ -static int __devinit sta2x11_vip_init_one(struct pci_dev *pdev, -					  const struct pci_device_id *ent) +static int sta2x11_vip_init_one(struct pci_dev *pdev, +				const struct pci_device_id *ent)  {  	int ret;  	struct sta2x11_vip *vip; @@ -1376,7 +1376,7 @@ disable:   * free memory   * free GPIO pins   */ -static void __devexit sta2x11_vip_remove_one(struct pci_dev *pdev) +static void sta2x11_vip_remove_one(struct pci_dev *pdev)  {  	struct v4l2_device *v4l2_dev = pci_get_drvdata(pdev);  	struct sta2x11_vip *vip = @@ -1517,7 +1517,7 @@ static DEFINE_PCI_DEVICE_TABLE(sta2x11_vip_pci_tbl) = {  static struct pci_driver sta2x11_vip_driver = {  	.name = DRV_NAME,  	.probe = sta2x11_vip_init_one, -	.remove = __devexit_p(sta2x11_vip_remove_one), +	.remove = sta2x11_vip_remove_one,  	.id_table = sta2x11_vip_pci_tbl,  #ifdef CONFIG_PM  	.suspend = sta2x11_vip_suspend, diff --git a/drivers/media/pci/ttpci/av7110.c b/drivers/media/pci/ttpci/av7110.c index 4bd8bd56bef..4656d4a10af 100644 --- a/drivers/media/pci/ttpci/av7110.c +++ b/drivers/media/pci/ttpci/av7110.c @@ -2367,8 +2367,8 @@ static int frontend_init(struct av7110 *av7110)   * The same behaviour of missing VSYNC can be duplicated on budget   * cards, by seting DD1_INIT trigger mode 7 in 3rd nibble.   */ -static int __devinit av7110_attach(struct saa7146_dev* dev, -				   struct saa7146_pci_extension_data *pci_ext) +static int av7110_attach(struct saa7146_dev* dev, +			 struct saa7146_pci_extension_data *pci_ext)  {  	const int length = TS_WIDTH * TS_HEIGHT;  	struct pci_dev *pdev = dev->pci; @@ -2761,7 +2761,7 @@ err_kfree_0:  	goto out;  } -static int __devexit av7110_detach(struct saa7146_dev* saa) +static int av7110_detach(struct saa7146_dev* saa)  {  	struct av7110 *av7110 = saa->ext_priv;  	dprintk(4, "%p\n", av7110); @@ -2910,7 +2910,7 @@ static struct saa7146_extension av7110_extension_driver = {  	.module		= THIS_MODULE,  	.pci_tbl	= &pci_tbl[0],  	.attach		= av7110_attach, -	.detach		= __devexit_p(av7110_detach), +	.detach		= av7110_detach,  	.irq_mask	= MASK_19 | MASK_03 | MASK_10,  	.irq_func	= av7110_irq, diff --git a/drivers/media/pci/ttpci/av7110_ir.c b/drivers/media/pci/ttpci/av7110_ir.c index 908f272fe26..eb822862a64 100644 --- a/drivers/media/pci/ttpci/av7110_ir.c +++ b/drivers/media/pci/ttpci/av7110_ir.c @@ -324,7 +324,7 @@ static void ir_handler(struct av7110 *av7110, u32 ircom)  } -int __devinit av7110_ir_init(struct av7110 *av7110) +int av7110_ir_init(struct av7110 *av7110)  {  	struct input_dev *input_dev;  	static struct proc_dir_entry *e; @@ -385,7 +385,7 @@ int __devinit av7110_ir_init(struct av7110 *av7110)  } -void __devexit av7110_ir_exit(struct av7110 *av7110) +void av7110_ir_exit(struct av7110 *av7110)  {  	int i; diff --git a/drivers/media/pci/zoran/zoran_card.c b/drivers/media/pci/zoran/zoran_card.c index fffc54b452c..a90a3b9b09b 100644 --- a/drivers/media/pci/zoran/zoran_card.c +++ b/drivers/media/pci/zoran/zoran_card.c @@ -369,7 +369,7 @@ static const unsigned short bt819_addrs[] = { 0x45, I2C_CLIENT_END };  static const unsigned short bt856_addrs[] = { 0x44, I2C_CLIENT_END };  static const unsigned short bt866_addrs[] = { 0x44, I2C_CLIENT_END }; -static struct card_info zoran_cards[NUM_CARDS] __devinitdata = { +static struct card_info zoran_cards[NUM_CARDS] = {  	{  		.type = DC10_old,  		.name = "DC10(old)", @@ -948,8 +948,7 @@ zoran_open_init_params (struct zoran *zr)  	zr->testing = 0;  } -static void __devinit -test_interrupts (struct zoran *zr) +static void test_interrupts (struct zoran *zr)  {  	DEFINE_WAIT(wait);  	int timeout, icr; @@ -974,8 +973,7 @@ test_interrupts (struct zoran *zr)  	btwrite(icr, ZR36057_ICR);  } -static int __devinit -zr36057_init (struct zoran *zr) +static int zr36057_init (struct zoran *zr)  {  	int j, err; @@ -1083,7 +1081,7 @@ exit_free:  	return err;  } -static void __devexit zoran_remove(struct pci_dev *pdev) +static void zoran_remove(struct pci_dev *pdev)  {  	struct v4l2_device *v4l2_dev = dev_get_drvdata(&pdev->dev);  	struct zoran *zr = to_zoran(v4l2_dev); @@ -1129,9 +1127,8 @@ zoran_vdev_release (struct video_device *vdev)  	kfree(vdev);  } -static struct videocodec_master * __devinit -zoran_setup_videocodec (struct zoran *zr, -			int           type) +static struct videocodec_master *zoran_setup_videocodec(struct zoran *zr, +							int type)  {  	struct videocodec_master *m = NULL; @@ -1192,8 +1189,7 @@ static void zoran_subdev_notify(struct v4l2_subdev *sd, unsigned int cmd, void *   *   Scan for a Buz card (actually for the PCI controller ZR36057),   *   request the irq and map the io memory   */ -static int __devinit zoran_probe(struct pci_dev *pdev, -				 const struct pci_device_id *ent) +static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  {  	unsigned char latency, need_latency;  	struct zoran *zr; @@ -1459,7 +1455,7 @@ static struct pci_driver zoran_driver = {  	.name = "zr36067",  	.id_table = zr36067_pci_tbl,  	.probe = zoran_probe, -	.remove = __devexit_p(zoran_remove), +	.remove = zoran_remove,  };  static int __init zoran_init(void) diff --git a/drivers/media/pci/zoran/zoran_driver.c b/drivers/media/pci/zoran/zoran_driver.c index 53f12c7466b..e60ae41e231 100644 --- a/drivers/media/pci/zoran/zoran_driver.c +++ b/drivers/media/pci/zoran/zoran_driver.c @@ -3080,7 +3080,7 @@ static const struct v4l2_file_operations zoran_fops = {  	.poll = zoran_poll,  }; -struct video_device zoran_template __devinitdata = { +struct video_device zoran_template = {  	.name = ZORAN_NAME,  	.fops = &zoran_fops,  	.ioctl_ops = &zoran_ioctl_ops, diff --git a/drivers/media/platform/blackfin/bfin_capture.c b/drivers/media/platform/blackfin/bfin_capture.c index ec476ef5b70..1aad2a65d2f 100644 --- a/drivers/media/platform/blackfin/bfin_capture.c +++ b/drivers/media/platform/blackfin/bfin_capture.c @@ -862,7 +862,7 @@ static struct v4l2_file_operations bcap_fops = {  	.poll = bcap_poll  }; -static int __devinit bcap_probe(struct platform_device *pdev) +static int bcap_probe(struct platform_device *pdev)  {  	struct bcap_device *bcap_dev;  	struct video_device *vfd; @@ -1026,7 +1026,7 @@ err_free_dev:  	return ret;  } -static int __devexit bcap_remove(struct platform_device *pdev) +static int bcap_remove(struct platform_device *pdev)  {  	struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);  	struct bcap_device *bcap_dev = container_of(v4l2_dev, @@ -1048,7 +1048,7 @@ static struct platform_driver bcap_driver = {  		.owner = THIS_MODULE,  	},  	.probe = bcap_probe, -	.remove = __devexit_p(bcap_remove), +	.remove = bcap_remove,  };  module_platform_driver(bcap_driver); diff --git a/drivers/media/platform/coda.c b/drivers/media/platform/coda.c index 7b8b547f2d5..4a980e029ca 100644 --- a/drivers/media/platform/coda.c +++ b/drivers/media/platform/coda.c @@ -23,8 +23,8 @@  #include <linux/slab.h>  #include <linux/videodev2.h>  #include <linux/of.h> +#include <linux/platform_data/imx-iram.h> -#include <mach/iram.h>  #include <media/v4l2-ctrls.h>  #include <media/v4l2-device.h>  #include <media/v4l2-ioctl.h> @@ -1891,7 +1891,7 @@ static const struct of_device_id coda_dt_ids[] = {  MODULE_DEVICE_TABLE(of, coda_dt_ids);  #endif -static int __devinit coda_probe(struct platform_device *pdev) +static int coda_probe(struct platform_device *pdev)  {  	const struct of_device_id *of_id =  			of_match_device(of_match_ptr(coda_dt_ids), &pdev->dev); @@ -2033,7 +2033,7 @@ static int coda_remove(struct platform_device *pdev)  static struct platform_driver coda_driver = {  	.probe	= coda_probe, -	.remove	= __devexit_p(coda_remove), +	.remove	= coda_remove,  	.driver	= {  		.name	= CODA_NAME,  		.owner	= THIS_MODULE, diff --git a/drivers/media/platform/davinci/dm355_ccdc.c b/drivers/media/platform/davinci/dm355_ccdc.c index 030950dcfb1..f263cabade7 100644 --- a/drivers/media/platform/davinci/dm355_ccdc.c +++ b/drivers/media/platform/davinci/dm355_ccdc.c @@ -965,7 +965,7 @@ static struct ccdc_hw_device ccdc_hw_dev = {  	},  }; -static int __devinit dm355_ccdc_probe(struct platform_device *pdev) +static int dm355_ccdc_probe(struct platform_device *pdev)  {  	void (*setup_pinmux)(void);  	struct resource	*res; @@ -1069,7 +1069,7 @@ static struct platform_driver dm355_ccdc_driver = {  		.name	= "dm355_ccdc",  		.owner = THIS_MODULE,  	}, -	.remove = __devexit_p(dm355_ccdc_remove), +	.remove = dm355_ccdc_remove,  	.probe = dm355_ccdc_probe,  }; diff --git a/drivers/media/platform/davinci/dm644x_ccdc.c b/drivers/media/platform/davinci/dm644x_ccdc.c index 0215ab6ebc9..318e8051299 100644 --- a/drivers/media/platform/davinci/dm644x_ccdc.c +++ b/drivers/media/platform/davinci/dm644x_ccdc.c @@ -957,7 +957,7 @@ static struct ccdc_hw_device ccdc_hw_dev = {  	},  }; -static int __devinit dm644x_ccdc_probe(struct platform_device *pdev) +static int dm644x_ccdc_probe(struct platform_device *pdev)  {  	struct resource	*res;  	int status = 0; @@ -1078,7 +1078,7 @@ static struct platform_driver dm644x_ccdc_driver = {  		.owner = THIS_MODULE,  		.pm = &dm644x_ccdc_pm_ops,  	}, -	.remove = __devexit_p(dm644x_ccdc_remove), +	.remove = dm644x_ccdc_remove,  	.probe = dm644x_ccdc_probe,  }; diff --git a/drivers/media/platform/davinci/isif.c b/drivers/media/platform/davinci/isif.c index 2c26c3e1837..5050f9265f4 100644 --- a/drivers/media/platform/davinci/isif.c +++ b/drivers/media/platform/davinci/isif.c @@ -1032,7 +1032,7 @@ static struct ccdc_hw_device isif_hw_dev = {  	},  }; -static int __devinit isif_probe(struct platform_device *pdev) +static int isif_probe(struct platform_device *pdev)  {  	void (*setup_pinmux)(void);  	struct resource	*res; @@ -1156,7 +1156,7 @@ static struct platform_driver isif_driver = {  		.name	= "isif",  		.owner = THIS_MODULE,  	}, -	.remove = __devexit_p(isif_remove), +	.remove = isif_remove,  	.probe = isif_probe,  }; diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c index 7f5cf9b347b..841b91a3d25 100644 --- a/drivers/media/platform/davinci/vpbe.c +++ b/drivers/media/platform/davinci/vpbe.c @@ -807,7 +807,7 @@ static struct vpbe_device_ops vpbe_dev_ops = {  	.set_mode = vpbe_set_mode,  }; -static __devinit int vpbe_probe(struct platform_device *pdev) +static int vpbe_probe(struct platform_device *pdev)  {  	struct vpbe_device *vpbe_dev;  	struct vpbe_config *cfg; diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c index 2bfde7958fe..e707a6f2325 100644 --- a/drivers/media/platform/davinci/vpbe_display.c +++ b/drivers/media/platform/davinci/vpbe_display.c @@ -1662,8 +1662,8 @@ static int vpbe_device_get(struct device *dev, void *data)  	return 0;  } -static __devinit int init_vpbe_layer(int i, struct vpbe_display *disp_dev, -				     struct platform_device *pdev) +static int init_vpbe_layer(int i, struct vpbe_display *disp_dev, +			   struct platform_device *pdev)  {  	struct vpbe_layer *vpbe_display_layer = NULL;  	struct video_device *vbd = NULL; @@ -1718,9 +1718,10 @@ static __devinit int init_vpbe_layer(int i, struct vpbe_display *disp_dev,  	return 0;  } -static __devinit int register_device(struct vpbe_layer *vpbe_display_layer, -					struct vpbe_display *disp_dev, -					struct platform_device *pdev) { +static int register_device(struct vpbe_layer *vpbe_display_layer, +			   struct vpbe_display *disp_dev, +			   struct platform_device *pdev) +{  	int err;  	v4l2_info(&disp_dev->vpbe_dev->v4l2_dev, @@ -1752,7 +1753,7 @@ static __devinit int register_device(struct vpbe_layer *vpbe_display_layer,   * This function creates device entries by register itself to the V4L2 driver   * and initializes fields of each layer objects   */ -static __devinit int vpbe_display_probe(struct platform_device *pdev) +static int vpbe_display_probe(struct platform_device *pdev)  {  	struct vpbe_layer *vpbe_display_layer;  	struct vpbe_display *disp_dev; @@ -1886,7 +1887,7 @@ static struct platform_driver vpbe_display_driver = {  		.bus = &platform_bus_type,  	},  	.probe = vpbe_display_probe, -	.remove = __devexit_p(vpbe_display_remove), +	.remove = vpbe_display_remove,  };  module_platform_driver(vpbe_display_driver); diff --git a/drivers/media/platform/davinci/vpfe_capture.c b/drivers/media/platform/davinci/vpfe_capture.c index 8be492cd8ed..be9d3e1b486 100644 --- a/drivers/media/platform/davinci/vpfe_capture.c +++ b/drivers/media/platform/davinci/vpfe_capture.c @@ -1831,7 +1831,7 @@ static struct vpfe_device *vpfe_initialize(void)   * itself to the V4L2 driver and initializes fields of each   * device objects   */ -static __devinit int vpfe_probe(struct platform_device *pdev) +static int vpfe_probe(struct platform_device *pdev)  {  	struct vpfe_subdev_info *sdinfo;  	struct vpfe_config *vpfe_cfg; @@ -2038,7 +2038,7 @@ probe_free_dev_mem:  /*   * vpfe_remove : It un-register device from V4L2 driver   */ -static int __devexit vpfe_remove(struct platform_device *pdev) +static int vpfe_remove(struct platform_device *pdev)  {  	struct vpfe_device *vpfe_dev = platform_get_drvdata(pdev); @@ -2075,7 +2075,7 @@ static struct platform_driver vpfe_driver = {  		.pm = &vpfe_dev_pm_ops,  	},  	.probe = vpfe_probe, -	.remove = __devexit_p(vpfe_remove), +	.remove = vpfe_remove,  };  module_platform_driver(vpfe_driver); diff --git a/drivers/media/platform/davinci/vpif.c b/drivers/media/platform/davinci/vpif.c index 0d6cc8e4deb..28638a86f12 100644 --- a/drivers/media/platform/davinci/vpif.c +++ b/drivers/media/platform/davinci/vpif.c @@ -419,7 +419,7 @@ int vpif_channel_getfid(u8 channel_id)  }  EXPORT_SYMBOL(vpif_channel_getfid); -static int __devinit vpif_probe(struct platform_device *pdev) +static int vpif_probe(struct platform_device *pdev)  {  	int status = 0; @@ -457,7 +457,7 @@ fail:  	return status;  } -static int __devexit vpif_remove(struct platform_device *pdev) +static int vpif_remove(struct platform_device *pdev)  {  	if (vpif_clk) {  		clk_disable_unprepare(vpif_clk); @@ -498,7 +498,7 @@ static struct platform_driver vpif_driver = {  		.owner = THIS_MODULE,  		.pm	= vpif_pm_ops,  	}, -	.remove = __devexit_p(vpif_remove), +	.remove = vpif_remove,  	.probe = vpif_probe,  }; diff --git a/drivers/media/platform/davinci/vpss.c b/drivers/media/platform/davinci/vpss.c index 146e4b01ac1..cdbff88e0f1 100644 --- a/drivers/media/platform/davinci/vpss.c +++ b/drivers/media/platform/davinci/vpss.c @@ -357,7 +357,7 @@ void dm365_vpss_set_pg_frame_size(struct vpss_pg_frame_size frame_size)  }  EXPORT_SYMBOL(dm365_vpss_set_pg_frame_size); -static int __devinit vpss_probe(struct platform_device *pdev) +static int vpss_probe(struct platform_device *pdev)  {  	struct resource		*r1, *r2;  	char *platform_name; @@ -445,7 +445,7 @@ fail1:  	return status;  } -static int __devexit vpss_remove(struct platform_device *pdev) +static int vpss_remove(struct platform_device *pdev)  {  	struct resource		*res; @@ -465,7 +465,7 @@ static struct platform_driver vpss_driver = {  		.name	= "vpss",  		.owner = THIS_MODULE,  	}, -	.remove = __devexit_p(vpss_remove), +	.remove = vpss_remove,  	.probe = vpss_probe,  }; diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c index cc7b218d047..2b1b9f30e1f 100644 --- a/drivers/media/platform/exynos-gsc/gsc-core.c +++ b/drivers/media/platform/exynos-gsc/gsc-core.c @@ -1151,7 +1151,7 @@ err_clk:  	return ret;  } -static int __devexit gsc_remove(struct platform_device *pdev) +static int gsc_remove(struct platform_device *pdev)  {  	struct gsc_dev *gsc = platform_get_drvdata(pdev); @@ -1237,7 +1237,7 @@ static const struct dev_pm_ops gsc_pm_ops = {  static struct platform_driver gsc_driver = {  	.probe		= gsc_probe, -	.remove	= __devexit_p(gsc_remove), +	.remove		= gsc_remove,  	.id_table	= gsc_driver_ids,  	.driver = {  		.name	= GSC_MODULE_NAME, diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/fsl-viu.c index a8ddb0cacab..9115a2c8d07 100644 --- a/drivers/media/platform/fsl-viu.c +++ b/drivers/media/platform/fsl-viu.c @@ -1478,7 +1478,7 @@ static struct video_device viu_template = {  	.current_norm   = V4L2_STD_NTSC_M,  }; -static int __devinit viu_of_probe(struct platform_device *op) +static int viu_of_probe(struct platform_device *op)  {  	struct viu_dev *viu_dev;  	struct video_device *vdev; @@ -1615,7 +1615,7 @@ err:  	return ret;  } -static int __devexit viu_of_remove(struct platform_device *op) +static int viu_of_remove(struct platform_device *op)  {  	struct v4l2_device *v4l2_dev = dev_get_drvdata(&op->dev);  	struct viu_dev *dev = container_of(v4l2_dev, struct viu_dev, v4l2_dev); @@ -1668,7 +1668,7 @@ MODULE_DEVICE_TABLE(of, mpc512x_viu_of_match);  static struct platform_driver viu_of_platform_driver = {  	.probe = viu_of_probe, -	.remove = __devexit_p(viu_of_remove), +	.remove = viu_of_remove,  #ifdef CONFIG_PM  	.suspend = viu_suspend,  	.resume = viu_resume, diff --git a/drivers/media/platform/omap24xxcam.c b/drivers/media/platform/omap24xxcam.c index 70f45c38131..8b7ccea982e 100644 --- a/drivers/media/platform/omap24xxcam.c +++ b/drivers/media/platform/omap24xxcam.c @@ -1736,7 +1736,7 @@ static struct v4l2_int_device omap24xxcam = {   *   */ -static int __devinit omap24xxcam_probe(struct platform_device *pdev) +static int omap24xxcam_probe(struct platform_device *pdev)  {  	struct omap24xxcam_device *cam;  	struct resource *mem; diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 2e8c0cb79c3..e4aaee91201 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -1990,7 +1990,7 @@ error_csiphy:   *   * Always returns 0.   */ -static int __devexit isp_remove(struct platform_device *pdev) +static int isp_remove(struct platform_device *pdev)  {  	struct isp_device *isp = platform_get_drvdata(pdev);  	int i; @@ -2071,7 +2071,7 @@ static int isp_map_mem_resource(struct platform_device *pdev,   *   -EINVAL if couldn't install ISR,   *   or clk_get return error value.   */ -static int __devinit isp_probe(struct platform_device *pdev) +static int isp_probe(struct platform_device *pdev)  {  	struct isp_platform_data *pdata = pdev->dev.platform_data;  	struct isp_device *isp; @@ -2250,7 +2250,7 @@ MODULE_DEVICE_TABLE(platform, omap3isp_id_table);  static struct platform_driver omap3isp_driver = {  	.probe = isp_probe, -	.remove = __devexit_p(isp_remove), +	.remove = isp_remove,  	.id_table = omap3isp_id_table,  	.driver = {  		.owner = THIS_MODULE, diff --git a/drivers/media/platform/omap3isp/ispvideo.c b/drivers/media/platform/omap3isp/ispvideo.c index e0d73a64218..8dac17511e6 100644 --- a/drivers/media/platform/omap3isp/ispvideo.c +++ b/drivers/media/platform/omap3isp/ispvideo.c @@ -35,9 +35,6 @@  #include <linux/vmalloc.h>  #include <media/v4l2-dev.h>  #include <media/v4l2-ioctl.h> -#include <plat/iommu.h> -#include <plat/iovmm.h> -#include <plat/omap-pm.h>  #include "ispvideo.h"  #include "isp.h" diff --git a/drivers/media/platform/s3c-camif/camif-core.c b/drivers/media/platform/s3c-camif/camif-core.c index 0dd65376c06..e2716c35f8f 100644 --- a/drivers/media/platform/s3c-camif/camif-core.c +++ b/drivers/media/platform/s3c-camif/camif-core.c @@ -531,7 +531,7 @@ err_sd:  	return ret;  } -static int __devexit s3c_camif_remove(struct platform_device *pdev) +static int s3c_camif_remove(struct platform_device *pdev)  {  	struct camif_dev *camif = platform_get_drvdata(pdev);  	struct s3c_camif_plat_data *pdata = &camif->pdata; @@ -645,7 +645,7 @@ static const struct dev_pm_ops s3c_camif_pm_ops = {  static struct platform_driver s3c_camif_driver = {  	.probe		= s3c_camif_probe, -	.remove		= __devexit_p(s3c_camif_remove), +	.remove		= s3c_camif_remove,  	.id_table	= s3c_camif_driver_ids,  	.driver = {  		.name	= S3C_CAMIF_DRIVER_NAME, diff --git a/drivers/media/platform/s5p-fimc/fimc-core.c b/drivers/media/platform/s5p-fimc/fimc-core.c index 8d0d2b94a13..545b46ae12a 100644 --- a/drivers/media/platform/s5p-fimc/fimc-core.c +++ b/drivers/media/platform/s5p-fimc/fimc-core.c @@ -1035,7 +1035,7 @@ static int fimc_suspend(struct device *dev)  }  #endif /* CONFIG_PM_SLEEP */ -static int __devexit fimc_remove(struct platform_device *pdev) +static int fimc_remove(struct platform_device *pdev)  {  	struct fimc_dev *fimc = platform_get_drvdata(pdev); @@ -1234,7 +1234,7 @@ static const struct dev_pm_ops fimc_pm_ops = {  static struct platform_driver fimc_driver = {  	.probe		= fimc_probe, -	.remove		= __devexit_p(fimc_remove), +	.remove		= fimc_remove,  	.id_table	= fimc_driver_ids,  	.driver = {  		.name	= FIMC_MODULE_NAME, diff --git a/drivers/media/platform/s5p-fimc/fimc-lite.c b/drivers/media/platform/s5p-fimc/fimc-lite.c index 1b309a72f09..ed67220d0a6 100644 --- a/drivers/media/platform/s5p-fimc/fimc-lite.c +++ b/drivers/media/platform/s5p-fimc/fimc-lite.c @@ -1406,7 +1406,7 @@ static int fimc_lite_clk_get(struct fimc_lite *fimc)  	return ret;  } -static int __devinit fimc_lite_probe(struct platform_device *pdev) +static int fimc_lite_probe(struct platform_device *pdev)  {  	struct flite_drvdata *drv_data = fimc_lite_get_drvdata(pdev);  	struct fimc_lite *fimc; @@ -1547,7 +1547,7 @@ static int fimc_lite_suspend(struct device *dev)  }  #endif /* CONFIG_PM_SLEEP */ -static int __devexit fimc_lite_remove(struct platform_device *pdev) +static int fimc_lite_remove(struct platform_device *pdev)  {  	struct fimc_lite *fimc = platform_get_drvdata(pdev);  	struct device *dev = &pdev->dev; @@ -1595,7 +1595,7 @@ static const struct dev_pm_ops fimc_lite_pm_ops = {  static struct platform_driver fimc_lite_driver = {  	.probe		= fimc_lite_probe, -	.remove		= __devexit_p(fimc_lite_remove), +	.remove		= fimc_lite_remove,  	.id_table	= fimc_lite_driver_ids,  	.driver = {  		.name		= FIMC_LITE_DRV_NAME, diff --git a/drivers/media/platform/s5p-fimc/fimc-mdevice.c b/drivers/media/platform/s5p-fimc/fimc-mdevice.c index 1bd5678cfeb..b4a68ecf0ca 100644 --- a/drivers/media/platform/s5p-fimc/fimc-mdevice.c +++ b/drivers/media/platform/s5p-fimc/fimc-mdevice.c @@ -593,7 +593,7 @@ static int __fimc_md_create_flite_source_links(struct fimc_md *fmd)  {  	struct media_entity *source, *sink;  	unsigned int flags = MEDIA_LNK_FL_ENABLED; -	int i, ret; +	int i, ret = 0;  	for (i = 0; i < FIMC_LITE_MAX_DEVS; i++) {  		struct fimc_lite *fimc = fmd->fimc_lite[i]; @@ -1000,7 +1000,7 @@ err_md:  	return ret;  } -static int __devexit fimc_md_remove(struct platform_device *pdev) +static int fimc_md_remove(struct platform_device *pdev)  {  	struct fimc_md *fmd = platform_get_drvdata(pdev); @@ -1015,7 +1015,7 @@ static int __devexit fimc_md_remove(struct platform_device *pdev)  static struct platform_driver fimc_md_driver = {  	.probe		= fimc_md_probe, -	.remove		= __devexit_p(fimc_md_remove), +	.remove		= fimc_md_remove,  	.driver = {  		.name	= "s5p-fimc-md",  		.owner	= THIS_MODULE, diff --git a/drivers/media/platform/s5p-fimc/mipi-csis.c b/drivers/media/platform/s5p-fimc/mipi-csis.c index 4c961b1b68e..ec3fa7d7530 100644 --- a/drivers/media/platform/s5p-fimc/mipi-csis.c +++ b/drivers/media/platform/s5p-fimc/mipi-csis.c @@ -654,7 +654,7 @@ static irqreturn_t s5pcsis_irq_handler(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static int __devinit s5pcsis_probe(struct platform_device *pdev) +static int s5pcsis_probe(struct platform_device *pdev)  {  	struct s5p_platform_mipi_csis *pdata;  	struct resource *mem_res; @@ -851,7 +851,7 @@ static int s5pcsis_runtime_resume(struct device *dev)  }  #endif -static int __devexit s5pcsis_remove(struct platform_device *pdev) +static int s5pcsis_remove(struct platform_device *pdev)  {  	struct v4l2_subdev *sd = platform_get_drvdata(pdev);  	struct csis_state *state = sd_to_csis_state(sd); @@ -876,7 +876,7 @@ static const struct dev_pm_ops s5pcsis_pm_ops = {  static struct platform_driver s5pcsis_driver = {  	.probe		= s5pcsis_probe, -	.remove		= __devexit_p(s5pcsis_remove), +	.remove		= s5pcsis_remove,  	.driver		= {  		.name	= CSIS_DRIVER_NAME,  		.owner	= THIS_MODULE, diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index 3afe879d54d..681bc6ba149 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -412,62 +412,48 @@ leave_handle_frame:  }  /* Error handling for interrupt */ -static void s5p_mfc_handle_error(struct s5p_mfc_ctx *ctx, -				 unsigned int reason, unsigned int err) +static void s5p_mfc_handle_error(struct s5p_mfc_dev *dev, +		struct s5p_mfc_ctx *ctx, unsigned int reason, unsigned int err)  { -	struct s5p_mfc_dev *dev;  	unsigned long flags; -	/* If no context is available then all necessary -	 * processing has been done. */ -	if (ctx == NULL) -		return; - -	dev = ctx->dev;  	mfc_err("Interrupt Error: %08x\n", err); -	s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); -	wake_up_dev(dev, reason, err); -	/* Error recovery is dependent on the state of context */ -	switch (ctx->state) { -	case MFCINST_INIT: -		/* This error had to happen while acquireing instance */ -	case MFCINST_GOT_INST: -		/* This error had to happen while parsing the header */ -	case MFCINST_HEAD_PARSED: -		/* This error had to happen while setting dst buffers */ -	case MFCINST_RETURN_INST: -		/* This error had to happen while releasing instance */ -		clear_work_bit(ctx); -		wake_up_ctx(ctx, reason, err); -		if (test_and_clear_bit(0, &dev->hw_lock) == 0) -			BUG(); -		s5p_mfc_clock_off(); -		ctx->state = MFCINST_ERROR; -		break; -	case MFCINST_FINISHING: -	case MFCINST_FINISHED: -	case MFCINST_RUNNING: -		/* It is higly probable that an error occured -		 * while decoding a frame */ -		clear_work_bit(ctx); -		ctx->state = MFCINST_ERROR; -		/* Mark all dst buffers as having an error */ -		spin_lock_irqsave(&dev->irqlock, flags); -		s5p_mfc_hw_call(dev->mfc_ops, cleanup_queue, &ctx->dst_queue, -				&ctx->vq_dst); -		/* Mark all src buffers as having an error */ -		s5p_mfc_hw_call(dev->mfc_ops, cleanup_queue, &ctx->src_queue, -				&ctx->vq_src); -		spin_unlock_irqrestore(&dev->irqlock, flags); -		if (test_and_clear_bit(0, &dev->hw_lock) == 0) -			BUG(); -		s5p_mfc_clock_off(); -		break; -	default: -		mfc_err("Encountered an error interrupt which had not been handled\n"); -		break; +	if (ctx != NULL) { +		/* Error recovery is dependent on the state of context */ +		switch (ctx->state) { +		case MFCINST_RES_CHANGE_INIT: +		case MFCINST_RES_CHANGE_FLUSH: +		case MFCINST_RES_CHANGE_END: +		case MFCINST_FINISHING: +		case MFCINST_FINISHED: +		case MFCINST_RUNNING: +			/* It is higly probable that an error occured +			 * while decoding a frame */ +			clear_work_bit(ctx); +			ctx->state = MFCINST_ERROR; +			/* Mark all dst buffers as having an error */ +			spin_lock_irqsave(&dev->irqlock, flags); +			s5p_mfc_hw_call(dev->mfc_ops, cleanup_queue, +						&ctx->dst_queue, &ctx->vq_dst); +			/* Mark all src buffers as having an error */ +			s5p_mfc_hw_call(dev->mfc_ops, cleanup_queue, +						&ctx->src_queue, &ctx->vq_src); +			spin_unlock_irqrestore(&dev->irqlock, flags); +			wake_up_ctx(ctx, reason, err); +			break; +		default: +			clear_work_bit(ctx); +			ctx->state = MFCINST_ERROR; +			wake_up_ctx(ctx, reason, err); +			break; +		}  	} +	if (test_and_clear_bit(0, &dev->hw_lock) == 0) +		BUG(); +	s5p_mfc_hw_call(dev->mfc_ops, clear_int_flags, dev); +	s5p_mfc_clock_off(); +	wake_up_dev(dev, reason, err);  	return;  } @@ -632,7 +618,7 @@ static irqreturn_t s5p_mfc_irq(int irq, void *priv)  				dev->warn_start)  			s5p_mfc_handle_frame(ctx, reason, err);  		else -			s5p_mfc_handle_error(ctx, reason, err); +			s5p_mfc_handle_error(dev, ctx, reason, err);  		clear_bit(0, &dev->enter_suspend);  		break; @@ -1203,7 +1189,7 @@ err_res:  }  /* Remove the driver */ -static int __devexit s5p_mfc_remove(struct platform_device *pdev) +static int s5p_mfc_remove(struct platform_device *pdev)  {  	struct s5p_mfc_dev *dev = platform_get_drvdata(pdev); @@ -1368,7 +1354,7 @@ MODULE_DEVICE_TABLE(platform, mfc_driver_ids);  static struct platform_driver s5p_mfc_driver = {  	.probe		= s5p_mfc_probe, -	.remove		= __devexit_p(s5p_mfc_remove), +	.remove		= s5p_mfc_remove,  	.id_table	= mfc_driver_ids,  	.driver	= {  		.name	= S5P_MFC_NAME, diff --git a/drivers/media/platform/s5p-tv/hdmi_drv.c b/drivers/media/platform/s5p-tv/hdmi_drv.c index 8a9cf43018f..7c1116c73bf 100644 --- a/drivers/media/platform/s5p-tv/hdmi_drv.c +++ b/drivers/media/platform/s5p-tv/hdmi_drv.c @@ -830,7 +830,7 @@ fail:  	return -ENODEV;  } -static int __devinit hdmi_probe(struct platform_device *pdev) +static int hdmi_probe(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct resource *res; @@ -979,7 +979,7 @@ fail:  	return ret;  } -static int __devexit hdmi_remove(struct platform_device *pdev) +static int hdmi_remove(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct v4l2_subdev *sd = dev_get_drvdata(dev); @@ -997,7 +997,7 @@ static int __devexit hdmi_remove(struct platform_device *pdev)  static struct platform_driver hdmi_driver __refdata = {  	.probe = hdmi_probe, -	.remove = __devexit_p(hdmi_remove), +	.remove = hdmi_remove,  	.id_table = hdmi_driver_types,  	.driver = {  		.name = "s5p-hdmi", diff --git a/drivers/media/platform/s5p-tv/hdmiphy_drv.c b/drivers/media/platform/s5p-tv/hdmiphy_drv.c index f67b3863180..06b5d2dbb2d 100644 --- a/drivers/media/platform/s5p-tv/hdmiphy_drv.c +++ b/drivers/media/platform/s5p-tv/hdmiphy_drv.c @@ -279,8 +279,8 @@ static const struct v4l2_subdev_ops hdmiphy_ops = {  	.video = &hdmiphy_video_ops,  }; -static int __devinit hdmiphy_probe(struct i2c_client *client, -	const struct i2c_device_id *id) +static int hdmiphy_probe(struct i2c_client *client, +			 const struct i2c_device_id *id)  {  	struct hdmiphy_ctx *ctx; @@ -295,7 +295,7 @@ static int __devinit hdmiphy_probe(struct i2c_client *client,  	return 0;  } -static int __devexit hdmiphy_remove(struct i2c_client *client) +static int hdmiphy_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client);  	struct hdmiphy_ctx *ctx = sd_to_ctx(sd); @@ -322,7 +322,7 @@ static struct i2c_driver hdmiphy_driver = {  		.owner	= THIS_MODULE,  	},  	.probe		= hdmiphy_probe, -	.remove		= __devexit_p(hdmiphy_remove), +	.remove		= hdmiphy_remove,  	.id_table = hdmiphy_id,  }; diff --git a/drivers/media/platform/s5p-tv/mixer.h b/drivers/media/platform/s5p-tv/mixer.h index ddb422e2355..b671e20e931 100644 --- a/drivers/media/platform/s5p-tv/mixer.h +++ b/drivers/media/platform/s5p-tv/mixer.h @@ -290,7 +290,7 @@ static inline struct v4l2_subdev *to_outsd(struct mxr_device *mdev)  struct mxr_platform_data;  /** acquiring common video resources */ -int __devinit mxr_acquire_video(struct mxr_device *mdev, +int mxr_acquire_video(struct mxr_device *mdev,  	struct mxr_output_conf *output_cont, int output_count);  /** releasing common video resources */ diff --git a/drivers/media/platform/s5p-tv/mixer_drv.c b/drivers/media/platform/s5p-tv/mixer_drv.c index ca0f2971744..02faea03aa7 100644 --- a/drivers/media/platform/s5p-tv/mixer_drv.c +++ b/drivers/media/platform/s5p-tv/mixer_drv.c @@ -151,8 +151,8 @@ void mxr_power_put(struct mxr_device *mdev)  /* --------- RESOURCE MANAGEMENT -------------*/ -static int __devinit mxr_acquire_plat_resources(struct mxr_device *mdev, -	struct platform_device *pdev) +static int mxr_acquire_plat_resources(struct mxr_device *mdev, +				      struct platform_device *pdev)  {  	struct resource *res;  	int ret; @@ -271,8 +271,8 @@ fail:  	return -ENODEV;  } -static int __devinit mxr_acquire_resources(struct mxr_device *mdev, -	struct platform_device *pdev) +static int mxr_acquire_resources(struct mxr_device *mdev, +				 struct platform_device *pdev)  {  	int ret;  	ret = mxr_acquire_plat_resources(mdev, pdev); @@ -310,8 +310,8 @@ static void mxr_release_layers(struct mxr_device *mdev)  			mxr_layer_release(mdev->layer[i]);  } -static int __devinit mxr_acquire_layers(struct mxr_device *mdev, -	struct mxr_platform_data *pdata) +static int mxr_acquire_layers(struct mxr_device *mdev, +			      struct mxr_platform_data *pdata)  {  	mdev->layer[0] = mxr_graph_layer_create(mdev, 0);  	mdev->layer[1] = mxr_graph_layer_create(mdev, 1); @@ -372,7 +372,7 @@ static const struct dev_pm_ops mxr_pm_ops = {  /* --------- DRIVER INITIALIZATION ---------- */ -static int __devinit mxr_probe(struct platform_device *pdev) +static int mxr_probe(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct mxr_platform_data *pdata = dev->platform_data; @@ -431,7 +431,7 @@ fail:  	return ret;  } -static int __devexit mxr_remove(struct platform_device *pdev) +static int mxr_remove(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct mxr_device *mdev = to_mdev(dev); @@ -450,7 +450,7 @@ static int __devexit mxr_remove(struct platform_device *pdev)  static struct platform_driver mxr_driver __refdata = {  	.probe = mxr_probe, -	.remove = __devexit_p(mxr_remove), +	.remove = mxr_remove,  	.driver = {  		.name = MXR_DRIVER_NAME,  		.owner = THIS_MODULE, diff --git a/drivers/media/platform/s5p-tv/mixer_video.c b/drivers/media/platform/s5p-tv/mixer_video.c index 7379e77bf4e..1f3b7436511 100644 --- a/drivers/media/platform/s5p-tv/mixer_video.c +++ b/drivers/media/platform/s5p-tv/mixer_video.c @@ -62,8 +62,8 @@ done:  	return sd;  } -int __devinit mxr_acquire_video(struct mxr_device *mdev, -	struct mxr_output_conf *output_conf, int output_count) +int mxr_acquire_video(struct mxr_device *mdev, +		      struct mxr_output_conf *output_conf, int output_count)  {  	struct device *dev = mdev->dev;  	struct v4l2_device *v4l2_dev = &mdev->v4l2_dev; diff --git a/drivers/media/platform/s5p-tv/sdo_drv.c b/drivers/media/platform/s5p-tv/sdo_drv.c index ad68bbed014..91a6939a270 100644 --- a/drivers/media/platform/s5p-tv/sdo_drv.c +++ b/drivers/media/platform/s5p-tv/sdo_drv.c @@ -292,7 +292,7 @@ static const struct dev_pm_ops sdo_pm_ops = {  	.runtime_resume	 = sdo_runtime_resume,  }; -static int __devinit sdo_probe(struct platform_device *pdev) +static int sdo_probe(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct sdo_device *sdev; @@ -419,7 +419,7 @@ fail:  	return ret;  } -static int __devexit sdo_remove(struct platform_device *pdev) +static int sdo_remove(struct platform_device *pdev)  {  	struct v4l2_subdev *sd = dev_get_drvdata(&pdev->dev);  	struct sdo_device *sdev = sd_to_sdev(sd); @@ -437,7 +437,7 @@ static int __devexit sdo_remove(struct platform_device *pdev)  static struct platform_driver sdo_driver __refdata = {  	.probe = sdo_probe, -	.remove = __devexit_p(sdo_remove), +	.remove = sdo_remove,  	.driver = {  		.name = "s5p-sdo",  		.owner = THIS_MODULE, diff --git a/drivers/media/platform/s5p-tv/sii9234_drv.c b/drivers/media/platform/s5p-tv/sii9234_drv.c index 716d4846f8b..49191aac963 100644 --- a/drivers/media/platform/s5p-tv/sii9234_drv.c +++ b/drivers/media/platform/s5p-tv/sii9234_drv.c @@ -315,8 +315,8 @@ static const struct v4l2_subdev_ops sii9234_ops = {  	.video = &sii9234_video_ops,  }; -static int __devinit sii9234_probe(struct i2c_client *client, -	const struct i2c_device_id *id) +static int sii9234_probe(struct i2c_client *client, +			 const struct i2c_device_id *id)  {  	struct device *dev = &client->dev;  	struct sii9234_platform_data *pdata = dev->platform_data; @@ -378,7 +378,7 @@ fail:  	return ret;  } -static int __devexit sii9234_remove(struct i2c_client *client) +static int sii9234_remove(struct i2c_client *client)  {  	struct device *dev = &client->dev;  	struct v4l2_subdev *sd = i2c_get_clientdata(client); @@ -406,7 +406,7 @@ static struct i2c_driver sii9234_driver = {  		.pm = &sii9234_pm_ops,  	},  	.probe		= sii9234_probe, -	.remove		= __devexit_p(sii9234_remove), +	.remove		= sii9234_remove,  	.id_table = sii9234_id,  }; diff --git a/drivers/media/platform/sh_vou.c b/drivers/media/platform/sh_vou.c index a1c87f0ceaa..f3c4571ac01 100644 --- a/drivers/media/platform/sh_vou.c +++ b/drivers/media/platform/sh_vou.c @@ -1326,7 +1326,7 @@ static const struct video_device sh_vou_video_template = {  	.vfl_dir	= VFL_DIR_TX,  }; -static int __devinit sh_vou_probe(struct platform_device *pdev) +static int sh_vou_probe(struct platform_device *pdev)  {  	struct sh_vou_pdata *vou_pdata = pdev->dev.platform_data;  	struct v4l2_rect *rect; @@ -1461,7 +1461,7 @@ ereqmemreg:  	return ret;  } -static int __devexit sh_vou_remove(struct platform_device *pdev) +static int sh_vou_remove(struct platform_device *pdev)  {  	int irq = platform_get_irq(pdev, 0);  	struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev); @@ -1487,7 +1487,7 @@ static int __devexit sh_vou_remove(struct platform_device *pdev)  }  static struct platform_driver __refdata sh_vou = { -	.remove  = __devexit_p(sh_vou_remove), +	.remove  = sh_vou_remove,  	.driver  = {  		.name	= "sh-vou",  		.owner	= THIS_MODULE, diff --git a/drivers/media/platform/soc_camera/atmel-isi.c b/drivers/media/platform/soc_camera/atmel-isi.c index 6274a91c25c..d96c8c7e01d 100644 --- a/drivers/media/platform/soc_camera/atmel-isi.c +++ b/drivers/media/platform/soc_camera/atmel-isi.c @@ -897,7 +897,7 @@ static struct soc_camera_host_ops isi_soc_camera_host_ops = {  };  /* -----------------------------------------------------------------------*/ -static int __devexit atmel_isi_remove(struct platform_device *pdev) +static int atmel_isi_remove(struct platform_device *pdev)  {  	struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);  	struct atmel_isi *isi = container_of(soc_host, @@ -921,7 +921,7 @@ static int __devexit atmel_isi_remove(struct platform_device *pdev)  	return 0;  } -static int __devinit atmel_isi_probe(struct platform_device *pdev) +static int atmel_isi_probe(struct platform_device *pdev)  {  	unsigned int irq;  	struct atmel_isi *isi; @@ -1074,7 +1074,7 @@ err_clk_prepare_pclk:  static struct platform_driver atmel_isi_driver = {  	.probe		= atmel_isi_probe, -	.remove		= __devexit_p(atmel_isi_remove), +	.remove		= atmel_isi_remove,  	.driver		= {  		.name = "atmel_isi",  		.owner = THIS_MODULE, diff --git a/drivers/media/platform/soc_camera/mx2_camera.c b/drivers/media/platform/soc_camera/mx2_camera.c index 791cd1d54a7..8bda2c908ab 100644 --- a/drivers/media/platform/soc_camera/mx2_camera.c +++ b/drivers/media/platform/soc_camera/mx2_camera.c @@ -1692,7 +1692,7 @@ static irqreturn_t mx27_camera_emma_irq(int irq_emma, void *data)  	return IRQ_HANDLED;  } -static int __devinit mx27_camera_emma_init(struct platform_device *pdev) +static int mx27_camera_emma_init(struct platform_device *pdev)  {  	struct mx2_camera_dev *pcdev = platform_get_drvdata(pdev);  	struct resource *res_emma; @@ -1750,7 +1750,7 @@ out:  	return err;  } -static int __devinit mx2_camera_probe(struct platform_device *pdev) +static int mx2_camera_probe(struct platform_device *pdev)  {  	struct mx2_camera_dev *pcdev;  	struct resource *res_csi; @@ -1887,7 +1887,7 @@ exit:  	return err;  } -static int __devexit mx2_camera_remove(struct platform_device *pdev) +static int mx2_camera_remove(struct platform_device *pdev)  {  	struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);  	struct mx2_camera_dev *pcdev = container_of(soc_host, @@ -1912,7 +1912,7 @@ static struct platform_driver mx2_camera_driver = {  		.name	= MX2_CAM_DRV_NAME,  	},  	.id_table	= mx2_camera_devtype, -	.remove		= __devexit_p(mx2_camera_remove), +	.remove		= mx2_camera_remove,  }; diff --git a/drivers/media/platform/soc_camera/mx3_camera.c b/drivers/media/platform/soc_camera/mx3_camera.c index 06d16de7637..45aef1053a4 100644 --- a/drivers/media/platform/soc_camera/mx3_camera.c +++ b/drivers/media/platform/soc_camera/mx3_camera.c @@ -1143,7 +1143,7 @@ static struct soc_camera_host_ops mx3_soc_camera_host_ops = {  	.set_bus_param	= mx3_camera_set_bus_param,  }; -static int __devinit mx3_camera_probe(struct platform_device *pdev) +static int mx3_camera_probe(struct platform_device *pdev)  {  	struct mx3_camera_dev *mx3_cam;  	struct resource *res; @@ -1246,7 +1246,7 @@ egetres:  	return err;  } -static int __devexit mx3_camera_remove(struct platform_device *pdev) +static int mx3_camera_remove(struct platform_device *pdev)  {  	struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);  	struct mx3_camera_dev *mx3_cam = container_of(soc_host, @@ -1279,7 +1279,7 @@ static struct platform_driver mx3_camera_driver = {  		.name	= MX3_CAM_DRV_NAME,  	},  	.probe		= mx3_camera_probe, -	.remove		= __devexit_p(mx3_camera_remove), +	.remove		= mx3_camera_remove,  };  module_platform_driver(mx3_camera_driver); diff --git a/drivers/media/platform/soc_camera/pxa_camera.c b/drivers/media/platform/soc_camera/pxa_camera.c index 3434ffe79c6..523330d00de 100644 --- a/drivers/media/platform/soc_camera/pxa_camera.c +++ b/drivers/media/platform/soc_camera/pxa_camera.c @@ -1651,7 +1651,7 @@ static struct soc_camera_host_ops pxa_soc_camera_host_ops = {  	.set_bus_param	= pxa_camera_set_bus_param,  }; -static int __devinit pxa_camera_probe(struct platform_device *pdev) +static int pxa_camera_probe(struct platform_device *pdev)  {  	struct pxa_camera_dev *pcdev;  	struct resource *res; @@ -1801,7 +1801,7 @@ exit:  	return err;  } -static int __devexit pxa_camera_remove(struct platform_device *pdev) +static int pxa_camera_remove(struct platform_device *pdev)  {  	struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);  	struct pxa_camera_dev *pcdev = container_of(soc_host, @@ -1840,7 +1840,7 @@ static struct platform_driver pxa_camera_driver = {  		.pm	= &pxa_camera_pm,  	},  	.probe		= pxa_camera_probe, -	.remove		= __devexit_p(pxa_camera_remove), +	.remove		= pxa_camera_remove,  };  module_platform_driver(pxa_camera_driver); diff --git a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c index 2d8861c0e8f..ebbc126e71a 100644 --- a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c +++ b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c @@ -2071,7 +2071,7 @@ static int bus_notify(struct notifier_block *nb,  	return NOTIFY_DONE;  } -static int __devinit sh_mobile_ceu_probe(struct platform_device *pdev) +static int sh_mobile_ceu_probe(struct platform_device *pdev)  {  	struct sh_mobile_ceu_dev *pcdev;  	struct resource *res; @@ -2258,7 +2258,7 @@ exit:  	return err;  } -static int __devexit sh_mobile_ceu_remove(struct platform_device *pdev) +static int sh_mobile_ceu_remove(struct platform_device *pdev)  {  	struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);  	struct sh_mobile_ceu_dev *pcdev = container_of(soc_host, @@ -2307,7 +2307,7 @@ static struct platform_driver sh_mobile_ceu_driver = {  		.pm	= &sh_mobile_ceu_dev_pm_ops,  	},  	.probe		= sh_mobile_ceu_probe, -	.remove		= __devexit_p(sh_mobile_ceu_remove), +	.remove		= sh_mobile_ceu_remove,  };  static int __init sh_mobile_ceu_init(void) diff --git a/drivers/media/platform/soc_camera/sh_mobile_csi2.c b/drivers/media/platform/soc_camera/sh_mobile_csi2.c index 05286500b4d..a17aba9a010 100644 --- a/drivers/media/platform/soc_camera/sh_mobile_csi2.c +++ b/drivers/media/platform/soc_camera/sh_mobile_csi2.c @@ -294,7 +294,7 @@ static struct v4l2_subdev_ops sh_csi2_subdev_ops = {  	.video	= &sh_csi2_subdev_video_ops,  }; -static __devinit int sh_csi2_probe(struct platform_device *pdev) +static int sh_csi2_probe(struct platform_device *pdev)  {  	struct resource *res;  	unsigned int irq; @@ -366,7 +366,7 @@ ereqreg:  	return ret;  } -static __devexit int sh_csi2_remove(struct platform_device *pdev) +static int sh_csi2_remove(struct platform_device *pdev)  {  	struct sh_csi2 *priv = platform_get_drvdata(pdev);  	struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -382,7 +382,7 @@ static __devexit int sh_csi2_remove(struct platform_device *pdev)  }  static struct platform_driver __refdata sh_csi2_pdrv = { -	.remove	= __devexit_p(sh_csi2_remove), +	.remove	= sh_csi2_remove,  	.probe	= sh_csi2_probe,  	.driver	= {  		.name	= "sh-mobile-csi2", diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c index 4e3735679f1..2ec90eae6ba 100644 --- a/drivers/media/platform/soc_camera/soc_camera.c +++ b/drivers/media/platform/soc_camera/soc_camera.c @@ -1530,7 +1530,7 @@ static int soc_camera_video_start(struct soc_camera_device *icd)  	return 0;  } -static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev) +static int soc_camera_pdrv_probe(struct platform_device *pdev)  {  	struct soc_camera_link *icl = pdev->dev.platform_data;  	struct soc_camera_device *icd; @@ -1558,7 +1558,7 @@ static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev)   * hot-pluggable. Now we know, that all our users - hosts and devices have   * been unloaded already   */ -static int __devexit soc_camera_pdrv_remove(struct platform_device *pdev) +static int soc_camera_pdrv_remove(struct platform_device *pdev)  {  	struct soc_camera_device *icd = platform_get_drvdata(pdev); @@ -1572,7 +1572,7 @@ static int __devexit soc_camera_pdrv_remove(struct platform_device *pdev)  static struct platform_driver __refdata soc_camera_pdrv = {  	.probe = soc_camera_pdrv_probe, -	.remove  = __devexit_p(soc_camera_pdrv_remove), +	.remove  = soc_camera_pdrv_remove,  	.driver  = {  		.name	= "soc-camera-pdrv",  		.owner	= THIS_MODULE, diff --git a/drivers/media/platform/timblogiw.c b/drivers/media/platform/timblogiw.c index 02194c056b0..d854d08a6c7 100644 --- a/drivers/media/platform/timblogiw.c +++ b/drivers/media/platform/timblogiw.c @@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *file, struct vm_area_struct *vma)  /* Platform device functions */ -static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops = { +static struct v4l2_ioctl_ops timblogiw_ioctl_ops = {  	.vidioc_querycap		= timblogiw_querycap,  	.vidioc_enum_fmt_vid_cap	= timblogiw_enum_fmt,  	.vidioc_g_fmt_vid_cap		= timblogiw_g_fmt, @@ -767,7 +767,7 @@ static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops = {  	.vidioc_enum_framesizes		= timblogiw_enum_framesizes,  }; -static __devinitconst struct v4l2_file_operations timblogiw_fops = { +static struct v4l2_file_operations timblogiw_fops = {  	.owner		= THIS_MODULE,  	.open		= timblogiw_open,  	.release	= timblogiw_close, @@ -777,7 +777,7 @@ static __devinitconst struct v4l2_file_operations timblogiw_fops = {  	.poll		= timblogiw_poll,  }; -static __devinitconst struct video_device timblogiw_template = { +static struct video_device timblogiw_template = {  	.name		= TIMBLOGIWIN_NAME,  	.fops		= &timblogiw_fops,  	.ioctl_ops	= &timblogiw_ioctl_ops, @@ -786,7 +786,7 @@ static __devinitconst struct video_device timblogiw_template = {  	.tvnorms	= V4L2_STD_PAL | V4L2_STD_NTSC  }; -static int __devinit timblogiw_probe(struct platform_device *pdev) +static int timblogiw_probe(struct platform_device *pdev)  {  	int err;  	struct timblogiw *lw = NULL; @@ -848,7 +848,7 @@ err:  	return err;  } -static int __devexit timblogiw_remove(struct platform_device *pdev) +static int timblogiw_remove(struct platform_device *pdev)  {  	struct timblogiw *lw = platform_get_drvdata(pdev); @@ -869,7 +869,7 @@ static struct platform_driver timblogiw_platform_driver = {  		.owner	= THIS_MODULE,  	},  	.probe		= timblogiw_probe, -	.remove		= __devexit_p(timblogiw_remove), +	.remove		= timblogiw_remove,  };  module_platform_driver(timblogiw_platform_driver); diff --git a/drivers/media/platform/via-camera.c b/drivers/media/platform/via-camera.c index eb404c2ce27..63e8c346123 100644 --- a/drivers/media/platform/via-camera.c +++ b/drivers/media/platform/via-camera.c @@ -1324,7 +1324,7 @@ static struct video_device viacam_v4l_template = {  #define VIACAM_SERIAL_CREG 0x46  #define VIACAM_SERIAL_BIT 0x40 -static __devinit bool viacam_serial_is_enabled(void) +static bool viacam_serial_is_enabled(void)  {  	struct pci_bus *pbus = pci_find_bus(0, 0);  	u8 cbyte; @@ -1353,7 +1353,7 @@ static struct ov7670_config sensor_cfg = {  	.clock_speed = 90,  }; -static __devinit int viacam_probe(struct platform_device *pdev) +static int viacam_probe(struct platform_device *pdev)  {  	int ret;  	struct i2c_adapter *sensor_adapter; @@ -1490,7 +1490,7 @@ out_unregister:  	return ret;  } -static __devexit int viacam_remove(struct platform_device *pdev) +static int viacam_remove(struct platform_device *pdev)  {  	struct via_camera *cam = via_cam_info;  	struct viafb_dev *viadev = pdev->dev.platform_data; diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-keene.c index e10e525f33e..296941a9ae2 100644 --- a/drivers/media/radio/radio-keene.c +++ b/drivers/media/radio/radio-keene.c @@ -374,6 +374,7 @@ static int usb_keene_probe(struct usb_interface *intf,  	radio->vdev.ioctl_ops = &usb_keene_ioctl_ops;  	radio->vdev.lock = &radio->lock;  	radio->vdev.release = video_device_release_empty; +	radio->vdev.vfl_dir = VFL_DIR_TX;  	radio->usbdev = interface_to_usbdev(intf);  	radio->intf = intf; diff --git a/drivers/media/radio/radio-maxiradio.c b/drivers/media/radio/radio-maxiradio.c index b415211d0c4..bd4d3a7cdad 100644 --- a/drivers/media/radio/radio-maxiradio.c +++ b/drivers/media/radio/radio-maxiradio.c @@ -114,7 +114,8 @@ static struct snd_tea575x_ops maxiradio_tea_ops = {  	.set_direction = maxiradio_tea575x_set_direction,  }; -static int __devinit maxiradio_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +static int maxiradio_probe(struct pci_dev *pdev, +			   const struct pci_device_id *ent)  {  	struct maxiradio *dev;  	struct v4l2_device *v4l2_dev; @@ -172,7 +173,7 @@ errfr:  	return retval;  } -static void __devexit maxiradio_remove(struct pci_dev *pdev) +static void maxiradio_remove(struct pci_dev *pdev)  {  	struct v4l2_device *v4l2_dev = dev_get_drvdata(&pdev->dev);  	struct maxiradio *dev = to_maxiradio(v4l2_dev); @@ -196,7 +197,7 @@ static struct pci_driver maxiradio_driver = {  	.name		= "radio-maxiradio",  	.id_table	= maxiradio_pci_tbl,  	.probe		= maxiradio_probe, -	.remove		= __devexit_p(maxiradio_remove), +	.remove		= maxiradio_remove,  };  static int __init maxiradio_init(void) diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c index c260a2a354b..637a5556495 100644 --- a/drivers/media/radio/radio-sf16fmi.c +++ b/drivers/media/radio/radio-sf16fmi.c @@ -265,7 +265,7 @@ static const struct v4l2_ioctl_ops fmi_ioctl_ops = {  };  /* ladis: this is my card. does any other types exist? */ -static struct isapnp_device_id id_table[] __devinitdata = { +static struct isapnp_device_id id_table[] = {  		/* SF16-FMI */  	{	ISAPNP_ANY_ID, ISAPNP_ANY_ID,  		ISAPNP_VENDOR('M','F','R'), ISAPNP_FUNCTION(0xad10), 0}, diff --git a/drivers/media/radio/radio-sf16fmr2.c b/drivers/media/radio/radio-sf16fmr2.c index 4efcbec74c5..9c0990457a7 100644 --- a/drivers/media/radio/radio-sf16fmr2.c +++ b/drivers/media/radio/radio-sf16fmr2.c @@ -197,13 +197,13 @@ static int fmr2_tea_ext_init(struct snd_tea575x *tea)  	return 0;  } -static struct pnp_device_id fmr2_pnp_ids[] __devinitdata = { +static struct pnp_device_id fmr2_pnp_ids[] = {  	{ .id = "MFRad13" }, /* tuner subdevice of SF16-FMD2 */  	{ .id = "" }  };  MODULE_DEVICE_TABLE(pnp, fmr2_pnp_ids); -static int __devinit fmr2_probe(struct fmr2 *fmr2, struct device *pdev, int io) +static int fmr2_probe(struct fmr2 *fmr2, struct device *pdev, int io)  {  	int err, i;  	char *card_name = fmr2->is_fmd2 ? "SF16-FMD2" : "SF16-FMR2"; @@ -249,7 +249,7 @@ static int __devinit fmr2_probe(struct fmr2 *fmr2, struct device *pdev, int io)  	return 0;  } -static int __devinit fmr2_isa_match(struct device *pdev, unsigned int ndev) +static int fmr2_isa_match(struct device *pdev, unsigned int ndev)  {  	struct fmr2 *fmr2 = kzalloc(sizeof(*fmr2), GFP_KERNEL);  	if (!fmr2) @@ -265,8 +265,7 @@ static int __devinit fmr2_isa_match(struct device *pdev, unsigned int ndev)  	return 1;  } -static int __devinit fmr2_pnp_probe(struct pnp_dev *pdev, -				const struct pnp_device_id *id) +static int fmr2_pnp_probe(struct pnp_dev *pdev, const struct pnp_device_id *id)  {  	int ret;  	struct fmr2 *fmr2 = kzalloc(sizeof(*fmr2), GFP_KERNEL); @@ -285,7 +284,7 @@ static int __devinit fmr2_pnp_probe(struct pnp_dev *pdev,  	return 0;  } -static void __devexit fmr2_remove(struct fmr2 *fmr2) +static void fmr2_remove(struct fmr2 *fmr2)  {  	snd_tea575x_exit(&fmr2->tea);  	release_region(fmr2->io, 2); @@ -293,7 +292,7 @@ static void __devexit fmr2_remove(struct fmr2 *fmr2)  	kfree(fmr2);  } -static int __devexit fmr2_isa_remove(struct device *pdev, unsigned int ndev) +static int fmr2_isa_remove(struct device *pdev, unsigned int ndev)  {  	fmr2_remove(dev_get_drvdata(pdev));  	dev_set_drvdata(pdev, NULL); @@ -301,7 +300,7 @@ static int __devexit fmr2_isa_remove(struct device *pdev, unsigned int ndev)  	return 0;  } -static void __devexit fmr2_pnp_remove(struct pnp_dev *pdev) +static void fmr2_pnp_remove(struct pnp_dev *pdev)  {  	fmr2_remove(pnp_get_drvdata(pdev));  	pnp_set_drvdata(pdev, NULL); @@ -309,7 +308,7 @@ static void __devexit fmr2_pnp_remove(struct pnp_dev *pdev)  struct isa_driver fmr2_isa_driver = {  	.match		= fmr2_isa_match, -	.remove		= __devexit_p(fmr2_isa_remove), +	.remove		= fmr2_isa_remove,  	.driver		= {  		.name	= "radio-sf16fmr2",  	}, @@ -319,7 +318,7 @@ struct pnp_driver fmr2_pnp_driver = {  	.name		= "radio-sf16fmr2",  	.id_table	= fmr2_pnp_ids,  	.probe		= fmr2_pnp_probe, -	.remove		= __devexit_p(fmr2_pnp_remove), +	.remove		= fmr2_pnp_remove,  };  static int __init fmr2_init(void) diff --git a/drivers/media/radio/radio-si4713.c b/drivers/media/radio/radio-si4713.c index a082e400ed0..1507c9d508d 100644 --- a/drivers/media/radio/radio-si4713.c +++ b/drivers/media/radio/radio-si4713.c @@ -250,6 +250,7 @@ static struct video_device radio_si4713_vdev_template = {  	.name			= "radio-si4713",  	.release		= video_device_release,  	.ioctl_ops		= &radio_si4713_ioctl_ops, +	.vfl_dir		= VFL_DIR_TX,  };  /* Platform driver interface */ diff --git a/drivers/media/radio/radio-tea5764.c b/drivers/media/radio/radio-tea5764.c index 36aec575e0e..1978516af67 100644 --- a/drivers/media/radio/radio-tea5764.c +++ b/drivers/media/radio/radio-tea5764.c @@ -493,8 +493,8 @@ static struct video_device tea5764_radio_template = {  };  /* I2C probe: check if the device exists and register with v4l if it is */ -static int __devinit tea5764_i2c_probe(struct i2c_client *client, -					const struct i2c_device_id *id) +static int tea5764_i2c_probe(struct i2c_client *client, +			     const struct i2c_device_id *id)  {  	struct tea5764_device *radio;  	struct tea5764_regs *r; @@ -552,7 +552,7 @@ errfr:  	return ret;  } -static int __devexit tea5764_i2c_remove(struct i2c_client *client) +static int tea5764_i2c_remove(struct i2c_client *client)  {  	struct tea5764_device *radio = i2c_get_clientdata(client); @@ -578,7 +578,7 @@ static struct i2c_driver tea5764_i2c_driver = {  		.owner = THIS_MODULE,  	},  	.probe = tea5764_i2c_probe, -	.remove = __devexit_p(tea5764_i2c_remove), +	.remove = tea5764_i2c_remove,  	.id_table = tea5764_id,  }; diff --git a/drivers/media/radio/radio-timb.c b/drivers/media/radio/radio-timb.c index 5cf07779f4b..b87effeb5dc 100644 --- a/drivers/media/radio/radio-timb.c +++ b/drivers/media/radio/radio-timb.c @@ -145,7 +145,7 @@ static const struct v4l2_file_operations timbradio_fops = {  	.unlocked_ioctl	= video_ioctl2,  }; -static int __devinit timbradio_probe(struct platform_device *pdev) +static int timbradio_probe(struct platform_device *pdev)  {  	struct timb_radio_platform_data *pdata = pdev->dev.platform_data;  	struct timbradio *tr; @@ -201,7 +201,7 @@ err:  	return err;  } -static int __devexit timbradio_remove(struct platform_device *pdev) +static int timbradio_remove(struct platform_device *pdev)  {  	struct timbradio *tr = platform_get_drvdata(pdev); @@ -219,7 +219,7 @@ static struct platform_driver timbradio_platform_driver = {  		.owner	= THIS_MODULE,  	},  	.probe		= timbradio_probe, -	.remove		= __devexit_p(timbradio_remove), +	.remove		= timbradio_remove,  };  module_platform_driver(timbradio_platform_driver); diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c index 9b0c9fa0beb..cabbe3adf43 100644 --- a/drivers/media/radio/radio-wl1273.c +++ b/drivers/media/radio/radio-wl1273.c @@ -1971,6 +1971,7 @@ static struct video_device wl1273_viddev_template = {  	.ioctl_ops		= &wl1273_ioctl_ops,  	.name			= WL1273_FM_DRIVER_NAME,  	.release		= wl1273_vdev_release, +	.vfl_dir		= VFL_DIR_TX,  };  static int wl1273_fm_radio_remove(struct platform_device *pdev) @@ -1990,7 +1991,7 @@ static int wl1273_fm_radio_remove(struct platform_device *pdev)  	return 0;  } -static int __devinit wl1273_fm_radio_probe(struct platform_device *pdev) +static int wl1273_fm_radio_probe(struct platform_device *pdev)  {  	struct wl1273_core **core = pdev->dev.platform_data;  	struct wl1273_device *radio; @@ -2145,7 +2146,7 @@ pdata_err:  static struct platform_driver wl1273_fm_radio_driver = {  	.probe		= wl1273_fm_radio_probe, -	.remove		= __devexit_p(wl1273_fm_radio_remove), +	.remove		= wl1273_fm_radio_remove,  	.driver		= {  		.name	= "wl1273_fm_radio",  		.owner	= THIS_MODULE, diff --git a/drivers/media/radio/saa7706h.c b/drivers/media/radio/saa7706h.c index 54db36ccb9e..06c06cc9ff2 100644 --- a/drivers/media/radio/saa7706h.c +++ b/drivers/media/radio/saa7706h.c @@ -373,8 +373,8 @@ static const struct v4l2_subdev_ops saa7706h_ops = {   * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '>>1'   */ -static int __devinit saa7706h_probe(struct i2c_client *client, -			const struct i2c_device_id *id) +static int saa7706h_probe(struct i2c_client *client, +			  const struct i2c_device_id *id)  {  	struct saa7706h_state *state;  	struct v4l2_subdev *sd; @@ -418,7 +418,7 @@ err:  	return err;  } -static int __devexit saa7706h_remove(struct i2c_client *client) +static int saa7706h_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client); @@ -441,7 +441,7 @@ static struct i2c_driver saa7706h_driver = {  		.name	= DRIVER_NAME,  	},  	.probe		= saa7706h_probe, -	.remove		= __devexit_p(saa7706h_remove), +	.remove		= saa7706h_remove,  	.id_table	= saa7706h_id,  }; diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c index 4ef55ec8045..e5fc9acd0c4 100644 --- a/drivers/media/radio/si470x/radio-si470x-i2c.c +++ b/drivers/media/radio/si470x/radio-si470x-i2c.c @@ -347,8 +347,8 @@ end:  /*   * si470x_i2c_probe - probe for the device   */ -static int __devinit si470x_i2c_probe(struct i2c_client *client, -		const struct i2c_device_id *id) +static int si470x_i2c_probe(struct i2c_client *client, +			    const struct i2c_device_id *id)  {  	struct si470x_device *radio;  	int retval = 0; @@ -451,7 +451,7 @@ err_initial:  /*   * si470x_i2c_remove - remove the device   */ -static __devexit int si470x_i2c_remove(struct i2c_client *client) +static int si470x_i2c_remove(struct i2c_client *client)  {  	struct si470x_device *radio = i2c_get_clientdata(client); @@ -514,7 +514,7 @@ static struct i2c_driver si470x_i2c_driver = {  #endif  	},  	.probe			= si470x_i2c_probe, -	.remove			= __devexit_p(si470x_i2c_remove), +	.remove			= si470x_i2c_remove,  	.id_table		= si470x_i2c_id,  }; diff --git a/drivers/media/radio/tef6862.c b/drivers/media/radio/tef6862.c index 06d47e5cce9..b18c2dc268b 100644 --- a/drivers/media/radio/tef6862.c +++ b/drivers/media/radio/tef6862.c @@ -165,8 +165,8 @@ static const struct v4l2_subdev_ops tef6862_ops = {   * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '>>1'   */ -static int __devinit tef6862_probe(struct i2c_client *client, -			const struct i2c_device_id *id) +static int tef6862_probe(struct i2c_client *client, +			 const struct i2c_device_id *id)  {  	struct tef6862_state *state;  	struct v4l2_subdev *sd; @@ -189,7 +189,7 @@ static int __devinit tef6862_probe(struct i2c_client *client,  	return 0;  } -static int __devexit tef6862_remove(struct i2c_client *client) +static int tef6862_remove(struct i2c_client *client)  {  	struct v4l2_subdev *sd = i2c_get_clientdata(client); @@ -211,7 +211,7 @@ static struct i2c_driver tef6862_driver = {  		.name	= DRIVER_NAME,  	},  	.probe		= tef6862_probe, -	.remove		= __devexit_p(tef6862_remove), +	.remove		= tef6862_remove,  	.id_table	= tef6862_id,  }; diff --git a/drivers/media/radio/wl128x/fmdrv_v4l2.c b/drivers/media/radio/wl128x/fmdrv_v4l2.c index 048de453603..0a8ee8fab92 100644 --- a/drivers/media/radio/wl128x/fmdrv_v4l2.c +++ b/drivers/media/radio/wl128x/fmdrv_v4l2.c @@ -518,6 +518,16 @@ static struct video_device fm_viddev_template = {  	.ioctl_ops = &fm_drv_ioctl_ops,  	.name = FM_DRV_NAME,  	.release = video_device_release, +	/* +	 * To ensure both the tuner and modulator ioctls are accessible we +	 * set the vfl_dir to M2M to indicate this. +	 * +	 * It is not really a mem2mem device of course, but it can both receive +	 * and transmit using the same radio device. It's the only radio driver +	 * that does this and it should really be split in two radio devices, +	 * but that would affect applications using this driver. +	 */ +	.vfl_dir = VFL_DIR_M2M,  };  int fm_v4l2_init_video_device(struct fmdev *fmdev, int radio_nr) diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c index 22231dd4f62..cef04786b52 100644 --- a/drivers/media/rc/ene_ir.c +++ b/drivers/media/rc/ene_ir.c @@ -1172,7 +1172,7 @@ static struct pnp_driver ene_driver = {  	.flags = PNP_DRIVER_RES_DO_NOT_CHANGE,  	.probe = ene_probe, -	.remove = __devexit_p(ene_remove), +	.remove = ene_remove,  #ifdef CONFIG_PM  	.suspend = ene_suspend,  	.resume = ene_resume, diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c index 936c3f79b62..1df410e1368 100644 --- a/drivers/media/rc/fintek-cir.c +++ b/drivers/media/rc/fintek-cir.c @@ -590,7 +590,7 @@ failure:  	return ret;  } -static void __devexit fintek_remove(struct pnp_dev *pdev) +static void fintek_remove(struct pnp_dev *pdev)  {  	struct fintek_dev *fintek = pnp_get_drvdata(pdev);  	unsigned long flags; @@ -678,7 +678,7 @@ static struct pnp_driver fintek_driver = {  	.id_table	= fintek_ids,  	.flags		= PNP_DRIVER_RES_DO_NOT_CHANGE,  	.probe		= fintek_probe, -	.remove		= __devexit_p(fintek_remove), +	.remove		= fintek_remove,  	.suspend	= fintek_suspend,  	.resume		= fintek_resume,  	.shutdown	= fintek_shutdown, diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c index ba1a1eb356c..4f71a7d1f01 100644 --- a/drivers/media/rc/gpio-ir-recv.c +++ b/drivers/media/rc/gpio-ir-recv.c @@ -58,7 +58,7 @@ err_get_value:  	return IRQ_HANDLED;  } -static int __devinit gpio_ir_recv_probe(struct platform_device *pdev) +static int gpio_ir_recv_probe(struct platform_device *pdev)  {  	struct gpio_rc_dev *gpio_dev;  	struct rc_dev *rcdev; @@ -140,7 +140,7 @@ err_allocate_device:  	return rc;  } -static int __devexit gpio_ir_recv_remove(struct platform_device *pdev) +static int gpio_ir_recv_remove(struct platform_device *pdev)  {  	struct gpio_rc_dev *gpio_dev = platform_get_drvdata(pdev); @@ -188,7 +188,7 @@ static const struct dev_pm_ops gpio_ir_recv_pm_ops = {  static struct platform_driver gpio_ir_recv_driver = {  	.probe  = gpio_ir_recv_probe, -	.remove = __devexit_p(gpio_ir_recv_remove), +	.remove = gpio_ir_recv_remove,  	.driver = {  		.name   = GPIO_IR_DRIVER_NAME,  		.owner  = THIS_MODULE, diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c index 5a9163da63c..b99b096d8a8 100644 --- a/drivers/media/rc/iguanair.c +++ b/drivers/media/rc/iguanair.c @@ -425,8 +425,8 @@ static void iguanair_close(struct rc_dev *rdev)  	mutex_unlock(&ir->lock);  } -static int __devinit iguanair_probe(struct usb_interface *intf, -						const struct usb_device_id *id) +static int iguanair_probe(struct usb_interface *intf, +			  const struct usb_device_id *id)  {  	struct usb_device *udev = interface_to_usbdev(intf);  	struct iguanair *ir; @@ -538,7 +538,7 @@ out:  	return ret;  } -static void __devexit iguanair_disconnect(struct usb_interface *intf) +static void iguanair_disconnect(struct usb_interface *intf)  {  	struct iguanair *ir = usb_get_intfdata(intf); @@ -604,7 +604,7 @@ static const struct usb_device_id iguanair_table[] = {  static struct usb_driver iguanair_driver = {  	.name =	DRIVER_NAME,  	.probe = iguanair_probe, -	.disconnect = __devexit_p(iguanair_disconnect), +	.disconnect = iguanair_disconnect,  	.suspend = iguanair_suspend,  	.resume = iguanair_resume,  	.reset_resume = iguanair_resume, diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c index 8f6a28921ed..78d109b978d 100644 --- a/drivers/media/rc/imon.c +++ b/drivers/media/rc/imon.c @@ -255,7 +255,7 @@ static struct usb_device_id imon_usb_id_table[] = {  static struct usb_driver imon_driver = {  	.name		= MOD_NAME,  	.probe		= imon_probe, -	.disconnect	= __devexit_p(imon_disconnect), +	.disconnect	= imon_disconnect,  	.suspend	= imon_suspend,  	.resume		= imon_resume,  	.id_table	= imon_usb_id_table, @@ -2288,8 +2288,8 @@ static void imon_init_display(struct imon_context *ictx,  /**   * Callback function for USB core API: Probe   */ -static int __devinit imon_probe(struct usb_interface *interface, -				const struct usb_device_id *id) +static int imon_probe(struct usb_interface *interface, +		      const struct usb_device_id *id)  {  	struct usb_device *usbdev = NULL;  	struct usb_host_interface *iface_desc = NULL; @@ -2372,7 +2372,7 @@ fail:  /**   * Callback function for USB core API: disconnect   */ -static void __devexit imon_disconnect(struct usb_interface *interface) +static void imon_disconnect(struct usb_interface *interface)  {  	struct imon_context *ictx;  	struct device *dev; diff --git a/drivers/media/rc/ir-rx51.c b/drivers/media/rc/ir-rx51.c index 9e76c7b40af..8ead492d03a 100644 --- a/drivers/media/rc/ir-rx51.c +++ b/drivers/media/rc/ir-rx51.c @@ -443,7 +443,7 @@ static int lirc_rx51_resume(struct platform_device *dev)  #endif /* CONFIG_PM */ -static int __devinit lirc_rx51_probe(struct platform_device *dev) +static int lirc_rx51_probe(struct platform_device *dev)  {  	lirc_rx51_driver.features = LIRC_RX51_DRIVER_FEATURES;  	lirc_rx51.pdata = dev->dev.platform_data; diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c index 5e5a7f2b818..1b8669b6d04 100644 --- a/drivers/media/rc/ite-cir.c +++ b/drivers/media/rc/ite-cir.c @@ -1620,7 +1620,7 @@ failure:  	return ret;  } -static void __devexit ite_remove(struct pnp_dev *pdev) +static void ite_remove(struct pnp_dev *pdev)  {  	struct ite_dev *dev = pnp_get_drvdata(pdev);  	unsigned long flags; @@ -1702,7 +1702,7 @@ static struct pnp_driver ite_driver = {  	.name		= ITE_DRIVER_NAME,  	.id_table	= ite_ids,  	.probe		= ite_probe, -	.remove		= __devexit_p(ite_remove), +	.remove		= ite_remove,  	.suspend	= ite_suspend,  	.resume		= ite_resume,  	.shutdown	= ite_shutdown, diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c index b2146cd99fd..9afb9331217 100644 --- a/drivers/media/rc/mceusb.c +++ b/drivers/media/rc/mceusb.c @@ -1229,8 +1229,8 @@ out:  	return NULL;  } -static int __devinit mceusb_dev_probe(struct usb_interface *intf, -				      const struct usb_device_id *id) +static int mceusb_dev_probe(struct usb_interface *intf, +			    const struct usb_device_id *id)  {  	struct usb_device *dev = interface_to_usbdev(intf);  	struct usb_host_interface *idesc; @@ -1393,7 +1393,7 @@ mem_alloc_fail:  } -static void __devexit mceusb_dev_disconnect(struct usb_interface *intf) +static void mceusb_dev_disconnect(struct usb_interface *intf)  {  	struct usb_device *dev = interface_to_usbdev(intf);  	struct mceusb_dev *ir = usb_get_intfdata(intf); @@ -1432,7 +1432,7 @@ static int mceusb_dev_resume(struct usb_interface *intf)  static struct usb_driver mceusb_dev_driver = {  	.name =		DRIVER_NAME,  	.probe =	mceusb_dev_probe, -	.disconnect =	__devexit_p(mceusb_dev_disconnect), +	.disconnect =	mceusb_dev_disconnect,  	.suspend =	mceusb_dev_suspend,  	.resume =	mceusb_dev_resume,  	.reset_resume =	mceusb_dev_resume, diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c index e4ea89a11ee..b8aa9abb31f 100644 --- a/drivers/media/rc/nuvoton-cir.c +++ b/drivers/media/rc/nuvoton-cir.c @@ -1113,7 +1113,7 @@ failure:  	return ret;  } -static void __devexit nvt_remove(struct pnp_dev *pdev) +static void nvt_remove(struct pnp_dev *pdev)  {  	struct nvt_dev *nvt = pnp_get_drvdata(pdev);  	unsigned long flags; @@ -1211,7 +1211,7 @@ static struct pnp_driver nvt_driver = {  	.id_table	= nvt_ids,  	.flags		= PNP_DRIVER_RES_DO_NOT_CHANGE,  	.probe		= nvt_probe, -	.remove		= __devexit_p(nvt_remove), +	.remove		= nvt_remove,  	.suspend	= nvt_suspend,  	.resume		= nvt_resume,  	.shutdown	= nvt_shutdown, diff --git a/drivers/media/rc/redrat3.c b/drivers/media/rc/redrat3.c index a8887aba9fa..1800326f93e 100644 --- a/drivers/media/rc/redrat3.c +++ b/drivers/media/rc/redrat3.c @@ -1102,8 +1102,8 @@ out:  	return NULL;  } -static int __devinit redrat3_dev_probe(struct usb_interface *intf, -				       const struct usb_device_id *id) +static int redrat3_dev_probe(struct usb_interface *intf, +			     const struct usb_device_id *id)  {  	struct usb_device *udev = interface_to_usbdev(intf);  	struct device *dev = &intf->dev; @@ -1241,7 +1241,7 @@ no_endpoints:  	return retval;  } -static void __devexit redrat3_dev_disconnect(struct usb_interface *intf) +static void redrat3_dev_disconnect(struct usb_interface *intf)  {  	struct usb_device *udev = interface_to_usbdev(intf);  	struct redrat3_dev *rr3 = usb_get_intfdata(intf); @@ -1281,7 +1281,7 @@ static int redrat3_dev_resume(struct usb_interface *intf)  static struct usb_driver redrat3_dev_driver = {  	.name		= DRIVER_NAME,  	.probe		= redrat3_dev_probe, -	.disconnect	= __devexit_p(redrat3_dev_disconnect), +	.disconnect	= redrat3_dev_disconnect,  	.suspend	= redrat3_dev_suspend,  	.resume		= redrat3_dev_resume,  	.reset_resume	= redrat3_dev_resume, diff --git a/drivers/media/rc/streamzap.c b/drivers/media/rc/streamzap.c index c720f12f661..d7b11e6a998 100644 --- a/drivers/media/rc/streamzap.c +++ b/drivers/media/rc/streamzap.c @@ -346,8 +346,8 @@ out:   *	On any failure the return value is the ERROR   *	On success return 0   */ -static int __devinit streamzap_probe(struct usb_interface *intf, -				     const struct usb_device_id *id) +static int streamzap_probe(struct usb_interface *intf, +			   const struct usb_device_id *id)  {  	struct usb_device *usbdev = interface_to_usbdev(intf);  	struct usb_host_interface *iface_host; diff --git a/drivers/media/rc/ttusbir.c b/drivers/media/rc/ttusbir.c index f0921b5483e..78be8a91422 100644 --- a/drivers/media/rc/ttusbir.c +++ b/drivers/media/rc/ttusbir.c @@ -194,8 +194,8 @@ static void ttusbir_urb_complete(struct urb *urb)  		dev_warn(tt->dev, "failed to resubmit urb: %d\n", rc);  } -static int __devinit ttusbir_probe(struct usb_interface *intf, -						const struct usb_device_id *id) +static int ttusbir_probe(struct usb_interface *intf, +			 const struct usb_device_id *id)  {  	struct ttusbir *tt;  	struct usb_interface_descriptor *idesc; @@ -367,7 +367,7 @@ out:  	return ret;  } -static void __devexit ttusbir_disconnect(struct usb_interface *intf) +static void ttusbir_disconnect(struct usb_interface *intf)  {  	struct ttusbir *tt = usb_get_intfdata(intf);  	struct usb_device *udev = tt->udev; @@ -435,7 +435,7 @@ static struct usb_driver ttusbir_driver = {  	.suspend = ttusbir_suspend,  	.resume = ttusbir_resume,  	.reset_resume = ttusbir_resume, -	.disconnect = __devexit_p(ttusbir_disconnect) +	.disconnect = ttusbir_disconnect,  };  module_usb_driver(ttusbir_driver); diff --git a/drivers/media/rc/winbond-cir.c b/drivers/media/rc/winbond-cir.c index 7f3c476dde0..930c6149903 100644 --- a/drivers/media/rc/winbond-cir.c +++ b/drivers/media/rc/winbond-cir.c @@ -1008,7 +1008,7 @@ wbcir_resume(struct pnp_dev *device)  	return 0;  } -static int __devinit +static int  wbcir_probe(struct pnp_dev *device, const struct pnp_device_id *dev_id)  {  	struct device *dev = &device->dev; @@ -1155,7 +1155,7 @@ exit:  	return err;  } -static void __devexit +static void  wbcir_remove(struct pnp_dev *device)  {  	struct wbcir_data *data = pnp_get_drvdata(device); @@ -1201,7 +1201,7 @@ static struct pnp_driver wbcir_driver = {  	.name     = WBCIR_NAME,  	.id_table = wbcir_ids,  	.probe    = wbcir_probe, -	.remove   = __devexit_p(wbcir_remove), +	.remove   = wbcir_remove,  	.suspend  = wbcir_suspend,  	.resume   = wbcir_resume,  	.shutdown = wbcir_shutdown diff --git a/drivers/media/usb/gspca/kinect.c b/drivers/media/usb/gspca/kinect.c index 40ad6687ee5..3773a8a745d 100644 --- a/drivers/media/usb/gspca/kinect.c +++ b/drivers/media/usb/gspca/kinect.c @@ -381,6 +381,7 @@ static const struct sd_desc sd_desc = {  /* -- module initialisation -- */  static const struct usb_device_id device_table[] = {  	{USB_DEVICE(0x045e, 0x02ae)}, +	{USB_DEVICE(0x045e, 0x02bf)},  	{}  }; diff --git a/drivers/media/usb/gspca/sonixb.c b/drivers/media/usb/gspca/sonixb.c index 70511d5f953..1220340e760 100644 --- a/drivers/media/usb/gspca/sonixb.c +++ b/drivers/media/usb/gspca/sonixb.c @@ -496,7 +496,7 @@ static void reg_w(struct gspca_dev *gspca_dev,  	}  } -static void i2c_w(struct gspca_dev *gspca_dev, const __u8 *buffer) +static void i2c_w(struct gspca_dev *gspca_dev, const u8 *buf)  {  	int retry = 60; @@ -504,16 +504,19 @@ static void i2c_w(struct gspca_dev *gspca_dev, const __u8 *buffer)  		return;  	/* is i2c ready */ -	reg_w(gspca_dev, 0x08, buffer, 8); +	reg_w(gspca_dev, 0x08, buf, 8);  	while (retry--) {  		if (gspca_dev->usb_err < 0)  			return; -		msleep(10); +		msleep(1);  		reg_r(gspca_dev, 0x08);  		if (gspca_dev->usb_buf[0] & 0x04) {  			if (gspca_dev->usb_buf[0] & 0x08) {  				dev_err(gspca_dev->v4l2_dev.dev, -					"i2c write error\n"); +					"i2c error writing %02x %02x %02x %02x" +					" %02x %02x %02x %02x\n", +					buf[0], buf[1], buf[2], buf[3], +					buf[4], buf[5], buf[6], buf[7]);  				gspca_dev->usb_err = -EIO;  			}  			return; @@ -530,7 +533,7 @@ static void i2c_w_vector(struct gspca_dev *gspca_dev,  	for (;;) {  		if (gspca_dev->usb_err < 0)  			return; -		reg_w(gspca_dev, 0x08, *buffer, 8); +		i2c_w(gspca_dev, *buffer);  		len -= 8;  		if (len <= 0)  			break; diff --git a/drivers/media/usb/gspca/sonixj.c b/drivers/media/usb/gspca/sonixj.c index 5a86047b846..36307a9028a 100644 --- a/drivers/media/usb/gspca/sonixj.c +++ b/drivers/media/usb/gspca/sonixj.c @@ -1550,6 +1550,7 @@ static void i2c_w1(struct gspca_dev *gspca_dev, u8 reg, u8 val)  			0,  			gspca_dev->usb_buf, 8,  			500); +	msleep(2);  	if (ret < 0) {  		pr_err("i2c_w1 err %d\n", ret);  		gspca_dev->usb_err = ret; diff --git a/drivers/media/usb/gspca/spca506.c b/drivers/media/usb/gspca/spca506.c index bab01c86c31..bcd2c04c770 100644 --- a/drivers/media/usb/gspca/spca506.c +++ b/drivers/media/usb/gspca/spca506.c @@ -590,8 +590,7 @@ static const struct usb_device_id device_table[] = {  MODULE_DEVICE_TABLE(usb, device_table);  /* -- device connect -- */ -static int __devinit sd_probe(struct usb_interface *intf, -			const struct usb_device_id *id) +static int sd_probe(struct usb_interface *intf, const struct usb_device_id *id)  {  	return gspca_dev_probe(intf, id, &sd_desc, sizeof(struct sd),  				THIS_MODULE); diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c index aac622200e9..de2c10289ee 100644 --- a/drivers/media/usb/siano/smsusb.c +++ b/drivers/media/usb/siano/smsusb.c @@ -389,7 +389,7 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)  	return rc;  } -static int __devinit smsusb_probe(struct usb_interface *intf, +static int smsusb_probe(struct usb_interface *intf,  			const struct usb_device_id *id)  {  	struct usb_device *udev = interface_to_usbdev(intf); diff --git a/drivers/media/usb/usbvision/usbvision-video.c b/drivers/media/usb/usbvision/usbvision-video.c index 5c36a57e659..ad7f7448072 100644 --- a/drivers/media/usb/usbvision/usbvision-video.c +++ b/drivers/media/usb/usbvision/usbvision-video.c @@ -1363,7 +1363,7 @@ static void usbvision_unregister_video(struct usb_usbvision *usbvision)  }  /* register video4linux devices */ -static int __devinit usbvision_register_video(struct usb_usbvision *usbvision) +static int usbvision_register_video(struct usb_usbvision *usbvision)  {  	/* Video Device: */  	usbvision->vdev = usbvision_vdev_init(usbvision, @@ -1510,8 +1510,8 @@ static void usbvision_configure_video(struct usb_usbvision *usbvision)   * if it looks like USBVISION video device   *   */ -static int __devinit usbvision_probe(struct usb_interface *intf, -				     const struct usb_device_id *devid) +static int usbvision_probe(struct usb_interface *intf, +			   const struct usb_device_id *devid)  {  	struct usb_device *dev = usb_get_dev(interface_to_usbdev(intf));  	struct usb_interface *uif; @@ -1619,7 +1619,7 @@ static int __devinit usbvision_probe(struct usb_interface *intf,   * with no ill consequences.   *   */ -static void __devexit usbvision_disconnect(struct usb_interface *intf) +static void usbvision_disconnect(struct usb_interface *intf)  {  	struct usb_usbvision *usbvision = to_usbvision(usb_get_intfdata(intf)); @@ -1664,7 +1664,7 @@ static struct usb_driver usbvision_driver = {  	.name		= "usbvision",  	.id_table	= usbvision_table,  	.probe		= usbvision_probe, -	.disconnect	= __devexit_p(usbvision_disconnect), +	.disconnect	= usbvision_disconnect,  };  /* diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c index 2bb7613ddeb..d5baab17a5e 100644 --- a/drivers/media/usb/uvc/uvc_ctrl.c +++ b/drivers/media/usb/uvc/uvc_ctrl.c @@ -1431,8 +1431,10 @@ int uvc_ctrl_set(struct uvc_video_chain *chain,  	int ret;  	ctrl = uvc_find_control(chain, xctrl->id, &mapping); -	if (ctrl == NULL || (ctrl->info.flags & UVC_CTRL_FLAG_SET_CUR) == 0) +	if (ctrl == NULL)  		return -EINVAL; +	if (!(ctrl->info.flags & UVC_CTRL_FLAG_SET_CUR)) +		return -EACCES;  	/* Clamp out of range values. */  	switch (mapping->v4l2_type) { diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c index f2ee8c6b0d8..68d59b52749 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -657,8 +657,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)  			ret = uvc_ctrl_get(chain, ctrl);  			if (ret < 0) {  				uvc_ctrl_rollback(handle); -				ctrls->error_idx = ret == -ENOENT -						 ? ctrls->count : i; +				ctrls->error_idx = i;  				return ret;  			}  		} @@ -686,8 +685,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)  			ret = uvc_ctrl_set(chain, ctrl);  			if (ret < 0) {  				uvc_ctrl_rollback(handle); -				ctrls->error_idx = (ret == -ENOENT && -						    cmd == VIDIOC_S_EXT_CTRLS) +				ctrls->error_idx = cmd == VIDIOC_S_EXT_CTRLS  						 ? ctrls->count : i;  				return ret;  			} diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index 9f81be23a81..e02c4797b1c 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c @@ -921,8 +921,10 @@ static void __fill_vb2_buffer(struct vb2_buffer *vb, const struct v4l2_buffer *b  		 * In videobuf we use our internal V4l2_planes struct for  		 * single-planar buffers as well, for simplicity.  		 */ -		if (V4L2_TYPE_IS_OUTPUT(b->type)) +		if (V4L2_TYPE_IS_OUTPUT(b->type)) {  			v4l2_planes[0].bytesused = b->bytesused; +			v4l2_planes[0].data_offset = 0; +		}  		if (b->memory == V4L2_MEMORY_USERPTR) {  			v4l2_planes[0].m.userptr = b->m.userptr;  |