\hypertarget{generic__ohci_8c}{}\doxysection{dev/usb/controller/generic\+\_\+ohci.c File Reference}
\label{generic__ohci_8c}\index{dev/usb/controller/generic\_ohci.c@{dev/usb/controller/generic\_ohci.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/rman.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$machine/bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus\+\_\+subr.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+process.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+controller.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/ohci.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/ohcireg.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/clk/clk.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/hwreset/hwreset.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/phy/phy.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/phy/phy\+\_\+usb.\+h$>$}\newline
{\ttfamily \#include \char`\"{}generic\+\_\+usb\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for generic\+\_\+ohci.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/de9/generic__ohci_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structclk__list}{clk\+\_\+list}}
\item 
struct \mbox{\hyperlink{structphy__list}{phy\+\_\+list}}
\item 
struct \mbox{\hyperlink{structhwrst__list}{hwrst\+\_\+list}}
\item 
struct \mbox{\hyperlink{structgeneric__ohci__softc}{generic\+\_\+ohci\+\_\+softc}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{generic__ohci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571}{generic\+\_\+ohci\+\_\+detach}} (device\+\_\+t)
\item 
static int \mbox{\hyperlink{generic__ohci_8c_a9a2a7a25fa05c28b8ea246c2c5b5fafb}{generic\+\_\+ohci\+\_\+probe}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{generic__ohci_8c_ab1033c131673ad0550807f8a8508bcd0}{generic\+\_\+ohci\+\_\+attach}} (device\+\_\+t \textbf{ dev})
\item 
\mbox{\hyperlink{generic__ohci_8c_a8cf5f00f3eb664f8d234e3172d36c12f}{DRIVER\+\_\+\+MODULE}} (ohci, simplebus, \mbox{\hyperlink{generic__ohci_8c_a64ecde3560f52a4eb2e717b0c403a453}{generic\+\_\+ohci\+\_\+driver}}, \mbox{\hyperlink{generic__ohci_8c_a4394a26b59b085148b7942870f458020}{generic\+\_\+ohci\+\_\+devclass}}, 0, 0)
\item 
\mbox{\hyperlink{generic__ohci_8c_a40cbf082d04c685c2803922969178279}{MODULE\+\_\+\+DEPEND}} (ohci, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{generic__ohci_8c_a0763497ee361365c5b658cdf38df8620}{generic\+\_\+ohci\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
driver\+\_\+t \mbox{\hyperlink{generic__ohci_8c_a64ecde3560f52a4eb2e717b0c403a453}{generic\+\_\+ohci\+\_\+driver}}
\item 
static devclass\+\_\+t \mbox{\hyperlink{generic__ohci_8c_a4394a26b59b085148b7942870f458020}{generic\+\_\+ohci\+\_\+devclass}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{generic__ohci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{generic__ohci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{generic\_ohci.c@{generic\_ohci.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{generic__ohci_8c_a8cf5f00f3eb664f8d234e3172d36c12f}\label{generic__ohci_8c_a8cf5f00f3eb664f8d234e3172d36c12f}} 
\index{generic\_ohci.c@{generic\_ohci.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{ohci}]{,  }\item[{simplebus}]{,  }\item[{\mbox{\hyperlink{generic__ohci_8c_a64ecde3560f52a4eb2e717b0c403a453}{generic\+\_\+ohci\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{generic__ohci_8c_a4394a26b59b085148b7942870f458020}{generic\+\_\+ohci\+\_\+devclass}}}]{,  }\item[{0}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{generic__ohci_8c_ab1033c131673ad0550807f8a8508bcd0}\label{generic__ohci_8c_ab1033c131673ad0550807f8a8508bcd0}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_attach@{generic\_ohci\_attach}}
\index{generic\_ohci\_attach@{generic\_ohci\_attach}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_attach()}{generic\_ohci\_attach()}}
{\footnotesize\ttfamily static int generic\+\_\+ohci\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00105}{105}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.



References \mbox{\hyperlink{usb__bus_8h_source_l00101}{usb\+\_\+bus\+::bdev}}, \textbf{ dev}, \mbox{\hyperlink{usb__bus_8h_source_l00108}{usb\+\_\+bus\+::devices}}, \mbox{\hyperlink{usb__bus_8h_source_l00121}{usb\+\_\+bus\+::devices\+\_\+max}}, \mbox{\hyperlink{usb__bus_8h_source_l00124}{usb\+\_\+bus\+::dma\+\_\+bits}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{generic__ohci_8c_source_l00228}{generic\+\_\+ohci\+\_\+detach()}}, \mbox{\hyperlink{ehci_8h_source_l00029}{next}}, \mbox{\hyperlink{ohci_8c_source_l00323}{ohci\+\_\+init()}}, \mbox{\hyperlink{ohci_8c_source_l01106}{ohci\+\_\+interrupt()}}, \mbox{\hyperlink{ohci_8h_source_l00259}{ohci\+\_\+iterate\+\_\+hw\+\_\+softc}}, \mbox{\hyperlink{ohci_8h_source_l00037}{OHCI\+\_\+\+MAX\+\_\+\+DEVICES}}, \mbox{\hyperlink{generic__ohci_8c_source_l00080}{generic\+\_\+ohci\+\_\+softc\+::ohci\+\_\+sc}}, \mbox{\hyperlink{usb__bus_8h_source_l00100}{usb\+\_\+bus\+::parent}}, \textbf{ rid}, \mbox{\hyperlink{ohci_8h_source_l00227}{ohci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{ohci_8h_source_l00231}{ohci\+\_\+softc\+::sc\+\_\+devices}}, \mbox{\hyperlink{ohci_8h_source_l00239}{ohci\+\_\+softc\+::sc\+\_\+intr\+\_\+hdl}}, \mbox{\hyperlink{ohci_8h_source_l00243}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+hdl}}, \mbox{\hyperlink{ohci_8h_source_l00232}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+res}}, \mbox{\hyperlink{ohci_8h_source_l00241}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+size}}, \mbox{\hyperlink{ohci_8h_source_l00242}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+tag}}, \mbox{\hyperlink{ohci_8h_source_l00233}{ohci\+\_\+softc\+::sc\+\_\+irq\+\_\+res}}, \mbox{\hyperlink{ohci_8h_source_l00255}{ohci\+\_\+softc\+::sc\+\_\+vendor}}, \mbox{\hyperlink{usb__controller_8c_source_l00946}{usb\+\_\+bus\+\_\+mem\+\_\+alloc\+\_\+all()}}, and \mbox{\hyperlink{usb__busdma_8h_source_l00046}{USB\+\_\+\+GET\+\_\+\+DMA\+\_\+\+TAG}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/d82/generic__ohci_8c_ab1033c131673ad0550807f8a8508bcd0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571}\label{generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_detach@{generic\_ohci\_detach}}
\index{generic\_ohci\_detach@{generic\_ohci\_detach}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_detach()}{generic\_ohci\_detach()}}
{\footnotesize\ttfamily static int generic\+\_\+ohci\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00228}{228}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{ehci_8h_source_l00029}{next}}, \mbox{\hyperlink{ohcireg_8h_source_l00046}{OHCI\+\_\+\+CONTROL}}, \mbox{\hyperlink{ohci_8c_source_l00437}{ohci\+\_\+detach()}}, \mbox{\hyperlink{ohci_8h_source_l00259}{ohci\+\_\+iterate\+\_\+hw\+\_\+softc}}, \mbox{\hyperlink{generic__ohci_8c_source_l00080}{generic\+\_\+ohci\+\_\+softc\+::ohci\+\_\+sc}}, \mbox{\hyperlink{ohci_8h_source_l00227}{ohci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{ohci_8h_source_l00239}{ohci\+\_\+softc\+::sc\+\_\+intr\+\_\+hdl}}, \mbox{\hyperlink{ohci_8h_source_l00243}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+hdl}}, \mbox{\hyperlink{ohci_8h_source_l00232}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+res}}, \mbox{\hyperlink{ohci_8h_source_l00242}{ohci\+\_\+softc\+::sc\+\_\+io\+\_\+tag}}, \mbox{\hyperlink{ohci_8h_source_l00233}{ohci\+\_\+softc\+::sc\+\_\+irq\+\_\+res}}, and \mbox{\hyperlink{usb__controller_8c_source_l01000}{usb\+\_\+bus\+\_\+mem\+\_\+free\+\_\+all()}}.



Referenced by \mbox{\hyperlink{generic__ohci_8c_source_l00105}{generic\+\_\+ohci\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/d82/generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=346pt]{d9/d82/generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{generic__ohci_8c_a9a2a7a25fa05c28b8ea246c2c5b5fafb}\label{generic__ohci_8c_a9a2a7a25fa05c28b8ea246c2c5b5fafb}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_probe@{generic\_ohci\_probe}}
\index{generic\_ohci\_probe@{generic\_ohci\_probe}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_probe()}{generic\_ohci\_probe()}}
{\footnotesize\ttfamily static int generic\+\_\+ohci\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00090}{90}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.



References \textbf{ dev}.

\mbox{\Hypertarget{generic__ohci_8c_a40cbf082d04c685c2803922969178279}\label{generic__ohci_8c_a40cbf082d04c685c2803922969178279}} 
\index{generic\_ohci.c@{generic\_ohci.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{ohci}]{,  }\item[{\mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{generic__ohci_8c_a4394a26b59b085148b7942870f458020}\label{generic__ohci_8c_a4394a26b59b085148b7942870f458020}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_devclass@{generic\_ohci\_devclass}}
\index{generic\_ohci\_devclass@{generic\_ohci\_devclass}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_devclass}{generic\_ohci\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t generic\+\_\+ohci\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00330}{330}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.

\mbox{\Hypertarget{generic__ohci_8c_a64ecde3560f52a4eb2e717b0c403a453}\label{generic__ohci_8c_a64ecde3560f52a4eb2e717b0c403a453}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_driver@{generic\_ohci\_driver}}
\index{generic\_ohci\_driver@{generic\_ohci\_driver}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_driver}{generic\_ohci\_driver}}
{\footnotesize\ttfamily driver\+\_\+t generic\+\_\+ohci\+\_\+driver}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}ohci"{}},}
\DoxyCodeLine{        .methods = \mbox{\hyperlink{generic__ohci_8c_a0763497ee361365c5b658cdf38df8620}{generic\_ohci\_methods}},}
\DoxyCodeLine{        .size = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structgeneric__ohci__softc}{generic\_ohci\_softc}}),}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00324}{324}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.

