Re: 2.6.23-rc2-mm1 -- PPC G5 kernel compile failure (patch)

Andy Whitcroft
2007-08-10T13:10:39Z

Krzysztof Helt wrote:
> On Thu, 9 Aug 2007 14:04:49 +0100
> Andy Whitcroft <apw@shadowen.org> wrote:
>
>> Seeing the following compile error on a G5 mac:
>>
>> drivers/video/tdfxfb.c: In function 'tdfxfb_setup':
>> drivers/video/tdfxfb.c:1341: error: 'opt' undeclared (first use in this
>> function)
>> drivers/video/tdfxfb.c:1341: error: (Each undeclared identifier is
>> reported only once
>> drivers/video/tdfxfb.c:1341: error: for each function it appears in.)
>>
>> This seems to be the following fragment from tdfxfb-hardware-cursor:
>>
>> + } else if (!strcmp(this_opt, "hwcursor")) {
>> + hwcursor = simple_strtoul(opt + 9, NULL, 0);
>>
>> I guess the nieve fix would be s/opt/this_opt, but I am also
>> suspicious of the +9 here as hwcursor is only 8 long? Now this
>> seems to take a numeric value and I assume that is via hwcursor=N,
>> if so then the +9 would make sense _if_ the strcmp was against
>> "hwcursor=".
>>
>
> The patch below fixes all issues you have pointed out. It also fixes
> the description of the nomtrr option.
>
> ---
>
> From: Krzysztof Helt <krzysztof.h1@wp.pl>
>
> This patch fixes compilation with setup options bug and corrects
> description of the nomtrr option.
>
> Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
>
> ---
>
> --- linux-2.6.22.new/drivers/video/tdfxfb.c 2007-08-09 16:11:23.870028259 +0200
> +++ linux-2.6.23/drivers/video/tdfxfb.c 2007-08-09 16:15:07.654781024 +0200
> @@ -1337,8 +1337,8 @@ static void tdfxfb_setup(char *options)
> nopan = 1;
> } else if (!strcmp(this_opt, "nowrap")) {
> nowrap = 1;
> - } else if (!strcmp(this_opt, "hwcursor")) {
> - hwcursor = simple_strtoul(opt + 9, NULL, 0);
> + } else if (!strncmp(this_opt, "hwcursor=", 9)) {
> + hwcursor = simple_strtoul(this_opt + 9, NULL, 0);
> #ifdef CONFIG_MTRR
> } else if (!strncmp(this_opt, "nomtrr", 6)) {
> nomtrr = 1;
> @@ -1409,7 +1409,7 @@ MODULE_PARM_DESC(hwcursor, "Enable hardw
> "(1=enable, 0=disable, default=1)");
> #ifdef CONFIG_MTRR
> module_param(nomtrr, bool, 0);
> -MODULE_PARM_DESC(nomtrr, "Disable MTRR support (0 or 1=disabled) (default=0)");
> +MODULE_PARM_DESC(nomtrr, "Disable MTRR support (default: enabled)");
> #endif
>
> module_init(tdfxfb_init);

Confirmed that this gets my kernel compiled and the result boots.

Tested-by: Andy Whitcroft <apw@shadowen.org>

-apw