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 ? 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,