mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge upstream into 'upstream' branch of netdev-2.6.git.
Hand fix merge conflict in drivers/net/tokenring/Kconfig.
This commit is contained in:
commit
75a95178da
125 changed files with 679 additions and 644 deletions
|
|
@ -443,22 +443,19 @@ __xchg_u64(volatile long *m, unsigned long val)
|
|||
if something tries to do an invalid xchg(). */
|
||||
extern void __xchg_called_with_bad_pointer(void);
|
||||
|
||||
static inline unsigned long
|
||||
__xchg(volatile void *ptr, unsigned long x, int size)
|
||||
{
|
||||
switch (size) {
|
||||
case 1:
|
||||
return __xchg_u8(ptr, x);
|
||||
case 2:
|
||||
return __xchg_u16(ptr, x);
|
||||
case 4:
|
||||
return __xchg_u32(ptr, x);
|
||||
case 8:
|
||||
return __xchg_u64(ptr, x);
|
||||
}
|
||||
__xchg_called_with_bad_pointer();
|
||||
return x;
|
||||
}
|
||||
#define __xchg(ptr, x, size) \
|
||||
({ \
|
||||
unsigned long __xchg__res; \
|
||||
volatile void *__xchg__ptr = (ptr); \
|
||||
switch (size) { \
|
||||
case 1: __xchg__res = __xchg_u8(__xchg__ptr, x); break; \
|
||||
case 2: __xchg__res = __xchg_u16(__xchg__ptr, x); break; \
|
||||
case 4: __xchg__res = __xchg_u32(__xchg__ptr, x); break; \
|
||||
case 8: __xchg__res = __xchg_u64(__xchg__ptr, x); break; \
|
||||
default: __xchg_called_with_bad_pointer(); __xchg__res = x; \
|
||||
} \
|
||||
__xchg__res; \
|
||||
})
|
||||
|
||||
#define xchg(ptr,x) \
|
||||
({ \
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@
|
|||
|
||||
/*
|
||||
* We use IXP425 General purpose timer for our timer needs, it runs at
|
||||
* 66.66... MHz
|
||||
* 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
|
||||
* timer register ignores the bottom 2 bits of the LATCH value.
|
||||
*/
|
||||
#define CLOCK_TICK_RATE (66666666)
|
||||
#define FREQ 66666666
|
||||
#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#ifdef CONFIG_BUG
|
||||
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
||||
extern volatile void __bug(const char *file, int line, void *data);
|
||||
extern void __bug(const char *file, int line, void *data) __attribute__((noreturn));
|
||||
|
||||
/* give file/line information */
|
||||
#define BUG() __bug(__FILE__, __LINE__, NULL)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern struct processor {
|
|||
/*
|
||||
* Special stuff for a reset
|
||||
*/
|
||||
volatile void (*reset)(unsigned long addr);
|
||||
void (*reset)(unsigned long addr) __attribute__((noreturn));
|
||||
/*
|
||||
* Idle the processor
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -41,4 +41,4 @@ extern int cpu_do_idle(void);
|
|||
extern void cpu_dcache_clean_area(void *, int);
|
||||
extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm);
|
||||
extern void cpu_set_pte(pte_t *ptep, pte_t pte);
|
||||
extern volatile void cpu_reset(unsigned long addr);
|
||||
extern void cpu_reset(unsigned long addr) __attribute__((noreturn));
|
||||
|
|
|
|||
|
|
@ -120,14 +120,6 @@ static inline void ___ia64_mmiowb(void)
|
|||
ia64_mfa();
|
||||
}
|
||||
|
||||
static inline const unsigned long
|
||||
__ia64_get_io_port_base (void)
|
||||
{
|
||||
extern unsigned long ia64_iobase;
|
||||
|
||||
return ia64_iobase;
|
||||
}
|
||||
|
||||
static inline void*
|
||||
__ia64_mk_io_addr (unsigned long port)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -61,9 +61,7 @@ extern physid_mask_t phys_cpu_present_map;
|
|||
* Some lowlevel functions might want to know about
|
||||
* the real CPU ID <-> CPU # mapping.
|
||||
*/
|
||||
extern volatile int physid_2_cpu[NR_CPUS];
|
||||
extern volatile int cpu_2_physid[NR_CPUS];
|
||||
#define physid_to_cpu(physid) physid_2_cpu[physid]
|
||||
#define cpu_to_physid(cpu_id) cpu_2_physid[cpu_id]
|
||||
|
||||
#define raw_smp_processor_id() (current_thread_info()->cpu)
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ static __inline__ void set_dec(unsigned int val)
|
|||
/* Accessor functions for the timebase (RTC on 601) registers. */
|
||||
/* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
|
||||
#ifdef CONFIG_6xx
|
||||
extern __inline__ int const __USE_RTC(void) {
|
||||
extern __inline__ int __attribute_pure__ __USE_RTC(void) {
|
||||
return (mfspr(SPRN_PVR)>>16) == 1;
|
||||
}
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -149,11 +149,11 @@ struct exception_table_entry
|
|||
})
|
||||
#endif
|
||||
|
||||
#ifndef __CHECKER__
|
||||
#define __put_user(x, ptr) \
|
||||
({ \
|
||||
__typeof__(*(ptr)) __x = (x); \
|
||||
int __pu_err; \
|
||||
__chk_user_ptr(ptr); \
|
||||
switch (sizeof (*(ptr))) { \
|
||||
case 1: \
|
||||
case 2: \
|
||||
|
|
@ -167,14 +167,6 @@ struct exception_table_entry
|
|||
} \
|
||||
__pu_err; \
|
||||
})
|
||||
#else
|
||||
#define __put_user(x, ptr) \
|
||||
({ \
|
||||
void __user *p; \
|
||||
p = (ptr); \
|
||||
0; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#define put_user(x, ptr) \
|
||||
({ \
|
||||
|
|
@ -213,11 +205,11 @@ extern int __put_user_bad(void) __attribute__((noreturn));
|
|||
})
|
||||
#endif
|
||||
|
||||
#ifndef __CHECKER__
|
||||
#define __get_user(x, ptr) \
|
||||
({ \
|
||||
__typeof__(*(ptr)) __x; \
|
||||
int __gu_err; \
|
||||
__chk_user_ptr(ptr); \
|
||||
switch (sizeof(*(ptr))) { \
|
||||
case 1: \
|
||||
case 2: \
|
||||
|
|
@ -232,15 +224,6 @@ extern int __put_user_bad(void) __attribute__((noreturn));
|
|||
(x) = __x; \
|
||||
__gu_err; \
|
||||
})
|
||||
#else
|
||||
#define __get_user(x, ptr) \
|
||||
({ \
|
||||
void __user *p; \
|
||||
p = (ptr); \
|
||||
0; \
|
||||
})
|
||||
#endif
|
||||
|
||||
|
||||
#define get_user(x, ptr) \
|
||||
({ \
|
||||
|
|
|
|||
|
|
@ -68,6 +68,9 @@ struct thread_info {
|
|||
|
||||
struct restart_block restart_block;
|
||||
|
||||
struct pt_regs *kern_una_regs;
|
||||
unsigned int kern_una_insn;
|
||||
|
||||
unsigned long fpregs[0] __attribute__ ((aligned(64)));
|
||||
};
|
||||
|
||||
|
|
@ -103,6 +106,8 @@ struct thread_info {
|
|||
#define TI_PCR 0x00000490
|
||||
#define TI_CEE_STUFF 0x00000498
|
||||
#define TI_RESTART_BLOCK 0x000004a0
|
||||
#define TI_KUNA_REGS 0x000004c8
|
||||
#define TI_KUNA_INSN 0x000004d0
|
||||
#define TI_FPREGS 0x00000500
|
||||
|
||||
/* We embed this in the uppermost byte of thread_info->flags */
|
||||
|
|
|
|||
|
|
@ -993,8 +993,8 @@ struct inode_operations {
|
|||
int (*rename) (struct inode *, struct dentry *,
|
||||
struct inode *, struct dentry *);
|
||||
int (*readlink) (struct dentry *, char __user *,int);
|
||||
int (*follow_link) (struct dentry *, struct nameidata *);
|
||||
void (*put_link) (struct dentry *, struct nameidata *);
|
||||
void * (*follow_link) (struct dentry *, struct nameidata *);
|
||||
void (*put_link) (struct dentry *, struct nameidata *, void *);
|
||||
void (*truncate) (struct inode *);
|
||||
int (*permission) (struct inode *, int, struct nameidata *);
|
||||
int (*setattr) (struct dentry *, struct iattr *);
|
||||
|
|
@ -1602,8 +1602,8 @@ extern struct file_operations generic_ro_fops;
|
|||
extern int vfs_readlink(struct dentry *, char __user *, int, const char *);
|
||||
extern int vfs_follow_link(struct nameidata *, const char *);
|
||||
extern int page_readlink(struct dentry *, char __user *, int);
|
||||
extern int page_follow_link_light(struct dentry *, struct nameidata *);
|
||||
extern void page_put_link(struct dentry *, struct nameidata *);
|
||||
extern void *page_follow_link_light(struct dentry *, struct nameidata *);
|
||||
extern void page_put_link(struct dentry *, struct nameidata *, void *);
|
||||
extern int page_symlink(struct inode *inode, const char *symname, int len);
|
||||
extern struct inode_operations page_symlink_inode_operations;
|
||||
extern int generic_readlink(struct dentry *, char __user *, int);
|
||||
|
|
|
|||
|
|
@ -139,11 +139,25 @@ enum {
|
|||
#define AX25_DEF_DS_TIMEOUT (3 * 60 * HZ) /* DAMA timeout 3 minutes */
|
||||
|
||||
typedef struct ax25_uid_assoc {
|
||||
struct ax25_uid_assoc *next;
|
||||
struct hlist_node uid_node;
|
||||
atomic_t refcount;
|
||||
uid_t uid;
|
||||
ax25_address call;
|
||||
} ax25_uid_assoc;
|
||||
|
||||
#define ax25_uid_for_each(__ax25, node, list) \
|
||||
hlist_for_each_entry(__ax25, node, list, uid_node)
|
||||
|
||||
#define ax25_uid_hold(ax25) \
|
||||
atomic_inc(&((ax25)->refcount))
|
||||
|
||||
static inline void ax25_uid_put(ax25_uid_assoc *assoc)
|
||||
{
|
||||
if (atomic_dec_and_test(&assoc->refcount)) {
|
||||
kfree(assoc);
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
ax25_address calls[AX25_MAX_DIGIS];
|
||||
unsigned char repeated[AX25_MAX_DIGIS];
|
||||
|
|
@ -376,7 +390,7 @@ extern unsigned long ax25_display_timer(struct timer_list *);
|
|||
|
||||
/* ax25_uid.c */
|
||||
extern int ax25_uid_policy;
|
||||
extern ax25_address *ax25_findbyuid(uid_t);
|
||||
extern ax25_uid_assoc *ax25_findbyuid(uid_t);
|
||||
extern int ax25_uid_ioctl(int, struct sockaddr_ax25 *);
|
||||
extern struct file_operations ax25_uid_fops;
|
||||
extern void ax25_uid_free(void);
|
||||
|
|
|
|||
|
|
@ -384,6 +384,11 @@ enum sock_flags {
|
|||
SOCK_QUEUE_SHRUNK, /* write queue has been shrunk recently */
|
||||
};
|
||||
|
||||
static inline void sock_copy_flags(struct sock *nsk, struct sock *osk)
|
||||
{
|
||||
nsk->sk_flags = osk->sk_flags;
|
||||
}
|
||||
|
||||
static inline void sock_set_flag(struct sock *sk, enum sock_flags flag)
|
||||
{
|
||||
__set_bit(flag, &sk->sk_flags);
|
||||
|
|
|
|||
|
|
@ -360,11 +360,13 @@ int snd_device_free_all(snd_card_t *card, snd_device_cmd_t cmd);
|
|||
|
||||
/* isadma.c */
|
||||
|
||||
#ifdef CONFIG_ISA_DMA_API
|
||||
#define DMA_MODE_NO_ENABLE 0x0100
|
||||
|
||||
void snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode);
|
||||
void snd_dma_disable(unsigned long dma);
|
||||
unsigned int snd_dma_pointer(unsigned long dma, unsigned int size);
|
||||
#endif
|
||||
|
||||
/* misc.c */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue