Commit 0046db09 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by David S. Miller

docs: networking: convert z8530drv.txt to ReST

- add SPDX header;
- use copyright symbol;
- adjust titles and chapters, adding proper markups;
- mark tables as such;
- mark code blocks and literals as such;
- adjust identation, whitespaces and blank lines where needed;
- add to networking/index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a6c34b47
...@@ -121,6 +121,7 @@ Contents: ...@@ -121,6 +121,7 @@ Contents:
xfrm_proc xfrm_proc
xfrm_sync xfrm_sync
xfrm_sysctl xfrm_sysctl
z8530drv
.. only:: subproject and html .. only:: subproject and html
......
.. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
=========================================================
SCC.C - Linux driver for Z8530 based HDLC cards for AX.25
=========================================================
This is a subset of the documentation. To use this driver you MUST have the This is a subset of the documentation. To use this driver you MUST have the
full package from: full package from:
Internet: Internet:
=========
1. ftp://ftp.ccac.rwth-aachen.de/pub/jr/z8530drv-utils_3.0-3.tar.gz 1. ftp://ftp.ccac.rwth-aachen.de/pub/jr/z8530drv-utils_3.0-3.tar.gz
2. ftp://ftp.pspt.fi/pub/ham/linux/ax25/z8530drv-utils_3.0-3.tar.gz 2. ftp://ftp.pspt.fi/pub/ham/linux/ax25/z8530drv-utils_3.0-3.tar.gz
Please note that the information in this document may be hopelessly outdated. Please note that the information in this document may be hopelessly outdated.
A new version of the documentation, along with links to other important A new version of the documentation, along with links to other important
Linux Kernel AX.25 documentation and programs, is available on Linux Kernel AX.25 documentation and programs, is available on
http://yaina.de/jreuter http://yaina.de/jreuter
----------------------------------------------------------------------------- Copyright |copy| 1993,2000 by Joerg Reuter DL1BKE <jreuter@yaina.de>
SCC.C - Linux driver for Z8530 based HDLC cards for AX.25
********************************************************************
(c) 1993,2000 by Joerg Reuter DL1BKE <jreuter@yaina.de>
portions (c) 1993 Guido ten Dolle PE1NNZ
for the complete copyright notice see >> Copying.Z8530DRV << portions Copyright |copy| 1993 Guido ten Dolle PE1NNZ
********************************************************************
for the complete copyright notice see >> Copying.Z8530DRV <<
1. Initialization of the driver 1. Initialization of the driver
=============================== ===============================
...@@ -50,7 +47,7 @@ AX.25-HOWTO on how to emulate a KISS TNC on network device drivers. ...@@ -50,7 +47,7 @@ AX.25-HOWTO on how to emulate a KISS TNC on network device drivers.
(If you're going to compile the driver as a part of the kernel image, (If you're going to compile the driver as a part of the kernel image,
skip this chapter and continue with 1.2) skip this chapter and continue with 1.2)
Before you can use a module, you'll have to load it with Before you can use a module, you'll have to load it with::
insmod scc.o insmod scc.o
...@@ -75,61 +72,73 @@ The file itself consists of two main sections. ...@@ -75,61 +72,73 @@ The file itself consists of two main sections.
========================================== ==========================================
The hardware setup section defines the following parameters for each The hardware setup section defines the following parameters for each
Z8530: Z8530::
chip 1 chip 1
data_a 0x300 # data port A data_a 0x300 # data port A
ctrl_a 0x304 # control port A ctrl_a 0x304 # control port A
data_b 0x301 # data port B data_b 0x301 # data port B
ctrl_b 0x305 # control port B ctrl_b 0x305 # control port B
irq 5 # IRQ No. 5 irq 5 # IRQ No. 5
pclock 4915200 # clock pclock 4915200 # clock
board BAYCOM # hardware type board BAYCOM # hardware type
escc no # enhanced SCC chip? (8580/85180/85280) escc no # enhanced SCC chip? (8580/85180/85280)
vector 0 # latch for interrupt vector vector 0 # latch for interrupt vector
special no # address of special function register special no # address of special function register
option 0 # option to set via sfr option 0 # option to set via sfr
chip - this is just a delimiter to make sccinit a bit simpler to chip
- this is just a delimiter to make sccinit a bit simpler to
program. A parameter has no effect. program. A parameter has no effect.
data_a - the address of the data port A of this Z8530 (needed) data_a
ctrl_a - the address of the control port A (needed) - the address of the data port A of this Z8530 (needed)
data_b - the address of the data port B (needed) ctrl_a
ctrl_b - the address of the control port B (needed) - the address of the control port A (needed)
data_b
irq - the used IRQ for this chip. Different chips can use different - the address of the data port B (needed)
ctrl_b
- the address of the control port B (needed)
irq
- the used IRQ for this chip. Different chips can use different
IRQs or the same. If they share an interrupt, it needs to be IRQs or the same. If they share an interrupt, it needs to be
specified within one chip-definition only. specified within one chip-definition only.
pclock - the clock at the PCLK pin of the Z8530 (option, 4915200 is pclock - the clock at the PCLK pin of the Z8530 (option, 4915200 is
default), measured in Hertz default), measured in Hertz
board - the "type" of the board: board
- the "type" of the board:
======================= ========
SCC type value SCC type value
--------------------------------- ======================= ========
PA0HZP SCC card PA0HZP PA0HZP SCC card PA0HZP
EAGLE card EAGLE EAGLE card EAGLE
PC100 card PC100 PC100 card PC100
PRIMUS-PC (DG9BL) card PRIMUS PRIMUS-PC (DG9BL) card PRIMUS
BayCom (U)SCC card BAYCOM BayCom (U)SCC card BAYCOM
======================= ========
escc - if you want support for ESCC chips (8580, 85180, 85280), set escc
- if you want support for ESCC chips (8580, 85180, 85280), set
this to "yes" (option, defaults to "no") this to "yes" (option, defaults to "no")
vector - address of the vector latch (aka "intack port") for PA0HZP vector
- address of the vector latch (aka "intack port") for PA0HZP
cards. There can be only one vector latch for all chips! cards. There can be only one vector latch for all chips!
(option, defaults to 0) (option, defaults to 0)
special - address of the special function register on several cards. special
- address of the special function register on several cards.
(option, defaults to 0) (option, defaults to 0)
option - The value you write into that register (option, default is 0) option - The value you write into that register (option, default is 0)
You can specify up to four chips (8 channels). If this is not enough, You can specify up to four chips (8 channels). If this is not enough,
just change just change::
#define MAXSCC 4 #define MAXSCC 4
...@@ -138,75 +147,81 @@ to a higher value. ...@@ -138,75 +147,81 @@ to a higher value.
Example for the BAYCOM USCC: Example for the BAYCOM USCC:
---------------------------- ----------------------------
chip 1 ::
data_a 0x300 # data port A
ctrl_a 0x304 # control port A chip 1
data_b 0x301 # data port B data_a 0x300 # data port A
ctrl_b 0x305 # control port B ctrl_a 0x304 # control port A
irq 5 # IRQ No. 5 (#) data_b 0x301 # data port B
board BAYCOM # hardware type (*) ctrl_b 0x305 # control port B
# irq 5 # IRQ No. 5 (#)
# SCC chip 2 board BAYCOM # hardware type (*)
# #
chip 2 # SCC chip 2
data_a 0x302 #
ctrl_a 0x306 chip 2
data_b 0x303 data_a 0x302
ctrl_b 0x307 ctrl_a 0x306
board BAYCOM data_b 0x303
ctrl_b 0x307
board BAYCOM
An example for a PA0HZP card: An example for a PA0HZP card:
----------------------------- -----------------------------
chip 1 ::
data_a 0x153
data_b 0x151 chip 1
ctrl_a 0x152 data_a 0x153
ctrl_b 0x150 data_b 0x151
irq 9 ctrl_a 0x152
pclock 4915200 ctrl_b 0x150
board PA0HZP irq 9
vector 0x168 pclock 4915200
escc no board PA0HZP
# vector 0x168
# escc no
# #
chip 2 #
data_a 0x157 #
data_b 0x155 chip 2
ctrl_a 0x156 data_a 0x157
ctrl_b 0x154 data_b 0x155
irq 9 ctrl_a 0x156
pclock 4915200 ctrl_b 0x154
board PA0HZP irq 9
vector 0x168 pclock 4915200
escc no board PA0HZP
vector 0x168
escc no
A DRSI would should probably work with this: A DRSI would should probably work with this:
-------------------------------------------- --------------------------------------------
(actually: two DRSI cards...) (actually: two DRSI cards...)
chip 1 ::
data_a 0x303
data_b 0x301 chip 1
ctrl_a 0x302 data_a 0x303
ctrl_b 0x300 data_b 0x301
irq 7 ctrl_a 0x302
pclock 4915200 ctrl_b 0x300
board DRSI irq 7
escc no pclock 4915200
# board DRSI
# escc no
# #
chip 2 #
data_a 0x313 #
data_b 0x311 chip 2
ctrl_a 0x312 data_a 0x313
ctrl_b 0x310 data_b 0x311
irq 7 ctrl_a 0x312
pclock 4915200 ctrl_b 0x310
board DRSI irq 7
escc no pclock 4915200
board DRSI
escc no
Note that you cannot use the on-board baudrate generator off DRSI Note that you cannot use the on-board baudrate generator off DRSI
cards. Use "mode dpll" for clock source (see below). cards. Use "mode dpll" for clock source (see below).
...@@ -221,13 +236,15 @@ If you only know the parameters for the PE1CHL driver for DOS, ...@@ -221,13 +236,15 @@ If you only know the parameters for the PE1CHL driver for DOS,
run gencfg. It will generate the correct port addresses (I hope). run gencfg. It will generate the correct port addresses (I hope).
Its parameters are exactly the same as the ones you use with Its parameters are exactly the same as the ones you use with
the "attach scc" command in net, except that the string "init" must the "attach scc" command in net, except that the string "init" must
not appear. Example: not appear. Example::
gencfg 2 0x150 4 2 0 1 0x168 9 4915200 gencfg 2 0x150 4 2 0 1 0x168 9 4915200
will print a skeleton z8530drv.conf for the OptoSCC to stdout. will print a skeleton z8530drv.conf for the OptoSCC to stdout.
gencfg 2 0x300 2 4 5 -4 0 7 4915200 0x10 ::
gencfg 2 0x300 2 4 5 -4 0 7 4915200 0x10
does the same for the BAYCOM USCC card. In my opinion it is much easier does the same for the BAYCOM USCC card. In my opinion it is much easier
to edit scc_config.h... to edit scc_config.h...
...@@ -239,44 +256,44 @@ to edit scc_config.h... ...@@ -239,44 +256,44 @@ to edit scc_config.h...
The channel definition is divided into three sub sections for each The channel definition is divided into three sub sections for each
channel: channel:
An example for scc0: An example for scc0::
# DEVICE # DEVICE
device scc0 # the device for the following params device scc0 # the device for the following params
# MODEM / BUFFERS # MODEM / BUFFERS
speed 1200 # the default baudrate speed 1200 # the default baudrate
clock dpll # clock source: clock dpll # clock source:
# dpll = normal half duplex operation # dpll = normal half duplex operation
# external = MODEM provides own Rx/Tx clock # external = MODEM provides own Rx/Tx clock
# divider = use full duplex divider if # divider = use full duplex divider if
# installed (1) # installed (1)
mode nrzi # HDLC encoding mode mode nrzi # HDLC encoding mode
# nrzi = 1k2 MODEM, G3RUH 9k6 MODEM # nrzi = 1k2 MODEM, G3RUH 9k6 MODEM
# nrz = DF9IC 9k6 MODEM # nrz = DF9IC 9k6 MODEM
# #
bufsize 384 # size of buffers. Note that this must include bufsize 384 # size of buffers. Note that this must include
# the AX.25 header, not only the data field! # the AX.25 header, not only the data field!
# (optional, defaults to 384) # (optional, defaults to 384)
# KISS (Layer 1) # KISS (Layer 1)
txdelay 36 # (see chapter 1.4) txdelay 36 # (see chapter 1.4)
persist 64 persist 64
slot 8 slot 8
tail 8 tail 8
fulldup 0 fulldup 0
wait 12 wait 12
min 3 min 3
maxkey 7 maxkey 7
idle 3 idle 3
maxdef 120 maxdef 120
group 0 group 0
txoff off txoff off
softdcd on softdcd on
slip off slip off
The order WITHIN these sections is unimportant. The order OF these The order WITHIN these sections is unimportant. The order OF these
sections IS important. The MODEM parameters are set with the first sections IS important. The MODEM parameters are set with the first
...@@ -299,7 +316,7 @@ security holes... ...@@ -299,7 +316,7 @@ security holes...
2.1 Kernel AX.25 2.1 Kernel AX.25
================ ================
To set up an AX.25 device you can simply type: To set up an AX.25 device you can simply type::
ifconfig scc0 44.128.1.1 hw ax25 dl0tha-7 ifconfig scc0 44.128.1.1 hw ax25 dl0tha-7
...@@ -318,16 +335,16 @@ Since the TTY driver (aka KISS TNC emulation) is gone you need ...@@ -318,16 +335,16 @@ Since the TTY driver (aka KISS TNC emulation) is gone you need
to emulate the old behaviour. The cost of using these programs is to emulate the old behaviour. The cost of using these programs is
that you probably need to compile the kernel AX.25, regardless of whether that you probably need to compile the kernel AX.25, regardless of whether
you actually use it or not. First setup your /etc/ax25/axports, you actually use it or not. First setup your /etc/ax25/axports,
for example: for example::
9k6 dl0tha-9 9600 255 4 9600 baud port (scc3) 9k6 dl0tha-9 9600 255 4 9600 baud port (scc3)
axlink dl0tha-15 38400 255 4 Link to NOS axlink dl0tha-15 38400 255 4 Link to NOS
Now "ifconfig" the scc device: Now "ifconfig" the scc device::
ifconfig scc3 44.128.1.1 hw ax25 dl0tha-9 ifconfig scc3 44.128.1.1 hw ax25 dl0tha-9
You can now axattach a pseudo-TTY: You can now axattach a pseudo-TTY::
axattach /dev/ptys0 axlink axattach /dev/ptys0 axlink
...@@ -335,11 +352,11 @@ and start your NOS and attach /dev/ptys0 there. The problem is that ...@@ -335,11 +352,11 @@ and start your NOS and attach /dev/ptys0 there. The problem is that
NOS is reachable only via digipeating through the kernel AX.25 NOS is reachable only via digipeating through the kernel AX.25
(disastrous on a DAMA controlled channel). To solve this problem, (disastrous on a DAMA controlled channel). To solve this problem,
configure "rxecho" to echo the incoming frames from "9k6" to "axlink" configure "rxecho" to echo the incoming frames from "9k6" to "axlink"
and outgoing frames from "axlink" to "9k6" and start: and outgoing frames from "axlink" to "9k6" and start::
rxecho rxecho
Or simply use "kissbridge" coming with z8530drv-utils: Or simply use "kissbridge" coming with z8530drv-utils::
ifconfig scc3 hw ax25 dl0tha-9 ifconfig scc3 hw ax25 dl0tha-9
kissbridge scc3 /dev/ptys0 kissbridge scc3 /dev/ptys0
...@@ -352,54 +369,56 @@ Or simply use "kissbridge" coming with z8530drv-utils: ...@@ -352,54 +369,56 @@ Or simply use "kissbridge" coming with z8530drv-utils:
============================== ==============================
Once a SCC channel has been attached, the parameter settings and Once a SCC channel has been attached, the parameter settings and
some statistic information can be shown using the param program: some statistic information can be shown using the param program::
dl1bke-u:~$ sccstat scc0 dl1bke-u:~$ sccstat scc0
Parameters: Parameters:
speed : 1200 baud speed : 1200 baud
txdelay : 36 txdelay : 36
persist : 255 persist : 255
slottime : 0 slottime : 0
txtail : 8 txtail : 8
fulldup : 1 fulldup : 1
waittime : 12 waittime : 12
mintime : 3 sec mintime : 3 sec
maxkeyup : 7 sec maxkeyup : 7 sec
idletime : 3 sec idletime : 3 sec
maxdefer : 120 sec maxdefer : 120 sec
group : 0x00 group : 0x00
txoff : off txoff : off
softdcd : on softdcd : on
SLIP : off SLIP : off
Status: Status:
HDLC Z8530 Interrupts Buffers HDLC Z8530 Interrupts Buffers
----------------------------------------------------------------------- -----------------------------------------------------------------------
Sent : 273 RxOver : 0 RxInts : 125074 Size : 384 Sent : 273 RxOver : 0 RxInts : 125074 Size : 384
Received : 1095 TxUnder: 0 TxInts : 4684 NoSpace : 0 Received : 1095 TxUnder: 0 TxInts : 4684 NoSpace : 0
RxErrors : 1591 ExInts : 11776 RxErrors : 1591 ExInts : 11776
TxErrors : 0 SpInts : 1503 TxErrors : 0 SpInts : 1503
Tx State : idle Tx State : idle
The status info shown is: The status info shown is:
Sent - number of frames transmitted ============== ==============================================================
Received - number of frames received Sent number of frames transmitted
RxErrors - number of receive errors (CRC, ABORT) Received number of frames received
TxErrors - number of discarded Tx frames (due to various reasons) RxErrors number of receive errors (CRC, ABORT)
Tx State - status of the Tx interrupt handler: idle/busy/active/tail (2) TxErrors number of discarded Tx frames (due to various reasons)
RxOver - number of receiver overruns Tx State status of the Tx interrupt handler: idle/busy/active/tail (2)
TxUnder - number of transmitter underruns RxOver number of receiver overruns
RxInts - number of receiver interrupts TxUnder number of transmitter underruns
TxInts - number of transmitter interrupts RxInts number of receiver interrupts
EpInts - number of receiver special condition interrupts TxInts number of transmitter interrupts
SpInts - number of external/status interrupts EpInts number of receiver special condition interrupts
Size - maximum size of an AX.25 frame (*with* AX.25 headers!) SpInts number of external/status interrupts
NoSpace - number of times a buffer could not get allocated Size maximum size of an AX.25 frame (*with* AX.25 headers!)
NoSpace number of times a buffer could not get allocated
============== ==============================================================
An overrun is abnormal. If lots of these occur, the product of An overrun is abnormal. If lots of these occur, the product of
baudrate and number of interfaces is too high for the processing baudrate and number of interfaces is too high for the processing
...@@ -414,29 +433,31 @@ driver or the kernel AX.25. ...@@ -414,29 +433,31 @@ driver or the kernel AX.25.
The setting of parameters of the emulated KISS TNC is done in the The setting of parameters of the emulated KISS TNC is done in the
same way in the SCC driver. You can change parameters by using same way in the SCC driver. You can change parameters by using
the kissparms program from the ax25-utils package or use the program the kissparms program from the ax25-utils package or use the program
"sccparam": "sccparam"::
sccparam <device> <paramname> <decimal-|hexadecimal value> sccparam <device> <paramname> <decimal-|hexadecimal value>
You can change the following parameters: You can change the following parameters:
param : value =========== =====
------------------------ param value
speed : 1200 =========== =====
txdelay : 36 speed 1200
persist : 255 txdelay 36
slottime : 0 persist 255
txtail : 8 slottime 0
fulldup : 1 txtail 8
waittime : 12 fulldup 1
mintime : 3 waittime 12
maxkeyup : 7 mintime 3
idletime : 3 maxkeyup 7
maxdefer : 120 idletime 3
group : 0x00 maxdefer 120
txoff : off group 0x00
softdcd : on txoff off
SLIP : off softdcd on
SLIP off
=========== =====
The parameters have the following meaning: The parameters have the following meaning:
...@@ -530,7 +551,7 @@ min: ...@@ -530,7 +551,7 @@ min:
Example: sccparam /dev/scc3 min 10 Example: sccparam /dev/scc3 min 10
idle idle:
This parameter specifies the maximum idle time in full duplex This parameter specifies the maximum idle time in full duplex
2 mode, in seconds. When no frames have been sent for this 2 mode, in seconds. When no frames have been sent for this
time, the transmitter will be keyed down. A value of 0 is time, the transmitter will be keyed down. A value of 0 is
...@@ -564,10 +585,13 @@ group: ...@@ -564,10 +585,13 @@ group:
method to lock transmitters on different interfaces, using the method to lock transmitters on different interfaces, using the
"param <interface> group <x>" command. This will only work when "param <interface> group <x>" command. This will only work when
you are using CSMA mode (parameter full = 0). you are using CSMA mode (parameter full = 0).
The number <x> must be 0 if you want no group restrictions, and The number <x> must be 0 if you want no group restrictions, and
can be computed as follows to create restricted groups: can be computed as follows to create restricted groups:
<x> is the sum of some OCTAL numbers: <x> is the sum of some OCTAL numbers:
=== =======================================================
200 This transmitter will only be keyed when all other 200 This transmitter will only be keyed when all other
transmitters in the group are off. transmitters in the group are off.
100 This transmitter will only be keyed when the carrier 100 This transmitter will only be keyed when the carrier
...@@ -575,10 +599,13 @@ group: ...@@ -575,10 +599,13 @@ group:
0xx A byte that can be used to define different groups. 0xx A byte that can be used to define different groups.
Interfaces are in the same group, when the logical AND Interfaces are in the same group, when the logical AND
between their xx values is nonzero. between their xx values is nonzero.
=== =======================================================
Examples: Examples:
When 2 interfaces use group 201, their transmitters will never be When 2 interfaces use group 201, their transmitters will never be
keyed at the same time. keyed at the same time.
When 2 interfaces use group 101, the transmitters will only key When 2 interfaces use group 101, the transmitters will only key
when both channels are clear at the same time. When group 301, when both channels are clear at the same time. When group 301,
the transmitters will not be keyed at the same time. the transmitters will not be keyed at the same time.
...@@ -651,7 +678,9 @@ got it up-and-running? ...@@ -651,7 +678,9 @@ got it up-and-running?
Many thanks to Linus Torvalds and Alan Cox for including the driver Many thanks to Linus Torvalds and Alan Cox for including the driver
in the Linux standard distribution and their support. in the Linux standard distribution and their support.
Joerg Reuter ampr-net: dl1bke@db0pra.ampr.org ::
Joerg Reuter ampr-net: dl1bke@db0pra.ampr.org
AX-25 : DL1BKE @ DB0ABH.#BAY.DEU.EU AX-25 : DL1BKE @ DB0ABH.#BAY.DEU.EU
Internet: jreuter@yaina.de Internet: jreuter@yaina.de
WWW : http://yaina.de/jreuter WWW : http://yaina.de/jreuter
...@@ -18644,7 +18644,7 @@ L: linux-hams@vger.kernel.org ...@@ -18644,7 +18644,7 @@ L: linux-hams@vger.kernel.org
S: Maintained S: Maintained
W: http://yaina.de/jreuter/ W: http://yaina.de/jreuter/
W: http://www.qsl.net/dl1bke/ W: http://www.qsl.net/dl1bke/
F: Documentation/networking/z8530drv.txt F: Documentation/networking/z8530drv.rst
F: drivers/net/hamradio/*scc.c F: drivers/net/hamradio/*scc.c
F: drivers/net/hamradio/z8530.h F: drivers/net/hamradio/z8530.h
......
...@@ -84,7 +84,7 @@ config SCC ...@@ -84,7 +84,7 @@ config SCC
---help--- ---help---
These cards are used to connect your Linux box to an amateur radio These cards are used to connect your Linux box to an amateur radio
in order to communicate with other computers. If you want to use in order to communicate with other computers. If you want to use
this, read <file:Documentation/networking/z8530drv.txt> and the this, read <file:Documentation/networking/z8530drv.rst> and the
AX25-HOWTO, available from AX25-HOWTO, available from
<http://www.tldp.org/docs.html#howto>. Also make sure to say Y <http://www.tldp.org/docs.html#howto>. Also make sure to say Y
to "Amateur Radio AX.25 Level 2" support. to "Amateur Radio AX.25 Level 2" support.
...@@ -98,7 +98,7 @@ config SCC_DELAY ...@@ -98,7 +98,7 @@ config SCC_DELAY
help help
Say Y here if you experience problems with the SCC driver not Say Y here if you experience problems with the SCC driver not
working properly; please read working properly; please read
<file:Documentation/networking/z8530drv.txt> for details. <file:Documentation/networking/z8530drv.rst> for details.
If unsure, say N. If unsure, say N.
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* ------------------ * ------------------
* *
* You can find a subset of the documentation in * You can find a subset of the documentation in
* Documentation/networking/z8530drv.txt. * Documentation/networking/z8530drv.rst.
*/ */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment