i2c-designware: use dynamic adapter numbering on Lynxpoint
authorMika Westerberg <mika.westerberg@linux.intel.com>
Wed, 10 Apr 2013 00:36:39 +0000 (00:36 +0000)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 15 Apr 2013 16:17:28 +0000 (18:17 +0200)
It is not good idea to mix static and dynamic I2C adapter numbering. In
this particular case on Lynxpoint we had graphics I2C adapter which took
the first numbers preventing the designware I2C driver from using the
adapter numbers it preferred.

Since Lynxpoint support was just introduced and there is no hardware available
outside Intel we can fix this by switching to use dynamic adapter numbering
instead of static.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-platdrv.c

index c53a312..2a596dd 100644 (file)
@@ -56,20 +56,11 @@ static u32 i2c_dw_get_clk_rate_khz(struct dw_i2c_dev *dev)
 static int dw_i2c_acpi_configure(struct platform_device *pdev)
 {
        struct dw_i2c_dev *dev = platform_get_drvdata(pdev);
-       struct acpi_device *adev;
-       int busno, ret;
 
        if (!ACPI_HANDLE(&pdev->dev))
                return -ENODEV;
 
-       ret = acpi_bus_get_device(ACPI_HANDLE(&pdev->dev), &adev);
-       if (ret)
-               return -ENODEV;
-
        dev->adapter.nr = -1;
-       if (adev->pnp.unique_id && !kstrtoint(adev->pnp.unique_id, 0, &busno))
-               dev->adapter.nr = busno;
-
        dev->tx_fifo_depth = 32;
        dev->rx_fifo_depth = 32;
        return 0;