On Thu, Jun 29, 2023, at 13:45, Thomas Zimmermann wrote: > diff --git a/include/asm-generic/screen_info.h > b/include/asm-generic/screen_info.h > new file mode 100644 > index 0000000000000..6fd0e50fabfcd > --- /dev/null > +++ b/include/asm-generic/screen_info.h > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > + > +#ifndef _ASM_GENERIC_SCREEN_INFO_H > +#define _ASM_GENERIC_SCREEN_INFO_H > + > +#include <uapi/linux/screen_info.h> > + > +#if defined(CONFIG_ARCH_HAS_SCREEN_INFO) > +extern struct screen_info screen_info; > +#endif > + > +#endif /* _ASM_GENERIC_SCREEN_INFO_H */ > diff --git a/include/linux/screen_info.h b/include/linux/screen_info.h > index eab7081392d50..c764b9a51c24b 100644 > --- a/include/linux/screen_info.h > +++ b/include/linux/screen_info.h > @@ -4,6 +4,6 @@ > > #include <uapi/linux/screen_info.h> > > -extern struct screen_info screen_info; > +#include <asm/screen_info.h> > What is the purpose of adding a file in asm-generic? If all architectures use the same generic file, I'd just leave the declaration in include/linux/. I wouldn't bother adding the #ifdef either, but I can see how that helps turn a link error into an earlier compile error. Arnd