s390/ccwgroup: add get_ccwgroupdev_by_busid()
Provide function to find a ccwgroup device by its busid. Acked-by: Sebastian Ott <sebott@linux.ibm.com> Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
00fab2350e
commit
346e485d42
@ -64,6 +64,8 @@ extern int ccwgroup_driver_register (struct ccwgroup_driver *cdriver);
|
||||
extern void ccwgroup_driver_unregister (struct ccwgroup_driver *cdriver);
|
||||
int ccwgroup_create_dev(struct device *root, struct ccwgroup_driver *gdrv,
|
||||
int num_devices, const char *buf);
|
||||
struct ccwgroup_device *get_ccwgroupdev_by_busid(struct ccwgroup_driver *gdrv,
|
||||
char *bus_id);
|
||||
|
||||
extern int ccwgroup_set_online(struct ccwgroup_device *gdev);
|
||||
extern int ccwgroup_set_offline(struct ccwgroup_device *gdev);
|
||||
|
@ -608,6 +608,36 @@ void ccwgroup_driver_unregister(struct ccwgroup_driver *cdriver)
|
||||
}
|
||||
EXPORT_SYMBOL(ccwgroup_driver_unregister);
|
||||
|
||||
static int __ccwgroupdev_check_busid(struct device *dev, void *id)
|
||||
{
|
||||
char *bus_id = id;
|
||||
|
||||
return (strcmp(bus_id, dev_name(dev)) == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* get_ccwgroupdev_by_busid() - obtain device from a bus id
|
||||
* @gdrv: driver the device is owned by
|
||||
* @bus_id: bus id of the device to be searched
|
||||
*
|
||||
* This function searches all devices owned by @gdrv for a device with a bus
|
||||
* id matching @bus_id.
|
||||
* Returns:
|
||||
* If a match is found, its reference count of the found device is increased
|
||||
* and it is returned; else %NULL is returned.
|
||||
*/
|
||||
struct ccwgroup_device *get_ccwgroupdev_by_busid(struct ccwgroup_driver *gdrv,
|
||||
char *bus_id)
|
||||
{
|
||||
struct device *dev;
|
||||
|
||||
dev = driver_find_device(&gdrv->driver, NULL, bus_id,
|
||||
__ccwgroupdev_check_busid);
|
||||
|
||||
return dev ? to_ccwgroupdev(dev) : NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_ccwgroupdev_by_busid);
|
||||
|
||||
/**
|
||||
* ccwgroup_probe_ccwdev() - probe function for slave devices
|
||||
* @cdev: ccw device to be probed
|
||||
|
Loading…
x
Reference in New Issue
Block a user