Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
8685b02d
Commit
8685b02d
authored
Dec 18, 2003
by
Tom Rini
Committed by
Greg Kroah-Hartman
Dec 18, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] I2C: make i2c-piix4 fix optional
On Thu, Dec 18, 2003 at 10:26:40AM -0800, Greg KH wrote:
parent
53a01385
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
3 deletions
+18
-3
drivers/i2c/busses/i2c-piix4.c
drivers/i2c/busses/i2c-piix4.c
+18
-3
No files found.
drivers/i2c/busses/i2c-piix4.c
View file @
8685b02d
...
@@ -99,6 +99,13 @@ MODULE_PARM_DESC(force_addr,
...
@@ -99,6 +99,13 @@ MODULE_PARM_DESC(force_addr,
"Forcibly enable the PIIX4 at the given address. "
"Forcibly enable the PIIX4 at the given address. "
"EXTREMELY DANGEROUS!"
);
"EXTREMELY DANGEROUS!"
);
/* If fix_hstcfg is set to anything different from 0, we reset one of the
registers to be a valid value. */
static
int
fix_hstcfg
=
0
;
MODULE_PARM
(
fix_hstcfg
,
"i"
);
MODULE_PARM_DESC
(
fix_hstcfg
,
"Fix config register. Needed on some boards (Force CPCI735)."
);
static
int
piix4_transaction
(
void
);
static
int
piix4_transaction
(
void
);
...
@@ -164,9 +171,17 @@ static int piix4_setup(struct pci_dev *PIIX4_dev, const struct pci_device_id *id
...
@@ -164,9 +171,17 @@ static int piix4_setup(struct pci_dev *PIIX4_dev, const struct pci_device_id *id
/* Some BIOS will set up the chipset incorrectly and leave a register
/* Some BIOS will set up the chipset incorrectly and leave a register
in an undefined state (causing I2C to act very strangely). */
in an undefined state (causing I2C to act very strangely). */
if
(
temp
&
0x02
)
{
if
(
temp
&
0x02
)
{
dev_info
(
&
PIIX4_dev
->
dev
,
"Worked around buggy BIOS (I2C)
\n
"
);
if
(
fix_hstcfg
)
{
temp
=
temp
&
0xfd
;
dev_info
(
&
PIIX4_dev
->
dev
,
"Working around buggy BIOS "
pci_write_config_byte
(
PIIX4_dev
,
SMBHSTCFG
,
temp
);
"(I2C)
\n
"
);
temp
&=
0xfd
;
pci_write_config_byte
(
PIIX4_dev
,
SMBHSTCFG
,
temp
);
}
else
{
dev_info
(
&
PIIX4_dev
->
dev
,
"Unusual config register "
"value
\n
"
);
dev_info
(
&
PIIX4_dev
->
dev
,
"Try using fix_hstcfg=1 if "
"you experience problems
\n
"
);
}
}
}
/* If force_addr is set, we program the new address here. Just to make
/* If force_addr is set, we program the new address here. Just to make
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment