mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-04 21:04:46 +08:00
fa1e160b08
Randy reports the following warning when building ARCH=ia64 with CONFIG_IA64_PALINFO=m: ../scripts/Makefile.build:68: 'arch/ia64/kernel/palinfo.ko' will not be built even though obj-m is specified. ../scripts/Makefile.build:69: You cannot use subdir-y/m to visit a module Makefile. Use obj-y/m instead. This message is actually false-positive, and you can get palinfo.ko correctly built. It is emitted in the archprepare stage, where Kbuild descends into arch/ia64/kernel to generate include/generated/nr-irqs.h instead of any kind of kernel objects. arch/ia64/kernel/nr-irqs.c was introduced by commit213060a4d6
("[IA64] pvops: paravirtualize NR_IRQS") to pre-calculate: NR_IRQS = max(IA64_NATIVE_NR_IRQS, XEN_NR_IRQS, FOO_NR_IRQS...) Since commitd52eefb47d
("ia64/xen: Remove Xen support for ia64"), this union contains just one field, making NR_IRQS and IA64_NATIVE_NR_IRQS always match. So, the following hard-coding now works: #define NR_IRQS IA64_NATIVE_NR_IRQS If you need to re-introduce NR_IRQS = max(...) gimmick in the future, please try to implement it in asm-offsets.c instead of a separate file. It will be possible because the header inclusion has been consolidated to make asm-offsets.c independent of <asm/irqs.h>. Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
38 lines
960 B
C
38 lines
960 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_IA64_IRQ_H
|
|
#define _ASM_IA64_IRQ_H
|
|
|
|
/*
|
|
* Copyright (C) 1999-2000, 2002 Hewlett-Packard Co
|
|
* David Mosberger-Tang <davidm@hpl.hp.com>
|
|
* Stephane Eranian <eranian@hpl.hp.com>
|
|
*
|
|
* 11/24/98 S.Eranian updated TIMER_IRQ and irq_canonicalize
|
|
* 01/20/99 S.Eranian added keyboard interrupt
|
|
* 02/29/00 D.Mosberger moved most things into hw_irq.h
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/cpumask.h>
|
|
#include <asm/native/irq.h>
|
|
|
|
#define NR_IRQS IA64_NATIVE_NR_IRQS
|
|
|
|
static __inline__ int
|
|
irq_canonicalize (int irq)
|
|
{
|
|
/*
|
|
* We do the legacy thing here of pretending that irqs < 16
|
|
* are 8259 irqs. This really shouldn't be necessary at all,
|
|
* but we keep it here as serial.c still uses it...
|
|
*/
|
|
return ((irq == 2) ? 9 : irq);
|
|
}
|
|
|
|
extern void set_irq_affinity_info (unsigned int irq, int dest, int redir);
|
|
|
|
int create_irq(void);
|
|
void destroy_irq(unsigned int irq);
|
|
|
|
#endif /* _ASM_IA64_IRQ_H */
|