\hypertarget{acpi__pci_8c_source}{}\doxysection{acpi\+\_\+pci.\+c}
\label{acpi__pci_8c_source}\index{dev/acpica/acpi\_pci.c@{dev/acpica/acpi\_pci.c}}
\mbox{\hyperlink{acpi__pci_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00002}00002 \textcolor{comment}{ * Copyright (c) 1997, Stefan Esser <se@freebsd.org>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00003}00003 \textcolor{comment}{ * Copyright (c) 2000, Michael Smith <msmith@freebsd.org>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2000, BSDi}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00011}00011 \textcolor{comment}{ *    notice unmodified, this list of conditions, and the following}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00012}00012 \textcolor{comment}{ *    disclaimer.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00013}00013 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00014}00014 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00015}00015 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00016}00016 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00017}00017 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00019}00019 \textcolor{comment}{ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00020}00020 \textcolor{comment}{ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00021}00021 \textcolor{comment}{ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00022}00022 \textcolor{comment}{ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00023}00023 \textcolor{comment}{ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00024}00024 \textcolor{comment}{ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00025}00025 \textcolor{comment}{ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00026}00026 \textcolor{comment}{ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00030}\mbox{\hyperlink{acpi__pci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00030}} \mbox{\hyperlink{acpi__pci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00031}00031 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00032}00032 \textcolor{preprocessor}{\#include "{}opt\_acpi.h"{}}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00033}00033 \textcolor{preprocessor}{\#include "{}opt\_iommu.h"{}}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00034}00034 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/sbuf.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/taskqueue.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/tree.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <contrib/dev/acpica/include/acpi.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <contrib/dev/acpica/include/accommon.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00047}00047 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{acpivar_8h}{dev/acpica/acpivar.h}}>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{acpi__pcivar_8h}{dev/acpica/acpi\_pcivar.h}}>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/pciio.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <dev/pci/pcireg.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <dev/pci/pcivar.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <dev/pci/pci\_private.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00055}00055 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <dev/iommu/iommu.h>}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00058}00058 \textcolor{preprocessor}{\#include "{}pcib\_if.h"{}}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00059}00059 \textcolor{preprocessor}{\#include "{}pci\_if.h"{}}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00061}00061 \textcolor{comment}{/* Hooks for the ACPI CA debugging infrastructure. */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00062}\mbox{\hyperlink{acpi__pci_8c_ac76d546e6c738c61838d855c815bfbcc}{00062}} \textcolor{preprocessor}{\#define \_COMPONENT      ACPI\_BUS}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00063}00063 ACPI\_MODULE\_NAME(\textcolor{stringliteral}{"{}PCI"{}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00065}\mbox{\hyperlink{structacpi__pci__devinfo}{00065}} struct \mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00066}\mbox{\hyperlink{structacpi__pci__devinfo_a0cc5fb9c4c0249393f2d86c581372b0f}{00066}}         \textcolor{keyword}{struct }pci\_devinfo      ap\_dinfo;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00067}\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{00067}}         ACPI\_HANDLE             \mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00068}\mbox{\hyperlink{structacpi__pci__devinfo_a3de6d9a872843ae65094f8a9090c943f}{00068}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structacpi__pci__devinfo_a3de6d9a872843ae65094f8a9090c943f}{ap\_flags}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00069}00069 \};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00070}00070 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00071}\mbox{\hyperlink{acpi__pci_8c_aa9909dfb09fa7899fbe67f75ebb46d9f}{00071}} \mbox{\hyperlink{acpi__pci_8c_aa9909dfb09fa7899fbe67f75ebb46d9f}{ACPI\_SERIAL\_DECL}}(pci\_powerstate, \textcolor{stringliteral}{"{}ACPI PCI power methods"{}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00073}00073 \textcolor{comment}{/* Be sure that ACPI and PCI power states are equivalent. */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00074}\mbox{\hyperlink{acpi__pci_8c_a4604d817cdaabd5af4923a0d1c2a7eb8}{00074}} \mbox{\hyperlink{acpi__pci_8c_a4604d817cdaabd5af4923a0d1c2a7eb8}{CTASSERT}}(ACPI\_STATE\_D0 == PCI\_POWERSTATE\_D0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00075}\mbox{\hyperlink{acpi__pci_8c_af3703e91eeae03d8e49603b1d584cb1d}{00075}} \mbox{\hyperlink{acpi__pci_8c_a4604d817cdaabd5af4923a0d1c2a7eb8}{CTASSERT}}(ACPI\_STATE\_D1 == PCI\_POWERSTATE\_D1);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00076}\mbox{\hyperlink{acpi__pci_8c_a074bfd9589e79f15c422fce43582c5c0}{00076}} \mbox{\hyperlink{acpi__pci_8c_a4604d817cdaabd5af4923a0d1c2a7eb8}{CTASSERT}}(ACPI\_STATE\_D2 == PCI\_POWERSTATE\_D2);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00077}\mbox{\hyperlink{acpi__pci_8c_ae6a18682efb5b5e5db82e4a2291b9ad5}{00077}} \mbox{\hyperlink{acpi__pci_8c_a4604d817cdaabd5af4923a0d1c2a7eb8}{CTASSERT}}(ACPI\_STATE\_D3 == PCI\_POWERSTATE\_D3);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00079}00079 \textcolor{keyword}{static} \textcolor{keyword}{struct }pci\_devinfo *\mbox{\hyperlink{acpi__pci_8c_a6aef0cd7d0c3a6aed1c0766cfd78acb2}{acpi\_pci\_alloc\_devinfo}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00080}00080 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_a8a28dd50b67fe2f7fa35c258fa1684dd}{acpi\_pci\_attach}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00081}00081 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{acpi__pci_8c_a4150e83b92022ee651dc9e996dbe6ba8}{acpi\_pci\_child\_deleted}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00082}00082 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_ab3ac931d0febc5f56ed35c4788f49b52}{acpi\_pci\_child\_location\_method}}(device\_t cbdev,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00083}00083                     device\_t child, \textcolor{keyword}{struct} sbuf *sb);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00084}00084 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_aa97babb358a65d16b133ffa602d636b2}{acpi\_pci\_get\_device\_path}}(device\_t cbdev,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00085}00085                     device\_t child, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *locator, \textcolor{keyword}{struct} sbuf *sb);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00086}00086 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_ad80250cf20a20a8aa37a6ce72f8e3d35}{acpi\_pci\_detach}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00087}00087 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_a0ced732a1edc162e2b8cb6bc126bf3e3}{acpi\_pci\_probe}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00088}00088 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_ac1c14b867e13cb4eae720b03e9148301}{acpi\_pci\_read\_ivar}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child, \textcolor{keywordtype}{int} which,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00089}00089                     uintptr\_t *result);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00090}00090 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_a3ca102fb4974a63413e719da0b0a4973}{acpi\_pci\_write\_ivar}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child, \textcolor{keywordtype}{int} which,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00091}00091                     uintptr\_t \mbox{\hyperlink{acpi__if_8m_ac44d17804a846eec70452a3ec9d7c778}{value}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00092}00092 \textcolor{keyword}{static} ACPI\_STATUS \mbox{\hyperlink{acpi__pci_8c_a0323e0beadd66688990349a65c761681}{acpi\_pci\_save\_handle}}(ACPI\_HANDLE handle, UINT32 level,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00093}00093                     \textcolor{keywordtype}{void} *context, \textcolor{keywordtype}{void} **status);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00094}00094 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{acpi__pci_8c_a584880e7663f335db5080adabf406131}{acpi\_pci\_set\_powerstate\_method}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00095}00095                     \textcolor{keywordtype}{int} state);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00096}00096 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{acpi__pci_8c_a132c95cbc1cfcca3a2b57b581c5b96ef}{acpi\_pci\_update\_device}}(ACPI\_HANDLE handle, device\_t pci\_child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00097}00097 \textcolor{keyword}{static} bus\_dma\_tag\_t \mbox{\hyperlink{acpi__pci_8c_aea762f7e6741daa44250b4a46ab875f1}{acpi\_pci\_get\_dma\_tag}}(device\_t bus, device\_t child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00098}00098 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00099}\mbox{\hyperlink{acpi__pci_8c_ad93f727f9105e7765b850e4d6a3443cb}{00099}} \textcolor{keyword}{static} device\_method\_t \mbox{\hyperlink{acpi__pci_8c_ad93f727f9105e7765b850e4d6a3443cb}{acpi\_pci\_methods}}[] = \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00100}00100         \textcolor{comment}{/* Device interface */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00101}00101         DEVMETHOD(device\_probe,         \mbox{\hyperlink{acpi__pci_8c_a0ced732a1edc162e2b8cb6bc126bf3e3}{acpi\_pci\_probe}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00102}00102         DEVMETHOD(device\_attach,        \mbox{\hyperlink{acpi__pci_8c_a8a28dd50b67fe2f7fa35c258fa1684dd}{acpi\_pci\_attach}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00103}00103         DEVMETHOD(device\_detach,        \mbox{\hyperlink{acpi__pci_8c_ad80250cf20a20a8aa37a6ce72f8e3d35}{acpi\_pci\_detach}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00104}00104 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00105}00105         \textcolor{comment}{/* Bus interface */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00106}00106         DEVMETHOD(bus\_read\_ivar,        \mbox{\hyperlink{acpi__pci_8c_ac1c14b867e13cb4eae720b03e9148301}{acpi\_pci\_read\_ivar}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00107}00107         DEVMETHOD(bus\_write\_ivar,       \mbox{\hyperlink{acpi__pci_8c_a3ca102fb4974a63413e719da0b0a4973}{acpi\_pci\_write\_ivar}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00108}00108         DEVMETHOD(bus\_child\_deleted,    \mbox{\hyperlink{acpi__pci_8c_a4150e83b92022ee651dc9e996dbe6ba8}{acpi\_pci\_child\_deleted}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00109}00109         DEVMETHOD(bus\_child\_location,   \mbox{\hyperlink{acpi__pci_8c_ab3ac931d0febc5f56ed35c4788f49b52}{acpi\_pci\_child\_location\_method}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00110}00110         DEVMETHOD(bus\_get\_device\_path,  \mbox{\hyperlink{acpi__pci_8c_aa97babb358a65d16b133ffa602d636b2}{acpi\_pci\_get\_device\_path}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00111}00111         DEVMETHOD(bus\_get\_cpus,         \mbox{\hyperlink{acpi_8c_a4860225795c0661982bd1be9c7cfd76c}{acpi\_get\_cpus}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00112}00112         DEVMETHOD(bus\_get\_dma\_tag,      \mbox{\hyperlink{acpi__pci_8c_aea762f7e6741daa44250b4a46ab875f1}{acpi\_pci\_get\_dma\_tag}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00113}00113         DEVMETHOD(bus\_get\_domain,       \mbox{\hyperlink{acpi_8c_abcc50f03ac0539316ac86ce133eee0d9}{acpi\_get\_domain}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00114}00114 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00115}00115         \textcolor{comment}{/* PCI interface */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00116}00116         DEVMETHOD(pci\_alloc\_devinfo,    \mbox{\hyperlink{acpi__pci_8c_a6aef0cd7d0c3a6aed1c0766cfd78acb2}{acpi\_pci\_alloc\_devinfo}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00117}00117         DEVMETHOD(pci\_child\_added,      \mbox{\hyperlink{acpi__pci_8c_a2d684fdca991543f3a49c409d53f5b5a}{acpi\_pci\_child\_added}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00118}00118         DEVMETHOD(pci\_set\_powerstate,   \mbox{\hyperlink{acpi__pci_8c_a584880e7663f335db5080adabf406131}{acpi\_pci\_set\_powerstate\_method}}),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00119}00119 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00120}00120         DEVMETHOD\_END}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00121}00121 \};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00122}00122 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00123}\mbox{\hyperlink{acpi__pci_8c_a0d8b3600e8129d7d0011246546ebe06a}{00123}} \textcolor{keyword}{static} devclass\_t \mbox{\hyperlink{acpi__pci_8c_a0d8b3600e8129d7d0011246546ebe06a}{pci\_devclass}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00124}00124 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00125}\mbox{\hyperlink{acpi__pci_8c_a6ad87dd39cc6c9c29997591543ca1051}{00125}} \mbox{\hyperlink{acpi__pci_8c_a6ad87dd39cc6c9c29997591543ca1051}{DEFINE\_CLASS\_1}}(pci, acpi\_pci\_driver, \mbox{\hyperlink{acpi__pci_8c_ad93f727f9105e7765b850e4d6a3443cb}{acpi\_pci\_methods}}, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} pci\_softc),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00126}00126     pci\_driver);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00127}\mbox{\hyperlink{acpi__pci_8c_a8049bd402fbc70ce803fa4204fbc544b}{00127}} \mbox{\hyperlink{acpi__pci_8c_a8049bd402fbc70ce803fa4204fbc544b}{DRIVER\_MODULE}}(acpi\_pci, pcib, acpi\_pci\_driver, \mbox{\hyperlink{acpi__pci_8c_a0d8b3600e8129d7d0011246546ebe06a}{pci\_devclass}}, 0, 0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00128}\mbox{\hyperlink{acpi__pci_8c_a280cb5350fe270b7dcc4063293702881}{00128}} \mbox{\hyperlink{acpi__pci_8c_a280cb5350fe270b7dcc4063293702881}{MODULE\_DEPEND}}(acpi\_pci, \mbox{\hyperlink{acpi__if_8m_a5d0db714ee9e465e6cab2260587a6062}{acpi}}, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00129}\mbox{\hyperlink{acpi__pci_8c_ab3547974ea84f583b88e1b578ee3769c}{00129}} \mbox{\hyperlink{acpi__pci_8c_a280cb5350fe270b7dcc4063293702881}{MODULE\_DEPEND}}(acpi\_pci, pci, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00130}\mbox{\hyperlink{acpi__pci_8c_abcd6ee6e264cc5762bc7ef8efcd5a79f}{00130}} \mbox{\hyperlink{acpi__pci_8c_abcd6ee6e264cc5762bc7ef8efcd5a79f}{MODULE\_VERSION}}(acpi\_pci, 1);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00131}00131 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00132}00132 \textcolor{keyword}{static} \textcolor{keyword}{struct }pci\_devinfo *}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00133}\mbox{\hyperlink{acpi__pci_8c_a6aef0cd7d0c3a6aed1c0766cfd78acb2}{00133}} \mbox{\hyperlink{acpi__pci_8c_a6aef0cd7d0c3a6aed1c0766cfd78acb2}{acpi\_pci\_alloc\_devinfo}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00134}00134 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00135}00135         \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00136}00136 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00137}00137         dinfo = malloc(\textcolor{keyword}{sizeof}(*dinfo), M\_DEVBUF, M\_WAITOK | M\_ZERO);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00138}00138         \textcolor{keywordflow}{return} (\&dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a0cc5fb9c4c0249393f2d86c581372b0f}{ap\_dinfo}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00139}00139 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00140}00140 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00141}00141 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00142}\mbox{\hyperlink{acpi__pci_8c_ac1c14b867e13cb4eae720b03e9148301}{00142}} \mbox{\hyperlink{acpi__pci_8c_ac1c14b867e13cb4eae720b03e9148301}{acpi\_pci\_read\_ivar}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child, \textcolor{keywordtype}{int} which, uintptr\_t *result)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00143}00143 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00144}00144     \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00146}00146     dinfo = device\_get\_ivars(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00147}00147     \textcolor{keywordflow}{switch} (which) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00148}00148     \textcolor{keywordflow}{case} \mbox{\hyperlink{acpivar_8h_a240e035fd3c4486c1c799805ff381607}{ACPI\_IVAR\_HANDLE}}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00149}00149         *result = (uintptr\_t)dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00150}00150         return (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00151}00151     \textcolor{keywordflow}{case} \mbox{\hyperlink{acpivar_8h_a845bae843ae2e2493f69ad0a07887379}{ACPI\_IVAR\_FLAGS}}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00152}00152         *result = (uintptr\_t)dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a3de6d9a872843ae65094f8a9090c943f}{ap\_flags}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00153}00153         return (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00154}00154     \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00155}00155     \textcolor{keywordflow}{return} (pci\_read\_ivar(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, child, which, result));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00156}00156 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00157}00157 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00158}00158 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00159}\mbox{\hyperlink{acpi__pci_8c_a3ca102fb4974a63413e719da0b0a4973}{00159}} \mbox{\hyperlink{acpi__pci_8c_a3ca102fb4974a63413e719da0b0a4973}{acpi\_pci\_write\_ivar}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child, \textcolor{keywordtype}{int} which, uintptr\_t \mbox{\hyperlink{acpi__if_8m_ac44d17804a846eec70452a3ec9d7c778}{value}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00160}00160 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00161}00161     \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00162}00162 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00163}00163     dinfo = device\_get\_ivars(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00164}00164     \textcolor{keywordflow}{switch} (which) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00165}00165     \textcolor{keywordflow}{case} \mbox{\hyperlink{acpivar_8h_a240e035fd3c4486c1c799805ff381607}{ACPI\_IVAR\_HANDLE}}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00166}00166         dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}} = (ACPI\_HANDLE)\mbox{\hyperlink{acpi__if_8m_ac44d17804a846eec70452a3ec9d7c778}{value}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00167}00167         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00168}00168     \textcolor{keywordflow}{case} \mbox{\hyperlink{acpivar_8h_a845bae843ae2e2493f69ad0a07887379}{ACPI\_IVAR\_FLAGS}}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00169}00169         dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a3de6d9a872843ae65094f8a9090c943f}{ap\_flags}} = (int)\mbox{\hyperlink{acpi__if_8m_ac44d17804a846eec70452a3ec9d7c778}{value}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00170}00170         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00171}00171     \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00172}00172     \textcolor{keywordflow}{return} (pci\_write\_ivar(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, child, which, \mbox{\hyperlink{acpi__if_8m_ac44d17804a846eec70452a3ec9d7c778}{value}}));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00173}00173 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00174}00174 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00175}00175 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00176}\mbox{\hyperlink{acpi__pci_8c_a4150e83b92022ee651dc9e996dbe6ba8}{00176}} \mbox{\hyperlink{acpi__pci_8c_a4150e83b92022ee651dc9e996dbe6ba8}{acpi\_pci\_child\_deleted}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00177}00177 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00178}00178         \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo = device\_get\_ivars(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00179}00179 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00180}00180         \textcolor{keywordflow}{if} (\mbox{\hyperlink{acpivar_8h_a167b31c02c02b6e32b4183cdcafc5ddd}{acpi\_get\_device}}(dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}}) == child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00181}00181                 AcpiDetachData(dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}}, \mbox{\hyperlink{acpi_8c_a0fbe95a7056ee0a83cde00bcdf5630d5}{acpi\_fake\_objhandler}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00182}00182         pci\_child\_deleted(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00183}00183 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00184}00184 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00185}00185 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00186}\mbox{\hyperlink{acpi__pci_8c_ab3ac931d0febc5f56ed35c4788f49b52}{00186}} \mbox{\hyperlink{acpi__pci_8c_ab3ac931d0febc5f56ed35c4788f49b52}{acpi\_pci\_child\_location\_method}}(device\_t cbdev, device\_t child, \textcolor{keyword}{struct} sbuf *sb)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00187}00187 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00188}00188         \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo = device\_get\_ivars(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00189}00189         \textcolor{keywordtype}{int} pxm;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00190}00190 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00191}00191         pci\_child\_location\_method(cbdev, child, sb);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00192}00192 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00193}00193         \textcolor{keywordflow}{if} (dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}}) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00194}00194                 sbuf\_printf(sb, \textcolor{stringliteral}{"{} handle=\%s"{}}, \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}}));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00195}00195                 \textcolor{keywordflow}{if} (ACPI\_SUCCESS(\mbox{\hyperlink{acpi_8c_a11e4043d67ac9e080d87768b4a7a4262}{acpi\_GetInteger}}(dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}}, \textcolor{stringliteral}{"{}\_PXM"{}}, \&pxm))) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00196}00196                         sbuf\_printf(sb, \textcolor{stringliteral}{"{} \_PXM=\%d"{}}, pxm);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00197}00197                 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00198}00198         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00199}00199         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00200}00200 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00201}00201 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00202}00202 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00203}\mbox{\hyperlink{acpi__pci_8c_aa97babb358a65d16b133ffa602d636b2}{00203}} \mbox{\hyperlink{acpi__pci_8c_aa97babb358a65d16b133ffa602d636b2}{acpi\_pci\_get\_device\_path}}(device\_t bus, device\_t child, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *locator, \textcolor{keyword}{struct} sbuf *sb)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00204}00204 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00205}00205 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00206}00206         \textcolor{keywordflow}{if} (strcmp(locator, BUS\_LOCATOR\_ACPI) == 0)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00207}00207                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{acpi_8c_aa360dbec4364a9535650b13195911648}{acpi\_get\_acpi\_device\_path}}(bus, child, locator, sb));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00208}00208 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00209}00209         \textcolor{comment}{/* Otherwise follow base class' actions */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00210}00210         \textcolor{keywordflow}{return}  (pci\_get\_device\_path\_method(bus, child, locator, sb));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00211}00211 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00212}00212 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00213}00213 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00214}00214 \textcolor{comment}{ * PCI power manangement}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00215}00215 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00216}00216 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00217}\mbox{\hyperlink{acpi__pci_8c_a584880e7663f335db5080adabf406131}{00217}} \mbox{\hyperlink{acpi__pci_8c_a584880e7663f335db5080adabf406131}{acpi\_pci\_set\_powerstate\_method}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child, \textcolor{keywordtype}{int} state)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00218}00218 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00219}00219         ACPI\_HANDLE h;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00220}00220         ACPI\_STATUS status;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00221}00221         \textcolor{keywordtype}{int} old\_state, error;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00222}00222 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00223}00223         error = 0;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00224}00224         \textcolor{keywordflow}{if} (state < ACPI\_STATE\_D0 || state > ACPI\_STATE\_D3)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00225}00225                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00226}00226 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00227}00227         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00228}00228 \textcolor{comment}{         * We set the state using PCI Power Management outside of setting}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00229}00229 \textcolor{comment}{         * the ACPI state.  This means that when powering down a device, we}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00230}00230 \textcolor{comment}{         * first shut it down using PCI, and then using ACPI, which lets ACPI}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00231}00231 \textcolor{comment}{         * try to power down any Power Resources that are now no longer used.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00232}00232 \textcolor{comment}{         * When powering up a device, we let ACPI set the state first so that}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00233}00233 \textcolor{comment}{         * it can enable any needed Power Resources before changing the PCI}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00234}00234 \textcolor{comment}{         * power state.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00235}00235 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00236}00236         \mbox{\hyperlink{acpivar_8h_a9e2d4d8ab6769579f7ad5fc57e58692c}{ACPI\_SERIAL\_BEGIN}}(pci\_powerstate);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00237}00237         old\_state = pci\_get\_powerstate(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00238}00238         \textcolor{keywordflow}{if} (old\_state < state \&\& pci\_do\_power\_suspend) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00239}00239                 error = pci\_set\_powerstate\_method(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, child, state);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00240}00240                 \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00241}00241                         \textcolor{keywordflow}{goto} out;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00242}00242         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00243}00243         h = acpi\_get\_handle(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00244}00244         status = \mbox{\hyperlink{acpi__powerres_8c_a18ea44f0a1414fdf46b2209ba25a1e42}{acpi\_pwr\_switch\_consumer}}(h, state);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00245}00245         \textcolor{keywordflow}{if} (ACPI\_SUCCESS(status)) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00246}00246                 \textcolor{keywordflow}{if} (bootverbose)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00247}00247                         device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}set ACPI power state D\%d on \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00248}00248                             state, \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(h));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00249}00249         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (status != AE\_NOT\_FOUND)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00250}00250                 device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00251}00251                     \textcolor{stringliteral}{"{}failed to set ACPI power state D\%d on \%s: \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00252}00252                     state, \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(h), AcpiFormatException(status));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00253}00253         \textcolor{keywordflow}{if} (old\_state > state \&\& pci\_do\_power\_resume)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00254}00254                 error = pci\_set\_powerstate\_method(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, child, state);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00255}00255 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00256}00256 out:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00257}00257         \mbox{\hyperlink{acpivar_8h_aa1f610624b7c6dde01ed069c71cb791b}{ACPI\_SERIAL\_END}}(pci\_powerstate);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00258}00258         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00259}00259 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00260}00260 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00261}00261 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00262}\mbox{\hyperlink{acpi__pci_8c_a132c95cbc1cfcca3a2b57b581c5b96ef}{00262}} \mbox{\hyperlink{acpi__pci_8c_a132c95cbc1cfcca3a2b57b581c5b96ef}{acpi\_pci\_update\_device}}(ACPI\_HANDLE handle, device\_t pci\_child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00263}00263 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00264}00264         ACPI\_STATUS status;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00265}00265         device\_t child;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00266}00266 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00267}00267         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00268}00268 \textcolor{comment}{         * Occasionally a PCI device may show up as an ACPI device}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00269}00269 \textcolor{comment}{         * with a \_HID.  (For example, the TabletPC TC1000 has a}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00270}00270 \textcolor{comment}{         * second PCI-\/ISA bridge that has a \_HID for an}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00271}00271 \textcolor{comment}{         * acpi\_sysresource device.)  In that case, leave ACPI-\/CA's}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00272}00272 \textcolor{comment}{         * device data pointing at the ACPI-\/enumerated device.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00273}00273 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00274}00274         child = \mbox{\hyperlink{acpivar_8h_a167b31c02c02b6e32b4183cdcafc5ddd}{acpi\_get\_device}}(handle);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00275}00275         \textcolor{keywordflow}{if} (child != NULL) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00276}00276                 KASSERT(device\_get\_parent(child) ==}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00277}00277                     devclass\_get\_device(devclass\_find(\textcolor{stringliteral}{"{}acpi"{}}), 0),}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00278}00278                     (\textcolor{stringliteral}{"{}\%s: child (\%s)'s parent is not acpi0"{}}, \_\_func\_\_,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00279}00279                     \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(handle)));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00280}00280                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00281}00281         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00282}00282 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00283}00283         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00284}00284 \textcolor{comment}{         * Update ACPI-\/CA to use the PCI enumerated device\_t for this handle.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00285}00285 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00286}00286         status = AcpiAttachData(handle, \mbox{\hyperlink{acpi_8c_a0fbe95a7056ee0a83cde00bcdf5630d5}{acpi\_fake\_objhandler}}, pci\_child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00287}00287         \textcolor{keywordflow}{if} (ACPI\_FAILURE(status))}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00288}00288                 printf(\textcolor{stringliteral}{"{}WARNING: Unable to attach object data to \%s -\/ \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00289}00289                     \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(handle), AcpiFormatException(status));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00290}00290 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00291}00291 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00292}00292 \textcolor{keyword}{static} ACPI\_STATUS}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00293}\mbox{\hyperlink{acpi__pci_8c_a0323e0beadd66688990349a65c761681}{00293}} \mbox{\hyperlink{acpi__pci_8c_a0323e0beadd66688990349a65c761681}{acpi\_pci\_save\_handle}}(ACPI\_HANDLE handle, UINT32 level, \textcolor{keywordtype}{void} *context,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00294}00294     \textcolor{keywordtype}{void} **status)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00295}00295 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00296}00296         \textcolor{keyword}{struct }\mbox{\hyperlink{structacpi__pci__devinfo}{acpi\_pci\_devinfo}} *dinfo;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00297}00297         device\_t child;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00298}00298         \textcolor{keywordtype}{int} func, slot;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00299}00299         UINT32 address;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00300}00300 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00301}00301         ACPI\_FUNCTION\_TRACE((\textcolor{keywordtype}{char} *)(uintptr\_t)\_\_func\_\_);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00302}00302 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00303}00303         child = context;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00304}00304         \textcolor{keywordflow}{if} (ACPI\_FAILURE(\mbox{\hyperlink{acpi_8c_a11e4043d67ac9e080d87768b4a7a4262}{acpi\_GetInteger}}(handle, \textcolor{stringliteral}{"{}\_ADR"{}}, \&address)))}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00305}00305                 return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00306}00306         slot = \mbox{\hyperlink{acpivar_8h_a69caa9a340cf0d0993de027de6f34b42}{ACPI\_ADR\_PCI\_SLOT}}(address);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00307}00307         func = \mbox{\hyperlink{acpivar_8h_a076f1d39a238d17c65b63a422faf19ed}{ACPI\_ADR\_PCI\_FUNC}}(address);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00308}00308         dinfo = device\_get\_ivars(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00309}00309         \textcolor{keywordflow}{if} (dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a0cc5fb9c4c0249393f2d86c581372b0f}{ap\_dinfo}}.cfg.func == func \&\&}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00310}00310             dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a0cc5fb9c4c0249393f2d86c581372b0f}{ap\_dinfo}}.cfg.slot == slot) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00311}00311                 dinfo-\/>\mbox{\hyperlink{structacpi__pci__devinfo_a9fea81d759d79f836e6126601fa3b8a2}{ap\_handle}} = handle;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00312}00312                 \mbox{\hyperlink{acpi__pci_8c_a132c95cbc1cfcca3a2b57b581c5b96ef}{acpi\_pci\_update\_device}}(handle, child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00313}00313                 return\_ACPI\_STATUS (AE\_CTRL\_TERMINATE);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00314}00314         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00315}00315         return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00316}00316 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00317}00317 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00318}00318 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00319}\mbox{\hyperlink{acpi__pci_8c_a2d684fdca991543f3a49c409d53f5b5a}{00319}} \mbox{\hyperlink{acpi__pci_8c_a2d684fdca991543f3a49c409d53f5b5a}{acpi\_pci\_child\_added}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, device\_t child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00320}00320 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00321}00321 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00322}00322         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00323}00323 \textcolor{comment}{         * PCI devices are added via the bus scan in the normal PCI}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00324}00324 \textcolor{comment}{         * bus driver.  As each device is added, the}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00325}00325 \textcolor{comment}{         * acpi\_pci\_child\_added() callback walks the ACPI namespace}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00326}00326 \textcolor{comment}{         * under the bridge driver to save ACPI handles to all the}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00327}00327 \textcolor{comment}{         * devices that appear in the ACPI namespace as immediate}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00328}00328 \textcolor{comment}{         * descendants of the bridge.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00329}00329 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00330}00330 \textcolor{comment}{         * XXX: Sometimes PCI devices show up in the ACPI namespace that}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00331}00331 \textcolor{comment}{         * pci\_add\_children() doesn't find.  We currently just ignore}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00332}00332 \textcolor{comment}{         * these devices.}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00333}00333 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00334}00334         AcpiWalkNamespace(ACPI\_TYPE\_DEVICE, acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}), 1,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00335}00335             \mbox{\hyperlink{acpi__pci_8c_a0323e0beadd66688990349a65c761681}{acpi\_pci\_save\_handle}}, NULL, child, NULL);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00336}00336 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00337}00337 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00338}00338 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00339}\mbox{\hyperlink{acpi__pci_8c_a0ced732a1edc162e2b8cb6bc126bf3e3}{00339}} \mbox{\hyperlink{acpi__pci_8c_a0ced732a1edc162e2b8cb6bc126bf3e3}{acpi\_pci\_probe}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00340}00340 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00341}00341 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00342}00342         \textcolor{keywordflow}{if} (acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}) == NULL)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00343}00343                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00344}00344         device\_set\_desc(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}ACPI PCI bus"{}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00345}00345         \textcolor{keywordflow}{return} (BUS\_PROBE\_DEFAULT);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00346}00346 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00347}00347 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00348}00348 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00349}\mbox{\hyperlink{acpi__pci_8c_a5590aa916138b1d254447882114de034}{00349}} \mbox{\hyperlink{acpi__pci_8c_a5590aa916138b1d254447882114de034}{acpi\_pci\_bus\_notify\_handler}}(ACPI\_HANDLE h, UINT32 notify, \textcolor{keywordtype}{void} *context)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00350}00350 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00351}00351         device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00352}00352 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00353}00353         \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}} = context;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00354}00354 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00355}00355         \textcolor{keywordflow}{switch} (notify) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00356}00356         \textcolor{keywordflow}{case} ACPI\_NOTIFY\_BUS\_CHECK:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00357}00357                 bus\_topo\_lock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00358}00358                 BUS\_RESCAN(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00359}00359                 bus\_topo\_unlock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00360}00360                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00361}00361         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00362}00362                 device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}unknown notify \%\#x\(\backslash\)n"{}}, notify);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00363}00363                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00364}00364         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00365}00365 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00366}00366 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00367}00367 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00368}\mbox{\hyperlink{acpi__pci_8c_a52ed7cfc6581008e477689729639cb6a}{00368}} \mbox{\hyperlink{acpi__pci_8c_a52ed7cfc6581008e477689729639cb6a}{acpi\_pci\_device\_notify\_handler}}(ACPI\_HANDLE h, UINT32 notify, \textcolor{keywordtype}{void} *context)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00369}00369 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00370}00370         device\_t child, \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00371}00371         ACPI\_STATUS status;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00372}00372         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00373}00373 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00374}00374         \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}} = context;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00375}00375 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00376}00376         \textcolor{keywordflow}{switch} (notify) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00377}00377         \textcolor{keywordflow}{case} ACPI\_NOTIFY\_DEVICE\_CHECK:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00378}00378                 bus\_topo\_lock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00379}00379                 BUS\_RESCAN(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00380}00380                 bus\_topo\_unlock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00381}00381                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00382}00382         \textcolor{keywordflow}{case} ACPI\_NOTIFY\_EJECT\_REQUEST:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00383}00383                 child = \mbox{\hyperlink{acpivar_8h_a167b31c02c02b6e32b4183cdcafc5ddd}{acpi\_get\_device}}(h);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00384}00384                 \textcolor{keywordflow}{if} (child == NULL) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00385}00385                         device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}no device to eject for \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00386}00386                             \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(h));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00387}00387                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00388}00388                 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00389}00389                 bus\_topo\_lock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00390}00390                 error = device\_detach(child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00391}00391                 \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00392}00392                         bus\_topo\_unlock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00393}00393                         device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}failed to detach \%s: \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00394}00394                             device\_get\_nameunit(child), error);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00395}00395                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00396}00396                 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00397}00397                 status = \mbox{\hyperlink{acpi_8c_a3f29954f0ad424198580784af8713922}{acpi\_SetInteger}}(h, \textcolor{stringliteral}{"{}\_EJ0"{}}, 1);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00398}00398                 \textcolor{keywordflow}{if} (ACPI\_FAILURE(status)) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00399}00399                         bus\_topo\_unlock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00400}00400                         device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}failed to eject \%s: \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00401}00401                             \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(h), AcpiFormatException(status));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00402}00402                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00403}00403                 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00404}00404                 BUS\_RESCAN(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00405}00405                 bus\_topo\_unlock();}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00406}00406                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00407}00407         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00408}00408                 device\_printf(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, \textcolor{stringliteral}{"{}unknown notify \%\#x for \%s\(\backslash\)n"{}}, notify,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00409}00409                     \mbox{\hyperlink{acpi_8c_a06c3bc79994c8a4f6835c134dd3d50f2}{acpi\_name}}(h));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00410}00410                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00411}00411         \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00412}00412 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00413}00413 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00414}00414 \textcolor{keyword}{static} ACPI\_STATUS}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00415}\mbox{\hyperlink{acpi__pci_8c_a09dbc2ce0d9ada335f9c54690efdde82}{00415}} \mbox{\hyperlink{acpi__pci_8c_a09dbc2ce0d9ada335f9c54690efdde82}{acpi\_pci\_install\_device\_notify\_handler}}(ACPI\_HANDLE handle, UINT32 level,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00416}00416     \textcolor{keywordtype}{void} *context, \textcolor{keywordtype}{void} **status)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00417}00417 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00418}00418         ACPI\_HANDLE h;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00419}00419 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00420}00420         ACPI\_FUNCTION\_TRACE((\textcolor{keywordtype}{char} *)(uintptr\_t)\_\_func\_\_);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00421}00421 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00422}00422         \textcolor{keywordflow}{if} (ACPI\_FAILURE(AcpiGetHandle(handle, \textcolor{stringliteral}{"{}\_EJ0"{}}, \&h)))}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00423}00423                 return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00424}00424 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00425}00425         AcpiInstallNotifyHandler(handle, ACPI\_SYSTEM\_NOTIFY,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00426}00426             \mbox{\hyperlink{acpi__pci_8c_a52ed7cfc6581008e477689729639cb6a}{acpi\_pci\_device\_notify\_handler}}, context);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00427}00427         return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00428}00428 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00429}00429 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00430}00430 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00431}\mbox{\hyperlink{acpi__pci_8c_a8a28dd50b67fe2f7fa35c258fa1684dd}{00431}} \mbox{\hyperlink{acpi__pci_8c_a8a28dd50b67fe2f7fa35c258fa1684dd}{acpi\_pci\_attach}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00432}00432 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00433}00433         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00434}00434 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00435}00435         error = pci\_attach(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00436}00436         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00437}00437                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00438}00438         AcpiInstallNotifyHandler(acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}), ACPI\_SYSTEM\_NOTIFY,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00439}00439             \mbox{\hyperlink{acpi__pci_8c_a5590aa916138b1d254447882114de034}{acpi\_pci\_bus\_notify\_handler}}, \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00440}00440         AcpiWalkNamespace(ACPI\_TYPE\_DEVICE, acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}), 1,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00441}00441             \mbox{\hyperlink{acpi__pci_8c_a09dbc2ce0d9ada335f9c54690efdde82}{acpi\_pci\_install\_device\_notify\_handler}}, NULL, \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, NULL);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00442}00442 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00443}00443         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00444}00444 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00445}00445 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00446}00446 \textcolor{keyword}{static} ACPI\_STATUS}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00447}\mbox{\hyperlink{acpi__pci_8c_a8437f6a6c0cd046d2e9f941fe63c0b09}{00447}} \mbox{\hyperlink{acpi__pci_8c_a8437f6a6c0cd046d2e9f941fe63c0b09}{acpi\_pci\_remove\_notify\_handler}}(ACPI\_HANDLE handle, UINT32 level, \textcolor{keywordtype}{void} *context,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00448}00448     \textcolor{keywordtype}{void} **status)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00449}00449 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00450}00450         ACPI\_HANDLE h;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00451}00451 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00452}00452         ACPI\_FUNCTION\_TRACE((\textcolor{keywordtype}{char} *)(uintptr\_t)\_\_func\_\_);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00453}00453 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00454}00454         \textcolor{keywordflow}{if} (ACPI\_FAILURE(AcpiGetHandle(handle, \textcolor{stringliteral}{"{}\_EJ0"{}}, \&h)))}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00455}00455                 return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00456}00456 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00457}00457         AcpiRemoveNotifyHandler(handle, ACPI\_SYSTEM\_NOTIFY,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00458}00458             \mbox{\hyperlink{acpi__pci_8c_a52ed7cfc6581008e477689729639cb6a}{acpi\_pci\_device\_notify\_handler}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00459}00459         return\_ACPI\_STATUS (AE\_OK);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00460}00460 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00461}00461 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00462}00462 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00463}\mbox{\hyperlink{acpi__pci_8c_ad80250cf20a20a8aa37a6ce72f8e3d35}{00463}} \mbox{\hyperlink{acpi__pci_8c_ad80250cf20a20a8aa37a6ce72f8e3d35}{acpi\_pci\_detach}}(device\_t \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}})}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00464}00464 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00465}00465 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00466}00466         AcpiWalkNamespace(ACPI\_TYPE\_DEVICE, acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}), 1,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00467}00467             \mbox{\hyperlink{acpi__pci_8c_a8437f6a6c0cd046d2e9f941fe63c0b09}{acpi\_pci\_remove\_notify\_handler}}, NULL, \mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}, NULL);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00468}00468         AcpiRemoveNotifyHandler(acpi\_get\_handle(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}), ACPI\_SYSTEM\_NOTIFY,}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00469}00469             \mbox{\hyperlink{acpi__pci_8c_a5590aa916138b1d254447882114de034}{acpi\_pci\_bus\_notify\_handler}});}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00470}00470         \textcolor{keywordflow}{return} (pci\_detach(\mbox{\hyperlink{acpi__bus__if_8m_a5b84348f4a546955afe3156099e597f4}{dev}}));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00471}00471 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00472}00472 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00473}00473 \textcolor{preprocessor}{\#ifdef IOMMU}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00474}00474 \textcolor{keyword}{static} bus\_dma\_tag\_t}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00475}00475 \mbox{\hyperlink{acpi__pci_8c_aea762f7e6741daa44250b4a46ab875f1}{acpi\_pci\_get\_dma\_tag}}(device\_t bus, device\_t child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00476}00476 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00477}00477         bus\_dma\_tag\_t tag;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00478}00478 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00479}00479         \textcolor{keywordflow}{if} (device\_get\_parent(child) == bus) \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00480}00480                 \textcolor{comment}{/* try iommu and return if it works */}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00481}00481                 tag = iommu\_get\_dma\_tag(bus, child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00482}00482         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00483}00483                 tag = NULL;}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00484}00484         \textcolor{keywordflow}{if} (tag == NULL)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00485}00485                 tag = pci\_get\_dma\_tag(bus, child);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00486}00486         \textcolor{keywordflow}{return} (tag);}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00487}00487 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00488}00488 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00489}00489 \textcolor{keyword}{static} bus\_dma\_tag\_t}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00490}\mbox{\hyperlink{acpi__pci_8c_aea762f7e6741daa44250b4a46ab875f1}{00490}} \mbox{\hyperlink{acpi__pci_8c_aea762f7e6741daa44250b4a46ab875f1}{acpi\_pci\_get\_dma\_tag}}(device\_t bus, device\_t child)}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00491}00491 \{}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00492}00492 }
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00493}00493         \textcolor{keywordflow}{return} (pci\_get\_dma\_tag(bus, child));}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00494}00494 \}}
\DoxyCodeLine{\Hypertarget{acpi__pci_8c_source_l00495}00495 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
