lkml.org 
[lkml]   [2014]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 30/35] UBI: Add accessor functions for WL data structures
    Date
    Fastmap need access to various WL data structures as
    fastmap tightly depends on WL.
    To make the access less invasive add accessor functions.

    Signed-off-by: Richard Weinberger <richard@nod.at>
    ---
    drivers/mtd/ubi/ubi.h | 36 ++++++++++++++++++++++++++++++++++++
    1 file changed, 36 insertions(+)

    diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h
    index 9a37fe3..e159aa1 100644
    --- a/drivers/mtd/ubi/ubi.h
    +++ b/drivers/mtd/ubi/ubi.h
    @@ -895,6 +895,42 @@ static inline int ubiblock_remove(struct ubi_volume_info *vi)
    }
    #endif

    +/*
    + * ubi_for_each_free_peb - walk the UBI free RB tree
    + * @ubi: UBI device description object
    + * @e: a pointer to a ubi_wl_entry to use as cursor
    + * @tmp_e: a pointer to a ubi_wl_entry to use as temporary storage
    + */
    +#define ubi_for_each_free_peb(ubi, e, tmp_e) \
    + rbtree_postorder_for_each_entry_safe((e), (tmp_e), &(ubi)->free, u.rb)
    +
    +/*
    + * ubi_for_each_used_peb - walk the UBI used RB tree
    + * @ubi: UBI device description object
    + * @e: a pointer to a ubi_wl_entry to use as cursor
    + * @tmp_e: a pointer to a ubi_wl_entry to use as temporary storage
    + */
    +#define ubi_for_each_used_peb(ubi, e, tmp_e) \
    + rbtree_postorder_for_each_entry_safe((e), (tmp_e), &(ubi)->used, u.rb)
    +
    +/*
    + * ubi_for_each_scub_peb - walk the UBI scub RB tree
    + * @ubi: UBI device description object
    + * @e: a pointer to a ubi_wl_entry to use as cursor
    + * @tmp_e: a pointer to a ubi_wl_entry to use as temporary storage
    + */
    +#define ubi_for_each_scrub_peb(ubi, e, tmp_e) \
    + rbtree_postorder_for_each_entry_safe((e), (tmp_e), &(ubi)->scrub, u.rb)
    +
    +/*
    + * ubi_for_each_protected_peb - walk the UBI protection queue
    + * @ubi: UBI device description object
    + * @i: a integer used as counter
    + * @e: a pointer to a ubi_wl_entry to use as cursor
    + */
    +#define ubi_for_each_protected_peb(ubi, i, e) \
    + for ((i) = 0; (i) < UBI_PROT_QUEUE_LEN; (i)++) \
    + list_for_each_entry((e), &(ubi->pq[(i)]), u.list)

    /*
    * ubi_rb_for_each_entry - walk an RB-tree.
    --
    1.8.4.5


    \
     
     \ /
      Last update: 2014-10-29 14:01    [W:2.675 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site