• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ set_irq_wake函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中set_irq_wake函数的典型用法代码示例。如果您正苦于以下问题:C++ set_irq_wake函数的具体用法?C++ set_irq_wake怎么用?C++ set_irq_wake使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了set_irq_wake函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sapphire_init_gpio

int sapphire_init_gpio(void)
{
	int i;
	if (!machine_is_sapphire())
		return 0;

	DBG("%d,%d\r\n",SAPPHIRE_INT_START, SAPPHIRE_INT_END);
	DBG("NR_MSM_IRQS=%d, NR_GPIO_IRQS=%d\r\n", NR_MSM_IRQS, NR_GPIO_IRQS);
	for(i = SAPPHIRE_INT_START; i <= SAPPHIRE_INT_END; i++) {
		set_irq_chip(i, &sapphire_gpio_irq_chip);
		set_irq_handler(i, handle_edge_irq);
		set_irq_flags(i, IRQF_VALID);
	}

	register_gpio_chip(&sapphire_gpio_chip);
	register_gpio_chip(&sapphire_h2w_gpio_chip);

	/*setup CPLD INT connecting to SOC's gpio 17 */
	set_irq_type(MSM_GPIO_TO_INT(17), IRQF_TRIGGER_HIGH);
	set_irq_chained_handler(MSM_GPIO_TO_INT(17), sapphire_gpio_irq_handler);
	set_irq_wake(MSM_GPIO_TO_INT(17), 1);

	if(sysdev_class_register(&sapphire_sysdev_class) == 0)
		sysdev_register(&sapphire_irq_device);

	return 0;
}
开发者ID:Soaa-,项目名称:-lightspeed,代码行数:27,代码来源:board-sapphire-gpio.c


示例2: bcmsdh_register_oob_intr

int bcmsdh_register_oob_intr(void *dhdp)
{
	int error = 0;

	SDLX_MSG(("%s Enter\n", __func__));

	sdhcinfo->oob_flags =
	    IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL |
	    IORESOURCE_IRQ_SHAREABLE;
	dev_set_drvdata(sdhcinfo->dev, dhdp);

	if (!sdhcinfo->oob_irq_registered) {
		SDLX_MSG(("%s IRQ=%d Type=%X\n", __func__,
			  (int)sdhcinfo->oob_irq, (int)sdhcinfo->oob_flags));
		/* Refer to customer Host IRQ docs about
			 proper irqflags definition */
		error =
		    request_irq(sdhcinfo->oob_irq, wlan_oob_irq,
				sdhcinfo->oob_flags, "bcmsdh_sdmmc", NULL);
		if (error)
			return -ENODEV;

		set_irq_wake(sdhcinfo->oob_irq, 1);
		sdhcinfo->oob_irq_registered = true;
	}

	return 0;
}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:28,代码来源:bcmsdh_linux.c


示例3: desirec_init_mmc

int __init desirec_init_mmc(unsigned int sys_rev)
{
	wifi_status_cb = NULL;
	sdslot_vreg_enabled = 0;

	vreg_wifi_osc = vreg_get(0, "gp4");
	if (IS_ERR(vreg_wifi_osc))
		return PTR_ERR(vreg_wifi_osc);
	vreg_set_level(vreg_wifi_osc, 1800);

	msm_add_sdcc(1, &desirec_wifi_data, 0, 0); /* r porting 29: change func*/

	if (opt_disable_sdcard) {
		printk(KERN_INFO "desirec: SD-Card interface disabled\n");
		goto done;
	}

	vreg_sdslot = vreg_get(0, "gp6");
	if (IS_ERR(vreg_sdslot))
		return PTR_ERR(vreg_sdslot);

	set_irq_wake(MSM_GPIO_TO_INT(DESIREC_GPIO_SDMC_CD_N), 1);

	msm_add_sdcc(2, &desirec_sdslot_data, MSM_GPIO_TO_INT(DESIREC_GPIO_SDMC_CD_N),
		IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE); /* r porting 29 */

done:
	return 0;
}
开发者ID:MongooseHelix,项目名称:kernel_desirec_2.6.35_ics,代码行数:29,代码来源:board-desirec-mmc.c


示例4: bluetooth_enable_irq

int bluetooth_enable_irq(int enable, struct platform_device *pdev)
{
    int ret;
    if (enable) {
        set_irq_type(host_wake_irq , IRQ_TYPE_EDGE_RISING);
        ret = request_irq(host_wake_irq , bt_host_wake_isr, 0, pdev->name, NULL);
        if (ret < 0)
            return ret;
        set_irq_wake(host_wake_irq, 1);
    }
    else {
        set_irq_wake(host_wake_irq, 0);
        free_irq(host_wake_irq, NULL);
    }
    return ret;
}
开发者ID:rubensollie,项目名称:Eclair-Kernel,代码行数:16,代码来源:apollo-rfkill.c


示例5: msm_mpm_init

static int __init msm_mpm_init(void)
{
	unsigned int irq = MSM_MPM_IPC_IRQ;
	int rc;

	bitmap_set(msm_mpm_gic_irqs_mask, 0, NR_MSM_IRQS - 1);
	bitmap_set(msm_mpm_gpio_irqs_mask, NR_MSM_IRQS,
			MSM_MPM_NR_APPS_IRQS - 1);

	rc = request_irq(irq, msm_mpm_irq,
			IRQF_TRIGGER_RISING, "mpm_drv", msm_mpm_irq);

	if (rc) {
		pr_err("%s: failed to request irq %u: %d\n",
			__func__, irq, rc);
		goto init_bail;
	}

	rc = set_irq_wake(irq, 1);
	if (rc) {
		pr_err("%s: failed to set wakeup irq %u: %d\n",
			__func__, irq, rc);
		goto init_free_bail;
	}

	return 0;

init_free_bail:
	free_irq(irq, msm_mpm_irq);

init_bail:
	return rc;
}
开发者ID:0-t,项目名称:samsung-kernel-msm7x30,代码行数:33,代码来源:mpm.c


示例6: bcm_bt_lpm_probe

