All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: Viktor Krasnov <vkrasnov@dev.rtsoft.ru>,
	jdelvare@suse.com, linux-i2c@vger.kernel.org,
	Edgar Cherkasov <echerkasov@dev.rtsoft.ru>,
	Michael Brunner <Michael.Brunner@kontron.com>,
	linux-acpi@vger.kernel.org,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Jarkko Nikula <jarkko.nikula@linux.intel.com>
Subject: Re: [PATCH] i2c: i2c-scmi: add a MS HID
Date: Fri, 31 Mar 2017 10:20:04 +0300	[thread overview]
Message-ID: <20170331072004.GC2957@lahna.fi.intel.com> (raw)
In-Reply-To: <20170330155233.dfnqe7d2xkr32zlo@ninjato>

On Thu, Mar 30, 2017 at 05:52:33PM +0200, Wolfram Sang wrote:
> On Thu, Mar 23, 2017 at 09:47:47PM +0100, Wolfram Sang wrote:
> > On Fri, Mar 10, 2017 at 04:58:35PM +0300, Viktor Krasnov wrote:
> > 
> > Thanks for the patch!
> > 
> > adding linux-acpi to CC. This is more an ACPI question than I2C.
> 
> Mika? Andy? Jarkko? Any input on this?
> 
> > 
> > > From: Edgar Cherkasov <echerkasov@dev.rtsoft.ru>
> > > 
> > > Description of the problem:
> > >  - i2c-scmi driver contains only two identifiers "SMBUS01" and "SMBUSIBM";
> > >  - the fist HID (SMBUS01) is clearly defined in "SMBus Control Method
> > >    Interface Specification, version 1.0": "Each device must specify 
> > >    'SMBUS01' as its _HID and use a unique _UID value";
> > >  - unfortunately, BIOS vendors (like AMI) seem to ignore this requirement
> > >    and implement "SMB0001" HID instead of "SMBUS01";
> > >  - I speculate that they do this because only "SMB0001" is hard coded in
> > >    Windows SMBus driver produced by Microsoft.
> > > 
> > > This leads to following situation:
> > >  - SMBus works out of box in Windows but not in Linux;
> > >  - board vendors are forced to add correct "SMBUS01" HID to BIOS to make
> > >    SMBus work in Linux. Moreover the same board vendors complain that
> > >    tools (3-rd party ASL compiler) do not like the "SMBUS01" identifier
> > >    and produce errors.  So they need to constantly patch the compiler for 
> > >    each new version of BIOS.
> > > 
> > > As it is very unlikely that BIOS vendors implement a correct HID in
> > > future, I would propose to consider whether it is possible to work around
> > > the problem by adding MS HID to the Linux i2c-scmi driver.
> > > 
> > > Signed-off-by: Edgar Cherkasov <echerkasov@dev.rtsoft.ru>
> > > Signed-off-by: Michael Brunner <Michael.Brunner@kontron.com>
> > > Acked-by: Viktor Krasnov <vkrasnov@dev.rtsoft.ru>
> > > ---
> > >  drivers/i2c/busses/i2c-scmi.c | 1 +
> > >  include/acpi/acpi_drivers.h   | 2 ++
> > >  2 files changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/i2c/busses/i2c-scmi.c b/drivers/i2c/busses/i2c-scmi.c
> > > index dfc98df..fb9aee0 100644
> > > --- a/drivers/i2c/busses/i2c-scmi.c
> > > +++ b/drivers/i2c/busses/i2c-scmi.c
> > > @@ -51,6 +51,7 @@ struct acpi_smbus_cmi {
> > >  static const struct acpi_device_id acpi_smbus_cmi_ids[] = {
> > >  	{"SMBUS01", (kernel_ulong_t)&smbus_methods},
> > >  	{ACPI_SMBUS_IBM_HID, (kernel_ulong_t)&ibm_smbus_methods},
> > > +	{ACPI_SMBUS_MS_HID, (kernel_ulong_t)&smbus_methods},
> > >  	{"", 0}
> > >  };
> > >  MODULE_DEVICE_TABLE(acpi, acpi_smbus_cmi_ids);
> > > diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h
> > > index 29c6912..d34538b 100644
> > > --- a/include/acpi/acpi_drivers.h
> > > +++ b/include/acpi/acpi_drivers.h
> > > @@ -60,6 +60,8 @@
> > >  #define ACPI_DOCK_HID			"LNXDOCK"
> > >  /* Quirk for broken IBM BIOSes */
> > >  #define ACPI_SMBUS_IBM_HID		"SMBUSIBM"
> > > +/* SMBUS HID definition as supported by Microsoft Windows */
> > > +#define ACPI_SMBUS_MS_HID		"SMB0001"

I agree with the reasoning but why do you add the ID here also? Wouldn't
it suffice if added only to the i2c-scmi.c driver?

  reply	other threads:[~2017-03-31  7:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-10 13:58 [PATCH] i2c: i2c-scmi: add a MS HID Viktor Krasnov
2017-03-23 20:47 ` Wolfram Sang
2017-03-30 15:52   ` Wolfram Sang
2017-03-31  7:20     ` Mika Westerberg [this message]
2017-03-31  7:31       ` Viktor Krasnov
2017-03-31  7:47         ` Mika Westerberg
2017-03-31  8:04           ` Viktor Krasnov
2017-03-31 10:01     ` Andy Shevchenko
2017-03-24  9:16 ` Jean Delvare

Reply instructions:

You may reply publicly 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=20170331072004.GC2957@lahna.fi.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=Michael.Brunner@kontron.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=echerkasov@dev.rtsoft.ru \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=jdelvare@suse.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=vkrasnov@dev.rtsoft.ru \
    --cc=wsa@the-dreams.de \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.