mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Johan Hedberg says: ==================== pull request: bluetooth-next 2015-05-04 Here's the first bluetooth-next pull request for 4.2: - Various fixes for at86rf230 driver - ieee802154: trace events support for rdev->ops - HCI UART driver refactoring - New Realtek IDs added to btusb driver - Off-by-one fix for rtl8723b in btusb driver - Refactoring of btbcm driver for both UART & USB use Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -30,11 +30,13 @@ struct wpan_phy_cca;
|
||||
struct cfg802154_ops {
|
||||
struct net_device * (*add_virtual_intf_deprecated)(struct wpan_phy *wpan_phy,
|
||||
const char *name,
|
||||
unsigned char name_assign_type,
|
||||
int type);
|
||||
void (*del_virtual_intf_deprecated)(struct wpan_phy *wpan_phy,
|
||||
struct net_device *dev);
|
||||
int (*add_virtual_intf)(struct wpan_phy *wpan_phy,
|
||||
const char *name,
|
||||
unsigned char name_assign_type,
|
||||
enum nl802154_iftype type,
|
||||
__le64 extended_addr);
|
||||
int (*del_virtual_intf)(struct wpan_phy *wpan_phy,
|
||||
|
||||
@@ -247,19 +247,109 @@ static inline void ieee802154_le64_to_be64(void *be64_dst, const void *le64_src)
|
||||
__put_unaligned_memmove64(swab64p(le64_src), be64_dst);
|
||||
}
|
||||
|
||||
/* Basic interface to register ieee802154 device */
|
||||
/**
|
||||
* ieee802154_alloc_hw - Allocate a new hardware device
|
||||
*
|
||||
* This must be called once for each hardware device. The returned pointer
|
||||
* must be used to refer to this device when calling other functions.
|
||||
* mac802154 allocates a private data area for the driver pointed to by
|
||||
* @priv in &struct ieee802154_hw, the size of this area is given as
|
||||
* @priv_data_len.
|
||||
*
|
||||
* @priv_data_len: length of private data
|
||||
* @ops: callbacks for this device
|
||||
*
|
||||
* Return: A pointer to the new hardware device, or %NULL on error.
|
||||
*/
|
||||
struct ieee802154_hw *
|
||||
ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops);
|
||||
|
||||
/**
|
||||
* ieee802154_free_hw - free hardware descriptor
|
||||
*
|
||||
* This function frees everything that was allocated, including the
|
||||
* private data for the driver. You must call ieee802154_unregister_hw()
|
||||
* before calling this function.
|
||||
*
|
||||
* @hw: the hardware to free
|
||||
*/
|
||||
void ieee802154_free_hw(struct ieee802154_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee802154_register_hw - Register hardware device
|
||||
*
|
||||
* You must call this function before any other functions in
|
||||
* mac802154. Note that before a hardware can be registered, you
|
||||
* need to fill the contained wpan_phy's information.
|
||||
*
|
||||
* @hw: the device to register as returned by ieee802154_alloc_hw()
|
||||
*
|
||||
* Return: 0 on success. An error code otherwise.
|
||||
*/
|
||||
int ieee802154_register_hw(struct ieee802154_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee802154_unregister_hw - Unregister a hardware device
|
||||
*
|
||||
* This function instructs mac802154 to free allocated resources
|
||||
* and unregister netdevices from the networking subsystem.
|
||||
*
|
||||
* @hw: the hardware to unregister
|
||||
*/
|
||||
void ieee802154_unregister_hw(struct ieee802154_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee802154_rx - receive frame
|
||||
*
|
||||
* Use this function to hand received frames to mac802154. The receive
|
||||
* buffer in @skb must start with an IEEE 802.15.4 header. In case of a
|
||||
* paged @skb is used, the driver is recommended to put the ieee802154
|
||||
* header of the frame on the linear part of the @skb to avoid memory
|
||||
* allocation and/or memcpy by the stack.
|
||||
*
|
||||
* This function may not be called in IRQ context. Calls to this function
|
||||
* for a single hardware must be synchronized against each other.
|
||||
*
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac802154 after this call
|
||||
*/
|
||||
void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb);
|
||||
|
||||
/**
|
||||
* ieee802154_rx_irqsafe - receive frame
|
||||
*
|
||||
* Like ieee802154_rx() but can be called in IRQ context
|
||||
* (internally defers to a tasklet.)
|
||||
*
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac802154 after this call
|
||||
* @lqi: link quality indicator
|
||||
*/
|
||||
void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb,
|
||||
u8 lqi);
|
||||
|
||||
/**
|
||||
* ieee802154_wake_queue - wake ieee802154 queue
|
||||
* @hw: pointer as obtained from ieee802154_alloc_hw().
|
||||
*
|
||||
* Drivers should use this function instead of netif_wake_queue.
|
||||
*/
|
||||
void ieee802154_wake_queue(struct ieee802154_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee802154_stop_queue - stop ieee802154 queue
|
||||
* @hw: pointer as obtained from ieee802154_alloc_hw().
|
||||
*
|
||||
* Drivers should use this function instead of netif_stop_queue.
|
||||
*/
|
||||
void ieee802154_stop_queue(struct ieee802154_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee802154_xmit_complete - frame transmission complete
|
||||
*
|
||||
* @hw: pointer as obtained from ieee802154_alloc_hw().
|
||||
* @skb: buffer for transmission
|
||||
* @ifs_handling: indicate interframe space handling
|
||||
*/
|
||||
void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
|
||||
bool ifs_handling);
|
||||
|
||||
|
||||
@@ -576,7 +576,7 @@ static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize)
|
||||
}
|
||||
|
||||
/* tcp.c */
|
||||
void tcp_get_info(const struct sock *, struct tcp_info *);
|
||||
void tcp_get_info(struct sock *, struct tcp_info *);
|
||||
|
||||
/* Read 'sendfile()'-style from a TCP socket */
|
||||
typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *,
|
||||
@@ -804,6 +804,8 @@ enum tcp_ca_ack_event_flags {
|
||||
/* Requires ECN/ECT set on all packets */
|
||||
#define TCP_CONG_NEEDS_ECN 0x2
|
||||
|
||||
union tcp_cc_info;
|
||||
|
||||
struct tcp_congestion_ops {
|
||||
struct list_head list;
|
||||
u32 key;
|
||||
@@ -829,7 +831,8 @@ struct tcp_congestion_ops {
|
||||
/* hook for packet ack accounting (optional) */
|
||||
void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us);
|
||||
/* get info for inet_diag (optional) */
|
||||
int (*get_info)(struct sock *sk, u32 ext, struct sk_buff *skb);
|
||||
size_t (*get_info)(struct sock *sk, u32 ext, int *attr,
|
||||
union tcp_cc_info *info);
|
||||
|
||||
char name[TCP_CA_NAME_MAX];
|
||||
struct module *owner;
|
||||
|
||||
Reference in New Issue
Block a user