OsdSynch.c (93818) | OsdSynch.c (96926) |
---|---|
1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2000 BSDi 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2000 BSDi 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/dev/acpica/Osd/OsdSynch.c 93818 2002-04-04 21:03:38Z jhb $ | 27 * $FreeBSD: head/sys/dev/acpica/Osd/OsdSynch.c 96926 2002-05-19 06:16:47Z peter $ |
28 */ 29 30/* 31 * 6.1 : Mutual Exclusion and Synchronisation 32 */ 33 34#include "acpi.h" 35 --- 33 unchanged lines hidden (view full) --- 69#endif 70 71ACPI_STATUS 72AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_HANDLE *OutHandle) 73{ 74#ifndef ACPI_NO_SEMAPHORES 75 struct acpi_semaphore *as; 76 | 28 */ 29 30/* 31 * 6.1 : Mutual Exclusion and Synchronisation 32 */ 33 34#include "acpi.h" 35 --- 33 unchanged lines hidden (view full) --- 69#endif 70 71ACPI_STATUS 72AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_HANDLE *OutHandle) 73{ 74#ifndef ACPI_NO_SEMAPHORES 75 struct acpi_semaphore *as; 76 |
77 ACPI_FUNCTION_TRACE(__func__); | 77 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); |
78 79 if (OutHandle == NULL) 80 return(AE_BAD_PARAMETER); 81 if (InitialUnits > MaxUnits) 82 return_ACPI_STATUS(AE_BAD_PARAMETER); 83 84 if ((as = malloc(sizeof(*as), M_ACPISEM, M_NOWAIT)) == NULL) 85 return_ACPI_STATUS(AE_NO_MEMORY); --- 17 unchanged lines hidden (view full) --- 103} 104 105ACPI_STATUS 106AcpiOsDeleteSemaphore (ACPI_HANDLE Handle) 107{ 108#ifndef ACPI_NO_SEMAPHORES 109 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 110 | 78 79 if (OutHandle == NULL) 80 return(AE_BAD_PARAMETER); 81 if (InitialUnits > MaxUnits) 82 return_ACPI_STATUS(AE_BAD_PARAMETER); 83 84 if ((as = malloc(sizeof(*as), M_ACPISEM, M_NOWAIT)) == NULL) 85 return_ACPI_STATUS(AE_NO_MEMORY); --- 17 unchanged lines hidden (view full) --- 103} 104 105ACPI_STATUS 106AcpiOsDeleteSemaphore (ACPI_HANDLE Handle) 107{ 108#ifndef ACPI_NO_SEMAPHORES 109 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 110 |
111 ACPI_FUNCTION_TRACE(__func__); | 111 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); |
112 113 ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "destroyed semaphore %p\n", as)); 114 mtx_destroy(&as->as_mtx); 115 free(Handle, M_ACPISEM); 116 return_ACPI_STATUS(AE_OK); 117#else 118 return(AE_OK); 119#endif --- 8 unchanged lines hidden (view full) --- 128AcpiOsWaitSemaphore(ACPI_HANDLE Handle, UINT32 Units, UINT32 Timeout) 129{ 130#ifndef ACPI_NO_SEMAPHORES 131 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 132 ACPI_STATUS result; 133 int rv, tmo; 134 struct timeval timeouttv, currenttv, timelefttv; 135 | 112 113 ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "destroyed semaphore %p\n", as)); 114 mtx_destroy(&as->as_mtx); 115 free(Handle, M_ACPISEM); 116 return_ACPI_STATUS(AE_OK); 117#else 118 return(AE_OK); 119#endif --- 8 unchanged lines hidden (view full) --- 128AcpiOsWaitSemaphore(ACPI_HANDLE Handle, UINT32 Units, UINT32 Timeout) 129{ 130#ifndef ACPI_NO_SEMAPHORES 131 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 132 ACPI_STATUS result; 133 int rv, tmo; 134 struct timeval timeouttv, currenttv, timelefttv; 135 |
136 ACPI_FUNCTION_TRACE(__func__); | 136 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); |
137 138 if (as == NULL) 139 return_ACPI_STATUS(AE_BAD_PARAMETER); 140 141 if (cold) 142 return_ACPI_STATUS(AE_OK); 143 144#if 0 --- 138 unchanged lines hidden (view full) --- 283} 284 285ACPI_STATUS 286AcpiOsSignalSemaphore(ACPI_HANDLE Handle, UINT32 Units) 287{ 288#ifndef ACPI_NO_SEMAPHORES 289 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 290 | 137 138 if (as == NULL) 139 return_ACPI_STATUS(AE_BAD_PARAMETER); 140 141 if (cold) 142 return_ACPI_STATUS(AE_OK); 143 144#if 0 --- 138 unchanged lines hidden (view full) --- 283} 284 285ACPI_STATUS 286AcpiOsSignalSemaphore(ACPI_HANDLE Handle, UINT32 Units) 287{ 288#ifndef ACPI_NO_SEMAPHORES 289 struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; 290 |
291 ACPI_FUNCTION_TRACE(__func__); | 291 ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); |
292 293 if (as == NULL) 294 return_ACPI_STATUS(AE_BAD_PARAMETER); 295 296 mtx_lock(&as->as_mtx); 297 ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, 298 "return %d units to semaphore %p (has %d)\n", 299 Units, as, as->as_units)); --- 18 unchanged lines hidden --- | 292 293 if (as == NULL) 294 return_ACPI_STATUS(AE_BAD_PARAMETER); 295 296 mtx_lock(&as->as_mtx); 297 ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, 298 "return %d units to semaphore %p (has %d)\n", 299 Units, as, as->as_units)); --- 18 unchanged lines hidden --- |