estoy incorporación de algún conductor en un kernel Linux cuando me sale este error (que estoy añadiendo el dispositivo en el archivo de placa y registrarlo):Cómo evitar el "error: 'símbolo' no declarado aquí 'a pesar de EXPORT_SYMBOL en un módulo kernel de Linux?
error: 'kxtf9_get_slave_descr' undeclared here (not in a function)
localicé la función anterior en un archivo de controlador
struct ext_slave_descr *kxtf9_get_slave_descr(void)
{
return &kxtf9_descr;
}
EXPORT_SYMBOL(kxtf9_get_slave_descr);
¿No debería haber sido "visible" por EXPORT_SYMBOL? El archivo de C que contiene el código anterior no tiene archivo de cabecera (que no he escrito, me acabo de enterar que here y estoy poniendo en práctica. Dicen que es probado así que supongo que no es necesaria una cabecera?
El resto del código compila perfectamente (por lo que "ve" el código en la carpeta) y el archivo que contiene el código anterior también compila!
Ejemplo de trabajo mínimo: https://stackoverflow.com/questions/12311867/how-to-call-exported-kernel-module-functions-from-another-module/44614246#44614246 –