Commit 4e2b5aa5 authored by Julian Wiedmann's avatar Julian Wiedmann Committed by David S. Miller

s390/qeth: make OSN / OSX support configurable

The last machine generation that supports OSN is z13, and OSX is only
supported up to z14. Allow users and distros to decide whether they
still need support for these device types.
Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5f4019a8
...@@ -91,6 +91,22 @@ config QETH_L3 ...@@ -91,6 +91,22 @@ config QETH_L3
To compile as a module choose M. The module name is qeth_l3. To compile as a module choose M. The module name is qeth_l3.
If unsure, choose Y. If unsure, choose Y.
config QETH_OSN
def_bool !HAVE_MARCH_Z14_FEATURES
prompt "qeth OSN device support"
depends on QETH
help
This enables the qeth driver to support devices in OSN mode.
If unsure, choose N.
config QETH_OSX
def_bool !HAVE_MARCH_Z15_FEATURES
prompt "qeth OSX device support"
depends on QETH
help
This enables the qeth driver to support devices in OSX mode.
If unsure, choose N.
config CCWGROUP config CCWGROUP
tristate tristate
default (LCS || CTCM || QETH) default (LCS || CTCM || QETH)
......
...@@ -4951,12 +4951,16 @@ static struct ccw_device_id qeth_ids[] = { ...@@ -4951,12 +4951,16 @@ static struct ccw_device_id qeth_ids[] = {
.driver_info = QETH_CARD_TYPE_OSD}, .driver_info = QETH_CARD_TYPE_OSD},
{CCW_DEVICE_DEVTYPE(0x1731, 0x05, 0x1732, 0x05), {CCW_DEVICE_DEVTYPE(0x1731, 0x05, 0x1732, 0x05),
.driver_info = QETH_CARD_TYPE_IQD}, .driver_info = QETH_CARD_TYPE_IQD},
#ifdef CONFIG_QETH_OSN
{CCW_DEVICE_DEVTYPE(0x1731, 0x06, 0x1732, 0x06), {CCW_DEVICE_DEVTYPE(0x1731, 0x06, 0x1732, 0x06),
.driver_info = QETH_CARD_TYPE_OSN}, .driver_info = QETH_CARD_TYPE_OSN},
#endif
{CCW_DEVICE_DEVTYPE(0x1731, 0x02, 0x1732, 0x03), {CCW_DEVICE_DEVTYPE(0x1731, 0x02, 0x1732, 0x03),
.driver_info = QETH_CARD_TYPE_OSM}, .driver_info = QETH_CARD_TYPE_OSM},
#ifdef CONFIG_QETH_OSX
{CCW_DEVICE_DEVTYPE(0x1731, 0x02, 0x1732, 0x02), {CCW_DEVICE_DEVTYPE(0x1731, 0x02, 0x1732, 0x02),
.driver_info = QETH_CARD_TYPE_OSX}, .driver_info = QETH_CARD_TYPE_OSX},
#endif
{}, {},
}; };
MODULE_DEVICE_TABLE(ccw, qeth_ids); MODULE_DEVICE_TABLE(ccw, qeth_ids);
......
...@@ -74,8 +74,19 @@ enum qeth_card_types { ...@@ -74,8 +74,19 @@ enum qeth_card_types {
#define IS_IQD(card) ((card)->info.type == QETH_CARD_TYPE_IQD) #define IS_IQD(card) ((card)->info.type == QETH_CARD_TYPE_IQD)
#define IS_OSD(card) ((card)->info.type == QETH_CARD_TYPE_OSD) #define IS_OSD(card) ((card)->info.type == QETH_CARD_TYPE_OSD)
#define IS_OSM(card) ((card)->info.type == QETH_CARD_TYPE_OSM) #define IS_OSM(card) ((card)->info.type == QETH_CARD_TYPE_OSM)
#ifdef CONFIG_QETH_OSN
#define IS_OSN(card) ((card)->info.type == QETH_CARD_TYPE_OSN) #define IS_OSN(card) ((card)->info.type == QETH_CARD_TYPE_OSN)
#else
#define IS_OSN(card) false
#endif
#ifdef CONFIG_QETH_OSX
#define IS_OSX(card) ((card)->info.type == QETH_CARD_TYPE_OSX) #define IS_OSX(card) ((card)->info.type == QETH_CARD_TYPE_OSX)
#else
#define IS_OSX(card) false
#endif
#define IS_VM_NIC(card) ((card)->info.is_vm_nic) #define IS_VM_NIC(card) ((card)->info.is_vm_nic)
#define QETH_MPC_DIFINFO_LEN_INDICATES_LINK_TYPE 0x18 #define QETH_MPC_DIFINFO_LEN_INDICATES_LINK_TYPE 0x18
......
...@@ -869,6 +869,7 @@ struct qeth_discipline qeth_l2_discipline = { ...@@ -869,6 +869,7 @@ struct qeth_discipline qeth_l2_discipline = {
}; };
EXPORT_SYMBOL_GPL(qeth_l2_discipline); EXPORT_SYMBOL_GPL(qeth_l2_discipline);
#ifdef CONFIG_QETH_OSN
static void qeth_osn_assist_cb(struct qeth_card *card, static void qeth_osn_assist_cb(struct qeth_card *card,
struct qeth_cmd_buffer *iob, struct qeth_cmd_buffer *iob,
unsigned int data_length) unsigned int data_length)
...@@ -945,6 +946,7 @@ void qeth_osn_deregister(struct net_device *dev) ...@@ -945,6 +946,7 @@ void qeth_osn_deregister(struct net_device *dev)
return; return;
} }
EXPORT_SYMBOL(qeth_osn_deregister); EXPORT_SYMBOL(qeth_osn_deregister);
#endif
/* SETBRIDGEPORT support, async notifications */ /* SETBRIDGEPORT support, async notifications */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment