On 10/16/20 12:00 PM, Joakim Zhang wrote:
>>>> +static int flexcan_stop_mode_enable_scfw(struct flexcan_priv *priv,
>>>> +bool enabled) {
>>>> +  u8 idx = priv->can_idx;
>>>> +  u32 rsrc_id, val;
>>>> +
>>>> +  if (idx == 0)
>>>> +          rsrc_id = IMX_SC_R_CAN_0;
>>>> +  else if (idx == 1)
>>>> +          rsrc_id = IMX_SC_R_CAN_1;
>>>> +  else
>>>> +          rsrc_id = IMX_SC_R_CAN_2;
>>>
>>> Can you introduce something like and make use of it:
>>>
>>> #define IMX_SC_R_CAN(x)                     (105 + (x))
>> OK.
> 
> I thought it over again, from my point of view, use macro here directly could
> be more intuitive, and can achieve a direct jump.
> If change to above wrapper, on the contrary make confusion, and generate the
> magic number 105. ☹

The define should go into the rsrc.h, and probably be:

#define IMX_SC_R_CAN(x)         (IMX_SC_R_CAN_0 + (x))  

and if you change the firmware interface, you probably have more problems :)

>>>> +
>>>> +  if (enabled)
>>>> +          val = 1;
>>>> +  else
>>>> +          val = 0;
>>>> +
>>>> +  /* stop mode request via scu firmware */
>>>> +  return imx_sc_misc_set_control(priv->sc_ipc_handle, rsrc_id,
>>>> +IMX_SC_C_IPG_STOP, val); }
> 
> We still need use IMX_SC_C_IPG_STOP, why not be consistent?

Sorry I don't get what you want to tell me here.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to