コード例 #1
0
ファイル: lpc.c プロジェクト: coreboot/chrome-ec
void lpc_keyboard_clear_buffer(void)
{
	uint32_t int_mask = get_int_mask();
	interrupt_disable();
	/* bit6, write-1 clear OBF */
	IT83XX_KBC_KBHICR |= (1 << 6);
	IT83XX_KBC_KBHICR &= ~(1 << 6);
	set_int_mask(int_mask);
}
コード例 #2
0
/*
static void tsu6721_muic_usb_detect(struct work_struct *work)
{
	struct tsu6721_muic_data *muic_data =
		container_of(work, struct tsu6721_muic_data, usb_work.work);
	struct muic_platform_data *pdata = muic_data->pdata;
	struct sec_switch_data *switch_data = muic_data->switch_data;

	pr_info("%s:%s pdata->usb_path(%d)\n", MUIC_DEV_NAME, __func__,
			pdata->usb_path);

	mutex_lock(&muic_data->muic_mutex);
	muic_data->is_usb_ready = true;

	if (pdata->usb_path != MUIC_PATH_USB_CP) {
		if (switch_data->usb_cb) {
			switch ((int)muic_data->attached_dev) {
			case ATTACHED_DEV_USB_MUIC:
			case ATTACHED_DEV_CDP_MUIC:
			case ATTACHED_DEV_JIG_USB_OFF_MUIC:
			case ATTACHED_DEV_JIG_USB_ON_MUIC:
				switch_data->usb_cb(USB_CABLE_ATTACHED);
				break;
			case ATTACHED_DEV_OTG_MUIC:
				switch_data->usb_cb(USB_OTGHOST_ATTACHED);
				break;
			}
		}
	}
	mutex_unlock(&muic_data->muic_mutex);
}
*/
static void tsu6721_muic_init_detect(struct work_struct *work)
{
	struct tsu6721_muic_data *muic_data =
		container_of(work, struct tsu6721_muic_data, init_work.work);

	pr_info("%s:%s\n", MUIC_DEV_NAME, __func__);

	/* MUIC Interrupt On */
	set_int_mask(muic_data, false);

	tsu6721_muic_irq_thread(-1, muic_data);
}
コード例 #3
0
ファイル: gpio.c プロジェクト: littlebabay/chrome-ec
void gpio_set_level(enum gpio_signal signal, int value)
{
	uint32_t int_mask = get_int_mask();

	/* critical section with interrupts off */
	interrupt_disable();
	if (value)
		IT83XX_GPIO_DATA(gpio_list[signal].port) |=
				 gpio_list[signal].mask;
	else
		IT83XX_GPIO_DATA(gpio_list[signal].port) &=
				~gpio_list[signal].mask;
	/* restore interrupts */
	set_int_mask(int_mask);
}
コード例 #4
0
ファイル: ec2i.c プロジェクト: coreboot/chrome-ec
/* EC2I write */
enum ec2i_message ec2i_write(enum host_pnpcfg_index index, uint8_t data)
{
	enum ec2i_message ret = EC2I_WRITE_ERROR;
	uint32_t int_mask = get_int_mask();

	/* critical section with interrupts off */
	interrupt_disable();
	/* Set index */
	if (ec2i_write_pnpcfg(EC2I_ACCESS_INDEX, index) == EC2I_WRITE_SUCCESS)
		/* Set data */
		ret = ec2i_write_pnpcfg(EC2I_ACCESS_DATA, data);
	/* restore interrupts */
	set_int_mask(int_mask);

	return ret;
}