In order to improve the flexibility of ufs-bsg, modularizing it is a good choice. Introduce tri-state to ufs-bsg to allow users compile it as an external module. Changes since v2: - Incoperate comments from Avri Altman, Bjorn Andersson and Bart Van Assche. - Updated the main change to use platform_device_register_data() to create a platform device ufs-bsg in ufshcd_platform_init(). Also added the ufs-bsg platform driver. In the driver probe routine, create the ufs-bsg char dev under /dev/bsg/, the ufs-bsg platform device is the parent of the created ufs-bsg char dev. - Modified commit message. - Removed defconfig change. Changes since v1: - Included one more defconfig change. Can Guo (2): scsi: ufs: Put SCSI host after remove it scsi: ufs: Modularize ufs-bsg drivers/scsi/ufs/Kconfig | 2 +- drivers/scsi/ufs/Makefile | 2 +- drivers/scsi/ufs/ufs_bsg.c | 67 +++++++++++++++++++++------------------- drivers/scsi/ufs/ufs_bsg.h | 8 ----- drivers/scsi/ufs/ufshcd-pltfrm.c | 12 +++++++ drivers/scsi/ufs/ufshcd.c | 8 ++--- drivers/scsi/ufs/ufshcd.h | 2 +- 7 files changed, 55 insertions(+), 46 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project