Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
eff68d45
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
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
PATCHLEVEL
=
6
SUBLEVEL
=
18
EXTRAVERSION
=
-rc
6
EXTRAVERSION
=
-rc
7
NAME
=
Crazed Snow-Weasel
# *DOCUMENTATION*
...
...
arch/i386/kernel/Makefile
浏览文件 @
eff68d45
...
...
@@ -39,7 +39,6 @@ obj-$(CONFIG_VM86) += vm86.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_HPET_TIMER)
+=
hpet.o
obj-$(CONFIG_K8_NB)
+=
k8.o
obj-$(CONFIG_AUDIT)
+=
audit.o
EXTRA_AFLAGS
:=
-traditional
...
...
arch/ia64/Kconfig
浏览文件 @
eff68d45
...
...
@@ -75,6 +75,10 @@ config DMA_IS_NORMAL
depends on IA64_SGI_SN2
default y
config AUDIT_ARCH
bool
default y
choice
prompt "System type"
default IA64_GENERIC
...
...
arch/powerpc/Kconfig
浏览文件 @
eff68d45
...
...
@@ -95,6 +95,10 @@ config GENERIC_TBSYNC
default y if PPC32 && SMP
default n
config AUDIT_ARCH
bool
default y
config DEFAULT_UIMAGE
bool
help
...
...
arch/s390/Kconfig
浏览文件 @
eff68d45
...
...
@@ -118,6 +118,10 @@ config SYSVIPC_COMPAT
depends on COMPAT && SYSVIPC
default y
config AUDIT_ARCH
bool
default y
comment "Code generation options"
choice
...
...
arch/sh64/Makefile
浏览文件 @
eff68d45
...
...
@@ -26,7 +26,6 @@ LDFLAGS += -EB -mshelf32_linux
endif
# No requirements for endianess support from AFLAGS, 'as' always run through gcc
AFLAGS
+=
-m5
-isa
=
sh64
-traditional
CFLAGS
+=
$
(
cpu-y
)
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)
enter_deep_standby
();
}
void
(
*
pm_power_off
)(
void
)
=
machine_power_off
;
EXPORT_SYMBOL
(
pm_power_off
);
void
show_regs
(
struct
pt_regs
*
regs
)
{
unsigned
long
long
ah
,
al
,
bh
,
bl
,
ch
,
cl
;
...
...
arch/sh64/mach-cayman/setup.c
浏览文件 @
eff68d45
...
...
@@ -112,8 +112,10 @@ struct resource io_resources[] = {
};
struct
resource
kram_resources
[]
=
{
{
"Kernel code"
,
0
,
0
},
/* These must be last in the array */
{
"Kernel data"
,
0
,
0
}
/* These must be last in the array */
/* 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
[]
=
{
...
...
arch/sh64/mm/ioremap.c
浏览文件 @
eff68d45
...
...
@@ -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 */
break
;
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
;
...
...
arch/sparc64/Kconfig
浏览文件 @
eff68d45
...
...
@@ -34,6 +34,10 @@ config ARCH_MAY_HAVE_PC_FDC
bool
default y
config AUDIT_ARCH
bool
default y
choice
prompt "Kernel page size"
default SPARC64_PAGE_SIZE_8KB
...
...
arch/sparc64/kernel/Makefile
浏览文件 @
eff68d45
...
...
@@ -25,6 +25,9 @@ obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_US3_FREQ)
+=
us3_cpufreq.o
obj-$(CONFIG_US2E_FREQ)
+=
us2e_cpufreq.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
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
bool
default y
config AUDIT_ARCH
bool
default y
source "init/Kconfig"
...
...
drivers/media/Kconfig
浏览文件 @
eff68d45
...
...
@@ -53,7 +53,7 @@ config VIDEO_V4L1_COMPAT
If you are unsure as to whether this is required, answer Y.
config VIDEO_V4L2
tristate
bool
default y
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
}
return
err
;
}
#ifdef CONFIG_VIDEO_V4L1_COMPAT
case
VIDIOCGMBUF
:
{
struct
video_mbuf
*
mbuf
=
arg
;
...
...
@@ -1218,6 +1219,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
mutex_unlock
(
&
q
->
lock
);
return
0
;
}
#endif
default:
return
v4l_compat_translate_ioctl
(
inode
,
file
,
cmd
,
arg
,
saa7146_video_do_ioctl
);
...
...
drivers/media/dvb/b2c2/Kconfig
浏览文件 @
eff68d45
config DVB_B2C2_FLEXCOP
tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters"
depends on DVB_CORE && I2C
select DVB_PLL
select DVB_STV0299
select DVB_MT352
select DVB_MT312
...
...
drivers/media/dvb/bt8xx/Kconfig
浏览文件 @
eff68d45
config DVB_BT8XX
tristate "BT8xx based PCI cards"
depends on DVB_CORE && PCI && I2C && VIDEO_BT848
select DVB_PLL
select DVB_MT352
select DVB_SP887X
select DVB_NXT6000
...
...
drivers/media/dvb/dvb-usb/Kconfig
浏览文件 @
eff68d45
...
...
@@ -2,6 +2,7 @@ config DVB_USB
tristate "Support for various USB DVB devices"
depends on DVB_CORE && USB && I2C
select FW_LOADER
select DVB_PLL
help
By enabling this you will be able to choose the various supported
USB1.1 and USB2.0 DVB devices.
...
...
drivers/media/dvb/frontends/Kconfig
浏览文件 @
eff68d45
...
...
@@ -6,43 +6,43 @@ comment "DVB-S (satellite) frontends"
config DVB_STV0299
tristate "ST STV0299 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_CX24110
tristate "Conexant CX24110 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_CX24123
tristate "Conexant CX24123 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_TDA8083
tristate "Philips TDA8083 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_MT312
tristate "Zarlink VP310/MT312 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_VES1X93
tristate "VLSI VES1893 or VES1993 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
config DVB_S5H1420
tristate "Samsung S5H1420 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-S tuner module. Say Y when you want to support this frontend.
...
...
@@ -51,7 +51,7 @@ comment "DVB-T (terrestrial) frontends"
config DVB_SP8870
tristate "Spase sp8870 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
A DVB-T tuner module. Say Y when you want to support this frontend.
...
...
@@ -63,7 +63,7 @@ config DVB_SP8870
config DVB_SP887X
tristate "Spase sp887x based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
A DVB-T tuner module. Say Y when you want to support this frontend.
...
...
@@ -75,25 +75,25 @@ config DVB_SP887X
config DVB_CX22700
tristate "Conexant CX22700 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_CX22702
tristate "Conexant cx22702 demodulator (OFDM)"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_L64781
tristate "LSI L64781"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_TDA1004X
tristate "Philips TDA10045H/TDA10046H based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
A DVB-T tuner module. Say Y when you want to support this frontend.
...
...
@@ -106,32 +106,32 @@ config DVB_TDA1004X
config DVB_NXT6000
tristate "NxtWave Communications NXT6000 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_MT352
tristate "Zarlink MT352 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_ZL10353
tristate "Zarlink ZL10353 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Say Y when you want to support this frontend.
config DVB_DIB3000MB
tristate "DiBcom 3000M-B"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
to support this frontend.
config DVB_DIB3000MC
tristate "DiBcom 3000P/M-C"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-T tuner module. Designed for mobile usage. Say Y when you want
to support this frontend.
...
...
@@ -141,19 +141,19 @@ comment "DVB-C (cable) frontends"
config DVB_VES1820
tristate "VLSI VES1820 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-C tuner module. Say Y when you want to support this frontend.
config DVB_TDA10021
tristate "Philips TDA10021 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
A DVB-C tuner module. Say Y when you want to support this frontend.
config DVB_STV0297
tristate "ST STV0297 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
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"
config DVB_NXT200X
tristate "NxtWave Communications NXT2002/NXT2004 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
...
...
@@ -176,7 +176,7 @@ config DVB_NXT200X
config DVB_OR51211
tristate "Oren OR51211 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
An ATSC 8VSB tuner module. Say Y when you want to support this frontend.
...
...
@@ -188,7 +188,7 @@ config DVB_OR51211
config DVB_OR51132
tristate "Oren OR51132 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
...
...
@@ -203,7 +203,7 @@ config DVB_OR51132
config DVB_BCM3510
tristate "Broadcom BCM3510"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
select FW_LOADER
help
An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
...
...
@@ -211,7 +211,7 @@ config DVB_BCM3510
config DVB_LGDT330X
tristate "LG Electronics LGDT3302/LGDT3303 based"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
to support this frontend.
...
...
@@ -220,15 +220,19 @@ config DVB_LGDT330X
comment "Miscellaneous devices"
depends on DVB_CORE
config DVB_PLL
tristate
depends on DVB_CORE && I2C
config DVB_LNBP21
tristate "LNBP21 SEC controller"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
An SEC control chip.
config DVB_ISL6421
tristate "ISL6421 SEC controller"
depends on DVB_CORE
depends on DVB_CORE
&& I2C
help
An SEC control chip.
...
...
drivers/media/dvb/frontends/Makefile
浏览文件 @
eff68d45
...
...
@@ -4,7 +4,7 @@
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_SP8870)
+=
sp8870.o
obj-$(CONFIG_DVB_CX22700)
+=
cx22700.o
...
...
drivers/media/dvb/pluto2/Kconfig
浏览文件 @
eff68d45
...
...
@@ -2,6 +2,7 @@ config DVB_PLUTO2
tristate "Pluto2 cards"
depends on DVB_CORE && PCI && I2C
select I2C_ALGOBIT
select DVB_PLL
select DVB_TDA1004X
help
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
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select FW_LOADER
select VIDEO_SAA7146_VV
select DVB_PLL
select DVB_VES1820
select DVB_VES1X93
select DVB_STV0299
...
...
@@ -61,6 +62,7 @@ config DVB_BUDGET
tristate "Budget cards"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146
select DVB_PLL
select DVB_STV0299
select DVB_VES1X93
select DVB_VES1820
...
...
@@ -83,6 +85,7 @@ config DVB_BUDGET_CI
tristate "Budget cards with onboard CI connector"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146
select DVB_PLL
select DVB_STV0297
select DVB_STV0299
select DVB_TDA1004X
...
...
@@ -104,6 +107,7 @@ config DVB_BUDGET_AV
tristate "Budget cards with analog video inputs"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146_VV
select DVB_PLL
select DVB_STV0299
select DVB_TDA1004X
select DVB_TDA10021
...
...
@@ -122,6 +126,7 @@ config DVB_BUDGET_PATCH
tristate "AV7110 cards with Budget Patch"
depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
select DVB_AV7110
select DVB_PLL
select DVB_STV0299
select DVB_VES1X93
select DVB_TDA8083
...
...
drivers/media/dvb/ttusb-budget/Kconfig
浏览文件 @
eff68d45
config DVB_TTUSB_BUDGET
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_TDA1004X
select DVB_VES1820
...
...
drivers/media/video/Kconfig
浏览文件 @
eff68d45
...
...
@@ -260,7 +260,7 @@ source "drivers/media/video/saa7134/Kconfig"
config VIDEO_MXB
tristate "Siemens-Nixdorf 'Multimedia eXtension Board'"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_TUNER
---help---
...
...
@@ -272,7 +272,7 @@ config VIDEO_MXB
config VIDEO_DPC
tristate "Philips-Semiconductors 'dpc7146 demonstration board'"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_V4L2
---help---
...
...
@@ -287,7 +287,7 @@ config VIDEO_DPC
config VIDEO_HEXIUM_ORION
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_V4L2
---help---
...
...
@@ -299,7 +299,7 @@ config VIDEO_HEXIUM_ORION
config VIDEO_HEXIUM_GEMINI
tristate "Hexium Gemini frame grabber"
depends on PCI && VIDEO_V4L1
depends on PCI && VIDEO_V4L1
&& I2C
select VIDEO_SAA7146_VV
select VIDEO_V4L2
---help---
...
...
drivers/media/video/bt8xx/bttv-input.c
浏览文件 @
eff68d45
...
...
@@ -303,6 +303,7 @@ int bttv_input_init(struct bttv *btv)
ir
->
mask_keyup
=
0x010000
;
ir
->
polling
=
50
;
// ms
break
;
case
BTTV_BOARD_PV_M4900
:
case
BTTV_BOARD_PV_BT878P_9B
:
case
BTTV_BOARD_PV_BT878P_PLUS
:
ir_codes
=
ir_codes_pixelview
;
...
...
drivers/media/video/cx88/Kconfig
浏览文件 @
eff68d45
...
...
@@ -51,6 +51,7 @@ config VIDEO_CX88_DVB
tristate "DVB/ATSC Support for cx2388x based TV cards"
depends on VIDEO_CX88 && DVB_CORE
select VIDEO_BUF_DVB
select DVB_PLL
---help---
This adds support for DVB/ATSC cards based on the
Conexant 2388x chip.
...
...
drivers/media/video/saa7134/Kconfig
浏览文件 @
eff68d45
...
...
@@ -40,6 +40,7 @@ config VIDEO_SAA7134_DVB
depends on VIDEO_SAA7134 && DVB_CORE
select VIDEO_BUF_DVB
select FW_LOADER
select DVB_PLL
---help---
This adds support for DVB cards based on the
Philips saa7134 chip.
...
...
drivers/media/video/tuner-types.c
浏览文件 @
eff68d45
...
...
@@ -926,11 +926,17 @@ static struct tuner_params tuner_lg_tdvs_h06xf_params[] = {
/* ------------ 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
[]
=
{
{
.
type
=
TUNER_PARAM_TYPE_PAL
,
.
ranges
=
tuner_
tena_9533_di
_pal_ranges
,
.
count
=
ARRAY_SIZE
(
tuner_
tena_9533_di
_pal_ranges
),
.
ranges
=
tuner_
ymec_tvf66t5_b_dff
_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 {
};
/* whoops, this one is undeclared if !v4l2 */
#ifndef
HAVE
_V4L2
#ifndef
CONFIG_VIDEO
_V4L2
struct
v4l2_jpegcompression
{
int
quality
;
int
APPn
;
...
...
drivers/media/video/zoran_driver.c
浏览文件 @
eff68d45
...
...
@@ -86,7 +86,7 @@
#include "zoran_device.h"
#include "zoran_card.h"
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* we declare some card type definitions here, they mean
* the same as the v4l1 ZORAN_VID_TYPE above, except it's v4l2 */
#define ZORAN_V4L2_VID_FLAGS ( \
...
...
@@ -103,7 +103,7 @@ const struct zoran_format zoran_formats[] = {
{
.
name
=
"15-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB555
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_RGB555
,
#else
...
...
@@ -117,7 +117,7 @@ const struct zoran_format zoran_formats[] = {
},
{
.
name
=
"16-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB565
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_RGB565
,
#else
...
...
@@ -131,7 +131,7 @@ const struct zoran_format zoran_formats[] = {
},
{
.
name
=
"24-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB24
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_BGR24
,
#else
...
...
@@ -145,7 +145,7 @@ const struct zoran_format zoran_formats[] = {
},
{
.
name
=
"32-bit RGB"
,
.
palette
=
VIDEO_PALETTE_RGB32
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
#ifdef __LITTLE_ENDIAN
.
fourcc
=
V4L2_PIX_FMT_BGR32
,
#else
...
...
@@ -159,7 +159,7 @@ const struct zoran_format zoran_formats[] = {
},
{
.
name
=
"4:2:2, packed, YUYV"
,
.
palette
=
VIDEO_PALETTE_YUV422
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
fourcc
=
V4L2_PIX_FMT_YUYV
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
#endif
...
...
@@ -169,7 +169,7 @@ const struct zoran_format zoran_formats[] = {
},
{
.
name
=
"Hardware-encoded Motion-JPEG"
,
.
palette
=
-
1
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
fourcc
=
V4L2_PIX_FMT_MJPEG
,
.
colorspace
=
V4L2_COLORSPACE_SMPTE170M
,
#endif
...
...
@@ -210,7 +210,7 @@ static int lock_norm = 0; /* 1=Don't change TV standard (norm) */
module_param
(
lock_norm
,
int
,
0
);
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
* we calculate the nearest higher power-of-two, which
* will be the recommended buffersize */
...
...
@@ -1761,7 +1761,7 @@ setup_overlay (struct file *file,
return
wait_grab_pending
(
zr
);
}
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* get the status of a buffer in the clients buffer queue */
static
int
zoran_v4l2_buffer_status
(
struct
file
*
file
,
...
...
@@ -2676,7 +2676,7 @@ zoran_do_ioctl (struct inode *inode,
}
break
;
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
/* The new video4linux2 capture interface - much nicer than video4linux1, since
* it allows for integrating the JPEG capturing calls inside standard v4l2
...
...
@@ -4689,7 +4689,7 @@ static struct file_operations zoran_fops = {
struct
video_device
zoran_template
__devinitdata
=
{
.
name
=
ZORAN_NAME
,
.
type
=
ZORAN_VID_TYPE
,
#ifdef
HAVE
_V4L2
#ifdef
CONFIG_VIDEO
_V4L2
.
type2
=
ZORAN_V4L2_VID_FLAGS
,
#endif
.
hardware
=
ZORAN_HARDWARE
,
...
...
drivers/serial/sh-sci.c
浏览文件 @
eff68d45
...
...
@@ -1579,7 +1579,7 @@ static int __init serial_console_setup(struct console *co, char *options)
h8300_sci_enable
(
port
,
sci_enable
);
#endif
#elif defined(CONFIG_SUPERH64)
port
->
uartclk
=
current_cpu_
info
.
module_clock
*
16
;
port
->
uartclk
=
current_cpu_
data
.
module_clock
*
16
;
#else
{
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
...
...
@@ -1720,7 +1720,7 @@ static int __init sci_init(void)
#if defined(__H8300H__) || defined(__H8300S__)
sciport
->
port
.
uartclk
=
CONFIG_CPU_CLOCK
;
#elif defined(CONFIG_SUPERH64)
sciport
->
port
.
uartclk
=
current_cpu_
info
.
module_clock
*
16
;
sciport
->
port
.
uartclk
=
current_cpu_
data
.
module_clock
*
16
;
#else
struct
clk
*
clk
=
clk_get
(
"module_clk"
);
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)
if
(
yld
==
NULL
)
return
err
;
if
(
yld
->
urb_irq
)
{
usb_kill_urb
(
yld
->
urb_irq
);
usb_free_urb
(
yld
->
urb_irq
);
}
if
(
yld
->
urb_ctl
)
usb_free_urb
(
yld
->
urb_ctl
);
usb_kill_urb
(
yld
->
urb_irq
);
/* parameter validation in core/urb */
usb_kill_urb
(
yld
->
urb_ctl
);
/* parameter validation in core/urb */
if
(
yld
->
idev
)
{
if
(
err
)
input_free_device
(
yld
->
idev
);
...
...
@@ -831,6 +828,9 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
if
(
yld
->
irq_data
)
usb_buffer_free
(
yld
->
udev
,
USB_PKT_LEN
,
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
);
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
length
+=
sprintf
(
page
+
length
,
" path:%s"
,
tmp
);
length
+=
sprintf
(
page
+
length
,
"
\n
"
);
if
((
length
+
begin
)
>
(
off
+
count
))
if
((
length
+
begin
)
>
(
off
+
count
))
{
usb_serial_put
(
serial
);
goto
done
;
}
if
((
length
+
begin
)
<
off
)
{
begin
+=
length
;
length
=
0
;
...
...
fs/cifs/readdir.c
浏览文件 @
eff68d45
...
...
@@ -82,7 +82,6 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
if
(
*
ptmp_inode
==
NULL
)
return
rc
;
rc
=
1
;
d_instantiate
(
tmp_dentry
,
*
ptmp_inode
);
}
}
else
{
tmp_dentry
=
d_alloc
(
file
->
f_dentry
,
qstring
);
...
...
@@ -99,9 +98,7 @@ static int construct_dentry(struct qstr *qstring, struct file *file,
tmp_dentry
->
d_op
=
&
cifs_dentry_ops
;
if
(
*
ptmp_inode
==
NULL
)
return
rc
;
rc
=
1
;
d_instantiate
(
tmp_dentry
,
*
ptmp_inode
);
d_rehash
(
tmp_dentry
);
rc
=
2
;
}
tmp_dentry
->
d_time
=
jiffies
;
...
...
@@ -870,6 +867,12 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
pfindEntry
,
&
obj_type
,
rc
);
else
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
,
...
...
fs/xfs/linux-2.6/xfs_aops.c
浏览文件 @
eff68d45
...
...
@@ -1390,11 +1390,19 @@ xfs_vm_direct_IO(
iocb
->
private
=
xfs_alloc_ioend
(
inode
,
IOMAP_UNWRITTEN
);
ret
=
blockdev_direct_IO_own_locking
(
rw
,
iocb
,
inode
,
iomap
.
iomap_target
->
bt_bdev
,
iov
,
offset
,
nr_segs
,
xfs_get_blocks_direct
,
xfs_end_io_direct
);
if
(
rw
==
WRITE
)
{
ret
=
blockdev_direct_IO_own_locking
(
rw
,
iocb
,
inode
,
iomap
.
iomap_target
->
bt_bdev
,
iov
,
offset
,
nr_segs
,
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
))
xfs_destroy_ioend
(
iocb
->
private
);
...
...
fs/xfs/linux-2.6/xfs_lrw.c
浏览文件 @
eff68d45
...
...
@@ -264,7 +264,9 @@ xfs_read(
dmflags
,
&
locktype
);
if
(
ret
)
{
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(
bhv_vop_flushinval_pages
(
vp
,
ctooff
(
offtoct
(
*
offset
)),
-
1
,
FI_REMAPF_LOCKED
);
if
(
unlikely
(
ioflags
&
IO_ISDIRECT
))
mutex_unlock
(
&
inode
->
i_mutex
);
xfs_rw_enter_trace
(
XFS_READ_ENTER
,
&
ip
->
i_iocore
,
(
void
*
)
iovp
,
segs
,
*
offset
,
ioflags
);
ret
=
__generic_file_aio_read
(
iocb
,
iovp
,
segs
,
offset
);
...
...
@@ -281,10 +286,6 @@ xfs_read(
XFS_STATS_ADD
(
xs_read_bytes
,
ret
);
xfs_iunlock
(
ip
,
XFS_IOLOCK_SHARED
);
unlock_mutex:
if
(
unlikely
(
ioflags
&
IO_ISDIRECT
))
mutex_unlock
(
&
inode
->
i_mutex
);
return
ret
;
}
...
...
@@ -390,6 +391,8 @@ xfs_splice_write(
xfs_inode_t
*
ip
=
XFS_BHVTOI
(
bdp
);
xfs_mount_t
*
mp
=
ip
->
i_mount
;
ssize_t
ret
;
struct
inode
*
inode
=
outfilp
->
f_mapping
->
host
;
xfs_fsize_t
isize
;
XFS_STATS_INC
(
xs_write_calls
);
if
(
XFS_FORCED_SHUTDOWN
(
ip
->
i_mount
))
...
...
@@ -416,6 +419,20 @@ xfs_splice_write(
if
(
ret
>
0
)
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
);
return
ret
;
}
...
...
fs/xfs/quota/xfs_qm_bhv.c
浏览文件 @
eff68d45
...
...
@@ -203,7 +203,7 @@ xfs_qm_statvfs(
if
(
error
||
!
vnode
)
return
error
;
mp
=
XFS_BHVTOM
(
bhv
);
mp
=
xfs_vfstom
(
bhvtovfs
(
bhv
)
);
ip
=
xfs_vtoi
(
vnode
);
if
(
!
(
ip
->
i_d
.
di_flags
&
XFS_DIFLAG_PROJINHERIT
))
...
...
fs/xfs/xfs_alloc.h
浏览文件 @
eff68d45
...
...
@@ -43,6 +43,26 @@ typedef enum xfs_alloctype
#define XFS_ALLOC_FLAG_TRYLOCK 0x00000001
/* use trylock for buffer locking */
#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.
* 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(
xfs_icsb_sync_counters_lazy
(
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
->
freeino
=
mp
->
m_sb
.
sb_ifree
;
cnt
->
allocino
=
mp
->
m_sb
.
sb_icount
;
...
...
@@ -519,15 +519,19 @@ xfs_reserve_blocks(
}
mp
->
m_resblks
=
request
;
}
else
{
__int64_t
free
;
free
=
mp
->
m_sb
.
sb_fdblocks
-
XFS_ALLOC_SET_ASIDE
(
mp
);
delta
=
request
-
mp
->
m_resblks
;
lcounter
=
mp
->
m_sb
.
sb_fdblocks
-
delta
;
lcounter
=
free
-
delta
;
if
(
lcounter
<
0
)
{
/* We can't satisfy the request, just get what we can */
mp
->
m_resblks
+=
mp
->
m_sb
.
sb_fdblocks
;
mp
->
m_resblks_avail
+=
mp
->
m_sb
.
sb_fdblocks
;
mp
->
m_sb
.
sb_fdblocks
=
0
;
mp
->
m_resblks
+=
free
;
mp
->
m_resblks_avail
+=
free
;
mp
->
m_sb
.
sb_fdblocks
=
XFS_ALLOC_SET_ASIDE
(
mp
)
;
}
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_avail
+=
delta
;
}
...
...
fs/xfs/xfs_mount.c
浏览文件 @
eff68d45
...
...
@@ -1243,24 +1243,6 @@ xfs_mod_sb(xfs_trans_t *tp, __int64_t fields)
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
...
...
@@ -1306,7 +1288,8 @@ xfs_mod_incore_sb_unlocked(xfs_mount_t *mp, xfs_sb_field_t field,
return
0
;
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
);
if
(
delta
>
0
)
{
/* Putting blocks back */
...
...
@@ -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
;
case
XFS_SBS_FREXTENTS
:
lcounter
=
(
long
long
)
mp
->
m_sb
.
sb_frextents
;
...
...
@@ -2021,7 +2004,8 @@ xfs_icsb_sync_counters_lazy(
* when we get near ENOSPC.
*/
#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
xfs_icsb_balance_counter
(
xfs_mount_t
*
mp
,
...
...
@@ -2055,7 +2039,7 @@ xfs_icsb_balance_counter(
case
XFS_SBS_FDBLOCKS
:
count
=
mp
->
m_sb
.
sb_fdblocks
;
resid
=
do_div
(
count
,
weight
);
if
(
count
<
XFS_ICSB_FDBLK_CNTR_REENABLE
)
if
(
count
<
XFS_ICSB_FDBLK_CNTR_REENABLE
(
mp
)
)
goto
out
;
break
;
default:
...
...
@@ -2110,11 +2094,11 @@ xfs_icsb_modify_counters_int(
case
XFS_SBS_FDBLOCKS
:
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
;
if
(
unlikely
(
lcounter
<
0
))
goto
slow_path
;
icsbp
->
icsb_fdblocks
=
lcounter
;
icsbp
->
icsb_fdblocks
=
lcounter
+
XFS_ALLOC_SET_ASIDE
(
mp
)
;
break
;
default:
BUG
();
...
...
fs/xfs/xfs_vfsops.c
浏览文件 @
eff68d45
...
...
@@ -811,7 +811,8 @@ xfs_statvfs(
statp
->
f_bsize
=
sbp
->
sb_blocksize
;
lsize
=
sbp
->
sb_logstart
?
sbp
->
sb_logblocks
:
0
;
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
;
#if XFS_BIG_INUMS
fakeinos
+=
mp
->
m_inoadd
;
...
...
include/asm-sh64/bug.h
浏览文件 @
eff68d45
#ifndef __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
* context) or a panic (interrupt context).
...
...
@@ -11,17 +11,9 @@
*(volatile int *)0 = 0; \
} while (0)
#define BUG_ON(condition) do { \
if (unlikely((condition)!=0)) \
BUG(); \
} while(0)
#define HAVE_ARCH_BUG
#endif
#define WARN_ON(condition) do { \
if (unlikely((condition)!=0)) { \
printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
dump_stack(); \
} \
} while (0)
#include <asm-generic/bug.h>
#endif
/* __ASM_SH64_BUG_H */
include/asm-sh64/byteorder.h
浏览文件 @
eff68d45
...
...
@@ -14,7 +14,7 @@
#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
"
"shari %0, 32, %0"
...
...
@@ -23,7 +23,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 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
"
"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,
static
inline
void
dma_sync_single_for_cpu
(
struct
device
*
dev
,
dma_addr_t
dma_handle
,
size_t
size
,
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
,
dma_addr_t
dma_handle
,
size_t
size
,
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
,
struct
scatterlist
*
sg
,
int
nelems
,
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
,
struct
scatterlist
*
sg
,
int
nelems
,
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
)
{
...
...
include/asm-sh64/io.h
浏览文件 @
eff68d45
...
...
@@ -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
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_fromio
(
void
*
to
,
void
__iomem
*
from
,
long
count
);
...
...
include/asm-sh64/ptrace.h
浏览文件 @
eff68d45
...
...
@@ -28,7 +28,7 @@ struct pt_regs {
#ifdef __KERNEL__
#define user_mode(regs) (((regs)->sr & 0x40000000)==0)
#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
*
);
#endif
...
...
include/asm-sh64/system.h
浏览文件 @
eff68d45
...
...
@@ -64,7 +64,7 @@ extern void __xchg_called_with_bad_pointer(void);
#define smp_read_barrier_depends() do { } while (0)
#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)
/* Interrupt Control */
...
...
include/asm-sh64/uaccess.h
浏览文件 @
eff68d45
...
...
@@ -128,25 +128,20 @@ do { \
#define __get_user_nocheck(x,ptr,size) \
({ \
long __gu_addr = (long)(ptr); \
long __gu_err; \
__typeof(*(ptr)) __gu_val; \
__asm__ ("":"=r" (__gu_val)); \
__asm__ ("":"=r" (__gu_err)); \
__get_user_size((void *)&__gu_val, __gu_addr, (size), __gu_err); \
(x) = (__typeof__(*(ptr))) __gu_val; \
long __gu_err, __gu_val; \
__get_user_size((void *)&__gu_val, (long)(ptr), \
(size), __gu_err); \
(x) = (__typeof__(*(ptr)))__gu_val; \
__gu_err; \
})
#define __get_user_check(x,ptr,size) \
({ \
long __gu_addr = (long)(ptr); \
long __gu_err = -EFAULT; \
__typeof(*(ptr)) __gu_val; \
__asm__ ("":"=r" (__gu_val)); \
__asm__ ("":"=r" (__gu_err)); \
long __gu_err = -EFAULT, __gu_val; \
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; \
__gu_err; \
})
...
...
include/linux/videodev.h
浏览文件 @
eff68d45
...
...
@@ -14,8 +14,7 @@
#include <linux/videodev2.h>
#ifdef CONFIG_VIDEO_V4L1_COMPAT
#define HAVE_V4L1 1
#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
struct
video_capability
{
...
...
include/linux/videodev2.h
浏览文件 @
eff68d45
...
...
@@ -22,8 +22,6 @@
#endif
#include <linux/types.h>
#define HAVE_V4L2 1
/*
* Common stuff for both V4L1 and V4L2
* Moved from videodev.h
...
...
include/media/v4l2-dev.h
浏览文件 @
eff68d45
...
...
@@ -194,7 +194,7 @@ struct video_device
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 * */
int
(
*
vidiocgmbuf
)
(
struct
file
*
file
,
void
*
fh
,
struct
video_mbuf
*
p
);
#endif
...
...
@@ -335,7 +335,7 @@ extern int video_usercopy(struct inode *inode, struct file *file,
unsigned
int
cmd
,
void
*
arg
));
#ifdef
HAVE_V4L1
#ifdef
CONFIG_VIDEO_V4L1_COMPAT
#include <linux/mm.h>
extern
struct
video_device
*
video_devdata
(
struct
file
*
);
...
...
@@ -357,6 +357,8 @@ video_device_remove_file(struct video_device *vfd,
class_device_remove_file
(
&
vfd
->
class_dev
,
attr
);
}
#endif
/* CONFIG_VIDEO_V4L1_COMPAT */
#ifdef OBSOLETE_OWNER
/* to be removed soon */
/* helper functions to access driver private data. */
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)
extern
int
video_exclusive_open
(
struct
inode
*
inode
,
struct
file
*
file
);
extern
int
video_exclusive_release
(
struct
inode
*
inode
,
struct
file
*
file
);
#endif
/* HAVE_V4L1 */
#endif
/* _V4L2_DEV_H */
lib/Kconfig
浏览文件 @
eff68d45
...
...
@@ -38,6 +38,11 @@ config LIBCRC32C
require M here. See Castagnoli93.
Module will be libcrc32c.
config AUDIT_GENERIC
bool
depends on AUDIT && !AUDIT_ARCH
default y
#
# compression support is select'ed if needed
#
...
...
lib/Makefile
浏览文件 @
eff68d45
...
...
@@ -49,6 +49,7 @@ obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
obj-$(CONFIG_TEXTSEARCH_BM)
+=
ts_bm.o
obj-$(CONFIG_TEXTSEARCH_FSM)
+=
ts_fsm.o
obj-$(CONFIG_SMP)
+=
percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC)
+=
audit.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)
return
2
;
case
__NR_openat
:
return
3
;
#ifdef __NR_socketcall
case
__NR_socketcall
:
return
4
;
#endif
case
__NR_execve
:
return
5
;
default:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录