diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c index 3fa1c75bda8a..488d7dd78a2f 100644 --- a/drivers/staging/nvec/nvec.c +++ b/drivers/staging/nvec/nvec.c @@ -159,12 +159,13 @@ static struct nvec_msg *nvec_msg_alloc(struct nvec_chip *nvec) * * Free the given message */ -static void nvec_msg_free(struct nvec_chip *nvec, struct nvec_msg *msg) +inline void nvec_msg_free(struct nvec_chip *nvec, struct nvec_msg *msg) { if (msg != &nvec->tx_scratch) dev_vdbg(nvec->dev, "INFO: Free %ti\n", msg - nvec->msg_pool); atomic_set(&msg->used, 0); } +EXPORT_SYMBOL_GPL(nvec_msg_free); /** * nvec_msg_is_event - Return %true if @msg is an event @@ -259,7 +260,8 @@ EXPORT_SYMBOL(nvec_write_async); * interrupt handlers. * * Returns: A pointer to the response message on success, - * %NULL on failure. + * %NULL on failure. Free with nvec_msg_free() once no longer + * used. */ struct nvec_msg *nvec_write_sync(struct nvec_chip *nvec, const unsigned char *data, short size) diff --git a/drivers/staging/nvec/nvec.h b/drivers/staging/nvec/nvec.h index 44787535c0ea..f8ffe0002d1f 100644 --- a/drivers/staging/nvec/nvec.h +++ b/drivers/staging/nvec/nvec.h @@ -192,4 +192,7 @@ extern int nvec_register_notifier(struct nvec_chip *nvec, extern int nvec_unregister_notifier(struct device *dev, struct notifier_block *nb, unsigned int events); + +extern void nvec_msg_free(struct nvec_chip *nvec, struct nvec_msg *msg); + #endif