Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
eff68d45
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
eff68d45
编写于
9月 13, 2006
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' into upstream-fixes
上级
6a951698
95064a75
变更
55
隐藏空白更改
内联
并排
Showing
55 changed file
with
352 addition
and
149 deletion
+352
-149
Makefile
Makefile
+1
-1
arch/i386/kernel/Makefile
arch/i386/kernel/Makefile
+0
-1
arch/ia64/Kconfig
arch/ia64/Kconfig
+4
-0
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+4
-0
arch/s390/Kconfig
arch/s390/Kconfig
+4
-0
arch/sh64/Makefile
arch/sh64/Makefile
+0
-1
arch/sh64/kernel/process.c
arch/sh64/kernel/process.c
+3
-0
arch/sh64/mach-cayman/setup.c
arch/sh64/mach-cayman/setup.c
+4
-2
arch/sh64/mm/ioremap.c
arch/sh64/mm/ioremap.c
+3
-1
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+4
-0
arch/sparc64/kernel/Makefile
arch/sparc64/kernel/Makefile
+3
-0
arch/sparc64/kernel/audit.c
arch/sparc64/kernel/audit.c
+66
-0
arch/sparc64/kernel/compat_audit.c
arch/sparc64/kernel/compat_audit.c
+37
-0
arch/x86_64/Kconfig
arch/x86_64/Kconfig
+4
-0
drivers/media/Kconfig
drivers/media/Kconfig
+1
-1
drivers/media/common/saa7146_video.c
drivers/media/common/saa7146_video.c
+2
-0
drivers/media/dvb/b2c2/Kconfig
drivers/media/dvb/b2c2/Kconfig
+1
-0
drivers/media/dvb/bt8xx/Kconfig
drivers/media/dvb/bt8xx/Kconfig
+1
-0
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/Kconfig
+1
-0
drivers/media/dvb/frontends/Kconfig
drivers/media/dvb/frontends/Kconfig
+32
-28
drivers/media/dvb/frontends/Makefile
drivers/media/dvb/frontends/Makefile
+1
-1
drivers/media/dvb/pluto2/Kconfig
drivers/media/dvb/pluto2/Kconfig
+1
-0
drivers/media/dvb/ttpci/Kconfig
drivers/media/dvb/ttpci/Kconfig
+5
-0
drivers/media/dvb/ttusb-budget/Kconfig
drivers/media/dvb/ttusb-budget/Kconfig
+2
-1
drivers/media/video/Kconfig
drivers/media/video/Kconfig
+4
-4
drivers/media/video/bt8xx/bttv-input.c
drivers/media/video/bt8xx/bttv-input.c
+1
-0
drivers/media/video/cx88/Kconfig
drivers/media/video/cx88/Kconfig
+1
-0
drivers/media/video/saa7134/Kconfig
drivers/media/video/saa7134/Kconfig
+1
-0
drivers/media/video/tuner-types.c
drivers/media/video/tuner-types.c
+8
-2
drivers/media/video/zoran.h
drivers/media/video/zoran.h
+1
-1
drivers/media/video/zoran_driver.c
drivers/media/video/zoran_driver.c
+11
-11
drivers/serial/sh-sci.c
drivers/serial/sh-sci.c
+2
-2
drivers/usb/input/yealink.c
drivers/usb/input/yealink.c
+6
-6
drivers/usb/serial/usb-serial.c
drivers/usb/serial/usb-serial.c
+3
-1
fs/cifs/readdir.c
fs/cifs/readdir.c
+7
-4
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_aops.c
+13
-5
fs/xfs/linux-2.6/xfs_lrw.c
fs/xfs/linux-2.6/xfs_lrw.c
+22
-5
fs/xfs/quota/xfs_qm_bhv.c
fs/xfs/quota/xfs_qm_bhv.c
+1
-1
fs/xfs/xfs_alloc.h
fs/xfs/xfs_alloc.h
+20
-0
fs/xfs/xfs_fsops.c
fs/xfs/xfs_fsops.c
+10
-6
fs/xfs/xfs_mount.c
fs/xfs/xfs_mount.c
+8
-24
fs/xfs/xfs_vfsops.c
fs/xfs/xfs_vfsops.c
+2
-1
include/asm-sh64/bug.h
include/asm-sh64/bug.h
+4
-12
include/asm-sh64/byteorder.h
include/asm-sh64/byteorder.h
+2
-2
include/asm-sh64/dma-mapping.h
include/asm-sh64/dma-mapping.h
+12
-4
include/asm-sh64/io.h
include/asm-sh64/io.h
+7
-0
include/asm-sh64/ptrace.h
include/asm-sh64/ptrace.h
+1
-1
include/asm-sh64/system.h
include/asm-sh64/system.h
+1
-1
include/asm-sh64/uaccess.h
include/asm-sh64/uaccess.h
+7
-12
include/linux/videodev.h
include/linux/videodev.h
+1
-2
include/linux/videodev2.h
include/linux/videodev2.h
+0
-2
include/media/v4l2-dev.h
include/media/v4l2-dev.h
+4
-3
lib/Kconfig
lib/Kconfig
+5
-0
lib/Makefile
lib/Makefile
+1
-0
lib/audit.c
lib/audit.c
+2
-0
未找到文件。
Makefile
浏览文件 @
eff68d45
VERSION
=
2
VERSION
=
2
PATCHLEVEL
=
6
PATCHLEVEL
=
6
SUBLEVEL
=
18
SUBLEVEL
=
18
EXTRAVERSION
=
-rc
6
EXTRAVERSION
=
-rc
7
NAME
=
Crazed Snow-Weasel
NAME
=
Crazed Snow-Weasel
# *DOCUMENTATION*
# *DOCUMENTATION*
...
...
arch/i386/kernel/Makefile
浏览文件 @
eff68d45
...
@@ -39,7 +39,6 @@ obj-$(CONFIG_VM86) += vm86.o
...
@@ -39,7 +39,6 @@ obj-$(CONFIG_VM86) += vm86.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_HPET_TIMER)
+=
hpet.o
obj-$(CONFIG_HPET_TIMER)
+=
hpet.o
obj-$(CONFIG_K8_NB)
+=
k8.o
obj-$(CONFIG_K8_NB)
+=
k8.o
obj-$(CONFIG_AUDIT)
+=
audit.o
EXTRA_AFLAGS
:=
-traditional
EXTRA_AFLAGS
:=
-traditional
...
...
arch/ia64/Kconfig
浏览文件 @
eff68d45
...
@@ -75,6 +75,10 @@ config DMA_IS_NORMAL
...
@@ -75,6 +75,10 @@ config DMA_IS_NORMAL
depends on IA64_SGI_SN2
depends on IA64_SGI_SN2
default y
default y
config AUDIT_ARCH
bool
default y
choice
choice
prompt "System type"
prompt "System type"
default IA64_GENERIC
default IA64_GENERIC
...
...
arch/powerpc/Kconfig
浏览文件 @
eff68d45
...
@@ -95,6 +95,10 @@ config GENERIC_TBSYNC
...
@@ -95,6 +95,10 @@ config GENERIC_TBSYNC
default y if PPC32 && SMP
default y if PPC32 && SMP
default n
default n
config AUDIT_ARCH
bool
default y
config DEFAULT_UIMAGE
config DEFAULT_UIMAGE
bool
bool
help
help
...
...
arch/s390/Kconfig
浏览文件 @
eff68d45
...
@@ -118,6 +118,10 @@ config SYSVIPC_COMPAT
...
@@ -118,6 +118,10 @@ config SYSVIPC_COMPAT
depends on COMPAT && SYSVIPC
depends on COMPAT && SYSVIPC
default y
default y
config AUDIT_ARCH
bool
default y
comment "Code generation options"
comment "Code generation options"
choice
choice
...
...
arch/sh64/Makefile
浏览文件 @
eff68d45
...
@@ -26,7 +26,6 @@ LDFLAGS += -EB -mshelf32_linux
...
@@ -26,7 +26,6 @@ LDFLAGS += -EB -mshelf32_linux
endif
endif
# No requirements for endianess support from AFLAGS, 'as' always run through gcc
# No requirements for endianess support from AFLAGS, 'as' always run through gcc
AFLAGS
+=
-m5
-isa
=
sh64
-traditional
CFLAGS
+=
$
(
cpu-y
)
CFLAGS
+=
$
(
cpu-y
)
LDFLAGS_vmlinux
+=
--defsym
phys_stext
=
_stext-
$(CONFIG_CACHED_MEMORY_OFFSET)
\
LDFLAGS_vmlinux
+=
--defsym
phys_stext
=
_stext-
$(CONFIG_CACHED_MEMORY_OFFSET)
\
...
...
arch/sh64/kernel/process.c
浏览文件 @
eff68d45
...
@@ -355,6 +355,9 @@ void machine_power_off(void)
...
@@ -355,6 +355,9 @@ void machine_power_off(void)
enter_deep_standby
();
enter_deep_standby
();
}
}
void
(
*
pm_power_off
)(
void
)
=
machine_power_off
;
EXPORT_SYMBOL
(
pm_power_off
);
void
show_regs
(
struct
pt_regs
*
regs
)
void
show_regs
(
struct
pt_regs
*
regs
)
{
{
unsigned
long
long
ah
,
al
,
bh
,
bl
,
ch
,
cl
;
unsigned
long
long
ah
,
al
,
bh
,
bl
,
ch
,
cl
;
...
...
arch/sh64/mach-cayman/setup.c
浏览文件 @
eff68d45
...
@@ -112,8 +112,10 @@ struct resource io_resources[] = {
...
@@ -112,8 +112,10 @@ struct resource io_resources[] = {
};
};
struct
resource
kram_resources
[]
=
{
struct
resource
kram_resources
[]
=
{
{
"Kernel code"
,
0
,
0
},
/* These must be last in the array */
/* These must be last in the array */
{
"Kernel data"
,
0
,
0
}
/* These must be last in the array */
{
.
name
=
"Kernel code"
,
.
start
=
0
,
.
end
=
0
},
/* These must be last in the array */
{
.
name
=
"Kernel data"
,
.
start
=
0
,
.
end
=
0
}
};
};
struct
resource
xram_resources
[]
=
{
struct
resource
xram_resources
[]
=
{
...
...
arch/sh64/mm/ioremap.c
浏览文件 @
eff68d45
...
@@ -449,7 +449,9 @@ ioremap_proc_info(char *buf, char **start, off_t fpos, int length, int *eof,
...
@@ -449,7 +449,9 @@ ioremap_proc_info(char *buf, char **start, off_t fpos, int length, int *eof,
if
(
p
+
32
>=
e
)
/* Better than nothing */
if
(
p
+
32
>=
e
)
/* Better than nothing */
break
;
break
;
if
((
nm
=
r
->
name
)
==
0
)
nm
=
"???"
;
if
((
nm
=
r
->
name
)
==
0
)
nm
=
"???"
;
p
+=
sprintf
(
p
,
"%08lx-%08lx: %s
\n
"
,
r
->
start
,
r
->
end
,
nm
);
p
+=
sprintf
(
p
,
"%08lx-%08lx: %s
\n
"
,
(
unsigned
long
)
r
->
start
,
(
unsigned
long
)
r
->
end
,
nm
);
}
}
return
p
-
buf
;
return
p
-
buf
;
...
...
arch/sparc64/Kconfig
浏览文件 @
eff68d45
...
@@ -34,6 +34,10 @@ config ARCH_MAY_HAVE_PC_FDC
...
@@ -34,6 +34,10 @@ config ARCH_MAY_HAVE_PC_FDC
bool
bool
default y
default y
config AUDIT_ARCH
bool
default y
choice
choice
prompt "Kernel page size"
prompt "Kernel page size"
default SPARC64_PAGE_SIZE_8KB
default SPARC64_PAGE_SIZE_8KB
...
...
arch/sparc64/kernel/Makefile
浏览文件 @
eff68d45
...
@@ -25,6 +25,9 @@ obj-$(CONFIG_MODULES) += module.o
...
@@ -25,6 +25,9 @@ obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_US3_FREQ)
+=
us3_cpufreq.o
obj-$(CONFIG_US3_FREQ)
+=
us3_cpufreq.o
obj-$(CONFIG_US2E_FREQ)
+=
us2e_cpufreq.o
obj-$(CONFIG_US2E_FREQ)
+=
us2e_cpufreq.o
obj-$(CONFIG_KPROBES)
+=
kprobes.o
obj-$(CONFIG_KPROBES)
+=
kprobes.o
obj-$(CONFIG_AUDIT)
+=
audit.o
obj-$(CONFIG_AUDIT)$(CONFIG_SPARC32_COMPAT)
+=
compat_audit.o
obj-y
+=
$
(
obj-yy
)
ifdef
CONFIG_SUNOS_EMUL
ifdef
CONFIG_SUNOS_EMUL
obj-y
+=
sys_sunos32.o sunos_ioctl32.o
obj-y
+=
sys_sunos32.o sunos_ioctl32.o
...
...
arch/sparc64/kernel/audit.c
0 → 100644
浏览文件 @
eff68d45
#include <linux/init.h>
#include <linux/types.h>
#include <linux/audit.h>
#include <asm/unistd.h>
static
unsigned
dir_class
[]
=
{
#include <asm-generic/audit_dir_write.h>
~
0U
};
static
unsigned
read_class
[]
=
{
#include <asm-generic/audit_read.h>
~
0U
};
static
unsigned
write_class
[]
=
{
#include <asm-generic/audit_write.h>
~
0U
};
static
unsigned
chattr_class
[]
=
{
#include <asm-generic/audit_change_attr.h>
~
0U
};
int
audit_classify_syscall
(
int
abi
,
unsigned
syscall
)
{
#ifdef CONFIG_SPARC32_COMPAT
extern
int
sparc32_classify_syscall
(
unsigned
);
if
(
abi
==
AUDIT_ARCH_SPARC
)
return
sparc32_classify_syscall
(
syscall
);
#endif
switch
(
syscall
)
{
case
__NR_open
:
return
2
;
case
__NR_openat
:
return
3
;
case
__NR_socketcall
:
return
4
;
case
__NR_execve
:
return
5
;
default:
return
0
;
}
}
static
int
__init
audit_classes_init
(
void
)
{
#ifdef CONFIG_SPARC32_COMPAT
extern
__u32
sparc32_dir_class
[];
extern
__u32
sparc32_write_class
[];
extern
__u32
sparc32_read_class
[];
extern
__u32
sparc32_chattr_class
[];
audit_register_class
(
AUDIT_CLASS_WRITE_32
,
sparc32_write_class
);
audit_register_class
(
AUDIT_CLASS_READ_32
,
sparc32_read_class
);
audit_register_class
(
AUDIT_CLASS_DIR_WRITE_32
,
sparc32_dir_class
);
audit_register_class
(
AUDIT_CLASS_CHATTR_32
,
sparc32_chattr_class
);
#endif
audit_register_class
(
AUDIT_CLASS_WRITE
,
write_class
);
audit_register_class
(
AUDIT_CLASS_READ
,
read_class
);
audit_register_class
(
AUDIT_CLASS_DIR_WRITE
,
dir_class
);
audit_register_class
(
AUDIT_CLASS_CHATTR
,
chattr_class
);
return
0
;
}
__initcall
(
audit_classes_init
);
arch/sparc64/kernel/compat_audit.c
0 → 100644
浏览文件 @
eff68d45
#include <asm-sparc/unistd.h>
unsigned
sparc32_dir_class
[]
=
{
#include <asm-generic/audit_dir_write.h>
~
0U
};
unsigned
sparc32_chattr_class
[]
=
{
#include <asm-generic/audit_change_attr.h>
~
0U
};
unsigned
sparc32_write_class
[]
=
{
#include <asm-generic/audit_write.h>
~
0U
};
unsigned
sparc32_read_class
[]
=
{
#include <asm-generic/audit_read.h>
~
0U
};
int
sparc32_classify_syscall
(
unsigned
syscall
)
{
switch
(
syscall
)
{
case
__NR_open
:
return
2
;
case
__NR_openat
:
return
3
;
case
__NR_socketcall
:
return
4
;
case
__NR_execve
:
return
5
;
default:
return
1
;
}
}
arch/x86_64/Kconfig
浏览文件 @
eff68d45
...
@@ -85,6 +85,10 @@ config DMI
...
@@ -85,6 +85,10 @@ config DMI
bool
bool
default y
default y
config AUDIT_ARCH
bool
default y
source "init/Kconfig"
source "init/Kconfig"
...
...
drivers/media/Kconfig
浏览文件 @
eff68d45
...
@@ -53,7 +53,7 @@ config VIDEO_V4L1_COMPAT
...
@@ -53,7 +53,7 @@ config VIDEO_V4L1_COMPAT
If you are unsure as to whether this is required, answer Y.
If you are unsure as to whether this is required, answer Y.
config VIDEO_V4L2
config VIDEO_V4L2
tristate
bool
default y
default y
source "drivers/media/video/Kconfig"
source "drivers/media/video/Kconfig"
...
...
drivers/media/common/saa7146_video.c
浏览文件 @
eff68d45
...
@@ -1190,6 +1190,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
...
@@ -1190,6 +1190,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
}
}
return
err
;
return
err
;
}
}
#ifdef CONFIG_VIDEO_V4L1_COMPAT
case
VIDIOCGMBUF
:
case
VIDIOCGMBUF
:
{
{
struct
video_mbuf
*
mbuf
=
arg
;
struct
video_mbuf
*
mbuf
=
arg
;
...
@@ -1218,6 +1219,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
...
@@ -1218,6 +1219,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
mutex_unlock
(
&
q
->
lock
);
mutex_unlock
(
&
q
->
lock
);
return
0
;
return
0
;
}
}
#endif
default:
default:
return
v4l_compat_translate_ioctl
(
inode
,
file
,
cmd
,
arg
,
return
v4l_compat_translate_ioctl
(
inode
,
file
,
cmd
,
arg
,
saa7146_video_do_ioctl
);
saa7146_video_do_ioctl
);
...
...
drivers/media/dvb/b2c2/Kconfig
浏览文件 @
eff68d45
config DVB_B2C2_FLEXCOP
config DVB_B2C2_FLEXCOP
tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters"
tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters"
depends on DVB_CORE && I2C
depends on DVB_CORE && I2C
select DVB_PLL
select DVB_STV0299
select DVB_STV0299
select DVB_MT352
select DVB_MT352
select DVB_MT312
select DVB_MT312
...
...
drivers/media/dvb/bt8xx/Kconfig
浏览文件 @
eff68d45
config DVB_BT8XX
config DVB_BT8XX
tristate "BT8xx based PCI cards"
tristate "BT8xx based PCI cards"
depends on DVB_CORE && PCI && I2C && VIDEO_BT848
depends on DVB_CORE && PCI && I2C && VIDEO_BT848
select DVB_PLL
select DVB_MT352
select DVB_MT352
select DVB_SP887X
select DVB_SP887X
select DVB_NXT6000
select DVB_NXT6000
...
...
drivers/media/dvb/dvb-usb/Kconfig
浏览文件 @
eff68d45
...
@@ -2,6 +2,7 @@ config DVB_USB
...
@@ -2,6 +2,7 @@ config DVB_USB
tristate "Support for various USB DVB devices"
tristate "Support for various USB DVB devices"
depends on DVB_CORE && USB && I2C
depends on DVB_CORE && USB && I2C
select FW_LOADER
select FW_LOADER
select DVB_PLL
help
help
By enabling this you will be able to choose the various supported
By enabling this you will be able to choose the various supported
USB1.1 and USB2.0 DVB devices.
USB1.1 and USB2.0 DVB devices.
...
...
drivers/media/dvb/frontends/Kconfig
浏览文件 @
eff68d45
...
@@ -6,43 +6,43 @@ comment "DVB-S (satellite) frontends"
...
@@ -6,43 +6,43 @@ comment "DVB-S (satellite) frontends"
config DVB_STV0299
config DVB_STV0299
tristate "ST STV0299 based"
tristate "ST STV0299 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_CX24110
config DVB_CX24110
tristate "Conexant CX24110 based"
tristate "Conexant CX24110 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_CX24123
config DVB_CX24123
tristate "Conexant CX24123 based"
tristate "Conexant CX24123 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_TDA8083
config DVB_TDA8083
tristate "Philips TDA8083 based"
tristate "Philips TDA8083 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_MT312
config DVB_MT312
tristate "Zarlink VP310/MT312 based"
tristate "Zarlink VP310/MT312 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_VES1X93
config DVB_VES1X93
tristate "VLSI VES1893 or VES1993 based"
tristate "VLSI VES1893 or VES1993 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_S5H1420
config DVB_S5H1420
tristate "Samsung S5H1420 based"
tristate "Samsung S5H1420 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-S tuner module. Say Y when you want to support this frontend.
A DVB-S tuner module. Say Y when you want to support this frontend.
...
@@ -51,7 +51,7 @@ comment "DVB-T (terrestrial) frontends"
...
@@ -51,7 +51,7 @@ comment "DVB-T (terrestrial) frontends"
config DVB_SP8870
config DVB_SP8870
tristate "Spase sp8870 based"
tristate "Spase sp8870 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
...
@@ -63,7 +63,7 @@ config DVB_SP8870
...
@@ -63,7 +63,7 @@ config DVB_SP8870
config DVB_SP887X
config DVB_SP887X
tristate "Spase sp887x based"
tristate "Spase sp887x based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
...
@@ -75,25 +75,25 @@ config DVB_SP887X
...
@@ -75,25 +75,25 @@ config DVB_SP887X
config DVB_CX22700
config DVB_CX22700
tristate "Conexant CX22700 based"
tristate "Conexant CX22700 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_CX22702
config DVB_CX22702
tristate "Conexant cx22702 demodulator (OFDM)"
tristate "Conexant cx22702 demodulator (OFDM)"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_L64781
config DVB_L64781
tristate "LSI L64781"
tristate "LSI L64781"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_TDA1004X
config DVB_TDA1004X
tristate "Philips TDA10045H/TDA10046H based"
tristate "Philips TDA10045H/TDA10046H based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
...
@@ -106,32 +106,32 @@ config DVB_TDA1004X
...
@@ -106,32 +106,32 @@ config DVB_TDA1004X
config DVB_NXT6000
config DVB_NXT6000
tristate "NxtWave Communications NXT6000 based"
tristate "NxtWave Communications NXT6000 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_MT352
config DVB_MT352
tristate "Zarlink MT352 based"
tristate "Zarlink MT352 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_ZL10353
config DVB_ZL10353
tristate "Zarlink ZL10353 based"
tristate "Zarlink ZL10353 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Say Y when you want to support this frontend.
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_DIB3000MB
config DVB_DIB3000MB
tristate "DiBcom 3000M-B"
tristate "DiBcom 3000M-B"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
to support this frontend.
to support this frontend.
config DVB_DIB3000MC
config DVB_DIB3000MC
tristate "DiBcom 3000P/M-C"
tristate "DiBcom 3000P/M-C"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
to support this frontend.
to support this frontend.
...
@@ -141,19 +141,19 @@ comment "DVB-C (cable) frontends"
...
@@ -141,19 +141,19 @@ comment "DVB-C (cable) frontends"
config DVB_VES1820
config DVB_VES1820
tristate "VLSI VES1820 based"
tristate "VLSI VES1820 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-C tuner module. Say Y when you want to support this frontend.
A DVB-C tuner module. Say Y when you want to support this frontend.
config DVB_TDA10021
config DVB_TDA10021
tristate "Philips TDA10021 based"
tristate "Philips TDA10021 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-C tuner module. Say Y when you want to support this frontend.
A DVB-C tuner module. Say Y when you want to support this frontend.
config DVB_STV0297
config DVB_STV0297
tristate "ST STV0297 based"
tristate "ST STV0297 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
A DVB-C tuner module. Say Y when you want to support this frontend.
A DVB-C tuner module. Say Y when you want to support this frontend.
...
@@ -162,7 +162,7 @@ comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends"
...
@@ -162,7 +162,7 @@ comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends"
config DVB_NXT200X
config DVB_NXT200X
tristate "NxtWave Communications NXT2002/NXT2004 based"
tristate "NxtWave Communications NXT2002/NXT2004 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
...
@@ -176,7 +176,7 @@ config DVB_NXT200X
...
@@ -176,7 +176,7 @@ config DVB_NXT200X
config DVB_OR51211
config DVB_OR51211
tristate "Oren OR51211 based"
tristate "Oren OR51211 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
An ATSC 8VSB tuner module. Say Y when you want to support this frontend.
An ATSC 8VSB tuner module. Say Y when you want to support this frontend.
...
@@ -188,7 +188,7 @@ config DVB_OR51211
...
@@ -188,7 +188,7 @@ config DVB_OR51211
config DVB_OR51132
config DVB_OR51132
tristate "Oren OR51132 based"
tristate "Oren OR51132 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
...
@@ -203,7 +203,7 @@ config DVB_OR51132
...
@@ -203,7 +203,7 @@ config DVB_OR51132
config DVB_BCM3510
config DVB_BCM3510
tristate "Broadcom BCM3510"
tristate "Broadcom BCM3510"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
select FW_LOADER
help
help
An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
...
@@ -211,7 +211,7 @@ config DVB_BCM3510
...
@@ -211,7 +211,7 @@ config DVB_BCM3510
config DVB_LGDT330X
config DVB_LGDT330X
tristate "LG Electronics LGDT3302/LGDT3303 based"
tristate "LG Electronics LGDT3302/LGDT3303 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
to support this frontend.
to support this frontend.
...
@@ -220,15 +220,19 @@ config DVB_LGDT330X
...
@@ -220,15 +220,19 @@ config DVB_LGDT330X
comment "Miscellaneous devices"
comment "Miscellaneous devices"
depends on DVB_CORE
depends on DVB_CORE
config DVB_PLL
tristate
depends on DVB_CORE && I2C
config DVB_LNBP21
config DVB_LNBP21
tristate "LNBP21 SEC controller"
tristate "LNBP21 SEC controller"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
An SEC control chip.
An SEC control chip.
config DVB_ISL6421
config DVB_ISL6421
tristate "ISL6421 SEC controller"
tristate "ISL6421 SEC controller"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
help
An SEC control chip.
An SEC control chip.
...
...
drivers/media/dvb/frontends/Makefile
浏览文件 @
eff68d45
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
EXTRA_CFLAGS
=
-Idrivers
/media/dvb/dvb-core/
EXTRA_CFLAGS
=
-Idrivers
/media/dvb/dvb-core/
obj-$(CONFIG_DVB_
CORE
)
+=
dvb-pll.o
obj-$(CONFIG_DVB_
PLL
)
+=
dvb-pll.o
obj-$(CONFIG_DVB_STV0299)
+=
stv0299.o
obj-$(CONFIG_DVB_STV0299)
+=
stv0299.o
obj-$(CONFIG_DVB_SP8870)
+=
sp8870.o
obj-$(CONFIG_DVB_SP8870)
+=
sp8870.o
obj-$(CONFIG_DVB_CX22700)
+=
cx22700.o
obj-$(CONFIG_DVB_CX22700)
+=
cx22700.o
...
...
drivers/media/dvb/pluto2/Kconfig
浏览文件 @
eff68d45
...
@@ -2,6 +2,7 @@ config DVB_PLUTO2
...
@@ -2,6 +2,7 @@ config DVB_PLUTO2
tristate "Pluto2 cards"
tristate "Pluto2 cards"
depends on DVB_CORE && PCI && I2C
depends on DVB_CORE && PCI && I2C
select I2C_ALGOBIT
select I2C_ALGOBIT
select DVB_PLL
select DVB_TDA1004X
select DVB_TDA1004X
help
help
Support for PCI cards based on the Pluto2 FPGA like the Satelco
Support for PCI cards based on the Pluto2 FPGA like the Satelco
...
...
drivers/media/dvb/ttpci/Kconfig
浏览文件 @
eff68d45
...
@@ -3,6 +3,7 @@ config DVB_AV7110
...
@@ -3,6 +3,7 @@ config DVB_AV7110
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select FW_LOADER
select FW_LOADER
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select DVB_PLL
select DVB_VES1820
select DVB_VES1820
select DVB_VES1X93
select DVB_VES1X93
select DVB_STV0299
select DVB_STV0299
...
@@ -61,6 +62,7 @@ config DVB_BUDGET
...
@@ -61,6 +62,7 @@ config DVB_BUDGET
tristate "Budget cards"
tristate "Budget cards"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146
select VIDEO_SAA7146
select DVB_PLL
select DVB_STV0299
select DVB_STV0299
select DVB_VES1X93
select DVB_VES1X93
select DVB_VES1820
select DVB_VES1820
...
@@ -83,6 +85,7 @@ config DVB_BUDGET_CI
...
@@ -83,6 +85,7 @@ config DVB_BUDGET_CI
tristate "Budget cards with onboard CI connector"
tristate "Budget cards with onboard CI connector"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146
select VIDEO_SAA7146
select DVB_PLL
select DVB_STV0297
select DVB_STV0297
select DVB_STV0299
select DVB_STV0299
select DVB_TDA1004X
select DVB_TDA1004X
...
@@ -104,6 +107,7 @@ config DVB_BUDGET_AV
...
@@ -104,6 +107,7 @@ config DVB_BUDGET_AV
tristate "Budget cards with analog video inputs"
tristate "Budget cards with analog video inputs"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select DVB_PLL
select DVB_STV0299
select DVB_STV0299
select DVB_TDA1004X
select DVB_TDA1004X
select DVB_TDA10021
select DVB_TDA10021
...
@@ -122,6 +126,7 @@ config DVB_BUDGET_PATCH
...
@@ -122,6 +126,7 @@ config DVB_BUDGET_PATCH
tristate "AV7110 cards with Budget Patch"
tristate "AV7110 cards with Budget Patch"
depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
select DVB_AV7110
select DVB_AV7110
select DVB_PLL
select DVB_STV0299
select DVB_STV0299
select DVB_VES1X93
select DVB_VES1X93
select DVB_TDA8083
select DVB_TDA8083
...
...
drivers/media/dvb/ttusb-budget/Kconfig
浏览文件 @
eff68d45
config DVB_TTUSB_BUDGET
config DVB_TTUSB_BUDGET
tristate "Technotrend/Hauppauge Nova-USB devices"
tristate "Technotrend/Hauppauge Nova-USB devices"
depends on DVB_CORE && USB
depends on DVB_CORE && USB && I2C
select DVB_PLL
select DVB_CX22700
select DVB_CX22700
select DVB_TDA1004X
select DVB_TDA1004X
select DVB_VES1820
select DVB_VES1820
...
...
drivers/media/video/Kconfig
浏览文件 @
eff68d45
...
@@ -260,7 +260,7 @@ source "drivers/media/video/saa7134/Kconfig"
...
@@ -260,7 +260,7 @@ source "drivers/media/video/saa7134/Kconfig"
config VIDEO_MXB
config VIDEO_MXB
tristate "Siemens-Nixdorf 'Multimedia eXtension Board'"
tristate "Siemens-Nixdorf 'Multimedia eXtension Board'"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select VIDEO_TUNER
select VIDEO_TUNER
---help---
---help---
...
@@ -272,7 +272,7 @@ config VIDEO_MXB
...
@@ -272,7 +272,7 @@ config VIDEO_MXB
config VIDEO_DPC
config VIDEO_DPC
tristate "Philips-Semiconductors 'dpc7146 demonstration board'"
tristate "Philips-Semiconductors 'dpc7146 demonstration board'"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select VIDEO_V4L2
select VIDEO_V4L2
---help---
---help---
...
@@ -287,7 +287,7 @@ config VIDEO_DPC
...
@@ -287,7 +287,7 @@ config VIDEO_DPC
config VIDEO_HEXIUM_ORION
config VIDEO_HEXIUM_ORION
tristate "Hexium HV-PCI6 and Orion frame grabber"
tristate "Hexium HV-PCI6 and Orion frame grabber"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select VIDEO_V4L2
select VIDEO_V4L2
---help---
---help---
...
@@ -299,7 +299,7 @@ config VIDEO_HEXIUM_ORION
...
@@ -299,7 +299,7 @@ config VIDEO_HEXIUM_ORION
config VIDEO_HEXIUM_GEMINI
config VIDEO_HEXIUM_GEMINI
tristate "Hexium Gemini frame grabber"
tristate "Hexium Gemini frame grabber"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_SAA7146_VV
select VIDEO_V4L2
select VIDEO_V4L2
---help---
---help---
...
...
drivers/media/video/bt8xx/bttv-input.c
浏览文件 @
eff68d45
...
@@ -303,6 +303,7 @@ int bttv_input_init(struct bttv *btv)
...
@@ -303,6 +303,7 @@ int bttv_input_init(struct bttv *btv)
ir
->
mask_keyup
=
0x010000
;
ir
->
mask_keyup
=
0x010000
;
ir
->
polling
=
50
;
// ms
ir
->
polling
=
50
;
// ms
break
;
break
;
case
BTTV_BOARD_PV_M4900
:
case
BTTV_BOARD_PV_BT878P_9B
:
case
BTTV_BOARD_PV_BT878P_9B
:
case
BTTV_BOARD_PV_BT878P_PLUS
:
case
BTTV_BOARD_PV_BT878P_PLUS
:
ir_codes
=
ir_codes_pixelview
;
ir_codes
=
ir_codes_pixelview
;
...
...
drivers/media/video/cx88/Kconfig
浏览文件 @
eff68d45
...
@@ -51,6 +51,7 @@ config VIDEO_CX88_DVB
...
@@ -51,6 +51,7 @@ config VIDEO_CX88_DVB
tristate "DVB/ATSC Support for cx2388x based TV cards"
tristate "DVB/ATSC Support for cx2388x based TV cards"
depends on VIDEO_CX88 && DVB_CORE
depends on VIDEO_CX88 && DVB_CORE
select VIDEO_BUF_DVB
select VIDEO_BUF_DVB
select DVB_PLL
---help---
---help---
This adds support for DVB/ATSC cards based on the
This adds support for DVB/ATSC cards based on the
Conexant 2388x chip.
Conexant 2388x chip.
...
...
drivers/media/video/saa7134/Kconfig
浏览文件 @
eff68d45
...
@@ -40,6 +40,7 @@ config VIDEO_SAA7134_DVB
...
@@ -40,6 +40,7 @@ config VIDEO_SAA7134_DVB
depends on VIDEO_SAA7134 && DVB_CORE
depends on VIDEO_SAA7134 && DVB_CORE
select VIDEO_BUF_DVB
select VIDEO_BUF_DVB
select FW_LOADER
select FW_LOADER
select DVB_PLL
---help---
---help---
This adds support for DVB cards based on the
This adds support for DVB cards based on the
Philips saa7134 chip.
Philips saa7134 chip.
...
...
drivers/media/video/tuner-types.c
浏览文件 @
eff68d45
...
@@ -926,11 +926,17 @@ static struct tuner_params tuner_lg_tdvs_h06xf_params[] = {
...
@@ -926,11 +926,17 @@ static struct tuner_params tuner_lg_tdvs_h06xf_params[] = {
/* ------------ TUNER_YMEC_TVF66T5_B_DFF - Philips PAL ------------ */
/* ------------ TUNER_YMEC_TVF66T5_B_DFF - Philips PAL ------------ */
static
struct
tuner_range
tuner_ymec_tvf66t5_b_dff_pal_ranges
[]
=
{
{
16
*
160
.
25
/*MHz*/
,
0x8e
,
0x01
,
},
{
16
*
464
.
25
/*MHz*/
,
0x8e
,
0x02
,
},
{
16
*
999
.
99
,
0x8e
,
0x08
,
},
};
static
struct
tuner_params
tuner_ymec_tvf66t5_b_dff_params
[]
=
{
static
struct
tuner_params
tuner_ymec_tvf66t5_b_dff_params
[]
=
{
{
{
.
type
=
TUNER_PARAM_TYPE_PAL
,
.
type
=
TUNER_PARAM_TYPE_PAL
,
.
ranges
=
tuner_
tena_9533_di
_pal_ranges
,
.
ranges
=
tuner_
ymec_tvf66t5_b_dff
_pal_ranges
,
.
count
=
ARRAY_SIZE
(
tuner_
tena_9533_di
_pal_ranges
),
.
count
=
ARRAY_SIZE
(
tuner_
ymec_tvf66t5_b_dff
_pal_ranges
),
},
},
};
};
...
...
drivers/media/video/zoran.h
浏览文件 @
eff68d45
...
@@ -267,7 +267,7 @@ struct zoran_v4l_settings {
...
@@ -267,7 +267,7 @@ struct zoran_v4l_settings {
};
};
/* whoops, this one is undeclared if !v4l2 */
/* whoops, this one is undeclared if !v4l2 */
#ifndef
HAVE
_V4L2
#ifndef
CONFIG_VIDEO
_V4L2
struct
v4l2_jpegcompression
{
struct
v4l2_jpegcompression
{
int
quality
;
int
quality
;
int
APPn
;
int
APPn
;
...
...
drivers/media/video/zoran_driver.c
浏览文件 @
eff68d45
...
@@ -86,7 +86,7 @@
...
@@ -86,7 +86,7 @@
#include "zoran_device.h"
#include "zoran_device.h"
#include "zoran_card.h"
#include "zoran_card.h"
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* we declare some card type definitions here, they mean
/* we declare some card type definitions here, they mean
* the same as the v4l1 ZORAN_VID_TYPE above, except it's v4l2 */
* the same as the v4l1 ZORAN_VID_TYPE above, except it's v4l2 */
#define ZORAN_V4L2_VID_FLAGS ( \
#define ZORAN_V4L2_VID_FLAGS ( \
...
@@ -103,7 +103,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -103,7 +103,7 @@ const struct zoran_format zoran_formats[] = {
{
{
.
name
=
"15-bit RGB"
,
.
name
=
"15-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB555
,
.
palette
=
VIDEO_PALETTE_RGB555
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_RGB555
,
.
fourcc
=
V4L2_PIX_FMT_RGB555
,
#else
#else
...
@@ -117,7 +117,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -117,7 +117,7 @@ const struct zoran_format zoran_formats[] = {
},
{
},
{
.
name
=
"16-bit RGB"
,
.
name
=
"16-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB565
,
.
palette
=
VIDEO_PALETTE_RGB565
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_RGB565
,
.
fourcc
=
V4L2_PIX_FMT_RGB565
,
#else
#else
...
@@ -131,7 +131,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -131,7 +131,7 @@ const struct zoran_format zoran_formats[] = {
},
{
},
{
.
name
=
"24-bit RGB"
,
.
name
=
"24-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB24
,
.
palette
=
VIDEO_PALETTE_RGB24
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_BGR24
,
.
fourcc
=
V4L2_PIX_FMT_BGR24
,
#else
#else
...
@@ -145,7 +145,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -145,7 +145,7 @@ const struct zoran_format zoran_formats[] = {
},
{
},
{
.
name
=
"32-bit RGB"
,
.
name
=
"32-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB32
,
.
palette
=
VIDEO_PALETTE_RGB32
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_BGR32
,
.
fourcc
=
V4L2_PIX_FMT_BGR32
,
#else
#else
...
@@ -159,7 +159,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -159,7 +159,7 @@ const struct zoran_format zoran_formats[] = {
},
{
},
{
.
name
=
"4:2:2, packed, YUYV"
,
.
name
=
"4:2:2, packed, YUYV"
,
.
palette
=
VIDEO_PALETTE_YUV422
,
.
palette
=
VIDEO_PALETTE_YUV422
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
fourcc
=
V4L2_PIX_FMT_YUYV
,
.
fourcc
=
V4L2_PIX_FMT_YUYV
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
#endif
#endif
...
@@ -169,7 +169,7 @@ const struct zoran_format zoran_formats[] = {
...
@@ -169,7 +169,7 @@ const struct zoran_format zoran_formats[] = {
},
{
},
{
.
name
=
"Hardware-encoded Motion-JPEG"
,
.
name
=
"Hardware-encoded Motion-JPEG"
,
.
palette
=
-
1
,
.
palette
=
-
1
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
fourcc
=
V4L2_PIX_FMT_MJPEG
,
.
fourcc
=
V4L2_PIX_FMT_MJPEG
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
#endif
#endif
...
@@ -210,7 +210,7 @@ static int lock_norm = 0; /* 1=Don't change TV standard (norm) */
...
@@ -210,7 +210,7 @@ static int lock_norm = 0; /* 1=Don't change TV standard (norm) */
module_param
(
lock_norm
,
int
,
0
);
module_param
(
lock_norm
,
int
,
0
);
MODULE_PARM_DESC
(
lock_norm
,
"Users can't change norm"
);
MODULE_PARM_DESC
(
lock_norm
,
"Users can't change norm"
);
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* small helper function for calculating buffersizes for v4l2
/* small helper function for calculating buffersizes for v4l2
* we calculate the nearest higher power-of-two, which
* we calculate the nearest higher power-of-two, which
* will be the recommended buffersize */
* will be the recommended buffersize */
...
@@ -1761,7 +1761,7 @@ setup_overlay (struct file *file,
...
@@ -1761,7 +1761,7 @@ setup_overlay (struct file *file,
return
wait_grab_pending
(
zr
);
return
wait_grab_pending
(
zr
);
}
}
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* get the status of a buffer in the clients buffer queue */
/* get the status of a buffer in the clients buffer queue */
static
int
static
int
zoran_v4l2_buffer_status
(
struct
file
*
file
,
zoran_v4l2_buffer_status
(
struct
file
*
file
,
...
@@ -2676,7 +2676,7 @@ zoran_do_ioctl (struct inode *inode,
...
@@ -2676,7 +2676,7 @@ zoran_do_ioctl (struct inode *inode,
}
}
break
;
break
;
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* The new video4linux2 capture interface - much nicer than video4linux1, since
/* The new video4linux2 capture interface - much nicer than video4linux1, since
* it allows for integrating the JPEG capturing calls inside standard v4l2
* it allows for integrating the JPEG capturing calls inside standard v4l2
...
@@ -4689,7 +4689,7 @@ static struct file_operations zoran_fops = {
...
@@ -4689,7 +4689,7 @@ static struct file_operations zoran_fops = {
struct
video_device
zoran_template
__devinitdata
=
{
struct
video_device
zoran_template
__devinitdata
=
{
.
name
=
ZORAN_NAME
,
.
name
=
ZORAN_NAME
,
.
type
=
ZORAN_VID_TYPE
,
.
type
=
ZORAN_VID_TYPE
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
type2
=
ZORAN_V4L2_VID_FLAGS
,
.
type2
=
ZORAN_V4L2_VID_FLAGS
,
#endif
#endif
.
hardware
=
ZORAN_HARDWARE
,
.
hardware
=
ZORAN_HARDWARE
,
...
...
drivers/serial/sh-sci.c
浏览文件 @
eff68d45
...
@@ -1579,7 +1579,7 @@ static int __init serial_console_setup(struct console *co, char *options)
...
@@ -1579,7 +1579,7 @@ static int __init serial_console_setup(struct console *co, char *options)
h8300_sci_enable
(
port
,
sci_enable
);
h8300_sci_enable
(
port
,
sci_enable
);
#endif
#endif
#elif defined(CONFIG_SUPERH64)
#elif defined(CONFIG_SUPERH64)
port
->
uartclk
=
current_cpu_
info
.
module_clock
*
16
;
port
->
uartclk
=
current_cpu_
data
.
module_clock
*
16
;
#else
#else
{
{
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
...
@@ -1720,7 +1720,7 @@ static int __init sci_init(void)
...
@@ -1720,7 +1720,7 @@ static int __init sci_init(void)
#if defined(__H8300H__) || defined(__H8300S__)
#if defined(__H8300H__) || defined(__H8300S__)
sciport
->
port
.
uartclk
=
CONFIG_CPU_CLOCK
;
sciport
->
port
.
uartclk
=
CONFIG_CPU_CLOCK
;
#elif defined(CONFIG_SUPERH64)
#elif defined(CONFIG_SUPERH64)
sciport
->
port
.
uartclk
=
current_cpu_
info
.
module_clock
*
16
;
sciport
->
port
.
uartclk
=
current_cpu_
data
.
module_clock
*
16
;
#else
#else
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
sciport
->
port
.
uartclk
=
clk_get_rate
(
clk
)
*
16
;
sciport
->
port
.
uartclk
=
clk_get_rate
(
clk
)
*
16
;
...
...
drivers/usb/input/yealink.c
浏览文件 @
eff68d45
...
@@ -810,12 +810,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
...
@@ -810,12 +810,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
if
(
yld
==
NULL
)
if
(
yld
==
NULL
)
return
err
;
return
err
;
if
(
yld
->
urb_irq
)
{
usb_kill_urb
(
yld
->
urb_irq
);
/* parameter validation in core/urb */
usb_kill_urb
(
yld
->
urb_irq
);
usb_kill_urb
(
yld
->
urb_ctl
);
/* parameter validation in core/urb */
usb_free_urb
(
yld
->
urb_irq
);
}
if
(
yld
->
urb_ctl
)
usb_free_urb
(
yld
->
urb_ctl
);
if
(
yld
->
idev
)
{
if
(
yld
->
idev
)
{
if
(
err
)
if
(
err
)
input_free_device
(
yld
->
idev
);
input_free_device
(
yld
->
idev
);
...
@@ -831,6 +828,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
...
@@ -831,6 +828,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
if
(
yld
->
irq_data
)
if
(
yld
->
irq_data
)
usb_buffer_free
(
yld
->
udev
,
USB_PKT_LEN
,
usb_buffer_free
(
yld
->
udev
,
USB_PKT_LEN
,
yld
->
irq_data
,
yld
->
irq_dma
);
yld
->
irq_data
,
yld
->
irq_dma
);
usb_free_urb
(
yld
->
urb_irq
);
/* parameter validation in core/urb */
usb_free_urb
(
yld
->
urb_ctl
);
/* parameter validation in core/urb */
kfree
(
yld
);
kfree
(
yld
);
return
err
;
return
err
;
}
}
...
...
drivers/usb/serial/usb-serial.c
浏览文件 @
eff68d45
...
@@ -464,8 +464,10 @@ static int serial_read_proc (char *page, char **start, off_t off, int count, int
...
@@ -464,8 +464,10 @@ static int serial_read_proc (char *page, char **start, off_t off, int count, int
length
+=
sprintf
(
page
+
length
,
" path:%s"
,
tmp
);
length
+=
sprintf
(
page
+
length
,
" path:%s"
,
tmp
);
length
+=
sprintf
(
page
+
length
,
"
\n
"
);
length
+=
sprintf
(
page
+
length
,
"
\n
"
);
if
((
length
+
begin
)
>
(
off
+
count
))
if
((
length
+
begin
)
>
(
off
+
count
))
{
usb_serial_put
(
serial
);
goto
done
;
goto
done
;
}
if
((
length
+
begin
)
<
off
)
{
if
((
length
+
begin
)
<
off
)
{
begin
+=
length
;
begin
+=
length
;
length
=
0
;
length
=
0
;
...
...
fs/cifs/readdir.c
浏览文件 @
eff68d45
...
@@ -82,7 +82,6 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
...
@@ -82,7 +82,6 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
if
(
*
ptmp_inode
==
NULL
)
if
(
*
ptmp_inode
==
NULL
)
return
rc
;
return
rc
;
rc
=
1
;
rc
=
1
;
d_instantiate
(
tmp_dentry
,
*
ptmp_inode
);
}
}
}
else
{
}
else
{
tmp_dentry
=
d_alloc
(
file
->
f_dentry
,
qstring
);
tmp_dentry
=
d_alloc
(
file
->
f_dentry
,
qstring
);
...
@@ -99,9 +98,7 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
...
@@ -99,9 +98,7 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
tmp_dentry
->
d_op
=
&
cifs_dentry_ops
;
tmp_dentry
->
d_op
=
&
cifs_dentry_ops
;
if
(
*
ptmp_inode
==
NULL
)
if
(
*
ptmp_inode
==
NULL
)
return
rc
;
return
rc
;
rc
=
1
;
rc
=
2
;
d_instantiate
(
tmp_dentry
,
*
ptmp_inode
);
d_rehash
(
tmp_dentry
);
}
}
tmp_dentry
->
d_time
=
jiffies
;
tmp_dentry
->
d_time
=
jiffies
;
...
@@ -870,6 +867,12 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
...
@@ -870,6 +867,12 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
pfindEntry
,
&
obj_type
,
rc
);
pfindEntry
,
&
obj_type
,
rc
);
else
else
fill_in_inode
(
tmp_inode
,
1
/* NT */
,
pfindEntry
,
&
obj_type
,
rc
);
fill_in_inode
(
tmp_inode
,
1
/* NT */
,
pfindEntry
,
&
obj_type
,
rc
);
if
(
rc
)
/* new inode - needs to be tied to dentry */
{
d_instantiate
(
tmp_dentry
,
tmp_inode
);
if
(
rc
==
2
)
d_rehash
(
tmp_dentry
);
}
rc
=
filldir
(
direntry
,
qstring
.
name
,
qstring
.
len
,
file
->
f_pos
,
rc
=
filldir
(
direntry
,
qstring
.
name
,
qstring
.
len
,
file
->
f_pos
,
...
...
fs/xfs/linux-2.6/xfs_aops.c
浏览文件 @
eff68d45
...
@@ -1390,11 +1390,19 @@ xfs_vm_direct_IO(
...
@@ -1390,11 +1390,19 @@ xfs_vm_direct_IO(
iocb
->
private
=
xfs_alloc_ioend
(
inode
,
IOMAP_UNWRITTEN
);
iocb
->
private
=
xfs_alloc_ioend
(
inode
,
IOMAP_UNWRITTEN
);
ret
=
blockdev_direct_IO_own_locking
(
rw
,
iocb
,
inode
,
if
(
rw
==
WRITE
)
{
iomap
.
iomap_target
->
bt_bdev
,
ret
=
blockdev_direct_IO_own_locking
(
rw
,
iocb
,
inode
,
iov
,
offset
,
nr_segs
,
iomap
.
iomap_target
->
bt_bdev
,
xfs_get_blocks_direct
,
iov
,
offset
,
nr_segs
,
xfs_end_io_direct
);
xfs_get_blocks_direct
,
xfs_end_io_direct
);
}
else
{
ret
=
blockdev_direct_IO_no_locking
(
rw
,
iocb
,
inode
,
iomap
.
iomap_target
->
bt_bdev
,
iov
,
offset
,
nr_segs
,
xfs_get_blocks_direct
,
xfs_end_io_direct
);
}
if
(
unlikely
(
ret
<=
0
&&
iocb
->
private
))
if
(
unlikely
(
ret
<=
0
&&
iocb
->
private
))
xfs_destroy_ioend
(
iocb
->
private
);
xfs_destroy_ioend
(
iocb
->
private
);
...
...
fs/xfs/linux-2.6/xfs_lrw.c
浏览文件 @
eff68d45
...
@@ -264,7 +264,9 @@ xfs_read(
...
@@ -264,7 +264,9 @@ xfs_read(
dmflags
,
&
locktype
);
dmflags
,
&
locktype
);
if
(
ret
)
{
if
(
ret
)
{
xfs_iunlock
(
ip
,
XFS_IOLOCK_SHARED
);
xfs_iunlock
(
ip
,
XFS_IOLOCK_SHARED
);
goto
unlock_mutex
;
if
(
unlikely
(
ioflags
&
IO_ISDIRECT
))
mutex_unlock
(
&
inode
->
i_mutex
);
return
ret
;
}
}
}
}
...
@@ -272,6 +274,9 @@ xfs_read(
...
@@ -272,6 +274,9 @@ xfs_read(
bhv_vop_flushinval_pages
(
vp
,
ctooff
(
offtoct
(
*
offset
)),
bhv_vop_flushinval_pages
(
vp
,
ctooff
(
offtoct
(
*
offset
)),
-
1
,
FI_REMAPF_LOCKED
);
-
1
,
FI_REMAPF_LOCKED
);
if
(
unlikely
(
ioflags
&
IO_ISDIRECT
))
mutex_unlock
(
&
inode
->
i_mutex
);
xfs_rw_enter_trace
(
XFS_READ_ENTER
,
&
ip
->
i_iocore
,
xfs_rw_enter_trace
(
XFS_READ_ENTER
,
&
ip
->
i_iocore
,
(
void
*
)
iovp
,
segs
,
*
offset
,
ioflags
);
(
void
*
)
iovp
,
segs
,
*
offset
,
ioflags
);
ret
=
__generic_file_aio_read
(
iocb
,
iovp
,
segs
,
offset
);
ret
=
__generic_file_aio_read
(
iocb
,
iovp
,
segs
,
offset
);
...
@@ -281,10 +286,6 @@ xfs_read(
...
@@ -281,10 +286,6 @@ xfs_read(
XFS_STATS_ADD
(
xs_read_bytes
,
ret
);
XFS_STATS_ADD
(
xs_read_bytes
,
ret
);
xfs_iunlock
(
ip
,
XFS_IOLOCK_SHARED
);
xfs_iunlock
(
ip
,
XFS_IOLOCK_SHARED
);
unlock_mutex:
if
(
unlikely
(
ioflags
&
IO_ISDIRECT
))
mutex_unlock
(
&
inode
->
i_mutex
);
return
ret
;
return
ret
;
}
}
...
@@ -390,6 +391,8 @@ xfs_splice_write(
...
@@ -390,6 +391,8 @@ xfs_splice_write(
xfs_inode_t
*
ip
=
XFS_BHVTOI
(
bdp
);
xfs_inode_t
*
ip
=
XFS_BHVTOI
(
bdp
);
xfs_mount_t
*
mp
=
ip
->
i_mount
;
xfs_mount_t
*
mp
=
ip
->
i_mount
;
ssize_t
ret
;
ssize_t
ret
;
struct
inode
*
inode
=
outfilp
->
f_mapping
->
host
;
xfs_fsize_t
isize
;
XFS_STATS_INC
(
xs_write_calls
);
XFS_STATS_INC
(
xs_write_calls
);
if
(
XFS_FORCED_SHUTDOWN
(
ip
->
i_mount
))
if
(
XFS_FORCED_SHUTDOWN
(
ip
->
i_mount
))
...
@@ -416,6 +419,20 @@ xfs_splice_write(
...
@@ -416,6 +419,20 @@ xfs_splice_write(
if
(
ret
>
0
)
if
(
ret
>
0
)
XFS_STATS_ADD
(
xs_write_bytes
,
ret
);
XFS_STATS_ADD
(
xs_write_bytes
,
ret
);
isize
=
i_size_read
(
inode
);
if
(
unlikely
(
ret
<
0
&&
ret
!=
-
EFAULT
&&
*
ppos
>
isize
))
*
ppos
=
isize
;
if
(
*
ppos
>
ip
->
i_d
.
di_size
)
{
xfs_ilock
(
ip
,
XFS_ILOCK_EXCL
);
if
(
*
ppos
>
ip
->
i_d
.
di_size
)
{
ip
->
i_d
.
di_size
=
*
ppos
;
i_size_write
(
inode
,
*
ppos
);
ip
->
i_update_core
=
1
;
ip
->
i_update_size
=
1
;
}
xfs_iunlock
(
ip
,
XFS_ILOCK_EXCL
);
}
xfs_iunlock
(
ip
,
XFS_IOLOCK_EXCL
);
xfs_iunlock
(
ip
,
XFS_IOLOCK_EXCL
);
return
ret
;
return
ret
;
}
}
...
...
fs/xfs/quota/xfs_qm_bhv.c
浏览文件 @
eff68d45
...
@@ -203,7 +203,7 @@ xfs_qm_statvfs(
...
@@ -203,7 +203,7 @@ xfs_qm_statvfs(
if
(
error
||
!
vnode
)
if
(
error
||
!
vnode
)
return
error
;
return
error
;
mp
=
XFS_BHVTOM
(
bhv
);
mp
=
xfs_vfstom
(
bhvtovfs
(
bhv
)
);
ip
=
xfs_vtoi
(
vnode
);
ip
=
xfs_vtoi
(
vnode
);
if
(
!
(
ip
->
i_d
.
di_flags
&
XFS_DIFLAG_PROJINHERIT
))
if
(
!
(
ip
->
i_d
.
di_flags
&
XFS_DIFLAG_PROJINHERIT
))
...
...
fs/xfs/xfs_alloc.h
浏览文件 @
eff68d45
...
@@ -43,6 +43,26 @@ typedef enum xfs_alloctype
...
@@ -43,6 +43,26 @@ typedef enum xfs_alloctype
#define XFS_ALLOC_FLAG_TRYLOCK 0x00000001
/* use trylock for buffer locking */
#define XFS_ALLOC_FLAG_TRYLOCK 0x00000001
/* use trylock for buffer locking */
#define XFS_ALLOC_FLAG_FREEING 0x00000002
/* indicate caller is freeing extents*/
#define XFS_ALLOC_FLAG_FREEING 0x00000002
/* indicate caller is freeing extents*/
/*
* In order to avoid ENOSPC-related deadlock caused by
* out-of-order locking of AGF buffer (PV 947395), we place
* constraints on the relationship among actual allocations for
* data blocks, freelist blocks, and potential file data bmap
* btree blocks. However, these restrictions may result in no
* actual space allocated for a delayed extent, for example, a data
* block in a certain AG is allocated but there is no additional
* block for the additional bmap btree block due to a split of the
* bmap btree of the file. The result of this may lead to an
* infinite loop in xfssyncd when the file gets flushed to disk and
* all delayed extents need to be actually allocated. To get around
* this, we explicitly set aside a few blocks which will not be
* reserved in delayed allocation. Considering the minimum number of
* needed freelist blocks is 4 fsbs _per AG_, a potential split of file's bmap
* btree requires 1 fsb, so we set the number of set-aside blocks
* to 4 + 4*agcount.
*/
#define XFS_ALLOC_SET_ASIDE(mp) (4 + ((mp)->m_sb.sb_agcount * 4))
/*
/*
* Argument structure for xfs_alloc routines.
* Argument structure for xfs_alloc routines.
* This is turned into a structure to avoid having 20 arguments passed
* This is turned into a structure to avoid having 20 arguments passed
...
...
fs/xfs/xfs_fsops.c
浏览文件 @
eff68d45
...
@@ -462,7 +462,7 @@ xfs_fs_counts(
...
@@ -462,7 +462,7 @@ xfs_fs_counts(
xfs_icsb_sync_counters_lazy
(
mp
);
xfs_icsb_sync_counters_lazy
(
mp
);
s
=
XFS_SB_LOCK
(
mp
);
s
=
XFS_SB_LOCK
(
mp
);
cnt
->
freedata
=
mp
->
m_sb
.
sb_fdblocks
;
cnt
->
freedata
=
mp
->
m_sb
.
sb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
)
;
cnt
->
freertx
=
mp
->
m_sb
.
sb_frextents
;
cnt
->
freertx
=
mp
->
m_sb
.
sb_frextents
;
cnt
->
freeino
=
mp
->
m_sb
.
sb_ifree
;
cnt
->
freeino
=
mp
->
m_sb
.
sb_ifree
;
cnt
->
allocino
=
mp
->
m_sb
.
sb_icount
;
cnt
->
allocino
=
mp
->
m_sb
.
sb_icount
;
...
@@ -519,15 +519,19 @@ xfs_reserve_blocks(
...
@@ -519,15 +519,19 @@ xfs_reserve_blocks(
}
}
mp
->
m_resblks
=
request
;
mp
->
m_resblks
=
request
;
}
else
{
}
else
{
__int64_t
free
;
free
=
mp
->
m_sb
.
sb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
);
delta
=
request
-
mp
->
m_resblks
;
delta
=
request
-
mp
->
m_resblks
;
lcounter
=
mp
->
m_sb
.
sb_fdblocks
-
delta
;
lcounter
=
free
-
delta
;
if
(
lcounter
<
0
)
{
if
(
lcounter
<
0
)
{
/* We can't satisfy the request, just get what we can */
/* We can't satisfy the request, just get what we can */
mp
->
m_resblks
+=
mp
->
m_sb
.
sb_fdblocks
;
mp
->
m_resblks
+=
free
;
mp
->
m_resblks_avail
+=
mp
->
m_sb
.
sb_fdblocks
;
mp
->
m_resblks_avail
+=
free
;
mp
->
m_sb
.
sb_fdblocks
=
0
;
mp
->
m_sb
.
sb_fdblocks
=
XFS_ALLOC_SET_ASIDE
(
mp
)
;
}
else
{
}
else
{
mp
->
m_sb
.
sb_fdblocks
=
lcounter
;
mp
->
m_sb
.
sb_fdblocks
=
lcounter
+
XFS_ALLOC_SET_ASIDE
(
mp
);
mp
->
m_resblks
=
request
;
mp
->
m_resblks
=
request
;
mp
->
m_resblks_avail
+=
delta
;
mp
->
m_resblks_avail
+=
delta
;
}
}
...
...
fs/xfs/xfs_mount.c
浏览文件 @
eff68d45
...
@@ -1243,24 +1243,6 @@ xfs_mod_sb(xfs_trans_t *tp, __int64_t fields)
...
@@ -1243,24 +1243,6 @@ xfs_mod_sb(xfs_trans_t *tp, __int64_t fields)
xfs_trans_log_buf
(
tp
,
bp
,
first
,
last
);
xfs_trans_log_buf
(
tp
,
bp
,
first
,
last
);
}
}
/*
* In order to avoid ENOSPC-related deadlock caused by
* out-of-order locking of AGF buffer (PV 947395), we place
* constraints on the relationship among actual allocations for
* data blocks, freelist blocks, and potential file data bmap
* btree blocks. However, these restrictions may result in no
* actual space allocated for a delayed extent, for example, a data
* block in a certain AG is allocated but there is no additional
* block for the additional bmap btree block due to a split of the
* bmap btree of the file. The result of this may lead to an
* infinite loop in xfssyncd when the file gets flushed to disk and
* all delayed extents need to be actually allocated. To get around
* this, we explicitly set aside a few blocks which will not be
* reserved in delayed allocation. Considering the minimum number of
* needed freelist blocks is 4 fsbs, a potential split of file's bmap
* btree requires 1 fsb, so we set the number of set-aside blocks to 8.
*/
#define SET_ASIDE_BLOCKS 8
/*
/*
* xfs_mod_incore_sb_unlocked() is a utility routine common used to apply
* xfs_mod_incore_sb_unlocked() is a utility routine common used to apply
...
@@ -1306,7 +1288,8 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field,
...
@@ -1306,7 +1288,8 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field,
return
0
;
return
0
;
case
XFS_SBS_FDBLOCKS
:
case
XFS_SBS_FDBLOCKS
:
lcounter
=
(
long
long
)
mp
->
m_sb
.
sb_fdblocks
-
SET_ASIDE_BLOCKS
;
lcounter
=
(
long
long
)
mp
->
m_sb
.
sb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
);
res_used
=
(
long
long
)(
mp
->
m_resblks
-
mp
->
m_resblks_avail
);
res_used
=
(
long
long
)(
mp
->
m_resblks
-
mp
->
m_resblks_avail
);
if
(
delta
>
0
)
{
/* Putting blocks back */
if
(
delta
>
0
)
{
/* Putting blocks back */
...
@@ -1340,7 +1323,7 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field,
...
@@ -1340,7 +1323,7 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field,
}
}
}
}
mp
->
m_sb
.
sb_fdblocks
=
lcounter
+
SET_ASIDE_BLOCKS
;
mp
->
m_sb
.
sb_fdblocks
=
lcounter
+
XFS_ALLOC_SET_ASIDE
(
mp
)
;
return
0
;
return
0
;
case
XFS_SBS_FREXTENTS
:
case
XFS_SBS_FREXTENTS
:
lcounter
=
(
long
long
)
mp
->
m_sb
.
sb_frextents
;
lcounter
=
(
long
long
)
mp
->
m_sb
.
sb_frextents
;
...
@@ -2021,7 +2004,8 @@ xfs_icsb_sync_counters_lazy(
...
@@ -2021,7 +2004,8 @@ xfs_icsb_sync_counters_lazy(
* when we get near ENOSPC.
* when we get near ENOSPC.
*/
*/
#define XFS_ICSB_INO_CNTR_REENABLE 64
#define XFS_ICSB_INO_CNTR_REENABLE 64
#define XFS_ICSB_FDBLK_CNTR_REENABLE 512
#define XFS_ICSB_FDBLK_CNTR_REENABLE(mp) \
(512 + XFS_ALLOC_SET_ASIDE(mp))
STATIC
void
STATIC
void
xfs_icsb_balance_counter
(
xfs_icsb_balance_counter
(
xfs_mount_t
*
mp
,
xfs_mount_t
*
mp
,
...
@@ -2055,7 +2039,7 @@ xfs_icsb_balance_counter(
...
@@ -2055,7 +2039,7 @@ xfs_icsb_balance_counter(
case
XFS_SBS_FDBLOCKS
:
case
XFS_SBS_FDBLOCKS
:
count
=
mp
->
m_sb
.
sb_fdblocks
;
count
=
mp
->
m_sb
.
sb_fdblocks
;
resid
=
do_div
(
count
,
weight
);
resid
=
do_div
(
count
,
weight
);
if
(
count
<
XFS_ICSB_FDBLK_CNTR_REENABLE
)
if
(
count
<
XFS_ICSB_FDBLK_CNTR_REENABLE
(
mp
)
)
goto
out
;
goto
out
;
break
;
break
;
default:
default:
...
@@ -2110,11 +2094,11 @@ xfs_icsb_modify_counters_int(
...
@@ -2110,11 +2094,11 @@ xfs_icsb_modify_counters_int(
case
XFS_SBS_FDBLOCKS
:
case
XFS_SBS_FDBLOCKS
:
BUG_ON
((
mp
->
m_resblks
-
mp
->
m_resblks_avail
)
!=
0
);
BUG_ON
((
mp
->
m_resblks
-
mp
->
m_resblks_avail
)
!=
0
);
lcounter
=
icsbp
->
icsb_fdblocks
;
lcounter
=
icsbp
->
icsb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
)
;
lcounter
+=
delta
;
lcounter
+=
delta
;
if
(
unlikely
(
lcounter
<
0
))
if
(
unlikely
(
lcounter
<
0
))
goto
slow_path
;
goto
slow_path
;
icsbp
->
icsb_fdblocks
=
lcounter
;
icsbp
->
icsb_fdblocks
=
lcounter
+
XFS_ALLOC_SET_ASIDE
(
mp
)
;
break
;
break
;
default:
default:
BUG
();
BUG
();
...
...
fs/xfs/xfs_vfsops.c
浏览文件 @
eff68d45
...
@@ -811,7 +811,8 @@ xfs_statvfs(
...
@@ -811,7 +811,8 @@ xfs_statvfs(
statp
->
f_bsize
=
sbp
->
sb_blocksize
;
statp
->
f_bsize
=
sbp
->
sb_blocksize
;
lsize
=
sbp
->
sb_logstart
?
sbp
->
sb_logblocks
:
0
;
lsize
=
sbp
->
sb_logstart
?
sbp
->
sb_logblocks
:
0
;
statp
->
f_blocks
=
sbp
->
sb_dblocks
-
lsize
;
statp
->
f_blocks
=
sbp
->
sb_dblocks
-
lsize
;
statp
->
f_bfree
=
statp
->
f_bavail
=
sbp
->
sb_fdblocks
;
statp
->
f_bfree
=
statp
->
f_bavail
=
sbp
->
sb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
);
fakeinos
=
statp
->
f_bfree
<<
sbp
->
sb_inopblog
;
fakeinos
=
statp
->
f_bfree
<<
sbp
->
sb_inopblog
;
#if XFS_BIG_INUMS
#if XFS_BIG_INUMS
fakeinos
+=
mp
->
m_inoadd
;
fakeinos
+=
mp
->
m_inoadd
;
...
...
include/asm-sh64/bug.h
浏览文件 @
eff68d45
#ifndef __ASM_SH64_BUG_H
#ifndef __ASM_SH64_BUG_H
#define __ASM_SH64_BUG_H
#define __ASM_SH64_BUG_H
#ifdef CONFIG_BUG
/*
/*
* Tell the user there is some problem, then force a segfault (in process
* Tell the user there is some problem, then force a segfault (in process
* context) or a panic (interrupt context).
* context) or a panic (interrupt context).
...
@@ -11,17 +11,9 @@
...
@@ -11,17 +11,9 @@
*(volatile int *)0 = 0; \
*(volatile int *)0 = 0; \
} while (0)
} while (0)
#define BUG_ON(condition) do { \
#define HAVE_ARCH_BUG
if (unlikely((condition)!=0)) \
#endif
BUG(); \
} while(0)
#define WARN_ON(condition) do { \
#include <asm-generic/bug.h>
if (unlikely((condition)!=0)) { \
printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
dump_stack(); \
} \
} while (0)
#endif
/* __ASM_SH64_BUG_H */
#endif
/* __ASM_SH64_BUG_H */
include/asm-sh64/byteorder.h
浏览文件 @
eff68d45
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
#include <asm/types.h>
#include <asm/types.h>
static
__inline__
_
_const__
__u32
___arch__swab32
(
__u32
x
)
static
inline
__attribute
_const__
__u32
___arch__swab32
(
__u32
x
)
{
{
__asm__
(
"byterev %0, %0
\n\t
"
__asm__
(
"byterev %0, %0
\n\t
"
"shari %0, 32, %0"
"shari %0, 32, %0"
...
@@ -23,7 +23,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
...
@@ -23,7 +23,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
return
x
;
return
x
;
}
}
static
__inline__
_
_const__
__u16
___arch__swab16
(
__u16
x
)
static
inline
__attribute
_const__
__u16
___arch__swab16
(
__u16
x
)
{
{
__asm__
(
"byterev %0, %0
\n\t
"
__asm__
(
"byterev %0, %0
\n\t
"
"shari %0, 48, %0"
"shari %0, 48, %0"
...
...
include/asm-sh64/dma-mapping.h
浏览文件 @
eff68d45
...
@@ -126,22 +126,30 @@ static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg,
...
@@ -126,22 +126,30 @@ static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg,
static
inline
void
dma_sync_single_for_cpu
(
struct
device
*
dev
,
static
inline
void
dma_sync_single_for_cpu
(
struct
device
*
dev
,
dma_addr_t
dma_handle
,
size_t
size
,
dma_addr_t
dma_handle
,
size_t
size
,
enum
dma_data_direction
dir
)
enum
dma_data_direction
dir
)
__attribute__
((
alias
(
"dma_sync_single"
)));
{
dma_sync_single
(
dev
,
dma_handle
,
size
,
dir
);
}
static
inline
void
dma_sync_single_for_device
(
struct
device
*
dev
,
static
inline
void
dma_sync_single_for_device
(
struct
device
*
dev
,
dma_addr_t
dma_handle
,
size_t
size
,
dma_addr_t
dma_handle
,
size_t
size
,
enum
dma_data_direction
dir
)
enum
dma_data_direction
dir
)
__attribute__
((
alias
(
"dma_sync_single"
)));
{
dma_sync_single
(
dev
,
dma_handle
,
size
,
dir
);
}
static
inline
void
dma_sync_sg_for_cpu
(
struct
device
*
dev
,
static
inline
void
dma_sync_sg_for_cpu
(
struct
device
*
dev
,
struct
scatterlist
*
sg
,
int
nelems
,
struct
scatterlist
*
sg
,
int
nelems
,
enum
dma_data_direction
dir
)
enum
dma_data_direction
dir
)
__attribute__
((
alias
(
"dma_sync_sg"
)));
{
dma_sync_sg
(
dev
,
sg
,
nelems
,
dir
);
}
static
inline
void
dma_sync_sg_for_device
(
struct
device
*
dev
,
static
inline
void
dma_sync_sg_for_device
(
struct
device
*
dev
,
struct
scatterlist
*
sg
,
int
nelems
,
struct
scatterlist
*
sg
,
int
nelems
,
enum
dma_data_direction
dir
)
enum
dma_data_direction
dir
)
__attribute__
((
alias
(
"dma_sync_sg"
)));
{
dma_sync_sg
(
dev
,
sg
,
nelems
,
dir
);
}
static
inline
int
dma_get_cache_alignment
(
void
)
static
inline
int
dma_get_cache_alignment
(
void
)
{
{
...
...
include/asm-sh64/io.h
浏览文件 @
eff68d45
...
@@ -123,6 +123,13 @@ void insw(unsigned long port, void *addr, unsigned long count);
...
@@ -123,6 +123,13 @@ void insw(unsigned long port, void *addr, unsigned long count);
void
outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
);
void
outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
);
void
insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
);
void
insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
);
#define __raw_readb readb
#define __raw_readw readw
#define __raw_readl readl
#define __raw_writeb writeb
#define __raw_writew writew
#define __raw_writel writel
void
memcpy_toio
(
void
__iomem
*
to
,
const
void
*
from
,
long
count
);
void
memcpy_toio
(
void
__iomem
*
to
,
const
void
*
from
,
long
count
);
void
memcpy_fromio
(
void
*
to
,
void
__iomem
*
from
,
long
count
);
void
memcpy_fromio
(
void
*
to
,
void
__iomem
*
from
,
long
count
);
...
...
include/asm-sh64/ptrace.h
浏览文件 @
eff68d45
...
@@ -28,7 +28,7 @@ struct pt_regs {
...
@@ -28,7 +28,7 @@ struct pt_regs {
#ifdef __KERNEL__
#ifdef __KERNEL__
#define user_mode(regs) (((regs)->sr & 0x40000000)==0)
#define user_mode(regs) (((regs)->sr & 0x40000000)==0)
#define instruction_pointer(regs) ((regs)->pc)
#define instruction_pointer(regs) ((regs)->pc)
#define profile_pc(regs)
instruction_pointer(regs
)
#define profile_pc(regs)
((unsigned long)instruction_pointer(regs)
)
extern
void
show_regs
(
struct
pt_regs
*
);
extern
void
show_regs
(
struct
pt_regs
*
);
#endif
#endif
...
...
include/asm-sh64/system.h
浏览文件 @
eff68d45
...
@@ -64,7 +64,7 @@ extern void __xchg_called_with_bad_pointer(void);
...
@@ -64,7 +64,7 @@ extern void __xchg_called_with_bad_pointer(void);
#define smp_read_barrier_depends() do { } while (0)
#define smp_read_barrier_depends() do { } while (0)
#endif
/* CONFIG_SMP */
#endif
/* CONFIG_SMP */
#define set_rmb(var, value) do { xchg(&var, value); } while (0)
#define set_rmb(var, value) do {
(void)
xchg(&var, value); } while (0)
#define set_mb(var, value) set_rmb(var, value)
#define set_mb(var, value) set_rmb(var, value)
/* Interrupt Control */
/* Interrupt Control */
...
...
include/asm-sh64/uaccess.h
浏览文件 @
eff68d45
...
@@ -128,25 +128,20 @@ do { \
...
@@ -128,25 +128,20 @@ do { \
#define __get_user_nocheck(x,ptr,size) \
#define __get_user_nocheck(x,ptr,size) \
({ \
({ \
long __gu_addr = (long)(ptr); \
long __gu_err, __gu_val; \
long __gu_err; \
__get_user_size((void *)&__gu_val, (long)(ptr), \
__typeof(*(ptr)) __gu_val; \
(size), __gu_err); \
__asm__ ("":"=r" (__gu_val)); \
(x) = (__typeof__(*(ptr)))__gu_val; \
__asm__ ("":"=r" (__gu_err)); \
__get_user_size((void *)&__gu_val, __gu_addr, (size), __gu_err); \
(x) = (__typeof__(*(ptr))) __gu_val; \
__gu_err; \
__gu_err; \
})
})
#define __get_user_check(x,ptr,size) \
#define __get_user_check(x,ptr,size) \
({ \
({ \
long __gu_addr = (long)(ptr); \
long __gu_addr = (long)(ptr); \
long __gu_err = -EFAULT; \
long __gu_err = -EFAULT, __gu_val; \
__typeof(*(ptr)) __gu_val; \
__asm__ ("":"=r" (__gu_val)); \
__asm__ ("":"=r" (__gu_err)); \
if (__access_ok(__gu_addr, (size))) \
if (__access_ok(__gu_addr, (size))) \
__get_user_size((void *)&__gu_val, __gu_addr, (size), __gu_err); \
__get_user_size((void *)&__gu_val, __gu_addr, \
(size), __gu_err); \
(x) = (__typeof__(*(ptr))) __gu_val; \
(x) = (__typeof__(*(ptr))) __gu_val; \
__gu_err; \
__gu_err; \
})
})
...
...
include/linux/videodev.h
浏览文件 @
eff68d45
...
@@ -14,8 +14,7 @@
...
@@ -14,8 +14,7 @@
#include <linux/videodev2.h>
#include <linux/videodev2.h>
#ifdef CONFIG_VIDEO_V4L1_COMPAT
#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
#define HAVE_V4L1 1
struct
video_capability
struct
video_capability
{
{
...
...
include/linux/videodev2.h
浏览文件 @
eff68d45
...
@@ -22,8 +22,6 @@
...
@@ -22,8 +22,6 @@
#endif
#endif
#include <linux/types.h>
#include <linux/types.h>
#define HAVE_V4L2 1
/*
/*
* Common stuff for both V4L1 and V4L2
* Common stuff for both V4L1 and V4L2
* Moved from videodev.h
* Moved from videodev.h
...
...
include/media/v4l2-dev.h
浏览文件 @
eff68d45
...
@@ -194,7 +194,7 @@ struct video_device
...
@@ -194,7 +194,7 @@ struct video_device
int
(
*
vidioc_overlay
)
(
struct
file
*
file
,
void
*
fh
,
unsigned
int
i
);
int
(
*
vidioc_overlay
)
(
struct
file
*
file
,
void
*
fh
,
unsigned
int
i
);
#ifdef
HAVE_V4L1
#ifdef
CONFIG_VIDEO_V4L1_COMPAT
/* buffer type is struct vidio_mbuf * */
/* buffer type is struct vidio_mbuf * */
int
(
*
vidiocgmbuf
)
(
struct
file
*
file
,
void
*
fh
,
struct
video_mbuf
*
p
);
int
(
*
vidiocgmbuf
)
(
struct
file
*
file
,
void
*
fh
,
struct
video_mbuf
*
p
);
#endif
#endif
...
@@ -335,7 +335,7 @@ extern int video_usercopy(struct inode *inode, struct file *file,
...
@@ -335,7 +335,7 @@ extern int video_usercopy(struct inode *inode, struct file *file,
unsigned
int
cmd
,
void
*
arg
));
unsigned
int
cmd
,
void
*
arg
));
#ifdef
HAVE_V4L1
#ifdef
CONFIG_VIDEO_V4L1_COMPAT
#include <linux/mm.h>
#include <linux/mm.h>
extern
struct
video_device
*
video_devdata
(
struct
file
*
);
extern
struct
video_device
*
video_devdata
(
struct
file
*
);
...
@@ -357,6 +357,8 @@ video_device_remove_file(struct video_device *vfd,
...
@@ -357,6 +357,8 @@ video_device_remove_file(struct video_device *vfd,
class_device_remove_file
(
&
vfd
->
class_dev
,
attr
);
class_device_remove_file
(
&
vfd
->
class_dev
,
attr
);
}
}
#endif
/* CONFIG_VIDEO_V4L1_COMPAT */
#ifdef OBSOLETE_OWNER
/* to be removed soon */
#ifdef OBSOLETE_OWNER
/* to be removed soon */
/* helper functions to access driver private data. */
/* helper functions to access driver private data. */
static
inline
void
*
video_get_drvdata
(
struct
video_device
*
dev
)
static
inline
void
*
video_get_drvdata
(
struct
video_device
*
dev
)
...
@@ -372,6 +374,5 @@ static inline void video_set_drvdata(struct video_device *dev, void *data)
...
@@ -372,6 +374,5 @@ static inline void video_set_drvdata(struct video_device *dev, void *data)
extern
int
video_exclusive_open
(
struct
inode
*
inode
,
struct
file
*
file
);
extern
int
video_exclusive_open
(
struct
inode
*
inode
,
struct
file
*
file
);
extern
int
video_exclusive_release
(
struct
inode
*
inode
,
struct
file
*
file
);
extern
int
video_exclusive_release
(
struct
inode
*
inode
,
struct
file
*
file
);
#endif
/* HAVE_V4L1 */
#endif
/* _V4L2_DEV_H */
#endif
/* _V4L2_DEV_H */
lib/Kconfig
浏览文件 @
eff68d45
...
@@ -38,6 +38,11 @@ config LIBCRC32C
...
@@ -38,6 +38,11 @@ config LIBCRC32C
require M here. See Castagnoli93.
require M here. See Castagnoli93.
Module will be libcrc32c.
Module will be libcrc32c.
config AUDIT_GENERIC
bool
depends on AUDIT && !AUDIT_ARCH
default y
#
#
# compression support is select'ed if needed
# compression support is select'ed if needed
#
#
...
...
lib/Makefile
浏览文件 @
eff68d45
...
@@ -49,6 +49,7 @@ obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
...
@@ -49,6 +49,7 @@ obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
obj-$(CONFIG_TEXTSEARCH_BM)
+=
ts_bm.o
obj-$(CONFIG_TEXTSEARCH_BM)
+=
ts_bm.o
obj-$(CONFIG_TEXTSEARCH_FSM)
+=
ts_fsm.o
obj-$(CONFIG_TEXTSEARCH_FSM)
+=
ts_fsm.o
obj-$(CONFIG_SMP)
+=
percpu_counter.o
obj-$(CONFIG_SMP)
+=
percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC)
+=
audit.o
obj-$(CONFIG_SWIOTLB)
+=
swiotlb.o
obj-$(CONFIG_SWIOTLB)
+=
swiotlb.o
...
...
arch/i386/kernel
/audit.c
→
lib
/audit.c
浏览文件 @
eff68d45
...
@@ -30,8 +30,10 @@ int audit_classify_syscall(int abi, unsigned syscall)
...
@@ -30,8 +30,10 @@ int audit_classify_syscall(int abi, unsigned syscall)
return
2
;
return
2
;
case
__NR_openat
:
case
__NR_openat
:
return
3
;
return
3
;
#ifdef __NR_socketcall
case
__NR_socketcall
:
case
__NR_socketcall
:
return
4
;
return
4
;
#endif
case
__NR_execve
:
case
__NR_execve
:
return
5
;
return
5
;
default:
default:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录