diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/atmdev.h | 1 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 2 | ||||
| -rw-r--r-- | include/linux/ceph/auth.h | 4 | ||||
| -rw-r--r-- | include/linux/ceph/libceph.h | 2 | ||||
| -rw-r--r-- | include/linux/connector.h | 16 | ||||
| -rw-r--r-- | include/linux/elevator.h | 1 | ||||
| -rw-r--r-- | include/linux/fs.h | 2 | ||||
| -rw-r--r-- | include/linux/interrupt.h | 8 | ||||
| -rw-r--r-- | include/linux/irq.h | 7 | ||||
| -rw-r--r-- | include/linux/kexec.h | 1 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 4 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 2 | ||||
| -rw-r--r-- | include/linux/perf_event.h | 2 | ||||
| -rw-r--r-- | include/linux/rcupdate.h | 20 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 2 | ||||
| -rw-r--r-- | include/linux/usb/usbnet.h | 5 | 
16 files changed, 42 insertions, 37 deletions
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 475f8c42c0e..381f4cec826 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -443,6 +443,7 @@ void atm_dev_signal_change(struct atm_dev *dev, char signal);  void vcc_insert_socket(struct sock *sk); +void atm_dev_release_vccs(struct atm_dev *dev);  /*   * This is approximately the algorithm used by alloc_skb. diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 16a902f099a..32176cc8e71 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1206,6 +1206,7 @@ struct blk_integrity {  	struct kobject		kobj;  }; +extern bool blk_integrity_is_initialized(struct gendisk *);  extern int blk_integrity_register(struct gendisk *, struct blk_integrity *);  extern void blk_integrity_unregister(struct gendisk *);  extern int blk_integrity_compare(struct gendisk *, struct gendisk *); @@ -1262,6 +1263,7 @@ queue_max_integrity_segments(struct request_queue *q)  #define queue_max_integrity_segments(a)		(0)  #define blk_integrity_merge_rq(a, b, c)		(0)  #define blk_integrity_merge_bio(a, b, c)	(0) +#define blk_integrity_is_initialized(a)		(0)  #endif /* CONFIG_BLK_DEV_INTEGRITY */ diff --git a/include/linux/ceph/auth.h b/include/linux/ceph/auth.h index 7fff521d7eb..aa13392a7ef 100644 --- a/include/linux/ceph/auth.h +++ b/include/linux/ceph/auth.h @@ -67,12 +67,12 @@ struct ceph_auth_client {  	bool negotiating;       /* true if negotiating protocol */  	const char *name;       /* entity name */  	u64 global_id;          /* our unique id in system */ -	const char *secret;     /* our secret key */ +	const struct ceph_crypto_key *key;     /* our secret key */  	unsigned want_keys;     /* which services we want */  };  extern struct ceph_auth_client *ceph_auth_init(const char *name, -					       const char *secret); +					       const struct ceph_crypto_key *key);  extern void ceph_auth_destroy(struct ceph_auth_client *ac);  extern void ceph_auth_reset(struct ceph_auth_client *ac); diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h index 0d2e0fffb47..6365f041745 100644 --- a/include/linux/ceph/libceph.h +++ b/include/linux/ceph/libceph.h @@ -61,7 +61,7 @@ struct ceph_options {  					      pointer type of args */  	int num_mon;  	char *name; -	char *secret; +	struct ceph_crypto_key *key;  };  /* diff --git a/include/linux/connector.h b/include/linux/connector.h index bcafc942e5e..7c60d0942ad 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h @@ -88,8 +88,6 @@ struct cn_queue_dev {  	atomic_t refcnt;  	unsigned char name[CN_CBQ_NAMELEN]; -	struct workqueue_struct *cn_queue; -  	struct list_head queue_list;  	spinlock_t queue_lock; @@ -101,20 +99,13 @@ struct cn_callback_id {  	struct cb_id id;  }; -struct cn_callback_data { -	struct sk_buff *skb; -	void (*callback) (struct cn_msg *, struct netlink_skb_parms *); - -	void *free; -}; -  struct cn_callback_entry {  	struct list_head callback_entry; -	struct work_struct work; +	atomic_t refcnt;  	struct cn_queue_dev *pdev;  	struct cn_callback_id id; -	struct cn_callback_data data; +	void (*callback) (struct cn_msg *, struct netlink_skb_parms *);  	u32 seq, group;  }; @@ -138,13 +129,12 @@ int cn_queue_add_callback(struct cn_queue_dev *dev, const char *name,  			  struct cb_id *id,  			  void (*callback)(struct cn_msg *, struct netlink_skb_parms *));  void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); +void cn_queue_release_callback(struct cn_callback_entry *);  struct cn_queue_dev *cn_queue_alloc_dev(const char *name, struct sock *);  void cn_queue_free_dev(struct cn_queue_dev *dev);  int cn_cb_equal(struct cb_id *, struct cb_id *); -void cn_queue_wrapper(struct work_struct *work); -  #endif				/* __KERNEL__ */  #endif				/* __CONNECTOR_H */ diff --git a/include/linux/elevator.h b/include/linux/elevator.h index d93efcc4457..21a8ebf2dc3 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h @@ -101,7 +101,6 @@ extern void elv_dispatch_sort(struct request_queue *, struct request *);  extern void elv_dispatch_add_tail(struct request_queue *, struct request *);  extern void elv_add_request(struct request_queue *, struct request *, int);  extern void __elv_add_request(struct request_queue *, struct request *, int); -extern void elv_insert(struct request_queue *, struct request *, int);  extern int elv_merge(struct request_queue *, struct request **, struct bio *);  extern int elv_try_merge(struct request *, struct bio *);  extern void elv_merge_requests(struct request_queue *, struct request *, diff --git a/include/linux/fs.h b/include/linux/fs.h index 52f283c1edb..1b95af37e3b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -613,6 +613,8 @@ struct address_space_operations {  	int (*error_remove_page)(struct address_space *, struct page *);  }; +extern const struct address_space_operations empty_aops; +  /*   * pagecache_write_begin/pagecache_write_end must be used by general code   * to write into the pagecache. diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 59b72ca1c5d..943c9b53695 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -338,14 +338,6 @@ static inline void enable_irq_lockdep_irqrestore(unsigned int irq, unsigned long  /* IRQ wakeup (PM) control: */  extern int irq_set_irq_wake(unsigned int irq, unsigned int on); -#ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT -/* Please do not use: Use the replacement functions instead */ -static inline int set_irq_wake(unsigned int irq, unsigned int on) -{ -	return irq_set_irq_wake(irq, on); -} -#endif -  static inline int enable_irq_wake(unsigned int irq)  {  	return irq_set_irq_wake(irq, 1); diff --git a/include/linux/irq.h b/include/linux/irq.h index 2a375a72ce3..09a308072f5 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -64,13 +64,6 @@ typedef	void (*irq_preflow_handler_t)(struct irq_data *data);   * IRQ_NO_BALANCING		- Interrupt cannot be balanced (affinity set)   * IRQ_MOVE_PCNTXT		- Interrupt can be migrated from process context   * IRQ_NESTED_TRHEAD		- Interrupt nests into another thread - * - * Deprecated bits. They are kept updated as long as - * CONFIG_GENERIC_HARDIRQS_NO_COMPAT is not set. Will go away soon. These bits - * are internal state of the core code and if you really need to acces - * them then talk to the genirq maintainer instead of hacking - * something weird. - *   */  enum {  	IRQ_TYPE_NONE		= 0x00000000, diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 03e8e8dbc57..c2478a342cd 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -208,6 +208,7 @@ int __init parse_crashkernel(char *cmdline, unsigned long long system_ram,  		unsigned long long *crash_size, unsigned long long *crash_base);  int crash_shrink_memory(unsigned long new_size);  size_t crash_get_memory_size(void); +void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);  #else /* !CONFIG_KEXEC */  struct pt_regs; diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 5eeb2cd3631..0249fe7e387 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2598,8 +2598,8 @@ static inline int dev_ethtool_get_settings(struct net_device *dev,  static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)  { -	if (dev->hw_features & NETIF_F_RXCSUM) -		return !!(dev->features & NETIF_F_RXCSUM); +	if (dev->features & NETIF_F_RXCSUM) +		return 1;  	if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)  		return 0;  	return dev->ethtool_ops->get_rx_csum(dev); diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 11fd38151cc..4e2c9150a78 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -518,7 +518,7 @@  #define PCI_DEVICE_ID_AMD_11H_NB_MISC	0x1303  #define PCI_DEVICE_ID_AMD_11H_NB_LINK	0x1304  #define PCI_DEVICE_ID_AMD_15H_NB_F3	0x1603 -#define PCI_DEVICE_ID_AMD_15H_NB_LINK	0x1604 +#define PCI_DEVICE_ID_AMD_15H_NB_F4	0x1604  #define PCI_DEVICE_ID_AMD_CNB17H_F3	0x1703  #define PCI_DEVICE_ID_AMD_LANCE		0x2000  #define PCI_DEVICE_ID_AMD_LANCE_HOME	0x2001 diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 311b4dc785a..04d75a8a20e 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -1086,7 +1086,7 @@ void perf_event_task_sched_out(struct task_struct *task, struct task_struct *nex  {  	perf_sw_event(PERF_COUNT_SW_CONTEXT_SWITCHES, 1, 1, NULL, 0); -	COND_STMT(&perf_sched_events, __perf_event_task_sched_out(task, next)); +	__perf_event_task_sched_out(task, next);  }  extern void perf_event_mmap(struct vm_area_struct *vma); diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index af561485628..ff422d2b7f9 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -339,6 +339,12 @@ extern int rcu_my_thread_group_empty(void);  		((typeof(*p) __force __kernel *)(p)); \  	}) +#define __rcu_access_index(p, space) \ +	({ \ +		typeof(p) _________p1 = ACCESS_ONCE(p); \ +		rcu_dereference_sparse(p, space); \ +		(_________p1); \ +	})  #define __rcu_dereference_index_check(p, c) \  	({ \  		typeof(p) _________p1 = ACCESS_ONCE(p); \ @@ -429,6 +435,20 @@ extern int rcu_my_thread_group_empty(void);  #define rcu_dereference_raw(p) rcu_dereference_check(p, 1) /*@@@ needed? @@@*/  /** + * rcu_access_index() - fetch RCU index with no dereferencing + * @p: The index to read + * + * Return the value of the specified RCU-protected index, but omit the + * smp_read_barrier_depends() and keep the ACCESS_ONCE().  This is useful + * when the value of this index is accessed, but the index is not + * dereferenced, for example, when testing an RCU-protected index against + * -1.  Although rcu_access_index() may also be used in cases where + * update-side locks prevent the value of the index from changing, you + * should instead use rcu_dereference_index_protected() for this use case. + */ +#define rcu_access_index(p) __rcu_access_index((p), __rcu) + +/**   * rcu_dereference_index_check() - rcu_dereference for indices with debug checking   * @p: The pointer to read, prior to dereferencing   * @c: The conditions under which the dereference will take place diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 239083bfea1..d9e52fa2416 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -126,7 +126,7 @@ struct sk_buff;   * GRO uses frags we allocate at least 16 regardless of page size.   */  #if (65536/PAGE_SIZE + 2) < 16 -#define MAX_SKB_FRAGS 16 +#define MAX_SKB_FRAGS 16UL  #else  #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)  #endif diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h index 44842c8d38c..3c7329b8ea0 100644 --- a/include/linux/usb/usbnet.h +++ b/include/linux/usb/usbnet.h @@ -97,11 +97,14 @@ struct driver_info {  #define FLAG_LINK_INTR	0x0800		/* updates link (carrier) status */ +#define FLAG_POINTTOPOINT 0x1000	/* possibly use "usb%d" names */ +  /*   * Indicates to usbnet, that USB driver accumulates multiple IP packets.   * Affects statistic (counters) and short packet handling.   */  #define FLAG_MULTI_PACKET	0x1000 +#define FLAG_RX_ASSEMBLE	0x2000	/* rx packets may span >1 frames */  	/* init device ... can sleep, or cause probe() failure */  	int	(*bind)(struct usbnet *, struct usb_interface *); @@ -172,7 +175,9 @@ struct cdc_state {  };  extern int usbnet_generic_cdc_bind(struct usbnet *, struct usb_interface *); +extern int usbnet_cdc_bind(struct usbnet *, struct usb_interface *);  extern void usbnet_cdc_unbind(struct usbnet *, struct usb_interface *); +extern void usbnet_cdc_status(struct usbnet *, struct urb *);  /* CDC and RNDIS support the same host-chosen packet filters for IN transfers */  #define	DEFAULT_FILTER	(USB_CDC_PACKET_TYPE_BROADCAST \  |