|
@@ -306,10 +306,7 @@ static int i2c_smbus_host_notify_to_irq(const struct i2c_client *client)
|
|
|
if (client->flags & I2C_CLIENT_TEN)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- irq = irq_find_mapping(adap->host_notify_domain, client->addr);
|
|
|
- if (!irq)
|
|
|
- irq = irq_create_mapping(adap->host_notify_domain,
|
|
|
- client->addr);
|
|
|
+ irq = irq_create_mapping(adap->host_notify_domain, client->addr);
|
|
|
|
|
|
return irq > 0 ? irq : -ENXIO;
|
|
|
}
|
|
@@ -433,6 +430,8 @@ static int i2c_device_remove(struct device *dev)
|
|
|
dev_pm_clear_wake_irq(&client->dev);
|
|
|
device_init_wakeup(&client->dev, false);
|
|
|
|
|
|
+ client->irq = 0;
|
|
|
+
|
|
|
return status;
|
|
|
}
|
|
|
|