From 052da8f4d40816c8c7522def8c32ccf4dcca35e6 Mon Sep 17 00:00:00 2001 From: Tiffany Yang Date: Tue, 5 Aug 2025 13:42:19 -0700 Subject: [PATCH] ANDROID: Fix implicit enum conversion in ufs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A backport for HID support declared new attribute idns as part of a new anonymous enum instead of enum attr_idn to preserve the android16-6.12 ABI. These were not cast to the correct enum when used, causing the kernelci build errors like the following: drivers/ufs/core/ufs-sysfs.c: In function ‘analysis_trigger_store’: drivers/ufs/core/ufs-sysfs.c:1681:25: error: implicit conversion from ‘enum ’ to ‘enum attr_idn’ [-Werror=enum-conversion] 1681 | QUERY_ATTR_IDN_HID_DEFRAG_OPERATION, &mode); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cast QUERY_ATTR_IDN_HID_* to enum attr_idn. Fixes: ba125a42ce6e ("BACKPORT: FROMGIT: scsi: ufs: core: Add HID support") Change-Id: I9c690b3feb17f64d54cb218acba92ce4b128e4de Signed-off-by: Tiffany Yang --- drivers/ufs/core/ufs-sysfs.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/ufs/core/ufs-sysfs.c b/drivers/ufs/core/ufs-sysfs.c index 354e82512357..ff7f26b3e611 100644 --- a/drivers/ufs/core/ufs-sysfs.c +++ b/drivers/ufs/core/ufs-sysfs.c @@ -1678,7 +1678,7 @@ static ssize_t analysis_trigger_store(struct device *dev, return -EINVAL; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_WRITE_ATTR, - QUERY_ATTR_IDN_HID_DEFRAG_OPERATION, &mode); + (enum attr_idn)QUERY_ATTR_IDN_HID_DEFRAG_OPERATION, &mode); return ret < 0 ? ret : count; } @@ -1700,7 +1700,7 @@ static ssize_t defrag_trigger_store(struct device *dev, return -EINVAL; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_WRITE_ATTR, - QUERY_ATTR_IDN_HID_DEFRAG_OPERATION, &mode); + (enum attr_idn)QUERY_ATTR_IDN_HID_DEFRAG_OPERATION, &mode); return ret < 0 ? ret : count; } @@ -1715,7 +1715,7 @@ static ssize_t fragmented_size_show(struct device *dev, int ret; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, - QUERY_ATTR_IDN_HID_AVAILABLE_SIZE, &value); + (enum attr_idn)QUERY_ATTR_IDN_HID_AVAILABLE_SIZE, &value); if (ret) return ret; @@ -1732,7 +1732,7 @@ static ssize_t defrag_size_show(struct device *dev, int ret; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, - QUERY_ATTR_IDN_HID_SIZE, &value); + (enum attr_idn)QUERY_ATTR_IDN_HID_SIZE, &value); if (ret) return ret; @@ -1750,7 +1750,7 @@ static ssize_t defrag_size_store(struct device *dev, return -EINVAL; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_WRITE_ATTR, - QUERY_ATTR_IDN_HID_SIZE, &value); + (enum attr_idn)QUERY_ATTR_IDN_HID_SIZE, &value); return ret < 0 ? ret : count; } @@ -1765,7 +1765,7 @@ static ssize_t progress_ratio_show(struct device *dev, int ret; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, - QUERY_ATTR_IDN_HID_PROGRESS_RATIO, &value); + (enum attr_idn)QUERY_ATTR_IDN_HID_PROGRESS_RATIO, &value); if (ret) return ret; @@ -1782,7 +1782,7 @@ static ssize_t state_show(struct device *dev, int ret; ret = hid_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, - QUERY_ATTR_IDN_HID_STATE, &value); + (enum attr_idn)QUERY_ATTR_IDN_HID_STATE, &value); if (ret) return ret;