mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 19:51:25 -04:00
scsi: ufs: core: Fix the build for gcc 9 and before
gcc compilers before version 10 cannot do constant-folding for sub-byte bitfields. This makes the compiler layout tests fail. Hence skip the layout checks for gcc 9 and before. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Naresh Kamboju <naresh.kamboju@linaro.org> Cc: Nathan Chancellor <nathan@kernel.org> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org> Closes: https://lore.kernel.org/linux-scsi/CA+G9fYur8UJoUyTLJFVEJPh-15TJ7kbdD2q8xVz8a3fLjkxxVw@mail.gmail.com/ Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20230801232204.1481902-1-bvanassche@acm.org Tested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
21f04fb4e8
commit
c306f746fe
@@ -10527,6 +10527,14 @@ static const struct dev_pm_ops ufshcd_wl_pm_ops = {
|
||||
|
||||
static void ufshcd_check_header_layout(void)
|
||||
{
|
||||
/*
|
||||
* gcc compilers before version 10 cannot do constant-folding for
|
||||
* sub-byte bitfields. Hence skip the layout checks for gcc 9 and
|
||||
* before.
|
||||
*/
|
||||
if (IS_ENABLED(CONFIG_CC_IS_GCC) && CONFIG_GCC_VERSION < 100000)
|
||||
return;
|
||||
|
||||
BUILD_BUG_ON(((u8 *)&(struct request_desc_header){
|
||||
.cci = 3})[0] != 3);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user