diff options
-rw-r--r-- | drivers/mtd/mtd-uclass.c | 16 | ||||
-rw-r--r-- | include/mtd.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/drivers/mtd/mtd-uclass.c b/drivers/mtd/mtd-uclass.c index 9ca049c4377..54182174319 100644 --- a/drivers/mtd/mtd-uclass.c +++ b/drivers/mtd/mtd-uclass.c @@ -5,9 +5,25 @@ #include <common.h> #include <dm.h> +#include <dm/device-internal.h> #include <errno.h> #include <mtd.h> +/** + * mtd_probe - Probe the device @dev if not already done + * + * @dev: U-Boot device to probe + * + * @return 0 on success, an error otherwise. + */ +int mtd_probe(struct udevice *dev) +{ + if (device_active(dev)) + return 0; + + return device_probe(dev); +} + /* * Implement a MTD uclass which should include most flash drivers. * The uclass private is pointed to mtd_info. diff --git a/include/mtd.h b/include/mtd.h index 9e5c807294b..75aca262d4a 100644 --- a/include/mtd.h +++ b/include/mtd.h @@ -8,4 +8,6 @@ #include <linux/mtd/mtd.h> +int mtd_probe(struct udevice *dev); + #endif /* _MTD_H_ */ |