Commit ed803862 authored by Linus Torvalds's avatar Linus Torvalds

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()
parents 6aeea60a c0e69a5b
...@@ -777,10 +777,16 @@ static void device_remove_class_symlinks(struct device *dev) ...@@ -777,10 +777,16 @@ static void device_remove_class_symlinks(struct device *dev)
int dev_set_name(struct device *dev, const char *fmt, ...) int dev_set_name(struct device *dev, const char *fmt, ...)
{ {
va_list vargs; va_list vargs;
char *s;
va_start(vargs, fmt); va_start(vargs, fmt);
vsnprintf(dev->bus_id, sizeof(dev->bus_id), fmt, vargs); vsnprintf(dev->bus_id, sizeof(dev->bus_id), fmt, vargs);
va_end(vargs); va_end(vargs);
/* ewww... some of these buggers have / in the name... */
while ((s = strchr(dev->bus_id, '/')))
*s = '!';
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(dev_set_name); EXPORT_SYMBOL_GPL(dev_set_name);
......
...@@ -63,6 +63,9 @@ read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off) ...@@ -63,6 +63,9 @@ read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off)
int count = min_t(size_t, bytes, PAGE_SIZE); int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp; char *temp;
if (!bytes)
return 0;
if (size) { if (size) {
if (offs > size) if (offs > size)
return 0; return 0;
...@@ -131,6 +134,9 @@ static ssize_t write(struct file *file, const char __user *userbuf, ...@@ -131,6 +134,9 @@ static ssize_t write(struct file *file, const char __user *userbuf,
int count = min_t(size_t, bytes, PAGE_SIZE); int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp; char *temp;
if (!bytes)
return 0;
if (size) { if (size) {
if (offs > size) if (offs > size)
return 0; return 0;
......
...@@ -162,6 +162,13 @@ static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode, ...@@ -162,6 +162,13 @@ static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode,
return ERR_PTR(-ENODEV); return ERR_PTR(-ENODEV);
} }
struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
struct dentry *parent,
size_t *value)
{
return ERR_PTR(-ENODEV);
}
static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode, static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode,
struct dentry *parent, struct dentry *parent,
u32 *value) u32 *value)
......
...@@ -22,7 +22,7 @@ struct klist { ...@@ -22,7 +22,7 @@ struct klist {
struct list_head k_list; struct list_head k_list;
void (*get)(struct klist_node *); void (*get)(struct klist_node *);
void (*put)(struct klist_node *); void (*put)(struct klist_node *);
}; } __attribute__ ((aligned (4)));
#define KLIST_INIT(_name, _get, _put) \ #define KLIST_INIT(_name, _get, _put) \
{ .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
......
...@@ -366,11 +366,17 @@ static void do_pnp_device_entry(void *symval, unsigned long size, ...@@ -366,11 +366,17 @@ static void do_pnp_device_entry(void *symval, unsigned long size,
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
const char *id = (char *)devs[i].id; const char *id = (char *)devs[i].id;
char acpi_id[sizeof(devs[0].id)];
int j;
buf_printf(&mod->dev_table_buf, buf_printf(&mod->dev_table_buf,
"MODULE_ALIAS(\"pnp:d%s*\");\n", id); "MODULE_ALIAS(\"pnp:d%s*\");\n", id);
/* fix broken pnp bus lowercasing */
for (j = 0; j < sizeof(acpi_id); j++)
acpi_id[j] = toupper(id[j]);
buf_printf(&mod->dev_table_buf, buf_printf(&mod->dev_table_buf,
"MODULE_ALIAS(\"acpi*:%s:*\");\n", id); "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);
} }
} }
...@@ -416,10 +422,17 @@ static void do_pnp_card_entries(void *symval, unsigned long size, ...@@ -416,10 +422,17 @@ static void do_pnp_card_entries(void *symval, unsigned long size,
/* add an individual alias for every device entry */ /* add an individual alias for every device entry */
if (!dup) { if (!dup) {
char acpi_id[sizeof(card->devs[0].id)];
int k;
buf_printf(&mod->dev_table_buf, buf_printf(&mod->dev_table_buf,
"MODULE_ALIAS(\"pnp:d%s*\");\n", id); "MODULE_ALIAS(\"pnp:d%s*\");\n", id);
/* fix broken pnp bus lowercasing */
for (k = 0; k < sizeof(acpi_id); k++)
acpi_id[k] = toupper(id[k]);
buf_printf(&mod->dev_table_buf, buf_printf(&mod->dev_table_buf,
"MODULE_ALIAS(\"acpi*:%s:*\");\n", id); "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment