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

Commit e4048006 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

greybus: interface: kill gb_create_bundle_connection



Kill gb_create_bundle_connection, which was only used to create the
control bundle and connection, and replace it with a specialised static
helper.

Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 66069fb0
Loading
Loading
Loading
Loading
+18 −33
Original line number Original line Diff line number Diff line
@@ -71,40 +71,27 @@ struct device_type greybus_interface_type = {


/*
/*
 * Create kernel structures corresponding to a bundle and connection for
 * Create kernel structures corresponding to a bundle and connection for
 * managing control/svc CPort.
 * managing control CPort.
 */
 */
int gb_create_bundle_connection(struct gb_interface *intf, u8 class)
static int
gb_interface_create_control_bundle_connection(struct gb_interface *intf)
{
{
	struct gb_bundle *bundle;
	struct gb_bundle *bundle;
	u32 ida_start, ida_end;
	struct gb_connection *connection;
	u8 bundle_id, protocol_id;
	u16 cport_id;

	if (class == GREYBUS_CLASS_CONTROL) {
		protocol_id = GREYBUS_PROTOCOL_CONTROL;
		bundle_id = GB_CONTROL_BUNDLE_ID;
		cport_id = GB_CONTROL_CPORT_ID;
		ida_start = 0;
		ida_end = intf->hd->num_cports - 1;
	} else if (class == GREYBUS_CLASS_SVC) {
		protocol_id = GREYBUS_PROTOCOL_SVC;
		bundle_id = GB_SVC_BUNDLE_ID;
		cport_id = GB_SVC_CPORT_ID;
		ida_start = GB_SVC_CPORT_ID;
		ida_end = GB_SVC_CPORT_ID + 1;
	} else {
		WARN_ON(1);
		return -EINVAL;
	}


	bundle = gb_bundle_create(intf, bundle_id, class);
	bundle = gb_bundle_create(intf, GB_CONTROL_BUNDLE_ID,
	if (!bundle)
						GREYBUS_CLASS_CONTROL);
		return -EINVAL;
	if (!bundle) {
		dev_err(&intf->dev, "failed to create control bundle\n");
		return -ENOMEM;
	}


	if (!gb_connection_create_range(bundle->intf->hd, bundle,
	connection = gb_connection_create(bundle, GB_CONTROL_CPORT_ID,
					cport_id, protocol_id, ida_start,
						GREYBUS_PROTOCOL_CONTROL);
					ida_end))
	if (!connection) {
		return -EINVAL;
		dev_err(&intf->dev, "failed to create control connection\n");
		return -ENOMEM;
	}


	return 0;
	return 0;
}
}
@@ -208,11 +195,9 @@ int gb_interface_init(struct gb_interface *intf, u8 device_id)
	intf->device_id = device_id;
	intf->device_id = device_id;


	/* Establish control CPort connection */
	/* Establish control CPort connection */
	ret = gb_create_bundle_connection(intf, GREYBUS_CLASS_CONTROL);
	ret = gb_interface_create_control_bundle_connection(intf);
	if (ret) {
	if (ret)
		dev_err(&intf->dev, "Failed to create control CPort connection (%d)\n", ret);
		return ret;
		return ret;
	}


	/* Get manifest size using control protocol on CPort */
	/* Get manifest size using control protocol on CPort */
	size = gb_control_get_manifest_size_operation(intf);
	size = gb_control_get_manifest_size_operation(intf);
+0 −1
Original line number Original line Diff line number Diff line
@@ -61,5 +61,4 @@ int gb_interface_init(struct gb_interface *intf, u8 device_id);
void gb_interface_remove(struct gb_interface *intf);
void gb_interface_remove(struct gb_interface *intf);
void gb_interfaces_remove(struct gb_host_device *hd);
void gb_interfaces_remove(struct gb_host_device *hd);


int gb_create_bundle_connection(struct gb_interface *intf, u8 class);
#endif /* __INTERFACE_H */
#endif /* __INTERFACE_H */