usando tipos que privativos para instalar estan dispositivo descargar controladores controlador actualizar c linux linux-kernel linux-device-driver spi

tipos - ¿Qué es MODULE_ALIAS en el código del controlador del dispositivo Linux?



que es un controlador de dispositivo (1)

Explicación para MODULE_ALIAS en el código dice

/* work with hotplug and coldplug */ MODULE_ALIAS("platform:omap2_mcspi");

Pero, ¿qué es exactamente MODULE_ALIAS?

¿Hay un significado para: (dos puntos) en el argumento?


MODULE_ALIAS es macro, se agregó en 2002 con la actualización de cargadores de módulos de kernel de Linux y se usó desde 2003. Esta macro permite al creador del módulo definir nombres adicionales del módulo (alias), por ejemplo, para facilitar la carga automática del módulo.

Los alias se usan para dar algún nombre especial, por ejemplo, "block-major-100" directamente en el origen del módulo, en lugar de usar /etc/modules.conf para definir alias. Cuando el programa de usuario accede al dispositivo de bloque con el número 100 principal, kernel intentará cargar "block-major-100". Sin MODULE_ALIAS kernel debería ir al espacio de usuario y leer /etc/modules.conf con helper. Y con MODULE_ALIAS("block-major-100") kernel resolverá la búsqueda por sí mismo.

Puede leer más sobre esta macro en http://lwn.net/Articles/47412/ Artículo "MODULE_ALIAS" de corbet, 2003-09-03.

Hay varias versiones más especiales de MODULE_ALIAS , enumeradas por corbet:

Las variantes reales utilizadas dependen del subsistema; los controladores de bloque usan MODULE_ALIAS_BLOCKDEV, por ejemplo, mientras que los dispositivos char usan MODULE_ALIAS_CHARDEV o MODULE_ALIAS_MISCDEV y los protocolos de red usan MODULE_ALIAS_NETPROTO.

De acuerdo con el parche de 2011 de Mans Rullgard (linaro) , o para cometer por Kay Sievers (vrfy) , MODULE_ALIAS con un argumento como "platform:... se usa para habilitar la carga automática del módulo" cuando se escanean los dispositivos de la plataforma. ". En los controladores SPI, se usa para los controladores de la plataforma SPI " hotpluggable " , para permitir la carga automática del módulo. ", desde 43cc71eed1250755986da4c0f9898f9a635cb3bf por Kay Sievers -" plataforma: prefijo MODALIAS con "plataforma:" ":

Prefijo cadenas de modalias de plataforma con "plataforma:", que modprobe configura al alias de la lista negra resolviendo si el espacio de usuario lo configura.

Los alias del controlador con "plataforma:" se usan en el archivo drivers/base/platform.c , función modalias_show(...) ( snprintf(buf, PAGE_SIZE, "platform:%s/n", pdev->name); ) y en platform_uevent(...) add_uevent_var(env, "MODALIAS=%s%s", PLATFORM_MODULE_PREFIX, pdev->name); donde PLATFORM_MODULE_PREFIX macro se define como "platform:" (por lo tanto, la marca de dos puntos es significativa).