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 16 enum int33fe_hw_type { 17 INT33FE_HW_MICROB, 18 INT33FE_HW_TYPEC, 19 }; 20 21 struct 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 36 int cht_int33fe_microb_probe(struct cht_int33fe_data *data); 37 int cht_int33fe_microb_remove(struct cht_int33fe_data *data); 38 int cht_int33fe_typec_probe(struct cht_int33fe_data *data); 39 int cht_int33fe_typec_remove(struct cht_int33fe_data *data); 40 41 #endif /* _INTEL_CHT_INT33FE_COMMON_H */ 42