rpmsg updates for v5.4
This contains updates to make the rpmsg sample driver more useful, fixes the naming of GLINK devices to avoid naming collisions and a few minor bug fixes. It also updates MAINTAINERS to reflect the move to kernel.org. -----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl2GU7UbHGJqb3JuLmFu ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FNMYP/3Y7UTRh1pNc+dfNz+lV NqvSJ+59YQiBNo9eJY8U2sj7htHSFm0Pds1+heYSl8UwVkxNXCCyELps2YYUvFip Jnga0TgWAwx2p224E2eFkW7onB6TF9QvEOQ4Pb8pkXXTtwqIy8z3rhic4FSo2gGS jQeeT61eHCDZnwD7WJJPTuAzZJYt2RQSZbsiBEBnGcDe/bIhH3zLfYRVwPB6vFeS tf82G1YBaWktW5qELh41VngmGtVquS4UDMmccRl8umYmGQPG90p8ioq1FNLqMDdV /+rnUxe3hrhYPJuib1F1vwJLa5jAQmqeQmp34lMStBbGUXSGK9nPT7iBSHV4VwMu 2/Gvq7VkFvix7toAXEJUiTihbBe+IfyW1MI/Qm9L3H/ZXjBFf9ARPttpgwaNxkeP bmrni4iKkUHCEQXBvhR5FaL9jRE/8PFLcOuTPlasdEffKtWuoGZgGhXctaqVCTHs CawFanS9mWZGRuNFFw8qHuVTwXavTawLXJrIXp/OUceMRakEbzcaxZ1Z76fCtXMk 75oMrKi6CgqddhU5BAGMbAoC65T1nMofYGALQb3vxr4HyNIFRRzKHX1Z22+uoQmg 6Odi9xr+eR0A0f5haDq3xr2n7o7KN6XrE60gdlOiFb1kR+GhAyd5olLz9LtrnMC1 57QeZq1TiloUwg8vRStf8DiK =1BvW -----END PGP SIGNATURE----- Merge tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc Pull rpmsg updates from Bjorn Andersson: "This contains updates to make the rpmsg sample driver more useful, fixes the naming of GLINK devices to avoid naming collisions and a few minor bug fixes. It also updates MAINTAINERS to reflect the move to kernel.org" * tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: rpmsg: glink-smem: Name the edge based on parent remoteproc rpmsg: glink: Use struct_size() helper rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK" MAINTAINERS: rpmsg: fix git tree location rpmsg: core: fix comments samples/rpmsg: Introduce a module parameter for message count samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()
This commit is contained in:
		
						commit
						379bb04517
					
				| @ -13761,7 +13761,7 @@ REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM | ||||
| M:	Ohad Ben-Cohen <ohad@wizery.com> | ||||
| M:	Bjorn Andersson <bjorn.andersson@linaro.org> | ||||
| L:	linux-remoteproc@vger.kernel.org | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg.git | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rpmsg-next | ||||
| S:	Maintained | ||||
| F:	drivers/rpmsg/ | ||||
| F:	Documentation/rpmsg.txt | ||||
|  | ||||
| @ -892,7 +892,7 @@ static void qcom_glink_handle_intent(struct qcom_glink *glink, | ||||
| 		struct intent_pair intents[]; | ||||
| 	} __packed * msg; | ||||
| 
 | ||||
