Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
0db169f9
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
0db169f9
编写于
19年前
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
上级
d58a75ef
6e87abd0
master
alk-4.19.24
alk-4.19.30
alk-4.19.34
alk-4.19.36
alk-4.19.43
alk-4.19.48
alk-4.19.57
ck-4.19.67
ck-4.19.81
ck-4.19.91
github/fork/deepanshu1422/fix-typo-in-comment
github/fork/haosdent/fix-typo
linux-next
v4.19.91
v4.19.90
v4.19.89
v4.19.88
v4.19.87
v4.19.86
v4.19.85
v4.19.84
v4.19.83
v4.19.82
v4.19.81
v4.19.80
v4.19.79
v4.19.78
v4.19.77
v4.19.76
v4.19.75
v4.19.74
v4.19.73
v4.19.72
v4.19.71
v4.19.70
v4.19.69
v4.19.68
v4.19.67
v4.19.66
v4.19.65
v4.19.64
v4.19.63
v4.19.62
v4.19.61
v4.19.60
v4.19.59
v4.19.58
v4.19.57
v4.19.56
v4.19.55
v4.19.54
v4.19.53
v4.19.52
v4.19.51
v4.19.50
v4.19.49
v4.19.48
v4.19.47
v4.19.46
v4.19.45
v4.19.44
v4.19.43
v4.19.42
v4.19.41
v4.19.40
v4.19.39
v4.19.38
v4.19.37
v4.19.36
v4.19.35
v4.19.34
v4.19.33
v4.19.32
v4.19.31
v4.19.30
v4.19.29
v4.19.28
v4.19.27
v4.19.26
v4.19.25
v4.19.24
v4.19.23
v4.19.22
v4.19.21
v4.19.20
v4.19.19
v4.19.18
v4.19.17
v4.19.16
v4.19.15
v4.19.14
v4.19.13
v4.19.12
v4.19.11
v4.19.10
v4.19.9
v4.19.8
v4.19.7
v4.19.6
v4.19.5
v4.19.4
v4.19.3
v4.19.2
v4.19.1
v4.19
v4.19-rc8
v4.19-rc7
v4.19-rc6
v4.19-rc5
v4.19-rc4
v4.19-rc3
v4.19-rc2
v4.19-rc1
ck-release-21
ck-release-20
ck-release-19.2
ck-release-19.1
ck-release-19
ck-release-18
ck-release-17.2
ck-release-17.1
ck-release-17
ck-release-16
ck-release-15.1
ck-release-15
ck-release-14
ck-release-13.2
ck-release-13
ck-release-12
ck-release-11
ck-release-10
ck-release-9
ck-release-7
alk-release-15
alk-release-14
alk-release-13.2
alk-release-13
alk-release-12
alk-release-11
alk-release-10
alk-release-9
alk-release-7
无相关合并请求
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
205 addition
and
4 deletion
+205
-4
drivers/media/dvb/cinergyT2/cinergyT2.c
drivers/media/dvb/cinergyT2/cinergyT2.c
+5
-4
fs/compat_ioctl.c
fs/compat_ioctl.c
+133
-0
include/linux/compat_ioctl.h
include/linux/compat_ioctl.h
+67
-0
未找到文件。
drivers/media/dvb/cinergyT2/cinergyT2.c
浏览文件 @
0db169f9
...
...
@@ -276,7 +276,7 @@ static void cinergyt2_free_stream_urbs (struct cinergyt2 *cinergyt2)
if
(
cinergyt2
->
stream_urb
[
i
])
usb_free_urb
(
cinergyt2
->
stream_urb
[
i
]);
pci_free_consistent
(
NULL
,
STREAM_URB_COUNT
*
STREAM_BUF_SIZE
,
usb_buffer_free
(
cinergyt2
->
udev
,
STREAM_URB_COUNT
*
STREAM_BUF_SIZE
,
cinergyt2
->
streambuf
,
cinergyt2
->
streambuf_dmahandle
);
}
...
...
@@ -284,9 +284,8 @@ static int cinergyt2_alloc_stream_urbs (struct cinergyt2 *cinergyt2)
{
int
i
;
cinergyt2
->
streambuf
=
pci_alloc_consistent
(
NULL
,
STREAM_URB_COUNT
*
STREAM_BUF_SIZE
,
&
cinergyt2
->
streambuf_dmahandle
);
cinergyt2
->
streambuf
=
usb_buffer_alloc
(
cinergyt2
->
udev
,
STREAM_URB_COUNT
*
STREAM_BUF_SIZE
,
SLAB_KERNEL
,
&
cinergyt2
->
streambuf_dmahandle
);
if
(
!
cinergyt2
->
streambuf
)
{
dprintk
(
1
,
"failed to alloc consistent stream memory area, bailing out!
\n
"
);
return
-
ENOMEM
;
...
...
@@ -780,6 +779,8 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2)
input_register_device
(
cinergyt2
->
rc_input_dev
);
schedule_delayed_work
(
&
cinergyt2
->
rc_query_work
,
HZ
/
2
);
return
0
;
}
static
void
cinergyt2_unregister_rc
(
struct
cinergyt2
*
cinergyt2
)
...
...
This diff is collapsed.
Click to expand it.
fs/compat_ioctl.c
浏览文件 @
0db169f9
...
...
@@ -121,6 +121,11 @@
#include <linux/hiddev.h>
#include <linux/dvb/audio.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>
#include <linux/dvb/video.h>
#undef INCLUDES
#endif
...
...
@@ -413,6 +418,128 @@ static int do_video_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
return
err
;
}
struct
compat_dmx_event
{
dmx_event_t
event
;
compat_time_t
timeStamp
;
union
{
dmx_scrambling_status_t
scrambling
;
}
u
;
};
static
int
do_dmx_get_event
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
dmx_event
kevent
;
mm_segment_t
old_fs
=
get_fs
();
int
err
;
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
&
kevent
);
set_fs
(
old_fs
);
if
(
!
err
)
{
struct
compat_dmx_event
__user
*
up
=
compat_ptr
(
arg
);
err
=
put_user
(
kevent
.
event
,
&
up
->
event
);
err
|=
put_user
(
kevent
.
timeStamp
,
&
up
->
timeStamp
);
err
|=
put_user
(
kevent
.
u
.
scrambling
,
&
up
->
u
.
scrambling
);
if
(
err
)
err
=
-
EFAULT
;
}
return
err
;
}
struct
compat_video_event
{
int32_t
type
;
compat_time_t
timestamp
;
union
{
video_size_t
size
;
unsigned
int
frame_rate
;
}
u
;
};
static
int
do_video_get_event
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
video_event
kevent
;
mm_segment_t
old_fs
=
get_fs
();
int
err
;
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
&
kevent
);
set_fs
(
old_fs
);
if
(
!
err
)
{
struct
compat_video_event
__user
*
up
=
compat_ptr
(
arg
);
err
=
put_user
(
kevent
.
type
,
&
up
->
type
);
err
|=
put_user
(
kevent
.
timestamp
,
&
up
->
timestamp
);
err
|=
put_user
(
kevent
.
u
.
size
.
w
,
&
up
->
u
.
size
.
w
);
err
|=
put_user
(
kevent
.
u
.
size
.
h
,
&
up
->
u
.
size
.
h
);
err
|=
put_user
(
kevent
.
u
.
size
.
aspect_ratio
,
&
up
->
u
.
size
.
aspect_ratio
);
if
(
err
)
err
=
-
EFAULT
;
}
return
err
;
}
struct
compat_video_still_picture
{
compat_uptr_t
iFrame
;
int32_t
size
;
};
static
int
do_video_stillpicture
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
compat_video_still_picture
__user
*
up
;
struct
video_still_picture
__user
*
up_native
;
compat_uptr_t
fp
;
int32_t
size
;
int
err
;
up
=
(
struct
compat_video_still_picture
__user
*
)
arg
;
err
=
get_user
(
fp
,
&
up
->
iFrame
);
err
|=
get_user
(
size
,
&
up
->
size
);
if
(
err
)
return
-
EFAULT
;
up_native
=
compat_alloc_user_space
(
sizeof
(
struct
video_still_picture
));
put_user
(
compat_ptr
(
fp
),
&
up_native
->
iFrame
);
put_user
(
size
,
&
up_native
->
size
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
up_native
);
return
err
;
}
struct
compat_video_spu_palette
{
int
length
;
compat_uptr_t
palette
;
};
static
int
do_video_set_spu_palette
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
compat_video_spu_palette
__user
*
up
;
struct
video_spu_palette
__user
*
up_native
;
compat_uptr_t
palp
;
int
length
,
err
;
up
=
(
struct
compat_video_spu_palette
__user
*
)
arg
;
err
=
get_user
(
palp
,
&
up
->
palette
);
err
|=
get_user
(
length
,
&
up
->
length
);
up_native
=
compat_alloc_user_space
(
sizeof
(
struct
video_spu_palette
));
put_user
(
compat_ptr
(
palp
),
&
up_native
->
palette
);
put_user
(
length
,
&
up_native
->
length
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
up_native
);
return
err
;
}
#ifdef CONFIG_NET
static
int
do_siocgstamp
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
...
...
@@ -2954,5 +3081,11 @@ HANDLE_IOCTL(NCP_IOC_GETPRIVATEDATA_32, do_ncp_getprivatedata)
HANDLE_IOCTL
(
NCP_IOC_SETPRIVATEDATA_32
,
do_ncp_setprivatedata
)
#endif
/* dvb */
HANDLE_IOCTL
(
DMX_GET_EVENT
,
do_dmx_get_event
)
HANDLE_IOCTL
(
VIDEO_GET_EVENT
,
do_video_get_event
)
HANDLE_IOCTL
(
VIDEO_STILLPICTURE
,
do_video_stillpicture
)
HANDLE_IOCTL
(
VIDEO_SET_SPU_PALETTE
,
do_video_set_spu_palette
)
#undef DECLARES
#endif
This diff is collapsed.
Click to expand it.
include/linux/compat_ioctl.h
浏览文件 @
0db169f9
...
...
@@ -795,3 +795,70 @@ COMPATIBLE_IOCTL(HIDIOCGFLAG)
COMPATIBLE_IOCTL
(
HIDIOCSFLAG
)
COMPATIBLE_IOCTL
(
HIDIOCGCOLLECTIONINDEX
)
COMPATIBLE_IOCTL
(
HIDIOCGCOLLECTIONINFO
)
/* dvb */
COMPATIBLE_IOCTL
(
AUDIO_STOP
)
COMPATIBLE_IOCTL
(
AUDIO_PLAY
)
COMPATIBLE_IOCTL
(
AUDIO_PAUSE
)
COMPATIBLE_IOCTL
(
AUDIO_CONTINUE
)
COMPATIBLE_IOCTL
(
AUDIO_SELECT_SOURCE
)
COMPATIBLE_IOCTL
(
AUDIO_SET_MUTE
)
COMPATIBLE_IOCTL
(
AUDIO_SET_AV_SYNC
)
COMPATIBLE_IOCTL
(
AUDIO_SET_BYPASS_MODE
)
COMPATIBLE_IOCTL
(
AUDIO_CHANNEL_SELECT
)
COMPATIBLE_IOCTL
(
AUDIO_GET_STATUS
)
COMPATIBLE_IOCTL
(
AUDIO_GET_CAPABILITIES
)
COMPATIBLE_IOCTL
(
AUDIO_CLEAR_BUFFER
)
COMPATIBLE_IOCTL
(
AUDIO_SET_ID
)
COMPATIBLE_IOCTL
(
AUDIO_SET_MIXER
)
COMPATIBLE_IOCTL
(
AUDIO_SET_STREAMTYPE
)
COMPATIBLE_IOCTL
(
AUDIO_SET_EXT_ID
)
COMPATIBLE_IOCTL
(
AUDIO_SET_ATTRIBUTES
)
COMPATIBLE_IOCTL
(
AUDIO_SET_KARAOKE
)
COMPATIBLE_IOCTL
(
DMX_START
)
COMPATIBLE_IOCTL
(
DMX_STOP
)
COMPATIBLE_IOCTL
(
DMX_SET_FILTER
)
COMPATIBLE_IOCTL
(
DMX_SET_PES_FILTER
)
COMPATIBLE_IOCTL
(
DMX_SET_BUFFER_SIZE
)
COMPATIBLE_IOCTL
(
DMX_GET_PES_PIDS
)
COMPATIBLE_IOCTL
(
DMX_GET_CAPS
)
COMPATIBLE_IOCTL
(
DMX_SET_SOURCE
)
COMPATIBLE_IOCTL
(
DMX_GET_STC
)
COMPATIBLE_IOCTL
(
FE_GET_INFO
)
COMPATIBLE_IOCTL
(
FE_DISEQC_RESET_OVERLOAD
)
COMPATIBLE_IOCTL
(
FE_DISEQC_SEND_MASTER_CMD
)
COMPATIBLE_IOCTL
(
FE_DISEQC_RECV_SLAVE_REPLY
)
COMPATIBLE_IOCTL
(
FE_DISEQC_SEND_BURST
)
COMPATIBLE_IOCTL
(
FE_SET_TONE
)
COMPATIBLE_IOCTL
(
FE_SET_VOLTAGE
)
COMPATIBLE_IOCTL
(
FE_ENABLE_HIGH_LNB_VOLTAGE
)
COMPATIBLE_IOCTL
(
FE_READ_STATUS
)
COMPATIBLE_IOCTL
(
FE_READ_BER
)
COMPATIBLE_IOCTL
(
FE_READ_SIGNAL_STRENGTH
)
COMPATIBLE_IOCTL
(
FE_READ_SNR
)
COMPATIBLE_IOCTL
(
FE_READ_UNCORRECTED_BLOCKS
)
COMPATIBLE_IOCTL
(
FE_SET_FRONTEND
)
COMPATIBLE_IOCTL
(
FE_GET_FRONTEND
)
COMPATIBLE_IOCTL
(
FE_GET_EVENT
)
COMPATIBLE_IOCTL
(
FE_DISHNETWORK_SEND_LEGACY_CMD
)
COMPATIBLE_IOCTL
(
VIDEO_STOP
)
COMPATIBLE_IOCTL
(
VIDEO_PLAY
)
COMPATIBLE_IOCTL
(
VIDEO_FREEZE
)
COMPATIBLE_IOCTL
(
VIDEO_CONTINUE
)
COMPATIBLE_IOCTL
(
VIDEO_SELECT_SOURCE
)
COMPATIBLE_IOCTL
(
VIDEO_SET_BLANK
)
COMPATIBLE_IOCTL
(
VIDEO_GET_STATUS
)
COMPATIBLE_IOCTL
(
VIDEO_SET_DISPLAY_FORMAT
)
COMPATIBLE_IOCTL
(
VIDEO_FAST_FORWARD
)
COMPATIBLE_IOCTL
(
VIDEO_SLOWMOTION
)
COMPATIBLE_IOCTL
(
VIDEO_GET_CAPABILITIES
)
COMPATIBLE_IOCTL
(
VIDEO_CLEAR_BUFFER
)
COMPATIBLE_IOCTL
(
VIDEO_SET_ID
)
COMPATIBLE_IOCTL
(
VIDEO_SET_STREAMTYPE
)
COMPATIBLE_IOCTL
(
VIDEO_SET_FORMAT
)
COMPATIBLE_IOCTL
(
VIDEO_SET_SYSTEM
)
COMPATIBLE_IOCTL
(
VIDEO_SET_HIGHLIGHT
)
COMPATIBLE_IOCTL
(
VIDEO_SET_SPU
)
COMPATIBLE_IOCTL
(
VIDEO_GET_NAVI
)
COMPATIBLE_IOCTL
(
VIDEO_SET_ATTRIBUTES
)
COMPATIBLE_IOCTL
(
VIDEO_GET_SIZE
)
COMPATIBLE_IOCTL
(
VIDEO_GET_FRAME_RATE
)
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部