|
|
@@ -821,8 +821,12 @@ void i2c_unregister_device(struct i2c_client *client)
|
|
|
{
|
|
|
if (!client)
|
|
|
return;
|
|
|
- if (client->dev.of_node)
|
|
|
+
|
|
|
+ if (client->dev.of_node) {
|
|
|
of_node_clear_flag(client->dev.of_node, OF_POPULATED);
|
|
|
+ of_node_put(client->dev.of_node);
|
|
|
+ }
|
|
|
+
|
|
|
if (ACPI_COMPANION(&client->dev))
|
|
|
acpi_device_clear_enumerated(ACPI_COMPANION(&client->dev));
|
|
|
device_unregister(&client->dev);
|