[PATCH 7/7] devinfo: beautify output
Sascha Hauer
s.hauer at pengutronix.de
Mon Aug 15 04:46:32 EDT 2011
Files associated to a device showed up in a long list. Instead,
print them in seperate lines and also show offset/size information
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/base/driver.c | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index b8b2f39..0b80103 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -283,32 +283,33 @@ void devices_shutdown(void)
}
#ifdef CONFIG_CMD_DEVINFO
-static int do_devinfo_subtree(struct device_d *dev, int depth, char edge)
+static int do_devinfo_subtree(struct device_d *dev, int depth)
{
struct device_d *child;
struct cdev *cdev;
int i;
for (i = 0; i < depth; i++)
- printf("| ");
+ printf(" ");
- printf("%c----%s", edge, dev_name(dev));
+ printf("`---- %s", dev_name(dev));
if (!list_empty(&dev->cdevs)) {
- printf(" (");
+ printf("\n");
list_for_each_entry(cdev, &dev->cdevs, devices_list) {
- printf("%s", cdev->name);
- if (!list_is_last(&cdev->devices_list, &dev->cdevs))
- printf(", ");
+ for (i = 0; i < depth + 1; i++)
+ printf(" ");
+ printf("`---- 0x%08lx-0x%08lx: /dev/%s\n",
+ cdev->offset,
+ cdev->offset + cdev->size - 1,
+ cdev->name);
}
- printf(")");
+ } else {
+ printf("\n");
}
- printf("\n");
if (!list_empty(&dev->children)) {
device_for_each_child(dev, child) {
- do_devinfo_subtree(child, depth + 1,
- list_is_last(&child->sibling,
- &dev->children) ? '`' : '|');
+ do_devinfo_subtree(child, depth + 1);
}
}
@@ -328,7 +329,7 @@ static int do_devinfo(struct command *cmdtp, int argc, char *argv[])
for_each_device(dev) {
if (!dev->parent)
- do_devinfo_subtree(dev, 0, '|');
+ do_devinfo_subtree(dev, 0);
}
printf("\ndrivers:\n");
--
1.7.5.4
More information about the barebox
mailing list