i2c-i801: Add support for the ICH10
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d28dc711217a2d5cafb64ec4e33a469b01376d91 Commit: d28dc711217a2d5cafb64ec4e33a469b01376d91 Parent: 263867631ea02741baf878ca9faaf94b1563b9d7 Author: Gaston, Jason D [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 i2c-i801: Add support for the ICH10 Add the Intel ICH10 SMBus Controller DeviceID's and updates Tolapai support. Signed-off-by: Jason Gaston [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- Documentation/i2c/busses/i2c-i801 |3 ++- drivers/i2c/busses/Kconfig|2 ++ drivers/i2c/busses/i2c-i801.c | 10 -- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index 3bd9583..c31e029 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 @@ -12,8 +12,9 @@ Supported adapters: * Intel 82801G (ICH7) * Intel 631xESB/632xESB (ESB2) * Intel 82801H (ICH8) - * Intel ICH9 + * Intel 82801I (ICH9) * Intel Tolapai + * Intel ICH10 Datasheets: Publicly available at the Intel website Authors: diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index b61f56b..476b0bb 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -177,6 +177,8 @@ config I2C_I801 ESB2 ICH8 ICH9 + Tolapai + ICH10 This driver can also be built as a module. If so, the module will be called i2c-i801. diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index aa91579..b0f771f 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c @@ -40,7 +40,9 @@ 82801G (ICH7) 0x27da 32 hard yes yes yes 82801H (ICH8) 0x283e 32 hard yes yes yes 82801I (ICH9) 0x2930 32 hard yes yes yes - Tolapai 0x5032 32 hard yes ? ? + Tolapai 0x5032 32 hard yes yes yes + ICH10 0x3a30 32 hard yes yes yes + ICH10 0x3a60 32 hard yes yes yes Features supported by this driver: Software PEC no @@ -588,6 +590,8 @@ static struct pci_device_id i801_ids[] = { { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_5) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_6) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TOLAPAI_1) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_4) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_5) }, { 0, } }; @@ -608,10 +612,12 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id case PCI_DEVICE_ID_INTEL_ESB2_17: case PCI_DEVICE_ID_INTEL_ICH8_5: case PCI_DEVICE_ID_INTEL_ICH9_6: + case PCI_DEVICE_ID_INTEL_TOLAPAI_1: + case PCI_DEVICE_ID_INTEL_ICH10_4: + case PCI_DEVICE_ID_INTEL_ICH10_5: i801_features |= FEATURE_I2C_BLOCK_READ; /* fall through */ case PCI_DEVICE_ID_INTEL_82801DB_3: - case PCI_DEVICE_ID_INTEL_TOLAPAI_1: i801_features |= FEATURE_SMBUS_PEC; i801_features |= FEATURE_BLOCK_BUFFER; break; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
ARM: OMAP: Release i2c_adapter after use (Siemens SX1)
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9a2c46d7f32a884510b20f0cfa79a2c6a2f1413 Commit: c9a2c46d7f32a884510b20f0cfa79a2c6a2f1413 Parent: 4fa2b1cde0e3797549f711ce9e51c395b3d6d2a7 Author: Jean Delvare [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:41 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:41 2008 +0100 ARM: OMAP: Release i2c_adapter after use (Siemens SX1) Each call to i2c_get_adapter() must be followed by a call to i2c_put_adapter() to release the grabbed reference. Otherwise the reference count grows forever and the adapter can never be unregistered. Signed-off-by: Jean Delvare [EMAIL PROTECTED] Acked-by: Vladimir Ananiev [EMAIL PROTECTED] Acked-by: Tony Lindgren [EMAIL PROTECTED] --- arch/arm/mach-omap1/board-sx1.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 1c7f09a..e473fa6 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c @@ -61,6 +61,7 @@ int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value) data[0] = regoffset;/* register num */ data[1] = value;/* register data */ err = i2c_transfer(adap, msg, 1); + i2c_put_adapter(adap); if (err = 0) return 0; return err; @@ -91,6 +92,7 @@ int sx1_i2c_read_byte(u8 devaddr, u8 regoffset, u8 *value) msg-buf = data; err = i2c_transfer(adap, msg, 1); *value = data[0]; + i2c_put_adapter(adap); if (err = 0) return 0; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Alchemy: compile fix
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e39ffeff6e54ef65832e4eb58059133f1a8aadf Commit: 9e39ffeff6e54ef65832e4eb58059133f1a8aadf Parent: 305183fc3ec8aac55179ef0fcb65dab9b97a9145 Author: Manuel Lauss [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 Alchemy: compile fix Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 broke alchemy build, fix it. Pointed out by Adrian Bunk. Signed-off-by: Manuel Lauss [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- include/asm-mips/mach-db1x00/db1200.h |1 + include/asm-mips/mach-db1x00/db1x00.h |1 + include/asm-mips/mach-pb1x00/pb1200.h |1 + include/asm-mips/mach-pb1x00/pb1550.h |1 + 4 files changed, 4 insertions(+), 0 deletions(-) diff --git a/include/asm-mips/mach-db1x00/db1200.h b/include/asm-mips/mach-db1x00/db1200.h index 050eae8..a6bdac6 100644 --- a/include/asm-mips/mach-db1x00/db1200.h +++ b/include/asm-mips/mach-db1x00/db1200.h @@ -25,6 +25,7 @@ #define __ASM_DB1200_H #include linux/types.h +#include asm/mach-au1x00/au1xxx_psc.h // This is defined in au1000.h with bogus value #undef AU1X00_EXTERNAL_INT diff --git a/include/asm-mips/mach-db1x00/db1x00.h b/include/asm-mips/mach-db1x00/db1x00.h index 0f5f4c2..e7a88ba 100644 --- a/include/asm-mips/mach-db1x00/db1x00.h +++ b/include/asm-mips/mach-db1x00/db1x00.h @@ -28,6 +28,7 @@ #ifndef __ASM_DB1X00_H #define __ASM_DB1X00_H +#include asm/mach-au1x00/au1xxx_psc.h #ifdef CONFIG_MIPS_DB1550 diff --git a/include/asm-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h index d9f384a..ed5fd73 100644 --- a/include/asm-mips/mach-pb1x00/pb1200.h +++ b/include/asm-mips/mach-pb1x00/pb1200.h @@ -25,6 +25,7 @@ #define __ASM_PB1200_H #include linux/types.h +#include asm/mach-au1x00/au1xxx_psc.h // This is defined in au1000.h with bogus value #undef AU1X00_EXTERNAL_INT diff --git a/include/asm-mips/mach-pb1x00/pb1550.h b/include/asm-mips/mach-pb1x00/pb1550.h index 9a4955c..c2ab0e2 100644 --- a/include/asm-mips/mach-pb1x00/pb1550.h +++ b/include/asm-mips/mach-pb1x00/pb1550.h @@ -28,6 +28,7 @@ #define __ASM_PB1550_H #include linux/types.h +#include asm/mach-au1x00/au1xxx_psc.h #define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX #define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Linux 2.6.25-rc3
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfa274e2436fc7ef72ef51c878083647f1cfd429 Commit: bfa274e2436fc7ef72ef51c878083647f1cfd429 Parent: d28dc711217a2d5cafb64ec4e33a469b01376d91 Author: Linus Torvalds [EMAIL PROTECTED] AuthorDate: Sun Feb 24 13:25:54 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Sun Feb 24 13:25:54 2008 -0800 Linux 2.6.25-rc3 --- Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index 99300dc..a229784 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 25 -EXTRAVERSION = -rc2 +EXTRAVERSION = -rc3 NAME = Funky Weasel is Jiggy wit it # *DOCUMENTATION* - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c: Storage class should be before const qualifier
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=305183fc3ec8aac55179ef0fcb65dab9b97a9145 Commit: 305183fc3ec8aac55179ef0fcb65dab9b97a9145 Parent: a92b36ed33800435a2356a78489e129aaf30f673 Author: Tobias Klauser [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 i2c: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- drivers/i2c/busses/i2c-pmcmsp.c |4 ++-- include/linux/i2c.h |2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c index be99c02..b03af56 100644 --- a/drivers/i2c/busses/i2c-pmcmsp.c +++ b/drivers/i2c/busses/i2c-pmcmsp.c @@ -122,7 +122,7 @@ struct pmcmsptwi_data { }; /* The default settings */ -const static struct pmcmsptwi_clockcfg pmcmsptwi_defclockcfg = { +static const struct pmcmsptwi_clockcfg pmcmsptwi_defclockcfg = { .standard = { .filter = 0x3, .clock = 0x1f, @@ -133,7 +133,7 @@ const static struct pmcmsptwi_clockcfg pmcmsptwi_defclockcfg = { }, }; -const static struct pmcmsptwi_cfg pmcmsptwi_defcfg = { +static const struct pmcmsptwi_cfg pmcmsptwi_defcfg = { .arbf = 0x03, .nak= 0x03, .add10 = 0x00, diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 76014f8..2d1c608 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -598,7 +598,7 @@ I2C_CLIENT_MODULE_PARM(probe, List of adapter,address pairs to scan \ additionally); \ I2C_CLIENT_MODULE_PARM(ignore, List of adapter,address pairs not to \ scan); \ -const static struct i2c_client_address_data addr_data = { \ +static const struct i2c_client_address_data addr_data = { \ .normal_i2c = normal_i2c, \ .probe = probe,\ .ignore = ignore, \ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c-pca-isa: Add access check to legacy ioports
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=104cb574feb3033299568483a3f68031f47e0d43 Commit: 104cb574feb3033299568483a3f68031f47e0d43 Parent: 9e39ffeff6e54ef65832e4eb58059133f1a8aadf Author: Christian Krafft [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 i2c-pca-isa: Add access check to legacy ioports When probing i2c-pca-isa writes to legacy ioports, which crashes the kernel if there is no device at that port. This patch adds a check_legacy_ioport call, so probe fails gracefully and thus prevents the oops. Signed-off-by: Christian Krafft [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- drivers/i2c/busses/i2c-pca-isa.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/i2c/busses/i2c-pca-isa.c b/drivers/i2c/busses/i2c-pca-isa.c index 5161aaf..496ee87 100644 --- a/drivers/i2c/busses/i2c-pca-isa.c +++ b/drivers/i2c/busses/i2c-pca-isa.c @@ -125,6 +125,13 @@ static int __devinit pca_isa_probe(struct device *dev, unsigned int id) dev_info(dev, i/o base %#08lx. irq %d\n, base, irq); +#ifdef CONFIG_PPC_MERGE + if (check_legacy_ioport(base)) { + dev_err(dev, I/O address %#08lx is not available\n, base); + goto out; + } +#endif + if (!request_region(base, IO_SIZE, i2c-pca-isa)) { dev_err(dev, I/O address %#08lx is in use\n, base); goto out; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c-pxa: Misc fixes
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a92b36ed33800435a2356a78489e129aaf30f673 Commit: a92b36ed33800435a2356a78489e129aaf30f673 Parent: c9a2c46d7f32a884510b20f0cfa79a2c6a2f1413 Author: Wolfram Sang [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 i2c-pxa: Misc fixes While working on the PCA9564-platform driver, I sometimes had a glimpse at the pxa-driver. I found some suspicious places, and this patch contains my suggestions. Note: They are not tested, due to no hardware. [JD: Some more fixes.] Signed-off-by: Wolfram Sang [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] Tested-by: Mike Rapoport [EMAIL PROTECTED] Tested-by: Eric Miao [EMAIL PROTECTED] --- drivers/i2c/busses/i2c-pxa.c | 25 ++--- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 2b557bf..2d2087a 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -999,7 +999,14 @@ static int i2c_pxa_probe(struct platform_device *dev) spin_lock_init(i2c-lock); init_waitqueue_head(i2c-wait); - sprintf(i2c-adap.name, pxa_i2c-i2c.%u, dev-id); + /* +* If dev-id is negative we consider it as zero. +* The reason to do so is to avoid sysfs names that only make +* sense when there are multiple adapters. +*/ + i2c-adap.nr = dev-id != -1 ? dev-id : 0; + snprintf(i2c-adap.name, sizeof(i2c-adap.name), pxa_i2c-i2c.%u, +i2c-adap.nr); i2c-clk = clk_get(dev-dev, I2CCLK); if (IS_ERR(i2c-clk)) { @@ -1050,13 +1057,6 @@ static int i2c_pxa_probe(struct platform_device *dev) i2c-adap.algo_data = i2c; i2c-adap.dev.parent = dev-dev; - /* -* If dev-id is negative we consider it as zero. -* The reason to do so is to avoid sysfs names that only make -* sense when there are multiple adapters. -*/ - i2c-adap.nr = dev-id != -1 ? dev-id : 0; - ret = i2c_add_numbered_adapter(i2c-adap); if (ret 0) { printk(KERN_INFO I2C: Failed to add bus\n); @@ -1080,6 +1080,7 @@ eadapt: ereqirq: clk_disable(i2c-clk); i2c_pxa_disable(dev); + iounmap(i2c-reg_base); eremap: clk_put(i2c-clk); eclk: @@ -1089,7 +1090,7 @@ emalloc: return ret; } -static int i2c_pxa_remove(struct platform_device *dev) +static int __exit i2c_pxa_remove(struct platform_device *dev) { struct pxa_i2c *i2c = platform_get_drvdata(dev); @@ -1103,6 +1104,7 @@ static int i2c_pxa_remove(struct platform_device *dev) clk_put(i2c-clk); i2c_pxa_disable(dev); + iounmap(i2c-reg_base); release_mem_region(i2c-iobase, i2c-iosize); kfree(i2c); @@ -,9 +1113,10 @@ static int i2c_pxa_remove(struct platform_device *dev) static struct platform_driver i2c_pxa_driver = { .probe = i2c_pxa_probe, - .remove = i2c_pxa_remove, + .remove = __exit_p(i2c_pxa_remove), .driver = { .name = pxa2xx-i2c, + .owner = THIS_MODULE, }, }; @@ -1122,7 +1125,7 @@ static int __init i2c_adap_pxa_init(void) return platform_driver_register(i2c_pxa_driver); } -static void i2c_adap_pxa_exit(void) +static void __exit i2c_adap_pxa_exit(void) { platform_driver_unregister(i2c_pxa_driver); } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c: Make i2c_register_board_info() a NOP when CONFIG_I2C_BOARDINFO=n
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263867631ea02741baf878ca9faaf94b1563b9d7 Commit: 263867631ea02741baf878ca9faaf94b1563b9d7 Parent: 104cb574feb3033299568483a3f68031f47e0d43 Author: David Brownell [EMAIL PROTECTED] AuthorDate: Sun Feb 24 20:03:42 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Sun Feb 24 20:03:42 2008 +0100 i2c: Make i2c_register_board_info() a NOP when CONFIG_I2C_BOARDINFO=n Don't require platform code to be #ifdeffed according to whether I2C is enabled or not ... if it's not enabled, let GCC compile out all I2C device declarations. (Issue noted on an NSLU2 build that didn't configure I2C.) Signed-off-by: David Brownell [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- include/linux/i2c.h |9 - 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 2d1c608..365e0df 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -271,9 +271,16 @@ extern void i2c_unregister_device(struct i2c_client *); * This is done at arch_initcall time, before declaring any i2c adapters. * Modules for add-on boards must use other calls. */ +#ifdef CONFIG_I2C_BOARDINFO extern int i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned n); - +#else +static inline int +i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned n) +{ + return 0; +} +#endif /* * The following structs are for those who like to implement new bus drivers: - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html