2004-09-27 20:06:16

by Kilau, Scott

[permalink] [raw]
Subject: [PATCH 2.6.8.1] drivers/char: New serial driver.

I am submitting a new serial driver for the 2.6 series of kernels.

Description:
Digi serial driver for the Digi Neo and Classic PCI serial port
products.

IBM has requested this submission into the Linux kernel.

The patch is quite large (300K uncompressed), so rather than attach it
I am submitting a link to our ftp site where the patch is located.

ftp://ftp1.digi.com/pub/patches/dgnc.patch

Signed-off-by: Scott H Kilau <[email protected]>

Thanks
Scott Kilau
Digi International


2004-09-27 20:39:26

by Russell King

[permalink] [raw]
Subject: Re: [PATCH 2.6.8.1] drivers/char: New serial driver.

On Mon, Sep 27, 2004 at 03:03:32PM -0500, Kilau, Scott wrote:
> I am submitting a new serial driver for the 2.6 series of kernels.
>
> Description:
> Digi serial driver for the Digi Neo and Classic PCI serial port
> products.
>
> IBM has requested this submission into the Linux kernel.
>
> The patch is quite large (300K uncompressed), so rather than attach it
> I am submitting a link to our ftp site where the patch is located.
>
> ftp://ftp1.digi.com/pub/patches/dgnc.patch

A few comments:

(1) I'm disappointed that you aren't using the serial_core support
in drivers/serial.
(2) I'm also concerned that you're using serial_reg.h as a description
of an interface between your hardware specific drivers and your
hardware independent tty core. It isn't a description of such an
interface and therefore should not be used as such. Please fix
your code in respect to this.
(3) loopback mode is normally enabled by setting TIOCM_LOOP modem
control bit via the TIOCMBIS ioctl.

I'd also like Alan Cox to look over the driver since he's looking at
the tty layer. Alan may have further comments since I've only briefly
looked through it.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core

2004-09-28 20:09:49

by Kilau, Scott

[permalink] [raw]
Subject: RE: [PATCH 2.6.8.1] drivers/char: New serial driver.

Hi Russell, all.

For #1, we (Digi) still must support all of the 2.4.x series of kernels
with this driver, so we are unable to convert to the serial_core layer
at this time.

For #2 and #3, IBM and I are in the process of making the changes you
suggest.

Thanks!
Scott Kilau
Digi International


-----Original Message-----
From: Russell King [mailto:[email protected]]
Sent: Monday, September 27, 2004 3:31 PM
To: Kilau, Scott
Cc: [email protected]; [email protected]
Subject: Re: [PATCH 2.6.8.1] drivers/char: New serial driver.


On Mon, Sep 27, 2004 at 03:03:32PM -0500, Kilau, Scott wrote:
> I am submitting a new serial driver for the 2.6 series of kernels.
>
> Description:
> Digi serial driver for the Digi Neo and Classic PCI serial port
> products.
>
> IBM has requested this submission into the Linux kernel.
>
> The patch is quite large (300K uncompressed), so rather than attach it
> I am submitting a link to our ftp site where the patch is located.
>
> ftp://ftp1.digi.com/pub/patches/dgnc.patch

A few comments:

(1) I'm disappointed that you aren't using the serial_core support
in drivers/serial.
(2) I'm also concerned that you're using serial_reg.h as a description
of an interface between your hardware specific drivers and your
hardware independent tty core. It isn't a description of such an
interface and therefore should not be used as such. Please fix
your code in respect to this.
(3) loopback mode is normally enabled by setting TIOCM_LOOP modem
control bit via the TIOCMBIS ioctl.

I'd also like Alan Cox to look over the driver since he's looking at
the tty layer. Alan may have further comments since I've only briefly
looked through it.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core

2004-09-28 20:16:10

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 2.6.8.1] drivers/char: New serial driver.

On Mon, Sep 27, 2004 at 03:03:32PM -0500, Kilau, Scott wrote:
> I am submitting a new serial driver for the 2.6 series of kernels.
>
> Description:
> Digi serial driver for the Digi Neo and Classic PCI serial port
> products.

- you pci handling is rather bogus. You must handle all initialization
from ->probe and all teardown from ->remove. No fuzzing with board
count please - if pci_module_init returned success the driver must
stay loaded
- why is this one driver and not two? Please split it into one driver
for each hardware type
- the procfs/sysctl support is rather gross. For sysctl please use
simple tabls like everyone else (e.g. look at fs/xfs/linux-2.6/xfs_systl.c)
Also new procfs entries are discouraged in general, but if you absolutely
need them use the fs/seq_file.c interface
- please convert to Russell's serial_core interface (drivers/serial),
we already have far more copies of the old serial driver munged into
various driver than nessecary
- if you want compat code please always emulted older apis on old
ones.