qeth_fs.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /*
  2. * linux/drivers/s390/net/qeth_fs.h
  3. *
  4. * Linux on zSeries OSA Express and HiperSockets support.
  5. *
  6. * This header file contains definitions related to sysfs and procfs.
  7. *
  8. * Copyright 2000,2003 IBM Corporation
  9. * Author(s): Thomas Spatzier <tspat@de.ibm.com>
  10. *
  11. */
  12. #ifndef __QETH_FS_H__
  13. #define __QETH_FS_H__
  14. #define VERSION_QETH_FS_H "$Revision: 1.9 $"
  15. extern const char *VERSION_QETH_PROC_C;
  16. extern const char *VERSION_QETH_SYS_C;
  17. #ifdef CONFIG_PROC_FS
  18. extern int
  19. qeth_create_procfs_entries(void);
  20. extern void
  21. qeth_remove_procfs_entries(void);
  22. #else
  23. static inline int
  24. qeth_create_procfs_entries(void)
  25. {
  26. return 0;
  27. }
  28. static inline void
  29. qeth_remove_procfs_entries(void)
  30. {
  31. }
  32. #endif /* CONFIG_PROC_FS */
  33. extern int
  34. qeth_create_device_attributes(struct device *dev);
  35. extern void
  36. qeth_remove_device_attributes(struct device *dev);
  37. extern int
  38. qeth_create_driver_attributes(void);
  39. extern void
  40. qeth_remove_driver_attributes(void);
  41. /*
  42. * utility functions used in qeth_proc.c and qeth_sys.c
  43. */
  44. static inline const char *
  45. qeth_get_checksum_str(struct qeth_card *card)
  46. {
  47. if (card->options.checksum_type == SW_CHECKSUMMING)
  48. return "sw";
  49. else if (card->options.checksum_type == HW_CHECKSUMMING)
  50. return "hw";
  51. else
  52. return "no";
  53. }
  54. static inline const char *
  55. qeth_get_prioq_str(struct qeth_card *card, char *buf)
  56. {
  57. if (card->qdio.do_prio_queueing == QETH_NO_PRIO_QUEUEING)
  58. sprintf(buf, "always_q_%i", card->qdio.default_out_queue);
  59. else
  60. strcpy(buf, (card->qdio.do_prio_queueing ==
  61. QETH_PRIO_Q_ING_PREC)?
  62. "by_prec." : "by_ToS");
  63. return buf;
  64. }
  65. static inline const char *
  66. qeth_get_bufsize_str(struct qeth_card *card)
  67. {
  68. if (card->qdio.in_buf_size == 16384)
  69. return "16k";
  70. else if (card->qdio.in_buf_size == 24576)
  71. return "24k";
  72. else if (card->qdio.in_buf_size == 32768)
  73. return "32k";
  74. else if (card->qdio.in_buf_size == 40960)
  75. return "40k";
  76. else
  77. return "64k";
  78. }
  79. static inline const char *
  80. qeth_get_cardname(struct qeth_card *card)
  81. {
  82. if (card->info.guestlan) {
  83. switch (card->info.type) {
  84. case QETH_CARD_TYPE_OSAE:
  85. return " Guest LAN QDIO";
  86. case QETH_CARD_TYPE_IQD:
  87. return " Guest LAN Hiper";
  88. default:
  89. return " unknown";
  90. }
  91. } else {
  92. switch (card->info.type) {
  93. case QETH_CARD_TYPE_OSAE:
  94. return " OSD Express";
  95. case QETH_CARD_TYPE_IQD:
  96. return " HiperSockets";
  97. default:
  98. return " unknown";
  99. }
  100. }
  101. return " n/a";
  102. }
  103. /* max length to be returned: 14 */
  104. static inline const char *
  105. qeth_get_cardname_short(struct qeth_card *card)
  106. {
  107. if (card->info.guestlan){
  108. switch (card->info.type){
  109. case QETH_CARD_TYPE_OSAE:
  110. return "GuestLAN QDIO";
  111. case QETH_CARD_TYPE_IQD:
  112. return "GuestLAN Hiper";
  113. default:
  114. return "unknown";
  115. }
  116. } else {
  117. switch (card->info.type) {
  118. case QETH_CARD_TYPE_OSAE:
  119. switch (card->info.link_type) {
  120. case QETH_LINK_TYPE_FAST_ETH:
  121. return "OSD_100";
  122. case QETH_LINK_TYPE_HSTR:
  123. return "HSTR";
  124. case QETH_LINK_TYPE_GBIT_ETH:
  125. return "OSD_1000";
  126. case QETH_LINK_TYPE_10GBIT_ETH:
  127. return "OSD_10GIG";
  128. case QETH_LINK_TYPE_LANE_ETH100:
  129. return "OSD_FE_LANE";
  130. case QETH_LINK_TYPE_LANE_TR:
  131. return "OSD_TR_LANE";
  132. case QETH_LINK_TYPE_LANE_ETH1000:
  133. return "OSD_GbE_LANE";
  134. case QETH_LINK_TYPE_LANE:
  135. return "OSD_ATM_LANE";
  136. default:
  137. return "OSD_Express";
  138. }
  139. case QETH_CARD_TYPE_IQD:
  140. return "HiperSockets";
  141. default:
  142. return "unknown";
  143. }
  144. }
  145. return "n/a";
  146. }
  147. #endif /* __QETH_FS_H__ */