Subject: Re: Trivial cleanup in ocp_uart.c

From: David Gibson <[email-masked]>
Date: Thu, 27 Jun 2002 10:41:44 +1000

On Wed, Jun 26, 2002 at 10:27:01AM -0700, Scott Anderson wrote:
>
> David Gibson wrote:
> > Basically there are two quite distinct approaches either of which
> > would make sense (for any given peripheral/bus type):
> >         a) Register each device as it is discovered.  Register each
> > driver as the appropriate module loads.  Whenever either event happens
> > the common code calls init or probe callbacks in a driver to connect
> > it to any devices of appropriate type.
> >         b) No registration.  When a driver loads, it searches for all
> > devices of appropriate type, and initializes each of them in turn.
> >
> > Examples of (a) include the new PCI interface, PCMCIA, and the 2.5
> > unified device model.  Examples of (b) include the old PCI interface
> > (pci_find_device()) and (some?/all?) non-PCI devices on OF machines
> > (e.g. Airport).
> >
> > Approach (a) is clearly needed to handle hotplug.  But that's not an
> > issue for OCPs (indeed device (not driver) registration will always be
> > degenerate) so either approach would do.  Frankly (a) seems overkill
> > for OCPs, but it does have the advantage of being easily integrated
> > into the unified device model.
>
> I wouldn't be quite so quick to dismiss the issue of hotplug from OCP.
> I have heard rumblings of people having FPGAs with on-chip processors
> wanting to reprogram the FPGAs on the fly with different sets of
> peripherals.

Eek, wibble.  It still seems somewhat unlikely to me that you'd be
changing the peripherals "on the fly" in a real life embedded
application.  Especially considering that reboots are likely to be
much less of an issue on an embedded system than on a big server.

--
David Gibson			| For every complex problem there is a
[email-masked]	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/