dma-debug: add dma_debug_driver kernel command line
authorJoerg Roedel <joerg.roedel@amd.com>
Fri, 22 May 2009 19:49:51 +0000 (21:49 +0200)
committerJoerg Roedel <joerg.roedel@amd.com>
Tue, 2 Jun 2009 14:21:41 +0000 (16:21 +0200)
This patch add the dma_debug_driver= boot parameter to enable the driver
filter for early boot.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Documentation/kernel-parameters.txt
lib/dma-debug.c

index e87bdbfbcc75e236124a526d4456ddf3c6afc4e3..b3f1314588c95a6639547d4a0529323b5c24af2c 100644 (file)
@@ -646,6 +646,13 @@ and is between 256 and 4096 characters. It is defined in the file
                        DMA-API debugging code disables itself because the
                        architectural default is too low.
 
+       dma_debug_driver=<driver_name>
+                       With this option the DMA-API debugging driver
+                       filter feature can be enabled at boot time. Just
+                       pass the driver to filter for as the parameter.
+                       The filter can be disabled or changed to another
+                       driver later using sysfs.
+
        dscc4.setup=    [NET]
 
        dtc3181e=       [HW,SCSI]
index c6330b1a7be70a6c07dea3d314b8bd1e69ae3049..d0618aa13b49c03b295d34f66a636c49efcc08a5 100644 (file)
@@ -1109,3 +1109,21 @@ void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
 }
 EXPORT_SYMBOL(debug_dma_sync_sg_for_device);
 
+static int __init dma_debug_driver_setup(char *str)
+{
+       int i;
+
+       for (i = 0; i < NAME_MAX_LEN - 1; ++i, ++str) {
+               current_driver_name[i] = *str;
+               if (*str == 0)
+                       break;
+       }
+
+       if (current_driver_name[0])
+               printk(KERN_INFO "DMA-API: enable driver filter for "
+                                "driver [%s]\n", current_driver_name);
+
+
+       return 1;
+}
+__setup("dma_debug_driver=", dma_debug_driver_setup);