Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 835764dd authored by Bjorn Andersson's avatar Bjorn Andersson
Browse files

rpmsg: glink: Move the common glink protocol implementation to glink_native.c



Move the common part of glink core protocol implementation to
glink_native.c that can be shared with the smem based glink
transport in the later patches.

Acked-by: default avatarArun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: default avatarSricharan R <sricharan@codeaurora.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 6799c434
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -13,9 +13,13 @@ config RPMSG_CHAR
	  in /dev. They make it possible for user-space programs to send and
	  receive rpmsg packets.

config RPMSG_QCOM_GLINK_NATIVE
	tristate
	select RPMSG

config RPMSG_QCOM_GLINK_RPM
	tristate "Qualcomm RPM Glink driver"
	select RPMSG
        select RPMSG_QCOM_GLINK_NATIVE
	depends on HAS_IOMEM
	depends on MAILBOX
	help
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_RPMSG)		+= rpmsg_core.o
obj-$(CONFIG_RPMSG_CHAR)	+= rpmsg_char.o
obj-$(CONFIG_RPMSG_QCOM_GLINK_RPM) += qcom_glink_rpm.o
obj-$(CONFIG_RPMSG_QCOM_GLINK_NATIVE) += qcom_glink_native.o
obj-$(CONFIG_RPMSG_QCOM_SMD)	+= qcom_smd.o
obj-$(CONFIG_RPMSG_VIRTIO)	+= virtio_rpmsg_bus.o
+1017 −0

File added.

Preview size limit exceeded, changes collapsed.

+38 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016-2017, Linaro Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef __QCOM_GLINK_NATIVE_H__
#define __QCOM_GLINK_NATIVE_H__

struct qcom_glink_pipe {
	size_t length;

	size_t (*avail)(struct qcom_glink_pipe *glink_pipe);

	void (*peak)(struct qcom_glink_pipe *glink_pipe, void *data,
		     size_t count);
	void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count);

	void (*write)(struct qcom_glink_pipe *glink_pipe,
		      const void *hdr, size_t hlen,
		      const void *data, size_t dlen);
};

struct qcom_glink;

struct qcom_glink *qcom_glink_native_probe(struct device *dev,
					   struct qcom_glink_pipe *rx,
					   struct qcom_glink_pipe *tx);
void qcom_glink_native_remove(struct qcom_glink *glink);

#endif
+3 −992

File changed.

Preview size limit exceeded, changes collapsed.