diff options
author | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
commit | 9cec58dc138d6fcad9f447a19c8ff69f6540e667 (patch) | |
tree | 4fe1cca94fdba8b705c87615bee06d3346f687ce /drivers/base | |
parent | 17e5ad6c0ce5a970e2830d0de8bdd60a2f077d38 (diff) | |
parent | ac9b9c667c2e1194e22ebe0a441ae1c37aaa9b90 (diff) |
Update from upstream with manual merge of Yasunori Goto's
changes to swiotlb.c made in commit 281dd25cdc0d6903929b79183816d151ea626341
since this file has been moved from arch/ia64/lib/swiotlb.c to
lib/swiotlb.c
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/class.c | 13 | ||||
-rw-r--r-- | drivers/base/dd.c | 3 | ||||
-rw-r--r-- | drivers/base/dmapool.c | 5 |
3 files changed, 18 insertions, 3 deletions
diff --git a/drivers/base/class.c b/drivers/base/class.c index 3b112e3542f8..ce23dc8c18c5 100644 --- a/drivers/base/class.c +++ b/drivers/base/class.c | |||
@@ -669,6 +669,7 @@ void class_device_destroy(struct class *cls, dev_t devt) | |||
669 | int class_device_rename(struct class_device *class_dev, char *new_name) | 669 | int class_device_rename(struct class_device *class_dev, char *new_name) |
670 | { | 670 | { |
671 | int error = 0; | 671 | int error = 0; |
672 | char *old_class_name = NULL, *new_class_name = NULL; | ||
672 | 673 | ||
673 | class_dev = class_device_get(class_dev); | 674 | class_dev = class_device_get(class_dev); |
674 | if (!class_dev) | 675 | if (!class_dev) |
@@ -677,12 +678,24 @@ int class_device_rename(struct class_device *class_dev, char *new_name) | |||
677 | pr_debug("CLASS: renaming '%s' to '%s'\n", class_dev->class_id, | 678 | pr_debug("CLASS: renaming '%s' to '%s'\n", class_dev->class_id, |
678 | new_name); | 679 | new_name); |
679 | 680 | ||
681 | if (class_dev->dev) | ||
682 | old_class_name = make_class_name(class_dev); | ||
683 | |||
680 | strlcpy(class_dev->class_id, new_name, KOBJ_NAME_LEN); | 684 | strlcpy(class_dev->class_id, new_name, KOBJ_NAME_LEN); |
681 | 685 | ||
682 | error = kobject_rename(&class_dev->kobj, new_name); | 686 | error = kobject_rename(&class_dev->kobj, new_name); |
683 | 687 | ||
688 | if (class_dev->dev) { | ||
689 | new_class_name = make_class_name(class_dev); | ||
690 | sysfs_create_link(&class_dev->dev->kobj, &class_dev->kobj, | ||
691 | new_class_name); | ||
692 | sysfs_remove_link(&class_dev->dev->kobj, old_class_name); | ||
693 | } | ||
684 | class_device_put(class_dev); | 694 | class_device_put(class_dev); |
685 | 695 | ||
696 | kfree(old_class_name); | ||
697 | kfree(new_class_name); | ||
698 | |||
686 | return error; | 699 | return error; |
687 | } | 700 | } |
688 | 701 | ||
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index d5bbce38282f..3565e9795301 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c | |||
@@ -40,6 +40,9 @@ | |||
40 | */ | 40 | */ |
41 | void device_bind_driver(struct device * dev) | 41 | void device_bind_driver(struct device * dev) |
42 | { | 42 | { |
43 | if (klist_node_attached(&dev->knode_driver)) | ||
44 | return; | ||
45 | |||
43 | pr_debug("bound device '%s' to driver '%s'\n", | 46 | pr_debug("bound device '%s' to driver '%s'\n", |
44 | dev->bus_id, dev->driver->name); | 47 | dev->bus_id, dev->driver->name); |
45 | klist_add_tail(&dev->knode_driver, &dev->driver->klist_devices); | 48 | klist_add_tail(&dev->knode_driver, &dev->driver->klist_devices); |
diff --git a/drivers/base/dmapool.c b/drivers/base/dmapool.c index 60a7ef6a201b..e2f64f91ed05 100644 --- a/drivers/base/dmapool.c +++ b/drivers/base/dmapool.c | |||
@@ -156,7 +156,7 @@ dma_pool_create (const char *name, struct device *dev, | |||
156 | 156 | ||
157 | 157 | ||
158 | static struct dma_page * | 158 | static struct dma_page * |
159 | pool_alloc_page (struct dma_pool *pool, unsigned int __nocast mem_flags) | 159 | pool_alloc_page (struct dma_pool *pool, gfp_t mem_flags) |
160 | { | 160 | { |
161 | struct dma_page *page; | 161 | struct dma_page *page; |
162 | int mapsize; | 162 | int mapsize; |
@@ -262,8 +262,7 @@ dma_pool_destroy (struct dma_pool *pool) | |||
262 | * If such a memory block can't be allocated, null is returned. | 262 | * If such a memory block can't be allocated, null is returned. |
263 | */ | 263 | */ |
264 | void * | 264 | void * |
265 | dma_pool_alloc (struct dma_pool *pool, unsigned int __nocast mem_flags, | 265 | dma_pool_alloc (struct dma_pool *pool, gfp_t mem_flags, dma_addr_t *handle) |
266 | dma_addr_t *handle) | ||
267 | { | 266 | { |
268 | unsigned long flags; | 267 | unsigned long flags; |
269 | struct dma_page *page; | 268 | struct dma_page *page; |