[PATCH RFC v6 2/6] dpll: Add DPLL framework base functions
Jiri Pirko
jiri at resnulli.us
Fri Mar 17 09:21:58 PDT 2023
Sun, Mar 12, 2023 at 03:28:03AM CET, vadfed at meta.com wrote:
[...]
>+int dpll_nl_device_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
>+{
>+ struct nlattr *hdr, *nest;
>+ struct dpll_device *dpll;
>+ unsigned long i;
>+ int ret;
>+
>+ hdr = genlmsg_put(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq,
>+ &dpll_nl_family, 0, DPLL_CMD_DEVICE_GET);
>+ if (!hdr)
>+ return -EMSGSIZE;
>+
>+ xa_for_each_marked(&dpll_device_xa, i, dpll, DPLL_REGISTERED) {
>+ nest = nla_nest_start(skb, DPLL_A_DEVICE);
>+ ret = dpll_msg_add_dev_handle(skb, dpll);
>+ if (ret) {
>+ nla_nest_cancel(skb, nest);
>+ break;
>+ }
Please fillup the attrs for the object. The format should be exactly the
same as for doit.
>+ nla_nest_end(skb, nest);
>+ }
>+ if (ret)
>+ genlmsg_cancel(skb, hdr);
>+ else
>+ genlmsg_end(skb, hdr);
>+
>+ return ret;
>+}
>+
[...]
More information about the linux-arm-kernel
mailing list