OSDN Git Service

genirq/devres: Use dev_name(dev) as default for devname
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 12 Feb 2017 15:31:44 +0000 (16:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 12 Feb 2017 18:49:25 +0000 (19:49 +0100)
Allow the devname parameter to be NULL and use dev_name(dev) in this case.
This should be an appropriate default for most use cases.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: http://lkml.kernel.org/r/05c63d67-30b4-7026-02d5-ce7fb7bc185f@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/devres.c

index 18babef..1613bfd 100644 (file)
@@ -34,7 +34,7 @@ static int devm_irq_match(struct device *dev, void *res, void *data)
  *     @thread_fn: function to be called in a threaded interrupt context. NULL
  *                 for devices which handle everything in @handler
  *     @irqflags: Interrupt type flags
- *     @devname: An ascii name for the claiming device
+ *     @devname: An ascii name for the claiming device, dev_name(dev) if NULL
  *     @dev_id: A cookie passed back to the handler function
  *
  *     Except for the extra @dev argument, this function takes the
@@ -58,6 +58,9 @@ int devm_request_threaded_irq(struct device *dev, unsigned int irq,
        if (!dr)
                return -ENOMEM;
 
+       if (!devname)
+               devname = dev_name(dev);
+
        rc = request_threaded_irq(irq, handler, thread_fn, irqflags, devname,
                                  dev_id);
        if (rc) {
@@ -81,7 +84,7 @@ EXPORT_SYMBOL(devm_request_threaded_irq);
  *     @thread_fn: function to be called in a threaded interrupt context. NULL
  *                 for devices which handle everything in @handler
  *     @irqflags: Interrupt type flags
- *     @devname: An ascii name for the claiming device
+ *     @devname: An ascii name for the claiming device, dev_name(dev) if NULL
  *     @dev_id: A cookie passed back to the handler function
  *
  *     Except for the extra @dev argument, this function takes the
@@ -104,6 +107,9 @@ int devm_request_any_context_irq(struct device *dev, unsigned int irq,
        if (!dr)
                return -ENOMEM;
 
+       if (!devname)
+               devname = dev_name(dev);
+
        rc = request_any_context_irq(irq, handler, irqflags, devname, dev_id);
        if (rc < 0) {
                devres_free(dr);