env: add register_persistent_environment
- heavily copied from register_persistant_environment which was Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
659712cbf3
commit
eec960e3b3
|
@ -363,3 +363,43 @@ out:
|
|||
free(buf_free);
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef __BAREBOX__
|
||||
/**
|
||||
* Try to register an environment storage on a device's partition
|
||||
* @return 0 on success
|
||||
*
|
||||
* We rely on the existence of a usable storage device, already attached to
|
||||
* our system, to get something like a persistent memory for our environment.
|
||||
* We need to specify the partition number to use on this device.
|
||||
* @param[in] devname Name of the device
|
||||
* @param[in] partnr Partition number
|
||||
* @return 0 on success, anything else in case of failure
|
||||
*/
|
||||
|
||||
int envfs_register_partition(const char *devname, unsigned int partnr)
|
||||
{
|
||||
struct cdev *cdev;
|
||||
char *partname;
|
||||
|
||||
if (!devname)
|
||||
return -EINVAL;
|
||||
|
||||
cdev = cdev_by_name(devname);
|
||||
if (cdev == NULL) {
|
||||
pr_err("No %s present\n", devname);
|
||||
return -ENODEV;
|
||||
}
|
||||
partname = asprintf("%s.%d", devname, partnr);
|
||||
cdev = cdev_by_name(partname);
|
||||
if (cdev == NULL) {
|
||||
pr_err("No %s partition available\n", partname);
|
||||
pr_info("Please create the partition %s to store the env\n", partname);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
return devfs_add_partition(partname, 0, cdev->size,
|
||||
DEVFS_PARTITION_FIXED, "env0");
|
||||
}
|
||||
EXPORT_SYMBOL(envfs_register_partition);
|
||||
#endif
|
||||
|
|
|
@ -96,4 +96,6 @@ int envfs_save(char *filename, char *dirname);
|
|||
/* defaults to /dev/env0 */
|
||||
extern char *default_environment_path;
|
||||
|
||||
int envfs_register_partition(const char *devname, unsigned int partnr);
|
||||
|
||||
#endif /* _ENVFS_H */
|
||||
|
|
Loading…
Reference in New Issue