Commit d8db8f98 authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman

[PATCH] i2c-i801: Remove force_addr parameter

i2c-i801: Remove force_addr parameter

Remove the force_addr module parameter. It doesn't appear to ever
have been needed, and PCI resources shouldn't be arbitrarily
changed anyway.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 397e2f66
...@@ -21,8 +21,7 @@ Authors: ...@@ -21,8 +21,7 @@ Authors:
Module Parameters Module Parameters
----------------- -----------------
* force_addr: int None.
Forcibly enable the ICH at the given address. EXTREMELY DANGEROUS!
Description Description
......
...@@ -92,15 +92,6 @@ ...@@ -92,15 +92,6 @@
#define I801_START 0x40 #define I801_START 0x40
#define I801_PEC_EN 0x80 /* ICH4 only */ #define I801_PEC_EN 0x80 /* ICH4 only */
/* insmod parameters */
/* If force_addr is set to anything different from 0, we forcibly enable
the I801 at the given address. VERY DANGEROUS! */
static u16 force_addr;
module_param(force_addr, ushort, 0);
MODULE_PARM_DESC(force_addr,
"Forcibly enable the I801 at the given address. "
"EXTREMELY DANGEROUS!");
static int i801_transaction(void); static int i801_transaction(void);
static int i801_block_transaction(union i2c_smbus_data *data, char read_write, static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
...@@ -129,17 +120,13 @@ static int i801_setup(struct pci_dev *dev) ...@@ -129,17 +120,13 @@ static int i801_setup(struct pci_dev *dev)
isich4 = 0; isich4 = 0;
/* Determine the address of the SMBus areas */ /* Determine the address of the SMBus areas */
if (force_addr) {
i801_smba = force_addr & 0xfff0;
} else {
pci_read_config_word(I801_dev, SMBBA, &i801_smba); pci_read_config_word(I801_dev, SMBBA, &i801_smba);
i801_smba &= 0xfff0; i801_smba &= 0xfff0;
if(i801_smba == 0) { if (!i801_smba) {
dev_err(&dev->dev, "SMB base address uninitialized " dev_err(&dev->dev, "SMBus base address uninitialized, "
"- upgrade BIOS or use force_addr=0xaddr\n"); "upgrade BIOS\n");
return -ENODEV; return -ENODEV;
} }
}
if (!request_region(i801_smba, (isich4 ? 16 : 8), i801_driver.name)) { if (!request_region(i801_smba, (isich4 ? 16 : 8), i801_driver.name)) {
dev_err(&dev->dev, "I801_smb region 0x%x already in use!\n", dev_err(&dev->dev, "I801_smb region 0x%x already in use!\n",
...@@ -152,15 +139,7 @@ static int i801_setup(struct pci_dev *dev) ...@@ -152,15 +139,7 @@ static int i801_setup(struct pci_dev *dev)
temp &= ~SMBHSTCFG_I2C_EN; /* SMBus timing */ temp &= ~SMBHSTCFG_I2C_EN; /* SMBus timing */
pci_write_config_byte(I801_dev, SMBHSTCFG, temp); pci_write_config_byte(I801_dev, SMBHSTCFG, temp);
/* If force_addr is set, we program the new address here. Just to make if (!(temp & 1)) {
sure, we disable the device first. */
if (force_addr) {
pci_write_config_byte(I801_dev, SMBHSTCFG, temp & 0xfe);
pci_write_config_word(I801_dev, SMBBA, i801_smba);
pci_write_config_byte(I801_dev, SMBHSTCFG, temp | 0x01);
dev_warn(&dev->dev, "WARNING: I801 SMBus interface set to "
"new address %04x!\n", i801_smba);
} else if ((temp & 1) == 0) {
pci_write_config_byte(I801_dev, SMBHSTCFG, temp | 1); pci_write_config_byte(I801_dev, SMBHSTCFG, temp | 1);
dev_warn(&dev->dev, "enabling SMBus device\n"); dev_warn(&dev->dev, "enabling SMBus device\n");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment