API,core: Add reference from binding to mctp core

All of the prototype binding implementations so far have added a
reference to the core struct mctp from their binding.

This change adds a the struct mctp pointer to struct mctp_binding, so it
doesn't need to be included in every implementation.

This also allows us to drop the struct mctp * argument where we have a
reference to a binding.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
diff --git a/serial.c b/serial.c
index 482cedb..c9f6c90 100644
--- a/serial.c
+++ b/serial.c
@@ -19,7 +19,6 @@
 
 struct mctp_binding_serial {
 	struct mctp_binding	binding;
-	struct mctp		*mctp;
 	int			fd;
 	unsigned long		bus_id;
 
@@ -138,7 +137,7 @@
 	assert(pkt);
 
 	if (valid)
-		mctp_bus_rx(serial->mctp, &serial->binding, pkt);
+		mctp_bus_rx(&serial->binding, pkt);
 
 	mctp_pktbuf_free(pkt);
 	serial->rx_pkt = NULL;
@@ -294,7 +293,6 @@
 		struct mctp *mctp, mctp_eid_t eid)
 {
 	assert(serial->fd >= 0);
-	serial->mctp = mctp;
 	mctp_register_bus(mctp, &serial->binding, eid);
 }