* [broonie-ci:v3_20251106_ckeepax_add_sdca_class_driver 321/322] sound/soc/sdca/sdca_device.c:36:6: error: redefinition of 'sdca_lookup_swft'
@ 2025-11-20 12:21 kernel test robot
2025-11-20 12:45 ` Charles Keepax
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-11-20 12:21 UTC (permalink / raw)
To: Charles Keepax; +Cc: oe-kbuild-all, Mark Brown
tree: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/ci.git v3_20251106_ckeepax_add_sdca_class_driver
head: 782a3359140a882c5593256c7a8b1496ef50ec56
commit: a9afd4638fa2ae315e93079521388fb7421a5781 [321/322] ASoC: SDCA: Add basic SDCA class driver
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20251120/202511202007.Fn4sbBus-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251120/202511202007.Fn4sbBus-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511202007.Fn4sbBus-lkp@intel.com/
All errors (new ones prefixed by >>):
sound/soc/sdca/sdca_functions.c: In function 'find_sdca_function':
>> sound/soc/sdca/sdca_functions.c:94:35: error: invalid use of undefined type 'struct acpi_device'
94 | struct device *dev = &adev->dev;
| ^~
>> sound/soc/sdca/sdca_functions.c:107:15: error: implicit declaration of function 'acpi_get_local_u64_address'; did you mean 'acpi_get_local_address'? [-Wimplicit-function-declaration]
107 | ret = acpi_get_local_u64_address(adev->handle, &addr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| acpi_get_local_address
sound/soc/sdca/sdca_functions.c:107:46: error: invalid use of undefined type 'struct acpi_device'
107 | ret = acpi_get_local_u64_address(adev->handle, &addr);
| ^~
sound/soc/sdca/sdca_functions.c: At top level:
>> sound/soc/sdca/sdca_functions.c:180:6: error: redefinition of 'sdca_lookup_functions'
180 | void sdca_lookup_functions(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/soundwire/sdw.h:18,
from sound/soc/sdca/sdca_functions.c:16:
include/sound/sdca.h:70:20: note: previous definition of 'sdca_lookup_functions' with type 'void(struct sdw_slave *)'
70 | static inline void sdca_lookup_functions(struct sdw_slave *slave) {}
| ^~~~~~~~~~~~~~~~~~~~~
sound/soc/sdca/sdca_functions.c: In function 'sdca_lookup_functions':
>> sound/soc/sdca/sdca_functions.c:190:9: error: implicit declaration of function 'acpi_dev_for_each_child'; did you mean 'device_for_each_child'? [-Wimplicit-function-declaration]
190 | acpi_dev_for_each_child(adev, find_sdca_function, &slave->sdca_data);
| ^~~~~~~~~~~~~~~~~~~~~~~
| device_for_each_child
--
>> sound/soc/sdca/sdca_device.c:18:6: error: redefinition of 'sdca_lookup_interface_revision'
18 | void sdca_lookup_interface_revision(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/soundwire/sdw.h:18,
from sound/soc/sdca/sdca_device.c:14:
include/sound/sdca.h:72:20: note: previous definition of 'sdca_lookup_interface_revision' with type 'void(struct sdw_slave *)'
72 | static inline void sdca_lookup_interface_revision(struct sdw_slave *slave) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/sdca/sdca_device.c:36:6: error: redefinition of 'sdca_lookup_swft'
36 | void sdca_lookup_swft(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~
include/sound/sdca.h:71:20: note: previous definition of 'sdca_lookup_swft' with type 'void(struct sdw_slave *)'
71 | static inline void sdca_lookup_swft(struct sdw_slave *slave) {}
| ^~~~~~~~~~~~~~~~
>> sound/soc/sdca/sdca_device.c:96:6: error: redefinition of 'sdca_device_quirk_match'
96 | bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk)
| ^~~~~~~~~~~~~~~~~~~~~~~
include/sound/sdca.h:73:20: note: previous definition of 'sdca_device_quirk_match' with type 'bool(struct sdw_slave *, enum sdca_quirk)' {aka '_Bool(struct sdw_slave *, enum sdca_quirk)'}
73 | static inline bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk)
| ^~~~~~~~~~~~~~~~~~~~~~~
--
>> sound/soc/sdca/sdca_function_device.c:89:5: error: redefinition of 'sdca_dev_register_functions'
89 | int sdca_dev_register_functions(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/soundwire/sdw.h:18,
from sound/soc/sdca/sdca_function_device.c:11:
include/sound/sdca.h:78:19: note: previous definition of 'sdca_dev_register_functions' with type 'int(struct sdw_slave *)'
78 | static inline int sdca_dev_register_functions(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/sdca/sdca_function_device.c:109:6: error: redefinition of 'sdca_dev_unregister_functions'
109 | void sdca_dev_unregister_functions(struct sdw_slave *slave)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sound/sdca.h:83:20: note: previous definition of 'sdca_dev_unregister_functions' with type 'void(struct sdw_slave *)'
83 | static inline void sdca_dev_unregister_functions(struct sdw_slave *slave) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SND_SOC_SDCA
Depends on [n]: SOUND [=y] && SND [=y] && SND_SOC [=y] && ACPI
Selected by [y]:
- SND_SOC_SDCA_CLASS [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y]
vim +/sdca_lookup_swft +36 sound/soc/sdca/sdca_device.c
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 17
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 @18 void sdca_lookup_interface_revision(struct sdw_slave *slave)
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 19 {
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 20 struct fwnode_handle *fwnode = slave->dev.fwnode;
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 21
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 22 /*
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 23 * if this property is not present, then the sdca_interface_revision will
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 24 * remain zero, which will be considered as 'not defined' or 'invalid'.
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 25 */
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 26 fwnode_property_read_u32(fwnode, "mipi-sdw-sdca-interface-revision",
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 27 &slave->sdca_data.interface_revision);
3a513da1ae3397 Pierre-Louis Bossart 2024-10-16 28 }
cdd30ebb1b9f36 Peter Zijlstra 2024-12-02 29 EXPORT_SYMBOL_NS(sdca_lookup_interface_revision, "SND_SOC_SDCA");
fdb22039917717 Pierre-Louis Bossart 2024-10-16 30
c4d096c3ca4255 Maciej Strozek 2025-10-20 31 static void devm_acpi_table_put(void *ptr)
c4d096c3ca4255 Maciej Strozek 2025-10-20 32 {
c4d096c3ca4255 Maciej Strozek 2025-10-20 33 acpi_put_table((struct acpi_table_header *)ptr);
c4d096c3ca4255 Maciej Strozek 2025-10-20 34 }
c4d096c3ca4255 Maciej Strozek 2025-10-20 35
c4d096c3ca4255 Maciej Strozek 2025-10-20 @36 void sdca_lookup_swft(struct sdw_slave *slave)
c4d096c3ca4255 Maciej Strozek 2025-10-20 37 {
c4d096c3ca4255 Maciej Strozek 2025-10-20 38 acpi_status status;
c4d096c3ca4255 Maciej Strozek 2025-10-20 39
c4d096c3ca4255 Maciej Strozek 2025-10-20 40 status = acpi_get_table(ACPI_SIG_SWFT, 0,
c4d096c3ca4255 Maciej Strozek 2025-10-20 41 (struct acpi_table_header **)&slave->sdca_data.swft);
c4d096c3ca4255 Maciej Strozek 2025-10-20 42 if (ACPI_FAILURE(status))
c4d096c3ca4255 Maciej Strozek 2025-10-20 43 dev_info(&slave->dev, "SWFT not available\n");
c4d096c3ca4255 Maciej Strozek 2025-10-20 44 else
c4d096c3ca4255 Maciej Strozek 2025-10-20 45 devm_add_action_or_reset(&slave->dev, devm_acpi_table_put,
c4d096c3ca4255 Maciej Strozek 2025-10-20 46 &slave->sdca_data.swft);
c4d096c3ca4255 Maciej Strozek 2025-10-20 47 }
c4d096c3ca4255 Maciej Strozek 2025-10-20 48 EXPORT_SYMBOL_NS(sdca_lookup_swft, "SND_SOC_SDCA");
c4d096c3ca4255 Maciej Strozek 2025-10-20 49
fdb22039917717 Pierre-Louis Bossart 2024-10-16 50 static bool sdca_device_quirk_rt712_vb(struct sdw_slave *slave)
fdb22039917717 Pierre-Louis Bossart 2024-10-16 51 {
fdb22039917717 Pierre-Louis Bossart 2024-10-16 52 struct sdw_slave_id *id = &slave->id;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 53 int i;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 54
fdb22039917717 Pierre-Louis Bossart 2024-10-16 55 /*
fdb22039917717 Pierre-Louis Bossart 2024-10-16 56 * The RT712_VA relies on the v06r04 draft, and the
fdb22039917717 Pierre-Louis Bossart 2024-10-16 57 * RT712_VB on a more recent v08r01 draft.
fdb22039917717 Pierre-Louis Bossart 2024-10-16 58 */
fdb22039917717 Pierre-Louis Bossart 2024-10-16 59 if (slave->sdca_data.interface_revision < 0x0801)
fdb22039917717 Pierre-Louis Bossart 2024-10-16 60 return false;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 61
fdb22039917717 Pierre-Louis Bossart 2024-10-16 62 if (id->mfg_id != 0x025d)
fdb22039917717 Pierre-Louis Bossart 2024-10-16 63 return false;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 64
fdb22039917717 Pierre-Louis Bossart 2024-10-16 65 if (id->part_id != 0x712 &&
fdb22039917717 Pierre-Louis Bossart 2024-10-16 66 id->part_id != 0x713 &&
fdb22039917717 Pierre-Louis Bossart 2024-10-16 67 id->part_id != 0x716 &&
fdb22039917717 Pierre-Louis Bossart 2024-10-16 68 id->part_id != 0x717)
fdb22039917717 Pierre-Louis Bossart 2024-10-16 69 return false;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 70
fdb22039917717 Pierre-Louis Bossart 2024-10-16 71 for (i = 0; i < slave->sdca_data.num_functions; i++) {
629dd55cf77bd3 Charles Keepax 2025-02-05 72 if (slave->sdca_data.function[i].type == SDCA_FUNCTION_TYPE_SMART_MIC)
fdb22039917717 Pierre-Louis Bossart 2024-10-16 73 return true;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 74 }
fdb22039917717 Pierre-Louis Bossart 2024-10-16 75
fdb22039917717 Pierre-Louis Bossart 2024-10-16 76 return false;
fdb22039917717 Pierre-Louis Bossart 2024-10-16 77 }
fdb22039917717 Pierre-Louis Bossart 2024-10-16 78
28edfaa10ca1b3 Maciej Strozek 2025-09-01 79 static bool sdca_device_quirk_skip_func_type_patching(struct sdw_slave *slave)
28edfaa10ca1b3 Maciej Strozek 2025-09-01 80 {
28edfaa10ca1b3 Maciej Strozek 2025-09-01 81 const char *vendor, *sku;
28edfaa10ca1b3 Maciej Strozek 2025-09-01 82
28edfaa10ca1b3 Maciej Strozek 2025-09-01 83 vendor = dmi_get_system_info(DMI_SYS_VENDOR);
28edfaa10ca1b3 Maciej Strozek 2025-09-01 84 sku = dmi_get_system_info(DMI_PRODUCT_SKU);
28edfaa10ca1b3 Maciej Strozek 2025-09-01 85
28edfaa10ca1b3 Maciej Strozek 2025-09-01 86 if (vendor && sku &&
28edfaa10ca1b3 Maciej Strozek 2025-09-01 87 !strcmp(vendor, "Dell Inc.") &&
28edfaa10ca1b3 Maciej Strozek 2025-09-01 88 (!strcmp(sku, "0C62") || !strcmp(sku, "0C63") || !strcmp(sku, "0C6B")) &&
28edfaa10ca1b3 Maciej Strozek 2025-09-01 89 slave->sdca_data.interface_revision == 0x061c &&
28edfaa10ca1b3 Maciej Strozek 2025-09-01 90 slave->id.mfg_id == 0x01fa && slave->id.part_id == 0x4243)
28edfaa10ca1b3 Maciej Strozek 2025-09-01 91 return true;
28edfaa10ca1b3 Maciej Strozek 2025-09-01 92
28edfaa10ca1b3 Maciej Strozek 2025-09-01 93 return false;
28edfaa10ca1b3 Maciej Strozek 2025-09-01 94 }
28edfaa10ca1b3 Maciej Strozek 2025-09-01 95
fdb22039917717 Pierre-Louis Bossart 2024-10-16 @96 bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk)
:::::: The code at line 36 was first introduced by commit
:::::: c4d096c3ca425562192a3626c30e82651d0f2c1c ASoC: SDCA: Add SDCA FDL data parsing
:::::: TO: Maciej Strozek <mstrozek@opensource.cirrus.com>
:::::: CC: Mark Brown <broonie@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-11-20 12:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-20 12:21 [broonie-ci:v3_20251106_ckeepax_add_sdca_class_driver 321/322] sound/soc/sdca/sdca_device.c:36:6: error: redefinition of 'sdca_lookup_swft' kernel test robot
2025-11-20 12:45 ` Charles Keepax
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.