static int bcm_bt_lpm_probe(struct platform_device *pdev)
{
	int irq;
	int ret;
	struct bcm_bt_lpm_platform_data *pdata = pdev->dev.platform_data;

	if (bt_lpm.request_clock_off_locked != NULL) {
		printk(KERN_ERR "Cannot register two bcm_bt_lpm drivers\n");
		return -EINVAL;
	}

	bt_lpm.gpio_wake = pdata->gpio_wake;
	bt_lpm.gpio_host_wake = pdata->gpio_host_wake;
	bt_lpm.request_clock_off_locked = pdata->request_clock_off_locked;
	bt_lpm.request_clock_on_locked = pdata->request_clock_on_locked;

	hrtimer_init(&bt_lpm.enter_lpm_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
	bt_lpm.enter_lpm_delay = ktime_set(1, 0);  /* 1 sec */
	bt_lpm.enter_lpm_timer.function = enter_lpm;

	gpio_set_value(bt_lpm.gpio_wake, 0);
	bt_lpm.host_wake = 0;

	irq = gpio_to_irq(bt_lpm.gpio_host_wake);
	ret = request_irq(irq, host_wake_isr,
			IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
			"bt host_wake", NULL);
	if (ret)
		return ret;
	ret = set_irq_wake(irq, 1);
	if (ret)
		return ret;

	return 0;
}
开发者ID:mericon,项目名称:kernel-msm8660-gb,代码行数:35,代码来源:bcm_bt_lpm.c


示例7: msm_sdcc_setup_power

static uint32_t msm_sdcc_setup_power(struct device *dv, unsigned int vdd)
{
	int rc = 0;
	struct platform_device *pdev;
	static int first_setup = 1;

	pdev = container_of(dv, struct platform_device, dev);

	rc = msm_sdcc_setup_gpio(pdev->id, !!vdd);
	if (rc)
		goto out;

	rc = msm_sdcc_setup_vreg(pdev->id, !!vdd);

	/* if first called related to sdcc1,
	 *  irq should be registered as wakeup source
	 * [email protected], 2010-02-19
	 */
	if (vdd && first_setup) {
		struct mmc_platform_data *pdata = pdev->dev.platform_data;
		if (pdev->id == 1) {
			first_setup = 0;
			set_irq_wake(pdata->status_irq, 1);
		}
	}
out:
	return rc;
}
开发者ID:arjen75,项目名称:L3_kernel2,代码行数:28,代码来源:board-msm7x27a_hdk-mmc.c


示例8: jack_config_gpio

/**********************************************************
**  Function: Jack detection-in gpio configuration function
**  Parameter: none
**  Return value: if sucess, then returns 0
**
************************************************************/
static int jack_config_gpio()
{
	int ret;
	
	printk("HEADSET: Config Jack-in detection gpio\n");

	tegra_gpio_enable(JACK_GPIO);
	ret = gpio_request(JACK_GPIO, "h2w_detect");
	ret = gpio_direction_input(JACK_GPIO);

	hs_data->irq = gpio_to_irq(JACK_GPIO);
	ret = request_irq(hs_data->irq, detect_irq_handler,
			  IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING, "h2w_detect", NULL);

	ret = set_irq_wake(hs_data->irq, 1);

	if (gpio_get_value(JACK_GPIO) == 0){
		jack_alive = true;
		insert_headset();
	}else {
		jack_alive = false;
		remove_headset();
	}

	return 0;
}
开发者ID:m4ttyw,项目名称:linux_kernel_TF101,代码行数:32,代码来源:headset.c


示例9: dhd_disable_hwakeup

/**
 * Stops the Sleep-Mode Protocol on the Host.
 */
static void
dhd_disable_hwakeup(void)
{

	if (set_irq_wake(dhd_wifi_sleep->host_wake_irq, 0))
		DHD_ERROR(("Couldn't disable hostwake IRQ wakeup mode\n"));
}
开发者ID:venkatkamesh,项目名称:lg_ally_kernel-2.6.XX,代码行数:10,代码来源:bcmsdh_sdmmc_linux.c


示例10: hPlatform_freeInterrupt

void hPlatform_freeInterrupt(void *tnet_drv)
{
	TWlanDrvIfObj *drv = tnet_drv;

	set_irq_wake(drv->irq, 0);
	free_irq(drv->irq, drv);
	gpio_free(WLAN_EN);
}
开发者ID:bluewater-cn,项目名称:ti_wilink,代码行数:8,代码来源:host_platform.c


示例11: adp5587_remove

static int adp5587_remove(struct i2c_client *client)
{
	struct adp5587_data *client_data = i2c_get_clientdata(client);
    set_irq_wake(client->irq, 0);
	free_irq(client->irq, client_data);
	input_unregister_device(client_data->input_dev);
	kfree(client_data);
	return 0;
}
开发者ID:rex12345,项目名称:kernel-2.6.29-M860,代码行数:9,代码来源:adp5587.c


示例12: bcmsdh_unregister_oob_intr

void bcmsdh_unregister_oob_intr(void)
{
	SDLX_MSG(("%s: Enter\n", __func__));

	set_irq_wake(sdhcinfo->oob_irq, 0);
	disable_irq(sdhcinfo->oob_irq);	/* just in case.. */
	free_irq(sdhcinfo->oob_irq, NULL);
	sdhcinfo->oob_irq_registered = false;
}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:9,代码来源:bcmsdh_linux.c


示例13: x3proto_gpio_setup

int __init x3proto_gpio_setup(void)
{
	int ilsel;
	int ret, i;

	ilsel = ilsel_enable(ILSEL_KEY);
	if (unlikely(ilsel < 0))
		return ilsel;

	ret = gpiochip_add(&x3proto_gpio_chip);
	if (unlikely(ret))
		goto err_gpio;

	for (i = 0; i < NR_BASEBOARD_GPIOS; i++) {
		unsigned long flags;
		int irq = create_irq();

		if (unlikely(irq < 0)) {
			ret = -EINVAL;
			goto err_irq;
		}

		spin_lock_irqsave(&x3proto_gpio_lock, flags);
		x3proto_gpio_irq_map[i] = irq;
		set_irq_chip_and_handler_name(irq, &dummy_irq_chip,
					handle_simple_irq, "gpio");
		spin_unlock_irqrestore(&x3proto_gpio_lock, flags);
	}

	pr_info("registering '%s' support, handling GPIOs %u -> %u, "
		"bound to IRQ %u\n",
		x3proto_gpio_chip.label, x3proto_gpio_chip.base,
		x3proto_gpio_chip.base + x3proto_gpio_chip.ngpio,
		ilsel);

	set_irq_chained_handler(ilsel, x3proto_gpio_irq_handler);
	set_irq_wake(ilsel, 1);

	return 0;

err_irq:
	for (; i >= 0; --i)
		if (x3proto_gpio_irq_map[i])
			destroy_irq(x3proto_gpio_irq_map[i]);

	ret = gpiochip_remove(&x3proto_gpio_chip);
	if (unlikely(ret))
		pr_err("Failed deregistering GPIO\n");

err_gpio:
	synchronize_irq(ilsel);

	ilsel_disable(ILSEL_KEY);

	return ret;
}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:56,代码来源:gpio.c


示例14: hPlatform_freeInterrupt

void hPlatform_freeInterrupt( void *tnet_drv )
{
	TWlanDrvIfObj *drv = tnet_drv;

	if (drv->irq == 0)
		return;

	set_irq_wake(drv->irq, 0);
	free_irq(drv->irq, drv);
}
开发者ID:nadlabak,项目名称:tiwlan,代码行数:10,代码来源:host_platform.c


示例15: insert_headset

static void insert_headset(void)
{
	unsigned long irq_flags;
	int jpole;
	H2W_DBG("");
#ifdef CONFIG_LGE_AUDIO_HEADSET_PROTECT
	gpio_set_value(hi->gpio_mic_bias_en, 1);
	msleep(100);
#endif 	
	jpole = gpio_get_value(hi->gpio_jpole);

    	if(jpole) // 3pole 
   	{	
   		hi->ignore_btn = 1;
		H2W_DBG("insert_headset_no-mic-headset \n");
		switch_set_state(&hi->sdev, LGE_NO_MIC_HEADSET);
//kiwone, 2009.12.24 , to fix bug
//no mic headset insert->no mic headset eject->4pole headset insert->button key do not work.		
		/* Enable button irq */
		local_irq_save(irq_flags);
		enable_irq(hi->irq_btn);
        	set_irq_wake(hi->irq_btn, 1);
		local_irq_restore(irq_flags);
		hi->debounce_time = ktime_set(0, 20000000);  /* 20 ms */
		hi->unplug_debounce_time = ktime_set(0, 100000000);  // add eklee 
		gpio_set_value(hi->gpio_mic_bias_en, 0);
   	}
	else
	{      //  4pole
		hi->ignore_btn =0;
		H2W_DBG("insert_headset_headset \n");
		switch_set_state(&hi->sdev, LGE_HEADSET);
		
		/* Enable button irq */
		local_irq_save(irq_flags);
		enable_irq(hi->irq_btn);
        	set_irq_wake(hi->irq_btn, 1);
		local_irq_restore(irq_flags);
		
		hi->debounce_time = ktime_set(0, 20000000);  /* 20 ms */
		hi->unplug_debounce_time = ktime_set(0, 100000000);  // add eklee 
	}
}
开发者ID:jab2,项目名称:android_kernel_lge_l45c,代码行数:43,代码来源:lge_gpio_h2w.c


示例16: vision_init_mmc

int __init vision_init_mmc(unsigned int sys_rev)
{
	uint32_t id;
	wifi_status_cb = NULL;
	/*sdslot_vreg_enabled = 0;*/

	printk(KERN_INFO "vision: %s\n", __func__);
	/* SDC2: MoviNAND */
	/*
	register_msm_irq_mask(INT_SDC2_0);
	register_msm_irq_mask(INT_SDC2_1);
	*/
	config_gpio_table(movinand_on_gpio_table,
			  ARRAY_SIZE(movinand_on_gpio_table));
#if 0
	msm_add_sdcc(2, &vision_movinand_data, 0, 0);
#endif

	/* initial WIFI_SHUTDOWN# */
	id = PCOM_GPIO_CFG(VISION_GPIO_WIFI_SHUTDOWN_N, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
	msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
	gpio_set_value(VISION_GPIO_WIFI_SHUTDOWN_N, 0);

	msm_add_sdcc(3, &vision_wifi_data);

#if 0
	register_msm_irq_mask(INT_SDC4_0);
	register_msm_irq_mask(INT_SDC4_1);
#endif

#if 0
	if (opt_disable_sdcard) {
		printk(KERN_INFO "vision: SD-Card interface disabled\n");
		goto done;
	}

	vreg_sdslot = vreg_get(0, "gp10");
	if (IS_ERR(vreg_sdslot))
		return PTR_ERR(vreg_sdslot);

	set_irq_wake(MSM_GPIO_TO_INT(VISION_SDMC_CD_N_TO_SYS), 1);

	msm_add_sdcc(4, &vision_sdslot_data,
			MSM_GPIO_TO_INT(VISION_SDMC_CD_N_TO_SYS),
			IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);
done:
#endif

	/* reset eMMC for write protection test */
	gpio_set_value(VISION_GPIO_EMMC_RST, 0);	/* this should not work!!! */
	udelay(100);
	gpio_set_value(VISION_GPIO_EMMC_RST, 1);

	return 0;
}
开发者ID:Amerce,项目名称:htc7x30-3.0,代码行数:55,代码来源:board-vision-mmc.c


示例17: mahimahi_init_mmc

int __init mahimahi_init_mmc(unsigned int sys_rev, unsigned debug_uart)
{
	uint32_t id;

	printk("%s()+\n", __func__);

	/* initial WIFI_SHUTDOWN# */
	id = PCOM_GPIO_CFG(MAHIMAHI_GPIO_WIFI_SHUTDOWN_N, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
	msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);

	msm_add_sdcc(1, &mahimahi_wifi_data, 0, 0);

	if (debug_uart) {
		pr_info("%s: sdcard disabled due to debug uart\n", __func__);
		goto done;
	}
	if (opt_disable_sdcard) {
		pr_info("%s: sdcard disabled on cmdline\n", __func__);
		goto done;
	}

	sdslot_vreg_enabled = 0;

	if (is_cdma_version(sys_rev)) {
		/* In the CDMA version, sdslot is supplied by a gpio. */
		int rc = gpio_request(MAHIMAHI_CDMA_SD_2V85_EN, "sdslot_en");
		if (rc < 0) {
			pr_err("%s: gpio_request(%d) failed: %d\n", __func__,
				MAHIMAHI_CDMA_SD_2V85_EN, rc);
			return rc;
		}
		mahimahi_sdslot_data.translate_vdd = mahimahi_cdma_sdslot_switchvdd;
	} else {
		/* in UMTS version, sdslot is supplied by pmic */
		sdslot_vreg = vreg_get(0, "gp6");
		if (IS_ERR(sdslot_vreg))
			return PTR_ERR(sdslot_vreg);
	}

	if (system_rev > 0)
		msm_add_sdcc(2, &mahimahi_sdslot_data, 0, 0);
	else {
		mahimahi_sdslot_data.status = mahimahi_sdslot_status_rev0;
		mahimahi_sdslot_data.register_status_notify = NULL;
		set_irq_wake(MSM_GPIO_TO_INT(MAHIMAHI_GPIO_SDMC_CD_REV0_N), 1);
		msm_add_sdcc(2, &mahimahi_sdslot_data,
			     MSM_GPIO_TO_INT(MAHIMAHI_GPIO_SDMC_CD_REV0_N),
			     IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);
	}

done:
	printk("%s()-\n", __func__);
	return 0;
}
开发者ID:Redux,项目名称:rx-kernel,代码行数:54,代码来源:board-mahimahi-mmc.c


示例18: bma250_release

static void bma250_release(struct input_dev *dev)
{
	int                 rc;
	struct driver_data *dd = input_get_drvdata(dev);
	rc = set_irq_wake(dd->ic_dev->irq, 0);
	if (rc)
		dev_err(&dd->ic_dev->dev,
			"%s: set_irq_wake failed with error %d\n",
			__func__, rc);
	free_irq(dd->ic_dev->irq, &dd->ic_dev->dev);
}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:11,代码来源:bma250.c


示例19: bravo_init_mmc

int __init bravo_init_mmc(unsigned int sys_rev)
{
	uint32_t id;
	struct cnf_driver *microp_sdcard_detect;

	wifi_status_cb = NULL;

	printk(KERN_INFO "%s()+\n", __func__);

	/* initial WIFI_SHUTDOWN# */
	id = PCOM_GPIO_CFG(127, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
	msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
	gpio_set_value(127, 0);

	msm_add_sdcc(1, &bravo_wifi_data, 0, 0);

	if (opt_disable_sdcard) {
		pr_info("%s: sdcard disabled on cmdline\n", __func__);
		goto done;
	}

	sdslot_vreg_enabled = 0;

	sdslot_vreg = vreg_get(0, "gp6");
	if (IS_ERR(sdslot_vreg))
		return PTR_ERR(sdslot_vreg);

	if (bravo_sd_gpio()) {
		set_irq_wake(MSM_GPIO_TO_INT(BRAVO_GPIO_SDMC_CD_N), 1);

		msm_add_sdcc(2, &bravo_sdslot_data,
			     MSM_GPIO_TO_INT(BRAVO_GPIO_SDMC_CD_N),
			     IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);
	} else {
		microp_sdcard_detect = kzalloc(sizeof(struct cnf_driver),
							GFP_KERNEL);
		if (microp_sdcard_detect) {
			microp_sdcard_detect->name = "sdcard_detect";
			microp_sdcard_detect->func = (void *) &microp_check_status;
		} else {
			printk(KERN_ERR "%s: Alloc SD callback func error\n",
						__func__);
			goto done;
		}
		cnf_driver_register(microp_sdcard_detect);

		msm_add_sdcc(2, &bravo_sdslot_data, 0, 0);
	}

done:
	printk(KERN_INFO "%s()-\n", __func__);
	return 0;
}
开发者ID:NooNameR,项目名称:Sense4.0-kernel,代码行数:53,代码来源:board-bravo-mmc.c


示例20: check_hook_key_state_work_func

void check_hook_key_state_work_func(struct work_struct *work)
{
	int hook_key_status = 0;
	int rc = 0;
	unsigned long irq_flags;

	HEADSET_DBG("");
	if ( HSD_HEADSET != g_headset_type )
	{
		HEADSET_INFO("Headset remove!! or may ear phone noise !!");
		
		return;
	}
	hook_key_status = gpio_get_value(headset_data.hook_gpio);
	if ( 1 == hook_key_status )
	{
		
		button_pressed();
		atomic_set(&headset_data.is_button_press, 1);
		
		
		rc = set_irq_type(headset_data.hook_irq, IRQF_TRIGGER_LOW);
		if (rc)
			HEADSET_ERR( "change hook key detection type as low fail!!");

	}
	else
	{
		if ( 1 == atomic_read(&headset_data.is_button_press))
		{
			
			button_released();
			atomic_set(&headset_data.is_button_press, 0);
			
			
			rc = set_irq_type(headset_data.hook_irq, IRQF_TRIGGER_HIGH);
			HEADSET_DBG("Hook Key release change hook key detection type as high");
			if (rc)
				HEADSET_ERR("change hook key detection type as high fail!!");
		}
	}
	
	if ( HSD_IRQ_DISABLE == headset_data.hook_irq_status)
	{
		local_irq_save(irq_flags);
		
		enable_irq(headset_data.hook_irq);
		headset_data.hook_irq_status = HSD_IRQ_ENABLE;
		set_irq_wake(headset_data.hook_irq, 1);
		local_irq_restore(irq_flags);

	}
}
开发者ID:ghk,项目名称:StreakKernel,代码行数:53,代码来源:headset_det.c



注:本文中的set_irq_wake函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ set_key函数代码示例发布时间:2022-05-30
下一篇:
C++ set_irq_type函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap