1 #include <linux/kernel.h>
5 static void null_progress__update(struct ui_progress
*p __maybe_unused
)
9 static struct ui_progress_ops null_progress__ops
=
11 .update
= null_progress__update
,
14 struct ui_progress_ops
*ui_progress__ops
= &null_progress__ops
;
16 void ui_progress__update(struct ui_progress
*p
, u64 adv
)
22 if (p
->curr
>= p
->next
) {
23 u64 nr
= DIV_ROUND_UP(p
->curr
- last
, p
->step
);
25 p
->next
+= nr
* p
->step
;
26 ui_progress__ops
->update(p
);
30 void ui_progress__init(struct ui_progress
*p
, u64 total
, const char *title
)
33 p
->next
= p
->step
= total
/ 16 ?: 1;
39 void ui_progress__finish(void)
41 if (ui_progress__ops
->finish
)
42 ui_progress__ops
->finish();