NFC: add rx delay sysfs parameter for nfcsim workqueue
authorSaurabh Sengar <saurabh.truth@gmail.com>
Sun, 20 Dec 2015 18:59:30 +0000 (00:29 +0530)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 20 Dec 2015 23:07:27 +0000 (00:07 +0100)
added the rx delay parameter as a device tunable parameter.

Signed-off-by: Saurabh Sengar <saurabh.truth@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/nfcsim.c

index 26ac9e5..93aaca5 100644 (file)
@@ -32,6 +32,8 @@
 #define NFCSIM_POLL_TARGET     2
 #define NFCSIM_POLL_DUAL       (NFCSIM_POLL_INITIATOR | NFCSIM_POLL_TARGET)
 
+#define RX_DEFAULT_DELAY       5
+
 struct nfcsim {
        struct nfc_dev *nfc_dev;
 
@@ -51,6 +53,8 @@ struct nfcsim {
 
        u8 initiator;
 
+       u32 rx_delay;
+
        data_exchange_cb_t cb;
        void *cb_context;
 
@@ -320,10 +324,9 @@ static int nfcsim_tx(struct nfc_dev *nfc_dev, struct nfc_target *target,
         * If packet transmission occurs immediately between them, we have a
         * non-stop flow of several tens of thousands SYMM packets per second
         * and a burning cpu.
-        *
-        * TODO: Add support for a sysfs entry to control this delay.
         */
-       queue_delayed_work(wq, &peer->recv_work, msecs_to_jiffies(5));
+       queue_delayed_work(wq, &peer->recv_work,
+                       msecs_to_jiffies(dev->rx_delay));
 
        mutex_unlock(&peer->lock);
 
@@ -461,6 +464,7 @@ static struct nfcsim *nfcsim_init_dev(void)
        if (rc)
                goto free_nfc_dev;
 
+       dev->rx_delay = RX_DEFAULT_DELAY;
        return dev;
 
 free_nfc_dev: