2021-02-12 05:51:50

by kernel test robot

[permalink] [raw]
Subject: arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared

Hi Arnd,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: a734bbf694270dca8594a5c33375867dc31503f5 m68k: m68328: move platform code to separate files
date: 10 weeks ago
config: m68k-randconfig-r001-20210211 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a734bbf694270dca8594a5c33375867dc31503f5
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a734bbf694270dca8594a5c33375867dc31503f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

arch/m68k/68000/dragen2.c:38:13: warning: no previous prototype for 'init_dragen2' [-Wmissing-prototypes]
38 | void __init init_dragen2(char *command, int size)
| ^~~~~~~~~~~~
arch/m68k/68000/dragen2.c: In function 'init_dragen2':
>> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
73 | LSSA = (long) screen_bits;
| ^~~~~~~~~~~
arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in


vim +/screen_bits +73 arch/m68k/68000/dragen2.c

37
> 38 void __init init_dragen2(char *command, int size)
39 {
40 mach_reset = dragen2_reset;
41
42 #ifdef CONFIG_DIRECT_IO_ACCESS
43 SCR = 0x10; /* allow user access to internal registers */
44 #endif
45
46 /* CSGB Init */
47 CSGBB = 0x4000;
48 CSB = 0x1a1;
49
50 /* CS8900 init */
51 /* PK3: hardware sleep function pin, active low */
52 PKSEL |= PK(3); /* select pin as I/O */
53 PKDIR |= PK(3); /* select pin as output */
54 PKDATA |= PK(3); /* set pin high */
55
56 /* PF5: hardware reset function pin, active high */
57 PFSEL |= PF(5); /* select pin as I/O */
58 PFDIR |= PF(5); /* select pin as output */
59 PFDATA &= ~PF(5); /* set pin low */
60
61 /* cs8900 hardware reset */
62 PFDATA |= PF(5);
63 { int i; for (i = 0; i < 32000; ++i); }
64 PFDATA &= ~PF(5);
65
66 /* INT1 enable (cs8900 IRQ) */
67 PDPOL &= ~PD(1); /* active high signal */
68 PDIQEG &= ~PD(1);
69 PDIRQEN |= PD(1); /* IRQ enabled */
70
71 #ifdef CONFIG_INIT_LCD
72 /* initialize LCD controller */
> 73 LSSA = (long) screen_bits;

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (3.12 kB)
.config.gz (24.63 kB)
Download all attachments

2021-02-12 10:11:00

by Arnd Bergmann

[permalink] [raw]
Subject: Re: arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared

On Fri, Feb 12, 2021 at 6:48 AM kernel test robot <[email protected]> wrote:
>
> FYI, the error/warning still remains.

> | ^~~~~~~~~~~~
> arch/m68k/68000/dragen2.c: In function 'init_dragen2':
> >> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
> 73 | LSSA = (long) screen_bits;
> | ^~~~~~~~~~~
> arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in

This problem existed before my patch, I just moved the line to another file.
To fix it, one needs to test on real hardware and figure out what is supposed
to go in there.

The bug was apparently introduced in linux-2.5.70 in this commit:

commit 2b1a7e97c8c2d6330a432cbcaf83a0ef5fab848e
Author: gerg <gerg>
Date: Mon May 26 16:45:57 2003 +0000

[PATCH] fix m68knommu DragonEngine2 target setup code

Numerous fixes for the m68knommu DragonEngine2 setup code.

It was out of date relative to more recent kernels. Original patches
from Georges Menie.

BKrev: 3ed244c5dPVeFKP63b4kkeS_rEshag


Arnd

2021-02-17 04:56:59

by Greg Ungerer

[permalink] [raw]
Subject: Re: [SPAM?]Re: arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared

Hi Arnd,

On 12/2/21 8:05 pm, Arnd Bergmann wrote:
> On Fri, Feb 12, 2021 at 6:48 AM kernel test robot <[email protected]> wrote:
>>
>> FYI, the error/warning still remains.
>
>> | ^~~~~~~~~~~~
>> arch/m68k/68000/dragen2.c: In function 'init_dragen2':
>>>> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
>> 73 | LSSA = (long) screen_bits;
>> | ^~~~~~~~~~~
>> arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in
>
> This problem existed before my patch, I just moved the line to another file.
> To fix it, one needs to test on real hardware and figure out what is supposed
> to go in there.
>
> The bug was apparently introduced in linux-2.5.70 in this commit:
>
> commit 2b1a7e97c8c2d6330a432cbcaf83a0ef5fab848e
> Author: gerg <gerg>
> Date: Mon May 26 16:45:57 2003 +0000
>
> [PATCH] fix m68knommu DragonEngine2 target setup code
>
> Numerous fixes for the m68knommu DragonEngine2 setup code.
>
> It was out of date relative to more recent kernels. Original patches
> from Georges Menie.
>
> BKrev: 3ed244c5dPVeFKP63b4kkeS_rEshag

Digging around a bit I think the screen_bits data structure was
originally in a screen.h file that was generated from a screen.xbm file.
That was removed in commit 0c0e6db80683 ("m68k: drop unused parts of
68VZ328 Makefile").

Obviously no one seems to be using this, that has been broken for a long
time now.

I could restore the generated screen.h here, so this could compile at
least. I don't have any of the hardware supported in the arch/m68k/68000
directory, so I can't test anything we fix in there.

The other option is to remove the dragen code altogether.


Regards
Greg


2021-02-17 11:49:58

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [SPAM?]Re: arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared

Hi Greg,

On Wed, Feb 17, 2021 at 5:59 AM Greg Ungerer <[email protected]> wrote:
> On 12/2/21 8:05 pm, Arnd Bergmann wrote:
> > On Fri, Feb 12, 2021 at 6:48 AM kernel test robot <[email protected]> wrote:
> >> FYI, the error/warning still remains.
> >
> >> | ^~~~~~~~~~~~
> >> arch/m68k/68000/dragen2.c: In function 'init_dragen2':
> >>>> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
> >> 73 | LSSA = (long) screen_bits;
> >> | ^~~~~~~~~~~
> >> arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in
> >
> > This problem existed before my patch, I just moved the line to another file.
> > To fix it, one needs to test on real hardware and figure out what is supposed
> > to go in there.
> >
> > The bug was apparently introduced in linux-2.5.70 in this commit:
> >
> > commit 2b1a7e97c8c2d6330a432cbcaf83a0ef5fab848e
> > Author: gerg <gerg>
> > Date: Mon May 26 16:45:57 2003 +0000
> >
> > [PATCH] fix m68knommu DragonEngine2 target setup code
> >
> > Numerous fixes for the m68knommu DragonEngine2 setup code.
> >
> > It was out of date relative to more recent kernels. Original patches
> > from Georges Menie.
> >
> > BKrev: 3ed244c5dPVeFKP63b4kkeS_rEshag
>
> Digging around a bit I think the screen_bits data structure was
> originally in a screen.h file that was generated from a screen.xbm file.
> That was removed in commit 0c0e6db80683 ("m68k: drop unused parts of
> 68VZ328 Makefile").
>
> Obviously no one seems to be using this, that has been broken for a long
> time now.
>
> I could restore the generated screen.h here, so this could compile at
> least. I don't have any of the hardware supported in the arch/m68k/68000
> directory, so I can't test anything we fix in there.

Do you have the generated screen.h?
Looks like both the tool (xbm2lcd.pl) and the source (screen.xbm)
never made it upstream?

> The other option is to remove the dragen code altogether.

Just remove the part protected by checks for CONFIG_INIT_LCD?

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

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

2021-02-17 12:25:29

by Greg Ungerer

[permalink] [raw]
Subject: Re: [SPAM?]Re: arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared

Hi Geert,

On 17/2/21 9:42 pm, Geert Uytterhoeven wrote:
> Hi Greg,
>
> On Wed, Feb 17, 2021 at 5:59 AM Greg Ungerer <[email protected]> wrote:
>> On 12/2/21 8:05 pm, Arnd Bergmann wrote:
>>> On Fri, Feb 12, 2021 at 6:48 AM kernel test robot <[email protected]> wrote:
>>>> FYI, the error/warning still remains.
>>>
>>>> | ^~~~~~~~~~~~
>>>> arch/m68k/68000/dragen2.c: In function 'init_dragen2':
>>>>>> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
>>>> 73 | LSSA = (long) screen_bits;
>>>> | ^~~~~~~~~~~
>>>> arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in
>>>
>>> This problem existed before my patch, I just moved the line to another file.
>>> To fix it, one needs to test on real hardware and figure out what is supposed
>>> to go in there.
>>>
>>> The bug was apparently introduced in linux-2.5.70 in this commit:
>> >
>>> commit 2b1a7e97c8c2d6330a432cbcaf83a0ef5fab848e
>>> Author: gerg <gerg>
>>> Date: Mon May 26 16:45:57 2003 +0000
>>>
>>> [PATCH] fix m68knommu DragonEngine2 target setup code
>>>
>>> Numerous fixes for the m68knommu DragonEngine2 setup code.
>>>
>>> It was out of date relative to more recent kernels. Original patches
>>> from Georges Menie.
>>>
>>> BKrev: 3ed244c5dPVeFKP63b4kkeS_rEshag
>>
>> Digging around a bit I think the screen_bits data structure was
>> originally in a screen.h file that was generated from a screen.xbm file.
>> That was removed in commit 0c0e6db80683 ("m68k: drop unused parts of
>> 68VZ328 Makefile").
>>
>> Obviously no one seems to be using this, that has been broken for a long
>> time now.
>>
>> I could restore the generated screen.h here, so this could compile at
>> least. I don't have any of the hardware supported in the arch/m68k/68000
>> directory, so I can't test anything we fix in there.
>
> Do you have the generated screen.h?
> Looks like both the tool (xbm2lcd.pl) and the source (screen.xbm)
> never made it upstream?

I have the tool (xbm2lcd.pl) and screen.xbm from a really old uClinux
distribution, and I can run it to generate the screen.h.
So yes, I have a screen.h now.


>> The other option is to remove the dragen code altogether.
>
> Just remove the part protected by checks for CONFIG_INIT_LCD?

Yeah, or even all the dragen support if no one wants it anymore.

Easy enough to add the screen.h (probably rename it, since it is
dragen specific). And include that in dragen2.c.

Regards
Greg