On Fri, Mar 19, 2010 at 8:31 PM, Grant Likely <[email protected]> wrote:
>> +config SERIAL_MAX3100_CONSOLE_N
>> + int "Number of MAX3100 chips to wait before registering console"
>> + depends on SERIAL_MAX3100_CONSOLE=y
>> + default "1"
>> + help
>> + Unfortunately due to the async nature of Linux boot we must
>> + know in advance when to register the console. If we do it
>> + too early not all the MAX3100 chips are known to the system
>> + yet. And we just cannot know how many MAX3100 will be in the
>> + system so it's impossible to wait for the last one. If you
>> + just want to have the console on the first MAX3100 chip
>> + probed (ttyMAX0) it's safe to leave this to 1.
>
> This seems wrong and fragile. It certainly isn't multiplatform safe
> to have it as a CONFIG setting because every board will have a
> different number of devices that it needs to wait for. I don't know
> the console code very well though, but it seems to me that there
> should be a way to register the console regardless and then be able to
> hold off output until the actual backing device shows up.
>
> Anybody know the right thing to do here?
I'll try to dig in the console code, any suggestion from others if
more than welcome.
>> + else {
>> + u16 tx, rx;
>
> inconsistent braces. If you use {} on the else side, then please use
> {} on the if side too.
ack, strange checkpatch.pl didin't catch these.
>> + IRQF_TRIGGER_FALLING, "max3100", s) < 0) {
>
> try to avoid unrelated whitespace changes, it adds noise when reviewing.
>
ack
>> + parity |= MAX3100_PARITY_ON;
>
> s->parity?
>
huh, well spotted. ack
>> + } else {
>> + tx &= ~MAX3100_PE;
>> + parity &= ~MAX3100_PARITY_ON;
>> + }
>> +
>> + if (parity == 'o')
>> + parity |= MAX3100_PARITY_ODD;
>> + else
>> + parity &= ~MAX3100_PARITY_ODD;
>
> ditto?
ack
>
>
> Also, these blocks are really verbose; maybe do this:
ack, I'll reorganize this chunk of code.
>
>> +
>> + msleep(50);
>
> Why the sleep? Shouldn't the console driver be able to handle the SPI
> device not being ready yet?
it's for the max3100 to settle. I'll double check the needed time and
add a comment.
>> + max3100_sr(max3100s[i], tx, &rx);
>> + }
>
> Same comment on braces as for above.
>
ack
Thanks again for the review.
--
Christian Pellegrin, see http://www.evolware.org/chri/
"Real Programmers don't play tennis, or any other sport which requires
you to change clothes. Mountain climbing is OK, and Real Programmers
wear their climbing boots to work in case a mountain should suddenly
spring up in the middle of the computer room."
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general