Hi Marcel, > On Feb 23, 2015, at 11:36 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > > Hi Ben, > >> Some of chipset does not allow to send a patch or config files through >> HCI VS channel at early stage as well as they don't support to send >> USB patch files to other channel except USB bulk path. >> >> New callback added is for initialization of BT controller through USB >> >> Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> >> --- >> drivers/bluetooth/btusb.c | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c >> index 3ca2e1b..73e1066 100644 >> --- a/drivers/bluetooth/btusb.c >> +++ b/drivers/bluetooth/btusb.c >> @@ -337,6 +337,8 @@ struct btusb_data { >> >> int (*recv_event)(struct hci_dev *hdev, struct sk_buff *skb); >> int (*recv_bulk)(struct btusb_data *data, void *buffer, int count); >> + >> + int (*setup_on_usb)(struct hci_dev *hdev); > > I am trying to come up with a better callback name here. _on_usb is kind of a duplicate information. Since it is a USB driver. My problem is that I have not come up with a great name for the callback yet. >> }; >> >> static inline void btusb_free_frags(struct btusb_data *data) >> @@ -878,6 +880,15 @@ static int btusb_open(struct hci_dev *hdev) >> >> BT_DBG("%s", hdev->name); >> >> + /* Patching USB firmware files prior to starting any URBs of HCI path >> + * It is more safe to use USB bulk channel for downloading USB patch >> + */ > > While you would be using it for firmware patching, it is a bit more generic. So the comment should be a bit more generic as well. > I'm okay to change better callback name here and update comments with more general. It would be appreciated let us know once merging changes. >> + if (data->setup_on_usb) { >> + err = data->setup_on_usb(hdev); >> + if (err <0) >> + return err; >> + } >> + > > Regards > > Marcel > Thanks Ben Kim-- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html