forked from luck/tmp_suning_uos_patched
xen: struct device - replace bus_id with dev_name(), dev_set_name()
CC: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
035da16fb5
commit
2a678cc539
|
@ -99,15 +99,15 @@ static int xenbus_uevent(struct device *_dev, struct kobj_uevent_env *env)
|
|||
}
|
||||
|
||||
/* device/<type>/<id> => <type>-<id> */
|
||||
static int frontend_bus_id(char bus_id[BUS_ID_SIZE], const char *nodename)
|
||||
static int frontend_bus_id(char bus_id[XEN_BUS_ID_SIZE], const char *nodename)
|
||||
{
|
||||
nodename = strchr(nodename, '/');
|
||||
if (!nodename || strlen(nodename + 1) >= BUS_ID_SIZE) {
|
||||
if (!nodename || strlen(nodename + 1) >= XEN_BUS_ID_SIZE) {
|
||||
printk(KERN_WARNING "XENBUS: bad frontend %s\n", nodename);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
strlcpy(bus_id, nodename + 1, BUS_ID_SIZE);
|
||||
strlcpy(bus_id, nodename + 1, XEN_BUS_ID_SIZE);
|
||||
if (!strchr(bus_id, '/')) {
|
||||
printk(KERN_WARNING "XENBUS: bus_id %s no slash\n", bus_id);
|
||||
return -EINVAL;
|
||||
|
@ -460,6 +460,7 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
|||
const char *type,
|
||||
const char *nodename)
|
||||
{
|
||||
char devname[XEN_BUS_ID_SIZE];
|
||||
int err;
|
||||
struct xenbus_device *xendev;
|
||||
size_t stringlen;
|
||||
|
@ -494,10 +495,12 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
|||
xendev->dev.bus = &bus->bus;
|
||||
xendev->dev.release = xenbus_dev_release;
|
||||
|
||||
err = bus->get_bus_id(xendev->dev.bus_id, xendev->nodename);
|
||||
err = bus->get_bus_id(devname, xendev->nodename);
|
||||
if (err)
|
||||
goto fail;
|
||||
|
||||
dev_set_name(&xendev->dev, devname);
|
||||
|
||||
/* Register with generic device framework. */
|
||||
err = device_register(&xendev->dev);
|
||||
if (err)
|
||||
|
@ -611,7 +614,7 @@ void xenbus_dev_changed(const char *node, struct xen_bus_type *bus)
|
|||
{
|
||||
int exists, rootlen;
|
||||
struct xenbus_device *dev;
|
||||
char type[BUS_ID_SIZE];
|
||||
char type[XEN_BUS_ID_SIZE];
|
||||
const char *p, *root;
|
||||
|
||||
if (char_count(node, '/') < 2)
|
||||
|
@ -625,8 +628,8 @@ void xenbus_dev_changed(const char *node, struct xen_bus_type *bus)
|
|||
|
||||
/* backend/<type>/... or device/<type>/... */
|
||||
p = strchr(node, '/') + 1;
|
||||
snprintf(type, BUS_ID_SIZE, "%.*s", (int)strcspn(p, "/"), p);
|
||||
type[BUS_ID_SIZE-1] = '\0';
|
||||
snprintf(type, XEN_BUS_ID_SIZE, "%.*s", (int)strcspn(p, "/"), p);
|
||||
type[XEN_BUS_ID_SIZE-1] = '\0';
|
||||
|
||||
rootlen = strsep_len(node, '/', bus->levels);
|
||||
if (rootlen < 0)
|
||||
|
@ -674,7 +677,7 @@ static int suspend_dev(struct device *dev, void *data)
|
|||
err = drv->suspend(xdev);
|
||||
if (err)
|
||||
printk(KERN_WARNING
|
||||
"xenbus: suspend %s failed: %i\n", dev->bus_id, err);
|
||||
"xenbus: suspend %s failed: %i\n", dev_name(dev), err);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -695,7 +698,7 @@ static int suspend_cancel_dev(struct device *dev, void *data)
|
|||
if (err)
|
||||
printk(KERN_WARNING
|
||||
"xenbus: suspend_cancel %s failed: %i\n",
|
||||
dev->bus_id, err);
|
||||
dev_name(dev), err);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -717,7 +720,7 @@ static int resume_dev(struct device *dev, void *data)
|
|||
if (err) {
|
||||
printk(KERN_WARNING
|
||||
"xenbus: resume (talk_to_otherend) %s failed: %i\n",
|
||||
dev->bus_id, err);
|
||||
dev_name(dev), err);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -728,7 +731,7 @@ static int resume_dev(struct device *dev, void *data)
|
|||
if (err) {
|
||||
printk(KERN_WARNING
|
||||
"xenbus: resume %s failed: %i\n",
|
||||
dev->bus_id, err);
|
||||
dev_name(dev), err);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -737,7 +740,7 @@ static int resume_dev(struct device *dev, void *data)
|
|||
if (err) {
|
||||
printk(KERN_WARNING
|
||||
"xenbus_probe: resume (watch_otherend) %s failed: "
|
||||
"%d.\n", dev->bus_id, err);
|
||||
"%d.\n", dev_name(dev), err);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
#ifndef _XENBUS_PROBE_H
|
||||
#define _XENBUS_PROBE_H
|
||||
|
||||
#define XEN_BUS_ID_SIZE 20
|
||||
|
||||
#ifdef CONFIG_XEN_BACKEND
|
||||
extern void xenbus_backend_suspend(int (*fn)(struct device *, void *));
|
||||
extern void xenbus_backend_resume(int (*fn)(struct device *, void *));
|
||||
|
@ -52,7 +54,7 @@ struct xen_bus_type
|
|||
{
|
||||
char *root;
|
||||
unsigned int levels;
|
||||
int (*get_bus_id)(char bus_id[BUS_ID_SIZE], const char *nodename);
|
||||
int (*get_bus_id)(char bus_id[XEN_BUS_ID_SIZE], const char *nodename);
|
||||
int (*probe)(const char *type, const char *dir);
|
||||
struct bus_type bus;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user