Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 616eee9..bd601ef 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
-@@ -34,6 +34,11 @@ config PHANTOM
+@@ -34,6 +34,11 @@
If you choose to build module, its name will be phantom. If unsure,
say N here.
If unsure, say N.
-@@ -187,5 +192,4 @@ config THINKPAD_ACPI_BAY
+@@ -187,5 +192,4 @@
If you are not sure, say Y here.
-
endmenu
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 8abbf2f..b5ce0e3 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
-@@ -14,3 +14,4 @@ obj-$(CONFIG_PHANTOM) += phantom.o
+@@ -14,3 +14,4 @@
obj-$(CONFIG_SGI_IOC4) += ioc4.o
obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o
obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o
+obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o
-diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
-new file mode 100644
-index 0000000..bfcb434
--- /dev/null
+++ b/drivers/misc/eeprom_93cx6.c
@@ -0,0 +1,229 @@
+}
+EXPORT_SYMBOL_GPL(eeprom_93cx6_multiread);
+
-diff --git a/include/linux/eeprom_93cx6.h b/include/linux/eeprom_93cx6.h
-new file mode 100644
-index 0000000..d774b77
--- /dev/null
+++ b/include/linux/eeprom_93cx6.h
@@ -0,0 +1,72 @@
+ const u8 word, u16 *data);
+extern void eeprom_93cx6_multiread(struct eeprom_93cx6 *eeprom,
+ const u8 word, __le16 *data, const u16 words);
-From: Ivo van Doorn <ivdoorn@gmail.com>
-Date: Mon, 14 May 2007 21:06:01 +0000 (+0200)
-Subject: [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse
-X-Git-Tag: v2.6.23-rc1~1201^2~73
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=4b914dc0493edff19ff698a18198a173a14ba9d2
-
-[PATCH] eeprom_93cx6: Add comment for 1us delay after pulse
-
-This will add a comment for the 1us delay which is taken
-after the pulse has been switched. The 1us delay is based
-on the specifications so that should be made clear.
-
-Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
-Signed-off-by: John W. Linville <linville@tuxdriver.com>
----
-
-diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
-index bfcb434..0d6d742 100644
---- a/drivers/misc/eeprom_93cx6.c
-+++ b/drivers/misc/eeprom_93cx6.c
-@@ -39,6 +39,12 @@ static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom)
- {
- eeprom->reg_data_clock = 1;
- eeprom->register_write(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.
-+ */
- udelay(1);
- }
-
-@@ -46,6 +52,12 @@ static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)
- {
- eeprom->reg_data_clock = 0;
- eeprom->register_write(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.
-+ */
- udelay(1);
- }
-
-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)
-From: Francois Romieu <romieu@fr.zoreil.com>
-Date: Tue, 3 Jul 2007 22:31:44 +0000 (+0200)
-Subject: eeprom_93cx6: shorten pulse timing to match spec (bis)
-X-Git-Tag: v2.6.23-rc1~1151^2~11
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=8abd531e3f77188de2fc41e677d075cc66e61631
-
-eeprom_93cx6: shorten pulse timing to match spec (bis)
-
-Based on an original idea by John W. Linville.
-
-It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c
-
-Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
-Signed-off-by: Jeff Garzik <jeff@garzik.org>
----
-
-diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
-index ac515b0..ea55654 100644
---- a/drivers/misc/eeprom_93cx6.c
-+++ b/drivers/misc/eeprom_93cx6.c
-@@ -55,10 +55,10 @@ static inline void eeprom_93cx6_pulse_low(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 void eeprom_93cx6_startup(struct eeprom_93cx6 *eeprom)