mirror of https://github.com/hak5/openwrt.git
238 lines
8.1 KiB
Diff
238 lines
8.1 KiB
Diff
From aab0d375e01d8c16e7e5b9bd915dfaa0a815418f Mon Sep 17 00:00:00 2001
|
|
From: Kay Sievers <kay.sievers@vrfy.org>
|
|
Date: Thu, 4 Dec 2008 10:02:56 -0800
|
|
Subject: [PATCH] powerpc: struct device - replace bus_id with dev_name(), dev_set_name()
|
|
|
|
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
|
|
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
---
|
|
arch/powerpc/kernel/ibmebus.c | 2 +-
|
|
arch/powerpc/kernel/of_device.c | 18 +++++++-----------
|
|
arch/powerpc/kernel/vio.c | 12 ++++++------
|
|
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 6 +++---
|
|
arch/powerpc/platforms/ps3/system-bus.c | 28 ++++++++++++----------------
|
|
5 files changed, 29 insertions(+), 37 deletions(-)
|
|
|
|
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
|
|
index 7c65377..6e3f624 100644
|
|
--- a/arch/powerpc/kernel/ibmebus.c
|
|
+++ b/arch/powerpc/kernel/ibmebus.c
|
|
@@ -47,7 +47,7 @@
|
|
#include <asm/abs_addr.h>
|
|
|
|
static struct device ibmebus_bus_device = { /* fake "parent" device */
|
|
- .bus_id = "ibmebus",
|
|
+ .init_name = "ibmebus",
|
|
};
|
|
|
|
struct bus_type ibmebus_bus_type;
|
|
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
|
|
index f3c9cae..fa983a5 100644
|
|
--- a/arch/powerpc/kernel/of_device.c
|
|
+++ b/arch/powerpc/kernel/of_device.c
|
|
@@ -14,7 +14,6 @@ static void of_device_make_bus_id(struct of_device *dev)
|
|
{
|
|
static atomic_t bus_no_reg_magic;
|
|
struct device_node *node = dev->node;
|
|
- char *name = dev->dev.bus_id;
|
|
const u32 *reg;
|
|
u64 addr;
|
|
int magic;
|
|
@@ -27,14 +26,12 @@ static void of_device_make_bus_id(struct of_device *dev)
|
|
reg = of_get_property(node, "dcr-reg", NULL);
|
|
if (reg) {
|
|
#ifdef CONFIG_PPC_DCR_NATIVE
|
|
- snprintf(name, BUS_ID_SIZE, "d%x.%s",
|
|
- *reg, node->name);
|
|
+ dev_set_name(&dev->dev, "d%x.%s", *reg, node->name);
|
|
#else /* CONFIG_PPC_DCR_NATIVE */
|
|
addr = of_translate_dcr_address(node, *reg, NULL);
|
|
if (addr != OF_BAD_ADDR) {
|
|
- snprintf(name, BUS_ID_SIZE,
|
|
- "D%llx.%s", (unsigned long long)addr,
|
|
- node->name);
|
|
+ dev_set_name(&dev->dev, "D%llx.%s",
|
|
+ (unsigned long long)addr, node->name);
|
|
return;
|
|
}
|
|
#endif /* !CONFIG_PPC_DCR_NATIVE */
|
|
@@ -48,9 +45,8 @@ static void of_device_make_bus_id(struct of_device *dev)
|
|
if (reg) {
|
|
addr = of_translate_address(node, reg);
|
|
if (addr != OF_BAD_ADDR) {
|
|
- snprintf(name, BUS_ID_SIZE,
|
|
- "%llx.%s", (unsigned long long)addr,
|
|
- node->name);
|
|
+ dev_set_name(&dev->dev, "%llx.%s",
|
|
+ (unsigned long long)addr, node->name);
|
|
return;
|
|
}
|
|
}
|
|
@@ -60,7 +56,7 @@ static void of_device_make_bus_id(struct of_device *dev)
|
|
* counter (and pray...)
|
|
*/
|
|
magic = atomic_add_return(1, &bus_no_reg_magic);
|
|
- snprintf(name, BUS_ID_SIZE, "%s.%d", node->name, magic - 1);
|
|
+ dev_set_name(&dev->dev, "%s.%d", node->name, magic - 1);
|
|
}
|
|
|
|
struct of_device *of_device_alloc(struct device_node *np,
|
|
@@ -80,7 +76,7 @@ struct of_device *of_device_alloc(struct device_node *np,
|
|
dev->dev.archdata.of_node = np;
|
|
|
|
if (bus_id)
|
|
- strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE);
|
|
+ dev_set_name(&dev->dev, bus_id);
|
|
else
|
|
of_device_make_bus_id(dev);
|
|
|
|
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
|
|
index a11e6bc..94aa7b0 100644
|
|
--- a/arch/powerpc/kernel/vio.c
|
|
+++ b/arch/powerpc/kernel/vio.c
|
|
@@ -41,9 +41,9 @@
|
|
static struct bus_type vio_bus_type;
|
|
|
|
static struct vio_dev vio_bus_device = { /* fake "parent" device */
|
|
- .name = vio_bus_device.dev.bus_id,
|
|
+ .name = "vio",
|
|
.type = "",
|
|
- .dev.bus_id = "vio",
|
|
+ .dev.init_name = "vio",
|
|
.dev.bus = &vio_bus_type,
|
|
};
|
|
|
|
@@ -1216,7 +1216,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
|
|
|
|
viodev->irq = irq_of_parse_and_map(of_node, 0);
|
|
|
|
- snprintf(viodev->dev.bus_id, BUS_ID_SIZE, "%x", *unit_address);
|
|
+ dev_set_name(&viodev->dev, "%x", *unit_address);
|
|
viodev->name = of_node->name;
|
|
viodev->type = of_node->type;
|
|
viodev->unit_address = *unit_address;
|
|
@@ -1243,7 +1243,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
|
|
/* register with generic device framework */
|
|
if (device_register(&viodev->dev)) {
|
|
printk(KERN_ERR "%s: failed to register device %s\n",
|
|
- __func__, viodev->dev.bus_id);
|
|
+ __func__, dev_name(&viodev->dev));
|
|
/* XXX free TCE table */
|
|
kfree(viodev);
|
|
return NULL;
|
|
@@ -1400,13 +1400,13 @@ static struct vio_dev *vio_find_name(const char *name)
|
|
struct vio_dev *vio_find_node(struct device_node *vnode)
|
|
{
|
|
const uint32_t *unit_address;
|
|
- char kobj_name[BUS_ID_SIZE];
|
|
+ char kobj_name[20];
|
|
|
|
/* construct the kobject name from the device node */
|
|
unit_address = of_get_property(vnode, "reg", NULL);
|
|
if (!unit_address)
|
|
return NULL;
|
|
- snprintf(kobj_name, BUS_ID_SIZE, "%x", *unit_address);
|
|
+ snprintf(kobj_name, sizeof(kobj_name), "%x", *unit_address);
|
|
|
|
return vio_find_name(kobj_name);
|
|
}
|
|
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c
|
|
index d3da1e6..ee0d229 100644
|
|
--- a/arch/powerpc/platforms/ps3/system-bus.c
|
|
+++ b/arch/powerpc/platforms/ps3/system-bus.c
|
|
@@ -31,7 +31,7 @@
|
|
#include "platform.h"
|
|
|
|
static struct device ps3_system_bus = {
|
|
- .bus_id = "ps3_system",
|
|
+ .init_name = "ps3_system",
|
|
};
|
|
|
|
/* FIXME: need device usage counters! */
|
|
@@ -356,12 +356,12 @@ static int ps3_system_bus_match(struct device *_dev,
|
|
if (result)
|
|
pr_info("%s:%d: dev=%u.%u(%s), drv=%u.%u(%s): match\n",
|
|
__func__, __LINE__,
|
|
- dev->match_id, dev->match_sub_id, dev->core.bus_id,
|
|
+ dev->match_id, dev->match_sub_id, dev_name(&dev->core),
|
|
drv->match_id, drv->match_sub_id, drv->core.name);
|
|
else
|
|
pr_debug("%s:%d: dev=%u.%u(%s), drv=%u.%u(%s): miss\n",
|
|
__func__, __LINE__,
|
|
- dev->match_id, dev->match_sub_id, dev->core.bus_id,
|
|
+ dev->match_id, dev->match_sub_id, dev_name(&dev->core),
|
|
drv->match_id, drv->match_sub_id, drv->core.name);
|
|
|
|
return result;
|
|
@@ -383,9 +383,9 @@ static int ps3_system_bus_probe(struct device *_dev)
|
|
result = drv->probe(dev);
|
|
else
|
|
pr_debug("%s:%d: %s no probe method\n", __func__, __LINE__,
|
|
- dev->core.bus_id);
|
|
+ dev_name(&dev->core));
|
|
|
|
- pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev->core.bus_id);
|
|
+ pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev_name(&dev->core));
|
|
return result;
|
|
}
|
|
|
|
@@ -407,7 +407,7 @@ static int ps3_system_bus_remove(struct device *_dev)
|
|
dev_dbg(&dev->core, "%s:%d %s: no remove method\n",
|
|
__func__, __LINE__, drv->core.name);
|
|
|
|
- pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev->core.bus_id);
|
|
+ pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev_name(&dev->core));
|
|
return result;
|
|
}
|
|
|
|
@@ -432,7 +432,7 @@ static void ps3_system_bus_shutdown(struct device *_dev)
|
|
BUG_ON(!drv);
|
|
|
|
dev_dbg(&dev->core, "%s:%d: %s -> %s\n", __func__, __LINE__,
|
|
- dev->core.bus_id, drv->core.name);
|
|
+ dev_name(&dev->core), drv->core.name);
|
|
|
|
if (drv->shutdown)
|
|
drv->shutdown(dev);
|
|
@@ -744,22 +744,18 @@ int ps3_system_bus_device_register(struct ps3_system_bus_device *dev)
|
|
switch (dev->dev_type) {
|
|
case PS3_DEVICE_TYPE_IOC0:
|
|
dev->core.archdata.dma_ops = &ps3_ioc0_dma_ops;
|
|
- snprintf(dev->core.bus_id, sizeof(dev->core.bus_id),
|
|
- "ioc0_%02x", ++dev_ioc0_count);
|
|
+ dev_set_name(&dev->core, "ioc0_%02x", ++dev_ioc0_count);
|
|
break;
|
|
case PS3_DEVICE_TYPE_SB:
|
|
dev->core.archdata.dma_ops = &ps3_sb_dma_ops;
|
|
- snprintf(dev->core.bus_id, sizeof(dev->core.bus_id),
|
|
- "sb_%02x", ++dev_sb_count);
|
|
+ dev_set_name(&dev->core, "sb_%02x", ++dev_sb_count);
|
|
|
|
break;
|
|
case PS3_DEVICE_TYPE_VUART:
|
|
- snprintf(dev->core.bus_id, sizeof(dev->core.bus_id),
|
|
- "vuart_%02x", ++dev_vuart_count);
|
|
+ dev_set_name(&dev->core, "vuart_%02x", ++dev_vuart_count);
|
|
break;
|
|
case PS3_DEVICE_TYPE_LPM:
|
|
- snprintf(dev->core.bus_id, sizeof(dev->core.bus_id),
|
|
- "lpm_%02x", ++dev_lpm_count);
|
|
+ dev_set_name(&dev->core, "lpm_%02x", ++dev_lpm_count);
|
|
break;
|
|
default:
|
|
BUG();
|
|
@@ -768,7 +764,7 @@ int ps3_system_bus_device_register(struct ps3_system_bus_device *dev)
|
|
dev->core.archdata.of_node = NULL;
|
|
set_dev_node(&dev->core, 0);
|
|
|
|
- pr_debug("%s:%d add %s\n", __func__, __LINE__, dev->core.bus_id);
|
|
+ pr_debug("%s:%d add %s\n", __func__, __LINE__, dev_name(&dev->core));
|
|
|
|
result = device_register(&dev->core);
|
|
return result;
|
|
--
|
|
1.6.0.4
|
|
|