qeth_fs.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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.10 $"
  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_device_attributes_osn(struct device *dev);
  39. extern void
  40. qeth_remove_device_attributes_osn(struct device *dev);
  41. extern int
  42. qeth_create_driver_attributes(void);
  43. extern void
  44. qeth_remove_driver_attributes(void);
  45. /*
  46. * utility functions used in qeth_proc.c and qeth_sys.c
  47. */
  48. static inline const char *
  49. qeth_get_checksum_str(struct qeth_card *card)
  50. {
  51. if (card->options.checksum_type == SW_CHECKSUMMING)
  52. return "sw";
  53. else if (card->options.checksum_type == HW_CHECKSUMMING)
  54. return "hw";
  55. else
  56. return "no";
  57. }
  58. static inline const char *
  59. qeth_get_prioq_str(struct qeth_card *card, char *buf)
  60. {
  61. if (card->qdio.do_prio_queueing == QETH_NO_PRIO_QUEUEING)
  62. sprintf(buf, "always_q_%i", card->qdio.default_out_queue);
  63. else
  64. strcpy(buf, (card->qdio.do_prio_queueing ==
  65. QETH_PRIO_Q_ING_PREC)?
  66. "by_prec." : "by_ToS");
  67. return buf;
  68. }
  69. static inline const char *
  70. qeth_get_bufsize_str(struct qeth_card *card)
  71. {
  72. if (card->qdio.in_buf_size == 16384)
  73. return "16k";
  74. else if (card->qdio.in_buf_size == 24576)
  75. return "24k";
  76. else if (card->qdio.in_buf_size == 32768)
  77. return "32k";
  78. else if (card->qdio.in_buf_size == 40960)
  79. return "40k";
  80. else
  81. return "64k";
  82. }
  83. static inline const char *
  84. qeth_get_cardname(struct qeth_card *card)
  85. {
  86. if (card->info.guestlan) {
  87. switch (card->info.type) {
  88. case QETH_CARD_TYPE_OSAE:
  89. return " Guest LAN QDIO";
  90. case QETH_CARD_TYPE_IQD:
  91. return " Guest LAN Hiper";
  92. default:
  93. return " unknown";
  94. }
  95. } else {
  96. switch (card->info.type) {
  97. case QETH_CARD_TYPE_OSAE:
  98. return " OSD Express";
  99. case QETH_CARD_TYPE_IQD:
  100. return " HiperSockets";
  101. case QETH_CARD_TYPE_OSN:
  102. return " OSN QDIO";
  103. default:
  104. return " unknown";
  105. }
  106. }
  107. return " n/a";
  108. }
  109. /* max length to be returned: 14 */
  110. static inline const char *
  111. qeth_get_cardname_short(struct qeth_card *card)
  112. {
  113. if (card->info.guestlan){
  114. switch (card->info.type){
  115. case QETH_CARD_TYPE_OSAE:
  116. return "GuestLAN QDIO";
  117. case QETH_CARD_TYPE_IQD:
  118. return "GuestLAN Hiper";
  119. default:
  120. return "unknown";
  121. }
  122. } else {
  123. switch (card->info.type) {
  124. case QETH_CARD_TYPE_OSAE:
  125. switch (card->info.link_type) {
  126. case QETH_LINK_TYPE_FAST_ETH:
  127. return "OSD_100";
  128. case QETH_LINK_TYPE_HSTR:
  129. return "HSTR";
  130. case QETH_LINK_TYPE_GBIT_ETH:
  131. return "OSD_1000";
  132. case QETH_LINK_TYPE_10GBIT_ETH:
  133. return "OSD_10GIG";
  134. case QETH_LINK_TYPE_LANE_ETH100:
  135. return "OSD_FE_LANE";
  136. case QETH_LINK_TYPE_LANE_TR:
  137. return "OSD_TR_LANE";
  138. case QETH_LINK_TYPE_LANE_ETH1000:
  139. return "OSD_GbE_LANE";
  140. case QETH_LINK_TYPE_LANE:
  141. return "OSD_ATM_LANE";
  142. default:
  143. return "OSD_Express";
  144. }
  145. case QETH_CARD_TYPE_IQD:
  146. return "HiperSockets";
  147. case QETH_CARD_TYPE_OSN:
  148. return "OSN";
  149. default:
  150. return "unknown";
  151. }
  152. }
  153. return "n/a";
  154. }
  155. #endif /* __QETH_FS_H__ */