Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6] / drivers / net / wireless / bcm43xx / bcm43xx_ethtool.c
1 /*
2
3   Broadcom BCM43xx wireless driver
4
5   ethtool support
6
7   Copyright (c) 2006 Jason Lunz <lunz@falooley.org>
8
9   Some code in this file is derived from the 8139too.c driver
10   Copyright (C) 2002 Jeff Garzik
11
12   This program is free software; you can redistribute it and/or modify
13   it under the terms of the GNU General Public License as published by
14   the Free Software Foundation; either version 2 of the License, or
15   (at your option) any later version.
16
17   This program is distributed in the hope that it will be useful,
18   but WITHOUT ANY WARRANTY; without even the implied warranty of
19   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20   GNU General Public License for more details.
21
22   You should have received a copy of the GNU General Public License
23   along with this program; see the file COPYING.  If not, write to
24   the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
25   Boston, MA 02110-1301, USA.
26
27 */
28
29 #include "bcm43xx.h"
30 #include "bcm43xx_ethtool.h"
31
32 #include <linux/netdevice.h>
33 #include <linux/pci.h>
34 #include <linux/string.h>
35 #include <linux/utsname.h>
36
37
38 static void bcm43xx_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
39 {
40         struct bcm43xx_private *bcm = bcm43xx_priv(dev);
41
42         strncpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
43         strncpy(info->version, utsname()->release, sizeof(info->version));
44         strncpy(info->bus_info, pci_name(bcm->pci_dev), ETHTOOL_BUSINFO_LEN);
45 }
46
47 const struct ethtool_ops bcm43xx_ethtool_ops = {
48         .get_drvinfo = bcm43xx_get_drvinfo,
49         .get_link = ethtool_op_get_link,
50 };