+//MTK start
+ else if (attr == &dev_torture)
+ ret = sprintf(buf, "torture: %d\n", ubi->torture);
+ else if (attr == &dev_wl_th)
+ ret = sprintf(buf, "wl_th: %d\n", ubi->wl_th);
+ else if (attr == &dev_wl_count)
+ ret = sprintf(buf, "wl_count: %d\n", ubi->wl_count);
+ else if (attr == &dev_wl_size)
+ ret = sprintf(buf, "wl_size: %lld\n", ubi->wl_size);
+ else if (attr == &dev_scrub_count)
+ ret = sprintf(buf, "scrub_count: %d\n", ubi->scrub_count);
+ else if (attr == &dev_scrub_size)
+ ret = sprintf(buf, "scrub_size: %lld\n", ubi->scrub_size);
+ else if (attr == &dev_move_retry)
+ ret = sprintf(buf, "move_retry: %d\n", atomic_read(&ubi->move_retry));
+ else if (attr == &dev_lbb)
+ ret = sprintf(buf, "lbb: %d\n", atomic_read(&ubi->lbb));
+ else if (attr == &dev_ec_count)
+ ret = sprintf(buf, "ec_count: %d\n", atomic_read(&ubi->ec_count));
+ else if (attr == &dev_mean_ec)
+ ret = sprintf(buf, "mean_ec: %d\n", ubi->mean_ec);
+ else if (attr == &dev_ec_sum)
+ ret = sprintf(buf, "%lld\n", ubi->ec_sum);
+ else if (attr == &dev_min_ec) {
+ struct ubi_wl_entry *e=NULL, *efree=NULL, *eused=NULL;
+ spin_lock(&ubi->wl_lock);
+ efree = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry, u.rb);
+ eused = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, u.rb);
+ if(efree && eused) {
+ if(efree->ec < eused->ec)
+ e = efree;
+ else
+ e = eused;
+ } else if(efree){
+ e = efree;
+ } else {
+ e = eused;
+ }
+ ret = sprintf(buf, "%d\n", e->ec);
+ spin_unlock(&ubi->wl_lock);
+ }
+//MTK end