[openib-general] Re: [PATCH 12 of 20] ipath - misc driver support code
Bryan O'Sullivan
bos at pathscale.com
Fri Dec 30 15:10:09 PST 2005
On Fri, 2005-12-30 at 00:25 -0800, Greg KH wrote:
> No description of what the patch does?
Ahem. Oops.
> > +struct _infinipath_do_not_use_kernel_regs {
> > + unsigned long long Revision;
>
> u64?
Right.
> > + unsigned long long Control;
> > + unsigned long long PageAlign;
> > + unsigned long long PortCnt;
>
> And what's with the InterCapsNamingScheme of these variables?
They're taken straight from the register names in our chip spec. I can
squish them to lowercase-only, if that seems important.
> > +/*
> > + * would prefer to not inline this, to avoid code bloat, and simplify debugging
> > + * But when compiling against 2.6.10 kernel tree, it gets an error, so
> > + * not for now.
> > + */
> > +static void ipath_i2c_delay(ipath_type, int);
>
> You aren't compiling this for a 2.6.10 kernel anymore :)
Yes, that hunk is redundant. Thanks for spotting it.
> > +static void ipath_i2c_delay(ipath_type dev, int dtime)
> Huh? After reading your comment, I still don't understand why you can't
> just use udelay(). Or are you counting on calling this function with
> only "1" being set for dtime?
It's usually called with a dtime of 1, but there's an added delay in one
place.
I just rewrote that routine, so it's now a one-liner that does a read
which waits for writes to the chip to complete. The sole caller that
wanted an added wait calls udelay itself now.
> Ah, isn't it fun to write bit-banging functions... And the in-kernel
> i2c code is messier than doing this by hand?
>From looking at it, it will make the i2c part of the driver longer,
rather than shorter. There's nothing objectionable about the kernel i2c
interfaces per se, but our bit-banging code is pretty small and
specialised.
> Odd function comment style. Please fix this to be in kerneldoc format.
Sure.
> Are you _sure_ you need all of these for the one function in this file?
That file will be taken out and put to sleep.
> > +#include <stddef.h>
>
> Where is this file being pulled in from?
Ugh, braino.
> Woah, um, don't you think that you should either export the main mlock
> function itself, or fix your code to not need it? Rolling it yourself
> isn't a good idea...
Other people have pointed out that our page-pinning code is horked.
We'll find a saner alternative.
Thanks for the comments, Greg.
<b
More information about the general
mailing list