| /* |
| * 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__ |
| |
| #define VERSION_QETH_FS_H "$Revision: 1.10 $" |
| |
| extern const char *VERSION_QETH_PROC_C; |
| extern const char *VERSION_QETH_SYS_C; |
| |
| #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__ */ |