From: Arnd Bergmann <arnd@kernel.org>
To: Dominik Brodowski <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
Bjorn Helgaas <bhelgaas@google.com>,
Florian Fainelli <f.fainelli@gmail.com>,
H Hartley Sweeten <hsweeten@visionengravers.com>,
Ian Abbott <abbotti@mev.co.uk>, Jakub Kicinski <kuba@kernel.org>,
Kevin Cernekee <cernekee@gmail.com>,
Lukas Wunner <lukas@wunner.de>,
Manuel Lauss <manuel.lauss@gmail.com>,
Oliver Hartkopp <socketcan@hartkopp.net>,
Olof Johansson <olof@lixom.net>,
Robert Jarzmik <robert.jarzmik@free.fr>,
YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
bcm-kernel-feedback-list@broadcom.com,
linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org,
linux-mips@vger.kernel.org, linux-pci@vger.kernel.org,
linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: [RFC 6/6] pci: hotplug: move cardbus code from drivers/pcmcia
Date: Mon, 27 Feb 2023 14:34:57 +0100 [thread overview]
Message-ID: <20230227133457.431729-7-arnd@kernel.org> (raw)
In-Reply-To: <20230227133457.431729-1-arnd@kernel.org>
From: Arnd Bergmann <arnd@arndb.de>
16-bit pcmcia and 32-bit cardbus code are now completely separate
code bases, with the cardbus implementation just interfacig with
the PCI core for hotplugging cards, so move it to the same place
as the other PCI hotplug drivers.
The pcmcia/i82365.h header file is the only bit that contains shared
definitions for common registers.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/Makefile | 2 +-
drivers/pci/hotplug/Kconfig | 56 +++++++++++++++++++
drivers/pci/hotplug/Makefile | 1 +
.../{pcmcia => pci/hotplug}/yenta_socket.c | 2 +-
drivers/pcmcia/Kconfig | 56 -------------------
drivers/pcmcia/Makefile | 3 -
drivers/pcmcia/i82092.c | 2 +-
drivers/pcmcia/i82365.c | 2 +-
drivers/pcmcia/pd6729.c | 3 +-
{drivers => include}/pcmcia/i82365.h | 0
10 files changed, 62 insertions(+), 65 deletions(-)
rename drivers/{pcmcia => pci/hotplug}/yenta_socket.c (99%)
rename {drivers => include}/pcmcia/i82365.h (100%)
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
--
2.39.2
next prev parent reply other threads:[~2023-02-27 13:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-27 13:34 [RFC 0/6] pcmcia: separate 16-bit support from cardbus Arnd Bergmann
2023-02-27 13:34 ` [RFC 1/6] pccard: remove bcm63xx socket driver Arnd Bergmann
2023-02-27 21:33 ` Florian Fainelli
2023-03-14 8:53 ` Maxime Bizon
2023-02-27 13:34 ` [RFC 2/6] pccard: split cardbus support from pcmcia Arnd Bergmann
2023-02-27 13:34 ` [RFC 3/6] yenta_socket: copy pccard core code into driver Arnd Bergmann
2023-02-27 13:34 ` [RFC 4/6] yenta_socket: remove dead code Arnd Bergmann
2023-02-27 13:34 ` [RFC 5/6] pccard: drop remnants of cardbus support Arnd Bergmann
2023-02-27 13:34 ` Arnd Bergmann [this message]
2023-02-27 19:07 ` [RFC 0/6] pcmcia: separate 16-bit support from cardbus Oliver Hartkopp
2023-02-27 19:53 ` Arnd Bergmann
2023-02-27 20:32 ` Oliver Hartkopp
2023-02-27 20:54 ` Marc Kleine-Budde
2023-02-27 20:15 ` Russell King (Oracle)
2023-02-27 21:04 ` Arnd Bergmann
2023-02-28 22:45 ` David Laight
2023-02-28 22:55 ` David Laight
2023-02-27 20:23 ` Larry Finger
2023-02-27 20:38 ` Arnd Bergmann
2023-02-27 20:59 ` Russell King (Oracle)
2023-02-27 21:09 ` Larry Finger
2023-02-27 21:30 ` Arnd Bergmann
2023-02-28 3:57 ` Larry Finger
2023-02-28 8:37 ` Arnd Bergmann
2023-03-01 1:13 ` Larry Finger
2023-03-01 8:01 ` Arnd Bergmann
2023-02-28 21:35 ` Ondrej Zary
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230227133457.431729-7-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=abbotti@mev.co.uk \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=cernekee@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=hsweeten@visionengravers.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=lukas@wunner.de \
--cc=manuel.lauss@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olof@lixom.net \
--cc=robert.jarzmik@free.fr \
--cc=socketcan@hartkopp.net \
--cc=yokota@netlab.is.tsukuba.ac.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).