| 	const size_t msglen = sizeof(*msg) + sizeof(struct intent_pair) * count; | ||||
| 	const size_t msglen = struct_size(msg, intents, count); | ||||
| 	int ret; | ||||
| 	int i; | ||||
| 	unsigned long flags; | ||||
|  | ||||
| @ -201,7 +201,7 @@ struct qcom_glink *qcom_glink_smem_register(struct device *parent, | ||||
| 	dev->parent = parent; | ||||
| 	dev->of_node = node; | ||||
| 	dev->release = qcom_glink_smem_release; | ||||
| 	dev_set_name(dev, "%pOFn:%pOFn", node->parent, node); | ||||
| 	dev_set_name(dev, "%s:%pOFn", dev_name(parent->parent), node); | ||||
| 	ret = device_register(dev); | ||||
| 	if (ret) { | ||||
| 		pr_err("failed to register glink edge\n"); | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
|  * equals to the src address of their rpmsg channel), the driver's handler | ||||
|  * is invoked to process it. | ||||
|  * | ||||
|  * That said, more complicated drivers might do need to allocate | ||||
|  * That said, more complicated drivers might need to allocate | ||||
|  * additional rpmsg addresses, and bind them to different rx callbacks. | ||||
|  * To accomplish that, those drivers need to call this function. | ||||
|  * | ||||
| @ -177,7 +177,7 @@ int rpmsg_send_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, | ||||
| EXPORT_SYMBOL(rpmsg_send_offchannel); | ||||
| 
 | ||||
| /**
 | ||||
|  * rpmsg_send() - send a message across to the remote processor | ||||
|  * rpmsg_trysend() - send a message across to the remote processor | ||||
|  * @ept: the rpmsg endpoint | ||||
|  * @data: payload of message | ||||
|  * @len: length of payload | ||||
| @ -205,7 +205,7 @@ int rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len) | ||||
| EXPORT_SYMBOL(rpmsg_trysend); | ||||
| 
 | ||||
| /**
 | ||||
|  * rpmsg_sendto() - send a message across to the remote processor, specify dst | ||||
|  * rpmsg_trysendto() - send a message across to the remote processor, specify dst | ||||
|  * @ept: the rpmsg endpoint | ||||
|  * @data: payload of message | ||||
|  * @len: length of payload | ||||
| @ -253,7 +253,7 @@ __poll_t rpmsg_poll(struct rpmsg_endpoint *ept, struct file *filp, | ||||
| EXPORT_SYMBOL(rpmsg_poll); | ||||
| 
 | ||||
| /**
 | ||||
|  * rpmsg_send_offchannel() - send a message using explicit src/dst addresses | ||||
|  * rpmsg_trysend_offchannel() - send a message using explicit src/dst addresses | ||||
|  * @ept: the rpmsg endpoint | ||||
|  * @src: source address | ||||
|  * @dst: destination address | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
| 
 | ||||
| /**
 | ||||
|  * struct rpmsg_device_ops - indirection table for the rpmsg_device operations | ||||
|  * @create_ept:		create backend-specific endpoint, requried | ||||
|  * @create_ept:		create backend-specific endpoint, required | ||||
|  * @announce_create:	announce presence of new channel, optional | ||||
|  * @announce_destroy:	announce destruction of channel, optional | ||||
|  * | ||||
| @ -39,13 +39,14 @@ struct rpmsg_device_ops { | ||||
| 
 | ||||
| /**
 | ||||
|  * struct rpmsg_endpoint_ops - indirection table for rpmsg_endpoint operations | ||||
|  * @destroy_ept:	destroy the given endpoint, required | ||||
|  * @destroy_ept:	see @rpmsg_destroy_ept(), required | ||||
|  * @send:		see @rpmsg_send(), required | ||||
|  * @sendto:		see @rpmsg_sendto(), optional | ||||
|  * @send_offchannel:	see @rpmsg_send_offchannel(), optional | ||||
|  * @trysend:		see @rpmsg_trysend(), required | ||||
|  * @trysendto:		see @rpmsg_trysendto(), optional | ||||
|  * @trysend_offchannel:	see @rpmsg_trysend_offchannel(), optional | ||||
|  * @poll:		see @rpmsg_poll(), optional | ||||
|  * | ||||
|  * Indirection table for the operations that a rpmsg backend should implement. | ||||
|  * In addition to @destroy_ept, the backend must at least implement @send and | ||||
|  | ||||
| @ -920,7 +920,7 @@ static int rpmsg_probe(struct virtio_device *vdev) | ||||
| 		goto vqs_del; | ||||
| 	} | ||||
| 
 | ||||
| 	dev_dbg(&vdev->dev, "buffers: va %p, dma %pad\n", | ||||
| 	dev_dbg(&vdev->dev, "buffers: va %pK, dma %pad\n", | ||||
| 		bufs_va, &vrp->bufs_dma); | ||||
| 
 | ||||
| 	/* half of the buffers is dedicated for RX */ | ||||
|  | ||||
| @ -14,7 +14,9 @@ | ||||
| #include <linux/rpmsg.h> | ||||
| 
 | ||||
| #define MSG		"hello world!" | ||||
| #define MSG_LIMIT	100 | ||||
| 
 | ||||
| static int count = 100; | ||||
| module_param(count, int, 0644); | ||||
| 
 | ||||
| struct instance_data { | ||||
| 	int rx_count; | ||||
| @ -29,11 +31,11 @@ static int rpmsg_sample_cb(struct rpmsg_device *rpdev, void *data, int len, | ||||
| 	dev_info(&rpdev->dev, "incoming msg %d (src: 0x%x)\n", | ||||
| 		 ++idata->rx_count, src); | ||||
| 
 | ||||
| 	print_hex_dump(KERN_DEBUG, __func__, DUMP_PREFIX_NONE, 16, 1, | ||||
| 		       data, len,  true); | ||||
| 	print_hex_dump_debug(__func__, DUMP_PREFIX_NONE, 16, 1, data, len, | ||||
| 			     true); | ||||
| 
 | ||||
| 	/* samples should not live forever */ | ||||
| 	if (idata->rx_count >= MSG_LIMIT) { | ||||
| 	if (idata->rx_count >= count) { | ||||
| 		dev_info(&rpdev->dev, "goodbye!\n"); | ||||
| 		return 0; | ||||
| 	} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user