summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/southbridge/intel/bd82x6x/smbus.c6
-rw-r--r--src/southbridge/intel/ibexpeak/smbus.c5
-rw-r--r--src/southbridge/intel/lynxpoint/smbus.c6
3 files changed, 3 insertions, 14 deletions
diff --git a/src/southbridge/intel/bd82x6x/smbus.c b/src/southbridge/intel/bd82x6x/smbus.c
index 9ba9e12eb5..839b0c3df0 100644
--- a/src/southbridge/intel/bd82x6x/smbus.c
+++ b/src/southbridge/intel/bd82x6x/smbus.c
@@ -14,13 +14,9 @@
static void pch_smbus_init(struct device *dev)
{
struct resource *res;
- u16 reg16;
/* Enable clock gating */
- /* FIXME: Using 32-bit ops with a 16-bit variable is a bug! These should be 16-bit! */
- reg16 = pci_read_config32(dev, 0x80);
- reg16 &= ~((1 << 8)|(1 << 10)|(1 << 12)|(1 << 14));
- pci_write_config32(dev, 0x80, reg16);
+ pci_and_config16(dev, 0x80, ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14)));
/* Set Receive Slave Address */
res = find_resource(dev, PCI_BASE_ADDRESS_4);
diff --git a/src/southbridge/intel/ibexpeak/smbus.c b/src/southbridge/intel/ibexpeak/smbus.c
index 352b5898a6..12734a0ce6 100644
--- a/src/southbridge/intel/ibexpeak/smbus.c
+++ b/src/southbridge/intel/ibexpeak/smbus.c
@@ -14,12 +14,9 @@
static void pch_smbus_init(struct device *dev)
{
struct resource *res;
- u16 reg16;
/* Enable clock gating */
- reg16 = pci_read_config32(dev, 0x80);
- reg16 &= ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14));
- pci_write_config32(dev, 0x80, reg16);
+ pci_and_config16(dev, 0x80, ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14)));
/* Set Receive Slave Address */
res = find_resource(dev, PCI_BASE_ADDRESS_4);
diff --git a/src/southbridge/intel/lynxpoint/smbus.c b/src/southbridge/intel/lynxpoint/smbus.c
index 32c9c14e40..d55aa6e3d0 100644
--- a/src/southbridge/intel/lynxpoint/smbus.c
+++ b/src/southbridge/intel/lynxpoint/smbus.c
@@ -13,13 +13,9 @@
static void pch_smbus_init(struct device *dev)
{
struct resource *res;
- u16 reg16;
/* Enable clock gating */
- /* FIXME: Using 32-bit ops with a 16-bit variable is a bug! These should be 16-bit! */
- reg16 = pci_read_config32(dev, 0x80);
- reg16 &= ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14));
- pci_write_config32(dev, 0x80, reg16);
+ pci_and_config16(dev, 0x80, ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14)));
/* Set Receive Slave Address */
res = find_resource(dev, PCI_BASE_ADDRESS_4);