mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-17 20:54:10 +00:00
net: nfc: have genetlink code to parse the attrs during dumpit
Benefit from the fact that the generic netlink code can parse the attrs for dumpit op and avoid need to parse it in the op callback. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75cdbdd089
commit
4495af3194
1 changed files with 5 additions and 12 deletions
|
@ -102,22 +102,14 @@ nla_put_failure:
|
|||
|
||||
static struct nfc_dev *__get_device_from_cb(struct netlink_callback *cb)
|
||||
{
|
||||
struct nlattr **attrbuf = genl_family_attrbuf(&nfc_genl_family);
|
||||
const struct genl_dumpit_info *info = genl_dumpit_info(cb);
|
||||
struct nfc_dev *dev;
|
||||
int rc;
|
||||
u32 idx;
|
||||
|
||||
rc = nlmsg_parse_deprecated(cb->nlh,
|
||||
GENL_HDRLEN + nfc_genl_family.hdrsize,
|
||||
attrbuf, nfc_genl_family.maxattr,
|
||||
nfc_genl_policy, NULL);
|
||||
if (rc < 0)
|
||||
return ERR_PTR(rc);
|
||||
|
||||
if (!attrbuf[NFC_ATTR_DEVICE_INDEX])
|
||||
if (!info->attrs[NFC_ATTR_DEVICE_INDEX])
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
idx = nla_get_u32(attrbuf[NFC_ATTR_DEVICE_INDEX]);
|
||||
idx = nla_get_u32(info->attrs[NFC_ATTR_DEVICE_INDEX]);
|
||||
|
||||
dev = nfc_get_device(idx);
|
||||
if (!dev)
|
||||
|
@ -1697,7 +1689,8 @@ static const struct genl_ops nfc_genl_ops[] = {
|
|||
},
|
||||
{
|
||||
.cmd = NFC_CMD_GET_TARGET,
|
||||
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
|
||||
.validate = GENL_DONT_VALIDATE_STRICT |
|
||||
GENL_DONT_VALIDATE_DUMP_STRICT,
|
||||
.dumpit = nfc_genl_dump_targets,
|
||||
.done = nfc_genl_dump_targets_done,
|
||||
},
|
||||
|
|
Loading…
Add table
Reference in a new issue