diff --git a/drivers/Makefile b/drivers/Makefile
index bdf1c66141c9..900a37a1b401 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -93,7 +93,7 @@ obj-$(CONFIG_UIO)		+= uio/
 obj-$(CONFIG_VFIO)		+= vfio/
 obj-y				+= cdrom/
 obj-y				+= auxdisplay/
-obj-$(CONFIG_PCCARD)		+= pcmcia/
+obj-$(CONFIG_PCMCIA)		+= pcmcia/
 obj-$(CONFIG_DIO)		+= dio/
 obj-$(CONFIG_SBUS)		+= sbus/
 obj-$(CONFIG_ZORRO)		+= zorro/
diff --git a/drivers/pci/hotplug/Kconfig b/drivers/pci/hotplug/Kconfig
index 48113b210cf9..83941cb45291 100644
--- a/drivers/pci/hotplug/Kconfig
+++ b/drivers/pci/hotplug/Kconfig
@@ -161,4 +161,60 @@ config HOTPLUG_PCI_S390
 
 	  When in doubt, say Y.
 
+config CARDBUS
+	tristate "32-bit CardBus support"
+	depends on PCI
+	select YENTA
+	default PCCARD
+	help
+	  CardBus is a bus mastering architecture for PC-cards, which allows
+	  for 32 bit PC-cards (the original PCMCIA standard specifies only
+	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
+
+	  To use 32 bit PC-cards, you also need a CardBus compatible host
+	  bridge. Virtually all modern PCMCIA bridges do this, and most of
+	  them are "yenta-compatible", so say Y or M there, too.
+
+	  If unsure, say Y.
+
+config YENTA
+	tristate "CardBus yenta-compatible bridge support" if EXPERT
+	depends on PCI && CARDBUS
+	default y
+	help
+	  This option enables support for CardBus host bridges.  Virtually
+	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
+	  the hardware inside your computer that PCMCIA cards are plugged
+	  into.
+
+	  To compile this driver as modules, choose M here: the
+	  module will be called yenta_socket.
+
+	  If unsure, say Y.
+
+config YENTA_O2
+	default y
+	bool "Special initialization for O2Micro bridges" if EXPERT
+	depends on YENTA
+
+config YENTA_RICOH
+	default y
+	bool "Special initialization for Ricoh bridges" if EXPERT
+	depends on YENTA
+
+config YENTA_TI
+	default y
+	bool "Special initialization for TI and EnE bridges" if EXPERT
+	depends on YENTA
+
+config YENTA_ENE_TUNE
+	default y
+	bool "Auto-tune EnE bridges for CB cards" if EXPERT
+	depends on YENTA_TI && CARDBUS
+
+config YENTA_TOSHIBA
+	default y
+	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
+	depends on YENTA
+
 endif # HOTPLUG_PCI
diff --git a/drivers/pci/hotplug/Makefile b/drivers/pci/hotplug/Makefile
index 5196983220df..8b655c283565 100644
--- a/drivers/pci/hotplug/Makefile
+++ b/drivers/pci/hotplug/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_HOTPLUG_PCI_RPA)		+= rpaphp.o
 obj-$(CONFIG_HOTPLUG_PCI_RPA_DLPAR)	+= rpadlpar_io.o
 obj-$(CONFIG_HOTPLUG_PCI_ACPI)		+= acpiphp.o
 obj-$(CONFIG_HOTPLUG_PCI_S390)		+= s390_pci_hpc.o
+obj-$(CONFIG_CARDBUS)			+= yenta_socket.o
 
 # acpiphp_ibm extends acpiphp, so should be linked afterwards.
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pci/hotplug/yenta_socket.c
similarity index 99%
rename from drivers/pcmcia/yenta_socket.c
rename to drivers/pci/hotplug/yenta_socket.c
index 68b852f18cbb..3b530ce76809 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pci/hotplug/yenta_socket.c
@@ -34,7 +34,7 @@
 #include <linux/timer.h>
 #include <linux/workqueue.h>
 #include <asm/irq.h>
