1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Common code for Intel Cherry Trail ACPI INT33FE pseudo device drivers 4 * (USB Micro-B and Type-C connector variants), header file 5 * 6 * Copyright (c) 2019 Yauhen Kharuzhy <jekhor@gmail.com> 7 */ 8 9#ifndef _INTEL_CHT_INT33FE_COMMON_H 10#define _INTEL_CHT_INT33FE_COMMON_H 11 12#include <linux/device.h> 13#include <linux/fwnode.h> 14#include <linux/i2c.h> 15 16enum int33fe_hw_type { 17 INT33FE_HW_MICROB, 18 INT33FE_HW_TYPEC, 19}; 20 21struct cht_int33fe_data { 22 struct device *dev; 23 24 int (*probe)(struct cht_int33fe_data *data); 25 int (*remove)(struct cht_int33fe_data *data); 26 27 struct i2c_client *battery_fg; 28 29 /* Type-C only */ 30 struct i2c_client *fusb302; 31 struct i2c_client *pi3usb30532; 32 33 struct fwnode_handle *dp; 34}; 35 36int cht_int33fe_microb_probe(struct cht_int33fe_data *data); 37int cht_int33fe_microb_remove(struct cht_int33fe_data *data); 38int cht_int33fe_typec_probe(struct cht_int33fe_data *data); 39int cht_int33fe_typec_remove(struct cht_int33fe_data *data); 40 41#endif /* _INTEL_CHT_INT33FE_COMMON_H */ 42