• Kay Sievers's avatar
    PNP: add all PNP card device id's as individual aliases · 0c81eed4
    Kay Sievers authored
    The current PNP combined card + devices module aliase can
    never ever match anything, because these values are not available
    all at the same time to request a module.
    
    Instead of adding the combined alias, we add the device id's
    all as individual aliases. Device id's are exported by the PNP
    bus and can now properly used to request the loading of a
    matching module.
    
    The module snd-sbawe currently exports aliases, which can never
    match anything:
      alias: pnp:cCTLXXXXdCTL0045dCTL0022*
      alias: pnp:cCTLXXXXdCTL0044dCTL0023*
      alias: pnp:cCTLXXXXdCTL0042dCTL0022*
      alias: pnp:cCTLXXXXdCTL0041dCTL0021*
      alias: pnp:cCTLXXXXdCTL0031dCTL0021*
      alias: pnp:cCTL00eddCTL0041dCTL0070*
      alias: pnp:cCTL00e9dCTL0045dCTL0022*
      alias: pnp:cCTL00e4dCTL0045dCTL0022*
      alias: pnp:cCTL00c7dCTL0045dCTL0022*
      alias: pnp:cCTL00c5dCTL0045dCTL0022*
      alias: pnp:cCTL00c3dCTL0045dCTL0022*
      alias: pnp:cCTL00c1dCTL0042dCTL0022*
      alias: pnp:cCTL00b2dCTL0044dCTL0023*
      alias: pnp:cCTL009edCTL0044dCTL0023*
      alias: pnp:cCTL009ddCTL0042dCTL0022*
      alias: pnp:cCTL009fdCTL0041dCTL0021*
      alias: pnp:cCTL009cdCTL0041dCTL0021*
      alias: pnp:cCTL009adCTL0041dCTL0021*
      alias: pnp:cCTL0054dCTL0031dCTL0021*
      alias: pnp:cCTL0048dCTL0031dCTL0021*
      alias: pnp:cCTL0047dCTL0031dCTL0021*
      alias: pnp:cCTL0046dCTL0031dCTL0021*
      alias: pnp:cCTL0045dCTL0031dCTL0021*
      alias: pnp:cCTL0044dCTL0031dCTL0021*
      alias: pnp:cCTL0043dCTL0031dCTL0021*
      alias: pnp:cCTL0042dCTL0031dCTL0021*
      alias: pnp:cCTL0039dCTL0031dCTL0021*
      alias: pnp:cCTL0035dCTL0031dCTL0021*
    
    With this patch it exports only the device id's, as properly
    matchable aliases:
      alias: pnp:dCTL0070*
      alias: pnp:dCTL0045*
      alias: pnp:dCTL0023*
      alias: pnp:dCTL0044*
      alias: pnp:dCTL0022*
      alias: pnp:dCTL0042*
      alias: pnp:dCTL0041*
      alias: pnp:dCTL0021*
      alias: pnp:dCTL0031*
    
    Now, the exported value of the PNP bus can be used to autoload
    a matching module:
      $ modprobe --first-time -n -v pnp:dCTL0045
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-rawmidi.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-hwdep.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb-common.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-csp.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-dsp.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/opl3/snd-opl3-lib.ko
      insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sbawe.ko
    
      $ grep CTL0045 /sys/bus/pnp/devices/*/id
      /sys/bus/pnp/devices/01:01.00/id:CTL0045
    Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    0c81eed4
file2alias.c 22.3 KB