Linux-Hwmon Archive on lore.kernel.org
 help / color / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Corey Ashford <yeroca@gmail.com>
Cc: linux-hwmon@vger.kernel.org, Jean Delvare <jdelvare@suse.com>
Subject: Re: [RFC] hwmon: add support for IT8686E to it87.c
Date: Mon, 2 Dec 2019 06:32:53 -0800
Message-ID: <e4b5b93e-65ee-dd23-93a6-1737ede87ef4@roeck-us.net> (raw)
In-Reply-To: <CALUKdZ9pDpMNeKY4wb21gxF7Dqdp=9CJLTEmeRNtDP1N1Pw_9A@mail.gmail.com>

On 11/29/19 8:48 PM, Corey Ashford wrote:
> On Fri, Nov 29, 2019 at 8:17 PM Guenter Roeck <linux@roeck-us.net> wrote:
>>
>> On 11/29/19 6:11 PM, Corey Ashford wrote:
>>> Hello folks.  I am running a newly-built system that uses an IT8686E
>>> chip.  Currently, the latest kernel from kernel.org doesn't have code
>>> in drivers/hwmon/it87.c to support it, however, I found some source on
>>> the net which has added support for quite a few more variants of that
>>> brand of Super I/O chip:
>>> https://github.com/xdarklight/hwmon-it87/blob/master/it87.c
>>> I tried it out by building the module and "insmod"ing it into my
>>> running system, and it appears to work fine.
>>>
>>> It seems the original developer had a difficult time pushing the
>>> changes upstream, so he abandoned the project.
>>>
>>
>> I abandoned the project (and dropped the driver from my github page)
>> because people started _demanding_ that I push the driver from github
>> upstream, without offering any assistance whatsoever.
>>
>>> My thought was that I could add support for just the IT8686E chip as a
>>> single patch, and since I can test it locally I would have a better
>>> chance of getting the patch accepted.  The changes to the source at
>>> the above git tree have quite a number of changes that aren't really
>>> necessary for supporting the IT8686E chip, so I think the patch could
>>> be pretty small, but will still credit the original author.
>>>
>>
>> IT8686 is a multi-page chip, meaning you'll need the entire protection
>> against multi-page accesses by the EC in the system. It also supports
>> the new temperature map. I don't think it is that simple.
>>
>> Guenter
> 
> Thanks for the quick reply!
> 
> When you said they didn't offer any assistance, do you mean assistance
> with testing?  If so, how about if the support is trimmed out for the
> newly-added chips that have no available test system volunteers, and
> then slowly add those back as people make test systems and testing
> time available.  Should I presume that you have access to one or more
> systems with the added ITnnnn chips?  I volunteer my system for
> testing the IT8686E support.
> 

Testing and, more importantly, detailed code review. No one but me has
seriously (if at all) scrutinized that code for years. Just picking it
into mainline and hope that it won't cause trouble is, by itself, troublesome.

On top of that, the multi-page access problems are well known by board vendors
using this chip as well as by the chip vendor. Yet, neither board vendors nor
ITE talk with kernel developers. The workarounds I implemented are based on
information I got from one of the Windows tools developers, and are not
validated by any board vendor nor by ITE. Every board vendor I tried to contact
tells me that they don't support Linux, and I never got any reply from ITE.
I do know that the code causes problems on early Gigabyte board using the 8686
and similar multi-page chips. Just accessing the chip from Linux may cause trouble
because the built-in EC tries to access it as well in parallel (I suspect this
causes the board to reset because that access is turned off for a while by
the driver). This is all fine for an out-of-tree driver, but it would be
unacceptable in the upstream kernel.

In summary, you'll not only need to port the code, you'll also need to establish
contact to ITE and/or to board vendors to ensure that the code works as intended
with the EC on the affected boards.

Guenter

  reply index

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-30  2:11 Corey Ashford
2019-11-30  4:17 ` Guenter Roeck
2019-11-30  4:48   ` Corey Ashford
2019-12-02 14:32     ` Guenter Roeck [this message]
2019-12-02 17:07       ` Corey Ashford
2019-12-02 17:52         ` Guenter Roeck
2019-12-02 22:33           ` Corey Ashford
2019-12-02 23:09             ` Guenter Roeck
2019-12-03  0:39               ` Corey Ashford

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e4b5b93e-65ee-dd23-93a6-1737ede87ef4@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=yeroca@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Hwmon Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-hwmon/0 linux-hwmon/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-hwmon linux-hwmon/ https://lore.kernel.org/linux-hwmon \
		linux-hwmon@vger.kernel.org
	public-inbox-index linux-hwmon

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-hwmon


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git