2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 20:53:53 +08:00
linux-next/drivers/i2c/busses
Edgar Cherkasov e058e7a4bc i2c: i2c-scmi: add a MS HID
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.

v2: move the definition of the new HID to the driver itself.

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>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-04-16 21:48:06 +02:00
..
i2c-acorn.c i2c: acorn: is tristate and should use module.h 2014-01-24 18:21:11 +01:00
i2c-ali15x3.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1535.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1563.c i2c: ali1563: fix checkpatch.pl issues 2014-05-22 10:09:21 +02:00
i2c-amd756-s4882.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd756.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-amd8111.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-at91.c i2c: at91: ensure state is restored after suspending 2017-02-20 19:23:52 +01:00
i2c-au1550.c i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource 2015-10-23 23:31:11 +02:00
i2c-axxia.c i2c: constify i2c_adapter_quirks structures 2016-11-18 02:05:03 +01:00
i2c-bcm2835.c i2c: bcm2835: Avoid possible NULL ptr dereference 2017-02-20 19:19:54 +01:00
i2c-bcm-iproc.c i2c: constify i2c_adapter_quirks structures 2016-11-18 02:05:03 +01:00
i2c-bcm-kona.c Merge branch 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-10-07 14:12:21 -07:00
i2c-bfin-twi.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-brcmstb.c i2c: brcmstb: Fix START and STOP conditions 2017-03-08 18:00:49 +01:00
i2c-cadence.c i2c: i2c-cadence: Initialize configuration before probing devices 2017-01-25 22:07:40 +01:00
i2c-cbus-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-cpm.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-cros-ec-tunnel.c i2c: i2c-cros-ec-tunnel: Reduce logging noise 2017-01-28 22:16:38 +01:00
i2c-davinci.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-designware-baytrail.c i2c: designware: Never suspend i2c-busses used for accessing the system PMIC 2017-03-22 09:53:24 +01:00
i2c-designware-core.c i2c: designware: Never suspend i2c-busses used for accessing the system PMIC 2017-03-22 09:53:24 +01:00
i2c-designware-core.h i2c: designware: Never suspend i2c-busses used for accessing the system PMIC 2017-03-22 09:53:24 +01:00
i2c-designware-pcidrv.c i2c: designware-baytrail: Add support for cherrytrail 2017-03-02 15:46:34 +01:00
i2c-designware-platdrv.c i2c: designware: Disable pm for PMIC i2c-bus even if there is no _SEM method 2017-03-22 09:53:48 +01:00
i2c-digicolor.c i2c: digicolor: use clk_disable_unprepare instead of clk_unprepare 2016-11-18 01:48:01 +01:00
i2c-diolan-u2c.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-dln2.c i2c: constify i2c_adapter_quirks structures 2016-11-18 02:05:03 +01:00
i2c-efm32.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-eg20t.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-elektor.c i2c: elektor: Utilize the module_isa_driver macro 2016-06-19 19:45:43 +02:00
i2c-emev2.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-exynos5.c i2c: exynos5: Avoid transaction timeouts due TRANSFER_DONE_AUTO not set 2017-03-09 15:50:16 +01:00
i2c-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-highlander.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-hix5hd2.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-hydra.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-i801.c i2c: i801: Add support for Intel Gemini Lake 2017-02-09 17:39:16 +01:00
i2c-ibm_iic.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-imx-lpi2c.c Merge branch 'i2c/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-02-25 14:21:18 -08:00
i2c-imx.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-iop3xx.c i2c: iop3xx: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-iop3xx.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-isch.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ismt.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-jz4780.c i2c: jz4780: Fix module autoload 2016-10-25 11:48:58 +02:00
i2c-kempld.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-lpc2k.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-meson.c i2c: meson: improve and simplify interrupt handler 2017-03-30 17:31:29 +02:00
i2c-mlxcpld.c i2c: mlxcpld: add master driver for mellanox systems 2016-11-24 16:21:42 +01:00
i2c-mpc.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
i2c-mt65xx.c i2c: m65xx: drop superfluous quirk structure 2017-03-08 18:03:41 +01:00
i2c-mv64xxx.c i2c: mv64xxx: simplify optional reset handling 2017-03-23 21:40:29 +01:00
i2c-mxs.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-nforce2-s4985.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nforce2.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-nomadik.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ocores.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-octeon-core.c i2c: octeon: thunderx: Limit register access retries 2016-12-17 19:27:44 +01:00
i2c-octeon-core.h i2c: thunderx: Replace pci_enable_msix() 2017-02-23 13:03:56 +01:00
i2c-octeon-platdrv.c i2c: octeon: Sort include files alphabetically 2016-08-26 00:41:58 +02:00
i2c-omap.c i2c: omap: constify dev_pm_ops structures 2017-01-25 22:17:24 +01:00
i2c-opal.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
i2c-parport-light.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-parport.c i2c: parport: start using pr_fmt 2015-08-10 08:37:28 +02:00
i2c-parport.h i2c: parport: Add VCT-jig adapter 2015-08-10 08:37:34 +02:00
i2c-pasemi.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-isa.c i2c: pca-isa: Utilize the module_isa_driver macro 2016-06-19 19:49:29 +02:00
i2c-pca-platform.c i2c: pca-platform: fix broken email address 2015-04-23 19:35:30 +02:00
i2c-piix4.c i2c: piix4: Request the SMBUS semaphore inside the mutex 2017-02-09 17:13:01 +01:00
i2c-pmcmsp.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-pnx.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-powermac.c i2c: powermac: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-puv3.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-pxa-pci.c i2c: i2c-pxa-pci; make explicitly non-modular 2016-11-18 01:44:38 +01:00
i2c-pxa.c i2c: pxa: Add support for the I2C units found in Armada 3700 2016-12-01 23:34:33 +01:00
i2c-qup.c i2c: qup: support SMBus block read 2016-11-29 22:43:38 +01:00
i2c-rcar.c i2c: rcar: Add per-Generation fallback bindings 2016-12-11 22:48:53 +01:00
i2c-riic.c i2c: riic: fix restart condition 2017-03-08 17:54:59 +01:00
i2c-rk3x.c i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings 2016-10-25 11:11:46 +02:00
i2c-robotfuzz-osif.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-s3c2410.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-scmi.c i2c: i2c-scmi: add a MS HID 2017-04-16 21:48:06 +02:00
i2c-sh7760.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sh_mobile.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-sibyte.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-simtec.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-sirf.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sis96x.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis630.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis5595.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-st.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-stm32f4.c i2c: stm32f4: add driver 2017-01-25 22:16:59 +01:00
i2c-stu300.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sun6i-p2wi.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-taos-evm.c i2c: taos-evm: replace simple_strtoul by kstrtou8 2015-11-30 18:37:22 +01:00
i2c-tegra-bpmp.c i2c: Add Tegra BPMP I2C proxy driver 2017-02-20 19:12:38 +01:00
i2c-tegra.c i2c: tegra: Fix assignment of boolean variables 2016-09-08 22:36:18 +02:00
i2c-thunderx-pcidrv.c i2c: thunderx: ACPI support for clock settings 2017-03-23 21:49:27 +01:00
i2c-tiny-usb.c i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID 2014-01-13 13:56:52 +01:00
i2c-uniphier-f.c i2c: uniphier-f: rename jump label to follow coding style guideline 2016-11-18 02:16:08 +01:00
i2c-uniphier.c i2c: uniphier: rename jump label to follow coding style guideline 2016-11-18 02:13:11 +01:00
i2c-versatile.c i2c: versatile: Convert to use resource managed devm_* APIs 2016-07-14 21:21:56 +09:00
i2c-via.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viapro.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viperboard.c i2c: constify i2c_adapter_quirks structures 2016-11-18 02:05:03 +01:00
i2c-wmt.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xgene-slimpro.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
i2c-xiic.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xlp9xx.c i2c: xlp9xx: update for ARCH_THUNDER2 2017-03-23 21:44:21 +01:00
i2c-xlr.c i2c: busses: constify i2c_algorithm structures 2017-02-09 17:06:52 +01:00
Kconfig i2c: xlp9xx: update for ARCH_THUNDER2 2017-03-23 21:44:21 +01:00
Makefile i2c: Add Tegra BPMP I2C proxy driver 2017-02-20 19:12:38 +01:00
scx200_acb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00