eeprom: ee1004: Improve creating dummy devices
authorHeiner Kallweit <hkallweit1@gmail.com>
Mon, 24 May 2021 20:13:12 +0000 (22:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 May 2021 12:49:39 +0000 (14:49 +0200)
i2c_new_dummy_device() calls i2c_new_client_device() that complains
if it fails to create the device. Therefore we don't have to emit an
error message in case of failure. In addition ensure that
ee1004_set_page is only set if creating the device succeeded.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/d38df5ac-6ecb-7d5f-b5c3-39bfc6a1e8a1@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/ee1004.c

index 0d497e0e4a514fdf6f7bcaa264dccdc8c98ccc63..4b2c60a1828c53791089aa55227c186ab96b4387 100644 (file)
@@ -179,15 +179,14 @@ static int ee1004_probe(struct i2c_client *client,
        mutex_lock(&ee1004_bus_lock);
        if (++ee1004_dev_count == 1) {
                for (cnr = 0; cnr < 2; cnr++) {
-                       ee1004_set_page[cnr] = i2c_new_dummy_device(client->adapter,
-                                               EE1004_ADDR_SET_PAGE + cnr);
-                       if (IS_ERR(ee1004_set_page[cnr])) {
-                               dev_err(&client->dev,
-                                       "address 0x%02x unavailable\n",
-                                       EE1004_ADDR_SET_PAGE + cnr);
-                               err = PTR_ERR(ee1004_set_page[cnr]);
+                       struct i2c_client *cl;
+
+                       cl = i2c_new_dummy_device(client->adapter, EE1004_ADDR_SET_PAGE + cnr);
+                       if (IS_ERR(cl)) {
+                               err = PTR_ERR(cl);
                                goto err_clients;
                        }
+                       ee1004_set_page[cnr] = cl;
                }
        } else if (client->adapter != ee1004_set_page[0]->adapter) {
                dev_err(&client->dev,