forked from Minki/linux
c942fddf87
Based on 3 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [graeme] [gregory] [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema] [hk] [hemahk]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 1105 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
96 lines
2.2 KiB
C
96 lines
2.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Bluetooth support for Realtek devices
|
|
*
|
|
* Copyright (C) 2015 Endless Mobile, Inc.
|
|
*/
|
|
|
|
#define RTL_FRAG_LEN 252
|
|
|
|
#define rtl_dev_err(dev, fmt, ...) bt_dev_err(dev, "RTL: " fmt, ##__VA_ARGS__)
|
|
#define rtl_dev_warn(dev, fmt, ...) bt_dev_warn(dev, "RTL: " fmt, ##__VA_ARGS__)
|
|
#define rtl_dev_info(dev, fmt, ...) bt_dev_info(dev, "RTL: " fmt, ##__VA_ARGS__)
|
|
#define rtl_dev_dbg(dev, fmt, ...) bt_dev_dbg(dev, "RTL: " fmt, ##__VA_ARGS__)
|
|
|
|
struct btrtl_device_info;
|
|
|
|
struct rtl_download_cmd {
|
|
__u8 index;
|
|
__u8 data[RTL_FRAG_LEN];
|
|
} __packed;
|
|
|
|
struct rtl_download_response {
|
|
__u8 status;
|
|
__u8 index;
|
|
} __packed;
|
|
|
|
struct rtl_rom_version_evt {
|
|
__u8 status;
|
|
__u8 version;
|
|
} __packed;
|
|
|
|
struct rtl_epatch_header {
|
|
__u8 signature[8];
|
|
__le32 fw_version;
|
|
__le16 num_patches;
|
|
} __packed;
|
|
|
|
struct rtl_vendor_config_entry {
|
|
__le16 offset;
|
|
__u8 len;
|
|
__u8 data[0];
|
|
} __packed;
|
|
|
|
struct rtl_vendor_config {
|
|
__le32 signature;
|
|
__le16 total_len;
|
|
struct rtl_vendor_config_entry entry[0];
|
|
} __packed;
|
|
|
|
#if IS_ENABLED(CONFIG_BT_RTL)
|
|
|
|
struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
|
|
const char *postfix);
|
|
void btrtl_free(struct btrtl_device_info *btrtl_dev);
|
|
int btrtl_download_firmware(struct hci_dev *hdev,
|
|
struct btrtl_device_info *btrtl_dev);
|
|
int btrtl_setup_realtek(struct hci_dev *hdev);
|
|
int btrtl_get_uart_settings(struct hci_dev *hdev,
|
|
struct btrtl_device_info *btrtl_dev,
|
|
unsigned int *controller_baudrate,
|
|
u32 *device_baudrate, bool *flow_control);
|
|
|
|
#else
|
|
|
|
static inline struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
|
|
const char *postfix)
|
|
{
|
|
return ERR_PTR(-EOPNOTSUPP);
|
|
}
|
|
|
|
static inline void btrtl_free(struct btrtl_device_info *btrtl_dev)
|
|
{
|
|
}
|
|
|
|
static inline int btrtl_download_firmware(struct hci_dev *hdev,
|
|
struct btrtl_device_info *btrtl_dev)
|
|
{
|
|
return -EOPNOTSUPP;
|
|
}
|
|
|
|
static inline int btrtl_setup_realtek(struct hci_dev *hdev)
|
|
{
|
|
return -EOPNOTSUPP;
|
|
}
|
|
|
|
static inline int btrtl_get_uart_settings(struct hci_dev *hdev,
|
|
struct btrtl_device_info *btrtl_dev,
|
|
unsigned int *controller_baudrate,
|
|
u32 *device_baudrate,
|
|
bool *flow_control)
|
|
{
|
|
return -ENOENT;
|
|
}
|
|
|
|
#endif
|