Subject: Re: linux-next: manual merge of the net-next tree with the pm tree

From: Ido Schimmel <[email-masked]>
Date: Thu, 22 Aug 2024 11:17:33 +0300

On Thu, Aug 22, 2024 at 11:04:30AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the net-next tree got a conflict in:
> 
>   drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
> 
> between commit:
> 
>   019c393b17cb ("mlxsw: core_thermal: Use the .should_bind() thermal zone callback")
> 
> from the pm tree and commit:
> 
>   fb76ea1d4b12 ("mlxsw: core_thermal: Make mlxsw_thermal_module_{init, fini} symmetric")
> 
> from the net-next tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Thanks Stephen. Looks correct to me and also fits the one posted by
Rafael:

https://lore.kernel.org/netdev/[email-masked]/

> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
> index 0c50a0cc316d,303d2ce4dc1e..000000000000
> --- a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
> +++ b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
> @@@ -389,12 -450,8 +388,9 @@@ mlxsw_thermal_module_init(struct mlxsw_
>   			  struct mlxsw_thermal_area *area, u8 module)
>   {
>   	struct mlxsw_thermal_module *module_tz;
>  +	int i;
>   
>   	module_tz = &area->tz_module_arr[module];
> - 	/* Skip if parent is already set (case of port split). */
> - 	if (module_tz->parent)
> - 		return;
>   	module_tz->module = module;
>   	module_tz->slot_index = area->slot_index;
>   	module_tz->parent = thermal;
> @@@ -404,8 -461,8 +400,10 @@@
>   	       sizeof(thermal->trips));
>   	memcpy(module_tz->cooling_states, default_cooling_states,
>   	       sizeof(thermal->cooling_states));
>  +	for (i = 0; i < MLXSW_THERMAL_NUM_TRIPS; i++)
>  +		module_tz->trips[i].priv = &module_tz->cooling_states[i];
> + 
> + 	return mlxsw_thermal_module_tz_init(module_tz);
>   }
>   
>   static void mlxsw_thermal_module_fini(struct mlxsw_thermal_module *module_tz)