-#include "i82365.h"
+#include <pcmcia/i82365.h>
 
 /* Definitions for card status flags for GetStatus */
 #define SS_WRPROT	0x0001
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index c05d95cf7d3e..3c4b895dba80 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -53,67 +53,11 @@ config PCMCIA_LOAD_CIS
 
 	  If unsure, say Y.
 
-config CARDBUS
-	tristate "32-bit CardBus support"
-	depends on PCI
-	select YENTA
-	default y
-	help
-	  CardBus is a bus mastering architecture for PC-cards, which allows
-	  for 32 bit PC-cards (the original PCMCIA standard specifies only
-	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
-
-	  To use 32 bit PC-cards, you also need a CardBus compatible host
-	  bridge. Virtually all modern PCMCIA bridges do this, and most of
-	  them are "yenta-compatible", so say Y or M there, too.
-
-	  If unsure, say Y.
-
 config PCMCIA_MAX1600
 	tristate
 
 comment "PC-card bridges"
 
-config YENTA
-	tristate "CardBus yenta-compatible bridge support" if EXPERT
-	depends on PCI && CARDBUS
-	default y
-	help
-	  This option enables support for CardBus host bridges.  Virtually
-	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
-	  the hardware inside your computer that PCMCIA cards are plugged
-	  into.
-
-	  To compile this driver as modules, choose M here: the
-	  module will be called yenta_socket.
-
-	  If unsure, say Y.
-
-config YENTA_O2
-	default y
-	bool "Special initialization for O2Micro bridges" if EXPERT
-	depends on YENTA
-
-config YENTA_RICOH
-	default y
-	bool "Special initialization for Ricoh bridges" if EXPERT
-	depends on YENTA
-
-config YENTA_TI
-	default y
-	bool "Special initialization for TI and EnE bridges" if EXPERT
-	depends on YENTA
-
-config YENTA_ENE_TUNE
-	default y
-	bool "Auto-tune EnE bridges for CB cards" if EXPERT
-	depends on YENTA_TI && CARDBUS
-
-config YENTA_TOSHIBA
-	default y
-	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
-	depends on YENTA
-
 config PD6729
 	tristate "Cirrus PD6729 compatible bridge support"
 	depends on PCMCIA && PCI
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
index 4d0af3e27c1c..481468778f46 100644
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
@@ -14,9 +14,6 @@ obj-$(CONFIG_PCMCIA)				+= pcmcia_rsrc.o
 
 
 # socket drivers
-
-obj-$(CONFIG_YENTA) 				+= yenta_socket.o
-
 obj-$(CONFIG_PD6729)				+= pd6729.o
 obj-$(CONFIG_I82365)				+= i82365.o
 obj-$(CONFIG_I82092)				+= i82092.o
diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c
index a335748bdef5..b74eb77e7489 100644
--- a/drivers/pcmcia/i82092.c
+++ b/drivers/pcmcia/i82092.c
@@ -17,11 +17,11 @@
 #include <linux/device.h>
 
 #include <pcmcia/ss.h>
+#include <pcmcia/i82365.h>
 
 #include <linux/io.h>
 
 #include "i82092aa.h"
-#include "i82365.h"
 
 MODULE_LICENSE("GPL");
 
diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c
index 891ccea2cccb..bb4045b4613a 100644
--- a/drivers/pcmcia/i82365.c
+++ b/drivers/pcmcia/i82365.c
@@ -54,7 +54,7 @@
 #include <linux/isapnp.h>
 
 /* ISA-bus controllers */
-#include "i82365.h"
+#include <pcmcia/i82365.h>
 #include "cirrus.h"
 #include "vg468.h"
 #include "ricoh.h"
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c
index a0a2e7f18356..ec8c093e7fd0 100644
--- a/drivers/pcmcia/pd6729.c
+++ b/drivers/pcmcia/pd6729.c
@@ -18,10 +18,9 @@
 #include <linux/io.h>
 
 #include <pcmcia/ss.h>
-
+#include <pcmcia/i82365.h>
 
 #include "pd6729.h"
-#include "i82365.h"
 #include "cirrus.h"
 
 MODULE_LICENSE("GPL");
diff --git a/drivers/pcmcia/i82365.h b/include/pcmcia/i82365.h
similarity index 100%
rename from drivers/pcmcia/i82365.h
rename to include/pcmcia/i82365.h
