Deleted Added
full compact
OsdSynch.c (107328) OsdSynch.c (117530)
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 107328 2002-11-27 18:09:20Z iwasaki $
27 * $FreeBSD: head/sys/dev/acpica/Osd/OsdSynch.c 117530 2003-07-13 22:57:16Z njl $
28 */
29
30/*
31 * 6.1 : Mutual Exclusion and Synchronisation
32 */
33
34#include "acpi.h"
35

--- 297 unchanged lines hidden (view full) ---

333
334 wakeup(as);
335 AS_UNLOCK(as);
336 return_ACPI_STATUS(AE_OK);
337#else
338 return(AE_OK);
339#endif
340}
28 */
29
30/*
31 * 6.1 : Mutual Exclusion and Synchronisation
32 */
33
34#include "acpi.h"
35

--- 297 unchanged lines hidden (view full) ---

333
334 wakeup(as);
335 AS_UNLOCK(as);
336 return_ACPI_STATUS(AE_OK);
337#else
338 return(AE_OK);
339#endif
340}
341
342ACPI_STATUS
343AcpiOsCreateLock (ACPI_HANDLE *OutHandle)
344{
345 struct mtx *m;
346
347 if (OutHandle == NULL)
348 return (AE_BAD_PARAMETER);
349 MALLOC(m, struct mtx *, sizeof(*m), M_ACPISEM, M_NOWAIT | M_ZERO);
350 if (m == NULL)
351 return (AE_NO_MEMORY);
352
353 mtx_init(m, "acpica subsystem lock", NULL, MTX_DEF);
354 *OutHandle = (ACPI_HANDLE)m;
355 return (AE_OK);
356}
357
358void
359AcpiOsDeleteLock (ACPI_HANDLE Handle)
360{
361 struct mtx *m = (struct mtx *)Handle;
362
363 if (Handle == NULL)
364 return;
365 mtx_destroy(m);
366}
367
368/*
369 * The Flags parameter seems to state whether or not caller is an ISR
370 * (and thus can't block) but since we have ithreads, we don't worry
371 * about potentially blocking.
372 */
373void
374AcpiOsAcquireLock (ACPI_HANDLE Handle, UINT32 Flags)
375{
376 struct mtx *m = (struct mtx *)Handle;
377
378 if (Handle == NULL)
379 return;
380 mtx_lock(m);
381}
382
383void
384AcpiOsReleaseLock (ACPI_HANDLE Handle, UINT32 Flags)
385{
386 struct mtx *m = (struct mtx *)Handle;
387
388 if (Handle == NULL)
389 return;
390 mtx_unlock(m);
391}