Bluetooth: Move all mgmt command quirks to handler table
In order to completely generalize the mgmt command handling we need to move away command-specific information from mgmt_control() into the actual command table. This patch adds a new 'flags' field to the handler entries which can now contain the following command specific information: - Command takes variable length parameters - Command doesn't target any specific HCI device - Command can be sent when the HCI device is unconfigured After this the mgmt_control() function is completely generic and can potentially be reused by new HCI channels. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:

committed by
Marcel Holtmann

parent
6d785aa345
commit
b9a245fb12
@@ -1273,11 +1273,15 @@ void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb);
|
||||
|
||||
void hci_sock_dev_event(struct hci_dev *hdev, int event);
|
||||
|
||||
#define HCI_MGMT_VAR_LEN (1 << 0)
|
||||
#define HCI_MGMT_NO_HDEV (1 << 1)
|
||||
#define HCI_MGMT_UNCONFIGURED (1 << 2)
|
||||
|
||||
struct hci_mgmt_handler {
|
||||
int (*func) (struct sock *sk, struct hci_dev *hdev, void *data,
|
||||
u16 data_len);
|
||||
bool var_len;
|
||||
size_t data_len;
|
||||
unsigned long flags;
|
||||
};
|
||||
|
||||
struct hci_mgmt_chan {
|
||||
|
Reference in New Issue
Block a user