linux/drivers/input/mouse/cyapa_gen6.c

/*
 * Cypress APA trackpad with I2C interface
 *
 * Author: Dudley Du <[email protected]>
 *
 * Copyright (C) 2015 Cypress Semiconductor, Inc.
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive for
 * more details.
 */

#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/mutex.h>
#include <linux/completion.h>
#include <linux/slab.h>
#include <linux/unaligned.h>
#include <linux/crc-itu-t.h>
#include "cyapa.h"


#define GEN6_ENABLE_CMD_IRQ
#define GEN6_DISABLE_CMD_IRQ
#define GEN6_ENABLE_DEV_IRQ
#define GEN6_DISABLE_DEV_IRQ

#define GEN6_POWER_MODE_ACTIVE
#define GEN6_POWER_MODE_LP_MODE1
#define GEN6_POWER_MODE_LP_MODE2
#define GEN6_POWER_MODE_BTN_ONLY

#define GEN6_SET_POWER_MODE_INTERVAL
#define GEN6_GET_POWER_MODE_INTERVAL

#define GEN6_MAX_RX_NUM
#define GEN6_RETRIEVE_DATA_ID_RX_ATTENURATOR_IDAC
#define GEN6_RETRIEVE_DATA_ID_ATTENURATOR_TRIM


struct pip_app_cmd_head {} __packed;

struct pip_app_resp_head {} __packed;

struct pip_fixed_info {};

static u8 pip_get_bl_info[] =;

static bool cyapa_sort_pip_hid_descriptor_data(struct cyapa *cyapa,
		u8 *buf, int len)
{}

static int cyapa_get_pip_fixed_info(struct cyapa *cyapa,
		struct pip_fixed_info *pip_info, bool is_bootloader)
{}

int cyapa_pip_state_parse(struct cyapa *cyapa, u8 *reg_data, int len)
{}

static int cyapa_gen6_read_sys_info(struct cyapa *cyapa)
{}

static int cyapa_gen6_bl_read_app_info(struct cyapa *cyapa)
{}

static int cyapa_gen6_config_dev_irq(struct cyapa *cyapa, u8 cmd_code)
{}

static int cyapa_gen6_set_proximity(struct cyapa *cyapa, bool enable)
{}

static int cyapa_gen6_change_power_state(struct cyapa *cyapa, u8 power_mode)
{}

static int cyapa_gen6_set_interval_setting(struct cyapa *cyapa,
		struct gen6_interval_setting *interval_setting)
{}

static int cyapa_gen6_get_interval_setting(struct cyapa *cyapa,
		struct gen6_interval_setting *interval_setting)
{}

static int cyapa_gen6_deep_sleep(struct cyapa *cyapa, u8 state)
{}

static int cyapa_gen6_set_power_mode(struct cyapa *cyapa,
		u8 power_mode, u16 sleep_time, enum cyapa_pm_stage pm_stage)
{}

static int cyapa_gen6_initialize(struct cyapa *cyapa)
{}

static int cyapa_pip_retrieve_data_structure(struct cyapa *cyapa,
		u16 read_offset, u16 read_len, u8 data_id,
		u8 *data, int *data_buf_lens)
{}

static ssize_t cyapa_gen6_show_baseline(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static int cyapa_gen6_operational_check(struct cyapa *cyapa)
{}

const struct cyapa_dev_ops cyapa_gen6_ops =;