Re: [net-next 2/6] net: wwan: t7xx: Driver registers with Devlink framework

Jiri Pirko
2023-08-07T12:58:39Z

Mon, Aug 07, 2023 at 02:44:00PM CEST, songjinjian@hotmail.com wrote:
>Sat, Aug 05, 2023 at 02:12:13PM CEST, songjinjian@hotmail.com wrote:
>>>Thu, Aug 03, 2023 at 04:18:08AM CEST, songjinjian@hotmail.com wrote:
>>>
>>>[...]
>>>
>>>>>+static const struct devlink_param t7xx_devlink_params[] = {
>>>>>+ DEVLINK_PARAM_DRIVER(T7XX_DEVLINK_PARAM_ID_FASTBOOT,
>>>>>+ "fastboot", DEVLINK_PARAM_TYPE_BOOL,
>>>>>+ BIT(DEVLINK_PARAM_CMODE_DRIVERINIT),
>>>>>+ NULL, NULL, NULL),
>>>>
>>>>driver init params is there so the user could configure driver instance
>>>>and then hit devlink reload in order to reinitialize with the new param
>>>>values. In your case, it is a device command. Does not make any sense to
>>>>have it as param.
>>>>
>>>>NAK
>>>
>>>Thanks for your review, so drop this param and set this param insider driver when driver_reinit,
>>>is that fine?
>>
>>I don't understand the question, sorry.
>
>Thanks for your review, I mean if I don't define fastboot param like devlink_param above, I will

Could you not thank me in every reply, please?

>define a global bool variable in driver, then when devlink ... driver_reinit, set this variable to true.

That would be very wrong. Driver reinit should just reload the driver,
recreate the entities created. should not be trigger to change
behaviour.

>
>like:
> t7xx_devlink {
> ....
> bool reset_to_fastboot;
> }
>
>
> t7xx_devlink_reload_down () {
> ...
> case DEVLINK_RELOAD_ACTION_DRIVER_REINIT:
> t7xx_devlink.reset_to_fastboot = true;
> ...
> }
>
> other functions use this variable:
>
> if (t7xx_devlink.reset_to_fastboot) {
> iowrite(reg, "reset to fastboot");
> }
>
>Intel colleague has change to the way of devlink_param, so I hope to keep this.
>
>>