aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/cciss.c90
-rw-r--r--drivers/block/cpqarray.c16
-rw-r--r--drivers/block/nvme.c17
-rw-r--r--drivers/block/ps3disk.c2
-rw-r--r--drivers/block/ps3vram.c4
-rw-r--r--drivers/block/sunvdc.c9
-rw-r--r--drivers/block/swim.c11
-rw-r--r--drivers/block/swim3.c3
-rw-r--r--drivers/block/umem.c3
-rw-r--r--drivers/block/virtio_blk.c13
-rw-r--r--drivers/block/xsysace.c19
11 files changed, 87 insertions, 100 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 6526157edafc..ade58bc8f3c4 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -181,8 +181,8 @@ static void cciss_geometry_inquiry(ctlr_info_t *h, int logvol,
181 sector_t total_size, 181 sector_t total_size,
182 unsigned int block_size, InquiryData_struct *inq_buff, 182 unsigned int block_size, InquiryData_struct *inq_buff,
183 drive_info_struct *drv); 183 drive_info_struct *drv);
184static void __devinit cciss_interrupt_mode(ctlr_info_t *); 184static void cciss_interrupt_mode(ctlr_info_t *);
185static int __devinit cciss_enter_simple_mode(struct ctlr_info *h); 185static int cciss_enter_simple_mode(struct ctlr_info *h);
186static void start_io(ctlr_info_t *h); 186static void start_io(ctlr_info_t *h);
187static int sendcmd_withirq(ctlr_info_t *h, __u8 cmd, void *buff, size_t size, 187static int sendcmd_withirq(ctlr_info_t *h, __u8 cmd, void *buff, size_t size,
188 __u8 page_code, unsigned char scsi3addr[], 188 __u8 page_code, unsigned char scsi3addr[],
@@ -199,14 +199,13 @@ static void cciss_device_release(struct device *dev);
199static void cciss_free_gendisk(ctlr_info_t *h, int drv_index); 199static void cciss_free_gendisk(ctlr_info_t *h, int drv_index);
200static void cciss_free_drive_info(ctlr_info_t *h, int drv_index); 200static void cciss_free_drive_info(ctlr_info_t *h, int drv_index);
201static inline u32 next_command(ctlr_info_t *h); 201static inline u32 next_command(ctlr_info_t *h);
202static int __devinit cciss_find_cfg_addrs(struct pci_dev *pdev, 202static int cciss_find_cfg_addrs(struct pci_dev *pdev, void __iomem *vaddr,
203 void __iomem *vaddr, u32 *cfg_base_addr, u64 *cfg_base_addr_index, 203 u32 *cfg_base_addr, u64 *cfg_base_addr_index,
204 u64 *cfg_offset); 204 u64 *cfg_offset);
205static int __devinit cciss_pci_find_memory_BAR(struct pci_dev *pdev, 205static int cciss_pci_find_memory_BAR(struct pci_dev *pdev,
206 unsigned long *memory_bar); 206 unsigned long *memory_bar);
207static inline u32 cciss_tag_discard_error_bits(ctlr_info_t *h, u32 tag); 207static inline u32 cciss_tag_discard_error_bits(ctlr_info_t *h, u32 tag);
208static __devinit int write_driver_ver_to_cfgtable( 208static int write_driver_ver_to_cfgtable(CfgTable_struct __iomem *cfgtable);
209 CfgTable_struct __iomem *cfgtable);
210 209
211/* performant mode helper functions */ 210/* performant mode helper functions */
212static void calc_bucket_map(int *bucket, int num_buckets, int nsgs, 211static void calc_bucket_map(int *bucket, int num_buckets, int nsgs,
@@ -550,7 +549,7 @@ static const struct file_operations cciss_proc_fops = {
550 .write = cciss_proc_write, 549 .write = cciss_proc_write,
551}; 550};
552 551
553static void __devinit cciss_procinit(ctlr_info_t *h) 552static void cciss_procinit(ctlr_info_t *h)
554{ 553{
555 struct proc_dir_entry *pde; 554 struct proc_dir_entry *pde;
556 555
@@ -2663,8 +2662,8 @@ static int fill_cmd(ctlr_info_t *h, CommandList_struct *c, __u8 cmd, void *buff,
2663 return status; 2662 return status;
2664} 2663}
2665 2664
2666static int __devinit cciss_send_reset(ctlr_info_t *h, unsigned char *scsi3addr, 2665static int cciss_send_reset(ctlr_info_t *h, unsigned char *scsi3addr,
2667 u8 reset_type) 2666 u8 reset_type)
2668{ 2667{
2669 CommandList_struct *c; 2668 CommandList_struct *c;
2670 int return_status; 2669 int return_status;
@@ -3919,7 +3918,7 @@ static void calc_bucket_map(int bucket[], int num_buckets,
3919 } 3918 }
3920} 3919}
3921 3920
3922static void __devinit cciss_wait_for_mode_change_ack(ctlr_info_t *h) 3921static void cciss_wait_for_mode_change_ack(ctlr_info_t *h)
3923{ 3922{
3924 int i; 3923 int i;
3925 3924
@@ -3933,8 +3932,7 @@ static void __devinit cciss_wait_for_mode_change_ack(ctlr_info_t *h)
3933 } 3932 }
3934} 3933}
3935 3934
3936static __devinit void cciss_enter_performant_mode(ctlr_info_t *h, 3935static void cciss_enter_performant_mode(ctlr_info_t *h, u32 use_short_tags)
3937 u32 use_short_tags)
3938{ 3936{
3939 /* This is a bit complicated. There are 8 registers on 3937 /* This is a bit complicated. There are 8 registers on
3940 * the controller which we write to to tell it 8 different 3938 * the controller which we write to to tell it 8 different
@@ -4000,7 +3998,7 @@ static __devinit void cciss_enter_performant_mode(ctlr_info_t *h,
4000 " performant mode\n"); 3998 " performant mode\n");
4001} 3999}
4002 4000
4003static void __devinit cciss_put_controller_into_performant_mode(ctlr_info_t *h) 4001static void cciss_put_controller_into_performant_mode(ctlr_info_t *h)
4004{ 4002{
4005 __u32 trans_support; 4003 __u32 trans_support;
4006 4004
@@ -4062,7 +4060,7 @@ clean_up:
4062 * controllers that are capable. If not, we use IO-APIC mode. 4060 * controllers that are capable. If not, we use IO-APIC mode.
4063 */ 4061 */
4064 4062
4065static void __devinit cciss_interrupt_mode(ctlr_info_t *h) 4063static void cciss_interrupt_mode(ctlr_info_t *h)
4066{ 4064{
4067#ifdef CONFIG_PCI_MSI 4065#ifdef CONFIG_PCI_MSI
4068 int err; 4066 int err;
@@ -4108,7 +4106,7 @@ default_int_mode:
4108 return; 4106 return;
4109} 4107}
4110 4108
4111static int __devinit cciss_lookup_board_id(struct pci_dev *pdev, u32 *board_id) 4109static int cciss_lookup_board_id(struct pci_dev *pdev, u32 *board_id)
4112{ 4110{
4113 int i; 4111 int i;
4114 u32 subsystem_vendor_id, subsystem_device_id; 4112 u32 subsystem_vendor_id, subsystem_device_id;
@@ -4134,8 +4132,8 @@ static inline bool cciss_board_disabled(ctlr_info_t *h)
4134 return ((command & PCI_COMMAND_MEMORY) == 0); 4132 return ((command & PCI_COMMAND_MEMORY) == 0);
4135} 4133}
4136 4134
4137static int __devinit cciss_pci_find_memory_BAR(struct pci_dev *pdev, 4135static int cciss_pci_find_memory_BAR(struct pci_dev *pdev,
4138 unsigned long *memory_bar) 4136 unsigned long *memory_bar)
4139{ 4137{
4140 int i; 4138 int i;
4141 4139
@@ -4151,8 +4149,8 @@ static int __devinit cciss_pci_find_memory_BAR(struct pci_dev *pdev,
4151 return -ENODEV; 4149 return -ENODEV;
4152} 4150}
4153 4151
4154static int __devinit cciss_wait_for_board_state(struct pci_dev *pdev, 4152static int cciss_wait_for_board_state(struct pci_dev *pdev,
4155 void __iomem *vaddr, int wait_for_ready) 4153 void __iomem *vaddr, int wait_for_ready)
4156#define BOARD_READY 1 4154#define BOARD_READY 1
4157#define BOARD_NOT_READY 0 4155#define BOARD_NOT_READY 0
4158{ 4156{
@@ -4179,9 +4177,9 @@ static int __devinit cciss_wait_for_board_state(struct pci_dev *pdev,
4179 return -ENODEV; 4177 return -ENODEV;
4180} 4178}
4181 4179
4182static int __devinit cciss_find_cfg_addrs(struct pci_dev *pdev, 4180static int cciss_find_cfg_addrs(struct pci_dev *pdev, void __iomem *vaddr,
4183 void __iomem *vaddr, u32 *cfg_base_addr, u64 *cfg_base_addr_index, 4181 u32 *cfg_base_addr, u64 *cfg_base_addr_index,
4184 u64 *cfg_offset) 4182 u64 *cfg_offset)
4185{ 4183{
4186 *cfg_base_addr = readl(vaddr + SA5_CTCFG_OFFSET); 4184 *cfg_base_addr = readl(vaddr + SA5_CTCFG_OFFSET);
4187 *cfg_offset = readl(vaddr + SA5_CTMEM_OFFSET); 4185 *cfg_offset = readl(vaddr + SA5_CTMEM_OFFSET);
@@ -4195,7 +4193,7 @@ static int __devinit cciss_find_cfg_addrs(struct pci_dev *pdev,
4195 return 0; 4193 return 0;
4196} 4194}
4197 4195
4198static int __devinit cciss_find_cfgtables(ctlr_info_t *h) 4196static int cciss_find_cfgtables(ctlr_info_t *h)
4199{ 4197{
4200 u64 cfg_offset; 4198 u64 cfg_offset;
4201 u32 cfg_base_addr; 4199 u32 cfg_base_addr;
@@ -4224,7 +4222,7 @@ static int __devinit cciss_find_cfgtables(ctlr_info_t *h)
4224 return 0; 4222 return 0;
4225} 4223}
4226 4224
4227static void __devinit cciss_get_max_perf_mode_cmds(struct ctlr_info *h) 4225static void cciss_get_max_perf_mode_cmds(struct ctlr_info *h)
4228{ 4226{
4229 h->max_commands = readl(&(h->cfgtable->MaxPerformantModeCommands)); 4227 h->max_commands = readl(&(h->cfgtable->MaxPerformantModeCommands));
4230 4228
@@ -4245,7 +4243,7 @@ static void __devinit cciss_get_max_perf_mode_cmds(struct ctlr_info *h)
4245 * max commands, max SG elements without chaining, and with chaining, 4243 * max commands, max SG elements without chaining, and with chaining,
4246 * SG chain block size, etc. 4244 * SG chain block size, etc.
4247 */ 4245 */
4248static void __devinit cciss_find_board_params(ctlr_info_t *h) 4246static void cciss_find_board_params(ctlr_info_t *h)
4249{ 4247{
4250 cciss_get_max_perf_mode_cmds(h); 4248 cciss_get_max_perf_mode_cmds(h);
4251 h->nr_cmds = h->max_commands - 4 - cciss_tape_cmds; 4249 h->nr_cmds = h->max_commands - 4 - cciss_tape_cmds;
@@ -4304,7 +4302,7 @@ static inline void cciss_p600_dma_prefetch_quirk(ctlr_info_t *h)
4304 pci_write_config_dword(h->pdev, PCI_COMMAND_PARITY, dma_refetch); 4302 pci_write_config_dword(h->pdev, PCI_COMMAND_PARITY, dma_refetch);
4305} 4303}
4306 4304
4307static int __devinit cciss_pci_init(ctlr_info_t *h) 4305static int cciss_pci_init(ctlr_info_t *h)
4308{ 4306{
4309 int prod_index, err; 4307 int prod_index, err;
4310 4308
@@ -4424,7 +4422,8 @@ static void free_hba(ctlr_info_t *h)
4424} 4422}
4425 4423
4426/* Send a message CDB to the firmware. */ 4424/* Send a message CDB to the firmware. */
4427static __devinit int cciss_message(struct pci_dev *pdev, unsigned char opcode, unsigned char type) 4425static int cciss_message(struct pci_dev *pdev, unsigned char opcode,
4426 unsigned char type)
4428{ 4427{
4429 typedef struct { 4428 typedef struct {
4430 CommandListHeader_struct CommandHeader; 4429 CommandListHeader_struct CommandHeader;
@@ -4571,14 +4570,13 @@ static int cciss_controller_hard_reset(struct pci_dev *pdev,
4571 return 0; 4570 return 0;
4572} 4571}
4573 4572
4574static __devinit void init_driver_version(char *driver_version, int len) 4573static void init_driver_version(char *driver_version, int len)
4575{ 4574{
4576 memset(driver_version, 0, len); 4575 memset(driver_version, 0, len);
4577 strncpy(driver_version, "cciss " DRIVER_NAME, len - 1); 4576 strncpy(driver_version, "cciss " DRIVER_NAME, len - 1);
4578} 4577}
4579 4578
4580static __devinit int write_driver_ver_to_cfgtable( 4579static int write_driver_ver_to_cfgtable(CfgTable_struct __iomem *cfgtable)
4581 CfgTable_struct __iomem *cfgtable)
4582{ 4580{
4583 char *driver_version; 4581 char *driver_version;
4584 int i, size = sizeof(cfgtable->driver_version); 4582 int i, size = sizeof(cfgtable->driver_version);
@@ -4594,8 +4592,8 @@ static __devinit int write_driver_ver_to_cfgtable(
4594 return 0; 4592 return 0;
4595} 4593}
4596 4594
4597static __devinit void read_driver_ver_from_cfgtable( 4595static void read_driver_ver_from_cfgtable(CfgTable_struct __iomem *cfgtable,
4598 CfgTable_struct __iomem *cfgtable, unsigned char *driver_ver) 4596 unsigned char *driver_ver)
4599{ 4597{
4600 int i; 4598 int i;
4601 4599
@@ -4603,8 +4601,7 @@ static __devinit void read_driver_ver_from_cfgtable(
4603 driver_ver[i] = readb(&cfgtable->driver_version[i]); 4601 driver_ver[i] = readb(&cfgtable->driver_version[i]);
4604} 4602}
4605 4603
4606static __devinit int controller_reset_failed( 4604static int controller_reset_failed(CfgTable_struct __iomem *cfgtable)
4607 CfgTable_struct __iomem *cfgtable)
4608{ 4605{
4609 4606
4610 char *driver_ver, *old_driver_ver; 4607 char *driver_ver, *old_driver_ver;
@@ -4627,7 +4624,7 @@ static __devinit int controller_reset_failed(
4627 4624
4628/* This does a hard reset of the controller using PCI power management 4625/* This does a hard reset of the controller using PCI power management
4629 * states or using the doorbell register. */ 4626 * states or using the doorbell register. */
4630static __devinit int cciss_kdump_hard_reset_controller(struct pci_dev *pdev) 4627static int cciss_kdump_hard_reset_controller(struct pci_dev *pdev)
4631{ 4628{
4632 u64 cfg_offset; 4629 u64 cfg_offset;
4633 u32 cfg_base_addr; 4630 u32 cfg_base_addr;
@@ -4772,7 +4769,7 @@ unmap_vaddr:
4772 return rc; 4769 return rc;
4773} 4770}
4774 4771
4775static __devinit int cciss_init_reset_devices(struct pci_dev *pdev) 4772static int cciss_init_reset_devices(struct pci_dev *pdev)
4776{ 4773{
4777 int rc, i; 4774 int rc, i;
4778 4775
@@ -4806,7 +4803,7 @@ static __devinit int cciss_init_reset_devices(struct pci_dev *pdev)
4806 return 0; 4803 return 0;
4807} 4804}
4808 4805
4809static __devinit int cciss_allocate_cmd_pool(ctlr_info_t *h) 4806static int cciss_allocate_cmd_pool(ctlr_info_t *h)
4810{ 4807{
4811 h->cmd_pool_bits = kmalloc(BITS_TO_LONGS(h->nr_cmds) * 4808 h->cmd_pool_bits = kmalloc(BITS_TO_LONGS(h->nr_cmds) *
4812 sizeof(unsigned long), GFP_KERNEL); 4809 sizeof(unsigned long), GFP_KERNEL);
@@ -4825,7 +4822,7 @@ static __devinit int cciss_allocate_cmd_pool(ctlr_info_t *h)
4825 return 0; 4822 return 0;
4826} 4823}
4827 4824
4828static __devinit int cciss_allocate_scatterlists(ctlr_info_t *h) 4825static int cciss_allocate_scatterlists(ctlr_info_t *h)
4829{ 4826{
4830 int i; 4827 int i;
4831 4828
@@ -4893,7 +4890,7 @@ static int cciss_request_irq(ctlr_info_t *h,
4893 return -1; 4890 return -1;
4894} 4891}
4895 4892
4896static int __devinit cciss_kdump_soft_reset(ctlr_info_t *h) 4893static int cciss_kdump_soft_reset(ctlr_info_t *h)
4897{ 4894{
4898 if (cciss_send_reset(h, CTLR_LUNID, CCISS_RESET_TYPE_CONTROLLER)) { 4895 if (cciss_send_reset(h, CTLR_LUNID, CCISS_RESET_TYPE_CONTROLLER)) {
4899 dev_warn(&h->pdev->dev, "Resetting array controller failed.\n"); 4896 dev_warn(&h->pdev->dev, "Resetting array controller failed.\n");
@@ -4952,8 +4949,7 @@ static void cciss_undo_allocations_after_kdump_soft_reset(ctlr_info_t *h)
4952 * stealing all these major device numbers. 4949 * stealing all these major device numbers.
4953 * returns the number of block devices registered. 4950 * returns the number of block devices registered.
4954 */ 4951 */
4955static int __devinit cciss_init_one(struct pci_dev *pdev, 4952static int cciss_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
4956 const struct pci_device_id *ent)
4957{ 4953{
4958 int i; 4954 int i;
4959 int j = 0; 4955 int j = 0;
@@ -5207,7 +5203,7 @@ static void cciss_shutdown(struct pci_dev *pdev)
5207 free_irq(h->intr[h->intr_mode], h); 5203 free_irq(h->intr[h->intr_mode], h);
5208} 5204}
5209 5205
5210static int __devinit cciss_enter_simple_mode(struct ctlr_info *h) 5206static int cciss_enter_simple_mode(struct ctlr_info *h)
5211{ 5207{
5212 u32 trans_support; 5208 u32 trans_support;
5213 5209
@@ -5229,7 +5225,7 @@ static int __devinit cciss_enter_simple_mode(struct ctlr_info *h)
5229} 5225}
5230 5226
5231 5227
5232static void __devexit cciss_remove_one(struct pci_dev *pdev) 5228static void cciss_remove_one(struct pci_dev *pdev)
5233{ 5229{
5234 ctlr_info_t *h; 5230 ctlr_info_t *h;
5235 int i, j; 5231 int i, j;
@@ -5308,7 +5304,7 @@ static void __devexit cciss_remove_one(struct pci_dev *pdev)
5308static struct pci_driver cciss_pci_driver = { 5304static struct pci_driver cciss_pci_driver = {
5309 .name = "cciss", 5305 .name = "cciss",
5310 .probe = cciss_init_one, 5306 .probe = cciss_init_one,
5311 .remove = __devexit_p(cciss_remove_one), 5307 .remove = cciss_remove_one,
5312 .id_table = cciss_pci_device_id, /* id_table */ 5308 .id_table = cciss_pci_device_id, /* id_table */
5313 .shutdown = cciss_shutdown, 5309 .shutdown = cciss_shutdown,
5314}; 5310};
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 9125bbeacd4d..3f087133a25a 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -320,7 +320,7 @@ static void release_io_mem(ctlr_info_t *c)
320 c->io_mem_length = 0; 320 c->io_mem_length = 0;
321} 321}
322 322
323static void __devexit cpqarray_remove_one(int i) 323static void cpqarray_remove_one(int i)
324{ 324{
325 int j; 325 int j;
326 char buff[4]; 326 char buff[4];
@@ -352,7 +352,7 @@ static void __devexit cpqarray_remove_one(int i)
352 free_hba(i); 352 free_hba(i);
353} 353}
354 354
355static void __devexit cpqarray_remove_one_pci (struct pci_dev *pdev) 355static void cpqarray_remove_one_pci(struct pci_dev *pdev)
356{ 356{
357 int i; 357 int i;
358 ctlr_info_t *tmp_ptr; 358 ctlr_info_t *tmp_ptr;
@@ -377,7 +377,7 @@ static void __devexit cpqarray_remove_one_pci (struct pci_dev *pdev)
377/* removing an instance that was not removed automatically.. 377/* removing an instance that was not removed automatically..
378 * must be an eisa card. 378 * must be an eisa card.
379 */ 379 */
380static void __devexit cpqarray_remove_one_eisa (int i) 380static void cpqarray_remove_one_eisa(int i)
381{ 381{
382 if (hba[i] == NULL) { 382 if (hba[i] == NULL) {
383 printk(KERN_ERR "cpqarray: controller %d appears to have" 383 printk(KERN_ERR "cpqarray: controller %d appears to have"
@@ -388,7 +388,7 @@ static void __devexit cpqarray_remove_one_eisa (int i)
388} 388}
389 389
390/* pdev is NULL for eisa */ 390/* pdev is NULL for eisa */
391static int __devinit cpqarray_register_ctlr( int i, struct pci_dev *pdev) 391static int cpqarray_register_ctlr(int i, struct pci_dev *pdev)
392{ 392{
393 struct request_queue *q; 393 struct request_queue *q;
394 int j; 394 int j;
@@ -505,8 +505,8 @@ Enomem4:
505 return -1; 505 return -1;
506} 506}
507 507
508static int __devinit cpqarray_init_one( struct pci_dev *pdev, 508static int cpqarray_init_one(struct pci_dev *pdev,
509 const struct pci_device_id *ent) 509 const struct pci_device_id *ent)
510{ 510{
511 int i; 511 int i;
512 512
@@ -536,7 +536,7 @@ static int __devinit cpqarray_init_one( struct pci_dev *pdev,
536static struct pci_driver cpqarray_pci_driver = { 536static struct pci_driver cpqarray_pci_driver = {
537 .name = "cpqarray", 537 .name = "cpqarray",
538 .probe = cpqarray_init_one, 538 .probe = cpqarray_init_one,
539 .remove = __devexit_p(cpqarray_remove_one_pci), 539 .remove = cpqarray_remove_one_pci,
540 .id_table = cpqarray_pci_device_id, 540 .id_table = cpqarray_pci_device_id,
541}; 541};
542 542
@@ -742,7 +742,7 @@ __setup("smart2=", cpqarray_setup);
742/* 742/*
743 * Find an EISA controller's signature. Set up an hba if we find it. 743 * Find an EISA controller's signature. Set up an hba if we find it.
744 */ 744 */
745static int __devinit cpqarray_eisa_detect(void) 745static int cpqarray_eisa_detect(void)
746{ 746{
747 int i=0, j; 747 int i=0, j;
748 __u32 board_id; 748 __u32 board_id;
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index 931769e133e5..07fb2dfaae13 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -975,8 +975,8 @@ static int queue_request_irq(struct nvme_dev *dev, struct nvme_queue *nvmeq,
975 IRQF_DISABLED | IRQF_SHARED, name, nvmeq); 975 IRQF_DISABLED | IRQF_SHARED, name, nvmeq);
976} 976}
977 977
978static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev, 978static struct nvme_queue *nvme_create_queue(struct nvme_dev *dev, int qid,
979 int qid, int cq_size, int vector) 979 int cq_size, int vector)
980{ 980{
981 int result; 981 int result;
982 struct nvme_queue *nvmeq = nvme_alloc_queue(dev, qid, cq_size, vector); 982 struct nvme_queue *nvmeq = nvme_alloc_queue(dev, qid, cq_size, vector);
@@ -1011,7 +1011,7 @@ static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev,
1011 return ERR_PTR(result); 1011 return ERR_PTR(result);
1012} 1012}
1013 1013
1014static int __devinit nvme_configure_admin_queue(struct nvme_dev *dev) 1014static int nvme_configure_admin_queue(struct nvme_dev *dev)
1015{ 1015{
1016 int result = 0; 1016 int result = 0;
1017 u32 aqa; 1017 u32 aqa;
@@ -1408,7 +1408,7 @@ static int set_queue_count(struct nvme_dev *dev, int count)
1408 return min(result & 0xffff, result >> 16) + 1; 1408 return min(result & 0xffff, result >> 16) + 1;
1409} 1409}
1410 1410
1411static int __devinit nvme_setup_io_queues(struct nvme_dev *dev) 1411static int nvme_setup_io_queues(struct nvme_dev *dev)
1412{ 1412{
1413 int result, cpu, i, nr_io_queues, db_bar_size, q_depth; 1413 int result, cpu, i, nr_io_queues, db_bar_size, q_depth;
1414 1414
@@ -1481,7 +1481,7 @@ static void nvme_free_queues(struct nvme_dev *dev)
1481 nvme_free_queue(dev, i); 1481 nvme_free_queue(dev, i);
1482} 1482}
1483 1483
1484static int __devinit nvme_dev_add(struct nvme_dev *dev) 1484static int nvme_dev_add(struct nvme_dev *dev)
1485{ 1485{
1486 int res, nn, i; 1486 int res, nn, i;
1487 struct nvme_ns *ns, *next; 1487 struct nvme_ns *ns, *next;
@@ -1619,8 +1619,7 @@ static void nvme_release_instance(struct nvme_dev *dev)
1619 spin_unlock(&dev_list_lock); 1619 spin_unlock(&dev_list_lock);
1620} 1620}
1621 1621
1622static int __devinit nvme_probe(struct pci_dev *pdev, 1622static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1623 const struct pci_device_id *id)
1624{ 1623{
1625 int bars, result = -ENOMEM; 1624 int bars, result = -ENOMEM;
1626 struct nvme_dev *dev; 1625 struct nvme_dev *dev;
@@ -1702,7 +1701,7 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
1702 return result; 1701 return result;
1703} 1702}
1704 1703
1705static void __devexit nvme_remove(struct pci_dev *pdev) 1704static void nvme_remove(struct pci_dev *pdev)
1706{ 1705{
1707 struct nvme_dev *dev = pci_get_drvdata(pdev); 1706 struct nvme_dev *dev = pci_get_drvdata(pdev);
1708 nvme_dev_remove(dev); 1707 nvme_dev_remove(dev);
@@ -1747,7 +1746,7 @@ static struct pci_driver nvme_driver = {
1747 .name = "nvme", 1746 .name = "nvme",
1748 .id_table = nvme_id_table, 1747 .id_table = nvme_id_table,
1749 .probe = nvme_probe, 1748 .probe = nvme_probe,
1750 .remove = __devexit_p(nvme_remove), 1749 .remove = nvme_remove,
1751 .suspend = nvme_suspend, 1750 .suspend = nvme_suspend,
1752 .resume = nvme_resume, 1751 .resume = nvme_resume,
1753 .err_handler = &nvme_err_handler, 1752 .err_handler = &nvme_err_handler,
diff --git a/drivers/block/ps3disk.c b/drivers/block/ps3disk.c
index da0abc1838c1..d754a88d7585 100644
--- a/drivers/block/ps3disk.c
+++ b/drivers/block/ps3disk.c
@@ -401,7 +401,7 @@ static unsigned long ps3disk_mask;
401 401
402static DEFINE_MUTEX(ps3disk_mask_mutex); 402static DEFINE_MUTEX(ps3disk_mask_mutex);
403 403
404static int __devinit ps3disk_probe(struct ps3_system_bus_device *_dev) 404static int ps3disk_probe(struct ps3_system_bus_device *_dev)
405{ 405{
406 struct ps3_storage_device *dev = to_ps3_storage_device(&_dev->core); 406 struct ps3_storage_device *dev = to_ps3_storage_device(&_dev->core);
407 struct ps3disk_private *priv; 407 struct ps3disk_private *priv;
diff --git a/drivers/block/ps3vram.c b/drivers/block/ps3vram.c
index f58cdcfb305f..75e112d66006 100644
--- a/drivers/block/ps3vram.c
+++ b/drivers/block/ps3vram.c
@@ -536,7 +536,7 @@ static const struct file_operations ps3vram_proc_fops = {
536 .release = single_release, 536 .release = single_release,
537}; 537};
538 538
539static void __devinit ps3vram_proc_init(struct ps3_system_bus_device *dev) 539static void ps3vram_proc_init(struct ps3_system_bus_device *dev)
540{ 540{
541 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); 541 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
542 struct proc_dir_entry *pde; 542 struct proc_dir_entry *pde;
@@ -618,7 +618,7 @@ static void ps3vram_make_request(struct request_queue *q, struct bio *bio)
618 } while (bio); 618 } while (bio);
619} 619}
620 620
621static int __devinit ps3vram_probe(struct ps3_system_bus_device *dev) 621static int ps3vram_probe(struct ps3_system_bus_device *dev)
622{ 622{
623 struct ps3vram_priv *priv; 623 struct ps3vram_priv *priv;
624 int error, status; 624 int error, status;
diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
index 9dcf76a10bb6..564156a8e572 100644
--- a/drivers/block/sunvdc.c
+++ b/drivers/block/sunvdc.c
@@ -25,7 +25,7 @@
25#define DRV_MODULE_VERSION "1.0" 25#define DRV_MODULE_VERSION "1.0"
26#define DRV_MODULE_RELDATE "June 25, 2007" 26#define DRV_MODULE_RELDATE "June 25, 2007"
27 27
28static char version[] __devinitdata = 28static char version[] =
29 DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n"; 29 DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
30MODULE_AUTHOR("David S. Miller (davem@davemloft.net)"); 30MODULE_AUTHOR("David S. Miller (davem@davemloft.net)");
31MODULE_DESCRIPTION("Sun LDOM virtual disk client driver"); 31MODULE_DESCRIPTION("Sun LDOM virtual disk client driver");
@@ -592,7 +592,7 @@ static int generic_request(struct vdc_port *port, u8 op, void *buf, int len)
592 return err; 592 return err;
593} 593}
594 594
595static int __devinit vdc_alloc_tx_ring(struct vdc_port *port) 595static int vdc_alloc_tx_ring(struct vdc_port *port)
596{ 596{
597 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; 597 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
598 unsigned long len, entry_size; 598 unsigned long len, entry_size;
@@ -725,7 +725,7 @@ static struct vio_driver_ops vdc_vio_ops = {
725 .handshake_complete = vdc_handshake_complete, 725 .handshake_complete = vdc_handshake_complete,
726}; 726};
727 727
728static void __devinit print_version(void) 728static void print_version(void)
729{ 729{
730 static int version_printed; 730 static int version_printed;
731 731
@@ -733,8 +733,7 @@ static void __devinit print_version(void)
733 printk(KERN_INFO "%s", version); 733 printk(KERN_INFO "%s", version);
734} 734}
735 735
736static int __devinit vdc_port_probe(struct vio_dev *vdev, 736static int vdc_port_probe(struct vio_dev *vdev, const struct vio_device_id *id)
737 const struct vio_device_id *id)
738{ 737{
739 struct mdesc_handle *hp; 738 struct mdesc_handle *hp;
740 struct vdc_port *port; 739 struct vdc_port *port;
diff --git a/drivers/block/swim.c b/drivers/block/swim.c
index 6d5a914b9619..765fa2b3d337 100644
--- a/drivers/block/swim.c
+++ b/drivers/block/swim.c
@@ -788,8 +788,7 @@ static struct kobject *floppy_find(dev_t dev, int *part, void *data)
788 return get_disk(swd->unit[drive].disk); 788 return get_disk(swd->unit[drive].disk);
789} 789}
790 790
791static int __devinit swim_add_floppy(struct swim_priv *swd, 791static int swim_add_floppy(struct swim_priv *swd, enum drive_location location)
792 enum drive_location location)
793{ 792{
794 struct floppy_state *fs = &swd->unit[swd->floppy_count]; 793 struct floppy_state *fs = &swd->unit[swd->floppy_count];
795 struct swim __iomem *base = swd->base; 794 struct swim __iomem *base = swd->base;
@@ -812,7 +811,7 @@ static int __devinit swim_add_floppy(struct swim_priv *swd,
812 return 0; 811 return 0;
813} 812}
814 813
815static int __devinit swim_floppy_init(struct swim_priv *swd) 814static int swim_floppy_init(struct swim_priv *swd)
816{ 815{
817 int err; 816 int err;
818 int drive; 817 int drive;
@@ -875,7 +874,7 @@ exit_put_disks:
875 return err; 874 return err;
876} 875}
877 876
878static int __devinit swim_probe(struct platform_device *dev) 877static int swim_probe(struct platform_device *dev)
879{ 878{
880 struct resource *res; 879 struct resource *res;
881 struct swim __iomem *swim_base; 880 struct swim __iomem *swim_base;
@@ -936,7 +935,7 @@ out:
936 return ret; 935 return ret;
937} 936}
938 937
939static int __devexit swim_remove(struct platform_device *dev) 938static int swim_remove(struct platform_device *dev)
940{ 939{
941 struct swim_priv *swd = platform_get_drvdata(dev); 940 struct swim_priv *swd = platform_get_drvdata(dev);
942 int drive; 941 int drive;
@@ -972,7 +971,7 @@ static int __devexit swim_remove(struct platform_device *dev)
972 971
973static struct platform_driver swim_driver = { 972static struct platform_driver swim_driver = {
974 .probe = swim_probe, 973 .probe = swim_probe,
975 .remove = __devexit_p(swim_remove), 974 .remove = swim_remove,
976 .driver = { 975 .driver = {
977 .name = CARDNAME, 976 .name = CARDNAME,
978 .owner = THIS_MODULE, 977 .owner = THIS_MODULE,
diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index 89ddab127e33..57763c54363a 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -1194,7 +1194,8 @@ static int swim3_add_device(struct macio_dev *mdev, int index)
1194 return rc; 1194 return rc;
1195} 1195}
1196 1196
1197static int __devinit swim3_attach(struct macio_dev *mdev, const struct of_device_id *match) 1197static int swim3_attach(struct macio_dev *mdev,
1198 const struct of_device_id *match)
1198{ 1199{
1199 struct gendisk *disk; 1200 struct gendisk *disk;
1200 int index, rc; 1201 int index, rc;
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index eb0d8216f557..ad70868f8a96 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -789,8 +789,7 @@ static const struct block_device_operations mm_fops = {
789 .revalidate_disk = mm_revalidate, 789 .revalidate_disk = mm_revalidate,
790}; 790};
791 791
792static int __devinit mm_pci_probe(struct pci_dev *dev, 792static int mm_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
793 const struct pci_device_id *id)
794{ 793{
795 int ret = -ENODEV; 794 int ret = -ENODEV;
796 struct cardinfo *card = &cards[num_cards]; 795 struct cardinfo *card = &cards[num_cards];
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 0bdde8fba397..9d8409c02082 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -696,7 +696,7 @@ static const struct device_attribute dev_attr_cache_type_rw =
696 __ATTR(cache_type, S_IRUGO|S_IWUSR, 696 __ATTR(cache_type, S_IRUGO|S_IWUSR,
697 virtblk_cache_type_show, virtblk_cache_type_store); 697 virtblk_cache_type_show, virtblk_cache_type_store);
698 698
699static int __devinit virtblk_probe(struct virtio_device *vdev) 699static int virtblk_probe(struct virtio_device *vdev)
700{ 700{
701 struct virtio_blk *vblk; 701 struct virtio_blk *vblk;
702 struct request_queue *q; 702 struct request_queue *q;
@@ -885,7 +885,7 @@ out:
885 return err; 885 return err;
886} 886}
887 887
888static void __devexit virtblk_remove(struct virtio_device *vdev) 888static void virtblk_remove(struct virtio_device *vdev)
889{ 889{
890 struct virtio_blk *vblk = vdev->priv; 890 struct virtio_blk *vblk = vdev->priv;
891 int index = vblk->index; 891 int index = vblk->index;
@@ -961,19 +961,14 @@ static unsigned int features[] = {
961 VIRTIO_BLK_F_WCE, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE 961 VIRTIO_BLK_F_WCE, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE
962}; 962};
963 963
964/* 964static struct virtio_driver virtio_blk = {
965 * virtio_blk causes spurious section mismatch warning by
966 * simultaneously referring to a __devinit and a __devexit function.
967 * Use __refdata to avoid this warning.
968 */
969static struct virtio_driver __refdata virtio_blk = {
970 .feature_table = features, 965 .feature_table = features,
971 .feature_table_size = ARRAY_SIZE(features), 966 .feature_table_size = ARRAY_SIZE(features),
972 .driver.name = KBUILD_MODNAME, 967 .driver.name = KBUILD_MODNAME,
973 .driver.owner = THIS_MODULE, 968 .driver.owner = THIS_MODULE,
974 .id_table = id_table, 969 .id_table = id_table,
975 .probe = virtblk_probe, 970 .probe = virtblk_probe,
976 .remove = __devexit_p(virtblk_remove), 971 .remove = virtblk_remove,
977 .config_changed = virtblk_config_changed, 972 .config_changed = virtblk_config_changed,
978#ifdef CONFIG_PM 973#ifdef CONFIG_PM
979 .freeze = virtblk_freeze, 974 .freeze = virtblk_freeze,
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index 1a17e338735e..1f38643173ca 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -961,7 +961,7 @@ static const struct block_device_operations ace_fops = {
961/* -------------------------------------------------------------------- 961/* --------------------------------------------------------------------
962 * SystemACE device setup/teardown code 962 * SystemACE device setup/teardown code
963 */ 963 */
964static int __devinit ace_setup(struct ace_device *ace) 964static int ace_setup(struct ace_device *ace)
965{ 965{
966 u16 version; 966 u16 version;
967 u16 val; 967 u16 val;
@@ -1074,7 +1074,7 @@ err_ioremap:
1074 return -ENOMEM; 1074 return -ENOMEM;
1075} 1075}
1076 1076
1077static void __devexit ace_teardown(struct ace_device *ace) 1077static void ace_teardown(struct ace_device *ace)
1078{ 1078{
1079 if (ace->gd) { 1079 if (ace->gd) {
1080 del_gendisk(ace->gd); 1080 del_gendisk(ace->gd);
@@ -1092,9 +1092,8 @@ static void __devexit ace_teardown(struct ace_device *ace)
1092 iounmap(ace->baseaddr); 1092 iounmap(ace->baseaddr);
1093} 1093}
1094 1094
1095static int __devinit 1095static int ace_alloc(struct device *dev, int id, resource_size_t physaddr,
1096ace_alloc(struct device *dev, int id, resource_size_t physaddr, 1096 int irq, int bus_width)
1097 int irq, int bus_width)
1098{ 1097{
1099 struct ace_device *ace; 1098 struct ace_device *ace;
1100 int rc; 1099 int rc;
@@ -1135,7 +1134,7 @@ err_noreg:
1135 return rc; 1134 return rc;
1136} 1135}
1137 1136
1138static void __devexit ace_free(struct device *dev) 1137static void ace_free(struct device *dev)
1139{ 1138{
1140 struct ace_device *ace = dev_get_drvdata(dev); 1139 struct ace_device *ace = dev_get_drvdata(dev);
1141 dev_dbg(dev, "ace_free(%p)\n", dev); 1140 dev_dbg(dev, "ace_free(%p)\n", dev);
@@ -1151,7 +1150,7 @@ static void __devexit ace_free(struct device *dev)
1151 * Platform Bus Support 1150 * Platform Bus Support
1152 */ 1151 */
1153 1152
1154static int __devinit ace_probe(struct platform_device *dev) 1153static int ace_probe(struct platform_device *dev)
1155{ 1154{
1156 resource_size_t physaddr = 0; 1155 resource_size_t physaddr = 0;
1157 int bus_width = ACE_BUS_WIDTH_16; /* FIXME: should not be hard coded */ 1156 int bus_width = ACE_BUS_WIDTH_16; /* FIXME: should not be hard coded */
@@ -1182,7 +1181,7 @@ static int __devinit ace_probe(struct platform_device *dev)
1182/* 1181/*
1183 * Platform bus remove() method 1182 * Platform bus remove() method
1184 */ 1183 */
1185static int __devexit ace_remove(struct platform_device *dev) 1184static int ace_remove(struct platform_device *dev)
1186{ 1185{
1187 ace_free(&dev->dev); 1186 ace_free(&dev->dev);
1188 return 0; 1187 return 0;
@@ -1190,7 +1189,7 @@ static int __devexit ace_remove(struct platform_device *dev)
1190 1189
1191#if defined(CONFIG_OF) 1190#if defined(CONFIG_OF)
1192/* Match table for of_platform binding */ 1191/* Match table for of_platform binding */
1193static const struct of_device_id ace_of_match[] __devinitconst = { 1192static const struct of_device_id ace_of_match[] = {
1194 { .compatible = "xlnx,opb-sysace-1.00.b", }, 1193 { .compatible = "xlnx,opb-sysace-1.00.b", },
1195 { .compatible = "xlnx,opb-sysace-1.00.c", }, 1194 { .compatible = "xlnx,opb-sysace-1.00.c", },
1196 { .compatible = "xlnx,xps-sysace-1.00.a", }, 1195 { .compatible = "xlnx,xps-sysace-1.00.a", },
@@ -1204,7 +1203,7 @@ MODULE_DEVICE_TABLE(of, ace_of_match);
1204 1203
1205static struct platform_driver ace_platform_driver = { 1204static struct platform_driver ace_platform_driver = {
1206 .probe = ace_probe, 1205 .probe = ace_probe,
1207 .remove = __devexit_p(ace_remove), 1206 .remove = ace_remove,
1208 .driver = { 1207 .driver = {
1209 .owner = THIS_MODULE, 1208 .owner = THIS_MODULE,
1210 .name = "xsysace", 1209 .name = "xsysace",