Reactos
1/*
2 * PROJECT: ReactOS Generic CPU Driver
3 * LICENSE: GNU GPLv2 only as published by the Free Software Foundation
4 * FILE: drivers/processor/processr/processr.c
5 * PURPOSE: Main Driver Routines
6 * PROGRAMMERS: Eric Kohl <eric.kohl@reactos.org>
7 */
8
9/* INCLUDES *******************************************************************/
10
11#include "processr.h"
12
13#define NDEBUG
14#include <debug.h>
15
16
17/* FUNCTIONS ******************************************************************/
18
19static
20VOID
21NTAPI
22ProcessorUnload(
23 IN PDRIVER_OBJECT DriverObject)
24{
25 DPRINT("ProcessorUnload()\n");
26}
27
28
29static
30NTSTATUS
31NTAPI
32ProcessorPower(
33 IN PDEVICE_OBJECT DeviceObject,
34 IN PIRP Irp)
35{
36// PIO_STACK_LOCATION IrpSp;
37// NTSTATUS Status = Irp->IoStatus.Status;
38 PDEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
39
40 DPRINT("ProcessorPower()\n");
41
42// IrpSp = IoGetCurrentIrpStackLocation(Irp);
43
44 PoStartNextPowerIrp(Irp);
45 IoSkipCurrentIrpStackLocation(Irp);
46 return PoCallDriver(DeviceExtension->LowerDevice, Irp);
47}
48
49
50NTSTATUS
51NTAPI
52DriverEntry(
53 IN PDRIVER_OBJECT DriverObject,
54 IN PUNICODE_STRING RegistryPath)
55{
56 DPRINT("Processr: DriverEntry()\n");
57
58 DriverObject->MajorFunction[IRP_MJ_PNP] = ProcessorPnp;
59 DriverObject->MajorFunction[IRP_MJ_POWER] = ProcessorPower;
60
61 DriverObject->DriverExtension->AddDevice = ProcessorAddDevice;
62 DriverObject->DriverUnload = ProcessorUnload;
63
64 return STATUS_SUCCESS;
65}