mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
Merge branch 'master'
This commit is contained in:
@@ -44,7 +44,6 @@
|
||||
compiler and the textural representation of
|
||||
the tree that can be "compiled" by dtc.
|
||||
|
||||
|
||||
November 21, 2005: Rev 0.5
|
||||
- Additions/generalizations for 32-bit
|
||||
- Changed to reflect the new arch/powerpc
|
||||
@@ -1307,6 +1306,65 @@ platforms are moved over to use the flattened-device-tree model.
|
||||
};
|
||||
|
||||
|
||||
f) Freescale SOC USB controllers
|
||||
|
||||
The device node for a USB controller that is part of a Freescale
|
||||
SOC is as described in the document "Open Firmware Recommended
|
||||
Practice : Universal Serial Bus" with the following modifications
|
||||
and additions :
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "fsl-usb2-mph" for multi port host usb
|
||||
controllers, or "fsl-usb2-dr" for dual role usb controllers
|
||||
- phy_type : For multi port host usb controllers, should be one of
|
||||
"ulpi", or "serial". For dual role usb controllers, should be
|
||||
one of "ulpi", "utmi", "utmi_wide", or "serial".
|
||||
- reg : Offset and length of the register set for the device
|
||||
- port0 : boolean; if defined, indicates port0 is connected for
|
||||
fsl-usb2-mph compatible controllers. Either this property or
|
||||
"port1" (or both) must be defined for "fsl-usb2-mph" compatible
|
||||
controllers.
|
||||
- port1 : boolean; if defined, indicates port1 is connected for
|
||||
fsl-usb2-mph compatible controllers. Either this property or
|
||||
"port0" (or both) must be defined for "fsl-usb2-mph" compatible
|
||||
controllers.
|
||||
|
||||
Recommended properties :
|
||||
- interrupts : <a b> where a is the interrupt number and b is a
|
||||
field that represents an encoding of the sense and level
|
||||
information for the interrupt. This should be encoded based on
|
||||
the information in section 2) depending on the type of interrupt
|
||||
controller you have.
|
||||
- interrupt-parent : the phandle for the interrupt controller that
|
||||
services interrupts for this device.
|
||||
|
||||
Example multi port host usb controller device node :
|
||||
usb@22000 {
|
||||
device_type = "usb";
|
||||
compatible = "fsl-usb2-mph";
|
||||
reg = <22000 1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <27 1>;
|
||||
phy_type = "ulpi";
|
||||
port0;
|
||||
port1;
|
||||
};
|
||||
|
||||
Example dual role usb controller device node :
|
||||
usb@23000 {
|
||||
device_type = "usb";
|
||||
compatible = "fsl-usb2-dr";
|
||||
reg = <23000 1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <26 1>;
|
||||
phy = "ulpi";
|
||||
};
|
||||
|
||||
|
||||
More devices will be defined as this spec matures.
|
||||
|
||||
|
||||
|
||||
@@ -46,10 +46,11 @@
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
//#include <asm/debug-ll.h>
|
||||
|
||||
#include <asm/arch/regs-serial.h>
|
||||
#include <asm/arch/regs-lcd.h>
|
||||
|
||||
#include <asm/arch/h1940-latch.h>
|
||||
#include <asm/arch/fb.h>
|
||||
|
||||
#include <linux/serial_core.h>
|
||||
@@ -59,7 +60,12 @@
|
||||
#include "cpu.h"
|
||||
|
||||
static struct map_desc h1940_iodesc[] __initdata = {
|
||||
/* nothing here yet */
|
||||
[0] = {
|
||||
.virtual = (unsigned long)H1940_LATCH,
|
||||
.pfn = __phys_to_pfn(H1940_PA_LATCH),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
},
|
||||
};
|
||||
|
||||
#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK
|
||||
@@ -92,6 +98,25 @@ static struct s3c2410_uartcfg h1940_uartcfgs[] = {
|
||||
}
|
||||
};
|
||||
|
||||
/* Board control latch control */
|
||||
|
||||
static unsigned int latch_state = H1940_LATCH_DEFAULT;
|
||||
|
||||
void h1940_latch_control(unsigned int clear, unsigned int set)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
latch_state &= ~clear;
|
||||
latch_state |= set;
|
||||
|
||||
__raw_writel(latch_state, H1940_LATCH);
|
||||
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(h1940_latch_control);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
31
arch/arm/mach-s3c2410/s3c2400.h
Normal file
31
arch/arm/mach-s3c2410/s3c2400.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/* arch/arm/mach-s3c2410/s3c2400.h
|
||||
*
|
||||
* Copyright (c) 2004 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* Header file for S3C2400 cpu support
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* Modifications:
|
||||
* 09-Fev-2006 LCVR First version, based on s3c2410.h
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_CPU_S3C2400
|
||||
|
||||
extern int s3c2400_init(void);
|
||||
|
||||
extern void s3c2400_map_io(struct map_desc *mach_desc, int size);
|
||||
|
||||
extern void s3c2400_init_uarts(struct s3c2410_uartcfg *cfg, int no);
|
||||
|
||||
extern void s3c2400_init_clocks(int xtal);
|
||||
|
||||
#else
|
||||
#define s3c2400_init_clocks NULL
|
||||
#define s3c2400_init_uarts NULL
|
||||
#define s3c2400_map_io NULL
|
||||
#define s3c2400_init NULL
|
||||
#endif
|
||||
@@ -87,11 +87,7 @@ EXPORT_SYMBOL(cpu_online_map);
|
||||
cpumask_t cpu_callin_map;
|
||||
cpumask_t cpu_callout_map;
|
||||
EXPORT_SYMBOL(cpu_callout_map);
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
cpumask_t cpu_possible_map = CPU_MASK_ALL;
|
||||
#else
|
||||
cpumask_t cpu_possible_map;
|
||||
#endif
|
||||
EXPORT_SYMBOL(cpu_possible_map);
|
||||
static cpumask_t smp_commenced_mask;
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ static cpumask_t smp_commenced_mask = CPU_MASK_NONE;
|
||||
cpumask_t cpu_callin_map = CPU_MASK_NONE;
|
||||
cpumask_t cpu_callout_map = CPU_MASK_NONE;
|
||||
EXPORT_SYMBOL(cpu_callout_map);
|
||||
cpumask_t cpu_possible_map = CPU_MASK_ALL;
|
||||
cpumask_t cpu_possible_map = CPU_MASK_NONE;
|
||||
EXPORT_SYMBOL(cpu_possible_map);
|
||||
|
||||
/* The per processor IRQ masks (these are usually kept in sync) */
|
||||
|
||||
@@ -83,6 +83,12 @@ config GENERIC_TBSYNC
|
||||
default y if PPC32 && SMP
|
||||
default n
|
||||
|
||||
config DEFAULT_UIMAGE
|
||||
bool
|
||||
help
|
||||
Used to allow a board to specify it wants a uImage built by default
|
||||
default n
|
||||
|
||||
menu "Processor support"
|
||||
choice
|
||||
prompt "Processor Type"
|
||||
|
||||
@@ -142,6 +142,7 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
|
||||
# Default to zImage, override when needed
|
||||
defaultimage-y := zImage
|
||||
defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux
|
||||
defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage
|
||||
KBUILD_IMAGE := $(defaultimage-y)
|
||||
all: $(KBUILD_IMAGE)
|
||||
|
||||
@@ -167,6 +168,8 @@ endef
|
||||
|
||||
archclean:
|
||||
$(Q)$(MAKE) $(clean)=$(boot)
|
||||
|
||||
archmrproper:
|
||||
$(Q)rm -rf arch/$(ARCH)/include
|
||||
|
||||
archprepare: checkbin
|
||||
|
||||
@@ -12,10 +12,10 @@ endif
|
||||
|
||||
obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
|
||||
irq.o align.o signal_32.o pmc.o vdso.o \
|
||||
init_task.o process.o
|
||||
init_task.o process.o systbl.o
|
||||
obj-y += vdso32/
|
||||
obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \
|
||||
signal_64.o ptrace32.o systbl.o \
|
||||
signal_64.o ptrace32.o \
|
||||
paca.o cpu_setup_power4.o \
|
||||
firmware.o sysfs.o idle_64.o
|
||||
obj-$(CONFIG_PPC64) += vdso64/
|
||||
@@ -46,7 +46,7 @@ extra-$(CONFIG_8xx) := head_8xx.o
|
||||
extra-y += vmlinux.lds
|
||||
|
||||
obj-y += time.o prom.o traps.o setup-common.o udbg.o
|
||||
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o systbl.o
|
||||
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o
|
||||
obj-$(CONFIG_PPC64) += misc_64.o dma_64.o iommu.o
|
||||
obj-$(CONFIG_PPC_MULTIPLATFORM) += prom_init.o
|
||||
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
||||
|
||||
@@ -36,8 +36,6 @@
|
||||
#ifdef CONFIG_PPC64
|
||||
#define sys_sigpending sys_ni_syscall
|
||||
#define sys_old_getrlimit sys_ni_syscall
|
||||
#else
|
||||
#define ppc_rtas sys_ni_syscall
|
||||
#endif
|
||||
|
||||
_GLOBAL(sys_call_table)
|
||||
@@ -323,3 +321,4 @@ SYSCALL(spu_run)
|
||||
SYSCALL(spu_create)
|
||||
COMPAT_SYS(pselect6)
|
||||
COMPAT_SYS(ppoll)
|
||||
SYSCALL(unshare)
|
||||
|
||||
@@ -1048,286 +1048,3 @@ _GLOBAL(name) \
|
||||
blr
|
||||
|
||||
SYSCALL(execve)
|
||||
|
||||
/* Why isn't this a) automatic, b) written in 'C'? */
|
||||
.data
|
||||
.align 4
|
||||
_GLOBAL(sys_call_table)
|
||||
.long sys_restart_syscall /* 0 */
|
||||
.long sys_exit
|
||||
.long ppc_fork
|
||||
.long sys_read
|
||||
.long sys_write
|
||||
.long sys_open /* 5 */
|
||||
.long sys_close
|
||||
.long sys_waitpid
|
||||
.long sys_creat
|
||||
.long sys_link
|
||||
.long sys_unlink /* 10 */
|
||||
.long sys_execve
|
||||
.long sys_chdir
|
||||
.long sys_time
|
||||
.long sys_mknod
|
||||
.long sys_chmod /* 15 */
|
||||
.long sys_lchown
|
||||
.long sys_ni_syscall /* old break syscall holder */
|
||||
.long sys_stat
|
||||
.long sys_lseek
|
||||
.long sys_getpid /* 20 */
|
||||
.long sys_mount
|
||||
.long sys_oldumount
|
||||
.long sys_setuid
|
||||
.long sys_getuid
|
||||
.long sys_stime /* 25 */
|
||||
.long sys_ptrace
|
||||
.long sys_alarm
|
||||
.long sys_fstat
|
||||
.long sys_pause
|
||||
.long sys_utime /* 30 */
|
||||
.long sys_ni_syscall /* old stty syscall holder */
|
||||
.long sys_ni_syscall /* old gtty syscall holder */
|
||||
.long sys_access
|
||||
.long sys_nice
|
||||
.long sys_ni_syscall /* 35 */ /* old ftime syscall holder */
|
||||
.long sys_sync
|
||||
.long sys_kill
|
||||
.long sys_rename
|
||||
.long sys_mkdir
|
||||
.long sys_rmdir /* 40 */
|
||||
.long sys_dup
|
||||
.long sys_pipe
|
||||
.long sys_times
|
||||
.long sys_ni_syscall /* old prof syscall holder */
|
||||
.long sys_brk /* 45 */
|
||||
.long sys_setgid
|
||||
.long sys_getgid
|
||||
.long sys_signal
|
||||
.long sys_geteuid
|
||||
.long sys_getegid /* 50 */
|
||||
.long sys_acct
|
||||
.long sys_umount /* recycled never used phys() */
|
||||
.long sys_ni_syscall /* old lock syscall holder */
|
||||
.long sys_ioctl
|
||||
.long sys_fcntl /* 55 */
|
||||
.long sys_ni_syscall /* old mpx syscall holder */
|
||||
.long sys_setpgid
|
||||
.long sys_ni_syscall /* old ulimit syscall holder */
|
||||
.long sys_olduname
|
||||
.long sys_umask /* 60 */
|
||||
.long sys_chroot
|
||||
.long sys_ustat
|
||||
.long sys_dup2
|
||||
.long sys_getppid
|
||||
.long sys_getpgrp /* 65 */
|
||||
.long sys_setsid
|
||||
.long sys_sigaction
|
||||
.long sys_sgetmask
|
||||
.long sys_ssetmask
|
||||
.long sys_setreuid /* 70 */
|
||||
.long sys_setregid
|
||||
.long sys_sigsuspend
|
||||
.long sys_sigpending
|
||||
.long sys_sethostname
|
||||
.long sys_setrlimit /* 75 */
|
||||
.long sys_old_getrlimit
|
||||
.long sys_getrusage
|
||||
.long sys_gettimeofday
|
||||
.long sys_settimeofday
|
||||
.long sys_getgroups /* 80 */
|
||||
.long sys_setgroups
|
||||
.long ppc_select
|
||||
.long sys_symlink
|
||||
.long sys_lstat
|
||||
.long sys_readlink /* 85 */
|
||||
.long sys_uselib
|
||||
.long sys_swapon
|
||||
.long sys_reboot
|
||||
.long old_readdir
|
||||
.long sys_mmap /* 90 */
|
||||
.long sys_munmap
|
||||
.long sys_truncate
|
||||
.long sys_ftruncate
|
||||
.long sys_fchmod
|
||||
.long sys_fchown /* 95 */
|
||||
.long sys_getpriority
|
||||
.long sys_setpriority
|
||||
.long sys_ni_syscall /* old profil syscall holder */
|
||||
.long sys_statfs
|
||||
.long sys_fstatfs /* 100 */
|
||||
.long sys_ni_syscall
|
||||
.long sys_socketcall
|
||||
.long sys_syslog
|
||||
.long sys_setitimer
|
||||
.long sys_getitimer /* 105 */
|
||||
.long sys_newstat
|
||||
.long sys_newlstat
|
||||
.long sys_newfstat
|
||||
.long sys_uname
|
||||
.long sys_ni_syscall /* 110 */
|
||||
.long sys_vhangup
|
||||
.long sys_ni_syscall /* old 'idle' syscall */
|
||||
.long sys_ni_syscall
|
||||
.long sys_wait4
|
||||
.long sys_swapoff /* 115 */
|
||||
.long sys_sysinfo
|
||||
.long sys_ipc
|
||||
.long sys_fsync
|
||||
.long sys_sigreturn
|
||||
.long ppc_clone /* 120 */
|
||||
.long sys_setdomainname
|
||||
.long sys_newuname
|
||||
.long sys_ni_syscall
|
||||
.long sys_adjtimex
|
||||
.long sys_mprotect /* 125 */
|
||||
.long sys_sigprocmask
|
||||
.long sys_ni_syscall /* old sys_create_module */
|
||||
.long sys_init_module
|
||||
.long sys_delete_module
|
||||
.long sys_ni_syscall /* old sys_get_kernel_syms */ /* 130 */
|
||||
.long sys_quotactl
|
||||
.long sys_getpgid
|
||||
.long sys_fchdir
|
||||
.long sys_bdflush
|
||||
.long sys_sysfs /* 135 */
|
||||
.long sys_personality
|
||||
.long sys_ni_syscall /* for afs_syscall */
|
||||
.long sys_setfsuid
|
||||
.long sys_setfsgid
|
||||
.long sys_llseek /* 140 */
|
||||
.long sys_getdents
|
||||
.long ppc_select
|
||||
.long sys_flock
|
||||
.long sys_msync
|
||||
.long sys_readv /* 145 */
|
||||
.long sys_writev
|
||||
.long sys_getsid
|
||||
.long sys_fdatasync
|
||||
.long sys_sysctl
|
||||
.long sys_mlock /* 150 */
|
||||
.long sys_munlock
|
||||
.long sys_mlockall
|
||||
.long sys_munlockall
|
||||
.long sys_sched_setparam
|
||||
.long sys_sched_getparam /* 155 */
|
||||
.long sys_sched_setscheduler
|
||||
.long sys_sched_getscheduler
|
||||
.long sys_sched_yield
|
||||
.long sys_sched_get_priority_max
|
||||
.long sys_sched_get_priority_min /* 160 */
|
||||
.long sys_sched_rr_get_interval
|
||||
.long sys_nanosleep
|
||||
.long sys_mremap
|
||||
.long sys_setresuid
|
||||
.long sys_getresuid /* 165 */
|
||||
.long sys_ni_syscall /* old sys_query_module */
|
||||
.long sys_poll
|
||||
.long sys_nfsservctl
|
||||
.long sys_setresgid
|
||||
.long sys_getresgid /* 170 */
|
||||
.long sys_prctl
|
||||
.long sys_rt_sigreturn
|
||||
.long sys_rt_sigaction
|
||||
.long sys_rt_sigprocmask
|
||||
.long sys_rt_sigpending /* 175 */
|
||||
.long sys_rt_sigtimedwait
|
||||
.long sys_rt_sigqueueinfo
|
||||
.long sys_rt_sigsuspend
|
||||
.long sys_pread64
|
||||
.long sys_pwrite64 /* 180 */
|
||||
.long sys_chown
|
||||
.long sys_getcwd
|
||||
.long sys_capget
|
||||
.long sys_capset
|
||||
.long sys_sigaltstack /* 185 */
|
||||
.long sys_sendfile
|
||||
.long sys_ni_syscall /* streams1 */
|
||||
.long sys_ni_syscall /* streams2 */
|
||||
.long ppc_vfork
|
||||
.long sys_getrlimit /* 190 */
|
||||
.long sys_readahead
|
||||
.long sys_mmap2
|
||||
.long sys_truncate64
|
||||
.long sys_ftruncate64
|
||||
.long sys_stat64 /* 195 */
|
||||
.long sys_lstat64
|
||||
.long sys_fstat64
|
||||
.long sys_pciconfig_read
|
||||
.long sys_pciconfig_write
|
||||
.long sys_pciconfig_iobase /* 200 */
|
||||
.long sys_ni_syscall /* 201 - reserved - MacOnLinux - new */
|
||||
.long sys_getdents64
|
||||
.long sys_pivot_root
|
||||
.long sys_fcntl64
|
||||
.long sys_madvise /* 205 */
|
||||
.long sys_mincore
|
||||
.long sys_gettid
|
||||
.long sys_tkill
|
||||
.long sys_setxattr
|
||||
.long sys_lsetxattr /* 210 */
|
||||
.long sys_fsetxattr
|
||||
.long sys_getxattr
|
||||
.long sys_lgetxattr
|
||||
.long sys_fgetxattr
|
||||
.long sys_listxattr /* 215 */
|
||||
.long sys_llistxattr
|
||||
.long sys_flistxattr
|
||||
.long sys_removexattr
|
||||
.long sys_lremovexattr
|
||||
.long sys_fremovexattr /* 220 */
|
||||
.long sys_futex
|
||||
.long sys_sched_setaffinity
|
||||
.long sys_sched_getaffinity
|
||||
.long sys_ni_syscall
|
||||
.long sys_ni_syscall /* 225 - reserved for Tux */
|
||||
.long sys_sendfile64
|
||||
.long sys_io_setup
|
||||
.long sys_io_destroy
|
||||
.long sys_io_getevents
|
||||
.long sys_io_submit /* 230 */
|
||||
.long sys_io_cancel
|
||||
.long sys_set_tid_address
|
||||
.long sys_fadvise64
|
||||
.long sys_exit_group
|
||||
.long sys_lookup_dcookie /* 235 */
|
||||
.long sys_epoll_create
|
||||
.long sys_epoll_ctl
|
||||
.long sys_epoll_wait
|
||||
.long sys_remap_file_pages
|
||||
.long sys_timer_create /* 240 */
|
||||
.long sys_timer_settime
|
||||
.long sys_timer_gettime
|
||||
.long sys_timer_getoverrun
|
||||
.long sys_timer_delete
|
||||
.long sys_clock_settime /* 245 */
|
||||
.long sys_clock_gettime
|
||||
.long sys_clock_getres
|
||||
.long sys_clock_nanosleep
|
||||
.long sys_swapcontext
|
||||
.long sys_tgkill /* 250 */
|
||||
.long sys_utimes
|
||||
.long sys_statfs64
|
||||
.long sys_fstatfs64
|
||||
.long ppc_fadvise64_64
|
||||
.long sys_ni_syscall /* 255 - rtas (used on ppc64) */
|
||||
.long sys_debug_setcontext
|
||||
.long sys_ni_syscall /* 257 reserved for vserver */
|
||||
.long sys_ni_syscall /* 258 reserved for new sys_remap_file_pages */
|
||||
.long sys_ni_syscall /* 259 reserved for new sys_mbind */
|
||||
.long sys_ni_syscall /* 260 reserved for new sys_get_mempolicy */
|
||||
.long sys_ni_syscall /* 261 reserved for new sys_set_mempolicy */
|
||||
.long sys_mq_open
|
||||
.long sys_mq_unlink
|
||||
.long sys_mq_timedsend
|
||||
.long sys_mq_timedreceive /* 265 */
|
||||
.long sys_mq_notify
|
||||
.long sys_mq_getsetattr
|
||||
.long sys_kexec_load
|
||||
.long sys_add_key
|
||||
.long sys_request_key /* 270 */
|
||||
.long sys_keyctl
|
||||
.long sys_waitid
|
||||
.long sys_ioprio_set
|
||||
.long sys_ioprio_get
|
||||
.long sys_inotify_init /* 275 */
|
||||
.long sys_inotify_add_watch
|
||||
.long sys_inotify_rm_watch
|
||||
|
||||
@@ -195,9 +195,6 @@ sys32_sigaction(int sig, const struct old_sigaction32 __user *act,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
do_sigaction(int sig, const struct k_sigaction *act, struct k_sigaction *oact);
|
||||
|
||||
asmlinkage long
|
||||
sys32_rt_sigaction(int sig, const struct sigaction32 __user *act,
|
||||
struct sigaction32 __user *oact, size_t sigsetsize)
|
||||
|
||||
@@ -268,6 +268,8 @@ static struct tty_buffer *tty_buffer_alloc(size_t size)
|
||||
p->size = size;
|
||||
p->next = NULL;
|
||||
p->active = 0;
|
||||
p->commit = 0;
|
||||
p->read = 0;
|
||||
p->char_buf_ptr = (char *)(p->data);
|
||||
p->flag_buf_ptr = (unsigned char *)p->char_buf_ptr + size;
|
||||
/* printk("Flip create %p\n", p); */
|
||||
@@ -298,6 +300,8 @@ static struct tty_buffer *tty_buffer_find(struct tty_struct *tty, size_t size)
|
||||
*tbh = t->next;
|
||||
t->next = NULL;
|
||||
t->used = 0;
|
||||
t->commit = 0;
|
||||
t->read = 0;
|
||||
/* DEBUG ONLY */
|
||||
memset(t->data, '*', size);
|
||||
/* printk("Flip recycle %p\n", t); */
|
||||
@@ -335,6 +339,7 @@ int tty_buffer_request_room(struct tty_struct *tty, size_t size)
|
||||
if (b != NULL) {
|
||||
b->next = n;
|
||||
b->active = 0;
|
||||
b->commit = b->used;
|
||||
} else
|
||||
tty->buf.head = n;
|
||||
tty->buf.tail = n;
|
||||
@@ -2752,6 +2757,9 @@ static void flush_to_ldisc(void *private_)
|
||||
unsigned long flags;
|
||||
struct tty_ldisc *disc;
|
||||
struct tty_buffer *tbuf;
|
||||
int count;
|
||||
char *char_buf;
|
||||
unsigned char *flag_buf;
|
||||
|
||||
disc = tty_ldisc_ref(tty);
|
||||
if (disc == NULL) /* !TTY_LDISC */
|
||||
@@ -2765,16 +2773,20 @@ static void flush_to_ldisc(void *private_)
|
||||
goto out;
|
||||
}
|
||||
spin_lock_irqsave(&tty->buf.lock, flags);
|
||||
while((tbuf = tty->buf.head) != NULL && !tbuf->active) {
|
||||
while((tbuf = tty->buf.head) != NULL) {
|
||||
while ((count = tbuf->commit - tbuf->read) != 0) {
|
||||
char_buf = tbuf->char_buf_ptr + tbuf->read;
|
||||
flag_buf = tbuf->flag_buf_ptr + tbuf->read;
|
||||
tbuf->read += count;
|
||||
spin_unlock_irqrestore(&tty->buf.lock, flags);
|
||||
disc->receive_buf(tty, char_buf, flag_buf, count);
|
||||
spin_lock_irqsave(&tty->buf.lock, flags);
|
||||
}
|
||||
if (tbuf->active)
|
||||
break;
|
||||
tty->buf.head = tbuf->next;
|
||||
if (tty->buf.head == NULL)
|
||||
tty->buf.tail = NULL;
|
||||
spin_unlock_irqrestore(&tty->buf.lock, flags);
|
||||
/* printk("Process buffer %p for %d\n", tbuf, tbuf->used); */
|
||||
disc->receive_buf(tty, tbuf->char_buf_ptr,
|
||||
tbuf->flag_buf_ptr,
|
||||
tbuf->used);
|
||||
spin_lock_irqsave(&tty->buf.lock, flags);
|
||||
tty_buffer_free(tty, tbuf);
|
||||
}
|
||||
spin_unlock_irqrestore(&tty->buf.lock, flags);
|
||||
@@ -2871,8 +2883,10 @@ void tty_flip_buffer_push(struct tty_struct *tty)
|
||||
{
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&tty->buf.lock, flags);
|
||||
if (tty->buf.tail != NULL)
|
||||
if (tty->buf.tail != NULL) {
|
||||
tty->buf.tail->active = 0;
|
||||
tty->buf.tail->commit = tty->buf.tail->used;
|
||||
}
|
||||
spin_unlock_irqrestore(&tty->buf.lock, flags);
|
||||
|
||||
if (tty->low_latency)
|
||||
|
||||
@@ -148,7 +148,7 @@ config IPW2100
|
||||
In order to use this driver, you will need a firmware image for it.
|
||||
You can obtain the firmware from
|
||||
<http://ipw2100.sf.net/>. Once you have the firmware image, you
|
||||
will need to place it in /etc/firmware.
|
||||
will need to place it in /lib/firmware.
|
||||
|
||||
You will also very likely need the Wireless Tools in order to
|
||||
configure your card:
|
||||
|
||||
@@ -1717,11 +1717,9 @@ ioc4_change_speed(struct uart_port *the_port,
|
||||
}
|
||||
|
||||
if (cflag & CRTSCTS) {
|
||||
info->flags |= ASYNC_CTS_FLOW;
|
||||
port->ip_sscr |= IOC4_SSCR_HFC_EN;
|
||||
}
|
||||
else {
|
||||
info->flags &= ~ASYNC_CTS_FLOW;
|
||||
port->ip_sscr &= ~IOC4_SSCR_HFC_EN;
|
||||
}
|
||||
writel(port->ip_sscr, &port->ip_serial_regs->sscr);
|
||||
@@ -1760,18 +1758,6 @@ static inline int ic4_startup_local(struct uart_port *the_port)
|
||||
|
||||
info = the_port->info;
|
||||
|
||||
if (info->tty) {
|
||||
set_bit(TTY_IO_ERROR, &info->tty->flags);
|
||||
clear_bit(TTY_IO_ERROR, &info->tty->flags);
|
||||
if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
|
||||
info->tty->alt_speed = 57600;
|
||||
if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI)
|
||||
info->tty->alt_speed = 115200;
|
||||
if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_SHI)
|
||||
info->tty->alt_speed = 230400;
|
||||
if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_WARP)
|
||||
info->tty->alt_speed = 460800;
|
||||
}
|
||||
local_open(port);
|
||||
|
||||
/* set the speed of the serial port */
|
||||
|
||||
64
include/asm-arm/arch-s3c2410/h1940-latch.h
Normal file
64
include/asm-arm/arch-s3c2410/h1940-latch.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/* linux/include/asm-arm/arch-s3c2410/h1940-latch.h
|
||||
*
|
||||
* (c) 2005 Simtec Electronics
|
||||
* http://armlinux.simtec.co.uk/
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* iPAQ H1940 series - latch definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_H1940_LATCH_H
|
||||
#define __ASM_ARCH_H1940_LATCH_H
|
||||
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#define H1940_LATCH ((void __iomem *)0xF8000000)
|
||||
#else
|
||||
#define H1940_LATCH 0xF8000000
|
||||
#endif
|
||||
|
||||
#define H1940_PA_LATCH (S3C2410_CS2)
|
||||
|
||||
/* SD layer latch */
|
||||
|
||||
#define H1940_LATCH_SDQ1 (1<<16)
|
||||
#define H1940_LATCH_LCD_P1 (1<<17)
|
||||
#define H1940_LATCH_LCD_P2 (1<<18)
|
||||
#define H1940_LATCH_LCD_P3 (1<<19)
|
||||
#define H1940_LATCH_MAX1698_nSHUTDOWN (1<<20) /* LCD backlight */
|
||||
#define H1940_LATCH_LED_RED (1<<21)
|
||||
#define H1940_LATCH_SDQ7 (1<<22)
|
||||
#define H1940_LATCH_USB_DP (1<<23)
|
||||
|
||||
/* CPU layer latch */
|
||||
|
||||
#define H1940_LATCH_UDA_POWER (1<<24)
|
||||
#define H1940_LATCH_AUDIO_POWER (1<<25)
|
||||
#define H1940_LATCH_SM803_ENABLE (1<<26)
|
||||
#define H1940_LATCH_LCD_P4 (1<<27)
|
||||
#define H1940_LATCH_CPUQ5 (1<<28) /* untraced */
|
||||
#define H1940_LATCH_BLUETOOTH_POWER (1<<29) /* active high */
|
||||
#define H1940_LATCH_LED_GREEN (1<<30)
|
||||
#define H1940_LATCH_LED_FLASH (1<<31)
|
||||
|
||||
/* default settings */
|
||||
|
||||
#define H1940_LATCH_DEFAULT \
|
||||
H1940_LATCH_LCD_P4 | \
|
||||
H1940_LATCH_SM803_ENABLE | \
|
||||
H1940_LATCH_SDQ1 | \
|
||||
H1940_LATCH_LCD_P1 | \
|
||||
H1940_LATCH_LCD_P2 | \
|
||||
H1940_LATCH_LCD_P3 | \
|
||||
H1940_LATCH_MAX1698_nSHUTDOWN | \
|
||||
H1940_LATCH_CPUQ5
|
||||
|
||||
/* control functions */
|
||||
|
||||
extern void h1940_latch_control(unsigned int clear, unsigned int set);
|
||||
|
||||
#endif /* __ASM_ARCH_H1940_LATCH_H */
|
||||
@@ -300,8 +300,9 @@
|
||||
#define __NR_spu_create 279
|
||||
#define __NR_pselect6 280
|
||||
#define __NR_ppoll 281
|
||||
#define __NR_unshare 282
|
||||
|
||||
#define __NR_syscalls 282
|
||||
#define __NR_syscalls 283
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define __NR__exit __NR_exit
|
||||
|
||||
@@ -328,7 +328,7 @@ static inline void __cpus_remap(cpumask_t *dstp, const cpumask_t *srcp,
|
||||
* bitmap of size NR_CPUS.
|
||||
*
|
||||
* #ifdef CONFIG_HOTPLUG_CPU
|
||||
* cpu_possible_map - all NR_CPUS bits set
|
||||
* cpu_possible_map - has bit 'cpu' set iff cpu is populatable
|
||||
* cpu_present_map - has bit 'cpu' set iff cpu is populated
|
||||
* cpu_online_map - has bit 'cpu' set iff cpu available to scheduler
|
||||
* #else
|
||||
|
||||
@@ -153,8 +153,10 @@ static inline void con_schedule_flip(struct tty_struct *t)
|
||||
{
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&t->buf.lock, flags);
|
||||
if (t->buf.tail != NULL)
|
||||
if (t->buf.tail != NULL) {
|
||||
t->buf.tail->active = 0;
|
||||
t->buf.tail->commit = t->buf.tail->used;
|
||||
}
|
||||
spin_unlock_irqrestore(&t->buf.lock, flags);
|
||||
schedule_work(&t->buf.work);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <linux/list.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/compat.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <asm/kexec.h>
|
||||
|
||||
/* Verify architecture specific macros are defined */
|
||||
|
||||
@@ -160,7 +160,8 @@ extern int netlink_unregister_notifier(struct notifier_block *nb);
|
||||
|
||||
/* finegrained unicast helpers: */
|
||||
struct sock *netlink_getsockbyfilp(struct file *filp);
|
||||
int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, long timeo);
|
||||
int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock,
|
||||
long timeo, struct sock *ssk);
|
||||
void netlink_detachskb(struct sock *sk, struct sk_buff *skb);
|
||||
int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user