From: javierm@redhat.com (Javier Martinez Canillas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] driver core: add a debugfs entry to show deferred devices
Date: Tue, 19 Jun 2018 22:59:14 +0200 [thread overview]
Message-ID: <20180619205914.21375-1-javierm@redhat.com> (raw)
For debugging purposes it may be useful to know what are the devices whose
probe function was deferred. Add a debugfs entry showing that information.
$ cat /sys/kernel/debug/deferred_devices
48070000.i2c:twl at 48:bci
musb-hdrc.0.auto
omapdrm.0
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
Changes since RFC v1:
- Remove unneeded ret variable from deferred_devs_show()
Changes since RFC v2:
- Use DEFINE_SHOW_ATTRIBUTE() macro.
- Don't propagate debugfs_create_file() error.
- Remove IS_ENABLED(CONFIG_DEBUG_FS) guards.
- Drop RFC prefix.
drivers/base/dd.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 1435d7281c6..8ec9e3cfbe4 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -16,6 +16,7 @@
* Copyright (c) 2007-2009 Novell Inc.
*/
+#include <linux/debugfs.h>
#include <linux/device.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
@@ -224,6 +225,24 @@ void device_unblock_probing(void)
driver_deferred_probe_trigger();
}
+/*
+ * deferred_devs_show() - Show the devices in the deferred probe pending list.
+ */
+static int deferred_devs_show(struct seq_file *s, void *data)
+{
+ struct device_private *curr;
+
+ mutex_lock(&deferred_probe_mutex);
+
+ list_for_each_entry(curr, &deferred_probe_pending_list, deferred_probe)
+ seq_printf(s, "%s\n", dev_name(curr->device));
+
+ mutex_unlock(&deferred_probe_mutex);
+
+ return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(deferred_devs);
+
/**
* deferred_probe_initcall() - Enable probing of deferred devices
*
@@ -233,6 +252,9 @@ void device_unblock_probing(void)
*/
static int deferred_probe_initcall(void)
{
+ debugfs_create_file("deferred_devices", 0444, NULL, NULL,
+ &deferred_devs_fops);
+
driver_deferred_probe_enable = true;
driver_deferred_probe_trigger();
/* Sort as many dependencies as possible before exiting initcalls */
--
2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Javier Martinez Canillas <javierm@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org,
Mark Brown <broonie@kernel.org>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
Rob Herring <robh@kernel.org>,
Javier Martinez Canillas <javierm@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH] driver core: add a debugfs entry to show deferred devices
Date: Tue, 19 Jun 2018 22:59:14 +0200 [thread overview]
Message-ID: <20180619205914.21375-1-javierm@redhat.com> (raw)
For debugging purposes it may be useful to know what are the devices whose
probe function was deferred. Add a debugfs entry showing that information.
$ cat /sys/kernel/debug/deferred_devices
48070000.i2c:twl@48:bci
musb-hdrc.0.auto
omapdrm.0
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
Changes since RFC v1:
- Remove unneeded ret variable from deferred_devs_show()
Changes since RFC v2:
- Use DEFINE_SHOW_ATTRIBUTE() macro.
- Don't propagate debugfs_create_file() error.
- Remove IS_ENABLED(CONFIG_DEBUG_FS) guards.
- Drop RFC prefix.
drivers/base/dd.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 1435d7281c6..8ec9e3cfbe4 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -16,6 +16,7 @@
* Copyright (c) 2007-2009 Novell Inc.
*/
+#include <linux/debugfs.h>
#include <linux/device.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
@@ -224,6 +225,24 @@ void device_unblock_probing(void)
driver_deferred_probe_trigger();
}
+/*
+ * deferred_devs_show() - Show the devices in the deferred probe pending list.
+ */
+static int deferred_devs_show(struct seq_file *s, void *data)
+{
+ struct device_private *curr;
+
+ mutex_lock(&deferred_probe_mutex);
+
+ list_for_each_entry(curr, &deferred_probe_pending_list, deferred_probe)
+ seq_printf(s, "%s\n", dev_name(curr->device));
+
+ mutex_unlock(&deferred_probe_mutex);
+
+ return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(deferred_devs);
+
/**
* deferred_probe_initcall() - Enable probing of deferred devices
*
@@ -233,6 +252,9 @@ void device_unblock_probing(void)
*/
static int deferred_probe_initcall(void)
{
+ debugfs_create_file("deferred_devices", 0444, NULL, NULL,
+ &deferred_devs_fops);
+
driver_deferred_probe_enable = true;
driver_deferred_probe_trigger();
/* Sort as many dependencies as possible before exiting initcalls */
--
2.17.1
next reply other threads:[~2018-06-19 20:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 20:59 Javier Martinez Canillas [this message]
2018-06-19 20:59 ` [PATCH] driver core: add a debugfs entry to show deferred devices Javier Martinez Canillas
2018-06-19 21:06 ` Andy Shevchenko
2018-06-19 21:06 ` Andy Shevchenko
2018-06-19 22:51 ` Greg Kroah-Hartman
2018-06-19 22:51 ` Greg Kroah-Hartman
2018-06-19 23:43 ` Andy Shevchenko
2018-06-19 23:43 ` Andy Shevchenko
2018-06-20 9:04 ` Javier Martinez Canillas
2018-06-20 9:04 ` Javier Martinez Canillas
2018-06-20 8:46 ` Javier Martinez Canillas
2018-06-20 8:46 ` Javier Martinez Canillas
2018-06-20 9:48 ` Javier Martinez Canillas
2018-06-20 9:48 ` Javier Martinez Canillas
2018-06-20 10:54 ` Mark Brown
2018-06-20 10:54 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180619205914.21375-1-javierm@redhat.com \
--to=javierm@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.