Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (28 commits) sysfs: Shadow directory support Driver Core: Increase the default timeout value of the firmware subsystem Driver core: allow to delay the uevent at device creation time Driver core: add device_type to struct device Driver core: add uevent vars for devices of a class SYSFS: Fix missing include of list.h in sysfs.h HOWTO: Add a reference to Harbison and Steele sysfs: error handling in sysfs, fill_read_buffer() kobject: kobject_put cleanup sysfs: kobject_put cleanup sysfs: suppress lockdep warnings Driver core: fix race in sysfs between sysfs_remove_file() and read()/write() driver core: Change function call order in device_bind_driver(). driver core: Don't stop probing on ->probe errors. driver core fixes: device_register() retval check in platform.c driver core fixes: make_class_name() retval checks /sys/modules/*/holders USB: add the sysfs driver name to all modules SERIO: add the sysfs driver name to all modules PCI: add the sysfs driver name to all modules ...
This commit is contained in:
@ -27,8 +27,6 @@
|
||||
|
||||
#include "macb.h"
|
||||
|
||||
#define to_net_dev(class) container_of(class, struct net_device, class_dev)
|
||||
|
||||
#define RX_BUFFER_SIZE 128
|
||||
#define RX_RING_SIZE 512
|
||||
#define RX_RING_BYTES (sizeof(struct dma_desc) * RX_RING_SIZE)
|
||||
@ -945,10 +943,10 @@ static int macb_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t macb_mii_show(const struct class_device *cd, char *buf,
|
||||
static ssize_t macb_mii_show(const struct device *_dev, char *buf,
|
||||
unsigned long addr)
|
||||
{
|
||||
struct net_device *dev = to_net_dev(cd);
|
||||
struct net_device *dev = to_net_dev(_dev);
|
||||
struct macb *bp = netdev_priv(dev);
|
||||
ssize_t ret = -EINVAL;
|
||||
|
||||
@ -962,11 +960,13 @@ static ssize_t macb_mii_show(const struct class_device *cd, char *buf,
|
||||
}
|
||||
|
||||
#define MII_ENTRY(name, addr) \
|
||||
static ssize_t show_##name(struct class_device *cd, char *buf) \
|
||||
static ssize_t show_##name(struct device *_dev, \
|
||||
struct device_attribute *attr, \
|
||||
char *buf) \
|
||||
{ \
|
||||
return macb_mii_show(cd, buf, addr); \
|
||||
return macb_mii_show(_dev, buf, addr); \
|
||||
} \
|
||||
static CLASS_DEVICE_ATTR(name, S_IRUGO, show_##name, NULL)
|
||||
static DEVICE_ATTR(name, S_IRUGO, show_##name, NULL)
|
||||
|
||||
MII_ENTRY(bmcr, MII_BMCR);
|
||||
MII_ENTRY(bmsr, MII_BMSR);
|
||||
@ -977,13 +977,13 @@ MII_ENTRY(lpa, MII_LPA);
|
||||
MII_ENTRY(expansion, MII_EXPANSION);
|
||||
|
||||
static struct attribute *macb_mii_attrs[] = {
|
||||
&class_device_attr_bmcr.attr,
|
||||
&class_device_attr_bmsr.attr,
|
||||
&class_device_attr_physid1.attr,
|
||||
&class_device_attr_physid2.attr,
|
||||
&class_device_attr_advertise.attr,
|
||||
&class_device_attr_lpa.attr,
|
||||
&class_device_attr_expansion.attr,
|
||||
&dev_attr_bmcr.attr,
|
||||
&dev_attr_bmsr.attr,
|
||||
&dev_attr_physid1.attr,
|
||||
&dev_attr_physid2.attr,
|
||||
&dev_attr_advertise.attr,
|
||||
&dev_attr_lpa.attr,
|
||||
&dev_attr_expansion.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
@ -994,17 +994,17 @@ static struct attribute_group macb_mii_group = {
|
||||
|
||||
static void macb_unregister_sysfs(struct net_device *net)
|
||||
{
|
||||
struct class_device *class_dev = &net->class_dev;
|
||||
struct device *_dev = &net->dev;
|
||||
|
||||
sysfs_remove_group(&class_dev->kobj, &macb_mii_group);
|
||||
sysfs_remove_group(&_dev->kobj, &macb_mii_group);
|
||||
}
|
||||
|
||||
static int macb_register_sysfs(struct net_device *net)
|
||||
{
|
||||
struct class_device *class_dev = &net->class_dev;
|
||||
struct device *_dev = &net->dev;
|
||||
int ret;
|
||||
|
||||
ret = sysfs_create_group(&class_dev->kobj, &macb_mii_group);
|
||||
ret = sysfs_create_group(&_dev->kobj, &macb_mii_group);
|
||||
if (ret)
|
||||
printk(KERN_WARNING
|
||||
"%s: sysfs mii attribute registration failed: %d\n",
|
||||
|
Reference in New Issue
Block a user