All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Byron Bradley <byron.bbradley@gmail.com>,
	Nick Piggin <npiggin@suse.de>,
	linux-arm-kernel@lists.arm.linux.org.uk,
	Russell King <rmk@arm.linux.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ramdisk driver: make rd_size non-static
Date: Fri, 18 Jan 2008 19:28:35 +0000	[thread overview]
Message-ID: <20080118192835.GA9367@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20080117182851.f9177571.akpm@linux-foundation.org>

On Thu, Jan 17, 2008 at 06:28:51PM -0800, Andrew Morton wrote:
> On Fri, 18 Jan 2008 02:02:17 +0000 Byron Bradley <byron.bbradley@gmail.com> wrote:
> 
> > In arch/arm/kernel/setup.c:setup_ramdisk(), rd_size is set from the
> > boot tags. The replacement ramdisk driver has rd_size as static
> > which causes linking to fail when ramdisk is built-in.
> > 
> 
> but...
> 
> > diff --git a/drivers/block/brd.c b/drivers/block/brd.c
> > index 5ef1d26..8536480 100644
> > --- a/drivers/block/brd.c
> > +++ b/drivers/block/brd.c
> > @@ -385,7 +385,7 @@ static struct block_device_operations brd_fops = {
> >   * And now the modules code and kernel interface.
> >   */
> >  static int rd_nr;
> > -static int rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> > +int rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> >  module_param(rd_nr, int, 0);
> >  MODULE_PARM_DESC(rd_nr, "Maximum number of brd devices");
> >  module_param(rd_size, int, 0);
> 
> rd_size is a module parameter so it is settable via the
> syntax-which-i-can-never-remember.  rd.rd_size=1024 or something like that.
> 
> If that's all sane, do we have some back-compat reason to continue to
> support the special and duplicative rd_size parameter?
> 
> 
> (If we never did crap like this:
> 
> arch/arm/kernel/setup.c:        extern int rd_size, rd_image_start, rd_prompt, rd_doload;
> 
> then this sort of problem wouldn't occur so often)

We do "crap like this" because x86 did, and people wanted to set these
parameters at boot time, and in the old days of Linux (eg, 2.0), these
parameters were never available as command line arguments.  So the only
way to set them from boot loaders via architecture code is for architecture
code to reference the variable directly.

It looks like things have moved on in x86 land, but because there's an
utter lack of communication about these changes, the "planned obsolescence"
of rd_size hasn't been noticed.  So, I recommend that we keep rd_size
visible and take it through the now established feature-removal cycle,
including issuing kernel warnings about it if it gets used.


      parent reply	other threads:[~2008-01-18 19:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-18  2:02 [PATCH] ramdisk driver: make rd_size non-static Byron Bradley
2008-01-18  2:28 ` Andrew Morton
2008-01-18  2:39   ` Matt Mackall
2008-01-18 11:29     ` Nick Piggin
2008-01-18 19:28   ` Russell King - ARM Linux [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080118192835.GA9367@flint.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=byron.bbradley@gmail.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=npiggin@suse.de \
    --cc=rmk@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.