From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756620AbZEZQu7 (ORCPT ); Tue, 26 May 2009 12:50:59 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754045AbZEZQuw (ORCPT ); Tue, 26 May 2009 12:50:52 -0400 Received: from yw-out-2324.google.com ([74.125.46.31]:25669 "EHLO yw-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753954AbZEZQuv convert rfc822-to-8bit (ORCPT ); Tue, 26 May 2009 12:50:51 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=tj4+HvDN/gVFvGNf0s9PJNaGIKpPaDIFDyYk/KguOdUtYHlbqN6PEX0XdIHQ5ZrA1b woYnIpK+6prenE+1rjcT/zJHxt84U3OKEnla+2uSFfMKbby1CNGPdW1XEs9RHHMOfgbk 1M18sfu8WvrSUmt8VEdSWuqYKHHVuuztPunAU= MIME-Version: 1.0 In-Reply-To: <20090526164735.GA24261@linux-sh.org> References: <1243331191-11445-1-git-send-email-vapier@gentoo.org> <1243331191-11445-2-git-send-email-vapier@gentoo.org> <20090526113122.GB16835@linux-sh.org> <8bd0f97a0905260942m4b574d75oc4f38ee3d8849395@mail.gmail.com> <20090526164735.GA24261@linux-sh.org> Date: Tue, 26 May 2009 12:50:51 -0400 Message-ID: <8bd0f97a0905260950i6da64210n7da256627d3e38ff@mail.gmail.com> Subject: Re: [PATCH 2/2] mtd/maps: uclinux: support Blackfin systems From: Mike Frysinger To: Paul Mundt , Mike Frysinger , linux-kernel@vger.kernel.org, uclinux-dist-devel@blackfin.uclinux.org, Greg Ungerer , uclinux-dev@uclinux.org, linux-mtd@lists.infradead.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 26, 2009 at 12:47, Paul Mundt wrote: > On Tue, May 26, 2009 at 12:42:48PM -0400, Mike Frysinger wrote: >> 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. >> > I obviously meant architectures setting up the address, not the board > code, as this has nothing at all to do with boards. There are already > plenty of cases in setup_arch() for filling in uclinux mtd data, one more > isn't going to make a difference. > > I don't see anything wrong with keeping uclinux_ram_map as a global > however, particularly since platforms that need to special case the > mapping can easily do this under the existing ifdef. Adding weak symbols > for something like this just seems silly. the point of the weak symbol was so that the map could provide a sane default that works for most everyone out there without having to copy & paste the same code to every arch, and to make new arch porters worry about what needs to be done to use this very trivial map -mike