+++ /dev/null
-/*
- * Provide kernel console on headphone jack
- */
-
-#include <linux/module.h>
-#include <linux/gpio_mapping.h>
-#include <linux/gpio.h>
-
-static int hs_switch = -1;
-
-/*
- * int add_preferred_console(char *name, int idx, char *options)
- * c0069208 T add_preferred_console
- */
-
-static int (*add_preferred_console)(char *, int, char*) = (int (*)(char*, int, char*))0xc0069208;
-
-static int __init headphone_cons_init(void)
-{
- /* Get the headset switch gpio number from devtree */
- hs_switch = get_gpio_by_name("headset_uart_switch");
- if (hs_switch < 0)
- return -EINVAL;
-
- printk(KERN_INFO "headset_uart_switch: %d\n", hs_switch);
-
- printk(KERN_INFO "value: %d\n", gpio_get_value(hs_switch));
-
-#if 0
- /* configure headset switch gpio as output and
- direction based on devtree setting */
- if (gpio_request(hs_switch, "mapphone audio headset uart switch") < 0)
- return -ENODEV;
-#endif
-
- /* route kernel uart out headset jack */
- gpio_direction_output(hs_switch, 0);
- printk(KERN_INFO "value: %d\n", gpio_get_value(hs_switch));
-
- add_preferred_console("ttyS", 0, "115200");
- return 0;
-}
-
-static void __exit headphone_cons_exit(void)
-{
- if (hs_switch < 0)
- return;
-
- printk(KERN_INFO "value: %d\n", gpio_get_value(hs_switch));
- gpio_direction_output(hs_switch, 1);
- printk(KERN_INFO "value: %d\n", gpio_get_value(hs_switch));
-}
-
-
-module_init(headphone_cons_init);
-module_exit(headphone_cons_exit);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Michael Gernoth <michael@gernoth.net>");