media: ir-kbd-i2c: convert to i2c_new_dummy_device()
Convert this driver to use the new i2c_new_dummy_device() call and bail out if the dummy device cannot be registered to make failure more visible to the user. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
92ffdb61f6
commit
1b09a2afa4
|
@ -885,9 +885,11 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
|||
INIT_DELAYED_WORK(&ir->work, ir_work);
|
||||
|
||||
if (probe_tx) {
|
||||
ir->tx_c = i2c_new_dummy(client->adapter, 0x70);
|
||||
if (!ir->tx_c) {
|
||||
ir->tx_c = i2c_new_dummy_device(client->adapter, 0x70);
|
||||
if (IS_ERR(ir->tx_c)) {
|
||||
dev_err(&client->dev, "failed to setup tx i2c address");
|
||||
err = PTR_ERR(ir->tx_c);
|
||||
goto err_out_free;
|
||||
} else if (!zilog_init(ir)) {
|
||||
ir->carrier = 38000;
|
||||
ir->duty_cycle = 40;
|
||||
|
@ -904,7 +906,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
|||
return 0;
|
||||
|
||||
err_out_free:
|
||||
if (ir->tx_c)
|
||||
if (!IS_ERR(ir->tx_c))
|
||||
i2c_unregister_device(ir->tx_c);
|
||||
|
||||
/* Only frees rc if it were allocated internally */
|
||||
|
@ -918,8 +920,7 @@ static int ir_remove(struct i2c_client *client)
|
|||
|
||||
cancel_delayed_work_sync(&ir->work);
|
||||
|
||||
if (ir->tx_c)
|
||||
i2c_unregister_device(ir->tx_c);
|
||||
i2c_unregister_device(ir->tx_c);
|
||||
|
||||
rc_unregister_device(ir->rc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue