12 #include <linux/module.h>
13 #include <linux/kernel.h>
15 #include <linux/errno.h>
18 #include <linux/slab.h>
23 #include <mach/hardware.h>
25 #include <asm/sizes.h>
27 #include <mach/board.h>
38 #define CF_ATTR_PHYS (0)
39 #define CF_IO_PHYS (1 << 23)
40 #define CF_MEM_PHYS (0x017ff800)
74 unsigned present = at91_cf_present(cf);
80 present ?
"present" :
"gone");
98 if (at91_cf_present(cf)) {
99 int rdy = gpio_is_valid(cf->
board->irq_pin);
100 int vcc = gpio_is_valid(cf->
board->vcc_pin);
121 if (gpio_is_valid(cf->
board->vcc_pin)) {
137 pr_debug(
"%s: Vcc %d, io_irq %d, flags %04x csc %04x\n",
208 .init = at91_cf_ss_init,
209 .suspend = at91_cf_ss_suspend,
210 .get_status = at91_cf_get_status,
211 .set_socket = at91_cf_set_socket,
212 .set_io_map = at91_cf_set_io_map,
213 .set_mem_map = at91_cf_set_mem_map,
225 if (!board || !gpio_is_valid(board->
det_pin) || !gpio_is_valid(board->
rst_pin))
239 platform_set_drvdata(pdev, cf);
254 if (gpio_is_valid(board->
vcc_pin)) {
266 if (gpio_is_valid(board->
irq_pin)) {
281 if (!cf->
socket.io_offset) {
297 cf->
socket.ops = &at91_cf_ops;
315 if (gpio_is_valid(board->
irq_pin)) {
321 if (gpio_is_valid(board->
vcc_pin))
344 if (gpio_is_valid(board->
irq_pin)) {
348 if (gpio_is_valid(board->
vcc_pin))
365 if (device_may_wakeup(&pdev->
dev)) {
367 if (gpio_is_valid(board->
irq_pin))
378 if (device_may_wakeup(&pdev->
dev)) {
380 if (gpio_is_valid(board->
irq_pin))
388 #define at91_cf_suspend NULL
389 #define at91_cf_resume NULL
404 static int __init at91_cf_init(
void)
410 static void __exit at91_cf_exit(
void)