Skip to contentSkip to conversation

I2C driver supporting Moorestown and Medfield platform

PATCH In review Alan Cox 2 participants 2 messages Oct 27, 2010 – Oct 28, 2010 1 message not in the archive I2C subsystem host drivers

lore
Share & tools
lore

Alan Cox

author
#0 lore raw

PATCH 1/1 I2C driver supporting Moorestown and Medfield platform

(Updated to address Ben's comments. With regard to the message segment
restriction it's not something we hit on the actual platform so while I will investigate that further I don't think its a blocker to submission. At worst its a spot over-restrictive)

From: Wen Wang <[email protected]>

Initial release of the driver. Updated and verified on hardware.

Cleaned up as follows

Alan Cox:
Squash down the switches into tables, and use the PCI ident field. We could perhaps take this further and put the platform and port number into this.
uint32t -> u32
bracketing of case statements
spacing and '!' usage
Check the speed (which is now 0/1/2) is valid and ignore otherwise. Fix remaining problems/suggestions from Jean's review
Fix items from Ben's review

Arjan van de Ven:
Initial power management hooks

Yong Wang <[email protected]>:
Shared IRQ support

Wen Wang <[email protected]>:
D3 support
Fixes for OCT test runs
Interrupt optimisations

Hong Liu <[email protected]>
The runtime PM code is working on the wrong device (i2c_adapter->dev). The correct one should be pci_dev->dev. This breaks attached i2c slave devices with runtime PM enabled. Slave device needs to runtime resume parent device before runtime resuming itself, but we always get error since we don't have pm_runtime callback for i2c_adapter->dev.

Bin Yang <[email protected]>:
Update speed table

Saadi Maalem <[email protected]>:
Clear all interrupts in the hardware init

Celine Chotard <[email protected]>:
Correct ordering of clear/disable of IRQs

---

 drivers/i2c/busses/Kconfig         |    9 
 drivers/i2c/busses/Makefile        |    1 
 drivers/i2c/busses/i2c-intel-mid.c | 1135 ++++++++++++++++++++++++++++++++++++
 3 files changed, 1145 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/busses/i2c-intel-mid.c
drivers/i2c/busses/Kconfig +9 -0
index fd455a2..a62f99e 100644
@@ -396,6 +396,15 @@ config I2C_IMX
 	  This driver can also be built as a module.  If so, the module
 	  will be called i2c-imx.
 
+config I2C_INTEL_MID
+	tristate "Intel Moorestown/Medfield Platform I2C controller"
+	help
+	  Say Y here if you have an Intel Moorestown/Medfield platform I2C
+	  controller.
+
+	  This support is also available as a module. If so, the module
+	  will be called i2c-intel-mid.
+
 config I2C_IOP3XX
 	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
 	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
drivers/i2c/busses/Makefile +1 -0
index 033ad41..84cb16a 100644
@@ -38,6 +38,7 @@ obj-$(CONFIG_I2C_GPIO)		+= i2c-gpio.o
 obj-$(CONFIG_I2C_HIGHLANDER)	+= i2c-highlander.o
 obj-$(CONFIG_I2C_IBM_IIC)	+= i2c-ibm_iic.o
 obj-$(CONFIG_I2C_IMX)		+= i2c-imx.o
+obj-$(CONFIG_I2C_INTEL_MID)	+= i2c-intel-mid.o
 obj-$(CONFIG_I2C_IOP3XX)	+= i2c-iop3xx.o
 obj-$(CONFIG_I2C_IXP2000)	+= i2c-ixp2000.o
 obj-$(CONFIG_I2C_MPC)		+= i2c-mpc.o
drivers/i2c/busses/i2c-intel-mid.c new file +1135 -0

1,135 lines not on this page · raw message

A message that is not in the archive (sent off-list or not yet received): 20101027114205.11696.76731.stgit-bi+AKbBUZKY6gyzm1THtWbp2dZbC/[email protected]

#2 lore raw
Quoted 4 lines · Alan Cox

(Updated to address Ben's comments. With regard to the message segment
restriction it's not something we hit on the actual platform so while I will investigate that further I don't think its a blocker to submission. At worst its a spot over-restrictive)

ok, that's not so much of a problem. I'll add that to -next and then look at pusing it at the end of the week.

Signature · 1 line
Ben