/* Cleans interrupts and HV resources. Must be called with vuart_bus_priv.probe_mutex held. Used by ps3_vuart_remove and ps3_vuart_shutdown. After this call, polled reading will still work.  */
static int ps3_vuart_cleanup(struct ps3_system_bus_device *dev)
/* Cleans interrupts and HV resources. Must be called with vuart_bus_priv.probe_mutex held. Used by ps3_vuart_remove and ps3_vuart_shutdown. After this call, polled reading will still work.  */
static int ps3_vuart_cleanup(struct ps3_system_bus_device *dev)
{
	dev_dbg(&dev->core, "%s:%d\n", __func__, __LINE__);
	ps3_vuart_cancel_async(dev);
	ps3_vuart_set_interrupt_mask(dev, 0);
	ps3_vuart_bus_interrupt_put();
	return 0;
}