Re: [PATCH 2/2] mtd/maps: uclinux: support Blackfin systems

From: Mike Frysinger
Date: Tue May 26 2009 - 12:42:59 EST


On Tue, May 26, 2009 at 07:31, Paul Mundt wrote:
> On Tue, May 26, 2009 at 05:46:31AM -0400, Mike Frysinger wrote:
>> diff --git a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c
>> index 57699c2..dcb552f 100644
>> --- a/drivers/mtd/maps/uclinux.c
>> +++ b/drivers/mtd/maps/uclinux.c
>> @@ -55,8 +55,13 @@ static int __init uclinux_mtd_init(void)
>> Â{
>> Â Â Â struct mtd_info *mtd;
>> Â Â Â struct map_info *mapp;
>> +#ifdef CONFIG_BLACKFIN
>> + Â Â extern unsigned long memory_mtd_start;
>> + Â Â unsigned long addr = (unsigned long) memory_mtd_start;
>> +#else
>> Â Â Â extern char _ebss;
>> Â Â Â unsigned long addr = (unsigned long) &_ebss;
>> +#endif
>>
>> Â Â Â mapp = &uclinux_ram_map;
>> Â Â Â mapp->phys = addr;
>
> NAK.
>
> I know there's no accounting for taste, but it would be nice to at least
> see some minimal amount of effort going in to fixing these things
> sanely rather than just lazily shoving ifdefs in wherever possible.
>
> In this case you should just kill all of that crap off, and have the
> platforms that use this set uclinux_ram_map up themselves, it's already
> a global. Of course you can use _ebss as a default value for
> uclinux_ram_map.phys and just override it in your platform.

i would agree if it were a board-specific issue, but it's an arch
issue, so pushing it to the boards level is wrong. i can however
replace the addr with a global weak and add a symbol into the Blackfin
arch code to override it.

the structs being global in this file is simply wrong from what i can
tell ... everything in there should be static. i'll send a patch for
that later on.
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/