Re: [REGRESSION] hwmon: (applesmc) avoid overlong udelay()

Guenter Roeck
2020-11-05T05:27:05Z

On 11/4/20 9:05 PM, Brad Campbell wrote:
> On 5/11/20 3:43 pm, Guenter Roeck wrote:
>> On 11/4/20 6:18 PM, Brad Campbell wrote:
>>> On 5/11/20 12:20 am, Andreas Kemnade wrote:
>>>> On Tue, 3 Nov 2020 16:56:32 +1100
>>>> Brad Campbell <brad@fnarfbargle.com> wrote:
>>>
>>>>> If anyone with a Mac having a conventional SMC and seeing issues on 5.9 could test this it'd be appreciated. I'm not saying this code is "correct", but it "works for me".
>>>>>
>>>> Seems to work here.
>>>>    dmesg  | grep applesmc
>>>>
>>>> [    1.350782] applesmc: key=561 fan=1 temp=33 index=33 acc=0 lux=2 kbd=1
>>>> [    1.350922] applesmc applesmc.768: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
>>>> [   17.748504] applesmc: wait_status looping 2: 0x4a, 0x4c, 0x4f
>>>> [  212.008952] applesmc: wait_status looping 2: 0x44, 0x40, 0x4e
>>>> [  213.033930] applesmc: wait_status looping 2: 0x44, 0x40, 0x4e
>>>> [  213.167908] applesmc: wait_status looping 2: 0x44, 0x40, 0x4e
>>>> [  219.087854] applesmc: wait_status looping 2: 0x44, 0x40, 0x4e
>>>>
>>>> Tested it on top of 5.9
>>>
>>> Much appreciated Andreas.
>>>
>>> I'm not entirely sure where to go from here. I'd really like some wider testing before cleaning this up and submitting it. It puts extra checks & constraints on the comms with the SMC that weren't there previously.
>>>
>>> I guess given there doesn't appear to have been a major outcry that the driver broke in 5.9 might indicate that nobody is using it, or that it only broke on certain machines?
>>>
>>> Can we get some guidance from the hwmon maintainers on what direction they'd like to take? I don't really want to push this forward without broader testing only to find it breaks a whole heap of machines on the basis that it fixes mine.
>>>
>>
>> Trick question ;-).
>>
>> I'd suggest to keep it simple. Your patch seems to be quite complicated
>> and checks a lot of bits. Reducing that to a minimum would help limiting
>> the risk that some of those bits are interpreted differently on other
>> systems.
>>
>> Guenter
>>
>>
> Appreciate the feedback.
>
> This would be the bare minimum based on the bits use in the original code. If the original code worked "well enough" then this should be relatively safe.
>

Can you clean that up and submit as patch ?

Thanks,
Guenter