Re: [PATCH -v2 12/12] Bluetooth: Used void * as parameter in alloc_skb()

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

 



Hi Gustavo,

> > On Fri, May 25, 2012 at 09:31:04AM -0300, Gustavo Padovan wrote:
> > > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
> > > 
> > > This keep l2cap chan ops functions parameters in sync.
> > > 
> > > Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
> > 
> > ...
> > 
> > > diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
> > > index 25a85ab..0f8886b 100644
> > > --- a/include/net/bluetooth/l2cap.h
> > > +++ b/include/net/bluetooth/l2cap.h
> > > @@ -532,8 +532,8 @@ struct l2cap_ops {
> > >  	void			(*close) (void *data);
> > >  	void			(*teardown) (void *data, int err);
> > >  	void			(*state_change) (void *data, int state);
> > > -	struct sk_buff		*(*alloc_skb) (struct l2cap_chan *chan,
> > > -					       unsigned long len, int nb);
> > > +	struct sk_buff		*(*alloc_skb) (void *data, unsigned long len,
> > > +					       int nb);
> > 
> > ...
> > 
> > > @@ -1893,7 +1893,7 @@ static inline int l2cap_skbuff_fromiovec(struct l2cap_chan *chan,
> > >  
> > >  		count = min_t(unsigned int, conn->mtu, len);
> > >  
> > > -		tmp = chan->ops->alloc_skb(chan, count,
> > > +		tmp = chan->ops->alloc_skb(chan->data, count,
> > 
> > Why do we need to pass chan->data instead of chan?
> 
> We are changing this to make this call have the same parameter as the other
> ops calls, i.e., a void *, so we just pass chan->data here which is the user
> data (struct sock *sk in the l2cap_sock.c case).

so what is the problem to just pass l2cap_chan in here for all calls and
then have the it do chan->data inside the callback. This void *data
thing is dead ugly.

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