Deleted Added
full compact
36c36
< __FBSDID("$FreeBSD: head/sys/pci/amdpm.c 162234 2006-09-11 20:52:41Z jhb $");
---
> __FBSDID("$FreeBSD: head/sys/pci/amdpm.c 165951 2007-01-11 19:56:24Z jhb $");
38a39
> #include <sys/bus.h>
40c41
< #include <sys/systm.h>
---
> #include <sys/lock.h>
42,43c43,44
< #include <sys/bus.h>
< #include <sys/uio.h>
---
> #include <sys/mutex.h>
> #include <sys/systm.h>
52d52
< #include <dev/iicbus/iiconf.h>
110a111,112
> #define LSB 0x1 /* XXX: Better name: Read/Write? */
>
126d127
<
127a129
> struct mtx lock;
129a132,135
> #define AMDPM_LOCK(amdpm) mtx_lock(&(amdpm)->lock)
> #define AMDPM_UNLOCK(amdpm) mtx_unlock(&(amdpm)->lock)
> #define AMDPM_LOCK_ASSERT(amdpm) mtx_assert(&(amdpm)->lock, MA_OWNED)
>
138a145,146
> static int amdpm_detach(device_t dev);
>
209a218
> mtx_init(&amdpm_sc->lock, device_get_nameunit(dev), "amdpm", MTX_DEF);
213c222,223
< if (!amdpm_sc->smbus)
---
> if (!amdpm_sc->smbus) {
> amdpm_detach(dev);
214a225
> }
230a242
> mtx_destroy(&amdpm_sc->lock);
256a269,270
>
> AMDPM_LOCK_ASSERT(sc);
280a295
> AMDPM_LOCK_ASSERT(sc);
297a313
> AMDPM_LOCK_ASSERT(sc);
334a351
> AMDPM_LOCK(sc);
336c353,354
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
337a356
> }
356a376
> AMDPM_UNLOCK(sc);
367a388
> AMDPM_LOCK(sc);
369c390,391
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
370a393
> }
379a403
> AMDPM_UNLOCK(sc);
390a415
> AMDPM_LOCK(sc);
392c417,418
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
393a420
> }
402a430
> AMDPM_UNLOCK(sc);
413a442
> AMDPM_LOCK(sc);
415c444,445
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
416a447
> }
426a458
> AMDPM_UNLOCK(sc);
437a470
> AMDPM_LOCK(sc);
439c472,473
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
440a475
> }
450a486
> AMDPM_UNLOCK(sc);
461a498
> AMDPM_LOCK(sc);
463c500,501
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
464a503
> }
474a514
> AMDPM_UNLOCK(sc);
485a526
> AMDPM_LOCK(sc);
487c528,529
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
488a531
> }
498a542
> AMDPM_UNLOCK(sc);
512a557,558
>
> AMDPM_LOCK(sc);
514c560,561
< if(!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
515a563
> }
537a586
> AMDPM_UNLOCK(sc);
551a601,602
>
> AMDPM_LOCK(sc);
553c604,605
< if (!amdpm_idle(sc))
---
> if (!amdpm_idle(sc)) {
> AMDPM_UNLOCK(sc);
554a607
> }
579a633
> AMDPM_UNLOCK(sc);