diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/bitops/le.h | 10 | ||||
| -rw-r--r-- | include/linux/audit.h | 206 | ||||
| -rw-r--r-- | include/linux/binfmts.h | 3 | ||||
| -rw-r--r-- | include/linux/compat.h | 5 | ||||
| -rw-r--r-- | include/linux/coredump.h | 5 | ||||
| -rw-r--r-- | include/linux/elf.h | 6 | ||||
| -rw-r--r-- | include/linux/eventpoll.h | 1 | ||||
| -rw-r--r-- | include/linux/genalloc.h | 27 | ||||
| -rw-r--r-- | include/linux/idr.h | 10 | ||||
| -rw-r--r-- | include/linux/init.h | 27 | ||||
| -rw-r--r-- | include/linux/mfd/rc5t583.h | 22 | ||||
| -rw-r--r-- | include/linux/mfd/tps65910.h | 10 | ||||
| -rw-r--r-- | include/linux/nbd.h | 15 | ||||
| -rw-r--r-- | include/linux/percpu.h | 2 | ||||
| -rw-r--r-- | include/linux/platform_data/lm3630_bl.h | 57 | ||||
| -rw-r--r-- | include/linux/platform_data/lm3639_bl.h | 69 | ||||
| -rw-r--r-- | include/linux/platform_data/lp855x.h | 2 | ||||
| -rw-r--r-- | include/linux/rio.h | 21 | ||||
| -rw-r--r-- | include/linux/rio_drv.h | 5 | ||||
| -rw-r--r-- | include/linux/rtc-ds2404.h | 20 | ||||
| -rw-r--r-- | include/linux/rtc.h | 2 | ||||
| -rw-r--r-- | include/linux/sched.h | 1 | ||||
| -rw-r--r-- | include/net/net_namespace.h | 2 |
23 files changed, 445 insertions, 83 deletions
diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h index f95c663a6a41..61731543c00e 100644 --- a/include/asm-generic/bitops/le.h +++ b/include/asm-generic/bitops/le.h | |||
| @@ -54,6 +54,16 @@ static inline int test_bit_le(int nr, const void *addr) | |||
| 54 | return test_bit(nr ^ BITOP_LE_SWIZZLE, addr); | 54 | return test_bit(nr ^ BITOP_LE_SWIZZLE, addr); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | static inline void set_bit_le(int nr, void *addr) | ||
| 58 | { | ||
| 59 | set_bit(nr ^ BITOP_LE_SWIZZLE, addr); | ||
| 60 | } | ||
| 61 | |||
| 62 | static inline void clear_bit_le(int nr, void *addr) | ||
| 63 | { | ||
| 64 | clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); | ||
| 65 | } | ||
| 66 | |||
| 57 | static inline void __set_bit_le(int nr, void *addr) | 67 | static inline void __set_bit_le(int nr, void *addr) |
| 58 | { | 68 | { |
| 59 | __set_bit(nr ^ BITOP_LE_SWIZZLE, addr); | 69 | __set_bit(nr ^ BITOP_LE_SWIZZLE, addr); |
diff --git a/include/linux/audit.h b/include/linux/audit.h index e7c836d961ea..2c83e5f7edb1 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
| @@ -527,9 +527,18 @@ static inline void audit_ptrace(struct task_struct *t) | |||
| 527 | extern unsigned int audit_serial(void); | 527 | extern unsigned int audit_serial(void); |
| 528 | extern int auditsc_get_stamp(struct audit_context *ctx, | 528 | extern int auditsc_get_stamp(struct audit_context *ctx, |
| 529 | struct timespec *t, unsigned int *serial); | 529 | struct timespec *t, unsigned int *serial); |
| 530 | extern int audit_set_loginuid(kuid_t loginuid); | 530 | extern int audit_set_loginuid(kuid_t loginuid); |
| 531 | #define audit_get_loginuid(t) ((t)->loginuid) | 531 | |
| 532 | #define audit_get_sessionid(t) ((t)->sessionid) | 532 | static inline kuid_t audit_get_loginuid(struct task_struct *tsk) |
| 533 | { | ||
| 534 | return tsk->loginuid; | ||
| 535 | } | ||
| 536 | |||
| 537 | static inline int audit_get_sessionid(struct task_struct *tsk) | ||
| 538 | { | ||
| 539 | return tsk->sessionid; | ||
| 540 | } | ||
| 541 | |||
| 533 | extern void audit_log_task_context(struct audit_buffer *ab); | 542 | extern void audit_log_task_context(struct audit_buffer *ab); |
| 534 | extern void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk); | 543 | extern void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk); |
| 535 | extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); | 544 | extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); |
| @@ -626,38 +635,101 @@ static inline void audit_mmap_fd(int fd, int flags) | |||
| 626 | extern int audit_n_rules; | 635 | extern int audit_n_rules; |
| 627 | extern int audit_signals; | 636 | extern int audit_signals; |
| 628 | #else /* CONFIG_AUDITSYSCALL */ | 637 | #else /* CONFIG_AUDITSYSCALL */ |
| 629 | #define audit_alloc(t) ({ 0; }) | 638 | static inline int audit_alloc(struct task_struct *task) |
| 630 | #define audit_free(t) do { ; } while (0) | 639 | { |
| 631 | #define audit_syscall_entry(ta,a,b,c,d,e) do { ; } while (0) | 640 | return 0; |
| 632 | #define audit_syscall_exit(r) do { ; } while (0) | 641 | } |
| 633 | #define audit_dummy_context() 1 | 642 | static inline void audit_free(struct task_struct *task) |
| 634 | #define audit_getname(n) do { ; } while (0) | 643 | { } |
| 635 | #define audit_putname(n) do { ; } while (0) | 644 | static inline void audit_syscall_entry(int arch, int major, unsigned long a0, |
| 636 | #define __audit_inode(n,d) do { ; } while (0) | 645 | unsigned long a1, unsigned long a2, |
| 637 | #define __audit_inode_child(i,p) do { ; } while (0) | 646 | unsigned long a3) |
| 638 | #define audit_inode(n,d) do { (void)(d); } while (0) | 647 | { } |
| 639 | #define audit_inode_child(i,p) do { ; } while (0) | 648 | static inline void audit_syscall_exit(void *pt_regs) |
| 640 | #define audit_core_dumps(i) do { ; } while (0) | 649 | { } |
| 641 | #define audit_seccomp(i,s,c) do { ; } while (0) | 650 | static inline int audit_dummy_context(void) |
| 642 | #define auditsc_get_stamp(c,t,s) (0) | 651 | { |
| 643 | #define audit_get_loginuid(t) (INVALID_UID) | 652 | return 1; |
| 644 | #define audit_get_sessionid(t) (-1) | 653 | } |
| 645 | #define audit_log_task_context(b) do { ; } while (0) | 654 | static inline void audit_getname(const char *name) |
| 646 | #define audit_log_task_info(b, t) do { ; } while (0) | 655 | { } |
| 647 | #define audit_ipc_obj(i) ((void)0) | 656 | static inline void audit_putname(const char *name) |
| 648 | #define audit_ipc_set_perm(q,u,g,m) ((void)0) | 657 | { } |
| 649 | #define audit_bprm(p) ({ 0; }) | 658 | static inline void __audit_inode(const char *name, const struct dentry *dentry) |
| 650 | #define audit_socketcall(n,a) ((void)0) | 659 | { } |
| 651 | #define audit_fd_pair(n,a) ((void)0) | 660 | static inline void __audit_inode_child(const struct dentry *dentry, |
| 652 | #define audit_sockaddr(len, addr) ({ 0; }) | 661 | const struct inode *parent) |
| 653 | #define audit_mq_open(o,m,a) ((void)0) | 662 | { } |
| 654 | #define audit_mq_sendrecv(d,l,p,t) ((void)0) | 663 | static inline void audit_inode(const char *name, const struct dentry *dentry) |
| 655 | #define audit_mq_notify(d,n) ((void)0) | 664 | { } |
| 656 | #define audit_mq_getsetattr(d,s) ((void)0) | 665 | static inline void audit_inode_child(const struct dentry *dentry, |
| 657 | #define audit_log_bprm_fcaps(b, ncr, ocr) ({ 0; }) | 666 | const struct inode *parent) |
| 658 | #define audit_log_capset(pid, ncr, ocr) ((void)0) | 667 | { } |
| 659 | #define audit_mmap_fd(fd, flags) ((void)0) | 668 | static inline void audit_core_dumps(long signr) |
| 660 | #define audit_ptrace(t) ((void)0) | 669 | { } |
| 670 | static inline void __audit_seccomp(unsigned long syscall, long signr, int code) | ||
| 671 | { } | ||
| 672 | static inline void audit_seccomp(unsigned long syscall, long signr, int code) | ||
| 673 | { } | ||
| 674 | static inline int auditsc_get_stamp(struct audit_context *ctx, | ||
| 675 | struct timespec *t, unsigned int *serial) | ||
| 676 | { | ||
| 677 | return 0; | ||
| 678 | } | ||
| 679 | static inline kuid_t audit_get_loginuid(struct task_struct *tsk) | ||
| 680 | { | ||
| 681 | return INVALID_UID; | ||
| 682 | } | ||
| 683 | static inline int audit_get_sessionid(struct task_struct *tsk) | ||
| 684 | { | ||
| 685 | return -1; | ||
| 686 | } | ||
| 687 | static inline void audit_log_task_context(struct audit_buffer *ab) | ||
| 688 | { } | ||
| 689 | static inline void audit_log_task_info(struct audit_buffer *ab, | ||
| 690 | struct task_struct *tsk) | ||
| 691 | { } | ||
| 692 | static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) | ||
| 693 | { } | ||
| 694 | static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, | ||
| 695 | gid_t gid, umode_t mode) | ||
| 696 | { } | ||
| 697 | static inline int audit_bprm(struct linux_binprm *bprm) | ||
| 698 | { | ||
| 699 | return 0; | ||
| 700 | } | ||
| 701 | static inline void audit_socketcall(int nargs, unsigned long *args) | ||
| 702 | { } | ||
| 703 | static inline void audit_fd_pair(int fd1, int fd2) | ||
| 704 | { } | ||
| 705 | static inline int audit_sockaddr(int len, void *addr) | ||
| 706 | { | ||
| 707 | return 0; | ||
| 708 | } | ||
| 709 | static inline void audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr) | ||
| 710 | { } | ||
| 711 | static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, | ||
| 712 | unsigned int msg_prio, | ||
| 713 | const struct timespec *abs_timeout) | ||
| 714 | { } | ||
| 715 | static inline void audit_mq_notify(mqd_t mqdes, | ||
| 716 | const struct sigevent *notification) | ||
| 717 | { } | ||
| 718 | static inline void audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat) | ||
| 719 | { } | ||
| 720 | static inline int audit_log_bprm_fcaps(struct linux_binprm *bprm, | ||
| 721 | const struct cred *new, | ||
| 722 | const struct cred *old) | ||
| 723 | { | ||
| 724 | return 0; | ||
| 725 | } | ||
| 726 | static inline void audit_log_capset(pid_t pid, const struct cred *new, | ||
| 727 | const struct cred *old) | ||
| 728 | { } | ||
| 729 | static inline void audit_mmap_fd(int fd, int flags) | ||
| 730 | { } | ||
| 731 | static inline void audit_ptrace(struct task_struct *t) | ||
| 732 | { } | ||
| 661 | #define audit_n_rules 0 | 733 | #define audit_n_rules 0 |
| 662 | #define audit_signals 0 | 734 | #define audit_signals 0 |
| 663 | #endif /* CONFIG_AUDITSYSCALL */ | 735 | #endif /* CONFIG_AUDITSYSCALL */ |
| @@ -681,7 +753,6 @@ extern void audit_log_n_hex(struct audit_buffer *ab, | |||
| 681 | extern void audit_log_n_string(struct audit_buffer *ab, | 753 | extern void audit_log_n_string(struct audit_buffer *ab, |
| 682 | const char *buf, | 754 | const char *buf, |
| 683 | size_t n); | 755 | size_t n); |
| 684 | #define audit_log_string(a,b) audit_log_n_string(a, b, strlen(b)); | ||
| 685 | extern void audit_log_n_untrustedstring(struct audit_buffer *ab, | 756 | extern void audit_log_n_untrustedstring(struct audit_buffer *ab, |
| 686 | const char *string, | 757 | const char *string, |
| 687 | size_t n); | 758 | size_t n); |
| @@ -698,7 +769,8 @@ extern void audit_log_lost(const char *message); | |||
| 698 | #ifdef CONFIG_SECURITY | 769 | #ifdef CONFIG_SECURITY |
| 699 | extern void audit_log_secctx(struct audit_buffer *ab, u32 secid); | 770 | extern void audit_log_secctx(struct audit_buffer *ab, u32 secid); |
| 700 | #else | 771 | #else |
| 701 | #define audit_log_secctx(b,s) do { ; } while (0) | 772 | static inline void audit_log_secctx(struct audit_buffer *ab, u32 secid) |
| 773 | { } | ||
| 702 | #endif | 774 | #endif |
| 703 | 775 | ||
| 704 | extern int audit_update_lsm_rules(void); | 776 | extern int audit_update_lsm_rules(void); |
| @@ -710,22 +782,50 @@ extern int audit_receive_filter(int type, int pid, int seq, | |||
| 710 | void *data, size_t datasz, kuid_t loginuid, | 782 | void *data, size_t datasz, kuid_t loginuid, |
| 711 | u32 sessionid, u32 sid); | 783 | u32 sessionid, u32 sid); |
| 712 | extern int audit_enabled; | 784 | extern int audit_enabled; |
| 713 | #else | 785 | #else /* CONFIG_AUDIT */ |
| 714 | #define audit_log(c,g,t,f,...) do { ; } while (0) | 786 | static inline __printf(4, 5) |
| 715 | #define audit_log_start(c,g,t) ({ NULL; }) | 787 | void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, |
| 716 | #define audit_log_vformat(b,f,a) do { ; } while (0) | 788 | const char *fmt, ...) |
| 717 | #define audit_log_format(b,f,...) do { ; } while (0) | 789 | { } |
| 718 | #define audit_log_end(b) do { ; } while (0) | 790 | static inline struct audit_buffer *audit_log_start(struct audit_context *ctx, |
| 719 | #define audit_log_n_hex(a,b,l) do { ; } while (0) | 791 | gfp_t gfp_mask, int type) |
| 720 | #define audit_log_n_string(a,c,l) do { ; } while (0) | 792 | { |
| 721 | #define audit_log_string(a,c) do { ; } while (0) | 793 | return NULL; |
| 722 | #define audit_log_n_untrustedstring(a,n,s) do { ; } while (0) | 794 | } |
| 723 | #define audit_log_untrustedstring(a,s) do { ; } while (0) | 795 | static inline __printf(2, 3) |
| 724 | #define audit_log_d_path(b, p, d) do { ; } while (0) | 796 | void audit_log_format(struct audit_buffer *ab, const char *fmt, ...) |
| 725 | #define audit_log_key(b, k) do { ; } while (0) | 797 | { } |
| 726 | #define audit_log_link_denied(o, l) do { ; } while (0) | 798 | static inline void audit_log_end(struct audit_buffer *ab) |
| 727 | #define audit_log_secctx(b,s) do { ; } while (0) | 799 | { } |
| 800 | static inline void audit_log_n_hex(struct audit_buffer *ab, | ||
| 801 | const unsigned char *buf, size_t len) | ||
| 802 | { } | ||
| 803 | static inline void audit_log_n_string(struct audit_buffer *ab, | ||
| 804 | const char *buf, size_t n) | ||
| 805 | { } | ||
| 806 | static inline void audit_log_n_untrustedstring(struct audit_buffer *ab, | ||
| 807 | const char *string, size_t n) | ||
| 808 | { } | ||
| 809 | static inline void audit_log_untrustedstring(struct audit_buffer *ab, | ||
| 810 | const char *string) | ||
| 811 | { } | ||
| 812 | static inline void audit_log_d_path(struct audit_buffer *ab, | ||
| 813 | const char *prefix, | ||
| 814 | const struct path *path) | ||
| 815 | { } | ||
| 816 | static inline void audit_log_key(struct audit_buffer *ab, char *key) | ||
| 817 | { } | ||
| 818 | static inline void audit_log_link_denied(const char *string, | ||
| 819 | const struct path *link) | ||
| 820 | { } | ||
| 821 | static inline void audit_log_secctx(struct audit_buffer *ab, u32 secid) | ||
| 822 | { } | ||
| 728 | #define audit_enabled 0 | 823 | #define audit_enabled 0 |
| 729 | #endif | 824 | #endif /* CONFIG_AUDIT */ |
| 825 | static inline void audit_log_string(struct audit_buffer *ab, const char *buf) | ||
| 826 | { | ||
| 827 | audit_log_n_string(ab, buf, strlen(buf)); | ||
| 828 | } | ||
| 829 | |||
| 730 | #endif | 830 | #endif |
| 731 | #endif | 831 | #endif |
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index 366422bc1633..37935c2d2e8f 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h | |||
| @@ -72,7 +72,7 @@ struct linux_binprm { | |||
| 72 | 72 | ||
| 73 | /* Function parameter for binfmt->coredump */ | 73 | /* Function parameter for binfmt->coredump */ |
| 74 | struct coredump_params { | 74 | struct coredump_params { |
| 75 | long signr; | 75 | siginfo_t *siginfo; |
| 76 | struct pt_regs *regs; | 76 | struct pt_regs *regs; |
| 77 | struct file *file; | 77 | struct file *file; |
| 78 | unsigned long limit; | 78 | unsigned long limit; |
| @@ -132,7 +132,6 @@ extern int copy_strings_kernel(int argc, const char *const *argv, | |||
| 132 | struct linux_binprm *bprm); | 132 | struct linux_binprm *bprm); |
| 133 | extern int prepare_bprm_creds(struct linux_binprm *bprm); | 133 | extern int prepare_bprm_creds(struct linux_binprm *bprm); |
| 134 | extern void install_exec_creds(struct linux_binprm *bprm); | 134 | extern void install_exec_creds(struct linux_binprm *bprm); |
| 135 | extern void do_coredump(long signr, int exit_code, struct pt_regs *regs); | ||
| 136 | extern void set_binfmt(struct linux_binfmt *new); | 135 | extern void set_binfmt(struct linux_binfmt *new); |
| 137 | extern void free_bprm(struct linux_binprm *); | 136 | extern void free_bprm(struct linux_binprm *); |
| 138 | 137 | ||
diff --git a/include/linux/compat.h b/include/linux/compat.h index fd4e29956d1c..3f53d002c7c5 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
| @@ -160,11 +160,6 @@ struct compat_ustat { | |||
| 160 | char f_fpack[6]; | 160 | char f_fpack[6]; |
| 161 | }; | 161 | }; |
| 162 | 162 | ||
| 163 | typedef union compat_sigval { | ||
| 164 | compat_int_t sival_int; | ||
| 165 | compat_uptr_t sival_ptr; | ||
| 166 | } compat_sigval_t; | ||
| 167 | |||
| 168 | #define COMPAT_SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3) | 163 | #define COMPAT_SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3) |
| 169 | 164 | ||
| 170 | typedef struct compat_sigevent { | 165 | typedef struct compat_sigevent { |
diff --git a/include/linux/coredump.h b/include/linux/coredump.h index ba4b85a6d9b8..1775eb8acc03 100644 --- a/include/linux/coredump.h +++ b/include/linux/coredump.h | |||
| @@ -11,5 +11,10 @@ | |||
| 11 | */ | 11 | */ |
| 12 | extern int dump_write(struct file *file, const void *addr, int nr); | 12 | extern int dump_write(struct file *file, const void *addr, int nr); |
| 13 | extern int dump_seek(struct file *file, loff_t off); | 13 | extern int dump_seek(struct file *file, loff_t off); |
| 14 | #ifdef CONFIG_COREDUMP | ||
| 15 | extern void do_coredump(siginfo_t *siginfo, struct pt_regs *regs); | ||
| 16 | #else | ||
| 17 | static inline void do_coredump(siginfo_t *siginfo, struct pt_regs *regs) {} | ||
| 18 | #endif | ||
| 14 | 19 | ||
| 15 | #endif /* _LINUX_COREDUMP_H */ | 20 | #endif /* _LINUX_COREDUMP_H */ |
diff --git a/include/linux/elf.h b/include/linux/elf.h index 0a05051a8924..59ef40650e1e 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h | |||
| @@ -372,6 +372,12 @@ typedef struct elf64_shdr { | |||
| 372 | #define NT_PRPSINFO 3 | 372 | #define NT_PRPSINFO 3 |
| 373 | #define NT_TASKSTRUCT 4 | 373 | #define NT_TASKSTRUCT 4 |
| 374 | #define NT_AUXV 6 | 374 | #define NT_AUXV 6 |
| 375 | /* | ||
| 376 | * Note to userspace developers: size of NT_SIGINFO note may increase | ||
| 377 | * in the future to accomodate more fields, don't assume it is fixed! | ||
| 378 | */ | ||
| 379 | #define NT_SIGINFO 0x53494749 | ||
| 380 | #define NT_FILE 0x46494c45 | ||
| 375 | #define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */ | 381 | #define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */ |
| 376 | #define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ | 382 | #define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ |
| 377 | #define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */ | 383 | #define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */ |
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index f4bb378ccf6a..41085d0f3955 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #define EPOLL_CTL_ADD 1 | 25 | #define EPOLL_CTL_ADD 1 |
| 26 | #define EPOLL_CTL_DEL 2 | 26 | #define EPOLL_CTL_DEL 2 |
| 27 | #define EPOLL_CTL_MOD 3 | 27 | #define EPOLL_CTL_MOD 3 |
| 28 | #define EPOLL_CTL_DISABLE 4 | ||
| 28 | 29 | ||
| 29 | /* | 30 | /* |
| 30 | * Request the handling of system wakeup events so as to prevent system suspends | 31 | * Request the handling of system wakeup events so as to prevent system suspends |
diff --git a/include/linux/genalloc.h b/include/linux/genalloc.h index 5e98eeb2af3b..dd7c569aacad 100644 --- a/include/linux/genalloc.h +++ b/include/linux/genalloc.h | |||
| @@ -29,6 +29,20 @@ | |||
| 29 | 29 | ||
| 30 | #ifndef __GENALLOC_H__ | 30 | #ifndef __GENALLOC_H__ |
| 31 | #define __GENALLOC_H__ | 31 | #define __GENALLOC_H__ |
| 32 | /** | ||
| 33 | * Allocation callback function type definition | ||
| 34 | * @map: Pointer to bitmap | ||
| 35 | * @size: The bitmap size in bits | ||
| 36 | * @start: The bitnumber to start searching at | ||
| 37 | * @nr: The number of zeroed bits we're looking for | ||
| 38 | * @data: optional additional data used by @genpool_algo_t | ||
| 39 | */ | ||
| 40 | typedef unsigned long (*genpool_algo_t)(unsigned long *map, | ||
| 41 | unsigned long size, | ||
| 42 | unsigned long start, | ||
| 43 | unsigned int nr, | ||
| 44 | void *data); | ||
| 45 | |||
| 32 | /* | 46 | /* |
| 33 | * General purpose special memory pool descriptor. | 47 | * General purpose special memory pool descriptor. |
| 34 | */ | 48 | */ |
| @@ -36,6 +50,9 @@ struct gen_pool { | |||
| 36 | spinlock_t lock; | 50 | spinlock_t lock; |
| 37 | struct list_head chunks; /* list of chunks in this pool */ | 51 | struct list_head chunks; /* list of chunks in this pool */ |
| 38 | int min_alloc_order; /* minimum allocation order */ | 52 | int min_alloc_order; /* minimum allocation order */ |
| 53 | |||
| 54 | genpool_algo_t algo; /* allocation function */ | ||
| 55 | void *data; | ||
| 39 | }; | 56 | }; |
| 40 | 57 | ||
| 41 | /* | 58 | /* |
| @@ -78,4 +95,14 @@ extern void gen_pool_for_each_chunk(struct gen_pool *, | |||
| 78 | void (*)(struct gen_pool *, struct gen_pool_chunk *, void *), void *); | 95 | void (*)(struct gen_pool *, struct gen_pool_chunk *, void *), void *); |
| 79 | extern size_t gen_pool_avail(struct gen_pool *); | 96 | extern size_t gen_pool_avail(struct gen_pool *); |
| 80 | extern size_t gen_pool_size(struct gen_pool *); | 97 | extern size_t gen_pool_size(struct gen_pool *); |
| 98 | |||
| 99 | extern void gen_pool_set_algo(struct gen_pool *pool, genpool_algo_t algo, | ||
| 100 | void *data); | ||
| 101 | |||
| 102 | extern unsigned long gen_pool_first_fit(unsigned long *map, unsigned long size, | ||
| 103 | unsigned long start, unsigned int nr, void *data); | ||
| 104 | |||
| 105 | extern unsigned long gen_pool_best_fit(unsigned long *map, unsigned long size, | ||
| 106 | unsigned long start, unsigned int nr, void *data); | ||
| 107 | |||
| 81 | #endif /* __GENALLOC_H__ */ | 108 | #endif /* __GENALLOC_H__ */ |
diff --git a/include/linux/idr.h b/include/linux/idr.h index 255491cf522e..87259a44c251 100644 --- a/include/linux/idr.h +++ b/include/linux/idr.h | |||
| @@ -38,15 +38,15 @@ | |||
| 38 | #define IDR_SIZE (1 << IDR_BITS) | 38 | #define IDR_SIZE (1 << IDR_BITS) |
| 39 | #define IDR_MASK ((1 << IDR_BITS)-1) | 39 | #define IDR_MASK ((1 << IDR_BITS)-1) |
| 40 | 40 | ||
| 41 | #define MAX_ID_SHIFT (sizeof(int)*8 - 1) | 41 | #define MAX_IDR_SHIFT (sizeof(int)*8 - 1) |
| 42 | #define MAX_ID_BIT (1U << MAX_ID_SHIFT) | 42 | #define MAX_IDR_BIT (1U << MAX_IDR_SHIFT) |
| 43 | #define MAX_ID_MASK (MAX_ID_BIT - 1) | 43 | #define MAX_IDR_MASK (MAX_IDR_BIT - 1) |
| 44 | 44 | ||
| 45 | /* Leave the possibility of an incomplete final layer */ | 45 | /* Leave the possibility of an incomplete final layer */ |
| 46 | #define MAX_LEVEL (MAX_ID_SHIFT + IDR_BITS - 1) / IDR_BITS | 46 | #define MAX_IDR_LEVEL ((MAX_IDR_SHIFT + IDR_BITS - 1) / IDR_BITS) |
| 47 | 47 | ||
| 48 | /* Number of id_layer structs to leave in free list */ | 48 | /* Number of id_layer structs to leave in free list */ |
| 49 | #define IDR_FREE_MAX MAX_LEVEL + MAX_LEVEL | 49 | #define MAX_IDR_FREE (MAX_IDR_LEVEL * 2) |
| 50 | 50 | ||
| 51 | struct idr_layer { | 51 | struct idr_layer { |
| 52 | unsigned long bitmap; /* A zero bit means "space here" */ | 52 | unsigned long bitmap; /* A zero bit means "space here" */ |
diff --git a/include/linux/init.h b/include/linux/init.h index 5e664f671615..e59041e21df3 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
| @@ -43,11 +43,22 @@ | |||
| 43 | discard it in modules) */ | 43 | discard it in modules) */ |
| 44 | #define __init __section(.init.text) __cold notrace | 44 | #define __init __section(.init.text) __cold notrace |
| 45 | #define __initdata __section(.init.data) | 45 | #define __initdata __section(.init.data) |
| 46 | #define __initconst __section(.init.rodata) | 46 | #define __initconst __constsection(.init.rodata) |
| 47 | #define __exitdata __section(.exit.data) | 47 | #define __exitdata __section(.exit.data) |
| 48 | #define __exit_call __used __section(.exitcall.exit) | 48 | #define __exit_call __used __section(.exitcall.exit) |
| 49 | 49 | ||
| 50 | /* | 50 | /* |
| 51 | * Some architecture have tool chains which do not handle rodata attributes | ||
| 52 | * correctly. For those disable special sections for const, so that other | ||
| 53 | * architectures can annotate correctly. | ||
| 54 | */ | ||
| 55 | #ifdef CONFIG_BROKEN_RODATA | ||
| 56 | #define __constsection(x) | ||
| 57 | #else | ||
| 58 | #define __constsection(x) __section(x) | ||
| 59 | #endif | ||
| 60 | |||
| 61 | /* | ||
| 51 | * modpost check for section mismatches during the kernel build. | 62 | * modpost check for section mismatches during the kernel build. |
| 52 | * A section mismatch happens when there are references from a | 63 | * A section mismatch happens when there are references from a |
| 53 | * code or data section to an init section (both code or data). | 64 | * code or data section to an init section (both code or data). |
| @@ -66,7 +77,7 @@ | |||
| 66 | */ | 77 | */ |
| 67 | #define __ref __section(.ref.text) noinline | 78 | #define __ref __section(.ref.text) noinline |
| 68 | #define __refdata __section(.ref.data) | 79 | #define __refdata __section(.ref.data) |
| 69 | #define __refconst __section(.ref.rodata) | 80 | #define __refconst __constsection(.ref.rodata) |
| 70 | 81 | ||
| 71 | /* compatibility defines */ | 82 | /* compatibility defines */ |
| 72 | #define __init_refok __ref | 83 | #define __init_refok __ref |
| @@ -85,26 +96,26 @@ | |||
| 85 | /* Used for HOTPLUG */ | 96 | /* Used for HOTPLUG */ |
| 86 | #define __devinit __section(.devinit.text) __cold notrace | 97 | #define __devinit __section(.devinit.text) __cold notrace |
| 87 | #define __devinitdata __section(.devinit.data) | 98 | #define __devinitdata __section(.devinit.data) |
| 88 | #define __devinitconst __section(.devinit.rodata) | 99 | #define __devinitconst __constsection(.devinit.rodata) |
| 89 | #define __devexit __section(.devexit.text) __exitused __cold notrace | 100 | #define __devexit __section(.devexit.text) __exitused __cold notrace |
| 90 | #define __devexitdata __section(.devexit.data) | 101 | #define __devexitdata __section(.devexit.data) |
| 91 | #define __devexitconst __section(.devexit.rodata) | 102 | #define __devexitconst __constsection(.devexit.rodata) |
| 92 | 103 | ||
| 93 | /* Used for HOTPLUG_CPU */ | 104 | /* Used for HOTPLUG_CPU */ |
| 94 | #define __cpuinit __section(.cpuinit.text) __cold notrace | 105 | #define __cpuinit __section(.cpuinit.text) __cold notrace |
| 95 | #define __cpuinitdata __section(.cpuinit.data) | 106 | #define __cpuinitdata __section(.cpuinit.data) |
| 96 | #define __cpuinitconst __section(.cpuinit.rodata) | 107 | #define __cpuinitconst __constsection(.cpuinit.rodata) |
| 97 | #define __cpuexit __section(.cpuexit.text) __exitused __cold notrace | 108 | #define __cpuexit __section(.cpuexit.text) __exitused __cold notrace |
| 98 | #define __cpuexitdata __section(.cpuexit.data) | 109 | #define __cpuexitdata __section(.cpuexit.data) |
| 99 | #define __cpuexitconst __section(.cpuexit.rodata) | 110 | #define __cpuexitconst __constsection(.cpuexit.rodata) |
| 100 | 111 | ||
| 101 | /* Used for MEMORY_HOTPLUG */ | 112 | /* Used for MEMORY_HOTPLUG */ |
| 102 | #define __meminit __section(.meminit.text) __cold notrace | 113 | #define __meminit __section(.meminit.text) __cold notrace |
| 103 | #define __meminitdata __section(.meminit.data) | 114 | #define __meminitdata __section(.meminit.data) |
| 104 | #define __meminitconst __section(.meminit.rodata) | 115 | #define __meminitconst __constsection(.meminit.rodata) |
| 105 | #define __memexit __section(.memexit.text) __exitused __cold notrace | 116 | #define __memexit __section(.memexit.text) __exitused __cold notrace |
| 106 | #define __memexitdata __section(.memexit.data) | 117 | #define __memexitdata __section(.memexit.data) |
| 107 | #define __memexitconst __section(.memexit.rodata) | 118 | #define __memexitconst __constsection(.memexit.rodata) |
| 108 | 119 | ||
| 109 | /* For assembly routines */ | 120 | /* For assembly routines */ |
| 110 | #define __HEAD .section ".head.text","ax" | 121 | #define __HEAD .section ".head.text","ax" |
diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h index 3661c59aa1e9..36c242e52ef1 100644 --- a/include/linux/mfd/rc5t583.h +++ b/include/linux/mfd/rc5t583.h | |||
| @@ -146,6 +146,28 @@ | |||
| 146 | #define RC5T583_GPIO_MON_IOIN 0xAB | 146 | #define RC5T583_GPIO_MON_IOIN 0xAB |
| 147 | #define RC5T583_GPIO_GPOFUNC 0xAC | 147 | #define RC5T583_GPIO_GPOFUNC 0xAC |
| 148 | 148 | ||
| 149 | /* RTC registers */ | ||
| 150 | #define RC5T583_RTC_SEC 0xE0 | ||
| 151 | #define RC5T583_RTC_MIN 0xE1 | ||
| 152 | #define RC5T583_RTC_HOUR 0xE2 | ||
| 153 | #define RC5T583_RTC_WDAY 0xE3 | ||
| 154 | #define RC5T583_RTC_DAY 0xE4 | ||
| 155 | #define RC5T583_RTC_MONTH 0xE5 | ||
| 156 | #define RC5T583_RTC_YEAR 0xE6 | ||
| 157 | #define RC5T583_RTC_ADJ 0xE7 | ||
| 158 | #define RC5T583_RTC_AW_MIN 0xE8 | ||
| 159 | #define RC5T583_RTC_AW_HOUR 0xE9 | ||
| 160 | #define RC5T583_RTC_AW_WEEK 0xEA | ||
| 161 | #define RC5T583_RTC_AD_MIN 0xEB | ||
| 162 | #define RC5T583_RTC_AD_HOUR 0xEC | ||
| 163 | #define RC5T583_RTC_CTL1 0xED | ||
| 164 | #define RC5T583_RTC_CTL2 0xEE | ||
| 165 | #define RC5T583_RTC_AY_MIN 0xF0 | ||
| 166 | #define RC5T583_RTC_AY_HOUR 0xF1 | ||
| 167 | #define RC5T583_RTC_AY_DAY 0xF2 | ||
| 168 | #define RC5T583_RTC_AY_MONTH 0xF3 | ||
| 169 | #define RC5T583_RTC_AY_YEAR 0xF4 | ||
| 170 | |||
| 149 | /* RICOH_RC5T583 IRQ definitions */ | 171 | /* RICOH_RC5T583 IRQ definitions */ |
| 150 | enum { | 172 | enum { |
| 151 | RC5T583_IRQ_ONKEY, | 173 | RC5T583_IRQ_ONKEY, |
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index ac772b36a1b1..02e894f3ff45 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h | |||
| @@ -132,6 +132,16 @@ | |||
| 132 | * | 132 | * |
| 133 | */ | 133 | */ |
| 134 | 134 | ||
| 135 | /* RTC_CTRL_REG bitfields */ | ||
| 136 | #define TPS65910_RTC_CTRL_STOP_RTC 0x01 /*0=stop, 1=run */ | ||
| 137 | #define TPS65910_RTC_CTRL_GET_TIME 0x40 | ||
| 138 | |||
| 139 | /* RTC_STATUS_REG bitfields */ | ||
| 140 | #define TPS65910_RTC_STATUS_ALARM 0x40 | ||
| 141 | |||
| 142 | /* RTC_INTERRUPTS_REG bitfields */ | ||
| 143 | #define TPS65910_RTC_INTERRUPTS_EVERY 0x03 | ||
| 144 | #define TPS65910_RTC_INTERRUPTS_IT_ALARM 0x08 | ||
| 135 | 145 | ||
| 136 | /*Register BCK1 (0x80) register.RegisterDescription */ | 146 | /*Register BCK1 (0x80) register.RegisterDescription */ |
| 137 | #define BCK1_BCKUP_MASK 0xFF | 147 | #define BCK1_BCKUP_MASK 0xFF |
diff --git a/include/linux/nbd.h b/include/linux/nbd.h index d146ca10c0f5..5c86e2b33e2d 100644 --- a/include/linux/nbd.h +++ b/include/linux/nbd.h | |||
| @@ -27,13 +27,22 @@ | |||
| 27 | #define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 ) | 27 | #define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 ) |
| 28 | #define NBD_DISCONNECT _IO( 0xab, 8 ) | 28 | #define NBD_DISCONNECT _IO( 0xab, 8 ) |
| 29 | #define NBD_SET_TIMEOUT _IO( 0xab, 9 ) | 29 | #define NBD_SET_TIMEOUT _IO( 0xab, 9 ) |
| 30 | #define NBD_SET_FLAGS _IO( 0xab, 10) | ||
| 30 | 31 | ||
| 31 | enum { | 32 | enum { |
| 32 | NBD_CMD_READ = 0, | 33 | NBD_CMD_READ = 0, |
| 33 | NBD_CMD_WRITE = 1, | 34 | NBD_CMD_WRITE = 1, |
| 34 | NBD_CMD_DISC = 2 | 35 | NBD_CMD_DISC = 2, |
| 36 | /* there is a gap here to match userspace */ | ||
| 37 | NBD_CMD_TRIM = 4 | ||
| 35 | }; | 38 | }; |
| 36 | 39 | ||
| 40 | /* values for flags field */ | ||
| 41 | #define NBD_FLAG_HAS_FLAGS (1 << 0) /* nbd-server supports flags */ | ||
| 42 | #define NBD_FLAG_READ_ONLY (1 << 1) /* device is read-only */ | ||
| 43 | /* there is a gap here to match userspace */ | ||
| 44 | #define NBD_FLAG_SEND_TRIM (1 << 5) /* send trim/discard */ | ||
| 45 | |||
| 37 | #define nbd_cmd(req) ((req)->cmd[0]) | 46 | #define nbd_cmd(req) ((req)->cmd[0]) |
| 38 | 47 | ||
| 39 | /* userspace doesn't need the nbd_device structure */ | 48 | /* userspace doesn't need the nbd_device structure */ |
| @@ -42,10 +51,6 @@ enum { | |||
| 42 | #include <linux/wait.h> | 51 | #include <linux/wait.h> |
| 43 | #include <linux/mutex.h> | 52 | #include <linux/mutex.h> |
| 44 | 53 | ||
| 45 | /* values for flags field */ | ||
| 46 | #define NBD_READ_ONLY 0x0001 | ||
| 47 | #define NBD_WRITE_NOCHK 0x0002 | ||
| 48 | |||
| 49 | struct request; | 54 | struct request; |
| 50 | 55 | ||
| 51 | struct nbd_device { | 56 | struct nbd_device { |
diff --git a/include/linux/percpu.h b/include/linux/percpu.h index 2b9f82c037c9..cc88172c7d9a 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h | |||
| @@ -107,7 +107,7 @@ enum pcpu_fc { | |||
| 107 | 107 | ||
| 108 | PCPU_FC_NR, | 108 | PCPU_FC_NR, |
| 109 | }; | 109 | }; |
| 110 | extern const char *pcpu_fc_names[PCPU_FC_NR]; | 110 | extern const char * const pcpu_fc_names[PCPU_FC_NR]; |
| 111 | 111 | ||
| 112 | extern enum pcpu_fc pcpu_chosen_fc; | 112 | extern enum pcpu_fc pcpu_chosen_fc; |
| 113 | 113 | ||
diff --git a/include/linux/platform_data/lm3630_bl.h b/include/linux/platform_data/lm3630_bl.h new file mode 100644 index 000000000000..9176dd3f2d63 --- /dev/null +++ b/include/linux/platform_data/lm3630_bl.h | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | /* | ||
| 2 | * Simple driver for Texas Instruments LM3630 LED Flash driver chip | ||
| 3 | * Copyright (C) 2012 Texas Instruments | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License version 2 as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __LINUX_LM3630_H | ||
| 12 | #define __LINUX_LM3630_H | ||
| 13 | |||
| 14 | #define LM3630_NAME "lm3630_bl" | ||
| 15 | |||
| 16 | enum lm3630_pwm_ctrl { | ||
| 17 | PWM_CTRL_DISABLE = 0, | ||
| 18 | PWM_CTRL_BANK_A, | ||
| 19 | PWM_CTRL_BANK_B, | ||
| 20 | PWM_CTRL_BANK_ALL, | ||
| 21 | }; | ||
| 22 | |||
| 23 | enum lm3630_pwm_active { | ||
| 24 | PWM_ACTIVE_HIGH = 0, | ||
| 25 | PWM_ACTIVE_LOW, | ||
| 26 | }; | ||
| 27 | |||
| 28 | enum lm3630_bank_a_ctrl { | ||
| 29 | BANK_A_CTRL_DISABLE = 0x0, | ||
| 30 | BANK_A_CTRL_LED1 = 0x4, | ||
| 31 | BANK_A_CTRL_LED2 = 0x1, | ||
| 32 | BANK_A_CTRL_ALL = 0x5, | ||
| 33 | }; | ||
| 34 | |||
| 35 | enum lm3630_bank_b_ctrl { | ||
| 36 | BANK_B_CTRL_DISABLE = 0, | ||
| 37 | BANK_B_CTRL_LED2, | ||
| 38 | }; | ||
| 39 | |||
| 40 | struct lm3630_platform_data { | ||
| 41 | |||
| 42 | /* maximum brightness */ | ||
| 43 | int max_brt_led1; | ||
| 44 | int max_brt_led2; | ||
| 45 | |||
| 46 | /* initial on brightness */ | ||
| 47 | int init_brt_led1; | ||
| 48 | int init_brt_led2; | ||
| 49 | enum lm3630_pwm_ctrl pwm_ctrl; | ||
| 50 | enum lm3630_pwm_active pwm_active; | ||
| 51 | enum lm3630_bank_a_ctrl bank_a_ctrl; | ||
| 52 | enum lm3630_bank_b_ctrl bank_b_ctrl; | ||
| 53 | unsigned int pwm_period; | ||
| 54 | void (*pwm_set_intensity) (int brightness, int max_brightness); | ||
| 55 | }; | ||
| 56 | |||
| 57 | #endif /* __LINUX_LM3630_H */ | ||
diff --git a/include/linux/platform_data/lm3639_bl.h b/include/linux/platform_data/lm3639_bl.h new file mode 100644 index 000000000000..5234cd5ed166 --- /dev/null +++ b/include/linux/platform_data/lm3639_bl.h | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | /* | ||
| 2 | * Simple driver for Texas Instruments LM3630 LED Flash driver chip | ||
| 3 | * Copyright (C) 2012 Texas Instruments | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License version 2 as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __LINUX_LM3639_H | ||
| 12 | #define __LINUX_LM3639_H | ||
| 13 | |||
| 14 | #define LM3639_NAME "lm3639_bl" | ||
| 15 | |||
| 16 | enum lm3639_pwm { | ||
| 17 | LM3639_PWM_DISABLE = 0x00, | ||
| 18 | LM3639_PWM_EN_ACTLOW = 0x48, | ||
| 19 | LM3639_PWM_EN_ACTHIGH = 0x40, | ||
| 20 | }; | ||
| 21 | |||
| 22 | enum lm3639_strobe { | ||
| 23 | LM3639_STROBE_DISABLE = 0x00, | ||
| 24 | LM3639_STROBE_EN_ACTLOW = 0x10, | ||
| 25 | LM3639_STROBE_EN_ACTHIGH = 0x30, | ||
| 26 | }; | ||
| 27 | |||
| 28 | enum lm3639_txpin { | ||
| 29 | LM3639_TXPIN_DISABLE = 0x00, | ||
| 30 | LM3639_TXPIN_EN_ACTLOW = 0x04, | ||
| 31 | LM3639_TXPIN_EN_ACTHIGH = 0x0C, | ||
| 32 | }; | ||
| 33 | |||
| 34 | enum lm3639_fleds { | ||
| 35 | LM3639_FLED_DIASBLE_ALL = 0x00, | ||
| 36 | LM3639_FLED_EN_1 = 0x40, | ||
| 37 | LM3639_FLED_EN_2 = 0x20, | ||
| 38 | LM3639_FLED_EN_ALL = 0x60, | ||
| 39 | }; | ||
| 40 | |||
| 41 | enum lm3639_bleds { | ||
| 42 | LM3639_BLED_DIASBLE_ALL = 0x00, | ||
| 43 | LM3639_BLED_EN_1 = 0x10, | ||
| 44 | LM3639_BLED_EN_2 = 0x08, | ||
| 45 | LM3639_BLED_EN_ALL = 0x18, | ||
| 46 | }; | ||
| 47 | enum lm3639_bled_mode { | ||
| 48 | LM3639_BLED_MODE_EXPONETIAL = 0x00, | ||
| 49 | LM3639_BLED_MODE_LINEAR = 0x10, | ||
| 50 | }; | ||
| 51 | |||
| 52 | struct lm3639_platform_data { | ||
| 53 | unsigned int max_brt_led; | ||
| 54 | unsigned int init_brt_led; | ||
| 55 | |||
| 56 | /* input pins */ | ||
| 57 | enum lm3639_pwm pin_pwm; | ||
| 58 | enum lm3639_strobe pin_strobe; | ||
| 59 | enum lm3639_txpin pin_tx; | ||
| 60 | |||
| 61 | /* output pins */ | ||
| 62 | enum lm3639_fleds fled_pins; | ||
| 63 | enum lm3639_bleds bled_pins; | ||
| 64 | enum lm3639_bled_mode bled_mode; | ||
| 65 | |||
| 66 | void (*pwm_set_intensity) (int brightness, int max_brightness); | ||
| 67 | int (*pwm_get_intensity) (void); | ||
| 68 | }; | ||
| 69 | #endif /* __LINUX_LM3639_H */ | ||
diff --git a/include/linux/platform_data/lp855x.h b/include/linux/platform_data/lp855x.h index cc76f1f18f18..761f31752367 100644 --- a/include/linux/platform_data/lp855x.h +++ b/include/linux/platform_data/lp855x.h | |||
| @@ -46,6 +46,8 @@ | |||
| 46 | #define LP8556_I2C_CONFIG ((ENABLE_BL << BL_CTL_SHFT) | \ | 46 | #define LP8556_I2C_CONFIG ((ENABLE_BL << BL_CTL_SHFT) | \ |
| 47 | (LP8556_I2C_ONLY << BRT_MODE_SHFT)) | 47 | (LP8556_I2C_ONLY << BRT_MODE_SHFT)) |
| 48 | #define LP8556_COMB2_CONFIG (LP8556_COMBINED2 << BRT_MODE_SHFT) | 48 | #define LP8556_COMB2_CONFIG (LP8556_COMBINED2 << BRT_MODE_SHFT) |
| 49 | #define LP8556_FAST_CONFIG BIT(7) /* use it if EPROMs should be maintained | ||
| 50 | when exiting the low power mode */ | ||
| 49 | 51 | ||
| 50 | enum lp855x_chip_id { | 52 | enum lp855x_chip_id { |
| 51 | LP8550, | 53 | LP8550, |
diff --git a/include/linux/rio.h b/include/linux/rio.h index a90ebadd9da0..d2dff22cf681 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #define RIO_MAX_MPORTS 8 | 30 | #define RIO_MAX_MPORTS 8 |
| 31 | #define RIO_MAX_MPORT_RESOURCES 16 | 31 | #define RIO_MAX_MPORT_RESOURCES 16 |
| 32 | #define RIO_MAX_DEV_RESOURCES 16 | 32 | #define RIO_MAX_DEV_RESOURCES 16 |
| 33 | #define RIO_MAX_MPORT_NAME 40 | ||
| 33 | 34 | ||
| 34 | #define RIO_GLOBAL_TABLE 0xff /* Indicates access of a switch's | 35 | #define RIO_GLOBAL_TABLE 0xff /* Indicates access of a switch's |
| 35 | global routing table if it | 36 | global routing table if it |
| @@ -235,6 +236,7 @@ enum rio_phy_type { | |||
| 235 | * @phys_efptr: RIO port extended features pointer | 236 | * @phys_efptr: RIO port extended features pointer |
| 236 | * @name: Port name string | 237 | * @name: Port name string |
| 237 | * @priv: Master port private data | 238 | * @priv: Master port private data |
| 239 | * @dma: DMA device associated with mport | ||
| 238 | */ | 240 | */ |
| 239 | struct rio_mport { | 241 | struct rio_mport { |
| 240 | struct list_head dbells; /* list of doorbell events */ | 242 | struct list_head dbells; /* list of doorbell events */ |
| @@ -255,13 +257,21 @@ struct rio_mport { | |||
| 255 | */ | 257 | */ |
| 256 | enum rio_phy_type phy_type; /* RapidIO phy type */ | 258 | enum rio_phy_type phy_type; /* RapidIO phy type */ |
| 257 | u32 phys_efptr; | 259 | u32 phys_efptr; |
| 258 | unsigned char name[40]; | 260 | unsigned char name[RIO_MAX_MPORT_NAME]; |
| 259 | void *priv; /* Master port private data */ | 261 | void *priv; /* Master port private data */ |
| 260 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE | 262 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE |
| 261 | struct dma_device dma; | 263 | struct dma_device dma; |
| 262 | #endif | 264 | #endif |
| 263 | }; | 265 | }; |
| 264 | 266 | ||
| 267 | struct rio_id_table { | ||
| 268 | u16 start; /* logical minimal id */ | ||
| 269 | u16 next; /* hint for find */ | ||
| 270 | u32 max; /* max number of IDs in table */ | ||
| 271 | spinlock_t lock; | ||
| 272 | unsigned long *table; | ||
| 273 | }; | ||
| 274 | |||
| 265 | /** | 275 | /** |
| 266 | * struct rio_net - RIO network info | 276 | * struct rio_net - RIO network info |
| 267 | * @node: Node in global list of RIO networks | 277 | * @node: Node in global list of RIO networks |
| @@ -273,9 +283,11 @@ struct rio_mport { | |||
| 273 | struct rio_net { | 283 | struct rio_net { |
| 274 | struct list_head node; /* node in list of networks */ | 284 | struct list_head node; /* node in list of networks */ |
| 275 | struct list_head devices; /* list of devices in this net */ | 285 | struct list_head devices; /* list of devices in this net */ |
| 286 | struct list_head switches; /* list of switches in this net */ | ||
| 276 | struct list_head mports; /* list of ports accessing net */ | 287 | struct list_head mports; /* list of ports accessing net */ |
| 277 | struct rio_mport *hport; /* primary port for accessing net */ | 288 | struct rio_mport *hport; /* primary port for accessing net */ |
| 278 | unsigned char id; /* RIO network ID */ | 289 | unsigned char id; /* RIO network ID */ |
| 290 | struct rio_id_table destid_table; /* destID allocation table */ | ||
| 279 | }; | 291 | }; |
| 280 | 292 | ||
| 281 | /* Definitions used by switch sysfs initialization callback */ | 293 | /* Definitions used by switch sysfs initialization callback */ |
| @@ -299,6 +311,8 @@ struct rio_net { | |||
| 299 | * @add_outb_message: Callback to add a message to an outbound mailbox queue. | 311 | * @add_outb_message: Callback to add a message to an outbound mailbox queue. |
| 300 | * @add_inb_buffer: Callback to add a buffer to an inbound mailbox queue. | 312 | * @add_inb_buffer: Callback to add a buffer to an inbound mailbox queue. |
| 301 | * @get_inb_message: Callback to get a message from an inbound mailbox queue. | 313 | * @get_inb_message: Callback to get a message from an inbound mailbox queue. |
| 314 | * @map_inb: Callback to map RapidIO address region into local memory space. | ||
| 315 | * @unmap_inb: Callback to unmap RapidIO address region mapped with map_inb(). | ||
| 302 | */ | 316 | */ |
| 303 | struct rio_ops { | 317 | struct rio_ops { |
| 304 | int (*lcread) (struct rio_mport *mport, int index, u32 offset, int len, | 318 | int (*lcread) (struct rio_mport *mport, int index, u32 offset, int len, |
| @@ -321,6 +335,9 @@ struct rio_ops { | |||
| 321 | int mbox, void *buffer, size_t len); | 335 | int mbox, void *buffer, size_t len); |
| 322 | int (*add_inb_buffer)(struct rio_mport *mport, int mbox, void *buf); | 336 | int (*add_inb_buffer)(struct rio_mport *mport, int mbox, void *buf); |
| 323 | void *(*get_inb_message)(struct rio_mport *mport, int mbox); | 337 | void *(*get_inb_message)(struct rio_mport *mport, int mbox); |
| 338 | int (*map_inb)(struct rio_mport *mport, dma_addr_t lstart, | ||
| 339 | u64 rstart, u32 size, u32 flags); | ||
| 340 | void (*unmap_inb)(struct rio_mport *mport, dma_addr_t lstart); | ||
| 324 | }; | 341 | }; |
| 325 | 342 | ||
| 326 | #define RIO_RESOURCE_MEM 0x00000100 | 343 | #define RIO_RESOURCE_MEM 0x00000100 |
| @@ -403,7 +420,7 @@ union rio_pw_msg { | |||
| 403 | 420 | ||
| 404 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE | 421 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE |
| 405 | 422 | ||
| 406 | /** | 423 | /* |
| 407 | * enum rio_write_type - RIO write transaction types used in DMA transfers | 424 | * enum rio_write_type - RIO write transaction types used in DMA transfers |
| 408 | * | 425 | * |
| 409 | * Note: RapidIO specification defines write (NWRITE) and | 426 | * Note: RapidIO specification defines write (NWRITE) and |
diff --git a/include/linux/rio_drv.h b/include/linux/rio_drv.h index 31ad146be316..b75c05920ab5 100644 --- a/include/linux/rio_drv.h +++ b/include/linux/rio_drv.h | |||
| @@ -365,6 +365,11 @@ void rio_release_regions(struct rio_dev *); | |||
| 365 | int rio_request_region(struct rio_dev *, int, char *); | 365 | int rio_request_region(struct rio_dev *, int, char *); |
| 366 | void rio_release_region(struct rio_dev *, int); | 366 | void rio_release_region(struct rio_dev *, int); |
| 367 | 367 | ||
| 368 | /* Memory mapping functions */ | ||
| 369 | extern int rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, | ||
| 370 | u64 rbase, u32 size, u32 rflags); | ||
| 371 | extern void rio_unmap_inb_region(struct rio_mport *mport, dma_addr_t lstart); | ||
| 372 | |||
| 368 | /* Port-Write management */ | 373 | /* Port-Write management */ |
| 369 | extern int rio_request_inb_pwrite(struct rio_dev *, | 374 | extern int rio_request_inb_pwrite(struct rio_dev *, |
| 370 | int (*)(struct rio_dev *, union rio_pw_msg*, int)); | 375 | int (*)(struct rio_dev *, union rio_pw_msg*, int)); |
diff --git a/include/linux/rtc-ds2404.h b/include/linux/rtc-ds2404.h new file mode 100644 index 000000000000..22c53825528f --- /dev/null +++ b/include/linux/rtc-ds2404.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* | ||
| 2 | * ds2404.h - platform data structure for the DS2404 RTC. | ||
| 3 | * | ||
| 4 | * This file is subject to the terms and conditions of the GNU General Public | ||
| 5 | * License. See the file "COPYING" in the main directory of this archive | ||
| 6 | * for more details. | ||
| 7 | * | ||
| 8 | * Copyright (C) 2012 Sven Schnelle <svens@stackframe.org> | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __LINUX_DS2404_H | ||
| 12 | #define __LINUX_DS2404_H | ||
| 13 | |||
| 14 | struct ds2404_platform_data { | ||
| 15 | |||
| 16 | unsigned int gpio_rst; | ||
| 17 | unsigned int gpio_clk; | ||
| 18 | unsigned int gpio_dq; | ||
| 19 | }; | ||
| 20 | #endif | ||
diff --git a/include/linux/rtc.h b/include/linux/rtc.h index f071b3922c67..20ec4d3bed73 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h | |||
| @@ -276,7 +276,7 @@ static inline bool is_leap_year(unsigned int year) | |||
| 276 | return (!(year % 4) && (year % 100)) || !(year % 400); | 276 | return (!(year % 4) && (year % 100)) || !(year % 400); |
| 277 | } | 277 | } |
| 278 | 278 | ||
| 279 | #ifdef CONFIG_RTC_HCTOSYS | 279 | #ifdef CONFIG_RTC_HCTOSYS_DEVICE |
| 280 | extern int rtc_hctosys_ret; | 280 | extern int rtc_hctosys_ret; |
| 281 | #else | 281 | #else |
| 282 | #define rtc_hctosys_ret -ENODEV | 282 | #define rtc_hctosys_ret -ENODEV |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 9d51e260bde0..9c5612f0374b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -405,7 +405,6 @@ static inline void arch_pick_mmap_layout(struct mm_struct *mm) {} | |||
| 405 | 405 | ||
| 406 | extern void set_dumpable(struct mm_struct *mm, int value); | 406 | extern void set_dumpable(struct mm_struct *mm, int value); |
| 407 | extern int get_dumpable(struct mm_struct *mm); | 407 | extern int get_dumpable(struct mm_struct *mm); |
| 408 | extern int __get_dumpable(unsigned long mm_flags); | ||
| 409 | 408 | ||
| 410 | /* get/set_dumpable() values */ | 409 | /* get/set_dumpable() values */ |
| 411 | #define SUID_DUMPABLE_DISABLED 0 | 410 | #define SUID_DUMPABLE_DISABLED 0 |
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 4faf6612ecac..95e646641184 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
| @@ -257,10 +257,12 @@ static inline struct net *read_pnet(struct net * const *pnet) | |||
| 257 | #define __net_init | 257 | #define __net_init |
| 258 | #define __net_exit | 258 | #define __net_exit |
| 259 | #define __net_initdata | 259 | #define __net_initdata |
| 260 | #define __net_initconst | ||
| 260 | #else | 261 | #else |
| 261 | #define __net_init __init | 262 | #define __net_init __init |
| 262 | #define __net_exit __exit_refok | 263 | #define __net_exit __exit_refok |
| 263 | #define __net_initdata __initdata | 264 | #define __net_initdata __initdata |
| 265 | #define __net_initconst __initconst | ||
| 264 | #endif | 266 | #endif |
| 265 | 267 | ||
| 266 | struct pernet_operations { | 268 | struct pernet_operations { |
