Yinghai Lu wrote: > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -547,6 +547,8 @@ static void klist_children_put(struct klist_node *n) > > void device_initialize(struct device *dev) > { > + int node; > + > kobj_set_kset_s(dev, devices_subsys); > kobject_init(&dev->kobj); > klist_init(&dev->klist_children, klist_children_get, > @@ -557,7 +559,9 @@ void device_initialize(struct device *dev) > spin_lock_init(&dev->devres_lock); > INIT_LIST_HEAD(&dev->devres_head); > device_init_wakeup(dev, 0); > - set_dev_node(dev, -1); > + > + node = dev->parent ? dev_to_node(dev->parent) : -1; > + set_dev_node(dev, node); > }
Two remarks: - device_add() is perhaps a better place to do this. Otherwise you had to change code like drivers/input/gameport/gameport.c:: gameport_init_port() which sets the parent device *after* the call to device_initialize(). - device_move() should update the device.node. -- Stefan Richter -=====-=-=== -=== -=-== http://arcgraph.de/sr/ - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html