HSI: method to unregister clients from an hsi port

This exports a method to unregister all clients from
an hsi port.

Signed-off-by: Sebastian Reichel <sre@kernel.org>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Tested-By: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
This commit is contained in:
Sebastian Reichel 2013-10-06 20:23:49 +02:00
parent 84d93b5e60
commit a0bf37edb4
2 changed files with 11 additions and 0 deletions

View File

@ -129,6 +129,16 @@ static void hsi_port_release(struct device *dev)
kfree(to_hsi_port(dev)); kfree(to_hsi_port(dev));
} }
/**
* hsi_unregister_port - Unregister an HSI port
* @port: The HSI port to unregister
*/
void hsi_port_unregister_clients(struct hsi_port *port)
{
device_for_each_child(&port->device, NULL, hsi_remove_client);
}
EXPORT_SYMBOL_GPL(hsi_port_unregister_clients);
/** /**
* hsi_unregister_controller - Unregister an HSI controller * hsi_unregister_controller - Unregister an HSI controller
* @hsi: The HSI controller to register * @hsi: The HSI controller to register

View File

@ -282,6 +282,7 @@ struct hsi_controller *hsi_alloc_controller(unsigned int n_ports, gfp_t flags);
void hsi_put_controller(struct hsi_controller *hsi); void hsi_put_controller(struct hsi_controller *hsi);
int hsi_register_controller(struct hsi_controller *hsi); int hsi_register_controller(struct hsi_controller *hsi);
void hsi_unregister_controller(struct hsi_controller *hsi); void hsi_unregister_controller(struct hsi_controller *hsi);
void hsi_port_unregister_clients(struct hsi_port *port);
static inline void hsi_controller_set_drvdata(struct hsi_controller *hsi, static inline void hsi_controller_set_drvdata(struct hsi_controller *hsi,
void *data) void *data)