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 |
signature.asc
Description: OpenPGP digital signature
