linux/drivers/bluetooth/btintel.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *
 *  Bluetooth support for Intel devices
 *
 *  Copyright (C) 2015  Intel Corporation
 */

/* List of tlv type */
enum {};

struct intel_tlv {} __packed;

#define BTINTEL_CNVI_BLAZARI

#define BTINTEL_IMG_BOOTLOADER
#define BTINTEL_IMG_IML
#define BTINTEL_IMG_OP

#define BTINTEL_FWID_MAXLEN

struct intel_version_tlv {};

struct intel_version {} __packed;

struct intel_boot_params {} __packed;

struct intel_bootup {} __packed;

struct intel_secure_send_result {} __packed;

struct intel_reset {} __packed;

struct intel_debug_features {} __packed;

struct intel_offload_use_cases {} __packed;

#define INTEL_OP_PPAG_CMD
struct hci_ppag_enable_cmd {} __packed;

#define INTEL_TLV_TYPE_ID

#define INTEL_TLV_SYSTEM_EXCEPTION
#define INTEL_TLV_FATAL_EXCEPTION
#define INTEL_TLV_DEBUG_EXCEPTION
#define INTEL_TLV_TEST_EXCEPTION

#define INTEL_HW_PLATFORM(cnvx_bt)
#define INTEL_HW_VARIANT(cnvx_bt)
#define INTEL_CNVX_TOP_TYPE(cnvx_top)
#define INTEL_CNVX_TOP_STEP(cnvx_top)
#define INTEL_CNVX_TOP_PACK_SWAB(t, s)

enum {};

struct btintel_data {};

#define btintel_set_flag(hdev, nr)

#define btintel_clear_flag(hdev, nr)

#define btintel_wake_up_flag(hdev, nr)

#define btintel_get_flag(hdev)

#define btintel_test_flag(hdev, nr)
#define btintel_test_and_clear_flag(hdev, nr)
#define btintel_wait_on_flag_timeout(hdev, nr, m, to)

#if IS_ENABLED(CONFIG_BT_INTEL) || IS_ENABLED(CONFIG_BT_INTEL_PCIE)

int btintel_check_bdaddr(struct hci_dev *hdev);
int btintel_enter_mfg(struct hci_dev *hdev);
int btintel_exit_mfg(struct hci_dev *hdev, bool reset, bool patched);
int btintel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
int btintel_set_diag(struct hci_dev *hdev, bool enable);

int btintel_version_info(struct hci_dev *hdev, struct intel_version *ver);
int btintel_load_ddc_config(struct hci_dev *hdev, const char *ddc_name);
int btintel_set_event_mask_mfg(struct hci_dev *hdev, bool debug);
int btintel_read_version(struct hci_dev *hdev, struct intel_version *ver);
struct regmap *btintel_regmap_init(struct hci_dev *hdev, u16 opcode_read,
				   u16 opcode_write);
int btintel_send_intel_reset(struct hci_dev *hdev, u32 boot_param);
int btintel_read_boot_params(struct hci_dev *hdev,
			     struct intel_boot_params *params);
int btintel_download_firmware(struct hci_dev *dev, struct intel_version *ver,
			      const struct firmware *fw, u32 *boot_param);
int btintel_configure_setup(struct hci_dev *hdev, const char *driver_name);
int btintel_recv_event(struct hci_dev *hdev, struct sk_buff *skb);
void btintel_bootup(struct hci_dev *hdev, const void *ptr, unsigned int len);
void btintel_secure_send_result(struct hci_dev *hdev,
				const void *ptr, unsigned int len);
int btintel_set_quality_report(struct hci_dev *hdev, bool enable);
int btintel_version_info_tlv(struct hci_dev *hdev,
			     struct intel_version_tlv *version);
int btintel_parse_version_tlv(struct hci_dev *hdev,
			      struct intel_version_tlv *version,
			      struct sk_buff *skb);
void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant);
int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
				 struct intel_version_tlv *ver);
int btintel_shutdown_combined(struct hci_dev *hdev);
void btintel_hw_error(struct hci_dev *hdev, u8 code);
void btintel_print_fseq_info(struct hci_dev *hdev);
#else

static inline int btintel_check_bdaddr(struct hci_dev *hdev)
{
	return -EOPNOTSUPP;
}

static inline int btintel_enter_mfg(struct hci_dev *hdev)
{
	return -EOPNOTSUPP;
}

static inline int btintel_exit_mfg(struct hci_dev *hdev, bool reset, bool patched)
{
	return -EOPNOTSUPP;
}

static inline int btintel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{
	return -EOPNOTSUPP;
}

static inline int btintel_set_diag(struct hci_dev *hdev, bool enable)
{
	return -EOPNOTSUPP;
}

static inline int btintel_version_info(struct hci_dev *hdev,
				       struct intel_version *ver)
{
	return -EOPNOTSUPP;
}

static inline int btintel_load_ddc_config(struct hci_dev *hdev,
					  const char *ddc_name)
{
	return -EOPNOTSUPP;
}

static inline int btintel_set_event_mask_mfg(struct hci_dev *hdev, bool debug)
{
	return -EOPNOTSUPP;
}

static inline int btintel_read_version(struct hci_dev *hdev,
				       struct intel_version *ver)
{
	return -EOPNOTSUPP;
}

static inline struct regmap *btintel_regmap_init(struct hci_dev *hdev,
						 u16 opcode_read,
						 u16 opcode_write)
{
	return ERR_PTR(-EINVAL);
}

static inline int btintel_send_intel_reset(struct hci_dev *hdev,
					   u32 reset_param)
{
	return -EOPNOTSUPP;
}

static inline int btintel_read_boot_params(struct hci_dev *hdev,
					   struct intel_boot_params *params)
{
	return -EOPNOTSUPP;
}

static inline int btintel_download_firmware(struct hci_dev *dev,
					    const struct firmware *fw,
					    u32 *boot_param)
{
	return -EOPNOTSUPP;
}

static inline int btintel_configure_setup(struct hci_dev *hdev,
					  const char *driver_name)
{
	return -ENODEV;
}

static inline void btintel_bootup(struct hci_dev *hdev,
				  const void *ptr, unsigned int len)
{
}

static inline void btintel_secure_send_result(struct hci_dev *hdev,
				const void *ptr, unsigned int len)
{
}

static inline int btintel_set_quality_report(struct hci_dev *hdev, bool enable)
{
	return -ENODEV;
}

static inline int btintel_version_info_tlv(struct hci_dev *hdev,
					   struct intel_version_tlv *version)
{
	return -EOPNOTSUPP;
}

static inline int btintel_parse_version_tlv(struct hci_dev *hdev,
					    struct intel_version_tlv *version,
					    struct sk_buff *skb)
{
	return -EOPNOTSUPP;
}

static inline void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant)

{
}

static inline int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
					       struct intel_version_tlv *ver)
{
	return -ENODEV;
}

static inline int btintel_shutdown_combined(struct hci_dev *hdev)
{
	return -ENODEV;
}

static inline void btintel_hw_error(struct hci_dev *hdev, u8 code)
{
}

static inline void btintel_print_fseq_info(struct hci_dev *hdev)
{
}
#endif