[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <82a0b331-daa0-af9a-a7d0-0f1b3246ea49@roeck-us.net>
Date: Tue, 29 Oct 2019 07:02:55 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Jean Delvare <jdelvare@...e.de>, Rain Wang <Rain_Wang@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-hwmon@...r.kernel.org
Subject: Re: [PATCH] lm75: add lm75b detection
On 10/28/19 2:46 AM, Jean Delvare wrote:
> On Sun, 27 Oct 2019 16:03:39 -0700, Guenter Roeck wrote:
>> On 10/26/19 1:10 AM, Rain Wang wrote:
>>> The National Semiconductor LM75B is very similar as the
>>> LM75A, but it has no ID byte register 7, and unused registers
>>> return 0xff rather than the last read value like LM75A.
>
> Please send hwmon-related patches to the linux-hwmon list.
>
>>> Signed-off-by: Rain Wang <rain_wang@...il.com>
>>
>> I am quite hesitant to touch the detect function for this chip.
>> Each addition increases the risk for false positives. What is the
>> use case ?
>
> I'm positively certain I don't want this. Ideally there should be no
> detection at all for device without ID registers. The only reason there
> are some occurrences of that is because there were no way to explicitly
> instantiate I2C devices back then, and we have left the detection in
> place to avoid perceived regressions. But today there are plenty of
> ways to explicitly instantiate your I2C devices so there are no excuses
> for more crappy detect functions. Ideally we would even get rid of
> existing ones at some point in the future.
>
> This patch is bad anyway as it only changes the device name without
> implementing proper support for the LM75B.
>
FWIW, I don't think there is anything to implement; I don't see any
differences in functionality.
I am much more concerned about weakening the already weak detection even further:
As written, each chip with register 0x07 != 0xa1 will be identified as LM75B.
Even if that was strengthened to actually check if the register value is 0xff,
we have no idea what other vendors might implement in those registers. it would
most certainly mis-identify LM75C as LM75B. Not that it really matters if
the chip _is_ a LM75C, but who knows if other chips fit that identification
pattern.
Overall, my suggestion is to add a small startup script to affected systems
to instantiate the chip directly, and avoid weakening the detect function.
Guenter
Powered by blists - more mailing lists