From f16d89e083fccb465b12d4c055cb31a0b1506f8f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 7 Jun 2022 17:21:44 +0200 Subject: [PATCH] ANDROID: scsi: ufs: sysfs: fix up scsi/ufs merge problems. When merging, the ufs_sysfs_add_nodes() function got merged incorrectly. Pick the upstream version which fixes the build problems. This moves the tracepoint out of the sysfs create function and puts it where the call originated, as the hba structure is not known in the sysfs create call. Bug: 158050260 Cc: Jaegeuk Kim Fixes: 0b0468f649d2 ("ANDROID: scsi: ufs: add a hook to add sysfs entries") Signed-off-by: Greg Kroah-Hartman Change-Id: I875944bb95597f1df63f109684d053903b2282a0 --- drivers/scsi/ufs/ufs-sysfs.c | 8 +++----- drivers/scsi/ufs/ufs-sysfs.h | 2 +- drivers/scsi/ufs/ufshcd.c | 3 ++- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/ufs/ufs-sysfs.c b/drivers/scsi/ufs/ufs-sysfs.c index aca5fae49edf..5e1d3c233bb8 100644 --- a/drivers/scsi/ufs/ufs-sysfs.c +++ b/drivers/scsi/ufs/ufs-sysfs.c @@ -1253,19 +1253,17 @@ const struct attribute_group ufs_sysfs_lun_attributes_group = { .attrs = ufs_sysfs_lun_attributes, }; -void ufs_sysfs_add_nodes(struct ufs_hba *hba) +void ufs_sysfs_add_nodes(struct device *dev) { int ret; - ret = sysfs_create_groups(&hba->dev->kobj, ufs_sysfs_groups); + ret = sysfs_create_groups(&dev->kobj, ufs_sysfs_groups); if (ret) { - dev_err(hba->dev, + dev_err(dev, "%s: sysfs groups creation failed (err = %d)\n", __func__, ret); return; } - - trace_android_vh_ufs_update_sysfs(hba); } void ufs_sysfs_remove_nodes(struct device *dev) diff --git a/drivers/scsi/ufs/ufs-sysfs.h b/drivers/scsi/ufs/ufs-sysfs.h index 0290d2f38666..8d94af3b8077 100644 --- a/drivers/scsi/ufs/ufs-sysfs.h +++ b/drivers/scsi/ufs/ufs-sysfs.h @@ -9,7 +9,7 @@ struct device; -void ufs_sysfs_add_nodes(struct ufs_hba *hba); +void ufs_sysfs_add_nodes(struct device *dev); void ufs_sysfs_remove_nodes(struct device *dev); extern const struct attribute_group ufs_sysfs_unit_descriptor_group; diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index ab10cc7bdc34..fbfac885f611 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -9793,7 +9793,8 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) ufshcd_set_ufs_dev_active(hba); async_schedule(ufshcd_async_scan, hba); - ufs_sysfs_add_nodes(hba); + ufs_sysfs_add_nodes(dev); + trace_android_vh_ufs_update_sysfs(hba); device_enable_async_suspend(dev); return 0;