Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c-i801: Enable interrupts on ICH5/7/8/9/10

Enable interrupts on more devices. ICH5, ICH7(-M) and ICH10 have been
tested to work OK. ICH8 and ICH9 are expected to work just fine as
they are very close to ICH7 and ICH10.

Ultimately we want to enable this feature on at least every device
since the ICH5, but for now we limit the exposure. We'll enable it for
other devices if we don't get negative feedback.

As a bonus, let the user know when interrupts are used.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Daniel Kurtz <djkurtz@chromium.org>

authored by

Jean Delvare and committed by
Jean Delvare
29b60854 636752bc

+9 -4
+9 -4
drivers/i2c/busses/i2c-i801.c
··· 863 863 break; 864 864 } 865 865 866 - /* IRQ processing only tested on CougarPoint PCH */ 867 - if (dev->device == PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS) 866 + /* IRQ processing tested on CougarPoint PCH, ICH5, ICH7-M and ICH10 */ 867 + if (dev->device == PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS || 868 + dev->device == PCI_DEVICE_ID_INTEL_82801EB_3 || 869 + dev->device == PCI_DEVICE_ID_INTEL_ICH7_17 || 870 + dev->device == PCI_DEVICE_ID_INTEL_ICH8_5 || 871 + dev->device == PCI_DEVICE_ID_INTEL_ICH9_6 || 872 + dev->device == PCI_DEVICE_ID_INTEL_ICH10_4 || 873 + dev->device == PCI_DEVICE_ID_INTEL_ICH10_5) 868 874 priv->features |= FEATURE_IRQ; 869 875 870 876 /* Disable features on user request */ ··· 924 918 dev_dbg(&dev->dev, "SMBus using interrupt SMI#\n"); 925 919 /* Disable SMBus interrupt feature if SMBus using SMI# */ 926 920 priv->features &= ~FEATURE_IRQ; 927 - } else { 928 - dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n"); 929 921 } 930 922 931 923 /* Clear special mode bits */ ··· 941 937 dev->irq, err); 942 938 goto exit_release; 943 939 } 940 + dev_info(&dev->dev, "SMBus using PCI Interrupt\n"); 944 941 } 945 942 946 943 /* set up the sysfs linkage to our parent device */