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:
klist.c: bit 0 in pointer can't be used as flag
debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n
sysfs: fix problems with binary files
PNP: fix broken pnp lowercasing for acpi module aliases
driver core: Convert '/' to '!' in dev_set_name()

+35 -3
+6
drivers/base/core.c
··· 777 int dev_set_name(struct device *dev, const char *fmt, ...) 778 { 779 va_list vargs; 780 781 va_start(vargs, fmt); 782 vsnprintf(dev->bus_id, sizeof(dev->bus_id), fmt, vargs); 783 va_end(vargs); 784 return 0; 785 } 786 EXPORT_SYMBOL_GPL(dev_set_name);
··· 777 int dev_set_name(struct device *dev, const char *fmt, ...) 778 { 779 va_list vargs; 780 + char *s; 781 782 va_start(vargs, fmt); 783 vsnprintf(dev->bus_id, sizeof(dev->bus_id), fmt, vargs); 784 va_end(vargs); 785 + 786 + /* ewww... some of these buggers have / in the name... */ 787 + while ((s = strchr(dev->bus_id, '/'))) 788 + *s = '!'; 789 + 790 return 0; 791 } 792 EXPORT_SYMBOL_GPL(dev_set_name);
+6
fs/sysfs/bin.c
··· 63 int count = min_t(size_t, bytes, PAGE_SIZE); 64 char *temp; 65 66 if (size) { 67 if (offs > size) 68 return 0; ··· 133 loff_t offs = *off; 134 int count = min_t(size_t, bytes, PAGE_SIZE); 135 char *temp; 136 137 if (size) { 138 if (offs > size)
··· 63 int count = min_t(size_t, bytes, PAGE_SIZE); 64 char *temp; 65 66 + if (!bytes) 67 + return 0; 68 + 69 if (size) { 70 if (offs > size) 71 return 0; ··· 130 loff_t offs = *off; 131 int count = min_t(size_t, bytes, PAGE_SIZE); 132 char *temp; 133 + 134 + if (!bytes) 135 + return 0; 136 137 if (size) { 138 if (offs > size)
+7
include/linux/debugfs.h
··· 162 return ERR_PTR(-ENODEV); 163 } 164 165 static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode, 166 struct dentry *parent, 167 u32 *value)
··· 162 return ERR_PTR(-ENODEV); 163 } 164 165 + struct dentry *debugfs_create_size_t(const char *name, mode_t mode, 166 + struct dentry *parent, 167 + size_t *value) 168 + { 169 + return ERR_PTR(-ENODEV); 170 + } 171 + 172 static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode, 173 struct dentry *parent, 174 u32 *value)
+1 -1
include/linux/klist.h
··· 22 struct list_head k_list; 23 void (*get)(struct klist_node *); 24 void (*put)(struct klist_node *); 25 - }; 26 27 #define KLIST_INIT(_name, _get, _put) \ 28 { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
··· 22 struct list_head k_list; 23 void (*get)(struct klist_node *); 24 void (*put)(struct klist_node *); 25 + } __attribute__ ((aligned (4))); 26 27 #define KLIST_INIT(_name, _get, _put) \ 28 { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
+15 -2
scripts/mod/file2alias.c
··· 366 367 for (i = 0; i < count; i++) { 368 const char *id = (char *)devs[i].id; 369 370 buf_printf(&mod->dev_table_buf, 371 "MODULE_ALIAS(\"pnp:d%s*\");\n", id); 372 buf_printf(&mod->dev_table_buf, 373 - "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); 374 } 375 } 376 ··· 422 423 /* add an individual alias for every device entry */ 424 if (!dup) { 425 buf_printf(&mod->dev_table_buf, 426 "MODULE_ALIAS(\"pnp:d%s*\");\n", id); 427 buf_printf(&mod->dev_table_buf, 428 - "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); 429 } 430 } 431 }
··· 366 367 for (i = 0; i < count; i++) { 368 const char *id = (char *)devs[i].id; 369 + char acpi_id[sizeof(devs[0].id)]; 370 + int j; 371 372 buf_printf(&mod->dev_table_buf, 373 "MODULE_ALIAS(\"pnp:d%s*\");\n", id); 374 + 375 + /* fix broken pnp bus lowercasing */ 376 + for (j = 0; j < sizeof(acpi_id); j++) 377 + acpi_id[j] = toupper(id[j]); 378 buf_printf(&mod->dev_table_buf, 379 + "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id); 380 } 381 } 382 ··· 416 417 /* add an individual alias for every device entry */ 418 if (!dup) { 419 + char acpi_id[sizeof(card->devs[0].id)]; 420 + int k; 421 + 422 buf_printf(&mod->dev_table_buf, 423 "MODULE_ALIAS(\"pnp:d%s*\");\n", id); 424 + 425 + /* fix broken pnp bus lowercasing */ 426 + for (k = 0; k < sizeof(acpi_id); k++) 427 + acpi_id[k] = toupper(id[k]); 428 buf_printf(&mod->dev_table_buf, 429 + "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id); 430 } 431 } 432 }