linux 2.6 port of smsc47m1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



before you send us another patch, would you please test the driver either
with the 2.4 version or the 2.6 version, to see if it works?
thanks

Gabriele Gorla wrote:
> Hello,
> wow! it has been a long time that I didn't get such
> good code review, thanks guys!
> 
> I agree... the PWM code seemed a bit strange to me but
> I assumed it to be working in the original driver, so
> I didn't really pay too much attention to it. (perhaps
> I should have?)
> 
> I'll work on the changes sometimes this week and
> resubmit the file.
> 
> thanks,
> GG
> --- Mark Studebaker <mds4 at verizon.net> wrote:
> 
>>Gabriele, I reviewed the code and the datasheet and
>>I agree with Jean that the
>>code looks totally broken. On the other hand you
>>would think I tested the
>>driver when I wrote it. Would you please test the
>>PWM operation in the current driver,
>>including the PWM enable?
>>Running our pwmconfig script would be a good test.
>>thanks
>>mds
>>
>>Jean Delvare wrote:
>>
>>>Quoting myself:
>>>
>>>
>>>
>>>>That's about all for this first check. I have yet
>>
>>to take a look at
>>
>>>>the sysfs callback functions.
>>>
>>>
>>>OK, I just did this. Your code is correct in the
>>
>>sense that it does the
>>
>>>same as what the 2.4/CVS driver does. However, I
>>
>>have noticed a number
>>
>>>of strangenesses, and think this is the right time
>>
>>to discuss them.
>>
>>>First, there is no lock on read/write. There is a
>>
>>lock for the update
>>
>>>function, but that's about all. It's obviously not
>>
>>sufficent. Usually,
>>
>>>drivers have a second lock for read and write
>>
>>operations.
>>
>>>Second, I'm really confused by the operations made
>>
>>on the PWM registers.
>>
>>>When reading the code, it looks like bit 7 is for
>>
>>enabling PWM and bits
>>
>>>6-0 hold the duty cycle value. Except that only
>>
>>bits 5-0 can be set,
>>
>>>and the conversions macros are odd. When looking
>>
>>at the datasheet OTOH,
>>
>>>I read that PWM enable is bit 0, inverted (1
>>
>>actually disables PWM),
>>
>>>and value is in bits 6-1. Bit 7 is a clock
>>
>>modifier, we don't care.
>>
>>>Conversions would be as simple as multiplying /
>>
>>dividing by 4 (with
>>
>>>some rounding if you want).
>>>
>>>Mark, am I missing something here or is PWM
>>
>>handling in the smsc47m1
>>
>>>driver plain broken? I'd be surprised that nobody
>>
>>reported so far if it
>>
>>>is, but sometimes we get surprised.
>>>
>>>Another point that could be improved in the 2.6
>>
>>driver is the fan
>>
>>>divisor setting. Instead of defaulting to 2 on
>>
>>invalid sets, you should
>>
>>>refuse them and return -EINVAL. This couldn't be
>>
>>done in the 2.4
>>
>>>driver, but it can be in 2.6, so let's do it. A
>>
>>number of drivers
>>
>>>already do (fscher.c was the first IIRC).
>>>
>>>Thanks.
>>>
>>
> 
> 
> 
> 	
> 		
> __________________________________
> Do you Yahoo!?
> Win a $20,000 Career Makeover at Yahoo! HotJobs  
> http://hotjobs.sweepstakes.yahoo.com/careermakeover 
> 
> 



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux