power.h 924 字节
Newer Older
1
/* SPDX-License-Identifier: GPL-2.0 */
2 3 4
#ifndef __USBAUDIO_POWER_H
#define __USBAUDIO_POWER_H

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
struct snd_usb_power_domain {
	int pd_id;              /* UAC3 Power Domain ID */
	int pd_d1d0_rec;        /* D1 to D0 recovery time */
	int pd_d2d0_rec;        /* D2 to D0 recovery time */
};

enum {
	UAC3_PD_STATE_D0,
	UAC3_PD_STATE_D1,
	UAC3_PD_STATE_D2,
};

int snd_usb_power_domain_set(struct snd_usb_audio *chip,
			     struct snd_usb_power_domain *pd,
			     unsigned char state);
struct snd_usb_power_domain *
snd_usb_find_power_domain(struct usb_host_interface *ctrl_iface,
			  unsigned char id);

24 25 26 27 28 29 30 31 32 33 34 35 36 37
#ifdef CONFIG_PM
int snd_usb_autoresume(struct snd_usb_audio *chip);
void snd_usb_autosuspend(struct snd_usb_audio *chip);
#else
static inline int snd_usb_autoresume(struct snd_usb_audio *chip)
{
	return 0;
}
static inline void snd_usb_autosuspend(struct snd_usb_audio *chip)
{
}
#endif

#endif /* __USBAUDIO_POWER_H */