aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches/002-eeprom_93cx6.patch
blob: 7f2b125542f821484da3f7149bbe77d41cf80c0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From: John W. Linville <linville@tuxdriver.com>
Date: Tue, 12 Jun 2007 01:37:46 +0000 (-0400)
Subject: [PATCH] eeprom_93cx6: shorten pulse timing to match spec
X-Git-Tag: v2.6.23-rc1~1201^2~71
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=7e9400f178d291b2208c4ed9aac0f425c1364000

[PATCH] eeprom_93cx6: shorten pulse timing to match spec

93cx6 datasheet available here:

        http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf

Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High
Time and Clock Low Time have largest minimum times of 450ns.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
index 0d6d742..ac515b0 100644
--- a/drivers/misc/eeprom_93cx6.c
+++ b/drivers/misc/eeprom_93cx6.c
@@ -42,10 +42,10 @@ static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom)
 
 	/*
 	 * Add a short delay for the pulse to work.
-	 * According to the specifications the minimal time
-	 * should be 450ns so a 1us delay is sufficient.
+	 * According to the specifications the "maximum minimum"
+	 * time should be 450ns.
 	 */
-	udelay(1);
+	ndelay(450);
 }
 
 static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)