Quoting Andy Shevchenko (2024-08-20 03:16:09) > On Mon, Aug 19, 2024 at 03:38:19PM -0700, Stephen Boyd wrote: > > + ptr = devres_alloc(devm_typec_switch_unregister, sizeof(*ptr), GFP_KERNEL); > > + if (!ptr) > > + return ERR_PTR(-ENOMEM); > > + > > + switch_dev = typec_switch_register(parent ,desc); > > + if (!IS_ERR(switch_dev)) { > > + *ptr = switch_dev; > > + devres_add(parent, ptr); > > + } else { > > + devres_free(ptr); > > + } > > devm_add_action_or_reset() ? > No. We don't want to call the 'action' devm_typec_switch_unregister() when it fails because that would unregister a switch that has never been registered.