Re: [PATCH v13 03/10] drm/display: Add Type-C switch helpers

From: Pin-yen Lin
Date: Wed Mar 08 2023 - 05:20:52 EST


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