diff options
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/compat.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/fb.h | 23 | ||||
-rw-r--r-- | include/asm-ia64/ioctls.h | 4 | ||||
-rw-r--r-- | include/asm-ia64/mca.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/page.h | 13 | ||||
-rw-r--r-- | include/asm-ia64/pci.h | 22 | ||||
-rw-r--r-- | include/asm-ia64/pgtable.h | 26 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_sal.h | 24 | ||||
-rw-r--r-- | include/asm-ia64/termbits.h | 16 | ||||
-rw-r--r-- | include/asm-ia64/termios.h | 6 |
10 files changed, 88 insertions, 49 deletions
diff --git a/include/asm-ia64/compat.h b/include/asm-ia64/compat.h index 40d01d80610d..0f6e5264ab8f 100644 --- a/include/asm-ia64/compat.h +++ b/include/asm-ia64/compat.h | |||
@@ -31,8 +31,10 @@ typedef s32 compat_timer_t; | |||
31 | 31 | ||
32 | typedef s32 compat_int_t; | 32 | typedef s32 compat_int_t; |
33 | typedef s32 compat_long_t; | 33 | typedef s32 compat_long_t; |
34 | typedef s64 __attribute__((aligned(4))) compat_s64; | ||
34 | typedef u32 compat_uint_t; | 35 | typedef u32 compat_uint_t; |
35 | typedef u32 compat_ulong_t; | 36 | typedef u32 compat_ulong_t; |
37 | typedef u64 __attribute__((aligned(4))) compat_u64; | ||
36 | 38 | ||
37 | struct compat_timespec { | 39 | struct compat_timespec { |
38 | compat_time_t tv_sec; | 40 | compat_time_t tv_sec; |
diff --git a/include/asm-ia64/fb.h b/include/asm-ia64/fb.h new file mode 100644 index 000000000000..89a397cee90a --- /dev/null +++ b/include/asm-ia64/fb.h | |||
@@ -0,0 +1,23 @@ | |||
1 | #ifndef _ASM_FB_H_ | ||
2 | #define _ASM_FB_H_ | ||
3 | |||
4 | #include <linux/fb.h> | ||
5 | #include <linux/fs.h> | ||
6 | #include <linux/efi.h> | ||
7 | #include <asm/page.h> | ||
8 | |||
9 | static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, | ||
10 | unsigned long off) | ||
11 | { | ||
12 | if (efi_range_is_wc(vma->vm_start, vma->vm_end - vma->vm_start)) | ||
13 | vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); | ||
14 | else | ||
15 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); | ||
16 | } | ||
17 | |||
18 | static inline int fb_is_primary_device(struct fb_info *info) | ||
19 | { | ||
20 | return 0; | ||
21 | } | ||
22 | |||
23 | #endif /* _ASM_FB_H_ */ | ||
diff --git a/include/asm-ia64/ioctls.h b/include/asm-ia64/ioctls.h index 31ee521aeb7a..f41b636a0bf6 100644 --- a/include/asm-ia64/ioctls.h +++ b/include/asm-ia64/ioctls.h | |||
@@ -53,6 +53,10 @@ | |||
53 | #define TIOCSBRK 0x5427 /* BSD compatibility */ | 53 | #define TIOCSBRK 0x5427 /* BSD compatibility */ |
54 | #define TIOCCBRK 0x5428 /* BSD compatibility */ | 54 | #define TIOCCBRK 0x5428 /* BSD compatibility */ |
55 | #define TIOCGSID 0x5429 /* Return the session ID of FD */ | 55 | #define TIOCGSID 0x5429 /* Return the session ID of FD */ |
56 | #define TCGETS2 _IOR('T',0x2A, struct termios2) | ||
57 | #define TCSETS2 _IOW('T',0x2B, struct termios2) | ||
58 | #define TCSETSW2 _IOW('T',0x2C, struct termios2) | ||
59 | #define TCSETSF2 _IOW('T',0x2D, struct termios2) | ||
56 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ | 60 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
57 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ | 61 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ |
58 | 62 | ||
diff --git a/include/asm-ia64/mca.h b/include/asm-ia64/mca.h index 41098f459684..edd5d01028df 100644 --- a/include/asm-ia64/mca.h +++ b/include/asm-ia64/mca.h | |||
@@ -48,6 +48,7 @@ enum { | |||
48 | IA64_MCA_RENDEZ_CHECKIN_NOTDONE = 0x0, | 48 | IA64_MCA_RENDEZ_CHECKIN_NOTDONE = 0x0, |
49 | IA64_MCA_RENDEZ_CHECKIN_DONE = 0x1, | 49 | IA64_MCA_RENDEZ_CHECKIN_DONE = 0x1, |
50 | IA64_MCA_RENDEZ_CHECKIN_INIT = 0x2, | 50 | IA64_MCA_RENDEZ_CHECKIN_INIT = 0x2, |
51 | IA64_MCA_RENDEZ_CHECKIN_CONCURRENT_MCA = 0x3, | ||
51 | }; | 52 | }; |
52 | 53 | ||
53 | /* Information maintained by the MC infrastructure */ | 54 | /* Information maintained by the MC infrastructure */ |
diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h index 485759ba9e36..d6345464a2b3 100644 --- a/include/asm-ia64/page.h +++ b/include/asm-ia64/page.h | |||
@@ -87,12 +87,13 @@ do { \ | |||
87 | } while (0) | 87 | } while (0) |
88 | 88 | ||
89 | 89 | ||
90 | #define alloc_zeroed_user_highpage(vma, vaddr) \ | 90 | #define __alloc_zeroed_user_highpage(movableflags, vma, vaddr) \ |
91 | ({ \ | 91 | ({ \ |
92 | struct page *page = alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vma, vaddr); \ | 92 | struct page *page = alloc_page_vma( \ |
93 | if (page) \ | 93 | GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr); \ |
94 | flush_dcache_page(page); \ | 94 | if (page) \ |
95 | page; \ | 95 | flush_dcache_page(page); \ |
96 | page; \ | ||
96 | }) | 97 | }) |
97 | 98 | ||
98 | #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE | 99 | #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE |
diff --git a/include/asm-ia64/pci.h b/include/asm-ia64/pci.h index 5a5d1c2ce39d..0149097b736d 100644 --- a/include/asm-ia64/pci.h +++ b/include/asm-ia64/pci.h | |||
@@ -71,14 +71,6 @@ pcibios_penalize_isa_irq (int irq, int active) | |||
71 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ | 71 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ |
72 | (((PTR)->LEN_NAME) = (VAL)) | 72 | (((PTR)->LEN_NAME) = (VAL)) |
73 | 73 | ||
74 | /* The ia64 platform always supports 64-bit addressing. */ | ||
75 | #define pci_dac_dma_supported(pci_dev, mask) (1) | ||
76 | #define pci_dac_page_to_dma(dev,pg,off,dir) ((dma_addr_t) page_to_bus(pg) + (off)) | ||
77 | #define pci_dac_dma_to_page(dev,dma_addr) (virt_to_page(bus_to_virt(dma_addr))) | ||
78 | #define pci_dac_dma_to_offset(dev,dma_addr) offset_in_page(dma_addr) | ||
79 | #define pci_dac_dma_sync_single_for_cpu(dev,dma_addr,len,dir) do { } while (0) | ||
80 | #define pci_dac_dma_sync_single_for_device(dev,dma_addr,len,dir) do { mb(); } while (0) | ||
81 | |||
82 | #ifdef CONFIG_PCI | 74 | #ifdef CONFIG_PCI |
83 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | 75 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, |
84 | enum pci_dma_burst_strategy *strat, | 76 | enum pci_dma_burst_strategy *strat, |
@@ -104,10 +96,12 @@ extern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, | |||
104 | #define HAVE_PCI_LEGACY | 96 | #define HAVE_PCI_LEGACY |
105 | extern int pci_mmap_legacy_page_range(struct pci_bus *bus, | 97 | extern int pci_mmap_legacy_page_range(struct pci_bus *bus, |
106 | struct vm_area_struct *vma); | 98 | struct vm_area_struct *vma); |
107 | extern ssize_t pci_read_legacy_io(struct kobject *kobj, char *buf, loff_t off, | 99 | extern ssize_t pci_read_legacy_io(struct kobject *kobj, |
108 | size_t count); | 100 | struct bin_attribute *bin_attr, |
109 | extern ssize_t pci_write_legacy_io(struct kobject *kobj, char *buf, loff_t off, | 101 | char *buf, loff_t off, size_t count); |
110 | size_t count); | 102 | extern ssize_t pci_write_legacy_io(struct kobject *kobj, |
103 | struct bin_attribute *bin_attr, | ||
104 | char *buf, loff_t off, size_t count); | ||
111 | extern int pci_mmap_legacy_mem(struct kobject *kobj, | 105 | extern int pci_mmap_legacy_mem(struct kobject *kobj, |
112 | struct bin_attribute *attr, | 106 | struct bin_attribute *attr, |
113 | struct vm_area_struct *vma); | 107 | struct vm_area_struct *vma); |
@@ -143,10 +137,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) | |||
143 | return (pci_domain_nr(bus) != 0); | 137 | return (pci_domain_nr(bus) != 0); |
144 | } | 138 | } |
145 | 139 | ||
146 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | ||
147 | { | ||
148 | } | ||
149 | |||
150 | extern void pcibios_resource_to_bus(struct pci_dev *dev, | 140 | extern void pcibios_resource_to_bus(struct pci_dev *dev, |
151 | struct pci_bus_region *region, struct resource *res); | 141 | struct pci_bus_region *region, struct resource *res); |
152 | 142 | ||
diff --git a/include/asm-ia64/pgtable.h b/include/asm-ia64/pgtable.h index 6580f31b3135..de6d01e24dd0 100644 --- a/include/asm-ia64/pgtable.h +++ b/include/asm-ia64/pgtable.h | |||
@@ -297,8 +297,6 @@ ia64_phys_addr_valid (unsigned long addr) | |||
297 | /* | 297 | /* |
298 | * The following have defined behavior only work if pte_present() is true. | 298 | * The following have defined behavior only work if pte_present() is true. |
299 | */ | 299 | */ |
300 | #define pte_user(pte) ((pte_val(pte) & _PAGE_PL_MASK) == _PAGE_PL_3) | ||
301 | #define pte_read(pte) (((pte_val(pte) & _PAGE_AR_MASK) >> _PAGE_AR_SHIFT) < 6) | ||
302 | #define pte_write(pte) ((unsigned) (((pte_val(pte) & _PAGE_AR_MASK) >> _PAGE_AR_SHIFT) - 2) <= 4) | 300 | #define pte_write(pte) ((unsigned) (((pte_val(pte) & _PAGE_AR_MASK) >> _PAGE_AR_SHIFT) - 2) <= 4) |
303 | #define pte_exec(pte) ((pte_val(pte) & _PAGE_AR_RX) != 0) | 301 | #define pte_exec(pte) ((pte_val(pte) & _PAGE_AR_RX) != 0) |
304 | #define pte_dirty(pte) ((pte_val(pte) & _PAGE_D) != 0) | 302 | #define pte_dirty(pte) ((pte_val(pte) & _PAGE_D) != 0) |
@@ -310,7 +308,6 @@ ia64_phys_addr_valid (unsigned long addr) | |||
310 | */ | 308 | */ |
311 | #define pte_wrprotect(pte) (__pte(pte_val(pte) & ~_PAGE_AR_RW)) | 309 | #define pte_wrprotect(pte) (__pte(pte_val(pte) & ~_PAGE_AR_RW)) |
312 | #define pte_mkwrite(pte) (__pte(pte_val(pte) | _PAGE_AR_RW)) | 310 | #define pte_mkwrite(pte) (__pte(pte_val(pte) | _PAGE_AR_RW)) |
313 | #define pte_mkexec(pte) (__pte(pte_val(pte) | _PAGE_AR_RX)) | ||
314 | #define pte_mkold(pte) (__pte(pte_val(pte) & ~_PAGE_A)) | 311 | #define pte_mkold(pte) (__pte(pte_val(pte) & ~_PAGE_A)) |
315 | #define pte_mkyoung(pte) (__pte(pte_val(pte) | _PAGE_A)) | 312 | #define pte_mkyoung(pte) (__pte(pte_val(pte) | _PAGE_A)) |
316 | #define pte_mkclean(pte) (__pte(pte_val(pte) & ~_PAGE_D)) | 313 | #define pte_mkclean(pte) (__pte(pte_val(pte) & ~_PAGE_D)) |
@@ -398,22 +395,6 @@ ptep_test_and_clear_young (struct vm_area_struct *vma, unsigned long addr, pte_t | |||
398 | #endif | 395 | #endif |
399 | } | 396 | } |
400 | 397 | ||
401 | static inline int | ||
402 | ptep_test_and_clear_dirty (struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) | ||
403 | { | ||
404 | #ifdef CONFIG_SMP | ||
405 | if (!pte_dirty(*ptep)) | ||
406 | return 0; | ||
407 | return test_and_clear_bit(_PAGE_D_BIT, ptep); | ||
408 | #else | ||
409 | pte_t pte = *ptep; | ||
410 | if (!pte_dirty(pte)) | ||
411 | return 0; | ||
412 | set_pte_at(vma->vm_mm, addr, ptep, pte_mkclean(pte)); | ||
413 | return 1; | ||
414 | #endif | ||
415 | } | ||
416 | |||
417 | static inline pte_t | 398 | static inline pte_t |
418 | ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | 399 | ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) |
419 | { | 400 | { |
@@ -546,8 +527,10 @@ extern void lazy_mmu_prot_update (pte_t pte); | |||
546 | # define ptep_set_access_flags(__vma, __addr, __ptep, __entry, __safely_writable) \ | 527 | # define ptep_set_access_flags(__vma, __addr, __ptep, __entry, __safely_writable) \ |
547 | ({ \ | 528 | ({ \ |
548 | int __changed = !pte_same(*(__ptep), __entry); \ | 529 | int __changed = !pte_same(*(__ptep), __entry); \ |
549 | if (__changed) \ | 530 | if (__changed) { \ |
550 | ptep_establish(__vma, __addr, __ptep, __entry); \ | 531 | set_pte_at((__vma)->vm_mm, (__addr), __ptep, __entry); \ |
532 | flush_tlb_page(__vma, __addr); \ | ||
533 | } \ | ||
551 | __changed; \ | 534 | __changed; \ |
552 | }) | 535 | }) |
553 | #endif | 536 | #endif |
@@ -591,7 +574,6 @@ extern void lazy_mmu_prot_update (pte_t pte); | |||
591 | #endif | 574 | #endif |
592 | 575 | ||
593 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG | 576 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG |
594 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY | ||
595 | #define __HAVE_ARCH_PTEP_GET_AND_CLEAR | 577 | #define __HAVE_ARCH_PTEP_GET_AND_CLEAR |
596 | #define __HAVE_ARCH_PTEP_SET_WRPROTECT | 578 | #define __HAVE_ARCH_PTEP_SET_WRPROTECT |
597 | #define __HAVE_ARCH_PTE_SAME | 579 | #define __HAVE_ARCH_PTE_SAME |
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index 291e8ceed6e6..676b31a08c61 100644 --- a/include/asm-ia64/sn/sn_sal.h +++ b/include/asm-ia64/sn/sn_sal.h | |||
@@ -32,6 +32,7 @@ | |||
32 | #define SN_SAL_NO_FAULT_ZONE_VIRTUAL 0x02000010 | 32 | #define SN_SAL_NO_FAULT_ZONE_VIRTUAL 0x02000010 |
33 | #define SN_SAL_NO_FAULT_ZONE_PHYSICAL 0x02000011 | 33 | #define SN_SAL_NO_FAULT_ZONE_PHYSICAL 0x02000011 |
34 | #define SN_SAL_PRINT_ERROR 0x02000012 | 34 | #define SN_SAL_PRINT_ERROR 0x02000012 |
35 | #define SN_SAL_REGISTER_PMI_HANDLER 0x02000014 | ||
35 | #define SN_SAL_SET_ERROR_HANDLING_FEATURES 0x0200001a // reentrant | 36 | #define SN_SAL_SET_ERROR_HANDLING_FEATURES 0x0200001a // reentrant |
36 | #define SN_SAL_GET_FIT_COMPT 0x0200001b // reentrant | 37 | #define SN_SAL_GET_FIT_COMPT 0x0200001b // reentrant |
37 | #define SN_SAL_GET_SAPIC_INFO 0x0200001d | 38 | #define SN_SAL_GET_SAPIC_INFO 0x0200001d |
@@ -680,6 +681,25 @@ sn_register_nofault_code(u64 start_addr, u64 end_addr, u64 return_addr, | |||
680 | } | 681 | } |
681 | 682 | ||
682 | /* | 683 | /* |
684 | * Register or unregister a function to handle a PMI received by a CPU. | ||
685 | * Before calling the registered handler, SAL sets r1 to the value that | ||
686 | * was passed in as the global_pointer. | ||
687 | * | ||
688 | * If the handler pointer is NULL, then the currently registered handler | ||
689 | * will be unregistered. | ||
690 | * | ||
691 | * Returns 0 on success, or a negative value if an error occurred. | ||
692 | */ | ||
693 | static inline int | ||
694 | sn_register_pmi_handler(u64 handler, u64 global_pointer) | ||
695 | { | ||
696 | struct ia64_sal_retval ret_stuff; | ||
697 | ia64_sal_oemcall(&ret_stuff, SN_SAL_REGISTER_PMI_HANDLER, handler, | ||
698 | global_pointer, 0, 0, 0, 0, 0); | ||
699 | return ret_stuff.status; | ||
700 | } | ||
701 | |||
702 | /* | ||
683 | * Change or query the coherence domain for this partition. Each cpu-based | 703 | * Change or query the coherence domain for this partition. Each cpu-based |
684 | * nasid is represented by a bit in an array of 64-bit words: | 704 | * nasid is represented by a bit in an array of 64-bit words: |
685 | * 0 = not in this partition's coherency domain | 705 | * 0 = not in this partition's coherency domain |
@@ -696,8 +716,8 @@ static inline int | |||
696 | sn_change_coherence(u64 *new_domain, u64 *old_domain) | 716 | sn_change_coherence(u64 *new_domain, u64 *old_domain) |
697 | { | 717 | { |
698 | struct ia64_sal_retval ret_stuff; | 718 | struct ia64_sal_retval ret_stuff; |
699 | ia64_sal_oemcall(&ret_stuff, SN_SAL_COHERENCE, (u64)new_domain, | 719 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_COHERENCE, (u64)new_domain, |
700 | (u64)old_domain, 0, 0, 0, 0, 0); | 720 | (u64)old_domain, 0, 0, 0, 0, 0); |
701 | return ret_stuff.status; | 721 | return ret_stuff.status; |
702 | } | 722 | } |
703 | 723 | ||
diff --git a/include/asm-ia64/termbits.h b/include/asm-ia64/termbits.h index 4531a511bde5..9f162e0089ad 100644 --- a/include/asm-ia64/termbits.h +++ b/include/asm-ia64/termbits.h | |||
@@ -26,6 +26,17 @@ struct termios { | |||
26 | cc_t c_cc[NCCS]; /* control characters */ | 26 | cc_t c_cc[NCCS]; /* control characters */ |
27 | }; | 27 | }; |
28 | 28 | ||
29 | struct termios2 { | ||
30 | tcflag_t c_iflag; /* input mode flags */ | ||
31 | tcflag_t c_oflag; /* output mode flags */ | ||
32 | tcflag_t c_cflag; /* control mode flags */ | ||
33 | tcflag_t c_lflag; /* local mode flags */ | ||
34 | cc_t c_line; /* line discipline */ | ||
35 | cc_t c_cc[NCCS]; /* control characters */ | ||
36 | speed_t c_ispeed; /* input speed */ | ||
37 | speed_t c_ospeed; /* output speed */ | ||
38 | }; | ||
39 | |||
29 | struct ktermios { | 40 | struct ktermios { |
30 | tcflag_t c_iflag; /* input mode flags */ | 41 | tcflag_t c_iflag; /* input mode flags */ |
31 | tcflag_t c_oflag; /* output mode flags */ | 42 | tcflag_t c_oflag; /* output mode flags */ |
@@ -138,6 +149,7 @@ struct ktermios { | |||
138 | #define HUPCL 0002000 | 149 | #define HUPCL 0002000 |
139 | #define CLOCAL 0004000 | 150 | #define CLOCAL 0004000 |
140 | #define CBAUDEX 0010000 | 151 | #define CBAUDEX 0010000 |
152 | #define BOTHER 0010000 | ||
141 | #define B57600 0010001 | 153 | #define B57600 0010001 |
142 | #define B115200 0010002 | 154 | #define B115200 0010002 |
143 | #define B230400 0010003 | 155 | #define B230400 0010003 |
@@ -153,10 +165,12 @@ struct ktermios { | |||
153 | #define B3000000 0010015 | 165 | #define B3000000 0010015 |
154 | #define B3500000 0010016 | 166 | #define B3500000 0010016 |
155 | #define B4000000 0010017 | 167 | #define B4000000 0010017 |
156 | #define CIBAUD 002003600000 /* input baud rate (not used) */ | 168 | #define CIBAUD 002003600000 /* input baud rate */ |
157 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ | 169 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ |
158 | #define CRTSCTS 020000000000 /* flow control */ | 170 | #define CRTSCTS 020000000000 /* flow control */ |
159 | 171 | ||
172 | #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ | ||
173 | |||
160 | /* c_lflag bits */ | 174 | /* c_lflag bits */ |
161 | #define ISIG 0000001 | 175 | #define ISIG 0000001 |
162 | #define ICANON 0000002 | 176 | #define ICANON 0000002 |
diff --git a/include/asm-ia64/termios.h b/include/asm-ia64/termios.h index 08750c2d3607..689d218c0c28 100644 --- a/include/asm-ia64/termios.h +++ b/include/asm-ia64/termios.h | |||
@@ -87,8 +87,10 @@ struct termio { | |||
87 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ | 87 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ |
88 | }) | 88 | }) |
89 | 89 | ||
90 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios)) | 90 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) |
91 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios)) | 91 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) |
92 | #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) | ||
93 | #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) | ||
92 | 94 | ||
93 | # endif /* __KERNEL__ */ | 95 | # endif /* __KERNEL__ */ |
94 | 96 | ||