mirror of
https://gitee.com/openharmony/kernel_linux
synced 2025-02-23 13:12:26 +00:00
[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: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
397e2f66a2
commit
d8db8f9856
@ -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 @@
|
|||||||
#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,16 +120,12 @@ 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) {
|
pci_read_config_word(I801_dev, SMBBA, &i801_smba);
|
||||||
i801_smba = force_addr & 0xfff0;
|
i801_smba &= 0xfff0;
|
||||||
} else {
|
if (!i801_smba) {
|
||||||
pci_read_config_word(I801_dev, SMBBA, &i801_smba);
|
dev_err(&dev->dev, "SMBus base address uninitialized, "
|
||||||
i801_smba &= 0xfff0;
|
"upgrade BIOS\n");
|
||||||
if(i801_smba == 0) {
|
return -ENODEV;
|
||||||
dev_err(&dev->dev, "SMB base address uninitialized "
|
|
||||||
"- upgrade BIOS or use force_addr=0xaddr\n");
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!request_region(i801_smba, (isich4 ? 16 : 8), i801_driver.name)) {
|
if (!request_region(i801_smba, (isich4 ? 16 : 8), i801_driver.name)) {
|
||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user