::
- void pmbus_do_remove(struct i2c_client *client);
-
-Execute driver remove function. Similar to standard driver remove function.
-
-::
-
const struct pmbus_driver_info
*pmbus_get_driver_info(struct i2c_client *client);
return pmbus_do_probe(client, &ds1200_info);
}
- static int ds1200_remove(struct i2c_client *client)
- {
- return pmbus_do_remove(client);
- }
-
static const struct i2c_device_id ds1200_id[] = {
{"ds1200", 0},
{}
.name = "ds1200",
},
.probe_new = ds1200_probe,
- .remove = ds1200_remove,
.id_table = ds1200_id,
};
.of_match_table = adm1266_of_match,
},
.probe_new = adm1266_probe,
- .remove = pmbus_do_remove,
.id_table = adm1266_id,
};
.name = "adm1275",
},
.probe_new = adm1275_probe,
- .remove = pmbus_do_remove,
.id_table = adm1275_id,
};
.name = "bel-pfe",
},
.probe_new = pfe_pmbus_probe,
- .remove = pmbus_do_remove,
.id_table = pfe_device_id,
};
.of_match_table = ibm_cffps_of_match,
},
.probe_new = ibm_cffps_probe,
- .remove = pmbus_do_remove,
.id_table = ibm_cffps_id,
};
.of_match_table = of_match_ptr(ipsps_of_match),
},
.probe_new = ipsps_probe,
- .remove = pmbus_do_remove,
.id_table = ipsps_id,
};
.name = "ir35221",
},
.probe_new = ir35221_probe,
- .remove = pmbus_do_remove,
.id_table = ir35221_id,
};
.name = "ir38064",
},
.probe_new = ir38064_probe,
- .remove = pmbus_do_remove,
.id_table = ir38064_id,
};
.name = "irps5401",
},
.probe_new = irps5401_probe,
- .remove = pmbus_do_remove,
.id_table = irps5401_id,
};
.name = "isl68137",
},
.probe_new = isl68137_probe,
- .remove = pmbus_do_remove,
.id_table = raa_dmpvr_id,
};
.name = "lm25066",
},
.probe_new = lm25066_probe,
- .remove = pmbus_do_remove,
.id_table = lm25066_id,
};
.of_match_table = of_match_ptr(ltc2978_of_match),
},
.probe_new = ltc2978_probe,
- .remove = pmbus_do_remove,
.id_table = ltc2978_id,
};
.name = "ltc3815",
},
.probe_new = ltc3815_probe,
- .remove = pmbus_do_remove,
.id_table = ltc3815_id,
};
.name = "max16064",
},
.probe_new = max16064_probe,
- .remove = pmbus_do_remove,
.id_table = max16064_id,
};
.name = "max16601",
},
.probe_new = max16601_probe,
- .remove = pmbus_do_remove,
.id_table = max16601_id,
};
.of_match_table = max20730_of_match,
},
.probe_new = max20730_probe,
- .remove = pmbus_do_remove,
.id_table = max20730_id,
};
.name = "max20751",
},
.probe_new = max20751_probe,
- .remove = pmbus_do_remove,
.id_table = max20751_id,
};
.of_match_table = max31785_of_match,
},
.probe_new = max31785_probe,
- .remove = pmbus_do_remove,
.id_table = max31785_id,
};
.name = "max34440",
},
.probe_new = max34440_probe,
- .remove = pmbus_do_remove,
.id_table = max34440_id,
};
.name = "max8688",
},
.probe_new = max8688_probe,
- .remove = pmbus_do_remove,
.id_table = max8688_id,
};
.of_match_table = of_match_ptr(mp2975_of_match),
},
.probe_new = mp2975_probe,
- .remove = pmbus_do_remove,
.id_table = mp2975_id,
};
.name = "pmbus",
},
.probe_new = pmbus_probe,
- .remove = pmbus_do_remove,
.id_table = pmbus_id,
};
bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg);
bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info);
-int pmbus_do_remove(struct i2c_client *client);
const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client
*client);
int pmbus_get_fan_rate_device(struct i2c_client *client, int page, int id,
DEFINE_DEBUGFS_ATTRIBUTE(pmbus_debugfs_ops_pec, pmbus_debugfs_get_pec,
pmbus_debugfs_set_pec, "%llu\n");
+static void pmbus_remove_debugfs(void *data)
+{
+ struct dentry *entry = data;
+
+ debugfs_remove_recursive(entry);
+}
+
static int pmbus_init_debugfs(struct i2c_client *client,
struct pmbus_data *data)
{
}
}
- return 0;
+ return devm_add_action_or_reset(data->dev,
+ pmbus_remove_debugfs, data->debugfs);
}
#else
static int pmbus_init_debugfs(struct i2c_client *client,
}
EXPORT_SYMBOL_GPL(pmbus_do_probe);
-int pmbus_do_remove(struct i2c_client *client)
-{
- struct pmbus_data *data = i2c_get_clientdata(client);
-
- debugfs_remove_recursive(data->debugfs);
-
- return 0;
-}
-EXPORT_SYMBOL_GPL(pmbus_do_remove);
-
struct dentry *pmbus_get_debugfs_dir(struct i2c_client *client)
{
struct pmbus_data *data = i2c_get_clientdata(client);
.name = "pxe1610",
},
.probe_new = pxe1610_probe,
- .remove = pmbus_do_remove,
.id_table = pxe1610_id,
};
.name = "tps40422",
},
.probe_new = tps40422_probe,
- .remove = pmbus_do_remove,
.id_table = tps40422_id,
};
.of_match_table = of_match_ptr(tps53679_of_match),
},
.probe_new = tps53679_probe,
- .remove = pmbus_do_remove,
.id_table = tps53679_id,
};
.of_match_table = of_match_ptr(ucd9000_of_match),
},
.probe_new = ucd9000_probe,
- .remove = pmbus_do_remove,
.id_table = ucd9000_id,
};
.of_match_table = of_match_ptr(ucd9200_of_match),
},
.probe_new = ucd9200_probe,
- .remove = pmbus_do_remove,
.id_table = ucd9200_id,
};
.of_match_table = of_match_ptr(xdpe122_of_match),
},
.probe_new = xdpe122_probe,
- .remove = pmbus_do_remove,
.id_table = xdpe122_id,
};
.name = "zl6100",
},
.probe_new = zl6100_probe,
- .remove = pmbus_do_remove,
.id_table = zl6100_id,
};