i2c: Don't let i2c adapters declare I2C_CLASS_SPD support if they support I2C_CLASS_HWMON
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 24 Nov 2023 10:16:10 +0000 (11:16 +0100)
committerWolfram Sang <wsa@kernel.org>
Thu, 18 Jan 2024 20:10:41 +0000 (21:10 +0100)
After removal of the legacy eeprom driver the only remaining I2C
client device driver supporting I2C_CLASS_SPD is jc42. Because this
driver also supports I2C_CLASS_HWMON, adapters don't have to
declare support for I2C_CLASS_SPD if they support I2C_CLASS_HWMON.
It's one step towards getting rid of I2C_CLASS_SPD mid-term.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Acked-by: Jim Cromie <jim.cromie@gmail.com> # for SCX
Signed-off-by: Wolfram Sang <wsa@kernel.org>
24 files changed:
drivers/i2c/busses/i2c-ali1535.c
drivers/i2c/busses/i2c-ali1563.c
drivers/i2c/busses/i2c-ali15x3.c
drivers/i2c/busses/i2c-amd756.c
drivers/i2c/busses/i2c-amd8111.c
drivers/i2c/busses/i2c-elektor.c
drivers/i2c/busses/i2c-gpio.c
drivers/i2c/busses/i2c-ibm_iic.c
drivers/i2c/busses/i2c-iop3xx.c
drivers/i2c/busses/i2c-isch.c
drivers/i2c/busses/i2c-kempld.c
drivers/i2c/busses/i2c-mlxcpld.c
drivers/i2c/busses/i2c-nforce2.c
drivers/i2c/busses/i2c-pasemi-pci.c
drivers/i2c/busses/i2c-piix4.c
drivers/i2c/busses/i2c-scmi.c
drivers/i2c/busses/i2c-sh7760.c
drivers/i2c/busses/i2c-sibyte.c
drivers/i2c/busses/i2c-sis5595.c
drivers/i2c/busses/i2c-sis630.c
drivers/i2c/busses/i2c-sis96x.c
drivers/i2c/busses/i2c-via.c
drivers/i2c/busses/i2c-viapro.c
drivers/i2c/busses/scx200_acb.c

index ee83c45..461eb23 100644 (file)
@@ -477,7 +477,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter ali1535_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index 55a9e93..307fb06 100644 (file)
@@ -390,7 +390,7 @@ static const struct i2c_algorithm ali1563_algorithm = {
 
 static struct i2c_adapter ali1563_adapter = {
        .owner  = THIS_MODULE,
-       .class  = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class  = I2C_CLASS_HWMON,
        .algo   = &ali1563_algorithm,
 };
 
index 0231c5b..d2fa30d 100644 (file)
@@ -461,7 +461,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter ali15x3_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index ef1307a..208310d 100644 (file)
@@ -285,7 +285,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 struct i2c_adapter amd756_smbus = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index 1ed7e94..42a9b12 100644 (file)
@@ -449,7 +449,7 @@ static int amd8111_probe(struct pci_dev *dev, const struct pci_device_id *id)
        smbus->adapter.owner = THIS_MODULE;
        snprintf(smbus->adapter.name, sizeof(smbus->adapter.name),
                "SMBus2 AMD8111 adapter at %04x", smbus->base);
-       smbus->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       smbus->adapter.class = I2C_CLASS_HWMON;
        smbus->adapter.algo = &smbus_algorithm;
        smbus->adapter.algo_data = smbus;
 
index b0f50dc..cfe8665 100644 (file)
@@ -188,7 +188,7 @@ static struct i2c_algo_pcf_data pcf_isa_data = {
 
 static struct i2c_adapter pcf_isa_ops = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo_data      = &pcf_isa_data,
        .name           = "i2c-elektor",
 };
index fb35a75..df2b183 100644 (file)
@@ -444,7 +444,7 @@ static int i2c_gpio_probe(struct platform_device *pdev)
                snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id);
 
        adap->algo_data = bit_data;
-       adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       adap->class = I2C_CLASS_HWMON;
        adap->dev.parent = dev;
        device_set_node(&adap->dev, fwnode);
 
index 4088203..7fb87b7 100644 (file)
@@ -739,7 +739,7 @@ static int iic_probe(struct platform_device *ofdev)
        adap->dev.of_node = of_node_get(np);
        strscpy(adap->name, "IBM IIC", sizeof(adap->name));
        i2c_set_adapdata(adap, dev);
-       adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       adap->class = I2C_CLASS_HWMON;
        adap->algo = &iic_algo;
        adap->timeout = HZ;
 
index f2f7ebe..2e5f016 100644 (file)
@@ -478,7 +478,7 @@ iop3xx_i2c_probe(struct platform_device *pdev)
 
        memcpy(new_adapter->name, pdev->name, strlen(pdev->name));
        new_adapter->owner = THIS_MODULE;
-       new_adapter->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       new_adapter->class = I2C_CLASS_HWMON;
        new_adapter->dev.parent = &pdev->dev;
        new_adapter->dev.of_node = pdev->dev.of_node;
        new_adapter->nr = pdev->id;
index 1dc1cea..416a996 100644 (file)
@@ -249,7 +249,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter sch_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index e01d753..c3a529a 100644 (file)
@@ -283,8 +283,7 @@ static const struct i2c_algorithm kempld_i2c_algorithm = {
 static const struct i2c_adapter kempld_i2c_adapter = {
        .owner          = THIS_MODULE,
        .name           = "i2c-kempld",
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD |
-                         I2C_CLASS_DEPRECATED,
+       .class          = I2C_CLASS_HWMON | I2C_CLASS_DEPRECATED,
        .algo           = &kempld_i2c_algorithm,
 };
 
index 6fec64e..099291a 100644 (file)
@@ -477,7 +477,7 @@ static const struct i2c_adapter_quirks mlxcpld_i2c_quirks_ext2 = {
 static struct i2c_adapter mlxcpld_i2c_adapter = {
        .owner          = THIS_MODULE,
        .name           = "i2c-mlxcpld",
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &mlxcpld_i2c_algo,
        .quirks         = &mlxcpld_i2c_quirks,
        .retries        = MLXCPLD_I2C_RETR_NUM,
index 38d203d..fab662e 100644 (file)
@@ -349,7 +349,7 @@ static int nforce2_probe_smb(struct pci_dev *dev, int bar, int alt_reg,
                return -EBUSY;
        }
        smbus->adapter.owner = THIS_MODULE;
-       smbus->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       smbus->adapter.class = I2C_CLASS_HWMON;
        smbus->adapter.algo = &smbus_algorithm;
        smbus->adapter.algo_data = smbus;
        smbus->adapter.dev.parent = &dev->dev;
index cfc89e0..77f90c7 100644 (file)
@@ -56,7 +56,7 @@ static int pasemi_smb_pci_probe(struct pci_dev *dev,
        if (!smbus->ioaddr)
                return -EBUSY;
 
-       smbus->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       smbus->adapter.class = I2C_CLASS_HWMON;
        error = pasemi_i2c_common_probe(smbus);
        if (error)
                return error;
index 809fbd0..6a03921 100644 (file)
@@ -943,7 +943,7 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba,
        }
 
        adap->owner = THIS_MODULE;
-       adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       adap->class = I2C_CLASS_HWMON;
        adap->algo = sb800_main ? &piix4_smbus_algorithm_sb800
                                : &smbus_algorithm;
 
index 421735a..d7af8e0 100644 (file)
@@ -385,7 +385,7 @@ static int smbus_cmi_probe(struct platform_device *device)
        smbus_cmi->adapter.owner = THIS_MODULE;
        smbus_cmi->adapter.algo = &acpi_smbus_cmi_algorithm;
        smbus_cmi->adapter.algo_data = smbus_cmi;
-       smbus_cmi->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       smbus_cmi->adapter.class = I2C_CLASS_HWMON;
        smbus_cmi->adapter.dev.parent = &device->dev;
 
        ret = i2c_add_adapter(&smbus_cmi->adapter);
index 1ad2a26..8a043f5 100644 (file)
@@ -477,7 +477,7 @@ static int sh7760_i2c_probe(struct platform_device *pdev)
 
        id->adap.nr = pdev->id;
        id->adap.algo = &sh7760_i2c_algo;
-       id->adap.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       id->adap.class = I2C_CLASS_HWMON;
        id->adap.retries = 3;
        id->adap.algo_data = id;
        id->adap.dev.parent = &pdev->dev;
index 8f71f01..49f8f4f 100644 (file)
@@ -142,7 +142,7 @@ static struct i2c_algo_sibyte_data sibyte_board_data[2] = {
 static struct i2c_adapter sibyte_board_adapter[2] = {
        {
                .owner          = THIS_MODULE,
-               .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+               .class          = I2C_CLASS_HWMON,
                .algo           = NULL,
                .algo_data      = &sibyte_board_data[0],
                .nr             = 0,
@@ -150,7 +150,7 @@ static struct i2c_adapter sibyte_board_adapter[2] = {
        },
        {
                .owner          = THIS_MODULE,
-               .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+               .class          = I2C_CLASS_HWMON,
                .algo           = NULL,
                .algo_data      = &sibyte_board_data[1],
                .nr             = 1,
index 486f1e9..32476dc 100644 (file)
@@ -353,7 +353,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter sis5595_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index 87d5625..3505cf2 100644 (file)
@@ -493,7 +493,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter sis630_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
        .retries        = 3
 };
index cde8003..77529dd 100644 (file)
@@ -228,7 +228,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter sis96x_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index ad4f09c..7ed2999 100644 (file)
@@ -70,7 +70,7 @@ static struct i2c_algo_bit_data bit_data = {
 
 static struct i2c_adapter vt586b_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .name           = "VIA i2c",
        .algo_data      = &bit_data,
 };
index 970ccdc..2cc7bba 100644 (file)
@@ -304,7 +304,7 @@ static const struct i2c_algorithm smbus_algorithm = {
 
 static struct i2c_adapter vt596_adapter = {
        .owner          = THIS_MODULE,
-       .class          = I2C_CLASS_HWMON | I2C_CLASS_SPD,
+       .class          = I2C_CLASS_HWMON,
        .algo           = &smbus_algorithm,
 };
 
index 83c1db6..3648382 100644 (file)
@@ -427,7 +427,7 @@ static struct scx200_acb_iface *scx200_create_iface(const char *text,
        snprintf(adapter->name, sizeof(adapter->name), "%s ACB%d", text, index);
        adapter->owner = THIS_MODULE;
        adapter->algo = &scx200_acb_algorithm;
-       adapter->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+       adapter->class = I2C_CLASS_HWMON;
        adapter->dev.parent = dev;
 
        mutex_init(&iface->mutex);