Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
mdio-bitbang.h
Go to the documentation of this file.
1
#ifndef __LINUX_MDIO_BITBANG_H
2
#define __LINUX_MDIO_BITBANG_H
3
4
#include <
linux/phy.h
>
5
6
struct
module
;
7
8
struct
mdiobb_ctrl
;
9
10
struct
mdiobb_ops
{
11
struct
module
*
owner
;
12
13
/* Set the Management Data Clock high if level is one,
14
* low if level is zero.
15
*/
16
void
(*
set_mdc
)(
struct
mdiobb_ctrl
*
ctrl
,
int
level
);
17
18
/* Configure the Management Data I/O pin as an input if
19
* "output" is zero, or an output if "output" is one.
20
*/
21
void
(*
set_mdio_dir
)(
struct
mdiobb_ctrl
*
ctrl
,
int
output
);
22
23
/* Set the Management Data I/O pin high if value is one,
24
* low if "value" is zero. This may only be called
25
* when the MDIO pin is configured as an output.
26
*/
27
void
(*
set_mdio_data
)(
struct
mdiobb_ctrl
*
ctrl
,
int
value
);
28
29
/* Retrieve the state Management Data I/O pin. */
30
int
(*
get_mdio_data
)(
struct
mdiobb_ctrl
*
ctrl
);
31
};
32
33
struct
mdiobb_ctrl
{
34
const
struct
mdiobb_ops
*
ops
;
35
/* reset callback */
36
int
(*
reset
)(
struct
mii_bus
*
bus
);
37
};
38
39
/* The returned bus is not yet registered with the phy layer. */
40
struct
mii_bus
*
alloc_mdio_bitbang
(
struct
mdiobb_ctrl
*
ctrl
);
41
42
/* The bus must already have been unregistered. */
43
void
free_mdio_bitbang
(
struct
mii_bus
*
bus
);
44
45
#endif
Generated on Thu Jan 10 2013 14:51:49 for Linux Kernel by
1.8.2