From 10b05a994f329dd2e8842fc0cb90c580a4ec2f5a Mon Sep 17 00:00:00 2001 From: Baptiste Wicht Date: Sat, 6 Aug 2016 16:12:47 +0200 Subject: [PATCH] Allow the PIT driver to be removed --- kernel/include/drivers/pit.hpp | 1 + kernel/src/drivers/pit.cpp | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kernel/include/drivers/pit.hpp b/kernel/include/drivers/pit.hpp index bed9528f..bf145e9f 100644 --- a/kernel/include/drivers/pit.hpp +++ b/kernel/include/drivers/pit.hpp @@ -11,6 +11,7 @@ namespace pit { bool install(); +void remove(); } //end of namespace pit diff --git a/kernel/src/drivers/pit.cpp b/kernel/src/drivers/pit.cpp index d836dab3..bf1409cd 100644 --- a/kernel/src/drivers/pit.cpp +++ b/kernel/src/drivers/pit.cpp @@ -32,7 +32,7 @@ bool pit::install(){ timer::frequency(1000); if(!interrupt::register_irq_handler(0, timer_handler, nullptr)){ - logging::logf(logging::log_level::ERROR, "Unable to register PIT 0\n"); + logging::logf(logging::log_level::ERROR, "Unable to register PIT IRQ handler 0\n"); return false; } @@ -41,3 +41,11 @@ bool pit::install(){ return true; } + +void pit::remove(){ + if(!interrupt::unregister_irq_handler(0, timer_handler)){ + logging::logf(logging::log_level::ERROR, "Unable to unregister PIT IRQ handler 0\n"); + } + + logging::logf(logging::log_level::TRACE, "PIT Driver Removed\n"); +}