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

Andy Shevchenko andriy.shevchenko at linux.intel.com
Mon Mar 6 11:49:40 UTC 2023


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




More information about the dri-devel mailing list