[PATCH v3 05/17] usb: typec: Add device managed typec_switch_register()

Andy Shevchenko andriy.shevchenko at linux.intel.com
Tue Aug 20 17:16:40 UTC 2024


On Tue, Aug 20, 2024 at 10:01:07AM -0700, Stephen Boyd wrote:
> 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);

(Side note: wrong location of the white space)

> > > +     if (!IS_ERR(switch_dev)) {

(Side note: positive conditional is okay)

> > > +             *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.

Hmm... With devm_add_action_or_reset() we first do things and then try to add
them to the managed resources. In that case it won't be like you described.

What do I miss?

-- 
With Best Regards,
Andy Shevchenko




More information about the dri-devel mailing list