drivers/clocksource/hyper-v: non ACPI support in hyperv clock

Add a placeholder function for the hv_setup_stimer0_irq API to accommodate
systems without ACPI support. Since this function is not utilized on
x86/x64 systems and non-ACPI support is only intended for x86/x64 systems,
a placeholder function is sufficient for now and can be improved upon if
necessary in the future.

Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/1679298460-11855-2-git-send-email-ssengar@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
Saurabh Sengar 2023-03-20 00:47:36 -07:00 committed by Wei Liu
parent 6a8f57ae2e
commit a4fea9b78e

View File

@ -49,7 +49,7 @@ static bool direct_mode_enabled;
static int stimer0_irq = -1; static int stimer0_irq = -1;
static int stimer0_message_sint; static int stimer0_message_sint;
static DEFINE_PER_CPU(long, stimer0_evt); static __maybe_unused DEFINE_PER_CPU(long, stimer0_evt);
/* /*
* Common code for stimer0 interrupts coming via Direct Mode or * Common code for stimer0 interrupts coming via Direct Mode or
@ -68,7 +68,7 @@ EXPORT_SYMBOL_GPL(hv_stimer0_isr);
* stimer0 interrupt handler for architectures that support * stimer0 interrupt handler for architectures that support
* per-cpu interrupts, which also implies Direct Mode. * per-cpu interrupts, which also implies Direct Mode.
*/ */
static irqreturn_t hv_stimer0_percpu_isr(int irq, void *dev_id) static irqreturn_t __maybe_unused hv_stimer0_percpu_isr(int irq, void *dev_id)
{ {
hv_stimer0_isr(); hv_stimer0_isr();
return IRQ_HANDLED; return IRQ_HANDLED;
@ -196,6 +196,7 @@ void __weak hv_remove_stimer0_handler(void)
{ {
}; };
#ifdef CONFIG_ACPI
/* Called only on architectures with per-cpu IRQs (i.e., not x86/x64) */ /* Called only on architectures with per-cpu IRQs (i.e., not x86/x64) */
static int hv_setup_stimer0_irq(void) static int hv_setup_stimer0_irq(void)
{ {
@ -230,6 +231,16 @@ static void hv_remove_stimer0_irq(void)
stimer0_irq = -1; stimer0_irq = -1;
} }
} }
#else
static int hv_setup_stimer0_irq(void)
{
return 0;
}
static void hv_remove_stimer0_irq(void)
{
}
#endif
/* hv_stimer_alloc - Global initialization of the clockevent and stimer0 */ /* hv_stimer_alloc - Global initialization of the clockevent and stimer0 */
int hv_stimer_alloc(bool have_percpu_irqs) int hv_stimer_alloc(bool have_percpu_irqs)