|  | /* | 
|  | * linux/drivers/s390/net/qeth_fs.h | 
|  | * | 
|  | * Linux on zSeries OSA Express and HiperSockets support. | 
|  | * | 
|  | * This header file contains definitions related to sysfs and procfs. | 
|  | * | 
|  | * Copyright 2000,2003 IBM Corporation | 
|  | * Author(s): Thomas Spatzier <tspat@de.ibm.com> | 
|  | * | 
|  | */ | 
|  | #ifndef __QETH_FS_H__ | 
|  | #define __QETH_FS_H__ | 
|  |  | 
|  | #ifdef CONFIG_PROC_FS | 
|  | extern int | 
|  | qeth_create_procfs_entries(void); | 
|  |  | 
|  | extern void | 
|  | qeth_remove_procfs_entries(void); | 
|  | #else | 
|  | static inline int | 
|  | qeth_create_procfs_entries(void) | 
|  | { | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | static inline void | 
|  | qeth_remove_procfs_entries(void) | 
|  | { | 
|  | } | 
|  | #endif /* CONFIG_PROC_FS */ | 
|  |  | 
|  | extern int | 
|  | qeth_create_device_attributes(struct device *dev); | 
|  |  | 
|  | extern void | 
|  | qeth_remove_device_attributes(struct device *dev); | 
|  |  | 
|  | extern int | 
|  | qeth_create_device_attributes_osn(struct device *dev); | 
|  |  | 
|  | extern void | 
|  | qeth_remove_device_attributes_osn(struct device *dev); | 
|  |  | 
|  | extern int | 
|  | qeth_create_driver_attributes(void); | 
|  |  | 
|  | extern void | 
|  | qeth_remove_driver_attributes(void); | 
|  |  | 
|  | /* | 
|  | * utility functions used in qeth_proc.c and qeth_sys.c | 
|  | */ | 
|  |  | 
|  | static inline const char * | 
|  | qeth_get_checksum_str(struct qeth_card *card) | 
|  | { | 
|  | if (card->options.checksum_type == SW_CHECKSUMMING) | 
|  | return "sw"; | 
|  | else if (card->options.checksum_type == HW_CHECKSUMMING) | 
|  | return "hw"; | 
|  | else | 
|  | return "no"; | 
|  | } | 
|  |  | 
|  | static inline const char * | 
|  | qeth_get_prioq_str(struct qeth_card *card, char *buf) | 
|  | { | 
|  | if (card->qdio.do_prio_queueing == QETH_NO_PRIO_QUEUEING) | 
|  | sprintf(buf, "always_q_%i", card->qdio.default_out_queue); | 
|  | else | 
|  | strcpy(buf, (card->qdio.do_prio_queueing == | 
|  | QETH_PRIO_Q_ING_PREC)? | 
|  | "by_prec." : "by_ToS"); | 
|  | return buf; | 
|  | } | 
|  |  | 
|  | static inline const char * | 
|  | qeth_get_bufsize_str(struct qeth_card *card) | 
|  | { | 
|  | if (card->qdio.in_buf_size == 16384) | 
|  | return "16k"; | 
|  | else if (card->qdio.in_buf_size == 24576) | 
|  | return "24k"; | 
|  | else if (card->qdio.in_buf_size == 32768) | 
|  | return "32k"; | 
|  | else if (card->qdio.in_buf_size == 40960) | 
|  | return "40k"; | 
|  | else | 
|  | return "64k"; | 
|  | } | 
|  |  | 
|  | static inline const char * | 
|  | qeth_get_cardname(struct qeth_card *card) | 
|  | { | 
|  | if (card->info.guestlan) { | 
|  | switch (card->info.type) { | 
|  | case QETH_CARD_TYPE_OSAE: | 
|  | return " Guest LAN QDIO"; | 
|  | case QETH_CARD_TYPE_IQD: | 
|  | return " Guest LAN Hiper"; | 
|  | default: | 
|  | return " unknown"; | 
|  | } | 
|  | } else { | 
|  | switch (card->info.type) { | 
|  | case QETH_CARD_TYPE_OSAE: | 
|  | return " OSD Express"; | 
|  | case QETH_CARD_TYPE_IQD: | 
|  | return " HiperSockets"; | 
|  | case QETH_CARD_TYPE_OSN: | 
|  | return " OSN QDIO"; | 
|  | default: | 
|  | return " unknown"; | 
|  | } | 
|  | } | 
|  | return " n/a"; | 
|  | } | 
|  |  | 
|  | /* max length to be returned: 14 */ | 
|  | static inline const char * | 
|  | qeth_get_cardname_short(struct qeth_card *card) | 
|  | { | 
|  | if (card->info.guestlan){ | 
|  | switch (card->info.type){ | 
|  | case QETH_CARD_TYPE_OSAE: | 
|  | return "GuestLAN QDIO"; | 
|  | case QETH_CARD_TYPE_IQD: | 
|  | return "GuestLAN Hiper"; | 
|  | default: | 
|  | return "unknown"; | 
|  | } | 
|  | } else { | 
|  | switch (card->info.type) { | 
|  | case QETH_CARD_TYPE_OSAE: | 
|  | switch (card->info.link_type) { | 
|  | case QETH_LINK_TYPE_FAST_ETH: | 
|  | return "OSD_100"; | 
|  | case QETH_LINK_TYPE_HSTR: | 
|  | return "HSTR"; | 
|  | case QETH_LINK_TYPE_GBIT_ETH: | 
|  | return "OSD_1000"; | 
|  | case QETH_LINK_TYPE_10GBIT_ETH: | 
|  | return "OSD_10GIG"; | 
|  | case QETH_LINK_TYPE_LANE_ETH100: | 
|  | return "OSD_FE_LANE"; | 
|  | case QETH_LINK_TYPE_LANE_TR: | 
|  | return "OSD_TR_LANE"; | 
|  | case QETH_LINK_TYPE_LANE_ETH1000: | 
|  | return "OSD_GbE_LANE"; | 
|  | case QETH_LINK_TYPE_LANE: | 
|  | return "OSD_ATM_LANE"; | 
|  | default: | 
|  | return "OSD_Express"; | 
|  | } | 
|  | case QETH_CARD_TYPE_IQD: | 
|  | return "HiperSockets"; | 
|  | case QETH_CARD_TYPE_OSN: | 
|  | return "OSN"; | 
|  | default: | 
|  | return "unknown"; | 
|  | } | 
|  | } | 
|  | return "n/a"; | 
|  | } | 
|  |  | 
|  | #endif /* __QETH_FS_H__ */ |