Re: [PATCH 1/1] mmc: add MODALIAS linkage for MMC/SD devices

From: Andy Whitcroft
Date: Mon Jan 26 2009 - 04:36:45 EST


On Sun, Jan 25, 2009 at 05:00:11PM +0100, Kay Sievers wrote:
> On Sun, Jan 25, 2009 at 16:48, Pierre Ossman <drzeus-mmc@xxxxxxxxx> wrote:
> > On Sun, 25 Jan 2009 00:45:46 +0100
> > Kay Sievers <kay.sievers@xxxxxxxx> wrote:
> >
> >> On Sat, Jan 24, 2009 at 18:56, Pierre Ossman <drzeus-mmc@xxxxxxxxx> wrote:
> >> >
> >> > Well, as long as we're on the track of temporary hack, we might as well
> >> > just export "mmc_block" as the modalias. Or would there be any
> >> > side-effects to that?
> >>
> >> The common format is to prefix with "<subsystem>:". Something like
> >> "mmc:block" sounds fine to me.
> >>
> >
> > My point was to have the kernel explicitly ask for the module it wants
> > as there is no decent device to driver mapping scheme.
>
> Yep, which is what we do not want. Aliases are "aliases", and not
> "module names". We need to add a matching alias to the module then.
> Direct module names can not properly defined/blacklisted in userspace,
> and we would need to work around that.
> Every modalias should be
> "<subsystem>:<whatever-name-fits-for-the-subsystem>" to plug properly
> into the autoloading infrastructure. We rather have no modalias at
> all, then a kernel module name there.

To summarise, using a modalias pairing is good for two reasons: kernel
dependancies are explicit in the kernel and things will just work;
and standard blacklisting of the module will now work. Module alias
triggers cannot be actual module names else the latter will not work.
But we also do not want to expose the current type number information
to prevent it becoming part of the ABI. The aliases should be of the
form <subsystem>:<hints>.

I note that we already are exposing the type as text and the card name
in the ABI already exposed as MMC_TYPE and MMC_NAME. How about I switch
the alias to the textual types, as those are already in the ABI. Using
the usb model something like this:

mmc:tMMC
mmc:tSD
mmc:tSDIO
mmc:tUNKNOWN

This with a view to it being extended in the same manner, say we wanted
to expose the name here too (which is also in the ABI, I am not
proposing to add it):

mmc:tMMCn<name>

Would that satisfy everyone? I will respin the patches which will be
somewhat simpler as a result.

-apw
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/