linux/drivers/platform/x86/intel/int33fe/intel_cht_int33fe_common.h
<<
>>
Prefs
   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