On Fri, Mar 03, 2023 at 10:33:43PM +0800, Pin-yen Lin wrote: > Add helpers to register and unregister Type-C "switches" for bridges > capable of switching their output between two downstream devices. > > The helper registers USB Type-C mode switches when the "mode-switch" > and the "reg" properties are available in Device Tree. ... > + port_data->typec_mux = typec_mux_register(dev, &mux_desc); > + if (IS_ERR(port_data->typec_mux)) { > + ret = PTR_ERR(port_data->typec_mux); > + dev_err(dev, "Mode switch register for port %d failed: %d\n", > + port_num, ret); > + return ret; > + } > + > + return 0; Can be simply port_data->typec_mux = typec_mux_register(dev, &mux_desc); ret = PTR_ERR_OR_ZERO(port_data->typec_mux); if (ret) dev_err(dev, "Mode switch register for port %d failed: %d\n", port_num, ret); return ret; ... > + switch_desc->typec_ports = devm_kcalloc(dev, switch_desc->num_typec_switches, > + sizeof(struct drm_dp_typec_port_data), > + GFP_KERNEL); > + if (!switch_desc->typec_ports) > + return -ENOMEM; How often this function _can_ be called during the runtime? If it's _possible_ to call it infinite times, consider *not* using devm. -- With Best Regards, Andy Shevchenko