La función init_module anterior del módulo "memoria" habrá que modificarla sustituyendo la reserva de memoria RAM por la reserva de la dirección de memoria del puerto paralelo, es decir, la 0x378. Para ello utilizaremos la función de chequeo de disponibilidad de la región de memoria, check_region, y la función de reserva de una región de memoria para este dispositivo, request_region. Ambas tienen como argumentos la dirección base de la región de memoria y su longitud. La función request_region además admite una cadena de caracteres que define el módulo.
<<puertopar modificacion init module>>= /* Registrando puerto */ port = check_region(0x378, 1); if (port) { printk("<1>puertopar: no puedo reservar 0x378\n"); result = port; goto fallo; } request_region(0x378, 1, "puertopar"); |