forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/jdelvare/staging Pull i2c updates from Jean Delvare. Fix up trivial conflict in drivers/i2c/busses/i2c-gpio.c due to include file cleanup clashing with DT support addition (which did the same cleanup) * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-algo-bit: Don't resched on clock stretching i2c: Update the FSF address i2c: Convert drivers/i2c/muxes/* to use module_i2c_driver() i2c-i801: Use usleep_range to wait for command completion i2c-i801: Add device IDs for Intel Lynx Point i2c-isch: Decrease delay in command completion check loop i2c-gpio: Use linux/gpio.h rather than asm/gpio.h
- Loading branch information
Showing
21 changed files
with
55 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. | ||
* ------------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Frodo Looijaard <[email protected]>, Kyösti Mälkki | ||
|
@@ -111,7 +112,7 @@ static int sclhi(struct i2c_algo_bit_data *adap) | |
break; | ||
return -ETIMEDOUT; | ||
} | ||
cond_resched(); | ||
cpu_relax(); | ||
} | ||
#ifdef DEBUG | ||
if (jiffies != start && i2c_debug >= 3) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,8 @@ | |
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
* MA 02110-1301 USA. | ||
* | ||
* With some changes from Kyösti Mälkki <[email protected]> and | ||
* Frodo Looijaard <[email protected]>, and also from Martin Bailey | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. */ | ||
/* -------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Frodo Looijaard <[email protected]> */ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
Copyright (c) 1998 - 2002 Frodo Looijaard <[email protected]>, | ||
Philip Edelbrock <[email protected]>, and Mark D. Studebaker | ||
<[email protected]> | ||
Copyright (C) 2007, 2008 Jean Delvare <[email protected]> | ||
Copyright (C) 2007 - 2012 Jean Delvare <[email protected]> | ||
Copyright (C) 2010 Intel Corporation, | ||
David Woodhouse <[email protected]> | ||
|
@@ -51,6 +51,7 @@ | |
Patsburg (PCH) IDF 0x1d72 32 hard yes yes yes | ||
DH89xxCC (PCH) 0x2330 32 hard yes yes yes | ||
Panther Point (PCH) 0x1e22 32 hard yes yes yes | ||
Lynx Point (PCH) 0x8c22 32 hard yes yes yes | ||
Features supported by this driver: | ||
Software PEC no | ||
|
@@ -105,7 +106,7 @@ | |
#define SMBHSTCNT_KILL 2 | ||
|
||
/* Other settings */ | ||
#define MAX_TIMEOUT 100 | ||
#define MAX_RETRIES 400 | ||
#define ENABLE_INT9 0 /* set to 0x01 to enable - untested */ | ||
|
||
/* I801 command constants */ | ||
|
@@ -145,6 +146,7 @@ | |
#define PCI_DEVICE_ID_INTEL_PANTHERPOINT_SMBUS 0x1e22 | ||
#define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS 0x2330 | ||
#define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS 0x3b30 | ||
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS 0x8c22 | ||
|
||
struct i801_priv { | ||
struct i2c_adapter adapter; | ||
|
@@ -215,7 +217,7 @@ static int i801_check_post(struct i801_priv *priv, int status, int timeout) | |
dev_dbg(&priv->pci_dev->dev, "Terminating the current operation\n"); | ||
outb_p(inb_p(SMBHSTCNT(priv)) | SMBHSTCNT_KILL, | ||
SMBHSTCNT(priv)); | ||
msleep(1); | ||
usleep_range(1000, 2000); | ||
outb_p(inb_p(SMBHSTCNT(priv)) & (~SMBHSTCNT_KILL), | ||
SMBHSTCNT(priv)); | ||
|
||
|
@@ -272,11 +274,11 @@ static int i801_transaction(struct i801_priv *priv, int xact) | |
|
||
/* We will always wait for a fraction of a second! */ | ||
do { | ||
msleep(1); | ||
usleep_range(250, 500); | ||
status = inb_p(SMBHSTSTS(priv)); | ||
} while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_TIMEOUT)); | ||
} while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_RETRIES)); | ||
|
||
result = i801_check_post(priv, status, timeout > MAX_TIMEOUT); | ||
result = i801_check_post(priv, status, timeout > MAX_RETRIES); | ||
if (result < 0) | ||
return result; | ||
|
||
|
@@ -291,12 +293,12 @@ static void i801_wait_hwpec(struct i801_priv *priv) | |
int status; | ||
|
||
do { | ||
msleep(1); | ||
usleep_range(250, 500); | ||
status = inb_p(SMBHSTSTS(priv)); | ||
} while ((!(status & SMBHSTSTS_INTR)) | ||
&& (timeout++ < MAX_TIMEOUT)); | ||
&& (timeout++ < MAX_RETRIES)); | ||
|
||
if (timeout > MAX_TIMEOUT) | ||
if (timeout > MAX_RETRIES) | ||
dev_dbg(&priv->pci_dev->dev, "PEC Timeout!\n"); | ||
|
||
outb_p(status, SMBHSTSTS(priv)); | ||
|
@@ -380,12 +382,12 @@ static int i801_block_transaction_byte_by_byte(struct i801_priv *priv, | |
/* We will always wait for a fraction of a second! */ | ||
timeout = 0; | ||
do { | ||
msleep(1); | ||
usleep_range(250, 500); | ||
status = inb_p(SMBHSTSTS(priv)); | ||
} while ((!(status & SMBHSTSTS_BYTE_DONE)) | ||
&& (timeout++ < MAX_TIMEOUT)); | ||
&& (timeout++ < MAX_RETRIES)); | ||
|
||
result = i801_check_post(priv, status, timeout > MAX_TIMEOUT); | ||
result = i801_check_post(priv, status, timeout > MAX_RETRIES); | ||
if (result < 0) | ||
return result; | ||
|
||
|
@@ -633,6 +635,7 @@ static DEFINE_PCI_DEVICE_TABLE(i801_ids) = { | |
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2) }, | ||
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS) }, | ||
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PANTHERPOINT_SMBUS) }, | ||
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS) }, | ||
{ 0, } | ||
}; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. */ | ||
/* ------------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Kyösti Mälkki <[email protected]>. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -393,18 +393,7 @@ static struct i2c_driver pca9541_driver = { | |
.id_table = pca9541_id, | ||
}; | ||
|
||
static int __init pca9541_init(void) | ||
{ | ||
return i2c_add_driver(&pca9541_driver); | ||
} | ||
|
||
static void __exit pca9541_exit(void) | ||
{ | ||
i2c_del_driver(&pca9541_driver); | ||
} | ||
|
||
module_init(pca9541_init); | ||
module_exit(pca9541_exit); | ||
module_i2c_driver(pca9541_driver); | ||
|
||
MODULE_AUTHOR("Guenter Roeck <[email protected]>"); | ||
MODULE_DESCRIPTION("PCA9541 I2C master selector driver"); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -284,18 +284,7 @@ static struct i2c_driver pca954x_driver = { | |
.id_table = pca954x_id, | ||
}; | ||
|
||
static int __init pca954x_init(void) | ||
{ | ||
return i2c_add_driver(&pca954x_driver); | ||
} | ||
|
||
static void __exit pca954x_exit(void) | ||
{ | ||
i2c_del_driver(&pca954x_driver); | ||
} | ||
|
||
module_init(pca954x_init); | ||
module_exit(pca954x_exit); | ||
module_i2c_driver(pca954x_driver); | ||
|
||
MODULE_AUTHOR("Rodolfo Giometti <[email protected]>"); | ||
MODULE_DESCRIPTION("PCA954x I2C mux/switch driver"); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. */ | ||
/* ------------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Kyösti Mälkki <[email protected]> and even | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. */ | ||
/* ------------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Kyösti Mälkki <[email protected]> and even | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,7 +17,8 @@ | |
You should have received a copy of the GNU General Public License | ||
along with this program; if not, write to the Free Software | ||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
MA 02110-1301 USA. */ | ||
/* ------------------------------------------------------------------------- */ | ||
|
||
/* With some changes from Kyösti Mälkki <[email protected]> and | ||
|