diff options
Diffstat (limited to 'kernel/irq/irq_sim.c')
| -rw-r--r-- | kernel/irq/irq_sim.c | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c index 24caabf1a0f7..85690859a2a8 100644 --- a/kernel/irq/irq_sim.c +++ b/kernel/irq/irq_sim.c @@ -7,6 +7,7 @@   * option) any later version.   */ +#include <linux/slab.h>  #include <linux/irq_sim.h>  #include <linux/irq.h> @@ -49,7 +50,8 @@ static void irq_sim_handle_irq(struct irq_work *work)   * @sim:        The interrupt simulator object to initialize.   * @num_irqs:   Number of interrupts to allocate   * - * Returns 0 on success and a negative error number on failure. + * On success: return the base of the allocated interrupt range. + * On failure: a negative errno.   */  int irq_sim_init(struct irq_sim *sim, unsigned int num_irqs)  { @@ -78,7 +80,7 @@ int irq_sim_init(struct irq_sim *sim, unsigned int num_irqs)  	init_irq_work(&sim->work_ctx.work, irq_sim_handle_irq);  	sim->irq_count = num_irqs; -	return 0; +	return sim->irq_base;  }  EXPORT_SYMBOL_GPL(irq_sim_init); @@ -110,7 +112,8 @@ static void devm_irq_sim_release(struct device *dev, void *res)   * @sim:        The interrupt simulator object to initialize.   * @num_irqs:   Number of interrupts to allocate   * - * Returns 0 on success and a negative error number on failure. + * On success: return the base of the allocated interrupt range. + * On failure: a negative errno.   */  int devm_irq_sim_init(struct device *dev, struct irq_sim *sim,  		      unsigned int num_irqs) @@ -123,7 +126,7 @@ int devm_irq_sim_init(struct device *dev, struct irq_sim *sim,  		return -ENOMEM;  	rv = irq_sim_init(sim, num_irqs); -	if (rv) { +	if (rv < 0) {  		devres_free(dr);  		return rv;  	} @@ -131,7 +134,7 @@ int devm_irq_sim_init(struct device *dev, struct irq_sim *sim,  	dr->sim = sim;  	devres_add(dev, dr); -	return 0; +	return rv;  }  EXPORT_SYMBOL_GPL(devm_irq_sim_init); | 
