24. 9. 4. 18:24에 Hans de Goede 이(가) 쓴 글: > Hi all, > > On 9/4/24 7:24 AM, Stephen Rothwell wrote: >> Hi all, >> >> After merging the extcon tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> drivers/extcon/extcon-lc824206xa.c:413:22: error: initialization of 'unsigned int' from 'const enum power_supply_usb_type *' makes integer from pointer without a cast [-Wint-conversion] >> 413 | .usb_types = lc824206xa_psy_usb_types, >> | ^~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/extcon/extcon-lc824206xa.c:413:22: note: (near initialization for 'lc824206xa_psy_desc.usb_types') >> drivers/extcon/extcon-lc824206xa.c:413:22: error: initializer element is not computable at load time >> drivers/extcon/extcon-lc824206xa.c:413:22: note: (near initialization for 'lc824206xa_psy_desc.usb_types') >> drivers/extcon/extcon-lc824206xa.c:414:10: error: 'const struct power_supply_desc' has no member named 'num_usb_types'; did you mean 'usb_types'? >> 414 | .num_usb_types = ARRAY_SIZE(lc824206xa_psy_usb_types), >> | ^~~~~~~~~~~~~ >> | usb_types >> In file included from include/linux/kernel.h:16, >> from include/linux/cpumask.h:11, >> from arch/x86/include/asm/paravirt.h:21, >> from arch/x86/include/asm/cpuid.h:62, >> from arch/x86/include/asm/processor.h:19, >> from include/linux/sched.h:13, >> from include/linux/delay.h:23, >> from drivers/extcon/extcon-lc824206xa.c:20: >> include/linux/array_size.h:11:25: error: initialization of 'const enum power_supply_property *' from 'long unsigned int' makes pointer from integer without a cast [-Wint-conversion] >> 11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) >> | ^ >> drivers/extcon/extcon-lc824206xa.c:414:26: note: in expansion of macro 'ARRAY_SIZE' >> 414 | .num_usb_types = ARRAY_SIZE(lc824206xa_psy_usb_types), >> | ^~~~~~~~~~ >> include/linux/array_size.h:11:25: note: (near initialization for 'lc824206xa_psy_desc.properties') >> 11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) >> | ^ >> drivers/extcon/extcon-lc824206xa.c:414:26: note: in expansion of macro 'ARRAY_SIZE' >> 414 | .num_usb_types = ARRAY_SIZE(lc824206xa_psy_usb_types), >> | ^~~~~~~~~~ >> >> Caused by commit >> >> e508f2606c0b ("extcon: Add LC824206XA microUSB switch driver") >> >> interatcing with commit >> >> 364ea7ccaef9 ("power: supply: Change usb_types from an array into a bitmask") >> >> from the battery tree. > > Since I'm the author of both commits this is my bad, sorry. > > Stephen, thank you for fixing this in -next. > > Chanwoo, Sebastian send a pull-request for an immutable branch with > these changes: > > https://lore.kernel.org/linux-pm/ez5ja55dl7w7ynq2wv4efsvvqtk4xyalf4k6agtsuhpgrtlpg3@d6ghlle4cu2q/ > > Can you please merge the ib-psy-usb-types-signed tag into > extcon.git/extcon-next and then apply Stephen's fix so that Linus > does not get hit by this build error when he merges the extcon > changes for 6.12 ? I pulled "tags/ib-psy-usb-types-signed" and pushed it to extcon.git - git pull git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git tags/ib-psy-usb-types-signed And I send the fix-up mail as following: https://lkml.org/lkml/2024/9/5/13 > > Regards, > > Hans > > > > >> I have applied the following merge fix patch. >> >> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> >> Date: Wed, 4 Sep 2024 15:19:19 +1000 >> Subject: [PATCH] fix up for "extcon: Add LC824206XA microUSB switch driver" >> >> interacting with "power: supply: Change usb_types from an array into a >> bitmask" from het battery tree. >> >> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> >> --- >> drivers/extcon/extcon-lc824206xa.c | 15 +++++---------- >> 1 file changed, 5 insertions(+), 10 deletions(-) >> >> diff --git a/drivers/extcon/extcon-lc824206xa.c b/drivers/extcon/extcon-lc824206xa.c >> index d58a2c369018..56938748aea8 100644 >> --- a/drivers/extcon/extcon-lc824206xa.c >> +++ b/drivers/extcon/extcon-lc824206xa.c >> @@ -393,14 +393,6 @@ static int lc824206xa_psy_get_prop(struct power_supply *psy, >> return 0; >> } >> >> -static const enum power_supply_usb_type lc824206xa_psy_usb_types[] = { >> - POWER_SUPPLY_USB_TYPE_SDP, >> - POWER_SUPPLY_USB_TYPE_CDP, >> - POWER_SUPPLY_USB_TYPE_DCP, >> - POWER_SUPPLY_USB_TYPE_ACA, >> - POWER_SUPPLY_USB_TYPE_UNKNOWN, >> -}; >> - > >> static const enum power_supply_property lc824206xa_psy_props[] = { >> POWER_SUPPLY_PROP_ONLINE, >> POWER_SUPPLY_PROP_USB_TYPE, >> @@ -410,8 +402,11 @@ static const enum power_supply_property lc824206xa_psy_props[] = { >> static const struct power_supply_desc lc824206xa_psy_desc = { >> .name = "lc824206xa-charger-detect", >> .type = POWER_SUPPLY_TYPE_USB, >> - .usb_types = lc824206xa_psy_usb_types, >> - .num_usb_types = ARRAY_SIZE(lc824206xa_psy_usb_types), >> + .usb_types = BIT(POWER_SUPPLY_USB_TYPE_SDP) | >> + BIT(POWER_SUPPLY_USB_TYPE_CDP) | >> + BIT(POWER_SUPPLY_USB_TYPE_DCP) | >> + BIT(POWER_SUPPLY_USB_TYPE_ACA) | >> + BIT(POWER_SUPPLY_USB_TYPE_UNKNOWN), >> .properties = lc824206xa_psy_props, >> .num_properties = ARRAY_SIZE(lc824206xa_psy_props), >> .get_property = lc824206xa_psy_get_prop, > > -- Best Regards, Samsung Electronics Chanwoo Choi