Hi Martin, This patch series includes the following changes: - Separation of UFS core and UFS driver source code into separate directories. - Split the ufshcd.h header file into two header files - one file that defines the interface with UFS drivers and another file with definitions only used in the core. - Multiple source code cleanup patches. - A few patches with minor functional changes. Please consider these changes for kernel v5.19. Thank you, Bart. Bart Van Assche (29): scsi: ufs: Declare ufshcd_wait_for_register() static scsi: ufs: Remove superfluous boolean conversions scsi: ufs: Simplify statements that return a boolean scsi: ufs: Remove ufshcd_lrb.sense_bufflen scsi: ufs: Remove ufshcd_lrb.sense_buffer scsi: ufs: Use get_unaligned_be16() instead of be16_to_cpup() scsi: ufs: Remove the UFS_FIX() and END_FIX() macros scsi: ufs: Rename struct ufs_dev_fix into ufs_dev_quirk scsi: ufs: Declare the quirks array const scsi: ufs: Invert the return value of ufshcd_is_hba_active() scsi: ufs: Remove unused constants and code scsi: ufs: Switch to aggregate initialization scsi: ufs: Remove the LUN quiescing code from ufshcd_wl_shutdown() scsi: ufs: Make the config_scaling_param calls type safe scsi: ufs: Remove the driver version scsi: ufs: Rename sdev_ufs_device into ufs_device_wlun scsi: ufs: Use an SPDX license identifier in the Kconfig file scsi: ufs: Remove paths from source code comments scsi: ufs: Remove the TRUE and FALSE definitions scsi: ufs: Remove locking from around single register writes scsi: ufs: Introduce ufshcd_clkgate_delay_set() scsi: ufs: qcom: Fix ufs_qcom_resume() scsi: ufs: Remove unnecessary ufshcd-crypto.h include directives scsi: ufs: Fix kernel-doc syntax in ufshcd.h scsi: ufs: Minimize #include directives scsi: ufs: Split the ufshcd.h header file scsi: ufs: Move the struct ufs_ref_clk definition scsi: ufs: Move the ufs_is_valid_unit_desc_lun() definition scsi: ufs: Split the drivers/scsi/ufs directory drivers/scsi/Kconfig | 3 +- drivers/scsi/Makefile | 4 +- drivers/scsi/ufs-core/Kconfig | 82 ++++ drivers/scsi/ufs-core/Makefile | 10 + drivers/scsi/{ufs => ufs-core}/ufs-debugfs.c | 4 +- drivers/scsi/{ufs => ufs-core}/ufs-debugfs.h | 0 .../{ufs => ufs-core}/ufs-fault-injection.c | 4 +- .../{ufs => ufs-core}/ufs-fault-injection.h | 0 drivers/scsi/{ufs => ufs-core}/ufs-hwmon.c | 4 +- drivers/scsi/{ufs => ufs-core}/ufs-sysfs.c | 8 +- drivers/scsi/{ufs => ufs-core}/ufs-sysfs.h | 3 +- drivers/scsi/{ufs => ufs-core}/ufs_bsg.c | 6 + drivers/scsi/{ufs => ufs-core}/ufs_bsg.h | 7 +- .../scsi/{ufs => ufs-core}/ufshcd-crypto.c | 2 +- .../scsi/{ufs => ufs-core}/ufshcd-crypto.h | 7 +- drivers/scsi/ufs-core/ufshcd-priv.h | 296 ++++++++++++++ drivers/scsi/{ufs => ufs-core}/ufshcd.c | 254 ++++++------ drivers/scsi/{ufs => ufs-core}/ufshpb.c | 10 +- drivers/scsi/{ufs => ufs-core}/ufshpb.h | 0 drivers/scsi/ufs-drivers/Kconfig | 118 ++++++ drivers/scsi/{ufs => ufs-drivers}/Makefile | 12 - .../scsi/{ufs => ufs-drivers}/cdns-pltfrm.c | 5 +- .../{ufs => ufs-drivers}/tc-dwc-g210-pci.c | 8 +- .../{ufs => ufs-drivers}/tc-dwc-g210-pltfrm.c | 10 +- .../scsi/{ufs => ufs-drivers}/tc-dwc-g210.c | 8 +- .../scsi/{ufs => ufs-drivers}/tc-dwc-g210.h | 2 + .../scsi/{ufs => ufs-drivers}/ti-j721e-ufs.c | 0 .../scsi/{ufs => ufs-drivers}/ufs-exynos.c | 17 +- .../scsi/{ufs => ufs-drivers}/ufs-exynos.h | 8 +- drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.c | 17 +- drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.h | 0 .../{ufs => ufs-drivers}/ufs-mediatek-trace.h | 2 +- .../scsi/{ufs => ufs-drivers}/ufs-mediatek.c | 40 +- .../scsi/{ufs => ufs-drivers}/ufs-mediatek.h | 0 .../scsi/{ufs => ufs-drivers}/ufs-qcom-ice.c | 3 +- drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.c | 49 +-- drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.h | 6 +- .../scsi/{ufs => ufs-drivers}/ufshcd-dwc.c | 6 +- .../scsi/{ufs => ufs-drivers}/ufshcd-dwc.h | 2 + .../scsi/{ufs => ufs-drivers}/ufshcd-pci.c | 14 +- .../scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.c | 35 +- .../scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.h | 2 +- .../scsi/{ufs => ufs-drivers}/ufshci-dwc.h | 0 drivers/scsi/ufs/Kconfig | 211 ---------- {drivers/scsi/ufs => include/scsi}/ufs.h | 35 -- .../scsi/ufs => include/scsi}/ufs_quirks.h | 15 +- {drivers/scsi/ufs => include/scsi}/ufshcd.h | 366 ++++-------------- {drivers/scsi/ufs => include/scsi}/ufshci.h | 2 + {drivers/scsi/ufs => include/scsi}/unipro.h | 16 - 49 files changed, 856 insertions(+), 857 deletions(-) create mode 100644 drivers/scsi/ufs-core/Kconfig create mode 100644 drivers/scsi/ufs-core/Makefile rename drivers/scsi/{ufs => ufs-core}/ufs-debugfs.c (99%) rename drivers/scsi/{ufs => ufs-core}/ufs-debugfs.h (100%) rename drivers/scsi/{ufs => ufs-core}/ufs-fault-injection.c (100%) rename drivers/scsi/{ufs => ufs-core}/ufs-fault-injection.h (100%) rename drivers/scsi/{ufs => ufs-core}/ufs-hwmon.c (98%) rename drivers/scsi/{ufs => ufs-core}/ufs-sysfs.c (99%) rename drivers/scsi/{ufs => ufs-core}/ufs-sysfs.h (95%) rename drivers/scsi/{ufs => ufs-core}/ufs_bsg.c (97%) rename drivers/scsi/{ufs => ufs-core}/ufs_bsg.h (77%) rename drivers/scsi/{ufs => ufs-core}/ufshcd-crypto.c (99%) rename drivers/scsi/{ufs => ufs-core}/ufshcd-crypto.h (94%) create mode 100644 drivers/scsi/ufs-core/ufshcd-priv.h rename drivers/scsi/{ufs => ufs-core}/ufshcd.c (98%) rename drivers/scsi/{ufs => ufs-core}/ufshpb.c (99%) rename drivers/scsi/{ufs => ufs-core}/ufshpb.h (100%) create mode 100644 drivers/scsi/ufs-drivers/Kconfig rename drivers/scsi/{ufs => ufs-drivers}/Makefile (56%) rename drivers/scsi/{ufs => ufs-drivers}/cdns-pltfrm.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210-pci.c (98%) rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210-pltfrm.c (98%) rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210.h (95%) rename drivers/scsi/{ufs => ufs-drivers}/ti-j721e-ufs.c (100%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-exynos.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-exynos.h (97%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.h (100%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek-trace.h (92%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek.c (97%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek.h (100%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom-ice.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.c (98%) rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.h (98%) rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-dwc.c (98%) rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-dwc.h (95%) rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pci.c (99%) rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.c (94%) rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.h (98%) rename drivers/scsi/{ufs => ufs-drivers}/ufshci-dwc.h (100%) delete mode 100644 drivers/scsi/ufs/Kconfig rename {drivers/scsi/ufs => include/scsi}/ufs.h (93%) rename {drivers/scsi/ufs => include/scsi}/ufs_quirks.h (94%) rename {drivers/scsi/ufs => include/scsi}/ufshcd.h (82%) rename {drivers/scsi/ufs => include/scsi}/ufshci.h (99%) rename {drivers/scsi/ufs => include/scsi}/unipro.h (98%)