diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/arch-pxa/pxa-regs.h | 7 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/pxafb.h | 1 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/hardware.h | 7 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/io.h | 58 | ||||
| -rw-r--r-- | include/asm-powerpc/timex.h | 2 | ||||
| -rw-r--r-- | include/asm-ppc/cputable.h | 1 | ||||
| -rw-r--r-- | include/asm-sparc64/pbm.h | 30 | ||||
| -rw-r--r-- | include/linux/acct.h | 4 | ||||
| -rw-r--r-- | include/linux/cpumask.h | 10 | ||||
| -rw-r--r-- | include/linux/netfilter/nfnetlink.h | 12 | ||||
| -rw-r--r-- | include/linux/netfilter/nfnetlink_conntrack.h | 15 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack.h | 8 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_protocol.h | 3 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_tuple.h | 2 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_nat.h | 4 | ||||
| -rw-r--r-- | include/linux/netpoll.h | 2 | ||||
| -rw-r--r-- | include/net/inet_timewait_sock.h | 3 | 
17 files changed, 112 insertions, 57 deletions
diff --git a/include/asm-arm/arch-pxa/pxa-regs.h b/include/asm-arm/arch-pxa/pxa-regs.h index 939d9e5020a0..13fa2deb4ddd 100644 --- a/include/asm-arm/arch-pxa/pxa-regs.h +++ b/include/asm-arm/arch-pxa/pxa-regs.h @@ -126,8 +126,8 @@  #define DRCMR12		__REG(0x40000130)  /* Request to Channel Map Register for AC97 audio transmit Request */  #define DRCMR13		__REG(0x40000134)  /* Request to Channel Map Register for SSP receive Request */  #define DRCMR14		__REG(0x40000138)  /* Request to Channel Map Register for SSP transmit Request */ -#define DRCMR15		__REG(0x4000013c)  /* Reserved */ -#define DRCMR16		__REG(0x40000140)  /* Reserved */ +#define DRCMR15		__REG(0x4000013c)  /* Request to Channel Map Register for SSP2 receive Request */ +#define DRCMR16		__REG(0x40000140)  /* Request to Channel Map Register for SSP2 transmit Request */  #define DRCMR17		__REG(0x40000144)  /* Request to Channel Map Register for ICP receive Request */  #define DRCMR18		__REG(0x40000148)  /* Request to Channel Map Register for ICP transmit Request */  #define DRCMR19		__REG(0x4000014c)  /* Request to Channel Map Register for STUART receive Request */ @@ -151,7 +151,8 @@  #define DRCMR37		__REG(0x40000194)  /* Request to Channel Map Register for USB endpoint 13 Request */  #define DRCMR38		__REG(0x40000198)  /* Request to Channel Map Register for USB endpoint 14 Request */  #define DRCMR39		__REG(0x4000019C)  /* Reserved */ - +#define DRCMR66		__REG(0x40001108)  /* Request to Channel Map Register for SSP3 receive Request */ +#define DRCMR67		__REG(0x4000110C)  /* Request to Channel Map Register for SSP3 transmit Request */  #define DRCMR68		__REG(0x40001110)  /* Request to Channel Map Register for Camera FIFO 0 Request */  #define DRCMR69		__REG(0x40001114)  /* Request to Channel Map Register for Camera FIFO 1 Request */  #define DRCMR70		__REG(0x40001118)  /* Request to Channel Map Register for Camera FIFO 2 Request */ diff --git a/include/asm-arm/arch-pxa/pxafb.h b/include/asm-arm/arch-pxa/pxafb.h index 21c0e16dce5f..aba9b30f4249 100644 --- a/include/asm-arm/arch-pxa/pxafb.h +++ b/include/asm-arm/arch-pxa/pxafb.h @@ -66,4 +66,5 @@ struct pxafb_mach_info {  };  void set_pxa_fb_info(struct pxafb_mach_info *hard_pxa_fb_info); +void set_pxa_fb_parent(struct device *parent_dev);  unsigned long pxafb_get_hsync_time(struct device *dev); diff --git a/include/asm-arm/arch-s3c2410/hardware.h b/include/asm-arm/arch-s3c2410/hardware.h index 48a39918a760..1c9de29cafef 100644 --- a/include/asm-arm/arch-s3c2410/hardware.h +++ b/include/asm-arm/arch-s3c2410/hardware.h @@ -92,6 +92,13 @@ extern unsigned int s3c2410_gpio_getpin(unsigned int pin);  extern unsigned int s3c2410_modify_misccr(unsigned int clr, unsigned int chg); +#ifdef CONFIG_CPU_S3C2440 + +extern int s3c2440_set_dsc(unsigned int pin, unsigned int value); + +#endif /* CONFIG_CPU_S3C2440 */ + +  #endif /* __ASSEMBLY__ */  #include <asm/sizes.h> diff --git a/include/asm-arm/arch-s3c2410/io.h b/include/asm-arm/arch-s3c2410/io.h index 418233a7ee6f..4bf272ed9add 100644 --- a/include/asm-arm/arch-s3c2410/io.h +++ b/include/asm-arm/arch-s3c2410/io.h @@ -9,7 +9,7 @@   *  06-Dec-1997	RMK	Created.   *  02-Sep-2003 BJD	Modified for S3C2410   *  10-Mar-2005 LCVR	Changed S3C2410_VA to S3C24XX_VA - * + *  13-Oct-2005 BJD	Fixed problems with LDRH/STRH offset range   */  #ifndef __ASM_ARM_ARCH_IO_H @@ -97,7 +97,7 @@ DECLARE_IO(int,l,"")  	else								\  		__asm__ __volatile__(					\  		"strb	%0, [%1, #0]	@ outbc"			\ -		: : "r" (value), "r" ((port)));		\ +		: : "r" (value), "r" ((port)));				\  })  #define __inbc(port)							\ @@ -110,35 +110,61 @@ DECLARE_IO(int,l,"")  	else								\  		__asm__ __volatile__(					\  		"ldrb	%0, [%1, #0]	@ inbc"				\ -		: "=r" (result) : "r" ((port)));	\ +		: "=r" (result) : "r" ((port)));			\  	result;								\  })  #define __outwc(value,port)						\  ({									\  	unsigned long v = value;					\ -	if (__PORT_PCIO((port)))					\ -		__asm__ __volatile__(					\ -		"strh	%0, [%1, %2]	@ outwc"			\ -		: : "r" (v), "r" (PCIO_BASE), "Jr" ((port)));	\ -	else								\ +	if (__PORT_PCIO((port))) {					\ +		if ((port) < 256 && (port) > -256)			\ +			__asm__ __volatile__(				\ +			"strh	%0, [%1, %2]	@ outwc"		\ +			: : "r" (v), "r" (PCIO_BASE), "Jr" ((port)));	\ +		else if ((port) > 0)					\ +			__asm__ __volatile__(				\ +			"strh	%0, [%1, %2]	@ outwc"		\ +			: : "r" (v),					\ +			    "r" (PCIO_BASE + ((port) & ~0xff)),		\ +			     "Jr" (((port) & 0xff)));			\ +		else							\ +			__asm__ __volatile__(				\ +			"strh	%0, [%1, #0]	@ outwc"		\ +			: : "r" (v),					\ +			    "r" (PCIO_BASE + (port)));			\ +	} else								\  		__asm__ __volatile__(					\  		"strh	%0, [%1, #0]	@ outwc"			\ -		: : "r" (v), "r" ((port)));	\ +		: : "r" (v), "r" ((port)));				\  })  #define __inwc(port)							\  ({									\  	unsigned short result;						\ -	if (__PORT_PCIO((port)))					\ -		__asm__ __volatile__(					\ -		"ldrh	%0, [%1, %2]	@ inwc"				\ -		: "=r" (result) : "r" (PCIO_BASE), "Jr" ((port)));	\ -	else								\ +	if (__PORT_PCIO((port))) {					\ +		if ((port) < 256 && (port) > -256 )			\ +			__asm__ __volatile__(				\ +			"ldrh	%0, [%1, %2]	@ inwc"			\ +			: "=r" (result)					\ +			: "r" (PCIO_BASE),				\ +			  "Jr" ((port)));				\ +		else if ((port) > 0)					\ +			__asm__ __volatile__(				\ +			"ldrh	%0, [%1, %2]	@ inwc"			\ +			: "=r" (result)					\ +			: "r" (PCIO_BASE + ((port) & ~0xff)),		\ +			  "Jr" (((port) & 0xff)));			\ +		else							\ +			__asm__ __volatile__(				\ +			"ldrh	%0, [%1, #0]	@ inwc"			\ +			: "=r" (result)					\ +			: "r" (PCIO_BASE + ((port))));			\ +	} else								\  		__asm__ __volatile__(					\  		"ldrh	%0, [%1, #0]	@ inwc"				\ -		: "=r" (result) : "r" ((port)));		\ -	result;						\ +		: "=r" (result) : "r" ((port)));			\ +	result;								\  })  #define __outlc(value,port)						\ diff --git a/include/asm-powerpc/timex.h b/include/asm-powerpc/timex.h index 51c5b316be55..c02d15aced91 100644 --- a/include/asm-powerpc/timex.h +++ b/include/asm-powerpc/timex.h @@ -10,7 +10,7 @@  #include <linux/config.h>  #include <asm/cputable.h> -#define CLOCK_TICK_RATE	1193180 /* Underlying HZ */ +#define CLOCK_TICK_RATE	1024000 /* Underlying HZ */  typedef unsigned long cycles_t; diff --git a/include/asm-ppc/cputable.h b/include/asm-ppc/cputable.h index 41d8f8425c04..e17c492c870b 100644 --- a/include/asm-ppc/cputable.h +++ b/include/asm-ppc/cputable.h @@ -24,6 +24,7 @@  #define PPC_FEATURE_HAS_SPE		0x00800000  #define PPC_FEATURE_HAS_EFP_SINGLE	0x00400000  #define PPC_FEATURE_HAS_EFP_DOUBLE	0x00200000 +#define PPC_FEATURE_NO_TB		0x00100000  #ifdef __KERNEL__ diff --git a/include/asm-sparc64/pbm.h b/include/asm-sparc64/pbm.h index 38bbbccb4068..dd35a2c7798a 100644 --- a/include/asm-sparc64/pbm.h +++ b/include/asm-sparc64/pbm.h @@ -27,23 +27,27 @@   * PCI bus.   */ -#define PBM_LOGCLUSTERS 3 -#define PBM_NCLUSTERS (1 << PBM_LOGCLUSTERS) -  struct pci_controller_info;  /* This contains the software state necessary to drive a PCI   * controller's IOMMU.   */ +struct pci_iommu_arena { +	unsigned long	*map; +	unsigned int	hint; +	unsigned int	limit; +}; +  struct pci_iommu {  	/* This protects the controller's IOMMU and all  	 * streaming buffers underneath.  	 */  	spinlock_t	lock; +	struct pci_iommu_arena arena; +  	/* IOMMU page table, a linear array of ioptes. */  	iopte_t		*page_table;		/* The page table itself. */ -	int		page_table_sz_bits;	/* log2 of ow many pages does it map? */  	/* Base PCI memory space address where IOMMU mappings  	 * begin. @@ -62,12 +66,6 @@ struct pci_iommu {  	 */  	unsigned long	write_complete_reg; -	/* The lowest used consistent mapping entry.  Since -	 * we allocate consistent maps out of cluster 0 this -	 * is relative to the beginning of closter 0. -	 */ -	u32		lowest_consistent_map; -  	/* In order to deal with some buggy third-party PCI bridges that  	 * do wrong prefetching, we never mark valid mappings as invalid.  	 * Instead we point them at this dummy page. @@ -75,16 +73,6 @@ struct pci_iommu {  	unsigned long	dummy_page;  	unsigned long	dummy_page_pa; -	/* If PBM_NCLUSTERS is ever decreased to 4 or lower, -	 * or if largest supported page_table_sz * 8K goes above -	 * 2GB, you must increase the size of the type of -	 * these counters.  You have been duly warned. -DaveM -	 */ -	struct { -		u16	next; -		u16	flush; -	} alloc_info[PBM_NCLUSTERS]; -  	/* CTX allocation. */  	unsigned long ctx_lowest_free;  	unsigned long ctx_bitmap[IOMMU_NUM_CTXS / (sizeof(unsigned long) * 8)]; @@ -102,7 +90,7 @@ struct pci_iommu {  	u32 dma_addr_mask;  }; -extern void pci_iommu_table_init(struct pci_iommu *, int); +extern void pci_iommu_table_init(struct pci_iommu *iommu, int tsbsize, u32 dma_offset, u32 dma_addr_mask);  /* This describes a PCI bus module's streaming buffer. */  struct pci_strbuf { diff --git a/include/linux/acct.h b/include/linux/acct.h index 1993a3691768..19f70462b3be 100644 --- a/include/linux/acct.h +++ b/include/linux/acct.h @@ -162,13 +162,13 @@ typedef struct acct acct_t;  #ifdef __KERNEL__  /*   * Yet another set of HZ to *HZ helper functions. - * See <linux/times.h> for the original. + * See <linux/jiffies.h> for the original.   */  static inline u32 jiffies_to_AHZ(unsigned long x)  {  #if (TICK_NSEC % (NSEC_PER_SEC / AHZ)) == 0 -	return x / (HZ / USER_HZ); +	return x / (HZ / AHZ);  #else          u64 tmp = (u64)x * TICK_NSEC;          do_div(tmp, (NSEC_PER_SEC / AHZ)); diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index b15826f6e3a2..9bdba8169b41 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h @@ -392,4 +392,14 @@ extern cpumask_t cpu_present_map;  #define for_each_online_cpu(cpu)  for_each_cpu_mask((cpu), cpu_online_map)  #define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map) +/* Find the highest possible smp_processor_id() */ +#define highest_possible_processor_id() \ +({ \ +	unsigned int cpu, highest = 0; \ +	for_each_cpu_mask(cpu, cpu_possible_map) \ +		highest = cpu; \ +	highest; \ +}) + +  #endif /* __LINUX_CPUMASK_H */ diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h index 1d5b10ae2399..f08e870100f4 100644 --- a/include/linux/netfilter/nfnetlink.h +++ b/include/linux/netfilter/nfnetlink.h @@ -41,11 +41,15 @@ enum nfnetlink_groups {  struct nfattr  {  	u_int16_t nfa_len; -	u_int16_t nfa_type; +	u_int16_t nfa_type;	/* we use 15 bits for the type, and the highest +				 * bit to indicate whether the payload is nested */  } __attribute__ ((packed)); -/* FIXME: Shamelessly copy and pasted from rtnetlink.h, it's time - * 	  to put this in a generic file */ +/* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from + * rtnetlink.h, it's time to put this in a generic file */ + +#define NFNL_NFA_NEST	0x8000 +#define NFA_TYPE(attr) 	((attr)->nfa_type & 0x7fff)  #define NFA_ALIGNTO     4  #define NFA_ALIGN(len)	(((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) @@ -59,7 +63,7 @@ struct nfattr  #define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0))  #define NFA_NEST(skb, type) \  ({	struct nfattr *__start = (struct nfattr *) (skb)->tail; \ -	NFA_PUT(skb, type, 0, NULL); \ +	NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \  	__start;  })  #define NFA_NEST_END(skb, start) \  ({      (start)->nfa_len = ((skb)->tail - (unsigned char *) (start)); \ diff --git a/include/linux/netfilter/nfnetlink_conntrack.h b/include/linux/netfilter/nfnetlink_conntrack.h index 5c55751c78e4..116fcaced909 100644 --- a/include/linux/netfilter/nfnetlink_conntrack.h +++ b/include/linux/netfilter/nfnetlink_conntrack.h @@ -70,15 +70,24 @@ enum ctattr_l4proto {  enum ctattr_protoinfo {  	CTA_PROTOINFO_UNSPEC, -	CTA_PROTOINFO_TCP_STATE, +	CTA_PROTOINFO_TCP,  	__CTA_PROTOINFO_MAX  };  #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) +enum ctattr_protoinfo_tcp { +	CTA_PROTOINFO_TCP_UNSPEC, +	CTA_PROTOINFO_TCP_STATE, +	__CTA_PROTOINFO_TCP_MAX +}; +#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) +  enum ctattr_counters {  	CTA_COUNTERS_UNSPEC, -	CTA_COUNTERS_PACKETS, -	CTA_COUNTERS_BYTES, +	CTA_COUNTERS_PACKETS,		/* old 64bit counters */ +	CTA_COUNTERS_BYTES,		/* old 64bit counters */ +	CTA_COUNTERS32_PACKETS, +	CTA_COUNTERS32_BYTES,  	__CTA_COUNTERS_MAX  };  #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) diff --git a/include/linux/netfilter_ipv4/ip_conntrack.h b/include/linux/netfilter_ipv4/ip_conntrack.h index 4ced38736813..d078bb91d9e5 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack.h +++ b/include/linux/netfilter_ipv4/ip_conntrack.h @@ -117,6 +117,10 @@ enum ip_conntrack_events  	/* NAT info */  	IPCT_NATINFO_BIT = 10,  	IPCT_NATINFO = (1 << IPCT_NATINFO_BIT), + +	/* Counter highest bit has been set */ +	IPCT_COUNTER_FILLING_BIT = 11, +	IPCT_COUNTER_FILLING = (1 << IPCT_COUNTER_FILLING_BIT),  };  enum ip_conntrack_expect_events { @@ -192,8 +196,8 @@ do {									\  struct ip_conntrack_counter  { -	u_int64_t packets; -	u_int64_t bytes; +	u_int32_t packets; +	u_int32_t bytes;  };  struct ip_conntrack_helper; diff --git a/include/linux/netfilter_ipv4/ip_conntrack_protocol.h b/include/linux/netfilter_ipv4/ip_conntrack_protocol.h index b6b99be8632a..2c76b879e3dc 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_protocol.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_protocol.h @@ -52,6 +52,9 @@ struct ip_conntrack_protocol  	int (*to_nfattr)(struct sk_buff *skb, struct nfattr *nfa,  			 const struct ip_conntrack *ct); +	/* convert nfnetlink attributes to protoinfo */ +	int (*from_nfattr)(struct nfattr *tb[], struct ip_conntrack *ct); +  	int (*tuple_to_nfattr)(struct sk_buff *skb,  			       const struct ip_conntrack_tuple *t);  	int (*nfattr_to_tuple)(struct nfattr *tb[], diff --git a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h index 20e43f018b7c..3232db11a4e5 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h @@ -1,6 +1,8 @@  #ifndef _IP_CONNTRACK_TUPLE_H  #define _IP_CONNTRACK_TUPLE_H +#include <linux/types.h> +  /* A `tuple' is a structure containing the information to uniquely    identify a connection.  ie. if two packets have the same tuple, they    are in the same connection; if not, they are not. diff --git a/include/linux/netfilter_ipv4/ip_nat.h b/include/linux/netfilter_ipv4/ip_nat.h index e201ec6e9905..41a107de17cf 100644 --- a/include/linux/netfilter_ipv4/ip_nat.h +++ b/include/linux/netfilter_ipv4/ip_nat.h @@ -58,10 +58,6 @@ extern rwlock_t ip_nat_lock;  struct ip_nat_info  {  	struct list_head bysource; - -	/* Helper (NULL if none). */ -	struct ip_nat_helper *helper; -  	struct ip_nat_seq seq[IP_CT_DIR_MAX];  }; diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h index 5ade54a78dbb..ca5a8733000f 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h @@ -86,7 +86,7 @@ static inline void netpoll_poll_unlock(void *have)  #else  #define netpoll_rx(a) 0 -#define netpoll_poll_lock(a) 0 +#define netpoll_poll_lock(a) NULL  #define netpoll_poll_unlock(a)  #endif diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index 4ade56ef3a4d..28f7b2103505 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h @@ -19,6 +19,7 @@  #include <linux/ip.h>  #include <linux/list.h> +#include <linux/module.h>  #include <linux/timer.h>  #include <linux/types.h>  #include <linux/workqueue.h> @@ -193,11 +194,13 @@ static inline u32 inet_rcv_saddr(const struct sock *sk)  static inline void inet_twsk_put(struct inet_timewait_sock *tw)  {  	if (atomic_dec_and_test(&tw->tw_refcnt)) { +		struct module *owner = tw->tw_prot->owner;  #ifdef SOCK_REFCNT_DEBUG  		printk(KERN_DEBUG "%s timewait_sock %p released\n",  		       tw->tw_prot->name, tw);  #endif  		kmem_cache_free(tw->tw_prot->twsk_slab, tw); +		module_put(owner);  	}  }  | 
