greybus: interface: Pass interface pointer to gb_interface_remove()
The callers already have a valid interface pointer and there is no need for gb_interface_remove() to find the interface again. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
6bec5c78e5
commit
80d1ede88a
@ -183,7 +183,7 @@ put_module:
|
||||
/*
|
||||
* Tear down a previously set up module.
|
||||
*/
|
||||
static void interface_destroy(struct gb_interface *intf)
|
||||
void gb_interface_remove(struct gb_interface *intf)
|
||||
{
|
||||
struct gb_module *module;
|
||||
struct gb_bundle *bundle;
|
||||
@ -207,6 +207,14 @@ static void interface_destroy(struct gb_interface *intf)
|
||||
put_device(&module->dev);
|
||||
}
|
||||
|
||||
void gb_interfaces_remove(struct greybus_host_device *hd)
|
||||
{
|
||||
struct gb_interface *intf, *temp;
|
||||
|
||||
list_for_each_entry_safe(intf, temp, &hd->interfaces, links)
|
||||
gb_interface_remove(intf);
|
||||
}
|
||||
|
||||
/**
|
||||
* gb_interface_init
|
||||
*
|
||||
@ -273,22 +281,3 @@ free_manifest:
|
||||
kfree(manifest);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void gb_interface_remove(struct greybus_host_device *hd, u8 interface_id)
|
||||
{
|
||||
struct gb_interface *intf = gb_interface_find(hd, interface_id);
|
||||
|
||||
if (intf)
|
||||
interface_destroy(intf);
|
||||
else
|
||||
dev_err(hd->parent, "interface id %d not found\n",
|
||||
interface_id);
|
||||
}
|
||||
|
||||
void gb_interfaces_remove(struct greybus_host_device *hd)
|
||||
{
|
||||
struct gb_interface *intf, *temp;
|
||||
|
||||
list_for_each_entry_safe(intf, temp, &hd->interfaces, links)
|
||||
interface_destroy(intf);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ struct gb_interface *gb_interface_create(struct greybus_host_device *hd,
|
||||
u8 interface_id);
|
||||
void gb_interface_destroy(struct gb_interface *intf);
|
||||
int gb_interface_init(struct gb_interface *intf, u8 device_id);
|
||||
void gb_interface_remove(struct greybus_host_device *hd, u8 interface_id);
|
||||
void gb_interface_remove(struct gb_interface *intf);
|
||||
void gb_interfaces_remove(struct greybus_host_device *hd);
|
||||
|
||||
int gb_create_bundle_connection(struct gb_interface *intf, u8 class);
|
||||
|
@ -374,7 +374,7 @@ static void svc_intf_remove(struct gb_connection *connection,
|
||||
u8 device_id;
|
||||
|
||||
device_id = intf->device_id;
|
||||
gb_interface_remove(hd, intf_id);
|
||||
gb_interface_remove(intf);
|
||||
|
||||
/*
|
||||
* Destroy the two-way route between the AP and the interface.
|
||||
@ -497,7 +497,7 @@ svc_id_free:
|
||||
ida_put:
|
||||
ida_simple_remove(&svc->device_id_map, device_id);
|
||||
destroy_interface:
|
||||
gb_interface_remove(hd, intf_id);
|
||||
gb_interface_remove(intf);
|
||||
free_svc_hotplug:
|
||||
kfree(svc_hotplug);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user