Re: [RFCv0] Bluetooth: General HCI callback implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel,

On Wed, Dec 14, 2011 at 11:20:23PM +0100, Marcel Holtmann wrote:
> Hi Andrei,
> 
> > Add general HCI callback implementation. Can be used for executing
> > HCI commands from A2MP protocol.
> > ---
> >  include/net/bluetooth/hci_core.h |   14 +++++++++++
> >  net/bluetooth/hci_core.c         |   47 ++++++++++++++++++++++++++++++++++++++
> >  net/bluetooth/hci_event.c        |    4 +++
> >  3 files changed, 65 insertions(+), 0 deletions(-)
> > 
> > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
> > index cc5481d..e473cd2 100644
> > --- a/include/net/bluetooth/hci_core.h
> > +++ b/include/net/bluetooth/hci_core.h
> > @@ -121,6 +121,15 @@ struct adv_entry {
> >  	u8 bdaddr_type;
> >  };
> >  
> > +struct hci_dev;
> > +
> > +struct cb_cmd {
> > +	struct list_head list;
> > +	u16 opcode;
> > +	void *opt;
> > +	void (*cb)(struct hci_dev *hdev, void *opt);
> > +};
> > +
> 
> so I am actually thinking that we might just update hci_request into a
> bit more flexible schema.

Do you mean that we can use blocking hci_request? This may work but some
commands requires special logic (like executing several Read AMP Assoc
data requests). I don't know would it be the best solution especially when
executing from A2MP/L2CAP code.

> Gustavo is working on moving everything into a process context, so we
> can actually sleep. And we could just make a simple premise to only

This would be good, meanwhile I have implemented callback execution in a
workqueue. I will send second RFC version later today.

Best regards 
Andrei Emeltchenko 

> allow one request at a time. That would also then allow us to utilize
> hci_request. We just need a clean way to report back the result.
> 
> 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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux