From 1ef27b3226eb9ffceb9282ff3ac64ab3d65feb00 Mon Sep 17 00:00:00 2001 From: Achilleas Anagnostopoulos Date: Tue, 18 Jul 2017 08:26:56 +0100 Subject: [PATCH] Update device drivers to use the device.RegisterDriver --- src/gopheros/device/tty/probe.go | 11 ----------- src/gopheros/device/tty/vt.go | 5 ++++- src/gopheros/device/video/console/device.go | 9 +++++++++ src/gopheros/device/video/console/probe.go | 19 ------------------- src/gopheros/device/video/console/vesa_fb.go | 5 ++++- src/gopheros/device/video/console/vga_text.go | 5 ++++- 6 files changed, 21 insertions(+), 33 deletions(-) delete mode 100644 src/gopheros/device/tty/probe.go delete mode 100644 src/gopheros/device/video/console/probe.go diff --git a/src/gopheros/device/tty/probe.go b/src/gopheros/device/tty/probe.go deleted file mode 100644 index ebc070a..0000000 --- a/src/gopheros/device/tty/probe.go +++ /dev/null @@ -1,11 +0,0 @@ -package tty - -import "gopheros/device" - -var ( - // ProbeFuncs is a slice of device probe functions - // that is used by the hal package to probe for TTY - // hardware. Each driver should use an init() block - // to append its probe function to this list. - ProbeFuncs []device.ProbeFn -) diff --git a/src/gopheros/device/tty/vt.go b/src/gopheros/device/tty/vt.go index 71b85bf..b9ea8ed 100644 --- a/src/gopheros/device/tty/vt.go +++ b/src/gopheros/device/tty/vt.go @@ -265,5 +265,8 @@ func probeForVT() device.Driver { } func init() { - ProbeFuncs = append(ProbeFuncs, probeForVT) + device.RegisterDriver(&device.DriverInfo{ + Order: device.DetectOrderEarly, + Probe: probeForVT, + }) } diff --git a/src/gopheros/device/video/console/device.go b/src/gopheros/device/video/console/device.go index 53c5506..7b98274 100644 --- a/src/gopheros/device/video/console/device.go +++ b/src/gopheros/device/video/console/device.go @@ -3,9 +3,18 @@ package console import ( "gopheros/device/video/console/font" "gopheros/device/video/console/logo" + "gopheros/kernel/cpu" + "gopheros/kernel/hal/multiboot" + "gopheros/kernel/mem/vmm" "image/color" ) +var ( + mapRegionFn = vmm.MapRegion + portWriteByteFn = cpu.PortWriteByte + getFramebufferInfoFn = multiboot.GetFramebufferInfo +) + // ScrollDir defines a scroll direction. type ScrollDir uint8 diff --git a/src/gopheros/device/video/console/probe.go b/src/gopheros/device/video/console/probe.go deleted file mode 100644 index 1937343..0000000 --- a/src/gopheros/device/video/console/probe.go +++ /dev/null @@ -1,19 +0,0 @@ -package console - -import ( - "gopheros/device" - "gopheros/kernel/cpu" - "gopheros/kernel/hal/multiboot" - "gopheros/kernel/mem/vmm" -) - -var ( - mapRegionFn = vmm.MapRegion - portWriteByteFn = cpu.PortWriteByte - getFramebufferInfoFn = multiboot.GetFramebufferInfo - - // ProbeFuncs is a slice of device probe functions that is used by - // the hal package to probe for console device hardware. Each driver - // should use an init() block to append its probe function to this list. - ProbeFuncs []device.ProbeFn -) diff --git a/src/gopheros/device/video/console/vesa_fb.go b/src/gopheros/device/video/console/vesa_fb.go index ec355cd..096170b 100644 --- a/src/gopheros/device/video/console/vesa_fb.go +++ b/src/gopheros/device/video/console/vesa_fb.go @@ -603,5 +603,8 @@ func probeForVesaFbConsole() device.Driver { } func init() { - ProbeFuncs = append(ProbeFuncs, probeForVesaFbConsole) + device.RegisterDriver(&device.DriverInfo{ + Order: device.DetectOrderEarly, + Probe: probeForVesaFbConsole, + }) } diff --git a/src/gopheros/device/video/console/vga_text.go b/src/gopheros/device/video/console/vga_text.go index eee6737..b763fc6 100644 --- a/src/gopheros/device/video/console/vga_text.go +++ b/src/gopheros/device/video/console/vga_text.go @@ -236,5 +236,8 @@ func probeForVgaTextConsole() device.Driver { } func init() { - ProbeFuncs = append(ProbeFuncs, probeForVgaTextConsole) + device.RegisterDriver(&device.DriverInfo{ + Order: device.DetectOrderEarly, + Probe: probeForVgaTextConsole, + }) }