]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
i2c: piix4: Change the parameter list of piix4_transaction function
authorShyam Sundar S K <Shyam-sundar.S-k@amd.com>
Mon, 23 Sep 2024 08:03:54 +0000 (13:33 +0530)
committerAndi Shyti <andi.shyti@kernel.org>
Wed, 13 Nov 2024 22:29:46 +0000 (23:29 +0100)
Currently, `piix4_transaction()` accepts only one parameter, which is the
`i2c_adapter` information. This approach works well as long as SB800 SMBus
port accesses are confined to the piix4 driver. However, with the
implementation of a separate ASF driver and the varying address spaces
across drivers, it is necessary to change the function parameter list of
`piix4_transaction()` to include the port address. This modification
allows other drivers that use piix4 to pass the specific port details they
need to operate on.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Co-developed-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-piix4.c

index febbd9950d8f895f088d2beb7258ff411935181f..5ff7e608afb99c3d907d90d3f8c75fb60f1da56b 100644 (file)
@@ -536,10 +536,8 @@ static int piix4_setup_aux(struct pci_dev *PIIX4_dev,
        return piix4_smba;
 }
 
-static int piix4_transaction(struct i2c_adapter *piix4_adapter)
+static int piix4_transaction(struct i2c_adapter *piix4_adapter, unsigned short piix4_smba)
 {
-       struct i2c_piix4_adapdata *adapdata = i2c_get_adapdata(piix4_adapter);
-       unsigned short piix4_smba = adapdata->smba;
        int temp;
        int result = 0;
        int timeout = 0;
@@ -675,7 +673,7 @@ static s32 piix4_access(struct i2c_adapter * adap, u16 addr,
 
        outb_p((size & 0x1C) + (ENABLE_INT9 & 1), SMBHSTCNT);
 
-       status = piix4_transaction(adap);
+       status = piix4_transaction(adap, piix4_smba);
        if (status)
                return status;