2 #include <mach/board.h>
4 int port_output_init(unsigned int value, int on, char *name)
7 struct port_config port;
9 port = get_port_config(value);
10 ret = gpio_request(port.gpio, name);
13 if(port.io.pull_mode == PULL_MODE_DISABLE)
14 gpio_pull_updown(port.gpio, 0);
15 if(port.io.pull_mode == PULL_MODE_ENABLE)
16 gpio_pull_updown(port.gpio, 1);
17 gpio_direction_output(port.gpio, (on)? !port.io.active_low: !!port.io.active_low);
21 EXPORT_SYMBOL(port_output_init);
22 void port_output_on(unsigned int value)
24 struct port_config port;
26 port = get_port_config(value);
27 gpio_set_value(port.gpio, !port.io.active_low);
29 EXPORT_SYMBOL(port_output_on);
30 void port_output_off(unsigned int value)
32 struct port_config port;
34 port = get_port_config(value);
35 gpio_set_value(port.gpio, !!port.io.active_low);
37 EXPORT_SYMBOL(port_output_off);
38 void port_deinit(unsigned int value)
40 struct port_config port;
42 port = get_port_config(value);
45 EXPORT_SYMBOL(port_deinit);
46 int port_input_init(unsigned int value, char *name)
49 struct port_config port;
51 port = get_port_config(value);
52 ret = gpio_request(port.gpio, name);
55 if(port.io.pull_mode == PULL_MODE_DISABLE)
56 gpio_pull_updown(port.gpio, 0);
57 if(port.io.pull_mode == PULL_MODE_ENABLE)
58 gpio_pull_updown(port.gpio, 1);
59 gpio_direction_input(port.gpio);
63 EXPORT_SYMBOL(port_input_init);
64 int port_get_value(unsigned int value)
66 struct port_config port;
68 port = get_port_config(value);
69 return gpio_get_value(port.gpio);
71 EXPORT_SYMBOL(port_get_value);