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