From 6d26a04b3b31333ab21e44d1816c7b1e77c523e7 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sun, 3 Dec 2017 10:28:15 -0800 Subject: [PATCH] Add comment explaining why smbus_disable is needed in probe Signed-off-by: Guenter Roeck --- it87.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/it87.c b/it87.c index 7c1e7e4..92415e3 100644 --- a/it87.c +++ b/it87.c @@ -3949,6 +3949,17 @@ static int it87_probe(struct platform_device *pdev) /* Initialize register pointers */ it87_init_regs(pdev); + /* + * We need to disable SMBus before we can read any registers in + * the envmon address space, even if it is for chip identification + * purposes. If the chip has SMBus client support, it likely also has + * multi-page envmon registers, so we have to set the page anyway + * before accessing those registers. Kind of a chicken-and-egg + * problem. + * Fortunately, the chip was already identified through the SIO + * address space, only recent chips are affected, and this is just + * an additional safeguard. + */ err = smbus_disable(data); if (err) return err; -- 2.39.5