diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-12-17 22:55:33 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-12-17 22:55:33 -0800 |
| commit | e53fc90a61e64318f64adbde4f52415066a5eb0b (patch) | |
| tree | 7435033ea9827ce3fffc80daa33a1bf949287792 /f2.patch | |
| parent | edf35e8c84e63f5374d7e098c719a4fb6694909f (diff) | |
| download | patches-e53fc90a61e64318f64adbde4f52415066a5eb0b.tar.gz | |
whole lot more kobject fun...
Diffstat (limited to 'f2.patch')
| -rw-r--r-- | f2.patch | 374 |
1 files changed, 0 insertions, 374 deletions
diff --git a/f2.patch b/f2.patch deleted file mode 100644 index bf439988927737..00000000000000 --- a/f2.patch +++ /dev/null @@ -1,374 +0,0 @@ ---- - arch/cris/arch-v32/drivers/iop_fw_load.c | 11 +++++++++++ - block/elevator.c | 8 ++------ - block/ll_rw_blk.c | 9 +++------ - drivers/base/class.c | 10 +++------- - drivers/base/core.c | 8 +++----- - drivers/md/md.c | 13 ++++--------- - drivers/net/iseries_veth.c | 17 +++++------------ - fs/char_dev.c | 6 ++---- - kernel/module.c | 14 ++++++-------- - kernel/params.c | 6 ++---- - kernel/user.c | 9 ++++----- - mm/slub.c | 9 ++++----- - net/bridge/br_if.c | 10 +++------- - 13 files changed, 52 insertions(+), 78 deletions(-) - ---- a/arch/cris/arch-v32/drivers/iop_fw_load.c -+++ b/arch/cris/arch-v32/drivers/iop_fw_load.c -@@ -20,6 +20,9 @@ - - #define IOP_TIMEOUT 100 - -+#error "This driver is broken with regard to its driver core usage." -+#error "Please contact <greg@kroah.com> for details on how to fix it properly." -+ - static struct device iop_spu_device[2] = { - { .bus_id = "iop-spu0", }, - { .bus_id = "iop-spu1", }, -@@ -192,6 +195,13 @@ int iop_start_mpu(unsigned int start_add - - static int __init iop_fw_load_init(void) - { -+#if 0 -+ /* -+ * static struct devices can not be added directly to sysfs by ignoring -+ * the driver model infrastructure. To fix this properly, please use -+ * the platform_bus to register these devices to be able to properly -+ * use the firmware infrastructure. -+ */ - device_initialize(&iop_spu_device[0]); - kobject_set_name(&iop_spu_device[0].kobj, "iop-spu0"); - kobject_add(&iop_spu_device[0].kobj); -@@ -201,6 +211,7 @@ static int __init iop_fw_load_init(void) - device_initialize(&iop_mpu_device); - kobject_set_name(&iop_mpu_device.kobj, "iop-mpu"); - kobject_add(&iop_mpu_device.kobj); -+#endif - return 0; - } - ---- a/block/elevator.c -+++ b/block/elevator.c -@@ -185,9 +185,7 @@ static elevator_t *elevator_alloc(struct - - eq->ops = &e->ops; - eq->elevator_type = e; -- kobject_init(&eq->kobj); -- kobject_set_name(&eq->kobj, "%s", "iosched"); -- eq->kobj.ktype = &elv_ktype; -+ kobject_init_ng(&eq->kobj, &elv_ktype); - mutex_init(&eq->sysfs_lock); - - eq->hash = kmalloc_node(sizeof(struct hlist_head) * ELV_HASH_ENTRIES, -@@ -931,9 +929,7 @@ int elv_register_queue(struct request_qu - elevator_t *e = q->elevator; - int error; - -- e->kobj.parent = &q->kobj; -- -- error = kobject_add(&e->kobj); -+ error = kobject_add_ng(&e->kobj, &q->kobj, "%s", "iosched"); - if (!error) { - struct elv_fs_entry *attr = e->elevator_type->elevator_attrs; - if (attr) { ---- a/block/ll_rw_blk.c -+++ b/block/ll_rw_blk.c -@@ -1862,9 +1862,7 @@ struct request_queue *blk_alloc_queue_no - - init_timer(&q->unplug_timer); - -- kobject_set_name(&q->kobj, "%s", "queue"); -- q->kobj.ktype = &queue_ktype; -- kobject_init(&q->kobj); -+ kobject_init_ng(&q->kobj, &queue_ktype); - - mutex_init(&q->sysfs_lock); - -@@ -4182,9 +4180,8 @@ int blk_register_queue(struct gendisk *d - if (!q || !q->request_fn) - return -ENXIO; - -- q->kobj.parent = kobject_get(&disk->dev.kobj); -- -- ret = kobject_add(&q->kobj); -+ ret = kobject_add_ng(&q->kobj, kobject_get(&disk->dev.kobj), -+ "%s", "queue"); - if (ret < 0) - return ret; - ---- a/drivers/base/class.c -+++ b/drivers/base/class.c -@@ -553,8 +553,7 @@ static struct class_device_attribute cla - void class_device_initialize(struct class_device *class_dev) - { - class_dev->kobj.kset = &class_obj_subsys; -- class_dev->kobj.ktype = &class_device_ktype; -- kobject_init(&class_dev->kobj); -+ kobject_init_ng(&class_dev->kobj, &class_device_ktype); - INIT_LIST_HEAD(&class_dev->node); - } - -@@ -582,16 +581,13 @@ int class_device_add(struct class_device - class_dev->class_id); - - /* first, register with generic layer. */ -- error = kobject_set_name(&class_dev->kobj, "%s", class_dev->class_id); -- if (error) -- goto out2; -- - if (parent_class_dev) - class_dev->kobj.parent = &parent_class_dev->kobj; - else - class_dev->kobj.parent = &parent_class->subsys.kobj; - -- error = kobject_add(&class_dev->kobj); -+ error = kobject_add_ng(&class_dev->kobj, class_dev->kobj.parent, -+ "%s", class_dev->class_id); - if (error) - goto out2; - ---- a/drivers/base/core.c -+++ b/drivers/base/core.c -@@ -526,8 +526,7 @@ static void klist_children_put(struct kl - void device_initialize(struct device *dev) - { - dev->kobj.kset = devices_kset; -- dev->kobj.ktype = &device_ktype; -- kobject_init(&dev->kobj); -+ kobject_init_ng(&dev->kobj, &device_ktype); - klist_init(&dev->klist_children, klist_children_get, - klist_children_put); - INIT_LIST_HEAD(&dev->dma_pools); -@@ -778,7 +777,7 @@ static void device_remove_class_symlinks - * This is part 2 of device_register(), though may be called - * separately _iff_ device_initialize() has been called separately. - * -- * This adds it to the kobject hierarchy via kobject_add(), adds it -+ * This adds it to the kobject hierarchy via kobject_add_ng(), adds it - * to the global and sibling lists for the device, then - * adds it to the other relevant subsystems of the driver model. - */ -@@ -806,8 +805,7 @@ int device_add(struct device *dev) - goto Error; - - /* first, register with generic layer. */ -- kobject_set_name(&dev->kobj, "%s", dev->bus_id); -- error = kobject_add(&dev->kobj); -+ error = kobject_add_ng(&dev->kobj, dev->kobj.parent, "%s", dev->bus_id); - if (error) - goto Error; - ---- a/drivers/md/md.c -+++ b/drivers/md/md.c -@@ -1383,16 +1383,13 @@ static int bind_rdev_to_array(mdk_rdev_t - return -EBUSY; - } - bdevname(rdev->bdev,b); -- if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0) -- return -ENOMEM; -- while ( (s=strchr(rdev->kobj.k_name, '/')) != NULL) -+ while ( (s=strchr(b, '/')) != NULL) - *s = '!'; -- -+ - rdev->mddev = mddev; - printk(KERN_INFO "md: bind<%s>\n", b); - -- rdev->kobj.parent = &mddev->kobj; -- if ((err = kobject_add(&rdev->kobj))) -+ if ((err = kobject_add_ng(&rdev->kobj, &mddev->kobj, "dev-%s", b))) - goto fail; - - if (rdev->bdev->bd_part) -@@ -2036,9 +2033,7 @@ static mdk_rdev_t *md_import_device(dev_ - if (err) - goto abort_free; - -- rdev->kobj.parent = NULL; -- rdev->kobj.ktype = &rdev_ktype; -- kobject_init(&rdev->kobj); -+ kobject_init_ng(&rdev->kobj, &rdev_ktype); - - rdev->desc_nr = -1; - rdev->saved_raid_disk = -1; ---- a/drivers/net/iseries_veth.c -+++ b/drivers/net/iseries_veth.c -@@ -844,11 +844,7 @@ static int veth_init_connection(u8 rlp) - - /* This gets us 1 reference, which is held on behalf of the driver - * infrastructure. It's released at module unload. */ -- kobject_init(&cnx->kobject); -- cnx->kobject.ktype = &veth_lpar_connection_ktype; -- rc = kobject_set_name(&cnx->kobject, "cnx%.2d", rlp); -- if (rc != 0) -- return rc; -+ kobject_init_ng(&cnx->kobject, &veth_lpar_connection_ktype); - - msgs = kcalloc(VETH_NUMBUFFERS, sizeof(struct veth_msg), GFP_KERNEL); - if (! msgs) { -@@ -1087,11 +1083,8 @@ static struct net_device * __init veth_p - return NULL; - } - -- kobject_init(&port->kobject); -- port->kobject.parent = &dev->dev.kobj; -- port->kobject.ktype = &veth_port_ktype; -- kobject_set_name(&port->kobject, "veth_port"); -- if (0 != kobject_add(&port->kobject)) -+ kobject_init_ng(&port->kobject, &veth_port_ktypeq); -+ if (0 != kobject_add_ng(&port->kobject, &dev->dev.kobj, "veth_port")) - veth_error("Failed adding port for %s to sysfs.\n", dev->name); - - veth_info("%s attached to iSeries vlan %d (LPAR map = 0x%.4X)\n", -@@ -1711,9 +1704,9 @@ static int __init veth_module_init(void) - continue; - - kobj = &veth_cnx[i]->kobject; -- kobj->parent = &veth_driver.driver.kobj; - /* If the add failes, complain but otherwise continue */ -- if (0 != kobject_add(kobj)) -+ if (0 != kobject_add_ng(kobj, &veth_driver.driver.kobj, -+ "cnx%.2d", veth_cnx[i]->remote_lp)) - veth_error("cnx %d: Failed adding to sysfs.\n", i); - } - ---- a/fs/char_dev.c -+++ b/fs/char_dev.c -@@ -510,9 +510,8 @@ struct cdev *cdev_alloc(void) - { - struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL); - if (p) { -- p->kobj.ktype = &ktype_cdev_dynamic; - INIT_LIST_HEAD(&p->list); -- kobject_init(&p->kobj); -+ kobject_init_ng(&p->kobj, &ktype_cdev_dynamic); - } - return p; - } -@@ -529,8 +528,7 @@ void cdev_init(struct cdev *cdev, const - { - memset(cdev, 0, sizeof *cdev); - INIT_LIST_HEAD(&cdev->list); -- cdev->kobj.ktype = &ktype_cdev_default; -- kobject_init(&cdev->kobj); -+ kobject_init_ng(&cdev->kobj, &ktype_cdev_default); - cdev->ops = fops; - } - ---- a/kernel/module.c -+++ b/kernel/module.c -@@ -1217,18 +1217,16 @@ int mod_sysfs_init(struct module *mod) - err = -EINVAL; - goto out; - } -- memset(&mod->mkobj.kobj, 0, sizeof(mod->mkobj.kobj)); -- err = kobject_set_name(&mod->mkobj.kobj, "%s", mod->name); -- if (err) -- goto out; -- mod->mkobj.kobj.kset = module_kset; -- mod->mkobj.kobj.ktype = &module_ktype; - mod->mkobj.mod = mod; - -- kobject_init(&mod->mkobj.kobj); -+ memset(&mod->mkobj.kobj, 0, sizeof(mod->mkobj.kobj)); -+ mod->mkobj.kobj.kset = module_kset; -+ err = kobject_init_and_add(&mod->mkobj.kobj, &module_ktype, NULL, -+ "%s", mod->name); -+ if (err) -+ kobject_put(&mod->mkobj.kobj); - - /* delay uevent until full sysfs population */ -- err = kobject_add(&mod->mkobj.kobj); - out: - return err; - } ---- a/kernel/params.c -+++ b/kernel/params.c -@@ -561,11 +561,9 @@ static void __init kernel_param_sysfs_se - - mk->mod = THIS_MODULE; - mk->kobj.kset = module_kset; -- mk->kobj.ktype = &module_ktype; -- kobject_set_name(&mk->kobj, name); -- kobject_init(&mk->kobj); -- ret = kobject_add(&mk->kobj); -+ ret = kobject_init_and_add(&mk->kobj, &module_ktype, NULL, "%s", name); - if (ret) { -+ kobject_put(&mk->kobj); - printk(KERN_ERR "Module '%s' failed to be added to sysfs, " - "error number %d\n", name, ret); - printk(KERN_ERR "The system will be unstable now.\n"); ---- a/kernel/user.c -+++ b/kernel/user.c -@@ -181,13 +181,12 @@ static int uids_user_create(struct user_ - int error; - - memset(kobj, 0, sizeof(struct kobject)); -- kobj->ktype = &uids_ktype; - kobj->kset = uids_kset; -- kobject_init(kobj); -- kobject_set_name(&up->kobj, "%d", up->uid); -- error = kobject_add(kobj); -- if (error) -+ error = kobject_init_and_add(kobj, &uids_ktype, NULL, "%d", up->uid); -+ if (error) { -+ kobject_put(kobj); - goto done; -+ } - - kobject_uevent(kobj, KOBJ_ADD); - done: ---- a/mm/slub.c -+++ b/mm/slub.c -@@ -4028,13 +4028,12 @@ static int sysfs_slab_add(struct kmem_ca - name = create_unique_id(s); - } - -- kobject_set_name(&s->kobj, name); - s->kobj.kset = slab_kset; -- s->kobj.ktype = &slab_ktype; -- kobject_init(&s->kobj); -- err = kobject_add(&s->kobj); -- if (err) -+ err = kobject_init_and_add(&s->kobj, &slab_ktype, NULL, name); -+ if (err) { -+ kobject_put(&s->kobj); - return err; -+ } - - err = sysfs_create_group(&s->kobj, &slab_attr_group); - if (err) ---- a/net/bridge/br_if.c -+++ b/net/bridge/br_if.c -@@ -258,12 +258,6 @@ static struct net_bridge_port *new_nbp(s - p->state = BR_STATE_DISABLED; - br_stp_port_timer_init(p); - -- kobject_init(&p->kobj); -- kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR); -- p->kobj.ktype = &brport_ktype; -- p->kobj.parent = &(dev->dev.kobj); -- p->kobj.kset = NULL; -- - return p; - } - -@@ -379,7 +373,8 @@ int br_add_if(struct net_bridge *br, str - if (IS_ERR(p)) - return PTR_ERR(p); - -- err = kobject_add(&p->kobj); -+ err = kobject_init_and_add(&p->kobj, &brport_ktype, &(dev->dev.kobj), -+ SYSFS_BRIDGE_PORT_ATTR); - if (err) - goto err0; - -@@ -416,6 +411,7 @@ err2: - br_fdb_delete_by_port(br, p, 1); - err1: - kobject_del(&p->kobj); -+ return err; - err0: - kobject_put(&p->kobj); - return err; |
