[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH/RFC 0/2] Zorro modalias support



On Mon, 11 Jun 2007, Michael Schmitz wrote:
> > I've also been thinking about adding a special `amiga' bus type that
> > contains all built-in devices (but you can substitute `amiga' by `atari'
> > or `mac', the idea stays the same). E.g. based on amiga_hw_present we
> > could create a list of devices. With proper modalias support they could
> > be auto-loaded by udev, without the need for hackery in /etc/modules or
> > /etc/modules.conf.
> >
> > What do you think?
> 
> We would need something like that anyway, in order to convert drivers to
> the new generic driver model, if I understand it right (the only driver

The alternative is to keep (convert to, for some) them as platform
devices. But that means no auto-load based on modalias.

> Re: bus type - multiplatform support is all dead anyway so we could
> instead call it 'host' or 'm68k' and collect all on-board stuff there. And

I prefer to call it by the platform name, though (see below).

> I count Nubus/Zorro as on-board here. Just keeping in mind how I got my
> BUS_ATARI in the input patch shot down.

But we do have BUS_ATARI in <linux/input.h> now ;-)

> Am I mixing things up?

I think so...

Nubus and Zorro are definitely separate buses, as they support automatic
probing.

Most other `system bus' hardware doesn't have to be probed (in the ISA
bang-a-few-ports-and-we'll-see sense) on m68k. We use
{amiga,atari,mac}_hw_present to find out if something exists.

So we could easily have in arch/*/config.c:

    if ({AMIGA,ATARI,MAC}HW_PRESENT(XXX))
	register_XXX_device();
    if ({AMIGA,ATARI,MAC}HW_PRESENT(YYY))
	register_YYY_device();
    ...

For XXX, YYY = GRAPHICS, KEYBOARD, BUILTIN_SCSI, ...
and we have our `system bus'. Devices could be numbered just starting from
1 (or use the {amiga,atari,mac}_hw_present numbers? But we don't need
devices for all of them, at least on Amiga), as we control what's there
anyway. Module alias would then be of the form `{amiga,atari,mac}:%u'.
See why I don't want to call it `host' or `m68k'?
Hmm, maybe we should call it `host' or `m68k', to make it even more generic
and use `host:{amiga,atari,mac}%u' for module aliases? One day other
platforms may want to start using it, too...

A `git grep 'struct bus_type.*= {' definitely shows a few `system
buses'. It's even used for SoCs, which is in some sense very similar to
Amiga, Atari, and Mac (it's just that VLSI wasn't sufficiently advanced in the
eighties to give us single-chip solutions).

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


-- 
To UNSUBSCRIBE, email to debian-68k-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: