\hypertarget{usb__fdt__support_8c}{}\doxysection{dev/usb/usb\+\_\+fdt\+\_\+support.c File Reference}
\label{usb__fdt__support_8c}\index{dev/usb/usb\_fdt\_support.c@{dev/usb/usb\_fdt\_support.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$dev/fdt/fdt\+\_\+common.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus\+\_\+subr.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/openfirm.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+process.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+controller.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+device.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+freebsd.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+fdt\+\_\+support.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/net/usb\+\_\+ethernet.\+h$>$}\newline
Include dependency graph for usb\+\_\+fdt\+\_\+support.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/dd3/usb__fdt__support_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__fdt__support_8c_ae73a54bedeea15969871247292d739f8}{MAX\+\_\+\+UDEV\+\_\+\+NEST}}~(MAX(\mbox{\hyperlink{usb__freebsd__loader_8h_a2d156b8586ee224529f0b0e81284fcee}{USB\+\_\+\+HUB\+\_\+\+MAX\+\_\+\+DEPTH}}, \mbox{\hyperlink{usb_8h_a850ff3cdd4557fee08dacf66f6ecb5e9}{USB\+\_\+\+SS\+\_\+\+HUB\+\_\+\+DEPTH\+\_\+\+MAX}}) + 1)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{usb__fdt__support_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static phandle\+\_\+t \mbox{\hyperlink{usb__fdt__support_8c_a7644bcee15703465cf864f3541c0893f}{find\+\_\+udev\+\_\+in\+\_\+children}} (phandle\+\_\+t parent, struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev)
\item 
static bool \mbox{\hyperlink{usb__fdt__support_8c_a92abde9a396e65ba42039c7abe0cc35a}{is\+\_\+valid\+\_\+mac\+\_\+addr}} (uint8\+\_\+t $\ast$\textbf{ addr})
\item 
int \mbox{\hyperlink{usb__fdt__support_8c_a0a62eef292afd13e4156bebb48a8bd4a}{usb\+\_\+fdt\+\_\+get\+\_\+mac\+\_\+addr}} (device\+\_\+t \textbf{ dev}, struct \mbox{\hyperlink{structusb__ether}{usb\+\_\+ether}} $\ast$ue)
\item 
phandle\+\_\+t \mbox{\hyperlink{usb__fdt__support_8c_ab59b59b51cc78ce83605377c9e95e9f7}{usb\+\_\+fdt\+\_\+get\+\_\+node}} (device\+\_\+t \textbf{ dev}, struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usb__fdt__support_8c_ae73a54bedeea15969871247292d739f8}\label{usb__fdt__support_8c_ae73a54bedeea15969871247292d739f8}} 
\index{usb\_fdt\_support.c@{usb\_fdt\_support.c}!MAX\_UDEV\_NEST@{MAX\_UDEV\_NEST}}
\index{MAX\_UDEV\_NEST@{MAX\_UDEV\_NEST}!usb\_fdt\_support.c@{usb\_fdt\_support.c}}
\doxysubsubsection{\texorpdfstring{MAX\_UDEV\_NEST}{MAX\_UDEV\_NEST}}
{\footnotesize\ttfamily \#define MAX\+\_\+\+UDEV\+\_\+\+NEST~(MAX(\mbox{\hyperlink{usb__freebsd__loader_8h_a2d156b8586ee224529f0b0e81284fcee}{USB\+\_\+\+HUB\+\_\+\+MAX\+\_\+\+DEPTH}}, \mbox{\hyperlink{usb_8h_a850ff3cdd4557fee08dacf66f6ecb5e9}{USB\+\_\+\+SS\+\_\+\+HUB\+\_\+\+DEPTH\+\_\+\+MAX}}) + 1)}



Definition at line \mbox{\hyperlink{usb__fdt__support_8c_source_l00054}{54}} of file \mbox{\hyperlink{usb__fdt__support_8c_source}{usb\+\_\+fdt\+\_\+support.\+c}}.



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

\mbox{\Hypertarget{usb__fdt__support_8c_a7644bcee15703465cf864f3541c0893f}\label{usb__fdt__support_8c_a7644bcee15703465cf864f3541c0893f}} 
\index{usb\_fdt\_support.c@{usb\_fdt\_support.c}!find\_udev\_in\_children@{find\_udev\_in\_children}}
\index{find\_udev\_in\_children@{find\_udev\_in\_children}!usb\_fdt\_support.c@{usb\_fdt\_support.c}}
\doxysubsubsection{\texorpdfstring{find\_udev\_in\_children()}{find\_udev\_in\_children()}}
{\footnotesize\ttfamily static phandle\+\_\+t find\+\_\+udev\+\_\+in\+\_\+children (\begin{DoxyParamCaption}\item[{phandle\+\_\+t}]{parent,  }\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__fdt__support_8c_source_l00057}{57}} of file \mbox{\hyperlink{usb__fdt__support_8c_source}{usb\+\_\+fdt\+\_\+support.\+c}}.



References \textbf{ child}, \mbox{\hyperlink{usb__device_8h_source_l00270}{usb\+\_\+device\+::ddesc}}, \mbox{\hyperlink{usb_8h_source_l00302}{usb\+\_\+device\+\_\+descriptor\+::id\+Product}}, \mbox{\hyperlink{usb_8h_source_l00301}{usb\+\_\+device\+\_\+descriptor\+::id\+Vendor}}, \mbox{\hyperlink{usb__device_8h_source_l00250}{usb\+\_\+device\+::port\+\_\+index}}, and \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}.



