⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patch-2.4.19-mmc

📁 linux2.4.19内核关于MMC/SD卡驱动的补丁
💻 19-MMC
📖 第 1 页 / 共 5 页
字号:
diff -ruwN -X dontdiff linux-2.4.19/Documentation/Configure.help linux-2.4.19-mmc1/Documentation/Configure.help--- linux-2.4.19/Documentation/Configure.help	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/Documentation/Configure.help	Fri Aug  9 14:45:17 2002@@ -14257,6 +14257,25 @@   The module will be called bluetooth.o. If you want to compile it as   a module, say M here and read <file:Documentation/modules.txt>. +MMC/SD Card support+CONFIG_MMC+  Say Y or M here if you want to enable support for Multimedia or+  Secure Digital Cards.  You will need an MMC/SD socket and drivers+  for your socket.  At the moment, access to the information required+  to write a driver for SD or SDIO requires signing and NDA that+  precludes the release of an open source driver, so only MMC is+  supported at this time.  If you want to compile it as a module, say+  M here and read <file:Documentation/modules.txt>.++MMC debugging+CONFIG_MMC_DEBUG+  Say Y here if you want to enable debug output from the MMC drivers.++MMC debugging verbosity+CONFIG_MMC_DEBUG_VERBOSE+  Enter a number from 0 (quiet) to 3 (noisy) here to control the+  verbosity of MMC debug output.+ Minix fs support CONFIG_MINIX_FS   Minix is a simple operating system used in many classes about OS's.diff -ruwN -X dontdiff linux-2.4.19/MAINTAINERS linux-2.4.19-mmc1/MAINTAINERS--- linux-2.4.19/MAINTAINERS	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/MAINTAINERS	Fri Aug  9 12:50:27 2002@@ -1013,6 +1013,14 @@ L:	linux-kernel@vger.kernel.org S:	Maintained +MULTIMEDIA CARD (MMC) SUBSYSTEM+P: Andrew Christian+P: Jamey Hicks+P: George France+L: MMC-Developer's <mmc-dev@handhelds.org>+W: http://www.handhelds.org/pub/linux/mmc/+S: Maintained+ MODULE SUPPORT [GENERAL], KMOD P:	Keith Owens M:	kaos@ocs.com.audiff -ruwN -X dontdiff linux-2.4.19/arch/alpha/config.in linux-2.4.19-mmc1/arch/alpha/config.in--- linux-2.4.19/arch/alpha/config.in	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/arch/alpha/config.in	Fri Aug  9 12:37:54 2002@@ -404,6 +404,7 @@ source drivers/input/Config.in  source net/bluetooth/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/arm/config.in linux-2.4.19-mmc1/arch/arm/config.in--- linux-2.4.19/arch/arm/config.in	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/arch/arm/config.in	Fri Aug  9 12:37:45 2002@@ -630,6 +630,7 @@ source drivers/usb/Config.in  source net/bluetooth/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/cris/config.in linux-2.4.19-mmc1/arch/cris/config.in--- linux-2.4.19/arch/cris/config.in	Mon Feb 25 14:37:52 2002+++ linux-2.4.19-mmc1/arch/cris/config.in	Fri Aug  9 12:38:23 2002@@ -244,6 +244,7 @@ endmenu  source drivers/usb/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/i386/config.in linux-2.4.19-mmc1/arch/i386/config.in--- linux-2.4.19/arch/i386/config.in	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/arch/i386/config.in	Fri Aug  9 12:37:32 2002@@ -411,6 +411,7 @@ source drivers/usb/Config.in  source net/bluetooth/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/ia64/config.in linux-2.4.19-mmc1/arch/ia64/config.in--- linux-2.4.19/arch/ia64/config.in	Fri Aug  2 20:39:42 2002+++ linux-2.4.19-mmc1/arch/ia64/config.in	Fri Aug  9 12:38:35 2002@@ -257,6 +257,7 @@   endmenu fi +source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/m68k/config.in linux-2.4.19-mmc1/arch/m68k/config.in--- linux-2.4.19/arch/m68k/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/m68k/config.in	Fri Aug  9 12:38:47 2002@@ -554,6 +554,8 @@    endmenu fi +source drivers/mmc/Config.in+ mainmenu_option next_comment comment 'Kernel hacking' diff -ruwN -X dontdiff linux-2.4.19/arch/mips/config.in linux-2.4.19-mmc1/arch/mips/config.in--- linux-2.4.19/arch/mips/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/mips/config.in	Fri Aug  9 12:39:00 2002@@ -621,6 +621,8 @@ mainmenu_option next_comment comment 'Kernel hacking' +source drivers/mmc/Config.in+ bool 'Are you using a crosscompiler' CONFIG_CROSSCOMPILE if [ "$CONFIG_SERIAL" = "y" -o "$CONFIG_AU1000_UART" = "y" ]; then   bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUGdiff -ruwN -X dontdiff linux-2.4.19/arch/mips64/config.in linux-2.4.19-mmc1/arch/mips64/config.in--- linux-2.4.19/arch/mips64/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/mips64/config.in	Fri Aug  9 12:57:31 2002@@ -322,6 +322,7 @@ source drivers/usb/Config.in  source net/bluetooth/Config.in+source drivers/mmc/Config.in  source drivers/input/Config.in diff -ruwN -X dontdiff linux-2.4.19/arch/parisc/config.in linux-2.4.19-mmc1/arch/parisc/config.in--- linux-2.4.19/arch/parisc/config.in	Tue Apr 17 20:19:25 2001+++ linux-2.4.19-mmc1/arch/parisc/config.in	Fri Aug  9 12:57:40 2002@@ -201,6 +201,8 @@ fi # endmenu +source drivers/mmc/Config.in+ mainmenu_option next_comment comment 'Kernel hacking' diff -ruwN -X dontdiff linux-2.4.19/arch/ppc/config.in linux-2.4.19-mmc1/arch/ppc/config.in--- linux-2.4.19/arch/ppc/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/ppc/config.in	Fri Aug  9 12:57:48 2002@@ -394,6 +394,7 @@ source drivers/usb/Config.in  source net/bluetooth/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/ppc64/config.in linux-2.4.19-mmc1/arch/ppc64/config.in--- linux-2.4.19/arch/ppc64/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/ppc64/config.in	Fri Aug  9 12:57:57 2002@@ -225,6 +225,7 @@ endmenu  source drivers/usb/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/s390/config.in linux-2.4.19-mmc1/arch/s390/config.in--- linux-2.4.19/arch/s390/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/s390/config.in	Fri Aug  9 12:58:03 2002@@ -64,6 +64,7 @@ fi  source fs/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/s390x/config.in linux-2.4.19-mmc1/arch/s390x/config.in--- linux-2.4.19/arch/s390x/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/s390x/config.in	Fri Aug  9 12:58:11 2002@@ -66,6 +66,7 @@ fi  source fs/Config.in+source drivers/mmc/Config.in  mainmenu_option next_comment comment 'Kernel hacking'diff -ruwN -X dontdiff linux-2.4.19/arch/sh/config.in linux-2.4.19-mmc1/arch/sh/config.in--- linux-2.4.19/arch/sh/config.in	Mon Feb 25 14:37:56 2002+++ linux-2.4.19-mmc1/arch/sh/config.in	Fri Aug  9 12:58:20 2002@@ -377,6 +377,8 @@ fi endmenu +source drivers/mmc/Config.in+ mainmenu_option next_comment comment 'Kernel hacking' diff -ruwN -X dontdiff linux-2.4.19/arch/sparc/config.in linux-2.4.19-mmc1/arch/sparc/config.in--- linux-2.4.19/arch/sparc/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/sparc/config.in	Fri Aug  9 12:58:32 2002@@ -266,6 +266,8 @@ tristate 'Software watchdog' CONFIG_SOFT_WATCHDOG endmenu +source drivers/mmc/Config.in+ mainmenu_option next_comment comment 'Kernel hacking' diff -ruwN -X dontdiff linux-2.4.19/arch/sparc64/config.in linux-2.4.19-mmc1/arch/sparc64/config.in--- linux-2.4.19/arch/sparc64/config.in	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/arch/sparc64/config.in	Fri Aug  9 12:58:42 2002@@ -291,6 +291,8 @@ tristate 'Software watchdog' CONFIG_SOFT_WATCHDOG endmenu +source drivers/mmc/Config.in+ mainmenu_option next_comment comment 'Kernel hacking' diff -ruwN -X dontdiff linux-2.4.19/drivers/Makefile linux-2.4.19-mmc1/drivers/Makefile--- linux-2.4.19/drivers/Makefile	Fri Aug  2 20:39:43 2002+++ linux-2.4.19-mmc1/drivers/Makefile	Fri Aug  9 12:37:12 2002@@ -46,5 +46,6 @@ subdir-$(CONFIG_ACPI)		+= acpi  subdir-$(CONFIG_BLUEZ)		+= bluetooth+subdir-$(CONFIG_MMC)		+= mmc  include $(TOPDIR)/Rules.makediff -ruwN -X dontdiff linux-2.4.19/drivers/mmc/Config.in linux-2.4.19-mmc1/drivers/mmc/Config.in--- linux-2.4.19/drivers/mmc/Config.in	Wed Dec 31 19:00:00 1969+++ linux-2.4.19-mmc1/drivers/mmc/Config.in	Tue Jun 18 08:38:40 2002@@ -0,0 +1,15 @@+#+# MMC subsystem configuration+#+mainmenu_option next_comment+comment 'MMC/SD Card support'++tristate 'MMC support' CONFIG_MMC+if [ "$CONFIG_MMC" = "y" -o "$CONFIG_MMC" = "m" ]; then+  bool '  MMC debugging' CONFIG_MMC_DEBUG+  if [ "$CONFIG_MMC_DEBUG" = "y" ]; then+    int '  MMC debugging verbosity (0=quiet, 3=noisy)' CONFIG_MMC_DEBUG_VERBOSE 0+  fi+fi++endmenudiff -ruwN -X dontdiff linux-2.4.19/drivers/mmc/Makefile linux-2.4.19-mmc1/drivers/mmc/Makefile--- linux-2.4.19/drivers/mmc/Makefile	Wed Dec 31 19:00:00 1969+++ linux-2.4.19-mmc1/drivers/mmc/Makefile	Tue Jun 18 08:38:40 2002@@ -0,0 +1,20 @@+#+# Makefile for the kernel mmc device drivers.+#++O_TARGET := mmc.o++export-objs := mmc_core.o++obj-$(CONFIG_MMC) += mmc_base.o++# Declare multi-part drivers.+list-multi := mmc_base.o+mmc_base-objs := mmc_protocol.o mmc_core.o mmc_media.o++include $(TOPDIR)/Rules.make++# Link rules for multi-part drivers.++mmc_base.o: $(mmc_base-objs)+	$(LD) -r -o $@ $(mmc_base-objs)diff -ruwN -X dontdiff linux-2.4.19/drivers/mmc/mmc_core.c linux-2.4.19-mmc1/drivers/mmc/mmc_core.c--- linux-2.4.19/drivers/mmc/mmc_core.c	Wed Dec 31 19:00:00 1969+++ linux-2.4.19-mmc1/drivers/mmc/mmc_core.c	Fri Aug  9 16:08:20 2002@@ -0,0 +1,839 @@+/*+ * Core MMC driver functions+ *+ * Copyright (c) 2002 Hewlett-Packard Company+ *   + * Permission is hereby granted, free of charge, to any person obtaining a+ * copy of this software and associated documentation files (the+ * "Software"), to deal in the Software without restriction, including+ * without limitation the rights to use, copy, modify, merge, publish,+ * distribute, sublicense, and/or sell copies of the Software, and to+ * permit persons to whom the Software is furnished to do so, subject to+ * the following conditions:+ *  + * The above copyright notice and this permission notice shall be included+ * in all copies or substantial portions of the Software.+ *  + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.+ *+ * Many thanks to Alessandro Rubini and Jonathan Corbet!+ *+ * Author:  Andrew Christian+ *          6 May 2002 */++#include <linux/config.h>+#include <linux/module.h>++#include <linux/version.h>+#include <linux/proc_fs.h>+#include <linux/init.h>+#include <linux/interrupt.h>+#include <linux/delay.h>+#include <linux/list.h>+#include <linux/sysctl.h>+#include <linux/pm.h>++#include "mmc_core.h"++#define STATE_CMD_ACTIVE   (1<<0)+#define STATE_CMD_DONE     (1<<1)+#define STATE_INSERT       (1<<2)+#define STATE_EJECT        (1<<3)++static struct mmc_dev          g_mmc_dev;+static struct proc_dir_entry  *proc_mmc_dir;++int g_mmc_debug = CONFIG_MMC_DEBUG_VERBOSE;+EXPORT_SYMBOL(g_mmc_debug);++/**************************************************************************+ * Debugging functions+ **************************************************************************/++static char * mmc_result_strings[] = {+	"NO_RESPONSE",+	"NO_ERROR",+	"ERROR_OUT_OF_RANGE",+	"ERROR_ADDRESS",+	"ERROR_BLOCK_LEN",+	"ERROR_ERASE_SEQ",+	"ERROR_ERASE_PARAM",+	"ERROR_WP_VIOLATION",+	"ERROR_CARD_IS_LOCKED",+	"ERROR_LOCK_UNLOCK_FAILED",+	"ERROR_COM_CRC",+	"ERROR_ILLEGAL_COMMAND",+	"ERROR_CARD_ECC_FAILED",+	"ERROR_CC",+	"ERROR_GENERAL",+	"ERROR_UNDERRUN",+	"ERROR_OVERRUN",+	"ERROR_CID_CSD_OVERWRITE",+	"ERROR_STATE_MISMATCH",+	"ERROR_HEADER_MISMATCH",+	"ERROR_TIMEOUT",+	"ERROR_CRC",+	"ERROR_DRIVER_FAILURE",+};++char * mmc_result_to_string( int i )+{+	return mmc_result_strings[i+1];+}++static char * card_state_strings[] = {+	"empty",+	"idle",+	"ready",+	"ident",+	"stby",+	"tran",+	"data",+	"rcv",+	"prg",+	"dis",+};++static inline char * card_state_to_string( int i )+{+	return card_state_strings[i+1];+}++/**************************************************************************+ * Utility functions+ **************************************************************************/++#define PARSE_U32(_buf,_index) \+	(((u32)_buf[_index]) << 24) | (((u32)_buf[_index+1]) << 16) | \+        (((u32)_buf[_index+2]) << 8) | ((u32)_buf[_index+3]);++#define PARSE_U16(_buf,_index) \+	(((u16)_buf[_index]) << 8) | ((u16)_buf[_index+1]);++int mmc_unpack_csd( struct mmc_request *request, struct mmc_csd *csd )+{+	u8 *buf = request->response;+	+	if ( request->result ) return request->result;++	csd->csd_structure      = (buf[1] & 0xc0) >> 6;+	csd->spec_vers          = (buf[1] & 0x3c) >> 2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -