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
drivers
pcmcia
bcm63xx_pcmcia.h
Go to the documentation of this file.
1
#ifndef BCM63XX_PCMCIA_H_
2
#define BCM63XX_PCMCIA_H_
3
4
#include <linux/types.h>
5
#include <
linux/timer.h
>
6
#include <
pcmcia/ss.h
>
7
#include <
bcm63xx_dev_pcmcia.h
>
8
9
/* socket polling rate in ms */
10
#define BCM63XX_PCMCIA_POLL_RATE 500
11
12
enum
{
13
CARD_CARDBUS
= (1 << 0),
14
CARD_PCCARD
= (1 << 1),
15
CARD_5V
= (1 << 2),
16
CARD_3V
= (1 << 3),
17
CARD_XV
= (1 << 4),
18
CARD_YV
= (1 << 5),
19
};
20
21
struct
bcm63xx_pcmcia_socket
{
22
struct
pcmcia_socket
socket
;
23
24
/* platform specific data */
25
struct
bcm63xx_pcmcia_platform_data
*
pd
;
26
27
/* all regs access are protected by this spinlock */
28
spinlock_t
lock
;
29
30
/* pcmcia registers resource */
31
struct
resource
*
reg_res
;
32
33
/* base remapped address of registers */
34
void
__iomem
*
base
;
35
36
/* whether a card is detected at the moment */
37
int
card_detected
;
38
39
/* type of detected card (mask of above enum) */
40
u8
card_type
;
41
42
/* keep last socket status to implement event reporting */
43
unsigned
int
old_status
;
44
45
/* backup of requested socket state */
46
socket_state_t
requested_state
;
47
48
/* timer used for socket status polling */
49
struct
timer_list
timer
;
50
51
/* attribute/common memory resources */
52
struct
resource
*
attr_res
;
53
struct
resource
*
common_res
;
54
struct
resource
*
io_res
;
55
56
/* base address of io memory */
57
void
__iomem
*
io_base
;
58
};
59
60
#endif
/* BCM63XX_PCMCIA_H_ */
Generated on Thu Jan 10 2013 14:14:30 for Linux Kernel by
1.8.2