[PATCH 2/9] drivers:mtd:ubi:add definition for UBI bakvol operation

Boris Brezillon boris.brezillon at free-electrons.com
Mon Sep 28 02:48:15 PDT 2015


On Mon, 28 Sep 2015 07:02:40 +0000
Bean Huo 霍斌斌 (beanhuo) <beanhuo at micron.com> wrote:

> Add macro definition for UBI bakvol operation.
> 
> Signed-off-by: Bean Huo <beanhuo at micron.com>
> ---
>  drivers/mtd/ubi/ubi.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h
> index 2974b67..746dfbe 100644
> --- a/drivers/mtd/ubi/ubi.h
> +++ b/drivers/mtd/ubi/ubi.h
> @@ -438,6 +438,7 @@ struct ubi_debug_info {
>   * @vtbl_slots: how many slots are available in the volume table
>   * @vtbl_size: size of the volume table in bytes
>   * @vtbl: in-RAM volume table copy
> + * @bkblk_tbl: backup block table
>   * @device_mutex: protects on-flash volume table and serializes volume
>   *                creation, deletion, update, re-size, re-name and set
>   *                property
> @@ -547,6 +548,7 @@ struct ubi_device {
>  	int vtbl_slots;
>  	int vtbl_size;
>  	struct ubi_vtbl_record *vtbl;
> +	struct ubi_bkblk_tbl *bkblk_tbl;

Where is struct ubi_bkblk_tbl defined (actually I found it in patch
2).

>  	struct mutex device_mutex;
>  
>  	int max_ec;
> @@ -797,6 +799,20 @@ int ubi_vtbl_rename_volumes(struct ubi_device *ubi,
>  			    struct list_head *rename_list);
>  int ubi_read_volume_table(struct ubi_device *ubi, struct ubi_attach_info *ai);
>  
> +/* bakvol.c*/
> +int ubi_check_backup_volume(struct ubi_device *ubi);
> +int ubi_backup_data_to_backup_volume(struct ubi_device *ubi, loff_t addr,
> +		size_t len, size_t *retlen, const void *buf);
> +int ubi_backup_volume_init(struct ubi_device *ubi);
> +int ubi_backup_volume_scan(struct ubi_device *ubi,
> +			struct ubi_vid_hdr *vidh, int pnum);
> +int ubi_backup_volume_init_tail(struct ubi_device *ubi,
> +				struct ubi_attach_info *si);
> +int ubi_bad_data_recovery(struct ubi_device *ubi);
> +int is_backup_need(struct ubi_device *ubi, loff_t addr);
> +void init_bakvol(struct ubi_volume_desc *desc, uint8_t choice);
> +void clear_bakvol(struct ubi_device *ubi);
> +
>  /* vmt.c */
>  int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req);
>  int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl);
> @@ -846,6 +862,7 @@ int self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap,
>  
>  /* wl.c */
>  int ubi_wl_get_peb(struct ubi_device *ubi);
> +int ubi_wl_get_plane_peb(struct ubi_device *ubi, int plane);

The same goes for those functions. You only define their protypes here,
and implement them in patch 4.

Please split your changes in a consistent way.

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the linux-mtd mailing list