mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
blk: add a helper function, blk_probe_or_unbind()
This function will be commonly used in block device drivers in the succeeding patches. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
5d21dfec4a
commit
19b241c61f
2 changed files with 25 additions and 0 deletions
|
@ -672,6 +672,19 @@ int blk_create_devicef(struct udevice *parent, const char *drv_name,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int blk_probe_or_unbind(struct udevice *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = device_probe(dev);
|
||||
if (ret) {
|
||||
log_debug("probing %s failed\n", dev->name);
|
||||
device_unbind(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int blk_unbind_all(int if_type)
|
||||
{
|
||||
struct uclass *uc;
|
||||
|
|
|
@ -370,6 +370,18 @@ int blk_create_devicef(struct udevice *parent, const char *drv_name,
|
|||
const char *name, int if_type, int devnum, int blksz,
|
||||
lbaint_t lba, struct udevice **devp);
|
||||
|
||||
/**
|
||||
* blk_probe_or_unbind() - Try to probe
|
||||
*
|
||||
* Try to probe the device, primarily for enumerating partitions.
|
||||
* If it fails, the device itself is unbound since it means that it won't
|
||||
* work any more.
|
||||
*
|
||||
* @dev: The device to probe
|
||||
* Return: 0 if OK, -ve on error
|
||||
*/
|
||||
int blk_probe_or_unbind(struct udevice *dev);
|
||||
|
||||
/**
|
||||
* blk_unbind_all() - Unbind all device of the given interface type
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue