From: Nishanth Aravamudan <nacc@us.ibm.com>
Remove deprecated interruptible_sleep_on() function call
and replace with direct wait-queue usage.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
---
bcm1250_tbprof.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
Index: quilt/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
===================================================================
--- quilt.orig/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
+++ quilt/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
@@ -28,6 +28,7 @@
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/reboot.h>
+#include <linux/wait.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/sibyte/sb1250.h>
@@ -231,6 +232,7 @@ int sbprof_zbprof_start(struct file *fil
int sbprof_zbprof_stop(void)
{
+ DEFINE_WAIT(wait);
DBG(printk(DEVNAME ": stopping\n"));
if (sbp.tb_enable) {
@@ -240,7 +242,9 @@ int sbprof_zbprof_stop(void)
this sleep happens. */
if (sbp.tb_armed) {
DBG(printk(DEVNAME ": wait for disarm\n"));
- interruptible_sleep_on(&sbp.tb_sync);
+ prepare_to_wait(&sbp.tb_sync, &wait,
TASK_INTERRUPTIBLE);
+ schedule();
+ finish_wait(&sbp.tb_sync, &wait);
DBG(printk(DEVNAME ": disarm complete\n"));
}
free_irq(K_INT_TRACE_FREEZE, &sbp);
@@ -339,6 +343,7 @@ static int sbprof_tb_ioctl(struct inode
unsigned long arg)
{
int error = 0;
+ DEFINE_WAIT(wait);
switch (command) {
case SBPROF_ZBSTART:
@@ -348,7 +353,9 @@ static int sbprof_tb_ioctl(struct inode
error = sbprof_zbprof_stop();
break;
case SBPROF_ZBWAITFULL:
- interruptible_sleep_on(&sbp.tb_read);
+ prepare_to_wait(&sbp.tb_read, &wait, TASK_INTERRUPTIBLE);
+ schedule();
+ finish_wait(&sbp.tb_read, &wait);
/* XXXKW check if interrupted? */
return put_user(TB_FULL, (int *) arg);
default:
--
|