Hi,
Here are some fixes for 2.4.21 (current linuxppc_2_4):
- arch/ppc/kernel/checks.c: Kill warning about undeclared printf() by
including <stdio.h> _after_ all other includes (including it first doesn't
work)
- arch/ppc/kernel/open_pic.c: Kill warning about unused openpic_reset(). An
alternative is to add an #ifdef, but since it's never used before its
definition, just removing the forward declaration looks better to me
- arch/ppc/kernel/ppc_ksyms.c, arch/ppc/kernel/setup.c: Define and export
screen_info unconditionally, so vga16fb can be built as a module. An
alternative is to make the definition dependent on CONFIG_FB_VGA16 ||
CONFIG_FB_VGA16_MODULE, and the export on CONFIG_FB_VGA16_MODULE, but this
is ugly.
Another reason is that screen_info is referenced in
arch/ppc/platforms/prep_setup.c on the following (complex) condition:
#if defined(CONFIG_PREP_RESIDUAL) && \
(defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \
defined(CONFIG_FB_VESA))
which causes a link failure with the current code, too. The alternative
#ifdef solution would clutter this even more...
- include/asm-ppc/posix_types.h: Kill warning about incorrect printf()-style
format in the ext2 code by making __kernel_ino_t unsigned long, like on
most other architectures.
--- linuxppc_2_4/arch/ppc/kernel/checks.c.orig Fri Jun 13 18:06:31 2003+++ linuxppc_2_4/arch/ppc/kernel/checks.c Fri Jun 13 21:56:25 2003
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
On Sat, Jun 14, 2003 at 11:38:01AM +0200, Geert Uytterhoeven wrote:
- arch/ppc/kernel/checks.c: Kill warning about undeclared printf() by
including <stdio.h> _after_ all other includes (including it first doesn't
work)
This should probably just die since it hasn't been useful in a long
time.
- arch/ppc/kernel/open_pic.c: Kill warning about unused openpic_reset(). An
alternative is to add an #ifdef, but since it's never used before its
definition, just removing the forward declaration looks better to me
That reference can go, but the actual call needs an ifdef, see _devel.
- arch/ppc/kernel/ppc_ksyms.c, arch/ppc/kernel/setup.c: Define and export
screen_info unconditionally, so vga16fb can be built as a module. An
alternative is to make the definition dependent on CONFIG_FB_VGA16 ||
CONFIG_FB_VGA16_MODULE, and the export on CONFIG_FB_VGA16_MODULE, but this
is ugly.
Another reason is that screen_info is referenced in
arch/ppc/platforms/prep_setup.c on the following (complex) condition:
#if defined(CONFIG_PREP_RESIDUAL) && \
(defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \
defined(CONFIG_FB_VESA))
which causes a link failure with the current code, too. The alternative
#ifdef solution would clutter this even more...
Eh? What set of conditionals doesn't work, in _devel ? In fact, I bet
what happened is that when Paul updated the prep stuff he forgot to grab
the screen_info stuff. IIRC, there was a "good" reason for not doing it
unconditionally, possibly wasted space.
- include/asm-ppc/posix_types.h: Kill warning about incorrect printf()-style
format in the ext2 code by making __kernel_ino_t unsigned long, like on
most other architectures.
From: Paul Mackerras <hidden> Date: 2003-06-19 01:52:56
Geert Uytterhoeven writes:
- arch/ppc/kernel/checks.c: Kill warning about undeclared printf() by
including <stdio.h> _after_ all other includes (including it first doesn't
work)
checks.c is broken for cross-compiling anyway, I would rather just
remove it.
- arch/ppc/kernel/open_pic.c: Kill warning about unused openpic_reset(). An
alternative is to add an #ifdef, but since it's never used before its
definition, just removing the forward declaration looks better to me
OK.
- arch/ppc/kernel/ppc_ksyms.c, arch/ppc/kernel/setup.c: Define and export
screen_info unconditionally, so vga16fb can be built as a module. An
alternative is to make the definition dependent on CONFIG_FB_VGA16 ||
CONFIG_FB_VGA16_MODULE, and the export on CONFIG_FB_VGA16_MODULE, but this
is ugly.
Another reason is that screen_info is referenced in
arch/ppc/platforms/prep_setup.c on the following (complex) condition:
#if defined(CONFIG_PREP_RESIDUAL) && \
(defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \
defined(CONFIG_FB_VESA))
which causes a link failure with the current code, too. The alternative
#ifdef solution would clutter this even more...
I think we could make this depend on CONFIG_FB. I don't think we want
to make it depend on CONFIG_FB_VGA_16_MODULE since that would mean
that you couldn't set CONFIG_FB_VGA_16=m and make a module that would
work with an existing kernel that had been compiled with
CONFIG_FB_VGA_16=n. The screen_info structure is only 52 bytes so
it's not that big a deal to have it always included if CONFIG_FB=y.
- include/asm-ppc/posix_types.h: Kill warning about incorrect printf()-style
format in the ext2 code by making __kernel_ino_t unsigned long, like on
most other architectures.
Yes, good idea.
I'll send this stuff to Marcelo in due course.
Paul.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
- arch/ppc/kernel/ppc_ksyms.c, arch/ppc/kernel/setup.c: Define and export
screen_info unconditionally, so vga16fb can be built as a module. An
alternative is to make the definition dependent on CONFIG_FB_VGA16 ||
CONFIG_FB_VGA16_MODULE, and the export on CONFIG_FB_VGA16_MODULE, but this
is ugly.
Another reason is that screen_info is referenced in
arch/ppc/platforms/prep_setup.c on the following (complex) condition:
#if defined(CONFIG_PREP_RESIDUAL) && \
(defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \
defined(CONFIG_FB_VESA))
which causes a link failure with the current code, too. The alternative
#ifdef solution would clutter this even more...
I think we could make this depend on CONFIG_FB. I don't think we want
Don't forget it's also needed for CONFIG_VGA_CONSOLE.
to make it depend on CONFIG_FB_VGA_16_MODULE since that would mean
that you couldn't set CONFIG_FB_VGA_16=m and make a module that would
work with an existing kernel that had been compiled with
CONFIG_FB_VGA_16=n. The screen_info structure is only 52 bytes so
it's not that big a deal to have it always included if CONFIG_FB=y.
BTW, the only reason it's needed for vga16fb is the ORIG_VIDEO_ISVGA define.
Perhaps there's some way to kill that one? It's useless on machines without a
PC BIOS anyway. If we would hardcode all ORIG_VIDEO_* defines in <linux/tty.h>,
we can get rid of screen_info for both vga16fb and vgacon.
Then all that's left is screen_info.orig_video_isVGA in vesafb.c...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/