Instead of copying fields one by one copy the whole structure. This way there's no need to modify the function every time we add a new field to the struct. Compile tested only. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> --- drivers/net/wireless/ath/ath10k/core.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 6c1dd5f8d012..a1b2aea4a77f 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -2997,9 +2997,8 @@ static void ath10k_core_register_work(struct work_struct *work) int ath10k_core_register(struct ath10k *ar, const struct ath10k_bus_params *bus_params) { - ar->bus_param.chip_id = bus_params->chip_id; - ar->bus_param.dev_type = bus_params->dev_type; - ar->bus_param.link_can_suspend = bus_params->link_can_suspend; + ar->bus_param = *bus_params; + queue_work(ar->workqueue, &ar->register_work); return 0; -- 2.7.4