aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-11-07 05:59:40 -0500
committerThomas Gleixner <tglx@linutronix.de>2017-11-07 05:59:40 -0500
commit1c10bbee8cf7c8df4e5d9e8ccc9754b200f625ff (patch)
tree3fb75d197d16d63878fdb4a478e9f6a555a95f80
parentc7c2f3d9e86c2f09a514247d1623f00850125636 (diff)
parent5ea22086ed42bef8dde93f45a42a3ace486eb788 (diff)
Merge tag 'timers-conversion-next4' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into timers/core
Pull the 4th timer conversion batch from Kees Cook - A couple fixes for less common build configurations - More stragglers that have either been reviewed or gone long enough on list
-rw-r--r--arch/arm/mach-footbridge/dc21285.c2
-rw-r--r--drivers/block/aoe/aoemain.c44
-rw-r--r--drivers/block/drbd/drbd_int.h4
-rw-r--r--drivers/block/drbd/drbd_main.c18
-rw-r--r--drivers/block/drbd/drbd_receiver.c2
-rw-r--r--drivers/block/drbd/drbd_req.c4
-rw-r--r--drivers/block/drbd/drbd_req.h2
-rw-r--r--drivers/block/drbd/drbd_worker.c8
-rw-r--r--drivers/crypto/axis/artpec6_crypto.c6
-rw-r--r--drivers/crypto/mv_cesa.c4
-rw-r--r--drivers/crypto/picoxcell_crypto.c7
-rw-r--r--drivers/ide/ide-io.c4
-rw-r--r--drivers/ide/ide-probe.c2
-rw-r--r--drivers/mailbox/mailbox-altera.c12
-rw-r--r--drivers/pcmcia/omap_cf.c4
-rw-r--r--include/linux/ide.h2
16 files changed, 47 insertions, 78 deletions
diff --git a/arch/arm/mach-footbridge/dc21285.c b/arch/arm/mach-footbridge/dc21285.c
index 8407e4a07c77..e7b350f18f5f 100644
--- a/arch/arm/mach-footbridge/dc21285.c
+++ b/arch/arm/mach-footbridge/dc21285.c
@@ -141,7 +141,7 @@ static void dc21285_enable_error(struct timer_list *timer)
141 del_timer(timer); 141 del_timer(timer);
142 142
143 if (timer == &serr_timer) 143 if (timer == &serr_timer)
144 enable_irq(IRQ_PCI_SERR) 144 enable_irq(IRQ_PCI_SERR);
145 else if (timer == &perr_timer) 145 else if (timer == &perr_timer)
146 enable_irq(IRQ_PCI_PERR); 146 enable_irq(IRQ_PCI_PERR);
147} 147}
diff --git a/drivers/block/aoe/aoemain.c b/drivers/block/aoe/aoemain.c
index 4b987c2fefbe..251482066977 100644
--- a/drivers/block/aoe/aoemain.c
+++ b/drivers/block/aoe/aoemain.c
@@ -15,49 +15,19 @@ MODULE_AUTHOR("Sam Hopkins <sah@coraid.com>");
15MODULE_DESCRIPTION("AoE block/char driver for 2.6.2 and newer 2.6 kernels"); 15MODULE_DESCRIPTION("AoE block/char driver for 2.6.2 and newer 2.6 kernels");
16MODULE_VERSION(VERSION); 16MODULE_VERSION(VERSION);
17 17
18enum { TINIT, TRUN, TKILL }; 18static struct timer_list timer;
19 19
20static void 20static void discover_timer(struct timer_list *t)
21discover_timer(ulong vp)
22{ 21{
23 static struct timer_list t; 22 mod_timer(t, jiffies + HZ * 60); /* one minute */
24 static volatile ulong die;
25 static spinlock_t lock;
26 ulong flags;
27 enum { DTIMERTICK = HZ * 60 }; /* one minute */
28
29 switch (vp) {
30 case TINIT:
31 init_timer(&t);
32 spin_lock_init(&lock);
33 t.data = TRUN;
34 t.function = discover_timer;
35 die = 0;
36 case TRUN:
37 spin_lock_irqsave(&lock, flags);
38 if (!die) {
39 t.expires = jiffies + DTIMERTICK;
40 add_timer(&t);
41 }
42 spin_unlock_irqrestore(&lock, flags);
43
44 aoecmd_cfg(0xffff, 0xff);
45 return;
46 case TKILL:
47 spin_lock_irqsave(&lock, flags);
48 die = 1;
49 spin_unlock_irqrestore(&lock, flags);
50 23
51 del_timer_sync(&t); 24 aoecmd_cfg(0xffff, 0xff);
52 default:
53 return;
54 }
55} 25}
56 26
57static void 27static void
58aoe_exit(void) 28aoe_exit(void)
59{ 29{
60 discover_timer(TKILL); 30 del_timer_sync(&timer);
61 31
62 aoenet_exit(); 32 aoenet_exit();
63 unregister_blkdev(AOE_MAJOR, DEVICE_NAME); 33 unregister_blkdev(AOE_MAJOR, DEVICE_NAME);
@@ -93,7 +63,9 @@ aoe_init(void)
93 goto blkreg_fail; 63 goto blkreg_fail;
94 } 64 }
95 printk(KERN_INFO "aoe: AoE v%s initialised.\n", VERSION); 65 printk(KERN_INFO "aoe: AoE v%s initialised.\n", VERSION);
96 discover_timer(TINIT); 66
67 timer_setup(&timer, discover_timer, 0);
68 discover_timer(&timer);
97 return 0; 69 return 0;
98 blkreg_fail: 70 blkreg_fail:
99 aoecmd_exit(); 71 aoecmd_exit();
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index 7e8589ce631c..06ecee1b528e 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -1551,8 +1551,8 @@ extern int w_restart_disk_io(struct drbd_work *, int);
1551extern int w_send_out_of_sync(struct drbd_work *, int); 1551extern int w_send_out_of_sync(struct drbd_work *, int);
1552extern int w_start_resync(struct drbd_work *, int); 1552extern int w_start_resync(struct drbd_work *, int);
1553 1553
1554extern void resync_timer_fn(unsigned long data); 1554extern void resync_timer_fn(struct timer_list *t);
1555extern void start_resync_timer_fn(unsigned long data); 1555extern void start_resync_timer_fn(struct timer_list *t);
1556 1556
1557extern void drbd_endio_write_sec_final(struct drbd_peer_request *peer_req); 1557extern void drbd_endio_write_sec_final(struct drbd_peer_request *peer_req);
1558 1558
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 8cb3791898ae..4b4697a1f963 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -64,7 +64,7 @@
64static DEFINE_MUTEX(drbd_main_mutex); 64static DEFINE_MUTEX(drbd_main_mutex);
65static int drbd_open(struct block_device *bdev, fmode_t mode); 65static int drbd_open(struct block_device *bdev, fmode_t mode);
66static void drbd_release(struct gendisk *gd, fmode_t mode); 66static void drbd_release(struct gendisk *gd, fmode_t mode);
67static void md_sync_timer_fn(unsigned long data); 67static void md_sync_timer_fn(struct timer_list *t);
68static int w_bitmap_io(struct drbd_work *w, int unused); 68static int w_bitmap_io(struct drbd_work *w, int unused);
69 69
70MODULE_AUTHOR("Philipp Reisner <phil@linbit.com>, " 70MODULE_AUTHOR("Philipp Reisner <phil@linbit.com>, "
@@ -2023,14 +2023,10 @@ void drbd_init_set_defaults(struct drbd_device *device)
2023 device->unplug_work.cb = w_send_write_hint; 2023 device->unplug_work.cb = w_send_write_hint;
2024 device->bm_io_work.w.cb = w_bitmap_io; 2024 device->bm_io_work.w.cb = w_bitmap_io;
2025 2025
2026 setup_timer(&device->resync_timer, resync_timer_fn, 2026 timer_setup(&device->resync_timer, resync_timer_fn, 0);
2027 (unsigned long)device); 2027 timer_setup(&device->md_sync_timer, md_sync_timer_fn, 0);
2028 setup_timer(&device->md_sync_timer, md_sync_timer_fn, 2028 timer_setup(&device->start_resync_timer, start_resync_timer_fn, 0);
2029 (unsigned long)device); 2029 timer_setup(&device->request_timer, request_timer_fn, 0);
2030 setup_timer(&device->start_resync_timer, start_resync_timer_fn,
2031 (unsigned long)device);
2032 setup_timer(&device->request_timer, request_timer_fn,
2033 (unsigned long)device);
2034 2030
2035 init_waitqueue_head(&device->misc_wait); 2031 init_waitqueue_head(&device->misc_wait);
2036 init_waitqueue_head(&device->state_wait); 2032 init_waitqueue_head(&device->state_wait);
@@ -3721,9 +3717,9 @@ int drbd_md_test_flag(struct drbd_backing_dev *bdev, int flag)
3721 return (bdev->md.flags & flag) != 0; 3717 return (bdev->md.flags & flag) != 0;
3722} 3718}
3723 3719
3724static void md_sync_timer_fn(unsigned long data) 3720static void md_sync_timer_fn(struct timer_list *t)
3725{ 3721{
3726 struct drbd_device *device = (struct drbd_device *) data; 3722 struct drbd_device *device = from_timer(device, t, md_sync_timer);
3727 drbd_device_post_work(device, MD_SYNC); 3723 drbd_device_post_work(device, MD_SYNC);
3728} 3724}
3729 3725
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 796eaf347dc0..cb2fa63f6bc0 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -5056,7 +5056,7 @@ static int drbd_disconnected(struct drbd_peer_device *peer_device)
5056 wake_up(&device->misc_wait); 5056 wake_up(&device->misc_wait);
5057 5057
5058 del_timer_sync(&device->resync_timer); 5058 del_timer_sync(&device->resync_timer);
5059 resync_timer_fn((unsigned long)device); 5059 resync_timer_fn(&device->resync_timer);
5060 5060
5061 /* wait for all w_e_end_data_req, w_e_end_rsdata_req, w_send_barrier, 5061 /* wait for all w_e_end_data_req, w_e_end_rsdata_req, w_send_barrier,
5062 * w_make_resync_request etc. which may still be on the worker queue 5062 * w_make_resync_request etc. which may still be on the worker queue
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index de8566e55334..a500e738d929 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -1714,9 +1714,9 @@ static bool net_timeout_reached(struct drbd_request *net_req,
1714 * to expire twice (worst case) to become effective. Good enough. 1714 * to expire twice (worst case) to become effective. Good enough.
1715 */ 1715 */
1716 1716
1717void request_timer_fn(unsigned long data) 1717void request_timer_fn(struct timer_list *t)
1718{ 1718{
1719 struct drbd_device *device = (struct drbd_device *) data; 1719 struct drbd_device *device = from_timer(device, t, request_timer);
1720 struct drbd_connection *connection = first_peer_device(device)->connection; 1720 struct drbd_connection *connection = first_peer_device(device)->connection;
1721 struct drbd_request *req_read, *req_write, *req_peer; /* oldest request */ 1721 struct drbd_request *req_read, *req_write, *req_peer; /* oldest request */
1722 struct net_conf *nc; 1722 struct net_conf *nc;
diff --git a/drivers/block/drbd/drbd_req.h b/drivers/block/drbd/drbd_req.h
index a2254f825601..cb97b3b30962 100644
--- a/drivers/block/drbd/drbd_req.h
+++ b/drivers/block/drbd/drbd_req.h
@@ -294,7 +294,7 @@ extern int __req_mod(struct drbd_request *req, enum drbd_req_event what,
294 struct bio_and_error *m); 294 struct bio_and_error *m);
295extern void complete_master_bio(struct drbd_device *device, 295extern void complete_master_bio(struct drbd_device *device,
296 struct bio_and_error *m); 296 struct bio_and_error *m);
297extern void request_timer_fn(unsigned long data); 297extern void request_timer_fn(struct timer_list *t);
298extern void tl_restart(struct drbd_connection *connection, enum drbd_req_event what); 298extern void tl_restart(struct drbd_connection *connection, enum drbd_req_event what);
299extern void _tl_restart(struct drbd_connection *connection, enum drbd_req_event what); 299extern void _tl_restart(struct drbd_connection *connection, enum drbd_req_event what);
300extern void tl_abort_disk_io(struct drbd_device *device); 300extern void tl_abort_disk_io(struct drbd_device *device);
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index 03471b3fce86..1476cb3439f4 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -457,9 +457,9 @@ int w_resync_timer(struct drbd_work *w, int cancel)
457 return 0; 457 return 0;
458} 458}
459 459
460void resync_timer_fn(unsigned long data) 460void resync_timer_fn(struct timer_list *t)
461{ 461{
462 struct drbd_device *device = (struct drbd_device *) data; 462 struct drbd_device *device = from_timer(device, t, resync_timer);
463 463
464 drbd_queue_work_if_unqueued( 464 drbd_queue_work_if_unqueued(
465 &first_peer_device(device)->connection->sender_work, 465 &first_peer_device(device)->connection->sender_work,
@@ -1705,9 +1705,9 @@ void drbd_rs_controller_reset(struct drbd_device *device)
1705 rcu_read_unlock(); 1705 rcu_read_unlock();
1706} 1706}
1707 1707
1708void start_resync_timer_fn(unsigned long data) 1708void start_resync_timer_fn(struct timer_list *t)
1709{ 1709{
1710 struct drbd_device *device = (struct drbd_device *) data; 1710 struct drbd_device *device = from_timer(device, t, start_resync_timer);
1711 drbd_device_post_work(device, RS_START); 1711 drbd_device_post_work(device, RS_START);
1712} 1712}
1713 1713
diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c
index d9fbbf01062b..6b515c2f2c14 100644
--- a/drivers/crypto/axis/artpec6_crypto.c
+++ b/drivers/crypto/axis/artpec6_crypto.c
@@ -2074,9 +2074,9 @@ static void artpec6_crypto_process_queue(struct artpec6_crypto *ac)
2074 del_timer(&ac->timer); 2074 del_timer(&ac->timer);
2075} 2075}
2076 2076
2077static void artpec6_crypto_timeout(unsigned long data) 2077static void artpec6_crypto_timeout(struct timer_list *t)
2078{ 2078{
2079 struct artpec6_crypto *ac = (struct artpec6_crypto *) data; 2079 struct artpec6_crypto *ac = from_timer(ac, t, timer);
2080 2080
2081 dev_info_ratelimited(artpec6_crypto_dev, "timeout\n"); 2081 dev_info_ratelimited(artpec6_crypto_dev, "timeout\n");
2082 2082
@@ -3063,7 +3063,7 @@ static int artpec6_crypto_probe(struct platform_device *pdev)
3063 spin_lock_init(&ac->queue_lock); 3063 spin_lock_init(&ac->queue_lock);
3064 INIT_LIST_HEAD(&ac->queue); 3064 INIT_LIST_HEAD(&ac->queue);
3065 INIT_LIST_HEAD(&ac->pending); 3065 INIT_LIST_HEAD(&ac->pending);
3066 setup_timer(&ac->timer, artpec6_crypto_timeout, (unsigned long) ac); 3066 timer_setup(&ac->timer, artpec6_crypto_timeout, 0);
3067 3067
3068 ac->base = base; 3068 ac->base = base;
3069 3069
diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index bf25f415eea6..0eb2706f23c8 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -149,7 +149,7 @@ struct mv_req_hash_ctx {
149 int count_add; 149 int count_add;
150}; 150};
151 151
152static void mv_completion_timer_callback(unsigned long unused) 152static void mv_completion_timer_callback(struct timer_list *unused)
153{ 153{
154 int active = readl(cpg->reg + SEC_ACCEL_CMD) & SEC_CMD_EN_SEC_ACCL0; 154 int active = readl(cpg->reg + SEC_ACCEL_CMD) & SEC_CMD_EN_SEC_ACCL0;
155 155
@@ -167,7 +167,7 @@ static void mv_completion_timer_callback(unsigned long unused)
167 167
168static void mv_setup_timer(void) 168static void mv_setup_timer(void)
169{ 169{
170 setup_timer(&cpg->completion_timer, &mv_completion_timer_callback, 0); 170 timer_setup(&cpg->completion_timer, mv_completion_timer_callback, 0);
171 mod_timer(&cpg->completion_timer, 171 mod_timer(&cpg->completion_timer,
172 jiffies + msecs_to_jiffies(MV_CESA_EXPIRE)); 172 jiffies + msecs_to_jiffies(MV_CESA_EXPIRE));
173} 173}
diff --git a/drivers/crypto/picoxcell_crypto.c b/drivers/crypto/picoxcell_crypto.c
index b6f14844702e..5a6dc53b2b9d 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -1125,9 +1125,9 @@ static irqreturn_t spacc_spacc_irq(int irq, void *dev)
1125 return IRQ_HANDLED; 1125 return IRQ_HANDLED;
1126} 1126}
1127 1127
1128static void spacc_packet_timeout(unsigned long data) 1128static void spacc_packet_timeout(struct timer_list *t)
1129{ 1129{
1130 struct spacc_engine *engine = (struct spacc_engine *)data; 1130 struct spacc_engine *engine = from_timer(engine, t, packet_timeout);
1131 1131
1132 spacc_process_done(engine); 1132 spacc_process_done(engine);
1133} 1133}
@@ -1714,8 +1714,7 @@ static int spacc_probe(struct platform_device *pdev)
1714 writel(SPA_IRQ_EN_STAT_EN | SPA_IRQ_EN_GLBL_EN, 1714 writel(SPA_IRQ_EN_STAT_EN | SPA_IRQ_EN_GLBL_EN,
1715 engine->regs + SPA_IRQ_EN_REG_OFFSET); 1715 engine->regs + SPA_IRQ_EN_REG_OFFSET);
1716 1716
1717 setup_timer(&engine->packet_timeout, spacc_packet_timeout, 1717 timer_setup(&engine->packet_timeout, spacc_packet_timeout, 0);
1718 (unsigned long)engine);
1719 1718
1720 INIT_LIST_HEAD(&engine->pending); 1719 INIT_LIST_HEAD(&engine->pending);
1721 INIT_LIST_HEAD(&engine->completed); 1720 INIT_LIST_HEAD(&engine->completed);
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 3a234701d92c..6f25da56a169 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -611,9 +611,9 @@ static int drive_is_ready(ide_drive_t *drive)
611 * logic that wants cleaning up. 611 * logic that wants cleaning up.
612 */ 612 */
613 613
614void ide_timer_expiry (unsigned long data) 614void ide_timer_expiry (struct timer_list *t)
615{ 615{
616 ide_hwif_t *hwif = (ide_hwif_t *)data; 616 ide_hwif_t *hwif = from_timer(hwif, t, timer);
617 ide_drive_t *uninitialized_var(drive); 617 ide_drive_t *uninitialized_var(drive);
618 ide_handler_t *handler; 618 ide_handler_t *handler;
619 unsigned long flags; 619 unsigned long flags;
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 01b2adfd8226..27a2488c7468 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1184,7 +1184,7 @@ static void ide_init_port_data(ide_hwif_t *hwif, unsigned int index)
1184 1184
1185 spin_lock_init(&hwif->lock); 1185 spin_lock_init(&hwif->lock);
1186 1186
1187 setup_timer(&hwif->timer, &ide_timer_expiry, (unsigned long)hwif); 1187 timer_setup(&hwif->timer, ide_timer_expiry, 0);
1188 1188
1189 init_completion(&hwif->gendev_rel_comp); 1189 init_completion(&hwif->gendev_rel_comp);
1190 1190
diff --git a/drivers/mailbox/mailbox-altera.c b/drivers/mailbox/mailbox-altera.c
index bb682c926b0a..bcb29df9549e 100644
--- a/drivers/mailbox/mailbox-altera.c
+++ b/drivers/mailbox/mailbox-altera.c
@@ -57,6 +57,7 @@ struct altera_mbox {
57 57
58 /* If the controller supports only RX polling mode */ 58 /* If the controller supports only RX polling mode */
59 struct timer_list rxpoll_timer; 59 struct timer_list rxpoll_timer;
60 struct mbox_chan *chan;
60}; 61};
61 62
62static struct altera_mbox *mbox_chan_to_altera_mbox(struct mbox_chan *chan) 63static struct altera_mbox *mbox_chan_to_altera_mbox(struct mbox_chan *chan)
@@ -138,12 +139,11 @@ static void altera_mbox_rx_data(struct mbox_chan *chan)
138 } 139 }
139} 140}
140 141
141static void altera_mbox_poll_rx(unsigned long data) 142static void altera_mbox_poll_rx(struct timer_list *t)
142{ 143{
143 struct mbox_chan *chan = (struct mbox_chan *)data; 144 struct altera_mbox *mbox = from_timer(mbox, t, rxpoll_timer);
144 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
145 145
146 altera_mbox_rx_data(chan); 146 altera_mbox_rx_data(mbox->chan);
147 147
148 mod_timer(&mbox->rxpoll_timer, 148 mod_timer(&mbox->rxpoll_timer,
149 jiffies + msecs_to_jiffies(MBOX_POLLING_MS)); 149 jiffies + msecs_to_jiffies(MBOX_POLLING_MS));
@@ -206,8 +206,8 @@ static int altera_mbox_startup_receiver(struct mbox_chan *chan)
206 206
207polling: 207polling:
208 /* Setup polling timer */ 208 /* Setup polling timer */
209 setup_timer(&mbox->rxpoll_timer, altera_mbox_poll_rx, 209 mbox->chan = chan;
210 (unsigned long)chan); 210 timer_setup(&mbox->rxpoll_timer, altera_mbox_poll_rx, 0);
211 mod_timer(&mbox->rxpoll_timer, 211 mod_timer(&mbox->rxpoll_timer,
212 jiffies + msecs_to_jiffies(MBOX_POLLING_MS)); 212 jiffies + msecs_to_jiffies(MBOX_POLLING_MS));
213 213
diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
index 8216ceb51b18..c2a17a79f0b2 100644
--- a/drivers/pcmcia/omap_cf.c
+++ b/drivers/pcmcia/omap_cf.c
@@ -102,7 +102,9 @@ static void omap_cf_timer(struct timer_list *t)
102 */ 102 */
103static irqreturn_t omap_cf_irq(int irq, void *_cf) 103static irqreturn_t omap_cf_irq(int irq, void *_cf)
104{ 104{
105 omap_cf_timer(&_cf->timer); 105 struct omap_cf_socket *cf = (struct omap_cf_socket *)_cf;
106
107 omap_cf_timer(&cf->timer);
106 return IRQ_HANDLED; 108 return IRQ_HANDLED;
107} 109}
108 110
diff --git a/include/linux/ide.h b/include/linux/ide.h
index dc152e4b7f73..cc412175d036 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1211,7 +1211,7 @@ extern int ide_wait_not_busy(ide_hwif_t *hwif, unsigned long timeout);
1211 1211
1212extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); 1212extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout);
1213 1213
1214extern void ide_timer_expiry(unsigned long); 1214extern void ide_timer_expiry(struct timer_list *t);
1215extern irqreturn_t ide_intr(int irq, void *dev_id); 1215extern irqreturn_t ide_intr(int irq, void *dev_id);
1216extern void do_ide_request(struct request_queue *); 1216extern void do_ide_request(struct request_queue *);
1217extern void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq); 1217extern void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq);