diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-07-09 11:55:47 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-07-09 11:55:47 -0700 |
| commit | cee908c45b182b546be744d21b6035e01c9127d8 (patch) | |
| tree | 08db741b4844c94a8aba1b296e189d1a2959e0b1 | |
| parent | 0ba5c7e4cee99a0cc5fb557c16ae5ba190d7117f (diff) | |
| download | patches-cee908c45b182b546be744d21b6035e01c9127d8.tar.gz | |
remove SYSFS_DEPRECATED
| -rw-r--r-- | driver-core/driver-core-remove-config_sysfs_deprecated.patch | 591 | ||||
| -rw-r--r-- | series | 2 |
2 files changed, 592 insertions, 1 deletions
diff --git a/driver-core/driver-core-remove-config_sysfs_deprecated.patch b/driver-core/driver-core-remove-config_sysfs_deprecated.patch new file mode 100644 index 00000000000000..91e8477cd2ca8a --- /dev/null +++ b/driver-core/driver-core-remove-config_sysfs_deprecated.patch @@ -0,0 +1,591 @@ +From foo@baz Fri Jul 9 11:49:43 PDT 2010 +Date: Fri, 09 Jul 2010 11:49:43 -0700 +To: Greg KH <greg@kroah.com> +From: Greg Kroah-Hartman <gregkh@suse.de> +Subject: driver core: remove CONFIG_SYSFS_DEPRECATED + +This is no longer needed by any userspace tools, so it's safe to +remove. + +Cc: Jens Axboe <axboe@kernel.dk> +Cc: Stephen Hemminger <shemminger@vyatta.com> +Cc: "Eric W. Biederman" <ebiederm@xmission.com> +Cc: Kay Sievers <kay.sievers@vrfy.org> +Cc: Alan Stern <stern@rowland.harvard.edu> +Cc: "James E.J. Bottomley" <James.Bottomley@suse.de> +Cc: Andrew Morton <akpm@linux-foundation.org> +Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> +Cc: Randy Dunlap <randy.dunlap@oracle.com> +Cc: Tejun Heo <tj@kernel.org> +Cc: "David S. Miller" <davem@davemloft.net> +Cc: Jaroslav Kysela <perex@perex.cz> +Cc: Takashi Iwai <tiwai@suse.de> +Cc: Ingo Molnar <mingo@elte.hu> +Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> +Cc: David Howells <dhowells@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + block/genhd.c | 5 - + drivers/base/bus.c | 22 ------ + drivers/base/class.c | 25 ------- + drivers/base/core.c | 164 ----------------------------------------------- + drivers/scsi/hosts.c | 2 + drivers/scsi/scsi_scan.c | 2 + fs/partitions/check.c | 6 - + include/sound/core.h | 6 - + init/Kconfig | 36 ---------- + sound/core/init.c | 11 --- + 10 files changed, 7 insertions(+), 272 deletions(-) + +--- a/block/genhd.c ++++ b/block/genhd.c +@@ -22,9 +22,7 @@ + #include "blk.h" + + static DEFINE_MUTEX(block_class_lock); +-#ifndef CONFIG_SYSFS_DEPRECATED + struct kobject *block_depr; +-#endif + + /* for extended dynamic devt allocation, currently only one major is used */ + #define MAX_EXT_DEVT (1 << MINORBITS) +@@ -803,10 +801,9 @@ static int __init genhd_device_init(void + + register_blkdev(BLOCK_EXT_MAJOR, "blkext"); + +-#ifndef CONFIG_SYSFS_DEPRECATED + /* create top-level block dir */ + block_depr = kobject_create_and_add("block", NULL); +-#endif ++ + return 0; + } + +--- a/drivers/base/bus.c ++++ b/drivers/base/bus.c +@@ -440,22 +440,6 @@ static void device_remove_attrs(struct b + } + } + +-#ifdef CONFIG_SYSFS_DEPRECATED +-static int make_deprecated_bus_links(struct device *dev) +-{ +- return sysfs_create_link(&dev->kobj, +- &dev->bus->p->subsys.kobj, "bus"); +-} +- +-static void remove_deprecated_bus_links(struct device *dev) +-{ +- sysfs_remove_link(&dev->kobj, "bus"); +-} +-#else +-static inline int make_deprecated_bus_links(struct device *dev) { return 0; } +-static inline void remove_deprecated_bus_links(struct device *dev) { } +-#endif +- + /** + * bus_add_device - add device to bus + * @dev: device being added +@@ -482,15 +466,10 @@ int bus_add_device(struct device *dev) + &dev->bus->p->subsys.kobj, "subsystem"); + if (error) + goto out_subsys; +- error = make_deprecated_bus_links(dev); +- if (error) +- goto out_deprecated; + klist_add_tail(&dev->p->knode_bus, &bus->p->klist_devices); + } + return 0; + +-out_deprecated: +- sysfs_remove_link(&dev->kobj, "subsystem"); + out_subsys: + sysfs_remove_link(&bus->p->devices_kset->kobj, dev_name(dev)); + out_id: +@@ -530,7 +509,6 @@ void bus_remove_device(struct device *de + { + if (dev->bus) { + sysfs_remove_link(&dev->kobj, "subsystem"); +- remove_deprecated_bus_links(dev); + sysfs_remove_link(&dev->bus->p->devices_kset->kobj, + dev_name(dev)); + device_remove_attrs(dev->bus, dev); +--- a/drivers/base/class.c ++++ b/drivers/base/class.c +@@ -184,13 +184,7 @@ int __class_register(struct class *cls, + if (!cls->dev_kobj) + cls->dev_kobj = sysfs_dev_char_kobj; + +-#if defined(CONFIG_SYSFS_DEPRECATED) && defined(CONFIG_BLOCK) +- /* let the block class directory show up in the root of sysfs */ +- if (cls != &block_class) +- cp->class_subsys.kobj.kset = class_kset; +-#else + cp->class_subsys.kobj.kset = class_kset; +-#endif + cp->class_subsys.kobj.ktype = &class_ktype; + cp->class = cls; + cls->p = cp; +@@ -276,25 +270,6 @@ void class_destroy(struct class *cls) + class_unregister(cls); + } + +-#ifdef CONFIG_SYSFS_DEPRECATED +-char *make_class_name(const char *name, struct kobject *kobj) +-{ +- char *class_name; +- int size; +- +- size = strlen(name) + strlen(kobject_name(kobj)) + 2; +- +- class_name = kmalloc(size, GFP_KERNEL); +- if (!class_name) +- return NULL; +- +- strcpy(class_name, name); +- strcat(class_name, ":"); +- strcat(class_name, kobject_name(kobj)); +- return class_name; +-} +-#endif +- + /** + * class_dev_iter_init - initialize class device iterator + * @iter: class iterator to initialize +--- a/drivers/base/core.c ++++ b/drivers/base/core.c +@@ -203,37 +203,6 @@ static int dev_uevent(struct kset *kset, + if (dev->driver) + add_uevent_var(env, "DRIVER=%s", dev->driver->name); + +-#ifdef CONFIG_SYSFS_DEPRECATED +- if (dev->class) { +- struct device *parent = dev->parent; +- +- /* find first bus device in parent chain */ +- while (parent && !parent->bus) +- parent = parent->parent; +- if (parent && parent->bus) { +- const char *path; +- +- path = kobject_get_path(&parent->kobj, GFP_KERNEL); +- if (path) { +- add_uevent_var(env, "PHYSDEVPATH=%s", path); +- kfree(path); +- } +- +- add_uevent_var(env, "PHYSDEVBUS=%s", parent->bus->name); +- +- if (parent->driver) +- add_uevent_var(env, "PHYSDEVDRIVER=%s", +- parent->driver->name); +- } +- } else if (dev->bus) { +- add_uevent_var(env, "PHYSDEVBUS=%s", dev->bus->name); +- +- if (dev->driver) +- add_uevent_var(env, "PHYSDEVDRIVER=%s", +- dev->driver->name); +- } +-#endif +- + /* have the bus specific function add its stuff */ + if (dev->bus && dev->bus->uevent) { + retval = dev->bus->uevent(dev, env); +@@ -578,24 +547,6 @@ void device_initialize(struct device *de + set_dev_node(dev, -1); + } + +-#ifdef CONFIG_SYSFS_DEPRECATED +-static struct kobject *get_device_parent(struct device *dev, +- struct device *parent) +-{ +- /* class devices without a parent live in /sys/class/<classname>/ */ +- if (dev->class && (!parent || parent->class != dev->class)) +- return &dev->class->p->class_subsys.kobj; +- /* all other devices keep their parent */ +- else if (parent) +- return &parent->kobj; +- +- return NULL; +-} +- +-static inline void cleanup_device_parent(struct device *dev) {} +-static inline void cleanup_glue_dir(struct device *dev, +- struct kobject *glue_dir) {} +-#else + static struct kobject *virtual_device_parent(struct device *dev) + { + static struct kobject *virtual_dir = NULL; +@@ -719,7 +670,6 @@ static void cleanup_device_parent(struct + { + cleanup_glue_dir(dev, dev->kobj.parent); + } +-#endif + + static void setup_parent(struct device *dev, struct device *parent) + { +@@ -742,53 +692,6 @@ static int device_add_class_symlinks(str + if (error) + goto out; + +-#ifdef CONFIG_SYSFS_DEPRECATED +- /* stacked class devices need a symlink in the class directory */ +- if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && +- device_is_not_partition(dev)) { +- error = sysfs_create_link(&dev->class->p->class_subsys.kobj, +- &dev->kobj, dev_name(dev)); +- if (error) +- goto out_subsys; +- } +- +- if (dev->parent && device_is_not_partition(dev)) { +- struct device *parent = dev->parent; +- char *class_name; +- +- /* +- * stacked class devices have the 'device' link +- * pointing to the bus device instead of the parent +- */ +- while (parent->class && !parent->bus && parent->parent) +- parent = parent->parent; +- +- error = sysfs_create_link(&dev->kobj, +- &parent->kobj, +- "device"); +- if (error) +- goto out_busid; +- +- class_name = make_class_name(dev->class->name, +- &dev->kobj); +- if (class_name) +- error = sysfs_create_link(&dev->parent->kobj, +- &dev->kobj, class_name); +- kfree(class_name); +- if (error) +- goto out_device; +- } +- return 0; +- +-out_device: +- if (dev->parent && device_is_not_partition(dev)) +- sysfs_remove_link(&dev->kobj, "device"); +-out_busid: +- if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && +- device_is_not_partition(dev)) +- sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, +- dev_name(dev)); +-#else + /* link in the class directory pointing to the device */ + error = sysfs_create_link(&dev->class->p->class_subsys.kobj, + &dev->kobj, dev_name(dev)); +@@ -805,7 +708,6 @@ out_busid: + + out_busid: + sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, dev_name(dev)); +-#endif + + out_subsys: + sysfs_remove_link(&dev->kobj, "subsystem"); +@@ -818,29 +720,10 @@ static void device_remove_class_symlinks + if (!dev->class) + return; + +-#ifdef CONFIG_SYSFS_DEPRECATED +- if (dev->parent && device_is_not_partition(dev)) { +- char *class_name; +- +- class_name = make_class_name(dev->class->name, &dev->kobj); +- if (class_name) { +- sysfs_remove_link(&dev->parent->kobj, class_name); +- kfree(class_name); +- } +- sysfs_remove_link(&dev->kobj, "device"); +- } +- +- if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && +- device_is_not_partition(dev)) +- sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, +- dev_name(dev)); +-#else + if (dev->parent && device_is_not_partition(dev)) + sysfs_remove_link(&dev->kobj, "device"); + + sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, dev_name(dev)); +-#endif +- + sysfs_remove_link(&dev->kobj, "subsystem"); + } + +@@ -1613,41 +1496,23 @@ int device_rename(struct device *dev, ch + pr_debug("device: '%s': %s: renaming to '%s'\n", dev_name(dev), + __func__, new_name); + +-#ifdef CONFIG_SYSFS_DEPRECATED +- if ((dev->class) && (dev->parent)) +- old_class_name = make_class_name(dev->class->name, &dev->kobj); +-#endif +- + old_device_name = kstrdup(dev_name(dev), GFP_KERNEL); + if (!old_device_name) { + error = -ENOMEM; + goto out; + } + +-#ifndef CONFIG_SYSFS_DEPRECATED + if (dev->class) { + error = sysfs_rename_link(&dev->class->p->class_subsys.kobj, + &dev->kobj, old_device_name, new_name); + if (error) + goto out; + } +-#endif ++ + error = kobject_rename(&dev->kobj, new_name); + if (error) + goto out; + +-#ifdef CONFIG_SYSFS_DEPRECATED +- if (old_class_name) { +- new_class_name = make_class_name(dev->class->name, &dev->kobj); +- if (new_class_name) { +- error = sysfs_rename_link(&dev->parent->kobj, +- &dev->kobj, +- old_class_name, +- new_class_name); +- } +- } +-#endif +- + out: + put_device(dev); + +@@ -1664,40 +1529,13 @@ static int device_move_class_links(struc + struct device *new_parent) + { + int error = 0; +-#ifdef CONFIG_SYSFS_DEPRECATED +- char *class_name; + +- class_name = make_class_name(dev->class->name, &dev->kobj); +- if (!class_name) { +- error = -ENOMEM; +- goto out; +- } +- if (old_parent) { +- sysfs_remove_link(&dev->kobj, "device"); +- sysfs_remove_link(&old_parent->kobj, class_name); +- } +- if (new_parent) { +- error = sysfs_create_link(&dev->kobj, &new_parent->kobj, +- "device"); +- if (error) +- goto out; +- error = sysfs_create_link(&new_parent->kobj, &dev->kobj, +- class_name); +- if (error) +- sysfs_remove_link(&dev->kobj, "device"); +- } else +- error = 0; +-out: +- kfree(class_name); +- return error; +-#else + if (old_parent) + sysfs_remove_link(&dev->kobj, "device"); + if (new_parent) + error = sysfs_create_link(&dev->kobj, &new_parent->kobj, + "device"); + return error; +-#endif + } + + /** +--- a/drivers/scsi/hosts.c ++++ b/drivers/scsi/hosts.c +@@ -406,9 +406,7 @@ struct Scsi_Host *scsi_host_alloc(struct + + device_initialize(&shost->shost_gendev); + dev_set_name(&shost->shost_gendev, "host%d", shost->host_no); +-#ifndef CONFIG_SYSFS_DEPRECATED + shost->shost_gendev.bus = &scsi_bus_type; +-#endif + shost->shost_gendev.type = &scsi_host_type; + + device_initialize(&shost->shost_dev); +--- a/drivers/scsi/scsi_scan.c ++++ b/drivers/scsi/scsi_scan.c +@@ -417,9 +417,7 @@ static struct scsi_target *scsi_alloc_ta + starget->reap_ref = 1; + dev->parent = get_device(parent); + dev_set_name(dev, "target%d:%d:%d", shost->host_no, channel, id); +-#ifndef CONFIG_SYSFS_DEPRECATED + dev->bus = &scsi_bus_type; +-#endif + dev->type = &scsi_target_type; + starget->id = id; + starget->channel = channel; +--- a/fs/partitions/check.c ++++ b/fs/partitions/check.c +@@ -500,14 +500,14 @@ void register_disk(struct gendisk *disk) + + if (device_add(ddev)) + return; +-#ifndef CONFIG_SYSFS_DEPRECATED ++ + err = sysfs_create_link(block_depr, &ddev->kobj, + kobject_name(&ddev->kobj)); + if (err) { + device_del(ddev); + return; + } +-#endif ++ + disk->part0.holder_dir = kobject_create_and_add("holders", &ddev->kobj); + disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj); + +@@ -724,8 +724,6 @@ void del_gendisk(struct gendisk *disk) + kobject_put(disk->part0.holder_dir); + kobject_put(disk->slave_dir); + disk->driverfs_dev = NULL; +-#ifndef CONFIG_SYSFS_DEPRECATED + sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); +-#endif + device_del(disk_to_dev(disk)); + } +--- a/include/sound/core.h ++++ b/include/sound/core.h +@@ -133,9 +133,7 @@ struct snd_card { + int free_on_last_close; /* free in context of file_release */ + wait_queue_head_t shutdown_sleep; + struct device *dev; /* device assigned to this card */ +-#ifndef CONFIG_SYSFS_DEPRECATED + struct device *card_dev; /* cardX object for sysfs */ +-#endif + + #ifdef CONFIG_PM + unsigned int power_state; /* power state */ +@@ -196,11 +194,7 @@ struct snd_minor { + /* return a device pointer linked to each sound device as a parent */ + static inline struct device *snd_card_get_device_link(struct snd_card *card) + { +-#ifdef CONFIG_SYSFS_DEPRECATED +- return card ? card->dev : NULL; +-#else + return card ? card->card_dev : NULL; +-#endif + } + + /* sound.c */ +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -651,42 +651,6 @@ endif # CGROUPS + config MM_OWNER + bool + +-config SYSFS_DEPRECATED +- bool +- +-config SYSFS_DEPRECATED_V2 +- bool "enable deprecated sysfs features to support old userspace tools" +- depends on SYSFS +- default n +- select SYSFS_DEPRECATED +- help +- This option switches the layout of sysfs to the deprecated +- version. Do not use it on recent distributions. +- +- The current sysfs layout features a unified device tree at +- /sys/devices/, which is able to express a hierarchy between +- class devices. If the deprecated option is set to Y, the +- unified device tree is split into a bus device tree at +- /sys/devices/ and several individual class device trees at +- /sys/class/. The class and bus devices will be connected by +- "<subsystem>:<name>" and the "device" links. The "block" +- class devices, will not show up in /sys/class/block/. Some +- subsystems will suppress the creation of some devices which +- depend on the unified device tree. +- +- This option is not a pure compatibility option that can +- be safely enabled on newer distributions. It will change the +- layout of sysfs to the non-extensible deprecated version, +- and disable some features, which can not be exported without +- confusing older userspace tools. Since 2007/2008 all major +- distributions do not enable this option, and ship no tools which +- depend on the deprecated layout or this option. +- +- If you are using a new kernel on an older distribution, or use +- older userspace tools, you might need to say Y here. Do not say Y, +- if the original kernel, that came with your distribution, has +- this option set to N. +- + config RELAY + bool "Kernel->user space relay support (formerly relayfs)" + help +--- a/sound/core/init.c ++++ b/sound/core/init.c +@@ -395,12 +395,10 @@ int snd_card_disconnect(struct snd_card + snd_printk(KERN_ERR "not all devices for card %i can be disconnected\n", card->number); + + snd_info_card_disconnect(card); +-#ifndef CONFIG_SYSFS_DEPRECATED + if (card->card_dev) { + device_unregister(card->card_dev); + card->card_dev = NULL; + } +-#endif + #ifdef CONFIG_PM + wake_up(&card->power_sleep); + #endif +@@ -573,7 +571,6 @@ void snd_card_set_id(struct snd_card *ca + } + EXPORT_SYMBOL(snd_card_set_id); + +-#ifndef CONFIG_SYSFS_DEPRECATED + static ssize_t + card_id_show_attr(struct device *dev, + struct device_attribute *attr, char *buf) +@@ -630,7 +627,6 @@ card_number_show_attr(struct device *dev + + static struct device_attribute card_number_attrs = + __ATTR(number, S_IRUGO, card_number_show_attr, NULL); +-#endif /* CONFIG_SYSFS_DEPRECATED */ + + /** + * snd_card_register - register the soundcard +@@ -649,7 +645,7 @@ int snd_card_register(struct snd_card *c + + if (snd_BUG_ON(!card)) + return -EINVAL; +-#ifndef CONFIG_SYSFS_DEPRECATED ++ + if (!card->card_dev) { + card->card_dev = device_create(sound_class, card->dev, + MKDEV(0, 0), card, +@@ -657,7 +653,7 @@ int snd_card_register(struct snd_card *c + if (IS_ERR(card->card_dev)) + card->card_dev = NULL; + } +-#endif ++ + if ((err = snd_device_register_all(card)) < 0) + return err; + mutex_lock(&snd_card_mutex); +@@ -674,7 +670,6 @@ int snd_card_register(struct snd_card *c + if (snd_mixer_oss_notify_callback) + snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_REGISTER); + #endif +-#ifndef CONFIG_SYSFS_DEPRECATED + if (card->card_dev) { + err = device_create_file(card->card_dev, &card_id_attrs); + if (err < 0) +@@ -683,7 +678,7 @@ int snd_card_register(struct snd_card *c + if (err < 0) + return err; + } +-#endif ++ + return 0; + } + @@ -51,6 +51,7 @@ driver-core/firmware-update-hotplug-script-remove-sysfs-files.patch driver-core/sysfs-sysfs_chmod_file-s-attr-can-be-const.patch driver-core/dmi-id-fix-a-memory-leak-in-dmi_id_init-error-path.patch driver-core/dcdbas-remove-a-redundant-smi_data_buf_free-in-dcdbas_exit.patch +driver-core/driver-core-remove-config_sysfs_deprecated.patch ##################################### # TTY patches for after 2.6.35 is out @@ -189,4 +190,3 @@ usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch # staging stuff is now in the staging-next tree on git.kernel.org - |
