Hi Johan, >>> We'll soon start using struct hci_request as a parameter to several more >>> functions in hci_core.h. To avoid compiler warnings of an undefined >>> struct the definition needs to be moved higher up in the file. This >>> patch moves it to the end of the block where several other structs are >>> also defined. >>> >>> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> >>> --- >>> include/net/bluetooth/hci_core.h | 20 ++++++++++---------- >>> 1 file changed, 10 insertions(+), 10 deletions(-) >>> >>> diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h >>> index 3c7827005c25..75aaae07037f 100644 >>> --- a/include/net/bluetooth/hci_core.h >>> +++ b/include/net/bluetooth/hci_core.h >>> @@ -479,6 +479,16 @@ struct hci_conn_params { >>> struct hci_conn *conn; >>> }; >>> >>> +struct hci_request { >>> + struct hci_dev *hdev; >>> + struct sk_buff_head cmd_q; >>> + >>> + /* If something goes wrong when building the HCI request, the error >>> + * value is stored in this field. >>> + */ >>> + int err; >>> +}; >>> + >>> extern struct list_head hci_dev_list; >>> extern struct list_head hci_cb_list; >>> extern rwlock_t hci_dev_list_lock; >>> @@ -1284,16 +1294,6 @@ static inline int hci_check_conn_params(u16 min, u16 max, u16 latency, >>> int hci_register_cb(struct hci_cb *hcb); >>> int hci_unregister_cb(struct hci_cb *hcb); >>> >>> -struct hci_request { >>> - struct hci_dev *hdev; >>> - struct sk_buff_head cmd_q; >>> - >>> - /* If something goes wrong when building the HCI request, the error >>> - * value is stored in this field. >>> - */ >>> - int err; >>> -}; >>> - >>> void hci_req_init(struct hci_request *req, struct hci_dev *hdev); >>> int hci_req_run(struct hci_request *req, hci_req_complete_t complete); >>> void hci_req_add(struct hci_request *req, u16 opcode, u32 plen, >> >> any reason to not move these along with the data structure? They >> actually do belong together. > > Nothing else except that hci_core.h didn't seem to have a very well > established order to begin with and there seemed to be a general section > for structs where I moved this to. I can move the functions along with > it. I think that at some point I tried to split hci_core.h into smaller pieces and because of its dependencies ended up giving up on it. What might be worth while trying is to create a net/bluetooth/hci_request.[ch] and move the whole hci_request stuff locally into net/bluetooth/. This is at least one of the things that is limited to bluetooth.ko core module. Regards Marcel -- 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