\mbox{\Hypertarget{generic__ohci_8c_a0763497ee361365c5b658cdf38df8620}\label{generic__ohci_8c_a0763497ee361365c5b658cdf38df8620}} 
\index{generic\_ohci.c@{generic\_ohci.c}!generic\_ohci\_methods@{generic\_ohci\_methods}}
\index{generic\_ohci\_methods@{generic\_ohci\_methods}!generic\_ohci.c@{generic\_ohci.c}}
\doxysubsubsection{\texorpdfstring{generic\_ohci\_methods}{generic\_ohci\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t generic\+\_\+ohci\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(device\_probe, \mbox{\hyperlink{generic__ohci_8c_a9a2a7a25fa05c28b8ea246c2c5b5fafb}{generic\_ohci\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach, \mbox{\hyperlink{generic__ohci_8c_ab1033c131673ad0550807f8a8508bcd0}{generic\_ohci\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach, \mbox{\hyperlink{generic__ohci_8c_a83562ba1ef741407cadd20de3ecc9571}{generic\_ohci\_detach}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD(device\_suspend, bus\_generic\_suspend),}
\DoxyCodeLine{        DEVMETHOD(device\_resume, bus\_generic\_resume),}
\DoxyCodeLine{        DEVMETHOD(device\_shutdown, bus\_generic\_shutdown),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{generic__ohci_8c_source_l00311}{311}} of file \mbox{\hyperlink{generic__ohci_8c_source}{generic\+\_\+ohci.\+c}}.

