本文整理汇总了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 *) µp_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;未经允许,请勿转载。 |
请发表评论