Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
8de65c2a
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看板
提交
8de65c2a
编写于
2月 21, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '20120221_isdn' of
git://repo.or.cz/linux-2.6/trivial-mods
上级
fc0d7536
475be4d8
变更
314
展开全部
隐藏空白更改
内联
并排
Showing
314 changed file
with
50359 addition
and
50455 deletion
+50359
-50455
drivers/isdn/act2000/act2000.h
drivers/isdn/act2000/act2000.h
+14
-14
drivers/isdn/act2000/act2000_isa.c
drivers/isdn/act2000/act2000_isa.c
+197
-197
drivers/isdn/act2000/act2000_isa.h
drivers/isdn/act2000/act2000_isa.h
+16
-16
drivers/isdn/act2000/capi.c
drivers/isdn/act2000/capi.c
+499
-499
drivers/isdn/act2000/capi.h
drivers/isdn/act2000/capi.h
+25
-25
drivers/isdn/act2000/module.c
drivers/isdn/act2000/module.c
+403
-403
drivers/isdn/capi/capi.c
drivers/isdn/capi/capi.c
+89
-89
drivers/isdn/capi/capidrv.c
drivers/isdn/capi/capidrv.c
+478
-478
drivers/isdn/capi/capidrv.h
drivers/isdn/capi/capidrv.h
+21
-21
drivers/isdn/capi/capilib.c
drivers/isdn/capi/capilib.c
+8
-8
drivers/isdn/capi/capiutil.c
drivers/isdn/capi/capiutil.c
+314
-314
drivers/isdn/capi/kcapi.c
drivers/isdn/capi/kcapi.c
+58
-58
drivers/isdn/capi/kcapi.h
drivers/isdn/capi/kcapi.h
+5
-6
drivers/isdn/capi/kcapi_proc.c
drivers/isdn/capi/kcapi_proc.c
+7
-7
drivers/isdn/divert/divert_init.c
drivers/isdn/divert/divert_init.c
+37
-38
drivers/isdn/divert/divert_procfs.c
drivers/isdn/divert/divert_procfs.c
+76
-76
drivers/isdn/divert/isdn_divert.c
drivers/isdn/divert/isdn_divert.c
+737
-738
drivers/isdn/divert/isdn_divert.h
drivers/isdn/divert/isdn_divert.h
+58
-58
drivers/isdn/gigaset/asyncdata.c
drivers/isdn/gigaset/asyncdata.c
+2
-2
drivers/isdn/gigaset/bas-gigaset.c
drivers/isdn/gigaset/bas-gigaset.c
+21
-21
drivers/isdn/gigaset/capi.c
drivers/isdn/gigaset/capi.c
+114
-114
drivers/isdn/gigaset/common.c
drivers/isdn/gigaset/common.c
+7
-7
drivers/isdn/gigaset/ev-layer.c
drivers/isdn/gigaset/ev-layer.c
+164
-164
drivers/isdn/gigaset/gigaset.h
drivers/isdn/gigaset/gigaset.h
+15
-15
drivers/isdn/gigaset/i4l.c
drivers/isdn/gigaset/i4l.c
+4
-4
drivers/isdn/gigaset/interface.c
drivers/isdn/gigaset/interface.c
+10
-10
drivers/isdn/gigaset/isocdata.c
drivers/isdn/gigaset/isocdata.c
+96
-96
drivers/isdn/gigaset/proc.c
drivers/isdn/gigaset/proc.c
+2
-2
drivers/isdn/gigaset/ser-gigaset.c
drivers/isdn/gigaset/ser-gigaset.c
+3
-3
drivers/isdn/gigaset/usb-gigaset.c
drivers/isdn/gigaset/usb-gigaset.c
+4
-4
drivers/isdn/hardware/avm/avm_cs.c
drivers/isdn/hardware/avm/avm_cs.c
+67
-67
drivers/isdn/hardware/avm/avmcard.h
drivers/isdn/hardware/avm/avmcard.h
+143
-143
drivers/isdn/hardware/avm/b1.c
drivers/isdn/hardware/avm/b1.c
+96
-96
drivers/isdn/hardware/avm/b1dma.c
drivers/isdn/hardware/avm/b1dma.c
+89
-89
drivers/isdn/hardware/avm/b1isa.c
drivers/isdn/hardware/avm/b1isa.c
+9
-9
drivers/isdn/hardware/avm/b1pci.c
drivers/isdn/hardware/avm/b1pci.c
+22
-22
drivers/isdn/hardware/avm/b1pcmcia.c
drivers/isdn/hardware/avm/b1pcmcia.c
+14
-14
drivers/isdn/hardware/avm/c4.c
drivers/isdn/hardware/avm/c4.c
+174
-174
drivers/isdn/hardware/avm/t1isa.c
drivers/isdn/hardware/avm/t1isa.c
+50
-50
drivers/isdn/hardware/avm/t1pci.c
drivers/isdn/hardware/avm/t1pci.c
+16
-16
drivers/isdn/hardware/eicon/capi20.h
drivers/isdn/hardware/eicon/capi20.h
+257
-257
drivers/isdn/hardware/eicon/capidtmf.c
drivers/isdn/hardware/eicon/capidtmf.c
+547
-547
drivers/isdn/hardware/eicon/capidtmf.h
drivers/isdn/hardware/eicon/capidtmf.h
+39
-39
drivers/isdn/hardware/eicon/capifunc.c
drivers/isdn/hardware/eicon/capifunc.c
+111
-111
drivers/isdn/hardware/eicon/capifunc.h
drivers/isdn/hardware/eicon/capifunc.h
+2
-2
drivers/isdn/hardware/eicon/capimain.c
drivers/isdn/hardware/eicon/capimain.c
+5
-5
drivers/isdn/hardware/eicon/cardtype.h
drivers/isdn/hardware/eicon/cardtype.h
+738
-738
drivers/isdn/hardware/eicon/cp_vers.h
drivers/isdn/hardware/eicon/cp_vers.h
+16
-16
drivers/isdn/hardware/eicon/dadapter.c
drivers/isdn/hardware/eicon/dadapter.c
+287
-289
drivers/isdn/hardware/eicon/dadapter.h
drivers/isdn/hardware/eicon/dadapter.h
+18
-18
drivers/isdn/hardware/eicon/debug.c
drivers/isdn/hardware/eicon/debug.c
+1759
-1760
drivers/isdn/hardware/eicon/debug_if.h
drivers/isdn/hardware/eicon/debug_if.h
+40
-42
drivers/isdn/hardware/eicon/debuglib.c
drivers/isdn/hardware/eicon/debuglib.c
+88
-88
drivers/isdn/hardware/eicon/debuglib.h
drivers/isdn/hardware/eicon/debuglib.h
+136
-136
drivers/isdn/hardware/eicon/dfifo.h
drivers/isdn/hardware/eicon/dfifo.h
+28
-28
drivers/isdn/hardware/eicon/di.c
drivers/isdn/hardware/eicon/di.c
+715
-715
drivers/isdn/hardware/eicon/di.h
drivers/isdn/hardware/eicon/di.h
+78
-78
drivers/isdn/hardware/eicon/di_dbg.h
drivers/isdn/hardware/eicon/di_dbg.h
+17
-17
drivers/isdn/hardware/eicon/di_defs.h
drivers/isdn/hardware/eicon/di_defs.h
+72
-72
drivers/isdn/hardware/eicon/did_vers.h
drivers/isdn/hardware/eicon/did_vers.h
+16
-16
drivers/isdn/hardware/eicon/diddfunc.c
drivers/isdn/hardware/eicon/diddfunc.c
+11
-11
drivers/isdn/hardware/eicon/diva.c
drivers/isdn/hardware/eicon/diva.c
+80
-80
drivers/isdn/hardware/eicon/diva_didd.c
drivers/isdn/hardware/eicon/diva_didd.c
+8
-8
drivers/isdn/hardware/eicon/diva_dma.c
drivers/isdn/hardware/eicon/diva_dma.c
+58
-58
drivers/isdn/hardware/eicon/diva_dma.h
drivers/isdn/hardware/eicon/diva_dma.h
+31
-31
drivers/isdn/hardware/eicon/diva_pci.h
drivers/isdn/hardware/eicon/diva_pci.h
+3
-3
drivers/isdn/hardware/eicon/divacapi.h
drivers/isdn/hardware/eicon/divacapi.h
+315
-315
drivers/isdn/hardware/eicon/divamnt.c
drivers/isdn/hardware/eicon/divamnt.c
+7
-8
drivers/isdn/hardware/eicon/divasfunc.c
drivers/isdn/hardware/eicon/divasfunc.c
+17
-17
drivers/isdn/hardware/eicon/divasi.c
drivers/isdn/hardware/eicon/divasi.c
+28
-28
drivers/isdn/hardware/eicon/divasmain.c
drivers/isdn/hardware/eicon/divasmain.c
+59
-59
drivers/isdn/hardware/eicon/divasproc.c
drivers/isdn/hardware/eicon/divasproc.c
+29
-29
drivers/isdn/hardware/eicon/divasync.h
drivers/isdn/hardware/eicon/divasync.h
+281
-281
drivers/isdn/hardware/eicon/dqueue.c
drivers/isdn/hardware/eicon/dqueue.c
+7
-7
drivers/isdn/hardware/eicon/dqueue.h
drivers/isdn/hardware/eicon/dqueue.h
+7
-7
drivers/isdn/hardware/eicon/dsp_defs.h
drivers/isdn/hardware/eicon/dsp_defs.h
+128
-128
drivers/isdn/hardware/eicon/dsp_tst.h
drivers/isdn/hardware/eicon/dsp_tst.h
+4
-4
drivers/isdn/hardware/eicon/dspdids.h
drivers/isdn/hardware/eicon/dspdids.h
+15
-15
drivers/isdn/hardware/eicon/dsrv4bri.h
drivers/isdn/hardware/eicon/dsrv4bri.h
+17
-17
drivers/isdn/hardware/eicon/dsrv_bri.h
drivers/isdn/hardware/eicon/dsrv_bri.h
+22
-22
drivers/isdn/hardware/eicon/dsrv_pri.h
drivers/isdn/hardware/eicon/dsrv_pri.h
+23
-23
drivers/isdn/hardware/eicon/entity.h
drivers/isdn/hardware/eicon/entity.h
+7
-7
drivers/isdn/hardware/eicon/helpers.h
drivers/isdn/hardware/eicon/helpers.h
+34
-34
drivers/isdn/hardware/eicon/idifunc.c
drivers/isdn/hardware/eicon/idifunc.c
+11
-11
drivers/isdn/hardware/eicon/io.c
drivers/isdn/hardware/eicon/io.c
+707
-707
drivers/isdn/hardware/eicon/io.h
drivers/isdn/hardware/eicon/io.h
+257
-257
drivers/isdn/hardware/eicon/istream.c
drivers/isdn/hardware/eicon/istream.c
+176
-176
drivers/isdn/hardware/eicon/kst_ifc.h
drivers/isdn/hardware/eicon/kst_ifc.h
+113
-114
drivers/isdn/hardware/eicon/maintidi.c
drivers/isdn/hardware/eicon/maintidi.c
+1138
-1139
drivers/isdn/hardware/eicon/maintidi.h
drivers/isdn/hardware/eicon/maintidi.h
+52
-53
drivers/isdn/hardware/eicon/man_defs.h
drivers/isdn/hardware/eicon/man_defs.h
+18
-18
drivers/isdn/hardware/eicon/mdm_msg.h
drivers/isdn/hardware/eicon/mdm_msg.h
+36
-36
drivers/isdn/hardware/eicon/message.c
drivers/isdn/hardware/eicon/message.c
+14150
-14150
drivers/isdn/hardware/eicon/mi_pc.h
drivers/isdn/hardware/eicon/mi_pc.h
+43
-43
drivers/isdn/hardware/eicon/mntfunc.c
drivers/isdn/hardware/eicon/mntfunc.c
+93
-93
drivers/isdn/hardware/eicon/os_4bri.c
drivers/isdn/hardware/eicon/os_4bri.c
+176
-176
drivers/isdn/hardware/eicon/os_4bri.h
drivers/isdn/hardware/eicon/os_4bri.h
+1
-1
drivers/isdn/hardware/eicon/os_bri.c
drivers/isdn/hardware/eicon/os_bri.c
+131
-131
drivers/isdn/hardware/eicon/os_bri.h
drivers/isdn/hardware/eicon/os_bri.h
+1
-1
drivers/isdn/hardware/eicon/os_capi.h
drivers/isdn/hardware/eicon/os_capi.h
+5
-5
drivers/isdn/hardware/eicon/os_pri.c
drivers/isdn/hardware/eicon/os_pri.c
+195
-195
drivers/isdn/hardware/eicon/os_pri.h
drivers/isdn/hardware/eicon/os_pri.h
+1
-1
drivers/isdn/hardware/eicon/pc.h
drivers/isdn/hardware/eicon/pc.h
+134
-134
drivers/isdn/hardware/eicon/pc_init.h
drivers/isdn/hardware/eicon/pc_init.h
+24
-24
drivers/isdn/hardware/eicon/pc_maint.h
drivers/isdn/hardware/eicon/pc_maint.h
+79
-79
drivers/isdn/hardware/eicon/pkmaint.h
drivers/isdn/hardware/eicon/pkmaint.h
+21
-22
drivers/isdn/hardware/eicon/platform.h
drivers/isdn/hardware/eicon/platform.h
+78
-78
drivers/isdn/hardware/eicon/pr_pc.h
drivers/isdn/hardware/eicon/pr_pc.h
+58
-58
drivers/isdn/hardware/eicon/s_4bri.c
drivers/isdn/hardware/eicon/s_4bri.c
+244
-244
drivers/isdn/hardware/eicon/s_bri.c
drivers/isdn/hardware/eicon/s_bri.c
+144
-144
drivers/isdn/hardware/eicon/s_pri.c
drivers/isdn/hardware/eicon/s_pri.c
+157
-157
drivers/isdn/hardware/eicon/sdp_hdr.h
drivers/isdn/hardware/eicon/sdp_hdr.h
+65
-65
drivers/isdn/hardware/eicon/um_idi.c
drivers/isdn/hardware/eicon/um_idi.c
+112
-112
drivers/isdn/hardware/eicon/um_idi.h
drivers/isdn/hardware/eicon/um_idi.h
+1
-1
drivers/isdn/hardware/eicon/xdi_adapter.h
drivers/isdn/hardware/eicon/xdi_adapter.h
+6
-6
drivers/isdn/hardware/eicon/xdi_msg.h
drivers/isdn/hardware/eicon/xdi_msg.h
+1
-1
drivers/isdn/hardware/eicon/xdi_vers.h
drivers/isdn/hardware/eicon/xdi_vers.h
+16
-16
drivers/isdn/hardware/mISDN/avmfritz.c
drivers/isdn/hardware/mISDN/avmfritz.c
+34
-34
drivers/isdn/hardware/mISDN/hfc_multi.h
drivers/isdn/hardware/mISDN/hfc_multi.h
+23
-24
drivers/isdn/hardware/mISDN/hfc_multi_8xx.h
drivers/isdn/hardware/mISDN/hfc_multi_8xx.h
+14
-14
drivers/isdn/hardware/mISDN/hfc_pci.h
drivers/isdn/hardware/mISDN/hfc_pci.h
+9
-9
drivers/isdn/hardware/mISDN/hfcmulti.c
drivers/isdn/hardware/mISDN/hfcmulti.c
+682
-682
drivers/isdn/hardware/mISDN/hfcpci.c
drivers/isdn/hardware/mISDN/hfcpci.c
+178
-178
drivers/isdn/hardware/mISDN/hfcsusb.c
drivers/isdn/hardware/mISDN/hfcsusb.c
+206
-206
drivers/isdn/hardware/mISDN/hfcsusb.h
drivers/isdn/hardware/mISDN/hfcsusb.h
+60
-60
drivers/isdn/hardware/mISDN/iohelper.h
drivers/isdn/hardware/mISDN/iohelper.h
+68
-68
drivers/isdn/hardware/mISDN/isar.h
drivers/isdn/hardware/mISDN/isar.h
+1
-1
drivers/isdn/hardware/mISDN/mISDNinfineon.c
drivers/isdn/hardware/mISDN/mISDNinfineon.c
+18
-18
drivers/isdn/hardware/mISDN/mISDNipac.c
drivers/isdn/hardware/mISDN/mISDNipac.c
+56
-56
drivers/isdn/hardware/mISDN/mISDNisar.c
drivers/isdn/hardware/mISDN/mISDNisar.c
+104
-104
drivers/isdn/hardware/mISDN/netjet.c
drivers/isdn/hardware/mISDN/netjet.c
+49
-49
drivers/isdn/hardware/mISDN/netjet.h
drivers/isdn/hardware/mISDN/netjet.h
+0
-1
drivers/isdn/hardware/mISDN/speedfax.c
drivers/isdn/hardware/mISDN/speedfax.c
+11
-11
drivers/isdn/hardware/mISDN/w6692.c
drivers/isdn/hardware/mISDN/w6692.c
+43
-43
drivers/isdn/hisax/amd7930_fn.c
drivers/isdn/hisax/amd7930_fn.c
+393
-393
drivers/isdn/hisax/arcofi.c
drivers/isdn/hisax/arcofi.c
+44
-44
drivers/isdn/hisax/arcofi.h
drivers/isdn/hisax/arcofi.h
+1
-1
drivers/isdn/hisax/asuscom.c
drivers/isdn/hisax/asuscom.c
+55
-55
drivers/isdn/hisax/avm_a1.c
drivers/isdn/hisax/avm_a1.c
+21
-21
drivers/isdn/hisax/avm_a1p.c
drivers/isdn/hisax/avm_a1p.c
+76
-76
drivers/isdn/hisax/avm_pci.c
drivers/isdn/hisax/avm_pci.c
+162
-162
drivers/isdn/hisax/avma1_cs.c
drivers/isdn/hisax/avma1_cs.c
+62
-62
drivers/isdn/hisax/bkm_a4t.c
drivers/isdn/hisax/bkm_a4t.c
+46
-46
drivers/isdn/hisax/bkm_a8.c
drivers/isdn/hisax/bkm_a8.c
+92
-92
drivers/isdn/hisax/bkm_ax.h
drivers/isdn/hisax/bkm_ax.h
+39
-39
drivers/isdn/hisax/callc.c
drivers/isdn/hisax/callc.c
+537
-537
drivers/isdn/hisax/config.c
drivers/isdn/hisax/config.c
+63
-63
drivers/isdn/hisax/diva.c
drivers/isdn/hisax/diva.c
+167
-167
drivers/isdn/hisax/elsa.c
drivers/isdn/hisax/elsa.c
+250
-250
drivers/isdn/hisax/elsa_cs.c
drivers/isdn/hisax/elsa_cs.c
+82
-82
drivers/isdn/hisax/elsa_ser.c
drivers/isdn/hisax/elsa_ser.c
+89
-89
drivers/isdn/hisax/enternow_pci.c
drivers/isdn/hisax/enternow_pci.c
+100
-100
drivers/isdn/hisax/fsm.c
drivers/isdn/hisax/fsm.c
+19
-19
drivers/isdn/hisax/fsm.h
drivers/isdn/hisax/fsm.h
+2
-2
drivers/isdn/hisax/gazel.c
drivers/isdn/hisax/gazel.c
+259
-259
drivers/isdn/hisax/hfc4s8s_l1.c
drivers/isdn/hisax/hfc4s8s_l1.c
+324
-324
drivers/isdn/hisax/hfc4s8s_l1.h
drivers/isdn/hisax/hfc4s8s_l1.h
+4
-4
drivers/isdn/hisax/hfc_2bds0.c
drivers/isdn/hisax/hfc_2bds0.c
+242
-242
drivers/isdn/hisax/hfc_2bds0.h
drivers/isdn/hisax/hfc_2bds0.h
+14
-14
drivers/isdn/hisax/hfc_2bs0.c
drivers/isdn/hisax/hfc_2bs0.c
+142
-142
drivers/isdn/hisax/hfc_2bs0.h
drivers/isdn/hisax/hfc_2bs0.h
+3
-3
drivers/isdn/hisax/hfc_pci.c
drivers/isdn/hisax/hfc_pci.c
+357
-357
drivers/isdn/hisax/hfc_pci.h
drivers/isdn/hisax/hfc_pci.h
+48
-48
drivers/isdn/hisax/hfc_sx.c
drivers/isdn/hisax/hfc_sx.c
+563
-563
drivers/isdn/hisax/hfc_sx.h
drivers/isdn/hisax/hfc_sx.h
+15
-15
drivers/isdn/hisax/hfc_usb.c
drivers/isdn/hisax/hfc_usb.c
+293
-293
drivers/isdn/hisax/hfc_usb.h
drivers/isdn/hisax/hfc_usb.h
+5
-5
drivers/isdn/hisax/hfcscard.c
drivers/isdn/hisax/hfcscard.c
+48
-48
drivers/isdn/hisax/hisax.h
drivers/isdn/hisax/hisax.h
+86
-86
drivers/isdn/hisax/hisax_cfg.h
drivers/isdn/hisax/hisax_cfg.h
+3
-3
drivers/isdn/hisax/hisax_debug.h
drivers/isdn/hisax/hisax_debug.h
+21
-21
drivers/isdn/hisax/hisax_fcpcipnp.c
drivers/isdn/hisax/hisax_fcpcipnp.c
+46
-46
drivers/isdn/hisax/hisax_fcpcipnp.h
drivers/isdn/hisax/hisax_fcpcipnp.h
+1
-2
drivers/isdn/hisax/hisax_if.h
drivers/isdn/hisax/hisax_if.h
+2
-2
drivers/isdn/hisax/hisax_isac.c
drivers/isdn/hisax/hisax_isac.c
+22
-22
drivers/isdn/hisax/hscx.c
drivers/isdn/hisax/hscx.c
+68
-68
drivers/isdn/hisax/hscx.h
drivers/isdn/hisax/hscx.h
+1
-1
drivers/isdn/hisax/hscx_irq.c
drivers/isdn/hisax/hscx_irq.c
+9
-9
drivers/isdn/hisax/icc.c
drivers/isdn/hisax/icc.c
+157
-157
drivers/isdn/hisax/icc.h
drivers/isdn/hisax/icc.h
+3
-3
drivers/isdn/hisax/ipac.h
drivers/isdn/hisax/ipac.h
+1
-1
drivers/isdn/hisax/ipacx.c
drivers/isdn/hisax/ipacx.c
+337
-338
drivers/isdn/hisax/isac.c
drivers/isdn/hisax/isac.c
+160
-160
drivers/isdn/hisax/isac.h
drivers/isdn/hisax/isac.h
+1
-1
drivers/isdn/hisax/isar.c
drivers/isdn/hisax/isar.c
+898
-898
drivers/isdn/hisax/isar.h
drivers/isdn/hisax/isar.h
+7
-7
drivers/isdn/hisax/isdnl1.c
drivers/isdn/hisax/isdnl1.c
+131
-131
drivers/isdn/hisax/isdnl2.c
drivers/isdn/hisax/isdnl2.c
+171
-171
drivers/isdn/hisax/isdnl2.h
drivers/isdn/hisax/isdnl2.h
+0
-1
drivers/isdn/hisax/isdnl3.c
drivers/isdn/hisax/isdnl3.c
+87
-87
drivers/isdn/hisax/isdnl3.h
drivers/isdn/hisax/isdnl3.h
+1
-2
drivers/isdn/hisax/isurf.c
drivers/isdn/hisax/isurf.c
+59
-59
drivers/isdn/hisax/ix1_micro.c
drivers/isdn/hisax/ix1_micro.c
+50
-50
drivers/isdn/hisax/jade.c
drivers/isdn/hisax/jade.c
+104
-105
drivers/isdn/hisax/jade.h
drivers/isdn/hisax/jade.h
+78
-78
drivers/isdn/hisax/jade_irq.c
drivers/isdn/hisax/jade_irq.c
+24
-24
drivers/isdn/hisax/l3_1tr6.c
drivers/isdn/hisax/l3_1tr6.c
+98
-98
drivers/isdn/hisax/l3dss1.c
drivers/isdn/hisax/l3dss1.c
+950
-950
drivers/isdn/hisax/l3dss1.h
drivers/isdn/hisax/l3dss1.h
+10
-10
drivers/isdn/hisax/l3ni1.c
drivers/isdn/hisax/l3ni1.c
+919
-919
drivers/isdn/hisax/l3ni1.h
drivers/isdn/hisax/l3ni1.h
+14
-14
drivers/isdn/hisax/lmgr.c
drivers/isdn/hisax/lmgr.c
+14
-14
drivers/isdn/hisax/mic.c
drivers/isdn/hisax/mic.c
+32
-32
drivers/isdn/hisax/netjet.c
drivers/isdn/hisax/netjet.c
+311
-312
drivers/isdn/hisax/netjet.h
drivers/isdn/hisax/netjet.h
+2
-3
drivers/isdn/hisax/niccy.c
drivers/isdn/hisax/niccy.c
+39
-39
drivers/isdn/hisax/nj_s.c
drivers/isdn/hisax/nj_s.c
+56
-56
drivers/isdn/hisax/nj_u.c
drivers/isdn/hisax/nj_u.c
+50
-50
drivers/isdn/hisax/q931.c
drivers/isdn/hisax/q931.c
+120
-120
drivers/isdn/hisax/s0box.c
drivers/isdn/hisax/s0box.c
+66
-66
drivers/isdn/hisax/saphir.c
drivers/isdn/hisax/saphir.c
+61
-61
drivers/isdn/hisax/sedlbauer.c
drivers/isdn/hisax/sedlbauer.c
+164
-164
drivers/isdn/hisax/sedlbauer_cs.c
drivers/isdn/hisax/sedlbauer_cs.c
+88
-88
drivers/isdn/hisax/sportster.c
drivers/isdn/hisax/sportster.c
+63
-63
drivers/isdn/hisax/st5481.h
drivers/isdn/hisax/st5481.h
+49
-49
drivers/isdn/hisax/st5481_b.c
drivers/isdn/hisax/st5481_b.c
+62
-62
drivers/isdn/hisax/st5481_d.c
drivers/isdn/hisax/st5481_d.c
+97
-97
drivers/isdn/hisax/st5481_init.c
drivers/isdn/hisax/st5481_init.c
+32
-32
drivers/isdn/hisax/st5481_usb.c
drivers/isdn/hisax/st5481_usb.c
+134
-135
drivers/isdn/hisax/tei.c
drivers/isdn/hisax/tei.c
+38
-38
drivers/isdn/hisax/teleint.c
drivers/isdn/hisax/teleint.c
+63
-63
drivers/isdn/hisax/teles0.c
drivers/isdn/hisax/teles0.c
+63
-63
drivers/isdn/hisax/teles3.c
drivers/isdn/hisax/teles3.c
+78
-78
drivers/isdn/hisax/teles_cs.c
drivers/isdn/hisax/teles_cs.c
+67
-67
drivers/isdn/hisax/telespci.c
drivers/isdn/hisax/telespci.c
+40
-40
drivers/isdn/hisax/w6692.c
drivers/isdn/hisax/w6692.c
+206
-206
drivers/isdn/hisax/w6692.h
drivers/isdn/hisax/w6692.h
+5
-5
drivers/isdn/hysdn/boardergo.c
drivers/isdn/hysdn/boardergo.c
+14
-14
drivers/isdn/hysdn/boardergo.h
drivers/isdn/hysdn/boardergo.h
+15
-15
drivers/isdn/hysdn/hycapi.c
drivers/isdn/hysdn/hycapi.c
+187
-187
drivers/isdn/hysdn/hysdn_boot.c
drivers/isdn/hysdn/hysdn_boot.c
+151
-151
drivers/isdn/hysdn/hysdn_defs.h
drivers/isdn/hysdn/hysdn_defs.h
+15
-15
drivers/isdn/hysdn/hysdn_init.c
drivers/isdn/hysdn/hysdn_init.c
+2
-2
drivers/isdn/hysdn/hysdn_net.c
drivers/isdn/hysdn/hysdn_net.c
+10
-10
drivers/isdn/hysdn/hysdn_pof.h
drivers/isdn/hysdn/hysdn_pof.h
+13
-13
drivers/isdn/hysdn/hysdn_procconf.c
drivers/isdn/hysdn/hysdn_procconf.c
+5
-5
drivers/isdn/hysdn/hysdn_proclog.c
drivers/isdn/hysdn/hysdn_proclog.c
+13
-13
drivers/isdn/hysdn/hysdn_sched.c
drivers/isdn/hysdn/hysdn_sched.c
+27
-27
drivers/isdn/hysdn/ince1pc.h
drivers/isdn/hysdn/ince1pc.h
+36
-36
drivers/isdn/i4l/isdn_audio.c
drivers/isdn/i4l/isdn_audio.c
+63
-63
drivers/isdn/i4l/isdn_bsdcomp.c
drivers/isdn/i4l/isdn_bsdcomp.c
+187
-187
drivers/isdn/i4l/isdn_common.c
drivers/isdn/i4l/isdn_common.c
+751
-751
drivers/isdn/i4l/isdn_common.h
drivers/isdn/i4l/isdn_common.h
+9
-9
drivers/isdn/i4l/isdn_concap.c
drivers/isdn/i4l/isdn_concap.c
+18
-18
drivers/isdn/i4l/isdn_concap.h
drivers/isdn/i4l/isdn_concap.h
+1
-3
drivers/isdn/i4l/isdn_net.c
drivers/isdn/i4l/isdn_net.c
+749
-749
drivers/isdn/i4l/isdn_net.h
drivers/isdn/i4l/isdn_net.h
+5
-6
drivers/isdn/i4l/isdn_ppp.c
drivers/isdn/i4l/isdn_ppp.c
+721
-721
drivers/isdn/i4l/isdn_ppp.h
drivers/isdn/i4l/isdn_ppp.h
+0
-2
drivers/isdn/i4l/isdn_tty.c
drivers/isdn/i4l/isdn_tty.c
+1221
-1221
drivers/isdn/i4l/isdn_tty.h
drivers/isdn/i4l/isdn_tty.h
+5
-5
drivers/isdn/i4l/isdn_ttyfax.c
drivers/isdn/i4l/isdn_ttyfax.c
+546
-546
drivers/isdn/i4l/isdn_ttyfax.h
drivers/isdn/i4l/isdn_ttyfax.h
+0
-1
drivers/isdn/i4l/isdn_v110.c
drivers/isdn/i4l/isdn_v110.c
+147
-147
drivers/isdn/i4l/isdn_v110.h
drivers/isdn/i4l/isdn_v110.h
+4
-4
drivers/isdn/i4l/isdn_x25iface.c
drivers/isdn/i4l/isdn_x25iface.c
+113
-113
drivers/isdn/i4l/isdn_x25iface.h
drivers/isdn/i4l/isdn_x25iface.h
+4
-12
drivers/isdn/i4l/isdnhdlc.c
drivers/isdn/i4l/isdnhdlc.c
+27
-27
drivers/isdn/icn/icn.c
drivers/isdn/icn/icn.c
+403
-403
drivers/isdn/icn/icn.h
drivers/isdn/icn/icn.h
+16
-16
drivers/isdn/isdnloop/isdnloop.c
drivers/isdn/isdnloop/isdnloop.c
+479
-479
drivers/isdn/isdnloop/isdnloop.h
drivers/isdn/isdnloop/isdnloop.h
+3
-3
drivers/isdn/mISDN/clock.c
drivers/isdn/mISDN/clock.c
+12
-13
drivers/isdn/mISDN/core.c
drivers/isdn/mISDN/core.c
+18
-19
drivers/isdn/mISDN/core.h
drivers/isdn/mISDN/core.h
+4
-4
drivers/isdn/mISDN/dsp.h
drivers/isdn/mISDN/dsp.h
+12
-13
drivers/isdn/mISDN/dsp_audio.c
drivers/isdn/mISDN/dsp_audio.c
+2
-3
drivers/isdn/mISDN/dsp_biquad.h
drivers/isdn/mISDN/dsp_biquad.h
+3
-3
drivers/isdn/mISDN/dsp_blowfish.c
drivers/isdn/mISDN/dsp_blowfish.c
+56
-56
drivers/isdn/mISDN/dsp_cmx.c
drivers/isdn/mISDN/dsp_cmx.c
+519
-521
drivers/isdn/mISDN/dsp_core.c
drivers/isdn/mISDN/dsp_core.c
+90
-91
drivers/isdn/mISDN/dsp_dtmf.c
drivers/isdn/mISDN/dsp_dtmf.c
+32
-34
drivers/isdn/mISDN/dsp_ecdis.h
drivers/isdn/mISDN/dsp_ecdis.h
+13
-13
drivers/isdn/mISDN/dsp_hwec.c
drivers/isdn/mISDN/dsp_hwec.c
+5
-6
drivers/isdn/mISDN/dsp_hwec.h
drivers/isdn/mISDN/dsp_hwec.h
+0
-1
drivers/isdn/mISDN/dsp_pipeline.c
drivers/isdn/mISDN/dsp_pipeline.c
+27
-29
drivers/isdn/mISDN/dsp_tones.c
drivers/isdn/mISDN/dsp_tones.c
+80
-85
drivers/isdn/mISDN/fsm.c
drivers/isdn/mISDN/fsm.c
+21
-21
drivers/isdn/mISDN/hwchannel.c
drivers/isdn/mISDN/hwchannel.c
+11
-11
drivers/isdn/mISDN/l1oip.h
drivers/isdn/mISDN/l1oip.h
+10
-11
drivers/isdn/mISDN/l1oip_codec.c
drivers/isdn/mISDN/l1oip_codec.c
+17
-19
drivers/isdn/mISDN/l1oip_core.c
drivers/isdn/mISDN/l1oip_core.c
+290
-291
drivers/isdn/mISDN/layer1.c
drivers/isdn/mISDN/layer1.c
+8
-8
drivers/isdn/mISDN/layer1.h
drivers/isdn/mISDN/layer1.h
+0
-1
drivers/isdn/mISDN/layer2.c
drivers/isdn/mISDN/layer2.c
+48
-49
drivers/isdn/mISDN/layer2.h
drivers/isdn/mISDN/layer2.h
+6
-6
drivers/isdn/mISDN/socket.c
drivers/isdn/mISDN/socket.c
+44
-45
drivers/isdn/mISDN/stack.c
drivers/isdn/mISDN/stack.c
+62
-62
drivers/isdn/mISDN/tei.c
drivers/isdn/mISDN/tei.c
+57
-57
drivers/isdn/mISDN/timerdev.c
drivers/isdn/mISDN/timerdev.c
+6
-6
drivers/isdn/pcbit/callbacks.c
drivers/isdn/pcbit/callbacks.c
+150
-153
drivers/isdn/pcbit/callbacks.h
drivers/isdn/pcbit/callbacks.h
+13
-15
drivers/isdn/pcbit/capi.c
drivers/isdn/pcbit/capi.c
+290
-295
drivers/isdn/pcbit/capi.h
drivers/isdn/pcbit/capi.h
+20
-26
drivers/isdn/pcbit/drv.c
drivers/isdn/pcbit/drv.c
+124
-124
drivers/isdn/pcbit/edss1.c
drivers/isdn/pcbit/edss1.c
+205
-209
drivers/isdn/pcbit/edss1.h
drivers/isdn/pcbit/edss1.h
+5
-8
drivers/isdn/pcbit/layer2.c
drivers/isdn/pcbit/layer2.c
+18
-18
drivers/isdn/pcbit/layer2.h
drivers/isdn/pcbit/layer2.h
+129
-136
drivers/isdn/pcbit/module.c
drivers/isdn/pcbit/module.c
+17
-18
drivers/isdn/pcbit/pcbit.h
drivers/isdn/pcbit/pcbit.h
+16
-16
drivers/isdn/sc/card.h
drivers/isdn/sc/card.h
+1
-1
drivers/isdn/sc/command.c
drivers/isdn/sc/command.c
+66
-66
drivers/isdn/sc/event.c
drivers/isdn/sc/event.c
+12
-12
drivers/isdn/sc/hardware.h
drivers/isdn/sc/hardware.h
+1
-1
drivers/isdn/sc/init.c
drivers/isdn/sc/init.c
+61
-61
drivers/isdn/sc/interrupt.c
drivers/isdn/sc/interrupt.c
+72
-72
drivers/isdn/sc/ioctl.c
drivers/isdn/sc/ioctl.c
+110
-110
drivers/isdn/sc/message.c
drivers/isdn/sc/message.c
+63
-63
drivers/isdn/sc/message.h
drivers/isdn/sc/message.h
+9
-9
drivers/isdn/sc/packet.c
drivers/isdn/sc/packet.c
+64
-65
drivers/isdn/sc/scioc.h
drivers/isdn/sc/scioc.h
+2
-3
drivers/isdn/sc/shmem.c
drivers/isdn/sc/shmem.c
+26
-26
drivers/isdn/sc/timer.c
drivers/isdn/sc/timer.c
+12
-13
未找到文件。
drivers/isdn/act2000/act2000.h
浏览文件 @
8de65c2a
...
...
@@ -4,7 +4,7 @@
*
* Author Fritz Elfert
* Copyright by Fritz Elfert <fritz@isdn4linux.de>
*
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*
...
...
@@ -40,21 +40,21 @@
/* Struct for adding new cards */
typedef
struct
act2000_cdef
{
int
bus
;
int
port
;
int
irq
;
char
id
[
10
];
int
port
;
int
irq
;
char
id
[
10
];
}
act2000_cdef
;
/* Struct for downloading firmware */
typedef
struct
act2000_ddef
{
int
length
;
/* Length of code */
char
__user
*
buffer
;
/* Ptr. to code */
int
length
;
/* Length of code */
char
__user
*
buffer
;
/* Ptr. to code */
}
act2000_ddef
;
typedef
struct
act2000_fwid
{
char
isdn
[
4
];
char
revlen
[
2
];
char
revision
[
504
];
char
isdn
[
4
];
char
revlen
[
2
];
char
revision
[
504
];
}
act2000_fwid
;
#if defined(__KERNEL__) || defined(__DEBUGVAR__)
...
...
@@ -128,8 +128,8 @@ typedef struct act2000_chan {
typedef
struct
msn_entry
{
char
eaz
;
char
msn
[
16
];
struct
msn_entry
*
next
;
char
msn
[
16
];
struct
msn_entry
*
next
;
}
msn_entry
;
typedef
struct
irq_data_isa
{
...
...
@@ -183,17 +183,17 @@ typedef struct act2000_card {
static
inline
void
act2000_schedule_tx
(
act2000_card
*
card
)
{
schedule_work
(
&
card
->
snd_tq
);
schedule_work
(
&
card
->
snd_tq
);
}
static
inline
void
act2000_schedule_rx
(
act2000_card
*
card
)
{
schedule_work
(
&
card
->
rcv_tq
);
schedule_work
(
&
card
->
rcv_tq
);
}
static
inline
void
act2000_schedule_poll
(
act2000_card
*
card
)
{
schedule_work
(
&
card
->
poll_tq
);
schedule_work
(
&
card
->
poll_tq
);
}
extern
char
*
act2000_find_eaz
(
act2000_card
*
,
char
);
...
...
drivers/isdn/act2000/act2000_isa.c
浏览文件 @
8de65c2a
...
...
@@ -4,7 +4,7 @@
*
* Author Fritz Elfert
* Copyright by Fritz Elfert <fritz@isdn4linux.de>
*
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*
...
...
@@ -25,99 +25,99 @@
static
int
act2000_isa_reset
(
unsigned
short
portbase
)
{
unsigned
char
reg
;
int
i
;
int
found
;
int
serial
=
0
;
found
=
0
;
if
((
reg
=
inb
(
portbase
+
ISA_COR
))
!=
0xff
)
{
outb
(
reg
|
ISA_COR_RESET
,
portbase
+
ISA_COR
);
mdelay
(
10
);
outb
(
reg
,
portbase
+
ISA_COR
);
mdelay
(
10
);
for
(
i
=
0
;
i
<
16
;
i
++
)
{
if
(
inb
(
portbase
+
ISA_ISR
)
&
ISA_ISR_SERIAL
)
serial
|=
0x10000
;
serial
>>=
1
;
}
if
(
serial
==
ISA_SER_ID
)
found
++
;
}
return
found
;
unsigned
char
reg
;
int
i
;
int
found
;
int
serial
=
0
;
found
=
0
;
if
((
reg
=
inb
(
portbase
+
ISA_COR
))
!=
0xff
)
{
outb
(
reg
|
ISA_COR_RESET
,
portbase
+
ISA_COR
);
mdelay
(
10
);
outb
(
reg
,
portbase
+
ISA_COR
);
mdelay
(
10
);
for
(
i
=
0
;
i
<
16
;
i
++
)
{
if
(
inb
(
portbase
+
ISA_ISR
)
&
ISA_ISR_SERIAL
)
serial
|=
0x10000
;
serial
>>=
1
;
}
if
(
serial
==
ISA_SER_ID
)
found
++
;
}
return
found
;
}
int
act2000_isa_detect
(
unsigned
short
portbase
)
{
int
ret
=
0
;
int
ret
=
0
;
if
(
request_region
(
portbase
,
ACT2000_PORTLEN
,
"act2000isa"
))
{
ret
=
act2000_isa_reset
(
portbase
);
ret
=
act2000_isa_reset
(
portbase
);
release_region
(
portbase
,
ISA_REGION
);
}
return
ret
;
return
ret
;
}
static
irqreturn_t
act2000_isa_interrupt
(
int
dummy
,
void
*
dev_id
)
{
act2000_card
*
card
=
dev_id
;
u_char
istatus
;
act2000_card
*
card
=
dev_id
;
u_char
istatus
;
istatus
=
(
inb
(
ISA_PORT_ISR
)
&
0x07
);
if
(
istatus
&
ISA_ISR_OUT
)
{
/* RX fifo has data */
istatus
=
(
inb
(
ISA_PORT_ISR
)
&
0x07
);
if
(
istatus
&
ISA_ISR_OUT
)
{
/* RX fifo has data */
istatus
&=
ISA_ISR_OUT_MASK
;
outb
(
0
,
ISA_PORT_SIS
);
act2000_isa_receive
(
card
);
outb
(
ISA_SIS_INT
,
ISA_PORT_SIS
);
}
if
(
istatus
&
ISA_ISR_ERR
)
{
/* Error Interrupt */
}
if
(
istatus
&
ISA_ISR_ERR
)
{
/* Error Interrupt */
istatus
&=
ISA_ISR_ERR_MASK
;
printk
(
KERN_WARNING
"act2000: errIRQ
\n
"
);
}
printk
(
KERN_WARNING
"act2000: errIRQ
\n
"
);
}
if
(
istatus
)
printk
(
KERN_DEBUG
"act2000: ?IRQ %d %02x
\n
"
,
card
->
irq
,
istatus
);
return
IRQ_HANDLED
;
}
static
void
act2000_isa_select_irq
(
act2000_card
*
card
)
act2000_isa_select_irq
(
act2000_card
*
card
)
{
unsigned
char
reg
;
reg
=
(
inb
(
ISA_PORT_COR
)
&
~
ISA_COR_IRQOFF
)
|
ISA_COR_PERR
;
switch
(
card
->
irq
)
{
case
3
:
reg
=
ISA_COR_IRQ03
;
break
;
case
5
:
reg
=
ISA_COR_IRQ05
;
break
;
case
7
:
reg
=
ISA_COR_IRQ07
;
break
;
case
10
:
reg
=
ISA_COR_IRQ10
;
break
;
case
11
:
reg
=
ISA_COR_IRQ11
;
break
;
case
12
:
reg
=
ISA_COR_IRQ12
;
break
;
case
15
:
reg
=
ISA_COR_IRQ15
;
break
;
case
3
:
reg
=
ISA_COR_IRQ03
;
break
;
case
5
:
reg
=
ISA_COR_IRQ05
;
break
;
case
7
:
reg
=
ISA_COR_IRQ07
;
break
;
case
10
:
reg
=
ISA_COR_IRQ10
;
break
;
case
11
:
reg
=
ISA_COR_IRQ11
;
break
;
case
12
:
reg
=
ISA_COR_IRQ12
;
break
;
case
15
:
reg
=
ISA_COR_IRQ15
;
break
;
}
outb
(
reg
,
ISA_PORT_COR
);
}
static
void
act2000_isa_enable_irq
(
act2000_card
*
card
)
act2000_isa_enable_irq
(
act2000_card
*
card
)
{
act2000_isa_select_irq
(
card
);
/* Enable READ irq */
...
...
@@ -129,102 +129,102 @@ act2000_isa_enable_irq(act2000_card * card)
* If irq is -1, choose next free irq, else irq is given explicitly.
*/
int
act2000_isa_config_irq
(
act2000_card
*
card
,
short
irq
)
act2000_isa_config_irq
(
act2000_card
*
card
,
short
irq
)
{
int
old_irq
;
if
(
card
->
flags
&
ACT2000_FLAGS_IVALID
)
{
free_irq
(
card
->
irq
,
card
);
}
card
->
flags
&=
~
ACT2000_FLAGS_IVALID
;
outb
(
ISA_COR_IRQOFF
,
ISA_PORT_COR
);
if
(
!
irq
)
return
0
;
if
(
card
->
flags
&
ACT2000_FLAGS_IVALID
)
{
free_irq
(
card
->
irq
,
card
);
}
card
->
flags
&=
~
ACT2000_FLAGS_IVALID
;
outb
(
ISA_COR_IRQOFF
,
ISA_PORT_COR
);
if
(
!
irq
)
return
0
;
old_irq
=
card
->
irq
;
card
->
irq
=
irq
;
if
(
request_irq
(
irq
,
&
act2000_isa_interrupt
,
0
,
card
->
regname
,
card
))
{
card
->
irq
=
old_irq
;
card
->
flags
|=
ACT2000_FLAGS_IVALID
;
printk
(
KERN_WARNING
"act2000: Could not request irq %d
\n
"
,
irq
);
return
-
EBUSY
;
}
else
{
printk
(
KERN_WARNING
"act2000: Could not request irq %d
\n
"
,
irq
);
return
-
EBUSY
;
}
else
{
act2000_isa_select_irq
(
card
);
/* Disable READ and WRITE irq */
outb
(
0
,
ISA_PORT_SIS
);
outb
(
0
,
ISA_PORT_SOS
);
}
return
0
;
/* Disable READ and WRITE irq */
outb
(
0
,
ISA_PORT_SIS
);
outb
(
0
,
ISA_PORT_SOS
);
}
return
0
;
}
int
act2000_isa_config_port
(
act2000_card
*
card
,
unsigned
short
portbase
)
act2000_isa_config_port
(
act2000_card
*
card
,
unsigned
short
portbase
)
{
if
(
card
->
flags
&
ACT2000_FLAGS_PVALID
)
{
release_region
(
card
->
port
,
ISA_REGION
);
card
->
flags
&=
~
ACT2000_FLAGS_PVALID
;
}
if
(
card
->
flags
&
ACT2000_FLAGS_PVALID
)
{
release_region
(
card
->
port
,
ISA_REGION
);
card
->
flags
&=
~
ACT2000_FLAGS_PVALID
;
}
if
(
request_region
(
portbase
,
ACT2000_PORTLEN
,
card
->
regname
)
==
NULL
)
return
-
EBUSY
;
else
{
card
->
port
=
portbase
;
card
->
flags
|=
ACT2000_FLAGS_PVALID
;
return
0
;
}
card
->
port
=
portbase
;
card
->
flags
|=
ACT2000_FLAGS_PVALID
;
return
0
;
}
}
/*
* Release ressources, used by an adaptor.
*/
void
act2000_isa_release
(
act2000_card
*
card
)
act2000_isa_release
(
act2000_card
*
card
)
{
unsigned
long
flags
;
unsigned
long
flags
;
spin_lock_irqsave
(
&
card
->
lock
,
flags
);
if
(
card
->
flags
&
ACT2000_FLAGS_IVALID
)
free_irq
(
card
->
irq
,
card
);
spin_lock_irqsave
(
&
card
->
lock
,
flags
);
if
(
card
->
flags
&
ACT2000_FLAGS_IVALID
)
free_irq
(
card
->
irq
,
card
);
card
->
flags
&=
~
ACT2000_FLAGS_IVALID
;
if
(
card
->
flags
&
ACT2000_FLAGS_PVALID
)
release_region
(
card
->
port
,
ISA_REGION
);
card
->
flags
&=
~
ACT2000_FLAGS_PVALID
;
spin_unlock_irqrestore
(
&
card
->
lock
,
flags
);
card
->
flags
&=
~
ACT2000_FLAGS_IVALID
;
if
(
card
->
flags
&
ACT2000_FLAGS_PVALID
)
release_region
(
card
->
port
,
ISA_REGION
);
card
->
flags
&=
~
ACT2000_FLAGS_PVALID
;
spin_unlock_irqrestore
(
&
card
->
lock
,
flags
);
}
static
int
act2000_isa_writeb
(
act2000_card
*
card
,
u_char
data
)
act2000_isa_writeb
(
act2000_card
*
card
,
u_char
data
)
{
u_char
timeout
=
40
;
while
(
timeout
)
{
if
(
inb
(
ISA_PORT_SOS
)
&
ISA_SOS_READY
)
{
outb
(
data
,
ISA_PORT_SDO
);
return
0
;
}
else
{
timeout
--
;
udelay
(
10
);
}
}
return
1
;
u_char
timeout
=
40
;
while
(
timeout
)
{
if
(
inb
(
ISA_PORT_SOS
)
&
ISA_SOS_READY
)
{
outb
(
data
,
ISA_PORT_SDO
);
return
0
;
}
else
{
timeout
--
;
udelay
(
10
);
}
}
return
1
;
}
static
int
act2000_isa_readb
(
act2000_card
*
card
,
u_char
*
data
)
act2000_isa_readb
(
act2000_card
*
card
,
u_char
*
data
)
{
u_char
timeout
=
40
;
while
(
timeout
)
{
if
(
inb
(
ISA_PORT_SIS
)
&
ISA_SIS_READY
)
{
*
data
=
inb
(
ISA_PORT_SDI
);
return
0
;
}
else
{
timeout
--
;
udelay
(
10
);
}
}
return
1
;
u_char
timeout
=
40
;
while
(
timeout
)
{
if
(
inb
(
ISA_PORT_SIS
)
&
ISA_SIS_READY
)
{
*
data
=
inb
(
ISA_PORT_SDI
);
return
0
;
}
else
{
timeout
--
;
udelay
(
10
);
}
}
return
1
;
}
void
...
...
@@ -232,11 +232,11 @@ act2000_isa_receive(act2000_card *card)
{
u_char
c
;
if
(
test_and_set_bit
(
ACT2000_LOCK_RX
,
(
void
*
)
&
card
->
ilock
)
!=
0
)
if
(
test_and_set_bit
(
ACT2000_LOCK_RX
,
(
void
*
)
&
card
->
ilock
)
!=
0
)
return
;
while
(
!
act2000_isa_readb
(
card
,
&
c
))
{
if
(
card
->
idat
.
isa
.
rcvidx
<
8
)
{
card
->
idat
.
isa
.
rcvhdr
[
card
->
idat
.
isa
.
rcvidx
++
]
=
c
;
card
->
idat
.
isa
.
rcvhdr
[
card
->
idat
.
isa
.
rcvidx
++
]
=
c
;
if
(
card
->
idat
.
isa
.
rcvidx
==
8
)
{
int
valid
=
actcapi_chkhdr
(
card
,
(
actcapi_msghdr
*
)
&
card
->
idat
.
isa
.
rcvhdr
);
...
...
@@ -291,14 +291,14 @@ act2000_isa_receive(act2000_card *card)
}
void
act2000_isa_send
(
act2000_card
*
card
)
act2000_isa_send
(
act2000_card
*
card
)
{
unsigned
long
flags
;
struct
sk_buff
*
skb
;
actcapi_msg
*
msg
;
int
l
;
if
(
test_and_set_bit
(
ACT2000_LOCK_TX
,
(
void
*
)
&
card
->
ilock
)
!=
0
)
if
(
test_and_set_bit
(
ACT2000_LOCK_TX
,
(
void
*
)
&
card
->
ilock
)
!=
0
)
return
;
while
(
1
)
{
spin_lock_irqsave
(
&
card
->
lock
,
flags
);
...
...
@@ -307,7 +307,7 @@ act2000_isa_send(act2000_card * card)
card
->
ack_msg
=
card
->
sbuf
->
data
;
msg
=
(
actcapi_msg
*
)
card
->
sbuf
->
data
;
if
((
msg
->
hdr
.
cmd
.
cmd
==
0x86
)
&&
(
msg
->
hdr
.
cmd
.
subcmd
==
0
)
)
{
(
msg
->
hdr
.
cmd
.
subcmd
==
0
))
{
/* Save flags in message */
card
->
need_b3ack
=
msg
->
msg
.
data_b3_req
.
flags
;
msg
->
msg
.
data_b3_req
.
flags
=
0
;
...
...
@@ -335,7 +335,7 @@ act2000_isa_send(act2000_card * card)
}
msg
=
(
actcapi_msg
*
)
card
->
ack_msg
;
if
((
msg
->
hdr
.
cmd
.
cmd
==
0x86
)
&&
(
msg
->
hdr
.
cmd
.
subcmd
==
0
)
)
{
(
msg
->
hdr
.
cmd
.
subcmd
==
0
))
{
/*
* If it's user data, reset data-ptr
* and put skb into ackq.
...
...
@@ -354,90 +354,90 @@ act2000_isa_send(act2000_card * card)
* Get firmware ID, check for 'ISDN' signature.
*/
static
int
act2000_isa_getid
(
act2000_card
*
card
)
act2000_isa_getid
(
act2000_card
*
card
)
{
act2000_fwid
fid
;
u_char
*
p
=
(
u_char
*
)
&
fid
;
int
count
=
0
;
while
(
1
)
{
if
(
count
>
510
)
return
-
EPROTO
;
if
(
act2000_isa_readb
(
card
,
p
++
))
break
;
count
++
;
}
if
(
count
<=
20
)
{
printk
(
KERN_WARNING
"act2000: No Firmware-ID!
\n
"
);
return
-
ETIME
;
}
*
p
=
'\0'
;
fid
.
revlen
[
0
]
=
'\0'
;
if
(
strcmp
(
fid
.
isdn
,
"ISDN"
))
{
printk
(
KERN_WARNING
"act2000: Wrong Firmware-ID!
\n
"
);
return
-
EPROTO
;
}
act2000_fwid
fid
;
u_char
*
p
=
(
u_char
*
)
&
fid
;
int
count
=
0
;
while
(
1
)
{
if
(
count
>
510
)
return
-
EPROTO
;
if
(
act2000_isa_readb
(
card
,
p
++
))
break
;
count
++
;
}
if
(
count
<=
20
)
{
printk
(
KERN_WARNING
"act2000: No Firmware-ID!
\n
"
);
return
-
ETIME
;
}
*
p
=
'\0'
;
fid
.
revlen
[
0
]
=
'\0'
;
if
(
strcmp
(
fid
.
isdn
,
"ISDN"
))
{
printk
(
KERN_WARNING
"act2000: Wrong Firmware-ID!
\n
"
);
return
-
EPROTO
;
}
if
((
p
=
strchr
(
fid
.
revision
,
'\n'
)))
*
p
=
'\0'
;
printk
(
KERN_INFO
"act2000: Firmware-ID: %s
\n
"
,
fid
.
revision
);
printk
(
KERN_INFO
"act2000: Firmware-ID: %s
\n
"
,
fid
.
revision
);
if
(
card
->
flags
&
ACT2000_FLAGS_IVALID
)
{
printk
(
KERN_DEBUG
"Enabling Interrupts ...
\n
"
);
act2000_isa_enable_irq
(
card
);
}
return
0
;
return
0
;
}
/*
* Download microcode into card, check Firmware signature.
*/
int
act2000_isa_download
(
act2000_card
*
card
,
act2000_ddef
__user
*
cb
)
act2000_isa_download
(
act2000_card
*
card
,
act2000_ddef
__user
*
cb
)
{
unsigned
int
length
;
int
l
;
int
c
;
long
timeout
;
u_char
*
b
;
u_char
__user
*
p
;
u_char
*
buf
;
act2000_ddef
cblock
;
if
(
!
act2000_isa_reset
(
card
->
port
))
return
-
ENXIO
;
msleep_interruptible
(
500
);
if
(
copy_from_user
(
&
cblock
,
cb
,
sizeof
(
cblock
)))
return
-
EFAULT
;
length
=
cblock
.
length
;
p
=
cblock
.
buffer
;
if
(
!
access_ok
(
VERIFY_READ
,
p
,
length
))
return
-
EFAULT
;
buf
=
kmalloc
(
1024
,
GFP_KERNEL
);
if
(
!
buf
)
return
-
ENOMEM
;
timeout
=
0
;
while
(
length
)
{
l
=
(
length
>
1024
)
?
1024
:
length
;
c
=
0
;
b
=
buf
;
if
(
copy_from_user
(
buf
,
p
,
l
))
{
kfree
(
buf
);
return
-
EFAULT
;
}
while
(
c
<
l
)
{
if
(
act2000_isa_writeb
(
card
,
*
b
++
))
{
printk
(
KERN_WARNING
"act2000: loader timed out"
" len=%d c=%d
\n
"
,
length
,
c
);
kfree
(
buf
);
return
-
ETIME
;
}
c
++
;
}
length
-=
l
;
p
+=
l
;
}
kfree
(
buf
);
msleep_interruptible
(
500
);
return
(
act2000_isa_getid
(
card
));
unsigned
int
length
;
int
l
;
int
c
;
long
timeout
;
u_char
*
b
;
u_char
__user
*
p
;
u_char
*
buf
;
act2000_ddef
cblock
;
if
(
!
act2000_isa_reset
(
card
->
port
))
return
-
ENXIO
;
msleep_interruptible
(
500
);
if
(
copy_from_user
(
&
cblock
,
cb
,
sizeof
(
cblock
)))
return
-
EFAULT
;
length
=
cblock
.
length
;
p
=
cblock
.
buffer
;
if
(
!
access_ok
(
VERIFY_READ
,
p
,
length
))
return
-
EFAULT
;
buf
=
kmalloc
(
1024
,
GFP_KERNEL
);
if
(
!
buf
)
return
-
ENOMEM
;
timeout
=
0
;
while
(
length
)
{
l
=
(
length
>
1024
)
?
1024
:
length
;
c
=
0
;
b
=
buf
;
if
(
copy_from_user
(
buf
,
p
,
l
))
{
kfree
(
buf
);
return
-
EFAULT
;
}
while
(
c
<
l
)
{
if
(
act2000_isa_writeb
(
card
,
*
b
++
))
{
printk
(
KERN_WARNING
"act2000: loader timed out"
" len=%d c=%d
\n
"
,
length
,
c
);
kfree
(
buf
);
return
-
ETIME
;
}
c
++
;
}
length
-=
l
;
p
+=
l
;
}
kfree
(
buf
);
msleep_interruptible
(
500
);
return
(
act2000_isa_getid
(
card
));
}
drivers/isdn/act2000/act2000_isa.h
浏览文件 @
8de65c2a
...
...
@@ -4,7 +4,7 @@
*
* Author Fritz Elfert
* Copyright by Fritz Elfert <fritz@isdn4linux.de>
*
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*
...
...
@@ -18,9 +18,9 @@
#define ISA_POLL_LOOP 40
/* Try to read-write before give up */
typedef
enum
{
INT_NO_CHANGE
=
0
,
/* Do not change the Mask */
INT_ON
=
1
,
/* Set to Enable */
INT_OFF
=
2
,
/* Set to Disable */
INT_NO_CHANGE
=
0
,
/* Do not change the Mask */
INT_ON
=
1
,
/* Set to Enable */
INT_OFF
=
2
,
/* Set to Disable */
}
ISA_INT_T
;
/**************************************************************************/
...
...
@@ -114,22 +114,22 @@ typedef enum {
/* Macros for accessing ports */
#define ISA_PORT_COR (card->port
+
ISA_COR)
#define ISA_PORT_ISR (card->port
+
ISA_ISR)
#define ISA_PORT_EPR (card->port
+
ISA_EPR)
#define ISA_PORT_EER (card->port
+
ISA_EER)
#define ISA_PORT_SDI (card->port
+
ISA_SDI)
#define ISA_PORT_SDO (card->port
+
ISA_SDO)
#define ISA_PORT_SIS (card->port
+
ISA_SIS)
#define ISA_PORT_SOS (card->port
+
ISA_SOS)
#define ISA_PORT_COR (card->port
+
ISA_COR)
#define ISA_PORT_ISR (card->port
+
ISA_ISR)
#define ISA_PORT_EPR (card->port
+
ISA_EPR)
#define ISA_PORT_EER (card->port
+
ISA_EER)
#define ISA_PORT_SDI (card->port
+
ISA_SDI)
#define ISA_PORT_SDO (card->port
+
ISA_SDO)
#define ISA_PORT_SIS (card->port
+
ISA_SIS)
#define ISA_PORT_SOS (card->port
+
ISA_SOS)
/* Prototypes */
extern
int
act2000_isa_detect
(
unsigned
short
portbase
);
extern
int
act2000_isa_config_irq
(
act2000_card
*
card
,
short
irq
);
extern
int
act2000_isa_config_port
(
act2000_card
*
card
,
unsigned
short
portbase
);
extern
int
act2000_isa_download
(
act2000_card
*
card
,
act2000_ddef
__user
*
cb
);
extern
void
act2000_isa_release
(
act2000_card
*
card
);
extern
int
act2000_isa_config_irq
(
act2000_card
*
card
,
short
irq
);
extern
int
act2000_isa_config_port
(
act2000_card
*
card
,
unsigned
short
portbase
);
extern
int
act2000_isa_download
(
act2000_card
*
card
,
act2000_ddef
__user
*
cb
);
extern
void
act2000_isa_release
(
act2000_card
*
card
);
extern
void
act2000_isa_receive
(
act2000_card
*
card
);
extern
void
act2000_isa_send
(
act2000_card
*
card
);
...
...
drivers/isdn/act2000/capi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/act2000/capi.h
浏览文件 @
8de65c2a
...
...
@@ -4,7 +4,7 @@
*
* Author Fritz Elfert
* Copyright by Fritz Elfert <fritz@isdn4linux.de>
*
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*
...
...
@@ -46,10 +46,10 @@ typedef struct actcapi_addr {
typedef
union
actcapi_infonr
{
/* info number */
__u16
mask
;
/* info-mask field */
struct
bmask
{
/* bit definitions */
unsigned
codes
:
3
;
/* code set */
unsigned
rsvd
:
5
;
/* reserved */
unsigned
svind
:
1
;
/* single, variable length ind. */
unsigned
wtype
:
7
;
/* W-element type */
unsigned
codes
:
3
;
/* code set */
unsigned
rsvd
:
5
;
/* reserved */
unsigned
svind
:
1
;
/* single, variable length ind. */
unsigned
wtype
:
7
;
/* W-element type */
}
bmask
;
}
actcapi_infonr
;
...
...
@@ -59,13 +59,13 @@ typedef union actcapi_infoel { /* info element */
__u8
display
[
40
];
/* display contents */
__u8
uuinfo
[
40
];
/* User-user info field */
struct
cause
{
/* Cause information */
unsigned
ext2
:
1
;
/* extension */
unsigned
cod
:
2
;
/* coding standard */
unsigned
spare
:
1
;
/* spare */
unsigned
loc
:
4
;
/* location */
unsigned
ext1
:
1
;
/* extension */
unsigned
cval
:
7
;
/* Cause value */
}
cause
;
unsigned
ext2
:
1
;
/* extension */
unsigned
cod
:
2
;
/* coding standard */
unsigned
spare
:
1
;
/* spare */
unsigned
loc
:
4
;
/* location */
unsigned
ext1
:
1
;
/* extension */
unsigned
cval
:
7
;
/* Cause value */
}
cause
;
struct
charge
{
/* Charging information */
__u8
toc
;
/* type of charging info */
__u8
unit
[
10
];
/* charging units */
...
...
@@ -111,14 +111,14 @@ typedef struct actcapi_ncpd {
* Bit 5-7 = Controller
* Bit 8-15 = NCCI
*/
#define MAKE_NCCI(plci,
contr,ncci)
\
((plci & 0x1f) | ((contr & 0x7) << 5) | ((ncci & 0xff) << 8))
#define MAKE_NCCI(plci,
contr, ncci)
\
((plci & 0x1f) | ((contr & 0x7) << 5) | ((ncci & 0xff) << 8))
#define EVAL_NCCI(fakencci,
plci,contr,ncci) {
\
plci = fakencci & 0x1f;
\
contr = (fakencci >> 5) & 0x7;
\
ncci = (fakencci >> 8) & 0xff;
\
}
#define EVAL_NCCI(fakencci,
plci, contr, ncci) {
\
plci = fakencci & 0x1f;
\
contr = (fakencci >> 5) & 0x7;
\
ncci = (fakencci >> 8) & 0xff;
\
}
/*
* Layout of PLCI field in a B3 DATA CAPI message is different from
...
...
@@ -128,13 +128,13 @@ typedef struct actcapi_ncpd {
* Bit 5-7 = Controller
* Bit 8-15 = reserved (must be 0)
*/
#define MAKE_PLCI(plci,
contr)
\
((plci & 0x1f) | ((contr & 0x7) << 5))
#define MAKE_PLCI(plci,
contr)
\
((plci & 0x1f) | ((contr & 0x7) << 5))
#define EVAL_PLCI(fakeplci,
plci,contr) {
\
plci = fakeplci & 0x1f;
\
contr = (fakeplci >> 5) & 0x7;
\
}
#define EVAL_PLCI(fakeplci,
plci, contr) {
\
plci = fakeplci & 0x1f;
\
contr = (fakeplci >> 5) & 0x7;
\
}
typedef
struct
actcapi_msg
{
actcapi_msghdr
hdr
;
...
...
drivers/isdn/act2000/module.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/capi/capi.c
浏览文件 @
8de65c2a
...
...
@@ -164,7 +164,7 @@ static int capiminor_del_ack(struct capiminor *mp, u16 datahandle)
spin_lock_bh
(
&
mp
->
ackqlock
);
list_for_each_entry_safe
(
p
,
tmp
,
&
mp
->
ackqueue
,
list
)
{
if
(
p
->
datahandle
==
datahandle
)
{
if
(
p
->
datahandle
==
datahandle
)
{
list_del
(
&
p
->
list
);
mp
->
nack
--
;
spin_unlock_bh
(
&
mp
->
ackqlock
);
...
...
@@ -199,8 +199,8 @@ static struct capiminor *capiminor_alloc(struct capi20_appl *ap, u32 ncci)
unsigned
int
minor
;
mp
=
kzalloc
(
sizeof
(
*
mp
),
GFP_KERNEL
);
if
(
!
mp
)
{
printk
(
KERN_ERR
"capi: can't alloc capiminor
\n
"
);
if
(
!
mp
)
{
printk
(
KERN_ERR
"capi: can't alloc capiminor
\n
"
);
return
NULL
;
}
...
...
@@ -391,7 +391,7 @@ gen_data_b3_resp_for(struct capiminor *mp, struct sk_buff *skb)
struct
sk_buff
*
nskb
;
nskb
=
alloc_skb
(
CAPI_DATA_B3_RESP_LEN
,
GFP_KERNEL
);
if
(
nskb
)
{
u16
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
4
+
2
);
u16
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
4
+
2
);
unsigned
char
*
s
=
skb_put
(
nskb
,
CAPI_DATA_B3_RESP_LEN
);
capimsg_setu16
(
s
,
0
,
CAPI_DATA_B3_RESP_LEN
);
capimsg_setu16
(
s
,
2
,
mp
->
ap
->
applid
);
...
...
@@ -418,7 +418,7 @@ static int handle_recv_skb(struct capiminor *mp, struct sk_buff *skb)
pr_debug
(
"capi: currently no receiver
\n
"
);
return
-
1
;
}
ld
=
tty_ldisc_ref
(
tty
);
if
(
!
ld
)
{
/* fatal error, do not requeue */
...
...
@@ -459,7 +459,7 @@ static int handle_recv_skb(struct capiminor *mp, struct sk_buff *skb)
ld
->
ops
->
receive_buf
(
tty
,
skb
->
data
,
NULL
,
skb
->
len
);
}
else
{
printk
(
KERN_ERR
"capi: send DATA_B3_RESP failed=%x
\n
"
,
errcode
);
errcode
);
kfree_skb
(
nskb
);
if
(
errcode
==
CAPI_SENDQUEUEFULL
)
...
...
@@ -618,7 +618,7 @@ static void capi_recv_message(struct capi20_appl *ap, struct sk_buff *skb)
goto
unlock_out
;
}
if
(
CAPIMSG_SUBCOMMAND
(
skb
->
data
)
==
CAPI_IND
)
{
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
4
+
2
);
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
4
+
2
);
pr_debug
(
"capi_signal: DATA_B3_IND %u len=%d
\n
"
,
datahandle
,
skb
->
len
-
CAPIMSG_LEN
(
skb
->
data
));
skb_queue_tail
(
&
mp
->
inqueue
,
skb
);
...
...
@@ -627,10 +627,10 @@ static void capi_recv_message(struct capi20_appl *ap, struct sk_buff *skb)
}
else
if
(
CAPIMSG_SUBCOMMAND
(
skb
->
data
)
==
CAPI_CONF
)
{
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
);
datahandle
=
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
);
pr_debug
(
"capi_signal: DATA_B3_CONF %u 0x%x
\n
"
,
datahandle
,
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
2
));
CAPIMSG_U16
(
skb
->
data
,
CAPIMSG_BASELEN
+
4
+
2
));
kfree_skb
(
skb
);
capiminor_del_ack
(
mp
,
datahandle
);
tty
=
tty_port_tty_get
(
&
mp
->
port
);
...
...
@@ -669,7 +669,7 @@ capi_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
if
(
file
->
f_flags
&
O_NONBLOCK
)
return
-
EAGAIN
;
err
=
wait_event_interruptible
(
cdev
->
recvwait
,
(
skb
=
skb_dequeue
(
&
cdev
->
recvqueue
)));
(
skb
=
skb_dequeue
(
&
cdev
->
recvqueue
)));
if
(
err
)
return
err
;
}
...
...
@@ -736,7 +736,7 @@ capi_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos
}
static
unsigned
int
capi_poll
(
struct
file
*
file
,
poll_table
*
wait
)
capi_poll
(
struct
file
*
file
,
poll_table
*
wait
)
{
struct
capidev
*
cdev
=
file
->
private_data
;
unsigned
int
mask
=
0
;
...
...
@@ -786,75 +786,75 @@ capi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
return
retval
;
case
CAPI_GET_VERSION
:
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_version
(
data
.
contr
,
&
data
.
version
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
copy_to_user
(
argp
,
&
data
.
version
,
sizeof
(
data
.
version
)))
return
-
EFAULT
;
}
return
0
;
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_version
(
data
.
contr
,
&
data
.
version
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
copy_to_user
(
argp
,
&
data
.
version
,
sizeof
(
data
.
version
)))
return
-
EFAULT
;
}
return
0
;
case
CAPI_GET_SERIAL
:
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_serial
(
data
.
contr
,
data
.
serial
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
copy_to_user
(
argp
,
data
.
serial
,
sizeof
(
data
.
serial
)))
return
-
EFAULT
;
}
return
0
;
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_serial
(
data
.
contr
,
data
.
serial
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
copy_to_user
(
argp
,
data
.
serial
,
sizeof
(
data
.
serial
)))
return
-
EFAULT
;
}
return
0
;
case
CAPI_GET_PROFILE
:
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
if
(
data
.
contr
==
0
)
{
cdev
->
errcode
=
capi20_get_profile
(
data
.
contr
,
&
data
.
profile
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
data
.
contr
==
0
)
{
cdev
->
errcode
=
capi20_get_profile
(
data
.
contr
,
&
data
.
profile
);
if
(
cdev
->
errcode
)
return
-
EIO
;
retval
=
copy_to_user
(
argp
,
&
data
.
profile
.
ncontroller
,
sizeof
(
data
.
profile
.
ncontroller
));
retval
=
copy_to_user
(
argp
,
&
data
.
profile
.
ncontroller
,
sizeof
(
data
.
profile
.
ncontroller
));
}
else
{
cdev
->
errcode
=
capi20_get_profile
(
data
.
contr
,
&
data
.
profile
);
if
(
cdev
->
errcode
)
return
-
EIO
;
}
else
{
cdev
->
errcode
=
capi20_get_profile
(
data
.
contr
,
&
data
.
profile
);
if
(
cdev
->
errcode
)
return
-
EIO
;
retval
=
copy_to_user
(
argp
,
&
data
.
profile
,
sizeof
(
data
.
profile
));
}
if
(
retval
)
return
-
EFAULT
;
retval
=
copy_to_user
(
argp
,
&
data
.
profile
,
sizeof
(
data
.
profile
));
}
return
0
;
if
(
retval
)
return
-
EFAULT
;
}
return
0
;
case
CAPI_GET_MANUFACTURER
:
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_manufacturer
(
data
.
contr
,
data
.
manufacturer
);
if
(
cdev
->
errcode
)
return
-
EIO
;
{
if
(
copy_from_user
(
&
data
.
contr
,
argp
,
sizeof
(
data
.
contr
)))
return
-
EFAULT
;
cdev
->
errcode
=
capi20_get_manufacturer
(
data
.
contr
,
data
.
manufacturer
);
if
(
cdev
->
errcode
)
return
-
EIO
;
if
(
copy_to_user
(
argp
,
data
.
manufacturer
,
sizeof
(
data
.
manufacturer
)))
return
-
EFAULT
;
if
(
copy_to_user
(
argp
,
data
.
manufacturer
,
sizeof
(
data
.
manufacturer
)))
return
-
EFAULT
;
}
return
0
;
}
return
0
;
case
CAPI_GET_ERRCODE
:
data
.
errcode
=
cdev
->
errcode
;
cdev
->
errcode
=
CAPI_NOERROR
;
...
...
@@ -871,15 +871,15 @@ capi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
return
-
ENXIO
;
case
CAPI_MANUFACTURER_CMD
:
{
struct
capi_manufacturer_cmd
mcmd
;
if
(
!
capable
(
CAP_SYS_ADMIN
))
return
-
EPERM
;
if
(
copy_from_user
(
&
mcmd
,
argp
,
sizeof
(
mcmd
)))
return
-
EFAULT
;
return
capi20_manufacturer
(
mcmd
.
cmd
,
mcmd
.
data
);
}
return
0
;
{
struct
capi_manufacturer_cmd
mcmd
;
if
(
!
capable
(
CAP_SYS_ADMIN
))
return
-
EPERM
;
if
(
copy_from_user
(
&
mcmd
,
argp
,
sizeof
(
mcmd
)))
return
-
EFAULT
;
return
capi20_manufacturer
(
mcmd
.
cmd
,
mcmd
.
data
);
}
return
0
;
case
CAPI_SET_FLAGS
:
case
CAPI_CLR_FLAGS
:
{
...
...
@@ -1070,7 +1070,7 @@ static int capinc_tty_write(struct tty_struct *tty,
mp
->
outbytes
+=
skb
->
len
;
}
skb
=
alloc_skb
(
CAPI_DATA_B3_REQ_LEN
+
count
,
GFP_ATOMIC
);
skb
=
alloc_skb
(
CAPI_DATA_B3_REQ_LEN
+
count
,
GFP_ATOMIC
);
if
(
!
skb
)
{
printk
(
KERN_ERR
"capinc_tty_write: alloc_skb failed
\n
"
);
spin_unlock_bh
(
&
mp
->
outlock
);
...
...
@@ -1111,7 +1111,7 @@ static int capinc_tty_put_char(struct tty_struct *tty, unsigned char ch)
invoke_send
=
true
;
}
skb
=
alloc_skb
(
CAPI_DATA_B3_REQ_LEN
+
CAPI_MAX_BLKSIZE
,
GFP_ATOMIC
);
skb
=
alloc_skb
(
CAPI_DATA_B3_REQ_LEN
+
CAPI_MAX_BLKSIZE
,
GFP_ATOMIC
);
if
(
skb
)
{
skb_reserve
(
skb
,
CAPI_DATA_B3_REQ_LEN
);
*
(
skb_put
(
skb
,
1
))
=
ch
;
...
...
@@ -1175,12 +1175,12 @@ static int capinc_tty_chars_in_buffer(struct tty_struct *tty)
}
static
int
capinc_tty_ioctl
(
struct
tty_struct
*
tty
,
unsigned
int
cmd
,
unsigned
long
arg
)
unsigned
int
cmd
,
unsigned
long
arg
)
{
return
-
ENOIOCTLCMD
;
}
static
void
capinc_tty_set_termios
(
struct
tty_struct
*
tty
,
struct
ktermios
*
old
)
static
void
capinc_tty_set_termios
(
struct
tty_struct
*
tty
,
struct
ktermios
*
old
)
{
pr_debug
(
"capinc_tty_set_termios
\n
"
);
}
...
...
@@ -1344,18 +1344,18 @@ static inline void capinc_tty_exit(void) { }
*/
static
int
capi20_proc_show
(
struct
seq_file
*
m
,
void
*
v
)
{
struct
capidev
*
cdev
;
struct
capidev
*
cdev
;
struct
list_head
*
l
;
mutex_lock
(
&
capidev_list_lock
);
list_for_each
(
l
,
&
capidev_list
)
{
cdev
=
list_entry
(
l
,
struct
capidev
,
list
);
seq_printf
(
m
,
"0 %d %lu %lu %lu %lu
\n
"
,
cdev
->
ap
.
applid
,
cdev
->
ap
.
nrecvctlpkt
,
cdev
->
ap
.
nrecvdatapkt
,
cdev
->
ap
.
nsentctlpkt
,
cdev
->
ap
.
nsentdatapkt
);
cdev
->
ap
.
applid
,
cdev
->
ap
.
nrecvctlpkt
,
cdev
->
ap
.
nrecvdatapkt
,
cdev
->
ap
.
nsentctlpkt
,
cdev
->
ap
.
nsentdatapkt
);
}
mutex_unlock
(
&
capidev_list_lock
);
return
0
;
...
...
@@ -1450,9 +1450,9 @@ static int __init capi_init(void)
proc_init
();
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
compileinfo
=
" (middleware)"
;
compileinfo
=
" (middleware)"
;
#else
compileinfo
=
" (no middleware)"
;
compileinfo
=
" (no middleware)"
;
#endif
printk
(
KERN_NOTICE
"CAPI 2.0 started up with major %d%s
\n
"
,
capi_major
,
compileinfo
);
...
...
drivers/isdn/capi/capidrv.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/capi/capidrv.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/capi/capilib.c
浏览文件 @
8de65c2a
...
...
@@ -4,9 +4,9 @@
#include <linux/module.h>
#include <linux/isdn/capilli.h>
#define DBG(format, arg...) do {
\
printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
} while (0)
#define DBG(format, arg...) do {
\
printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
} while (0)
struct
capilib_msgidqueue
{
struct
capilib_msgidqueue
*
next
;
...
...
@@ -28,7 +28,7 @@ struct capilib_ncci {
// ---------------------------------------------------------------------------
// NCCI Handling
static
inline
void
mq_init
(
struct
capilib_ncci
*
np
)
static
inline
void
mq_init
(
struct
capilib_ncci
*
np
)
{
u_int
i
;
np
->
msgidqueue
=
NULL
;
...
...
@@ -42,7 +42,7 @@ static inline void mq_init(struct capilib_ncci * np)
}
}
static
inline
int
mq_enqueue
(
struct
capilib_ncci
*
np
,
u16
msgid
)
static
inline
int
mq_enqueue
(
struct
capilib_ncci
*
np
,
u16
msgid
)
{
struct
capilib_msgidqueue
*
mq
;
if
((
mq
=
np
->
msgidfree
)
==
NULL
)
...
...
@@ -59,7 +59,7 @@ static inline int mq_enqueue(struct capilib_ncci * np, u16 msgid)
return
1
;
}
static
inline
int
mq_dequeue
(
struct
capilib_ncci
*
np
,
u16
msgid
)
static
inline
int
mq_dequeue
(
struct
capilib_ncci
*
np
,
u16
msgid
)
{
struct
capilib_msgidqueue
**
pp
;
for
(
pp
=
&
np
->
msgidqueue
;
*
pp
;
pp
=
&
(
*
pp
)
->
next
)
{
...
...
@@ -165,7 +165,7 @@ u16 capilib_data_b3_req(struct list_head *head, u16 applid, u32 ncci, u16 msgid)
continue
;
if
(
np
->
ncci
!=
ncci
)
continue
;
if
(
mq_enqueue
(
np
,
msgid
)
==
0
)
return
CAPI_SENDQUEUEFULL
;
...
...
@@ -188,7 +188,7 @@ void capilib_data_b3_conf(struct list_head *head, u16 applid, u32 ncci, u16 msgi
continue
;
if
(
np
->
ncci
!=
ncci
)
continue
;
if
(
mq_dequeue
(
np
,
msgid
)
==
0
)
{
printk
(
KERN_ERR
"kcapi: msgid %hu ncci 0x%x not on queue
\n
"
,
msgid
,
ncci
);
...
...
drivers/isdn/capi/capiutil.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/capi/kcapi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/capi/kcapi.h
浏览文件 @
8de65c2a
/*
* Kernel CAPI 2.0 Module
*
*
* Copyright 1999 by Carsten Paeth <calle@calle.de>
* Copyright 2002 by Kai Germaschewski <kai@germaschewski.name>
*
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*
...
...
@@ -16,9 +16,9 @@
#include <linux/isdn/capilli.h>
#ifdef KCAPI_DEBUG
#define DBG(format, arg...) do {
\
printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
} while (0)
#define DBG(format, arg...) do {
\
printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
} while (0)
#else
#define DBG(format, arg...)
/* */
#endif
...
...
@@ -49,4 +49,3 @@ static inline void kcapi_proc_init(void) { };
static
inline
void
kcapi_proc_exit
(
void
)
{
};
#endif
drivers/isdn/capi/kcapi_proc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/divert/divert_init.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/divert/divert_procfs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/divert/isdn_divert.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/divert/isdn_divert.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/asyncdata.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/bas-gigaset.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/capi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/common.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/ev-layer.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/gigaset.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/i4l.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/interface.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/isocdata.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/proc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/ser-gigaset.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/gigaset/usb-gigaset.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/avm_cs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/avmcard.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/b1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/b1dma.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/b1isa.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/b1pci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/b1pcmcia.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/c4.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/t1isa.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/avm/t1pci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capi20.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capidtmf.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capidtmf.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capifunc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capifunc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/capimain.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/cardtype.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/cp_vers.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dadapter.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dadapter.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/debug.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/debug_if.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/debuglib.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/debuglib.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dfifo.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/di.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/di.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/di_dbg.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/di_defs.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/did_vers.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diddfunc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diva.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diva_didd.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diva_dma.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diva_dma.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/diva_pci.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divacapi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divamnt.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divasfunc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divasi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divasmain.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divasproc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/divasync.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dqueue.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dqueue.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dsp_defs.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dsp_tst.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dspdids.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dsrv4bri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dsrv_bri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/dsrv_pri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/entity.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/helpers.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/idifunc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/io.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/io.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/istream.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/kst_ifc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/maintidi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/maintidi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/man_defs.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/mdm_msg.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/message.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/mi_pc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/mntfunc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_4bri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_4bri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_bri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_bri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_capi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_pri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/os_pri.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/pc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/pc_init.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/pc_maint.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/pkmaint.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/platform.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/pr_pc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/s_4bri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/s_bri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/s_pri.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/sdp_hdr.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/um_idi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/um_idi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/xdi_adapter.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/xdi_msg.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/eicon/xdi_vers.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/avmfritz.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfc_multi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfc_multi_8xx.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfc_pci.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfcmulti.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfcpci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfcsusb.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/hfcsusb.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/iohelper.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/isar.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/mISDNinfineon.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/mISDNipac.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/mISDNisar.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/netjet.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/netjet.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/speedfax.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hardware/mISDN/w6692.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/amd7930_fn.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/arcofi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/arcofi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/asuscom.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/avm_a1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/avm_a1p.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/avm_pci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/avma1_cs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/bkm_a4t.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/bkm_a8.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/bkm_ax.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/callc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/config.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/diva.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/elsa.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/elsa_cs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/elsa_ser.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/enternow_pci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/fsm.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/fsm.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/gazel.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc4s8s_l1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc4s8s_l1.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_2bds0.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_2bds0.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_2bs0.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_2bs0.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_pci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_pci.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_sx.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_sx.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_usb.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfc_usb.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hfcscard.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_cfg.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_debug.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_fcpcipnp.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_fcpcipnp.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_if.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hisax_isac.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hscx.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hscx.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/hscx_irq.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/icc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/icc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/ipac.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/ipacx.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isac.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isac.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isar.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isar.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isdnl1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isdnl2.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isdnl2.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isdnl3.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isdnl3.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/isurf.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/ix1_micro.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/jade.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/jade.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/jade_irq.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/l3_1tr6.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/l3dss1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/l3dss1.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/l3ni1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/l3ni1.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/lmgr.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/mic.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/netjet.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/netjet.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/niccy.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/nj_s.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/nj_u.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/q931.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/s0box.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/saphir.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/sedlbauer.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/sedlbauer_cs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/sportster.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/st5481.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/st5481_b.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/st5481_d.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/st5481_init.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/st5481_usb.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/tei.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/teleint.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/teles0.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/teles3.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/teles_cs.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/telespci.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/w6692.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hisax/w6692.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/boardergo.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/boardergo.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hycapi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_boot.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_defs.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_init.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_net.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_pof.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_procconf.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_proclog.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/hysdn_sched.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/hysdn/ince1pc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_audio.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_bsdcomp.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_common.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_common.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_concap.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_concap.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_net.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_net.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_ppp.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_ppp.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_tty.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_tty.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_ttyfax.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_ttyfax.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_v110.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_v110.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_x25iface.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdn_x25iface.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/i4l/isdnhdlc.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/icn/icn.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/icn/icn.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/isdnloop/isdnloop.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/isdnloop/isdnloop.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/clock.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/core.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/core.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_audio.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_biquad.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_blowfish.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_cmx.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_core.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_dtmf.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_ecdis.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_hwec.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_hwec.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_pipeline.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/dsp_tones.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/fsm.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/hwchannel.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/l1oip.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/l1oip_codec.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/l1oip_core.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/layer1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/layer1.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/layer2.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/layer2.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/socket.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/stack.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/tei.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/mISDN/timerdev.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/callbacks.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/callbacks.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/capi.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/capi.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/drv.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/edss1.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/edss1.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/layer2.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/layer2.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/module.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/pcbit/pcbit.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/card.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/command.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/event.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/hardware.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/init.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/interrupt.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/ioctl.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/message.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/message.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/packet.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/scioc.h
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/shmem.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
drivers/isdn/sc/timer.c
浏览文件 @
8de65c2a
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录