i2c: designware-pci: Add Baytrail PCI IDs
Subsystems (3)
Mika Westerberg
maintainerPATCH 1/1 i2c: designware-pci: Add Baytrail PCI IDs
Intel Baytrail I2C controllers can be enumerated from PCI as well as from ACPI. In order to support this add the Baytrail PCI IDs to the driver.
--- drivers/i2c/busses/i2c-designware-pcidrv.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-)
drivers/i2c/busses/i2c-designware-pcidrv.c +23 -2
@@ -54,6 +54,8 @@ enum dw_pci_ctl_id_t { medfield_3, medfield_4, medfield_5, + + baytrail, }; struct dw_pci_controller {
@@ -132,6 +134,13 @@ static struct dw_pci_controller dw_pci_controllers[] = { .rx_fifo_depth = 32, .clk_khz = 25000, }, + [baytrail] = { + .bus_num = -1, + .bus_cfg = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST, + .tx_fifo_depth = 32, + .rx_fifo_depth = 32, + .clk_khz = 100000, + }, };static struct i2c_algorithm i2c_dw_algo = { .master_xfer = i2c_dw_xfer,
@@ -226,8 +235,12 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, adap->algo = &i2c_dw_algo; adap->dev.parent = &pdev->dev; adap->nr = controller->bus_num; -snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci-%d" , - adap->nr); + +if (adap->nr <0 ) +snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci" ); +else +snprintf (adap->name,sizeof (adap->name), +"i2c-designware-pci-%d" , adap->nr); r =devm_request_irq (&pdev->dev, pdev->irq, i2c_dw_isr,IRQF_SHARED , adap->name, dev);
@@ -278,6 +291,14 @@ static DEFINE_PCI_DEVICE_TABLE(i2_designware_pci_ids) = { { PCI_VDEVICE(INTEL, 0x082C), medfield_0 }, { PCI_VDEVICE(INTEL, 0x082D), medfield_1 }, { PCI_VDEVICE(INTEL, 0x082E), medfield_2 }, +/* Baytrail */ + { PCI_VDEVICE(INTEL, 0x0F41), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F42), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F43), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F44), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F45), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F46), baytrail }, + { PCI_VDEVICE(INTEL, 0x0F47), baytrail }, { 0,} };MODULE_DEVICE_TABLE (pci, i2_designware_pci_ids);
Signature · 1 line
1.8.5.2
Quoted 4 lines · Mika Westerberg
Intel Baytrail I2C controllers can be enumerated from PCI as well as from ACPI. In order to support this add the Baytrail PCI IDs to the driver.
Basically fine, one question:
drivers/i2c/busses/i2c-designware-pcidrv.c static int i2c_dw_pci_probe(struct pci_dev *pdev, · line 243
Quoted 8 lines
drivers/i2c/busses/i2c-designware-pcidrv.c +6
-2-snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci-%d" , - adap->nr); + +if (adap->nr <0 ) +snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci" ); +else +snprintf (adap->name,sizeof (adap->name), +"i2c-designware-pci-%d" , adap->nr);
Maybe we just drop the "-%d" suffix entirely?
Mika Westerberg
maintainerQuoted 8 lines · Wolfram Sang
Quoted 4 lines · Mika Westerberg
Intel Baytrail I2C controllers can be enumerated from PCI as well as from ACPI. In order to support this add the Baytrail PCI IDs to the driver.
Signed-off-by Mika Westerberg <[email protected]>Basically fine, one question:
Quoted 10 lines
drivers/i2c/busses/i2c-designware-pcidrv.c static int i2c_dw_pci_probe(struct pci_dev *pdev, · line 243
Quoted 8 lines
drivers/i2c/busses/i2c-designware-pcidrv.c +6
-2-snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci-%d" , - adap->nr); + +if (adap->nr <0 ) +snprintf (adap->name,sizeof (adap->name),"i2c-designware-pci" ); +else +snprintf (adap->name,sizeof (adap->name), +"i2c-designware-pci-%d" , adap->nr);Maybe we just drop the "-%d" suffix entirely?
I suggested that already when Benson (CC'd) sent his Haswell patch series. His opinion was that it is useful in certain cases to know the bus number (like grepping /proc/interrupts, IIRC).
For Baytrail we don't need it so if nobody objects, I'll just go ahead and drop it.