Re: [PATCH] tty: serial: men_z135_uart: Fix driver for changes in hardware

Johannes Thumshirn
2014-09-10T06:10:14Z

On Tue, Sep 09, 2014 at 05:26:35PM -0700, Greg Kroah-Hartman wrote:
> On Tue, Sep 09, 2014 at 07:56:15AM +0200, Johannes Thumshirn wrote:
> > On Mon, Sep 08, 2014 at 04:17:33PM -0700, Greg Kroah-Hartman wrote:
> > > >
> > > > @@ -118,6 +117,10 @@ static int align;
> > > > module_param(align, int, S_IRUGO);
> > > > MODULE_PARM_DESC(align, "Keep hardware FIFO write pointer aligned, default 0");
> > > >
> > > > +static int rx_timeout;
> > > > +module_param(rx_timeout, uint, S_IRUGO);
> > > > +MODULE_PARM_DESC(rx_timeout, "RX timeout");
> > >
> > > Why add a module parameter? Who will know to set this? And to what
> > > value?
> > >
> >
> > There will be a user manual describing the parameter. It's like the rxlvl and
> > txlvl parameters, you'll have to read the manual if you need other values than
> > the default ones.
>
> Ugh, but module parameters are for all devices in the system of this
> type, which is why we try not to have them at all anymore.
>
> And I don't like the other module parameters either :(
>
> But it's an odd-one-off driver, I guess we can live...

Just for my information, what would be the correct way to do these kinds of
hardware specific settings? Sysfs? Debugfs? Custom ioctl()s (no struct file_operations,
so probably not)?

I guess we (and others) have a lot hardware that can be tweaked some way other
than what the framework supports and if module parameters aren't the way to go I
there must be some other way to configure this.

>
> > > And what about this driver working on old hardware, didn't you just
> > > break this?
> > >
> >
> > No. Currently the hardware is in a testing stage at only one customer and it is
> > an IP-Core inside a FPGA, so it can be (and already is) updated. So we can be
> > save to assume this is O.K.
>
> Ok, can you please resend this, it's gone from my queue now.

O.K. On the way.

Thanks,
Johannes