From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937218AbdIZRGf (ORCPT ); Tue, 26 Sep 2017 13:06:35 -0400 Received: from mail-lf0-f50.google.com ([209.85.215.50]:47122 "EHLO mail-lf0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935589AbdIZRGd (ORCPT ); Tue, 26 Sep 2017 13:06:33 -0400 X-Google-Smtp-Source: AOwi7QB/4JCD+0Dt1O5EE7o0afjS5/xY2AOX4SXXK7U620Z/lhYykgH4mfuvnkCkWD8KKH+nBK+gYQ== From: Bartosz Golaszewski To: Thomas Gleixner , Marc Zyngier , Jonathan Cameron Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH] irq/irq_sim: implement irq_sim_baseirq() Date: Tue, 26 Sep 2017 19:06:29 +0200 Message-Id: <20170926170629.32673-1-brgl@bgdev.pl> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some users need to access the base of the allocated interrupt range. Although this can be calculated manually, it's more elegant to expose an interface for that. Signed-off-by: Bartosz Golaszewski --- When porting the iio_dummy_evgen to using irq_sim I needed to manually calculate the base interrupt number. If this gets merged, I'll update the iio driver for 4.16. include/linux/irq_sim.h | 1 + kernel/irq/irq_sim.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/linux/irq_sim.h b/include/linux/irq_sim.h index 0380d899b955..246f593face8 100644 --- a/include/linux/irq_sim.h +++ b/include/linux/irq_sim.h @@ -40,5 +40,6 @@ int devm_irq_sim_init(struct device *dev, struct irq_sim *sim, void irq_sim_fini(struct irq_sim *sim); void irq_sim_fire(struct irq_sim *sim, unsigned int offset); int irq_sim_irqnum(struct irq_sim *sim, unsigned int offset); +int irq_sim_baseirq(struct irq_sim *sim); #endif /* _LINUX_IRQ_SIM_H */ diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c index 24caabf1a0f7..9438599d0fc9 100644 --- a/kernel/irq/irq_sim.c +++ b/kernel/irq/irq_sim.c @@ -162,3 +162,14 @@ int irq_sim_irqnum(struct irq_sim *sim, unsigned int offset) return sim->irqs[offset].irqnum; } EXPORT_SYMBOL_GPL(irq_sim_irqnum); + +/** + * irq_sim_baseirq - Get the base interrupt number. + * + * @sim: The interrupt simulator object. + */ +int irq_sim_baseirq(struct irq_sim *sim) +{ + return irq_sim_irqnum(sim, 0); +} +EXPORT_SYMBOL_GPL(irq_sim_baseirq); -- 2.13.2