Re: char/tpm: tpm_infineon no longer loaded for HP 2510p laptop

From: Bjorn Helgaas
Date: Thu Aug 21 2008 - 12:31:31 EST


On Thursday 21 August 2008 09:38:25 am Kay Sievers wrote:
> On Thu, 2008-08-21 at 09:14 -0600, Bjorn Helgaas wrote:
> > Can somebody elaborate on why we need to add "acpi*" aliases for all
> > PNP devices? That broadens the kernel/user interface, so I'd like
> > to understand why we need it.

Sorry, I should have prefaced my question with "I'm completely ignorant
of this modalias stuff." Is there a "complete idiot's guide to modules
and udev"? There's precious little in Documentation/ other than a bunch
of sample rules for various subsystems.

> We already do ACPI module autoloading by MODALIAS for other things than
> pnp. ACPI exports the pnp devices with modalias, but the modules do not
> have a matching alias, this add them.

I'm guessing this has something to do with acpi_device_uevent().

> PNP has no MODALIAS support at all, and the current pnp-aliases would
> not work for the standard modalias method, they would need to change
> their format.

pnp_bus_type has no .uevent method. What if I added one? Would that
help this situation?

It seems wrong for file2alias.c to take every PNP device (even if it's
an ISAPNP or PNPBIOS device) and add "acpi*" aliases for it.

> The plan is to replace the current pnp modprobe shell script hack in
> udev, when ACPI devices load the right modules without any special
> userspace mangling.

Is this the shell hack you mean (from etc/udev/rules.d/80-drivers.rules
in udev-117)?

SUBSYSTEM=="pnp", DRIVER!="?*", ENV{MODALIAS}!="?*", \
RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'"

I agree that's gross. Could I fix this by implementing pnp_device_uevent()?

Bjorn
--
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/