Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(901)

Side by Side Diff: chromeos/compat-wireless/drivers/net/wireless/at76c50x-usb.c

Issue 5326002: Update compat-wireless to 2.6.36-5-spn (Closed) Base URL: http://git.chromium.org/git/kernel.git@master
Patch Set: Fixes for !ACK handling, missing local changes, log message fixes Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * at76c503/at76c505 USB driver 2 * at76c503/at76c505 USB driver
3 * 3 *
4 * Copyright (c) 2002 - 2003 Oliver Kurth 4 * Copyright (c) 2002 - 2003 Oliver Kurth
5 * Copyright (c) 2004 Joerg Albert <joerg.albert@gmx.de> 5 * Copyright (c) 2004 Joerg Albert <joerg.albert@gmx.de>
6 * Copyright (c) 2004 Nick Jones 6 * Copyright (c) 2004 Nick Jones
7 * Copyright (c) 2004 Balint Seeber <n0_5p4m_p13453@hotmail.com> 7 * Copyright (c) 2004 Balint Seeber <n0_5p4m_p13453@hotmail.com>
8 * Copyright (c) 2007 Guido Guenther <agx@sigxcpu.org> 8 * Copyright (c) 2007 Guido Guenther <agx@sigxcpu.org>
9 * Copyright (c) 2007 Kalle Valo <kalle.valo@iki.fi> 9 * Copyright (c) 2007 Kalle Valo <kalle.valo@iki.fi>
10 * Copyright (c) 2010 Sebastian Smolorz <sesmo@gmx.net> 10 * Copyright (c) 2010 Sebastian Smolorz <sesmo@gmx.net>
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 ret = at76_get_hw_cfg(priv->udev, hwcfg, sizeof(hwcfg->r5)); 648 ret = at76_get_hw_cfg(priv->udev, hwcfg, sizeof(hwcfg->r5));
649 if (ret < 0) 649 if (ret < 0)
650 goto exit; 650 goto exit;
651 memcpy(priv->mac_addr, hwcfg->r5.mac_addr, ETH_ALEN); 651 memcpy(priv->mac_addr, hwcfg->r5.mac_addr, ETH_ALEN);
652 priv->regulatory_domain = hwcfg->r5.regulatory_domain; 652 priv->regulatory_domain = hwcfg->r5.regulatory_domain;
653 } 653 }
654 654
655 exit: 655 exit:
656 kfree(hwcfg); 656 kfree(hwcfg);
657 if (ret < 0) 657 if (ret < 0)
658 » » wiphy_err(priv->hw->wiphy, "cannot get hw config (error %d)\n", 658 » » wiphy_err(priv->hw->wiphy, "cannot get HW Config (error %d)\n",
659 ret); 659 ret);
660 660
661 return ret; 661 return ret;
662 } 662 }
663 663
664 static struct reg_domain const *at76_get_reg_domain(u16 code) 664 static struct reg_domain const *at76_get_reg_domain(u16 code)
665 { 665 {
666 int i; 666 int i;
667 static struct reg_domain const fd_tab[] = { 667 static struct reg_domain const fd_tab[] = {
668 { 0x10, "FCC (USA)", 0x7ff }, /* ch 1-11 */ 668 { 0x10, "FCC (USA)", 0x7ff }, /* ch 1-11 */
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 struct mib_mac_addr *m = kmalloc(sizeof(struct mib_mac_addr), 953 struct mib_mac_addr *m = kmalloc(sizeof(struct mib_mac_addr),
954 GFP_KERNEL); 954 GFP_KERNEL);
955 955
956 if (!m) 956 if (!m)
957 return; 957 return;
958 958
959 ret = at76_get_mib(priv->udev, MIB_MAC_ADDR, m, 959 ret = at76_get_mib(priv->udev, MIB_MAC_ADDR, m,
960 sizeof(struct mib_mac_addr)); 960 sizeof(struct mib_mac_addr));
961 if (ret < 0) { 961 if (ret < 0) {
962 wiphy_err(priv->hw->wiphy, 962 wiphy_err(priv->hw->wiphy,
963 » » » "at76_get_mib (mac_addr) failed: %d\n", ret); 963 » » » "at76_get_mib (MAC_ADDR) failed: %d\n", ret);
964 goto exit; 964 goto exit;
965 } 965 }
966 966
967 at76_dbg(DBG_MIB, "%s: MIB MAC_ADDR: mac_addr %pM res 0x%x 0x%x", 967 at76_dbg(DBG_MIB, "%s: MIB MAC_ADDR: mac_addr %pM res 0x%x 0x%x",
968 wiphy_name(priv->hw->wiphy), 968 wiphy_name(priv->hw->wiphy),
969 m->mac_addr, m->res[0], m->res[1]); 969 m->mac_addr, m->res[0], m->res[1]);
970 for (i = 0; i < ARRAY_SIZE(m->group_addr); i++) 970 for (i = 0; i < ARRAY_SIZE(m->group_addr); i++)
971 at76_dbg(DBG_MIB, "%s: MIB MAC_ADDR: group addr %d: %pM, " 971 at76_dbg(DBG_MIB, "%s: MIB MAC_ADDR: group addr %d: %pM, "
972 "status %d", wiphy_name(priv->hw->wiphy), i, 972 "status %d", wiphy_name(priv->hw->wiphy), i,
973 m->group_addr[i], m->group_addr_status[i]); 973 m->group_addr[i], m->group_addr_status[i]);
974 exit: 974 exit:
975 kfree(m); 975 kfree(m);
976 } 976 }
977 977
978 static void at76_dump_mib_mac_wep(struct at76_priv *priv) 978 static void at76_dump_mib_mac_wep(struct at76_priv *priv)
979 { 979 {
980 int i; 980 int i;
981 int ret; 981 int ret;
982 int key_len; 982 int key_len;
983 struct mib_mac_wep *m = kmalloc(sizeof(struct mib_mac_wep), GFP_KERNEL); 983 struct mib_mac_wep *m = kmalloc(sizeof(struct mib_mac_wep), GFP_KERNEL);
984 984
985 if (!m) 985 if (!m)
986 return; 986 return;
987 987
988 ret = at76_get_mib(priv->udev, MIB_MAC_WEP, m, 988 ret = at76_get_mib(priv->udev, MIB_MAC_WEP, m,
989 sizeof(struct mib_mac_wep)); 989 sizeof(struct mib_mac_wep));
990 if (ret < 0) { 990 if (ret < 0) {
991 wiphy_err(priv->hw->wiphy, 991 wiphy_err(priv->hw->wiphy,
992 » » » "at76_get_mib (mac_wep) failed: %d\n", ret); 992 » » » "at76_get_mib (MAC_WEP) failed: %d\n", ret);
993 goto exit; 993 goto exit;
994 } 994 }
995 995
996 at76_dbg(DBG_MIB, "%s: MIB MAC_WEP: priv_invoked %u def_key_id %u " 996 at76_dbg(DBG_MIB, "%s: MIB MAC_WEP: priv_invoked %u def_key_id %u "
997 "key_len %u excl_unencr %u wep_icv_err %u wep_excluded %u " 997 "key_len %u excl_unencr %u wep_icv_err %u wep_excluded %u "
998 "encr_level %u key %d", wiphy_name(priv->hw->wiphy), 998 "encr_level %u key %d", wiphy_name(priv->hw->wiphy),
999 m->privacy_invoked, m->wep_default_key_id, 999 m->privacy_invoked, m->wep_default_key_id,
1000 m->wep_key_mapping_len, m->exclude_unencrypted, 1000 m->wep_key_mapping_len, m->exclude_unencrypted,
1001 le32_to_cpu(m->wep_icv_error_count), 1001 le32_to_cpu(m->wep_icv_error_count),
1002 le32_to_cpu(m->wep_excluded_count), m->encryption_level, 1002 le32_to_cpu(m->wep_excluded_count), m->encryption_level,
(...skipping 16 matching lines...) Expand all
1019 struct mib_mac_mgmt *m = kmalloc(sizeof(struct mib_mac_mgmt), 1019 struct mib_mac_mgmt *m = kmalloc(sizeof(struct mib_mac_mgmt),
1020 GFP_KERNEL); 1020 GFP_KERNEL);
1021 1021
1022 if (!m) 1022 if (!m)
1023 return; 1023 return;
1024 1024
1025 ret = at76_get_mib(priv->udev, MIB_MAC_MGMT, m, 1025 ret = at76_get_mib(priv->udev, MIB_MAC_MGMT, m,
1026 sizeof(struct mib_mac_mgmt)); 1026 sizeof(struct mib_mac_mgmt));
1027 if (ret < 0) { 1027 if (ret < 0) {
1028 wiphy_err(priv->hw->wiphy, 1028 wiphy_err(priv->hw->wiphy,
1029 » » » "at76_get_mib (mac_mgmt) failed: %d\n", ret); 1029 » » » "at76_get_mib (MAC_MGMT) failed: %d\n", ret);
1030 goto exit; 1030 goto exit;
1031 } 1031 }
1032 1032
1033 at76_dbg(DBG_MIB, "%s: MIB MAC_MGMT: beacon_period %d CFP_max_duration " 1033 at76_dbg(DBG_MIB, "%s: MIB MAC_MGMT: beacon_period %d CFP_max_duration "
1034 "%d medium_occupancy_limit %d station_id 0x%x ATIM_window %d " 1034 "%d medium_occupancy_limit %d station_id 0x%x ATIM_window %d "
1035 "CFP_mode %d privacy_opt_impl %d DTIM_period %d CFP_period %d " 1035 "CFP_mode %d privacy_opt_impl %d DTIM_period %d CFP_period %d "
1036 "current_bssid %pM current_essid %s current_bss_type %d " 1036 "current_bssid %pM current_essid %s current_bss_type %d "
1037 "pm_mode %d ibss_change %d res %d " 1037 "pm_mode %d ibss_change %d res %d "
1038 "multi_domain_capability_implemented %d " 1038 "multi_domain_capability_implemented %d "
1039 "international_roaming %d country_string %.3s", 1039 "international_roaming %d country_string %.3s",
(...skipping 15 matching lines...) Expand all
1055 { 1055 {
1056 int ret; 1056 int ret;
1057 struct mib_mac *m = kmalloc(sizeof(struct mib_mac), GFP_KERNEL); 1057 struct mib_mac *m = kmalloc(sizeof(struct mib_mac), GFP_KERNEL);
1058 1058
1059 if (!m) 1059 if (!m)
1060 return; 1060 return;
1061 1061
1062 ret = at76_get_mib(priv->udev, MIB_MAC, m, sizeof(struct mib_mac)); 1062 ret = at76_get_mib(priv->udev, MIB_MAC, m, sizeof(struct mib_mac));
1063 if (ret < 0) { 1063 if (ret < 0) {
1064 wiphy_err(priv->hw->wiphy, 1064 wiphy_err(priv->hw->wiphy,
1065 » » » "at76_get_mib (mac) failed: %d\n", ret); 1065 » » » "at76_get_mib (MAC) failed: %d\n", ret);
1066 goto exit; 1066 goto exit;
1067 } 1067 }
1068 1068
1069 at76_dbg(DBG_MIB, "%s: MIB MAC: max_tx_msdu_lifetime %d " 1069 at76_dbg(DBG_MIB, "%s: MIB MAC: max_tx_msdu_lifetime %d "
1070 "max_rx_lifetime %d frag_threshold %d rts_threshold %d " 1070 "max_rx_lifetime %d frag_threshold %d rts_threshold %d "
1071 "cwmin %d cwmax %d short_retry_time %d long_retry_time %d " 1071 "cwmin %d cwmax %d short_retry_time %d long_retry_time %d "
1072 "scan_type %d scan_channel %d probe_delay %u " 1072 "scan_type %d scan_channel %d probe_delay %u "
1073 "min_channel_time %d max_channel_time %d listen_int %d " 1073 "min_channel_time %d max_channel_time %d listen_int %d "
1074 "desired_ssid %s desired_bssid %pM desired_bsstype %d", 1074 "desired_ssid %s desired_bssid %pM desired_bsstype %d",
1075 wiphy_name(priv->hw->wiphy), 1075 wiphy_name(priv->hw->wiphy),
(...skipping 16 matching lines...) Expand all
1092 { 1092 {
1093 int ret; 1093 int ret;
1094 struct mib_phy *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL); 1094 struct mib_phy *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL);
1095 1095
1096 if (!m) 1096 if (!m)
1097 return; 1097 return;
1098 1098
1099 ret = at76_get_mib(priv->udev, MIB_PHY, m, sizeof(struct mib_phy)); 1099 ret = at76_get_mib(priv->udev, MIB_PHY, m, sizeof(struct mib_phy));
1100 if (ret < 0) { 1100 if (ret < 0) {
1101 wiphy_err(priv->hw->wiphy, 1101 wiphy_err(priv->hw->wiphy,
1102 » » » "at76_get_mib (phy) failed: %d\n", ret); 1102 » » » "at76_get_mib (PHY) failed: %d\n", ret);
1103 goto exit; 1103 goto exit;
1104 } 1104 }
1105 1105
1106 at76_dbg(DBG_MIB, "%s: MIB PHY: ed_threshold %d slot_time %d " 1106 at76_dbg(DBG_MIB, "%s: MIB PHY: ed_threshold %d slot_time %d "
1107 "sifs_time %d preamble_length %d plcp_header_length %d " 1107 "sifs_time %d preamble_length %d plcp_header_length %d "
1108 "mpdu_max_length %d cca_mode_supported %d operation_rate_set " 1108 "mpdu_max_length %d cca_mode_supported %d operation_rate_set "
1109 "0x%x 0x%x 0x%x 0x%x channel_id %d current_cca_mode %d " 1109 "0x%x 0x%x 0x%x 0x%x channel_id %d current_cca_mode %d "
1110 "phy_type %d current_reg_domain %d", 1110 "phy_type %d current_reg_domain %d",
1111 wiphy_name(priv->hw->wiphy), le32_to_cpu(m->ed_threshold), 1111 wiphy_name(priv->hw->wiphy), le32_to_cpu(m->ed_threshold),
1112 le16_to_cpu(m->slot_time), le16_to_cpu(m->sifs_time), 1112 le16_to_cpu(m->slot_time), le16_to_cpu(m->sifs_time),
(...skipping 12 matching lines...) Expand all
1125 { 1125 {
1126 int ret; 1126 int ret;
1127 struct mib_local *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL); 1127 struct mib_local *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL);
1128 1128
1129 if (!m) 1129 if (!m)
1130 return; 1130 return;
1131 1131
1132 ret = at76_get_mib(priv->udev, MIB_LOCAL, m, sizeof(struct mib_local)); 1132 ret = at76_get_mib(priv->udev, MIB_LOCAL, m, sizeof(struct mib_local));
1133 if (ret < 0) { 1133 if (ret < 0) {
1134 wiphy_err(priv->hw->wiphy, 1134 wiphy_err(priv->hw->wiphy,
1135 » » » "at76_get_mib (local) failed: %d\n", ret); 1135 » » » "at76_get_mib (LOCAL) failed: %d\n", ret);
1136 goto exit; 1136 goto exit;
1137 } 1137 }
1138 1138
1139 at76_dbg(DBG_MIB, "%s: MIB LOCAL: beacon_enable %d " 1139 at76_dbg(DBG_MIB, "%s: MIB LOCAL: beacon_enable %d "
1140 "txautorate_fallback %d ssid_size %d promiscuous_mode %d " 1140 "txautorate_fallback %d ssid_size %d promiscuous_mode %d "
1141 "preamble_type %d", wiphy_name(priv->hw->wiphy), 1141 "preamble_type %d", wiphy_name(priv->hw->wiphy),
1142 m->beacon_enable, 1142 m->beacon_enable,
1143 m->txautorate_fallback, m->ssid_size, m->promiscuous_mode, 1143 m->txautorate_fallback, m->ssid_size, m->promiscuous_mode,
1144 m->preamble_type); 1144 m->preamble_type);
1145 exit: 1145 exit:
1146 kfree(m); 1146 kfree(m);
1147 } 1147 }
1148 1148
1149 static void at76_dump_mib_mdomain(struct at76_priv *priv) 1149 static void at76_dump_mib_mdomain(struct at76_priv *priv)
1150 { 1150 {
1151 int ret; 1151 int ret;
1152 struct mib_mdomain *m = kmalloc(sizeof(struct mib_mdomain), GFP_KERNEL); 1152 struct mib_mdomain *m = kmalloc(sizeof(struct mib_mdomain), GFP_KERNEL);
1153 1153
1154 if (!m) 1154 if (!m)
1155 return; 1155 return;
1156 1156
1157 ret = at76_get_mib(priv->udev, MIB_MDOMAIN, m, 1157 ret = at76_get_mib(priv->udev, MIB_MDOMAIN, m,
1158 sizeof(struct mib_mdomain)); 1158 sizeof(struct mib_mdomain));
1159 if (ret < 0) { 1159 if (ret < 0) {
1160 wiphy_err(priv->hw->wiphy, 1160 wiphy_err(priv->hw->wiphy,
1161 » » » "at76_get_mib (mdomain) failed: %d\n", ret); 1161 » » » "at76_get_mib (MDOMAIN) failed: %d\n", ret);
1162 goto exit; 1162 goto exit;
1163 } 1163 }
1164 1164
1165 at76_dbg(DBG_MIB, "%s: MIB MDOMAIN: channel_list %s", 1165 at76_dbg(DBG_MIB, "%s: MIB MDOMAIN: channel_list %s",
1166 wiphy_name(priv->hw->wiphy), 1166 wiphy_name(priv->hw->wiphy),
1167 hex2str(m->channel_list, sizeof(m->channel_list))); 1167 hex2str(m->channel_list, sizeof(m->channel_list)));
1168 1168
1169 at76_dbg(DBG_MIB, "%s: MIB MDOMAIN: tx_powerlevel %s", 1169 at76_dbg(DBG_MIB, "%s: MIB MDOMAIN: tx_powerlevel %s",
1170 wiphy_name(priv->hw->wiphy), 1170 wiphy_name(priv->hw->wiphy),
1171 hex2str(m->tx_powerlevel, sizeof(m->tx_powerlevel))); 1171 hex2str(m->tx_powerlevel, sizeof(m->tx_powerlevel)));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 tasklet_schedule(&priv->rx_tasklet); 1222 tasklet_schedule(&priv->rx_tasklet);
1223 } 1223 }
1224 1224
1225 static int at76_submit_rx_urb(struct at76_priv *priv) 1225 static int at76_submit_rx_urb(struct at76_priv *priv)
1226 { 1226 {
1227 int ret; 1227 int ret;
1228 int size; 1228 int size;
1229 struct sk_buff *skb = priv->rx_skb; 1229 struct sk_buff *skb = priv->rx_skb;
1230 1230
1231 if (!priv->rx_urb) { 1231 if (!priv->rx_urb) {
1232 » » wiphy_err(priv->hw->wiphy, "%s: priv->rx_urb is null\n", 1232 » » wiphy_err(priv->hw->wiphy, "%s: priv->rx_urb is NULL\n",
1233 __func__); 1233 __func__);
1234 return -EFAULT; 1234 return -EFAULT;
1235 } 1235 }
1236 1236
1237 if (!skb) { 1237 if (!skb) {
1238 skb = dev_alloc_skb(sizeof(struct at76_rx_buffer)); 1238 skb = dev_alloc_skb(sizeof(struct at76_rx_buffer));
1239 if (!skb) { 1239 if (!skb) {
1240 wiphy_err(priv->hw->wiphy, 1240 wiphy_err(priv->hw->wiphy,
1241 "cannot allocate rx skbuff\n"); 1241 "cannot allocate rx skbuff\n");
1242 ret = -ENOMEM; 1242 ret = -ENOMEM;
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after
1785 /* send stuff */ 1785 /* send stuff */
1786 at76_dbg_dump(DBG_TX_DATA_CONTENT, tx_buffer, submit_len, 1786 at76_dbg_dump(DBG_TX_DATA_CONTENT, tx_buffer, submit_len,
1787 "%s(): tx_buffer %d bytes:", __func__, submit_len); 1787 "%s(): tx_buffer %d bytes:", __func__, submit_len);
1788 usb_fill_bulk_urb(priv->tx_urb, priv->udev, priv->tx_pipe, tx_buffer, 1788 usb_fill_bulk_urb(priv->tx_urb, priv->udev, priv->tx_pipe, tx_buffer,
1789 submit_len, at76_mac80211_tx_callback, priv); 1789 submit_len, at76_mac80211_tx_callback, priv);
1790 ret = usb_submit_urb(priv->tx_urb, GFP_ATOMIC); 1790 ret = usb_submit_urb(priv->tx_urb, GFP_ATOMIC);
1791 if (ret) { 1791 if (ret) {
1792 wiphy_err(priv->hw->wiphy, "error in tx submit urb: %d\n", ret); 1792 wiphy_err(priv->hw->wiphy, "error in tx submit urb: %d\n", ret);
1793 if (ret == -EINVAL) 1793 if (ret == -EINVAL)
1794 wiphy_err(priv->hw->wiphy, 1794 wiphy_err(priv->hw->wiphy,
1795 » » » » "-einval: tx urb %p hcpriv %p complete %p\n", 1795 » » » » "-EINVAL: tx urb %p hcpriv %p complete %p\n",
1796 priv->tx_urb, 1796 priv->tx_urb,
1797 priv->tx_urb->hcpriv, priv->tx_urb->complete); 1797 priv->tx_urb->hcpriv, priv->tx_urb->complete);
1798 } 1798 }
1799 1799
1800 return 0; 1800 return 0;
1801 } 1801 }
1802 1802
1803 static int at76_mac80211_start(struct ieee80211_hw *hw) 1803 static int at76_mac80211_start(struct ieee80211_hw *hw)
1804 { 1804 {
1805 struct at76_priv *priv = hw->priv; 1805 struct at76_priv *priv = hw->priv;
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
2303 2303
2304 ret = ieee80211_register_hw(priv->hw); 2304 ret = ieee80211_register_hw(priv->hw);
2305 if (ret) { 2305 if (ret) {
2306 printk(KERN_ERR "cannot register mac80211 hw (status %d)!\n", 2306 printk(KERN_ERR "cannot register mac80211 hw (status %d)!\n",
2307 ret); 2307 ret);
2308 goto exit; 2308 goto exit;
2309 } 2309 }
2310 2310
2311 priv->mac80211_registered = 1; 2311 priv->mac80211_registered = 1;
2312 2312
2313 » wiphy_info(priv->hw->wiphy, "usb %s, mac %pm, firmware %d.%d.%d-%d\n", 2313 » wiphy_info(priv->hw->wiphy, "USB %s, MAC %pM, firmware %d.%d.%d-%d\n",
2314 dev_name(&interface->dev), priv->mac_addr, 2314 dev_name(&interface->dev), priv->mac_addr,
2315 priv->fw_version.major, priv->fw_version.minor, 2315 priv->fw_version.major, priv->fw_version.minor,
2316 priv->fw_version.patch, priv->fw_version.build); 2316 priv->fw_version.patch, priv->fw_version.build);
2317 wiphy_info(priv->hw->wiphy, "regulatory domain 0x%02x: %s\n", 2317 wiphy_info(priv->hw->wiphy, "regulatory domain 0x%02x: %s\n",
2318 priv->regulatory_domain, priv->domain->name); 2318 priv->regulatory_domain, priv->domain->name);
2319 2319
2320 exit: 2320 exit:
2321 return ret; 2321 return ret;
2322 } 2322 }
2323 2323
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
2531 MODULE_AUTHOR("Joerg Albert <joerg.albert@gmx.de>"); 2531 MODULE_AUTHOR("Joerg Albert <joerg.albert@gmx.de>");
2532 MODULE_AUTHOR("Alex <alex@foogod.com>"); 2532 MODULE_AUTHOR("Alex <alex@foogod.com>");
2533 MODULE_AUTHOR("Nick Jones"); 2533 MODULE_AUTHOR("Nick Jones");
2534 MODULE_AUTHOR("Balint Seeber <n0_5p4m_p13453@hotmail.com>"); 2534 MODULE_AUTHOR("Balint Seeber <n0_5p4m_p13453@hotmail.com>");
2535 MODULE_AUTHOR("Pavel Roskin <proski@gnu.org>"); 2535 MODULE_AUTHOR("Pavel Roskin <proski@gnu.org>");
2536 MODULE_AUTHOR("Guido Guenther <agx@sigxcpu.org>"); 2536 MODULE_AUTHOR("Guido Guenther <agx@sigxcpu.org>");
2537 MODULE_AUTHOR("Kalle Valo <kalle.valo@iki.fi>"); 2537 MODULE_AUTHOR("Kalle Valo <kalle.valo@iki.fi>");
2538 MODULE_AUTHOR("Sebastian Smolorz <sesmo@gmx.net>"); 2538 MODULE_AUTHOR("Sebastian Smolorz <sesmo@gmx.net>");
2539 MODULE_DESCRIPTION(DRIVER_DESC); 2539 MODULE_DESCRIPTION(DRIVER_DESC);
2540 MODULE_LICENSE("GPL"); 2540 MODULE_LICENSE("GPL");
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698