diff options
Diffstat (limited to 'ANDROID_3.4.5/sound/aoa/aoa-gpio.h')
-rw-r--r-- | ANDROID_3.4.5/sound/aoa/aoa-gpio.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/ANDROID_3.4.5/sound/aoa/aoa-gpio.h b/ANDROID_3.4.5/sound/aoa/aoa-gpio.h deleted file mode 100644 index 6065b034..00000000 --- a/ANDROID_3.4.5/sound/aoa/aoa-gpio.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Apple Onboard Audio GPIO definitions - * - * Copyright 2006 Johannes Berg <johannes@sipsolutions.net> - * - * GPL v2, can be found in COPYING. - */ - -#ifndef __AOA_GPIO_H -#define __AOA_GPIO_H -#include <linux/workqueue.h> -#include <linux/mutex.h> -#include <asm/prom.h> - -typedef void (*notify_func_t)(void *data); - -enum notify_type { - AOA_NOTIFY_HEADPHONE, - AOA_NOTIFY_LINE_IN, - AOA_NOTIFY_LINE_OUT, -}; - -struct gpio_runtime; -struct gpio_methods { - /* for initialisation/de-initialisation of the GPIO layer */ - void (*init)(struct gpio_runtime *rt); - void (*exit)(struct gpio_runtime *rt); - - /* turn off headphone, speakers, lineout */ - void (*all_amps_off)(struct gpio_runtime *rt); - /* turn headphone, speakers, lineout back to previous setting */ - void (*all_amps_restore)(struct gpio_runtime *rt); - - void (*set_headphone)(struct gpio_runtime *rt, int on); - void (*set_speakers)(struct gpio_runtime *rt, int on); - void (*set_lineout)(struct gpio_runtime *rt, int on); - void (*set_master)(struct gpio_runtime *rt, int on); - - int (*get_headphone)(struct gpio_runtime *rt); - int (*get_speakers)(struct gpio_runtime *rt); - int (*get_lineout)(struct gpio_runtime *rt); - int (*get_master)(struct gpio_runtime *rt); - - void (*set_hw_reset)(struct gpio_runtime *rt, int on); - - /* use this to be notified of any events. The notification - * function is passed the data, and is called in process - * context by the use of schedule_work. - * The interface for it is that setting a function to NULL - * removes it, and they return 0 if the operation succeeded, - * and -EBUSY if the notification is already assigned by - * someone else. */ - int (*set_notify)(struct gpio_runtime *rt, - enum notify_type type, - notify_func_t notify, - void *data); - /* returns 0 if not plugged in, 1 if plugged in - * or a negative error code */ - int (*get_detect)(struct gpio_runtime *rt, - enum notify_type type); -}; - -struct gpio_notification { - struct delayed_work work; - notify_func_t notify; - void *data; - void *gpio_private; - struct mutex mutex; -}; - -struct gpio_runtime { - /* to be assigned by fabric */ - struct device_node *node; - /* since everyone needs this pointer anyway... */ - struct gpio_methods *methods; - /* to be used by the gpio implementation */ - int implementation_private; - struct gpio_notification headphone_notify; - struct gpio_notification line_in_notify; - struct gpio_notification line_out_notify; -}; - -#endif /* __AOA_GPIO_H */ |