Referenced by \mbox{\hyperlink{usb__fdt__support_8c_source_l00124}{usb\+\_\+fdt\+\_\+get\+\_\+node()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d86/usb__fdt__support_8c_a7644bcee15703465cf864f3541c0893f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__fdt__support_8c_a92abde9a396e65ba42039c7abe0cc35a}\label{usb__fdt__support_8c_a92abde9a396e65ba42039c7abe0cc35a}} 
\index{usb\_fdt\_support.c@{usb\_fdt\_support.c}!is\_valid\_mac\_addr@{is\_valid\_mac\_addr}}
\index{is\_valid\_mac\_addr@{is\_valid\_mac\_addr}!usb\_fdt\_support.c@{usb\_fdt\_support.c}}
\doxysubsubsection{\texorpdfstring{is\_valid\_mac\_addr()}{is\_valid\_mac\_addr()}}
{\footnotesize\ttfamily static bool is\+\_\+valid\+\_\+mac\+\_\+addr (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{addr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__fdt__support_8c_source_l00086}{86}} of file \mbox{\hyperlink{usb__fdt__support_8c_source}{usb\+\_\+fdt\+\_\+support.\+c}}.



References \textbf{ addr}.



Referenced by \mbox{\hyperlink{usb__fdt__support_8c_source_l00101}{usb\+\_\+fdt\+\_\+get\+\_\+mac\+\_\+addr()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d86/usb__fdt__support_8c_a92abde9a396e65ba42039c7abe0cc35a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__fdt__support_8c_a0a62eef292afd13e4156bebb48a8bd4a}\label{usb__fdt__support_8c_a0a62eef292afd13e4156bebb48a8bd4a}} 
\index{usb\_fdt\_support.c@{usb\_fdt\_support.c}!usb\_fdt\_get\_mac\_addr@{usb\_fdt\_get\_mac\_addr}}
\index{usb\_fdt\_get\_mac\_addr@{usb\_fdt\_get\_mac\_addr}!usb\_fdt\_support.c@{usb\_fdt\_support.c}}
\doxysubsubsection{\texorpdfstring{usb\_fdt\_get\_mac\_addr()}{usb\_fdt\_get\_mac\_addr()}}
{\footnotesize\ttfamily int usb\+\_\+fdt\+\_\+get\+\_\+mac\+\_\+addr (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{struct \mbox{\hyperlink{structusb__ether}{usb\+\_\+ether}} $\ast$}]{ue }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__fdt__support_8c_source_l00101}{101}} of file \mbox{\hyperlink{usb__fdt__support_8c_source}{usb\+\_\+fdt\+\_\+support.\+c}}.



References \mbox{\hyperlink{usb__fdt__support_8c_source_l00086}{is\+\_\+valid\+\_\+mac\+\_\+addr()}}, \mbox{\hyperlink{usb__ethernet_8h_source_l00085}{usb\+\_\+ether\+::ue\+\_\+dev}}, \mbox{\hyperlink{usb__ethernet_8h_source_l00101}{usb\+\_\+ether\+::ue\+\_\+eaddr}}, \mbox{\hyperlink{usb__ethernet_8h_source_l00084}{usb\+\_\+ether\+::ue\+\_\+udev}}, and \mbox{\hyperlink{usb__fdt__support_8c_source_l00124}{usb\+\_\+fdt\+\_\+get\+\_\+node()}}.



Referenced by \mbox{\hyperlink{if__muge_8c_source_l01470}{muge\+\_\+set\+\_\+mac\+\_\+addr()}}, and \mbox{\hyperlink{if__smsc_8c_source_l01554}{smsc\+\_\+attach\+\_\+post()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d86/usb__fdt__support_8c_a0a62eef292afd13e4156bebb48a8bd4a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d86/usb__fdt__support_8c_a0a62eef292afd13e4156bebb48a8bd4a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__fdt__support_8c_ab59b59b51cc78ce83605377c9e95e9f7}\label{usb__fdt__support_8c_ab59b59b51cc78ce83605377c9e95e9f7}} 
\index{usb\_fdt\_support.c@{usb\_fdt\_support.c}!usb\_fdt\_get\_node@{usb\_fdt\_get\_node}}
\index{usb\_fdt\_get\_node@{usb\_fdt\_get\_node}!usb\_fdt\_support.c@{usb\_fdt\_support.c}}
\doxysubsubsection{\texorpdfstring{usb\_fdt\_get\_node()}{usb\_fdt\_get\_node()}}
{\footnotesize\ttfamily phandle\+\_\+t usb\+\_\+fdt\+\_\+get\+\_\+node (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__fdt__support_8c_source_l00124}{124}} of file \mbox{\hyperlink{usb__fdt__support_8c_source}{usb\+\_\+fdt\+\_\+support.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00216}{usb\+\_\+device\+::bus}}, \mbox{\hyperlink{usb__fdt__support_8c_source_l00057}{find\+\_\+udev\+\_\+in\+\_\+children()}}, \mbox{\hyperlink{usb__fdt__support_8c_source_l00054}{MAX\+\_\+\+UDEV\+\_\+\+NEST}}, \mbox{\hyperlink{usb__bus_8h_source_l00100}{usb\+\_\+bus\+::parent}}, and \mbox{\hyperlink{usb__device_8h_source_l00218}{usb\+\_\+device\+::parent\+\_\+hub}}.



Referenced by \mbox{\hyperlink{if__muge_8c_source_l01531}{muge\+\_\+set\+\_\+leds()}}, and \mbox{\hyperlink{usb__fdt__support_8c_source_l00101}{usb\+\_\+fdt\+\_\+get\+\_\+mac\+\_\+addr()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=341pt]{d1/d86/usb__fdt__support_8c_ab59b59b51cc78ce83605377c9e95e9f7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d86/usb__fdt__support_8c_ab59b59b51cc78ce83605377c9e95e9f7_icgraph}
\end{center}
\end{figure}
