From: msokolov@ivan.Harhan.ORG (Michael Sokolov)
To: linuxppc-dev@lists.linuxppc.org
Subject: Re: CONFIG_GENERIC_PPC32
Date: Wed, 10 Apr 02 20:08:09 PDT [thread overview]
Message-ID: <0204110308.AA27139@ivan.Harhan.ORG> (raw)
Paul Mackerras <paulus@samba.org> wrote:
> A laudable goal. I like the idea of having each platform selected
> with a bool rather than just having a single choice of platform.
So how about pushing it into 2_4_devel?
> I also agree about the CONFIG_ALL_PPC name but no-one has ever been
> able to come up with a better name for the PReP/PMac/CHRP combination.
Rather than rename it, eliminate it altogether and replace it with my solution!
> However, there are some aspects of the way you have done your
> CONFIG_GENERIC_PPC32 that I don't like.
So can you promise that if I change those to the way you said you'll accept my
patch into 2_4_devel? Without that there is no incentive for me to do any more
work.
> In particular I don't like
> the list of ifdefs in setup.c. Whenever that sort of thing appears it
> is a sign that we need to rethink how we do things. The old
> drivers/net/Space.c was a classic example, and it was a mistake and it
> basically became unmaintainable. Fortunately we have better ways to
> handle that sort of thing these days. In particular we can use ELF
> sections in creative ways to make lists of things without having to
> have strings of ifdefs.
I guess I could try to do that with ELF sections, but see above about
incentive.
> The other thing I don't like is the bi_rec changes. While I like the
> idea of passing in device information in bi_recs, I really don't like
> the use of binary tags for the various specific pieces of information
> that we want to specify for the different devices. This is ultimately
> once again a maintainability concern. Using an enumeration like that
> basically forces us into having a central repository for assigning the
> numbers and that is going to get us into problems down the track.
>
> Instead I think that both the names of the pieces of information, and
> the values of things like the device type, should be represented as
> strings. Using strings just gives us orders of magnitude more
> flexibility and extensibility, and is much more suitable for the sort
> of decentralized and distributed development that we do.
But this is not how bi_recs work. Do you want to break compatibility with the
existing bi_recs, to add a whole new boot info mechanism independent of
bi_recs, or what? And if I am to implement it, I need to be given some kind of
spec as to what to implement.
> About the early_serial_init changes - using early_serial_init is nice
> when the serial driver is built in, but the problem is that when the
> serial driver is a module, we don't get given the opportunity to do
> the early_serial_init calls between when the module is loaded and when
> it runs rs_init. Otherwise I would have decreed the use of
> early_serial_init some time ago. :)
On all machines I've supported so far one of the system serial ports that are
supported in this manner is the system console and the serial driver therefore
has to be compiled in anyway. I don't see a problem with making a requirement
that the serial driver be compiled in for CONFIG_GENERIC_PPC32. After all, we
are not dealing with a PeeCee where the serial ports are an auxiliary feature,
we are dealing with real computers where the system serial ports are central
system resources like on a VAX.
For other hardware with similar problems but where it's unreasonable to require
compiling the driver in there are other solutions. Look for example what I did
for GT-64260 Ethernet in 2_4_alt. It's much like serial in that there is a
generic driver, the device is fairly peripheral and should be supported as a
module (even though it currently isn't, but never mind), but the driver needs
certain info that has to be provided by the board ports. There I have a table
like rs_table called gt64260_eth_config which itself lives not in the
gt64260_eth driver, but in arch/ppc/kernel/gt64260_data.c. This table is
therefore always present whether the gt64260_eth driver is present or not, and
it is always filled in by <board>_setup_arch. Then when/if the gt64260_eth
driver initializes, whether compiled-in or as a module, it uses the info in
that table that must be in the kernel.
MS
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next reply other threads:[~2002-04-11 3:08 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-11 3:08 Michael Sokolov [this message]
2002-04-10 23:42 ` CONFIG_GENERIC_PPC32 Benjamin Herrenschmidt
2002-04-11 17:51 ` CONFIG_GENERIC_PPC32 Mark A. Greer
2002-04-12 12:57 ` CONFIG_GENERIC_PPC32 Paul Mackerras
2002-04-12 11:57 ` CONFIG_GENERIC_PPC32 benh
2002-04-12 19:02 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-15 15:46 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-15 18:08 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-15 19:54 ` CONFIG_GENERIC_PPC32 Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2002-04-11 20:51 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 19:10 ` CONFIG_GENERIC_PPC32 Mark A. Greer
2002-04-11 17:15 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 16:24 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 16:50 ` CONFIG_GENERIC_PPC32 benh
2002-04-11 15:40 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 15:49 ` CONFIG_GENERIC_PPC32 Geert Uytterhoeven
2002-04-11 16:13 ` CONFIG_GENERIC_PPC32 benh
2002-04-06 22:17 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-06 23:29 ` CONFIG_GENERIC_PPC32 Benjamin Herrenschmidt
2002-04-06 21:39 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-06 22:52 ` CONFIG_GENERIC_PPC32 Benjamin Herrenschmidt
2002-04-07 8:34 ` CONFIG_GENERIC_PPC32 Geert Uytterhoeven
2002-04-07 9:04 ` CONFIG_GENERIC_PPC32 Benjamin Herrenschmidt
2002-04-09 8:12 ` CONFIG_GENERIC_PPC32 Michael Schmitz
2002-04-06 20:23 CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-06 22:06 ` CONFIG_GENERIC_PPC32 Benjamin Herrenschmidt
2002-04-08 15:48 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-08 16:03 ` CONFIG_GENERIC_PPC32 Gabriel Paubert
2002-04-08 16:24 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-08 16:48 ` CONFIG_GENERIC_PPC32 Gabriel Paubert
2002-04-08 17:23 ` CONFIG_GENERIC_PPC32 Matt Porter
2002-04-08 17:37 ` CONFIG_GENERIC_PPC32 Gabriel Paubert
2002-04-08 18:07 ` CONFIG_GENERIC_PPC32 Matt Porter
2002-04-08 18:41 ` CONFIG_GENERIC_PPC32 Gabriel Paubert
2002-04-08 18:18 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-08 18:53 ` CONFIG_GENERIC_PPC32 Matt Porter
2002-04-09 14:59 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-09 19:52 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-10 8:27 ` CONFIG_GENERIC_PPC32 Geert Uytterhoeven
2002-04-10 15:17 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-11 3:50 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 15:27 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-10 15:16 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-11 3:46 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 15:24 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-11 16:16 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 15:51 ` CONFIG_GENERIC_PPC32 Mark A. Greer
2002-04-11 16:59 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-11 17:25 ` CONFIG_GENERIC_PPC32 Michael Sokolov
2002-04-11 17:42 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-10 19:08 ` CONFIG_GENERIC_PPC32 Tom Rini
2002-04-10 13:20 ` CONFIG_GENERIC_PPC32 Paul Mackerras
2002-04-10 15:23 ` CONFIG_GENERIC_PPC32 benh
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=0204110308.AA27139@ivan.Harhan.ORG \
--to=msokolov@ivan.harhan.org \
--cc=linuxppc-dev@lists.linuxppc.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).