Follow JESD220G, support HID(Host Initiated Defragmentation) through sysfs, the relevant sysfs nodes are as follows: 1. analysis_trigger 2. defrag_trigger 3. fragmented_size 4. defrag_size 5. progress_ratio 6. state The detailed definition of the six nodes can be found in the sysfs documentation. HID's execution policy is given to user-space. Signed-off-by: Huan Tang <tanghuan@vivo.com> Signed-off-by: Wenxing Cheng <wenxing.cheng@vivo.com> Link: https://lore.kernel.org/r/20250523064604.800-1-tanghuan@vivo.com Suggested-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Peter Wang <peter.wang@mediatek.com> Reviewed-by: Bean Huo <huobean@gmail.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Yangtao Li <frank.li@vivo.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Bug: 435744113 Change-Id: Ib2348157694d3b57dab2da9f8b47be5b0bccf42d (cherry picked from commit ae7795a8c2582b5fb7971132753810a3f158e7b2 https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next) [ bvanassche: introduced struct ufs_hba_priv ] Signed-off-by: Bart Van Assche <bvanassche@google.com>