Reactos
at master 93 lines 2.6 kB view raw
1/* 2 * VideoPort driver 3 * 4 * Copyright (C) 2002, 2003, 2004 ReactOS Team 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 * 20 */ 21 22#include "videoprt.h" 23 24#define NDEBUG 25#include <debug.h> 26 27/* PRIVATE FUNCTIONS **********************************************************/ 28 29VOID NTAPI 30IntVideoPortTimerRoutine( 31 IN PDEVICE_OBJECT DeviceObject, 32 IN PVOID ServiceContext) 33{ 34 PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension = ServiceContext; 35 36 ASSERT(DeviceExtension->DriverExtension->InitializationData.HwTimer != NULL); 37 38 DeviceExtension->DriverExtension->InitializationData.HwTimer( 39 &DeviceExtension->MiniPortDeviceExtension); 40} 41 42BOOLEAN NTAPI 43IntVideoPortSetupTimer( 44 IN PDEVICE_OBJECT DeviceObject, 45 IN PVIDEO_PORT_DRIVER_EXTENSION DriverExtension) 46{ 47 NTSTATUS Status; 48 PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension; 49 50 DeviceExtension = (PVIDEO_PORT_DEVICE_EXTENSION)DeviceObject->DeviceExtension; 51 52 if (DriverExtension->InitializationData.HwTimer != NULL) 53 { 54 INFO_(VIDEOPRT, "Initializing timer\n"); 55 56 Status = IoInitializeTimer( 57 DeviceObject, 58 IntVideoPortTimerRoutine, 59 DeviceExtension); 60 61 if (!NT_SUCCESS(Status)) 62 { 63 ERR_(VIDEOPRT, "IoInitializeTimer failed with status 0x%08x\n", Status); 64 return FALSE; 65 } 66 } 67 68 return TRUE; 69} 70 71/* PUBLIC FUNCTIONS ***********************************************************/ 72 73/* 74 * @implemented 75 */ 76 77VOID NTAPI 78VideoPortStartTimer(IN PVOID HwDeviceExtension) 79{ 80 TRACE_(VIDEOPRT, "VideoPortStartTimer\n"); 81 IoStartTimer(VIDEO_PORT_GET_DEVICE_EXTENSION(HwDeviceExtension)->FunctionalDeviceObject); 82} 83 84/* 85 * @implemented 86 */ 87 88VOID NTAPI 89VideoPortStopTimer(IN PVOID HwDeviceExtension) 90{ 91 TRACE_(VIDEOPRT, "VideoPortStopTimer\n"); 92 IoStopTimer(VIDEO_PORT_GET_DEVICE_EXTENSION(HwDeviceExtension)->FunctionalDeviceObject); 93}