git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
cris
/
arch-v10
/
drivers
/
eeprom.c
diff --git
a/arch/cris/arch-v10/drivers/eeprom.c
b/arch/cris/arch-v10/drivers/eeprom.c
index
316ca15
..
512f16d
100644
(file)
--- a/
arch/cris/arch-v10/drivers/eeprom.c
+++ b/
arch/cris/arch-v10/drivers/eeprom.c
@@
-20,6
+20,12
@@
*! in the spin-lock.
*!
*! $Log: eeprom.c,v $
*! in the spin-lock.
*!
*! $Log: eeprom.c,v $
+*! Revision 1.12 2005/06/19 17:06:46 starvik
+*! Merge of Linux 2.6.12.
+*!
+*! Revision 1.11 2005/01/26 07:14:46 starvik
+*! Applied diff from kernel janitors (Nish Aravamudan).
+*!
*! Revision 1.10 2003/09/11 07:29:48 starvik
*! Merge of Linux 2.6.0-test5
*!
*! Revision 1.10 2003/09/11 07:29:48 starvik
*! Merge of Linux 2.6.0-test5
*!
@@
-94,6
+100,7
@@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
+#include <linux/wait.h>
#include <asm/uaccess.h>
#include "i2c.h"
#include <asm/uaccess.h>
#include "i2c.h"
@@
-526,15
+533,10
@@
static ssize_t eeprom_read(struct file * file, char * buf, size_t count, loff_t
return -EFAULT;
}
return -EFAULT;
}
- w
hile(eeprom.busy)
- {
-
interruptible_sleep_on(&eeprom.wait_q)
;
+ w
ait_event_interruptible(eeprom.wait_q, !eeprom.busy);
+ if (signal_pending(current))
+
return -EINTR
;
- /* bail out if we get interrupted */
- if (signal_pending(current))
- return -EINTR;
-
- }
eeprom.busy++;
page = (unsigned char) (p >> 8);
eeprom.busy++;
page = (unsigned char) (p >> 8);
@@
-604,13
+606,10
@@
static ssize_t eeprom_write(struct file * file, const char * buf, size_t count,
return -EFAULT;
}
return -EFAULT;
}
- while(eeprom.busy)
- {
- interruptible_sleep_on(&eeprom.wait_q);
- /* bail out if we get interrupted */
- if (signal_pending(current))
- return -EINTR;
- }
+ wait_event_interruptible(eeprom.wait_q, !eeprom.busy);
+ /* bail out if we get interrupted */
+ if (signal_pending(current))
+ return -EINTR;
eeprom.busy++;
for(i = 0; (i < EEPROM_RETRIES) && (restart > 0); i++)
{
eeprom.busy++;
for(i = 0; (i < EEPROM_RETRIES) && (restart > 0); i++)
{