jklmnn / base-linux-hw

GNU General Public License v3.0
1 stars 1 forks source link

Driver dependencies #5

Open jklmnn opened 6 years ago

jklmnn commented 6 years ago

I have analyzed the platform_drv about its sole dependencies. While the platform_drv itself only requires IO ports, it depends on the acpi_drv via report roms which itself also requires IO memory. Currently I'm not able to resolv this dependency otherwise so the platfrom driver isn't working on Linux yet.

Beside that, how do we handle drivers that have somehow optional dependencies? The intel_fb for example prints error messages about timeouts if I deny access to interrupts but still works (works as in announces a Framebuffer session and is able to use the screen/let terminal_log print to the screen).

cc @senier

senier commented 6 years ago

So, what prevents you from running acpi_drv to enable platform_drv?

senier commented 6 years ago

Regarding "optional" dependencies: When the driver prints errors, I wouldn't consider the dependency optional then. We have no idea what breaks further down the road when denying that resource and should thus consider it mandatory.

jklmnn commented 6 years ago

For completeness: acpi_drv requires IO_MEM which currently isn't available.

I was able to strip away the dependency from acpi and the platform driver is announcing the Platform service on Linux. Unfortunately we don't have a driver that uses only IO ports via the platform driver. All drivers that use the platform driver require at least one other service within or outside the platform driver.

jklmnn commented 6 years ago

I was able to create a working wifi driver test. It was again an issue with UEFI. The same configuration worked if used with legacy BIOS.

senier commented 6 years ago

Cool! Note to ourselves: Whenever any issue occurs, try without UEFI and/or without bender ;-)