summaryrefslogtreecommitdiffstats
path: root/drivers/base/Makefile
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-09-12 09:01:56 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-09-23 22:53:15 -0700
commit833c95456a70826d1384883b73fd23aff24d366f (patch)
treebe9235e0df06fdc85deb13d1193b6120ed7196bd /drivers/base/Makefile
parent00e262fd8744678262a0f662f1b5d45fc1f52e10 (diff)
device coredump: add new device coredump class
Many devices run firmware and/or complex hardware, and most of that can have bugs. When it misbehaves, however, it is often much harder to debug than software running on the host. Introduce a "device coredump" mechanism to allow dumping internal device/firmware state through a generalized mechanism. As devices are different and information needed can vary accordingly, this doesn't prescribe a file format - it just provides mechanism to get data to be able to capture it in a generalized way (e.g. in distributions.) The dumped data will be readable in sysfs in the virtual device's data file under /sys/class/devcoredump/devcd*/. Writing to it will free the data and remove the device, as does a 5-minute timeout. Note that generalized capturing of such data may result in privacy issues, so users generally need to be involved. In order to allow certain users/system integrators/... to disable the feature at all, introduce a Kconfig option to override the drivers that would like to have the feature. For now, this provides two ways of dumping data: 1) with a vmalloc'ed area, that is then given to the subsystem and freed after retrieval or timeout 2) with a generalized reader/free function method We could/should add more options, e.g. a list of pages, since the vmalloc area is very limited on some architectures. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/Makefile')
-rw-r--r--drivers/base/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index 4aab26ec029..6922cd6850a 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -21,6 +21,7 @@ obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor.o
obj-$(CONFIG_REGMAP) += regmap/
obj-$(CONFIG_SOC_BUS) += soc.o
obj-$(CONFIG_PINCTRL) += pinctrl.o
+obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o
ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG