Hi Andy, Thanks for the review. On Mon, Mar 6, 2023 at 7:49 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > 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; > This was suggested by Angelo in [1], but you are not the first reviewer that finds this weird... I'll update this in the next version. [1]: https://lore.kernel.org/all/023519eb-0adb-3b08-71b9-afb92a6cceaf@xxxxxxxxxxxxx/ > ... > > > + 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. I would expect this function to be only called during driver probing, and this is the case for the current users in this series. So I think this is only called once if EPROBDE_DEFER doesn't count. > > -- > With Best Regards, > Andy Shevchenko > > Best regards, Pin-yen