]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
NFC: Add device powered netlink attribute
authorSamuel Ortiz <sameo@linux.intel.com>
Mon, 5 Mar 2012 00:03:34 +0000 (01:03 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 6 Mar 2012 20:16:19 +0000 (15:16 -0500)
For user space to know if a device is up or down.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/nfc.h
net/nfc/netlink.c

index b4999abcb2a240f28b1e1afa659ac9cb4ff78ee2..39c1fcf089c0a99ec654d4c5fb190eda696dd665 100644 (file)
@@ -107,6 +107,7 @@ enum nfc_attrs {
        NFC_ATTR_TARGET_SENSF_RES,
        NFC_ATTR_COMM_MODE,
        NFC_ATTR_RF_MODE,
+       NFC_ATTR_DEVICE_POWERED,
 /* private: internal use only */
        __NFC_ATTR_AFTER_LAST
 };
index 07f0348aabf564789b2c9a1cae2be7e07a3478c9..a1388e4efd6f74a7c72debe7dc000d5bd4f5d705 100644 (file)
@@ -48,6 +48,7 @@ static const struct nla_policy nfc_genl_policy[NFC_ATTR_MAX + 1] = {
        [NFC_ATTR_PROTOCOLS] = { .type = NLA_U32 },
        [NFC_ATTR_COMM_MODE] = { .type = NLA_U8 },
        [NFC_ATTR_RF_MODE] = { .type = NLA_U8 },
+       [NFC_ATTR_DEVICE_POWERED] = { .type = NLA_U8 },
 };
 
 static int nfc_genl_send_target(struct sk_buff *msg, struct nfc_target *target,
@@ -200,6 +201,7 @@ int nfc_genl_device_added(struct nfc_dev *dev)
        NLA_PUT_STRING(msg, NFC_ATTR_DEVICE_NAME, nfc_device_name(dev));
        NLA_PUT_U32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx);
        NLA_PUT_U32(msg, NFC_ATTR_PROTOCOLS, dev->supported_protocols);
+       NLA_PUT_U8(msg, NFC_ATTR_DEVICE_POWERED, dev->dev_up);
 
        genlmsg_end(msg, hdr);
 
@@ -261,6 +263,7 @@ static int nfc_genl_send_device(struct sk_buff *msg, struct nfc_dev *dev,
        NLA_PUT_STRING(msg, NFC_ATTR_DEVICE_NAME, nfc_device_name(dev));
        NLA_PUT_U32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx);
        NLA_PUT_U32(msg, NFC_ATTR_PROTOCOLS, dev->supported_protocols);
+       NLA_PUT_U8(msg, NFC_ATTR_DEVICE_POWERED, dev->dev_up);
 
        return genlmsg_end(msg, hdr);