コード例 #1
0
static struct max14688_jack_match max14688_jack_matches[] = {
	JACK_MATCH("3P", Z(0, 50000), Z(0, 4),   false,  LOW,   LOW,   SWITCH_NAME,          LGE_HEADSET_NO_MIC, EV_SW, SW_HEADPHONE_INSERT, NONE),
	JACK_MATCH("4P", Z(120000, 2600000),  Z(0,   4),   true,   HIGH,  LOW,   SWITCH_NAME,          LGE_HEADSET,        EV_SW, SW_HEADPHONE_INSERT, SW_MICROPHONE_INSERT),
#if MAX14688_ADVANCED_JACK_DET
	JACK_MATCH("3P/ADV", Z(0,        50000),  Z(4,  11),   false,  LOW,   LOW,   SWITCH_NAME_ADVANCED, LGE_HEADSET_NO_MIC, EV_SW, SW_ADVANCED_HEADPHONE_INSERT, NONE),
	JACK_MATCH("4P/ADV", Z(120000, 2600000),  Z(4,  11),   true,   HIGH,  LOW,   SWITCH_NAME_ADVANCED, LGE_HEADSET,        EV_SW, SW_ADVANCED_HEADPHONE_INSERT, SW_MICROPHONE_INSERT),
	JACK_MATCH("ACC/AUX", Z(0,        50000),  Z(11, 64),   false,  LOW,   LOW,   SWITCH_NAME_AUX,      LGE_HEADSET_NO_MIC, EV_SW, SW_AUX_ACCESSORY_INSERT, NONE),
	JACK_MATCH("ACC/AUX", Z(120000, 2600000),  Z(11, 64),   true,   HIGH,  LOW,   SWITCH_NAME_AUX,      LGE_HEADSET,        EV_SW, SW_AUX_ACCESSORY_INSERT, SW_MICROPHONE_INSERT),
#else
#endif
};

static struct max14688_button_match max14688_button_matches[] = {
  /*           name      mic                left         event   event
                       impedence          impedence      type    code */
    BUTTON_MATCH("MEDIA",  Z(0,      150000), DONTCARE,    EV_KEY, KEY_MEDIA),
    BUTTON_MATCH("VOLUP",  Z(150000, 400000), DONTCARE,    EV_KEY, KEY_VOLUMEUP),
    BUTTON_MATCH("VOLDN",  Z(400000, 650000), DONTCARE,    EV_KEY, KEY_VOLUMEDOWN),
};

static int max14688_log_level = 1;
static struct wake_lock ear_key_wake_lock;

struct max14688 {
    struct switch_dev       sdev;
    struct mutex            lock;
    struct device          *dev;
    struct kobject         *kobj;
    struct attribute_group *attr_grp;
    struct input_dev       *input_dev;
    unsigned int            gpio_detect;
コード例 #2
0
static struct max14688_jack_match max14688_jack_matches[] = {
	JACK_MATCH("3P", Z(0, 50000), Z(0, 4),   false,  LOW,   LOW,   SWITCH_NAME,          LGE_HEADSET_NO_MIC, EV_SW, SW_HEADPHONE_INSERT, NONE),
	JACK_MATCH("4P", Z(120000, 2600000),  Z(0,   4),   true,   HIGH,  LOW,   SWITCH_NAME,          LGE_HEADSET,        EV_SW, SW_HEADPHONE_INSERT, SW_MICROPHONE_INSERT),
#if MAX14688_ADVANCED_JACK_DET
	JACK_MATCH("3P/ADV", Z(0,        50000),  Z(4,  11),   false,  LOW,   LOW,   SWITCH_NAME_ADVANCED, LGE_HEADSET_NO_MIC, EV_SW, SW_ADVANCED_HEADPHONE_INSERT, NONE),
	JACK_MATCH("4P/ADV", Z(120000, 2600000),  Z(4,  11),   true,   HIGH,  LOW,   SWITCH_NAME_ADVANCED, LGE_HEADSET,        EV_SW, SW_ADVANCED_HEADPHONE_INSERT, SW_MICROPHONE_INSERT),
	JACK_MATCH("ACC/AUX", Z(0,        50000),  Z(11, 64),   false,  LOW,   LOW,   SWITCH_NAME_AUX,      LGE_HEADSET_NO_MIC, EV_SW, SW_AUX_ACCESSORY_INSERT, NONE),
	JACK_MATCH("ACC/AUX", Z(120000, 2600000),  Z(11, 64),   true,   HIGH,  LOW,   SWITCH_NAME_AUX,      LGE_HEADSET,        EV_SW, SW_AUX_ACCESSORY_INSERT, SW_MICROPHONE_INSERT),
#else
#endif
};

static struct max14688_button_match max14688_button_matches[] = {
  /*           name      mic                left         event   event
                       impedence          impedence      type    code */
    BUTTON_MATCH("MEDIA",  Z(0,      125000), DONTCARE,    EV_KEY, KEY_MEDIA),
    BUTTON_MATCH("ASSIST", Z(125000, 220000), DONTCARE,    EV_KEY, 582),
    BUTTON_MATCH("VOLUP",  Z(220000, 360000), DONTCARE,    EV_KEY, KEY_VOLUMEUP),
    BUTTON_MATCH("VOLDN",  Z(360000, 750000), DONTCARE,    EV_KEY, KEY_VOLUMEDOWN),
};

static int max14688_log_level = 1;
static struct wake_lock ear_key_wake_lock;

struct max14688 {
    struct switch_dev       sdev;
    struct mutex            lock;
    struct device          *dev;
    struct kobject         *kobj;
    struct attribute_group *attr_grp;
    struct input_dev       *input_dev;