mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 12:16:49 +07:00
mfd: mfd-core: Remove mfd_clone_cell()
Providing a subsystem-level API helper seems over-kill just to save a few lines of C-code. Previous commits saw us convert mfd_clone_cell()'s only user over to use a more traditional style of MFD child-device registration. Now we can remove the superfluous helper from the MFD API. Signed-off-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
This commit is contained in:
parent
b195e10158
commit
ead1c83ddd
@ -392,38 +392,5 @@ int devm_mfd_add_devices(struct device *dev, int id,
|
||||
}
|
||||
EXPORT_SYMBOL(devm_mfd_add_devices);
|
||||
|
||||
int mfd_clone_cell(const char *cell, const char **clones, size_t n_clones)
|
||||
{
|
||||
struct mfd_cell cell_entry;
|
||||
struct device *dev;
|
||||
struct platform_device *pdev;
|
||||
int i;
|
||||
|
||||
/* fetch the parent cell's device (should already be registered!) */
|
||||
dev = bus_find_device_by_name(&platform_bus_type, NULL, cell);
|
||||
if (!dev) {
|
||||
printk(KERN_ERR "failed to find device for cell %s\n", cell);
|
||||
return -ENODEV;
|
||||
}
|
||||
pdev = to_platform_device(dev);
|
||||
memcpy(&cell_entry, mfd_get_cell(pdev), sizeof(cell_entry));
|
||||
|
||||
WARN_ON(!cell_entry.enable);
|
||||
|
||||
for (i = 0; i < n_clones; i++) {
|
||||
cell_entry.name = clones[i];
|
||||
/* don't give up if a single call fails; just report error */
|
||||
if (mfd_add_device(pdev->dev.parent, -1, &cell_entry,
|
||||
cell_entry.usage_count, NULL, 0, NULL))
|
||||
dev_err(dev, "failed to create platform device '%s'\n",
|
||||
clones[i]);
|
||||
}
|
||||
|
||||
put_device(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(mfd_clone_cell);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Ian Molton, Dmitry Baryshkov");
|
||||
|
@ -115,24 +115,6 @@ struct mfd_cell {
|
||||
extern int mfd_cell_enable(struct platform_device *pdev);
|
||||
extern int mfd_cell_disable(struct platform_device *pdev);
|
||||
|
||||
/*
|
||||
* "Clone" multiple platform devices for a single cell. This is to be used
|
||||
* for devices that have multiple users of a cell. For example, if an mfd
|
||||
* driver wants the cell "foo" to be used by a GPIO driver, an MTD driver,
|
||||
* and a platform driver, the following bit of code would be use after first
|
||||
* calling mfd_add_devices():
|
||||
*
|
||||
* const char *fclones[] = { "foo-gpio", "foo-mtd" };
|
||||
* err = mfd_clone_cells("foo", fclones, ARRAY_SIZE(fclones));
|
||||
*
|
||||
* Each driver (MTD, GPIO, and platform driver) would then register
|
||||
* platform_drivers for "foo-mtd", "foo-gpio", and "foo", respectively.
|
||||
* The cell's .enable/.disable hooks should be used to deal with hardware
|
||||
* resource contention.
|
||||
*/
|
||||
extern int mfd_clone_cell(const char *cell, const char **clones,
|
||||
size_t n_clones);
|
||||
|
||||
/*
|
||||
* Given a platform device that's been created by mfd_add_devices(), fetch
|
||||
* the mfd_cell that created it.
|
||||
|
Loading…
Reference in New Issue
Block a user