Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 64711
b: refs/heads/master
c: d861241
h: refs/heads/master
i:
  64709: 939ea6e
  64707: 70714df
  64703: 3cbfc51
v: v3
  • Loading branch information
Joachim Fenkes authored and Paul Mackerras committed Sep 10, 2007
1 parent e5062e7 commit 6fdc69d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d51dd3de87026cb0ea1ea5f873f08e930053bfc5
refs/heads/master: d8612417b2f78767b96ca434b50d23e5cdfcde07
30 changes: 9 additions & 21 deletions trunk/arch/powerpc/kernel/ibmebus.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,33 +188,21 @@ static struct ibmebus_dev* __devinit ibmebus_register_device_node(
struct device_node *dn)
{
struct ibmebus_dev *dev;
const char *loc_code;
int length;

loc_code = of_get_property(dn, "ibm,loc-code", NULL);
if (!loc_code) {
printk(KERN_WARNING "%s: node %s missing 'ibm,loc-code'\n",
__FUNCTION__, dn->name ? dn->name : "<unknown>");
return ERR_PTR(-EINVAL);
}

if (strlen(loc_code) == 0) {
printk(KERN_WARNING "%s: 'ibm,loc-code' is invalid\n",
__FUNCTION__);
return ERR_PTR(-EINVAL);
}
int i, len, bus_len;

dev = kzalloc(sizeof(struct ibmebus_dev), GFP_KERNEL);
if (!dev) {
if (!dev)
return ERR_PTR(-ENOMEM);
}

dev->ofdev.node = of_node_get(dn);

length = strlen(loc_code);
memcpy(dev->ofdev.dev.bus_id, loc_code
+ (length - min(length, BUS_ID_SIZE - 1)),
min(length, BUS_ID_SIZE - 1));
len = strlen(dn->full_name + 1);
bus_len = min(len, BUS_ID_SIZE - 1);
memcpy(dev->ofdev.dev.bus_id, dn->full_name + 1
+ (len - bus_len), bus_len);
for (i = 0; i < bus_len; i++)
if (dev->ofdev.dev.bus_id[i] == '/')
dev->ofdev.dev.bus_id[i] = '_';

/* Register with generic device framework. */
if (ibmebus_register_device_common(dev, dn->name) != 0) {
Expand Down

0 comments on commit 6fdc69d

Please sign in to comment.