diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-29 12:29:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-29 12:29:08 -0700 |
commit | ccf5675a82a72bc1599b9b29cf33f7e391658485 (patch) | |
tree | 9a049faa35cdf3eee14005402d03ae3201b2d5fe | |
parent | b7ebbb77f183061eb34dd210372d016c04371c26 (diff) | |
parent | a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3 (diff) | |
download | op-kernel-dev-ccf5675a82a72bc1599b9b29cf33f7e391658485.zip op-kernel-dev-ccf5675a82a72bc1599b9b29cf33f7e391658485.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
driver core: documentation: make it clear that sysfs is optional
driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails
Dynamic debug: fix typo: -/->
driver core: firmware_class:fix memory leak of page pointers array
sysfs: fix hardlink count on device_move
-rw-r--r-- | Documentation/filesystems/sysfs.txt | 3 | ||||
-rw-r--r-- | drivers/base/firmware_class.c | 1 | ||||
-rw-r--r-- | drivers/base/sys.c | 2 | ||||
-rw-r--r-- | fs/sysfs/dir.c | 2 | ||||
-rw-r--r-- | lib/dynamic_debug.c | 2 |
5 files changed, 6 insertions, 4 deletions
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt index 7e81e37..b245d52 100644 --- a/Documentation/filesystems/sysfs.txt +++ b/Documentation/filesystems/sysfs.txt @@ -23,7 +23,8 @@ interface. Using sysfs ~~~~~~~~~~~ -sysfs is always compiled in. You can access it by doing: +sysfs is always compiled in if CONFIG_SYSFS is defined. You can access +it by doing: mount -t sysfs sysfs /sys diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index f285f44..7376367 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -180,7 +180,6 @@ static ssize_t firmware_loading_store(struct device *dev, goto err; } /* Pages will be freed by vfree() */ - fw_priv->pages = NULL; fw_priv->page_array_size = 0; fw_priv->nr_pages = 0; complete(&fw_priv->completion); diff --git a/drivers/base/sys.c b/drivers/base/sys.c index 79a9ae5..0d90390 100644 --- a/drivers/base/sys.c +++ b/drivers/base/sys.c @@ -275,9 +275,9 @@ int sysdev_register(struct sys_device *sysdev) drv->add(sysdev); } mutex_unlock(&sysdev_drivers_lock); + kobject_uevent(&sysdev->kobj, KOBJ_ADD); } - kobject_uevent(&sysdev->kobj, KOBJ_ADD); return error; } diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index d88d0fa..14f2d71 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -939,8 +939,10 @@ again: /* Remove from old parent's list and insert into new parent's list. */ sysfs_unlink_sibling(sd); sysfs_get(new_parent_sd); + drop_nlink(old_parent->d_inode); sysfs_put(sd->s_parent); sd->s_parent = new_parent_sd; + inc_nlink(new_parent->d_inode); sysfs_link_sibling(sd); out_unlock: diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 833139c..e22c148 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -164,7 +164,7 @@ static void ddebug_change(const struct ddebug_query *query, if (!newflags) dt->num_enabled--; - else if (!dp-flags) + else if (!dp->flags) dt->num_enabled++; dp->flags = newflags; if (newflags) { |