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

C++ IRQ_GPIO函数代码示例

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

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



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

示例1: k3v2_gpio_key_irq_handler

static irqreturn_t k3v2_gpio_key_irq_handler(int irq, void *dev_id)
{
	struct k3v2_gpio_key *gpio_key = (struct k3v2_gpio_key *)dev_id;

	switch (irq) {
	case IRQ_GPIO(GPIO_17_1):
		schedule_delayed_work(&(gpio_key->gpio_keyup_work), 0);
		break;

	case IRQ_GPIO(GPIO_17_2):
		schedule_delayed_work(&(gpio_key->gpio_keydown_work), 0);
		break;
	case IRQ_GPIO(GPIO_17_6):
		schedule_delayed_work(&(gpio_key->gpio_camerafocus_work), 0);
		break;
	case IRQ_GPIO(GPIO_17_7):
		schedule_delayed_work(&(gpio_key->gpio_camera_work), 0);
		break;
	default:
		printk(KERN_ERR "[gpiokey][%s]invalid irq %d!\n", __FUNCTION__, irq);
		break;
	}

	return IRQ_HANDLED;
}
开发者ID:alfataks-P6-Carbon,项目名称:Kernel-3.0.8,代码行数:25,代码来源:k3v2_gpio_key.c


示例2: aspenite_u2o_vbus_detect

static int aspenite_u2o_vbus_detect(void *func, int enable)
{
	int ret;

	if (enable) {
		/* FIXME needed for future SRP support
		 * request_irq(IRQ_GPIO(gpio_usb_otg_stat1),
			aspenite_u2o_vbus_event, IRQF_DISABLED |
			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
			"otg_stat1", func);
		 */
		ret = request_irq(IRQ_GPIO(gpio_usb_otg_stat2),
			(irq_handler_t)aspenite_u2o_vbus_event, IRQF_DISABLED |
			IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
			"otg_stat2", func);
		if (ret)
			printk(KERN_INFO "request irq otgstat2 %d failed: %d\n",
					IRQ_GPIO(gpio_usb_otg_stat2), ret);
	} else {
		/* free_irq(IRQ_GPIO(gpio_usb_otg_stat1), NULL); */
		free_irq(IRQ_GPIO(gpio_usb_otg_stat2), func);
	}

	return 0;
}
开发者ID:kamejoko80,项目名称:linux-2.6.28-silvermoon,代码行数:25,代码来源:aspenite.c


示例3: yf255_init_irq

static void __init yf255_init_irq(void)
{
	int irq;

	pxa25x_init_irq();
#if 1
	/* setup extra yf255 irqs */
	for (irq = YF255_IRQ(0); irq <= YF255_LAST_IRQ; irq++) {
		set_irq_chip(irq, &yf255_irq_chip);
		set_irq_handler(irq, handle_level_irq);
		set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
	}
#endif

	/*For Ethernet_INT*/
	set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_RISING);

	/*For RTC_INT*/
	set_irq_type(IRQ_GPIO(1), IRQ_TYPE_EDGE_RISING);

	/*For AC97_IRQ*/
//	set_irq_type(IRQ_GPIO(3), IRQ_TYPE_EDGE_RISING);

	/*For PCMCIA_DECT*/
	set_irq_type(IRQ_GPIO(4), IRQ_TYPE_EDGE_RISING);
	/*For PCMCIA_RDY*/
	set_irq_type(IRQ_GPIO(5), IRQ_TYPE_EDGE_RISING);

	/*For MMC*/
	set_irq_type(IRQ_GPIO(12), IRQ_TYPE_LEVEL_LOW);// IRQ_TYPE_EDGE_FALLING);//zkj
}
开发者ID:adangdang,项目名称:android-2.6.27-yf255,代码行数:31,代码来源:yf255.c


示例4: a716_stylus

static irqreturn_t a716_stylus(int irq, void *dev_id)
{
	ts_pos_t ts_pos;

	if (irq == IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N) && irq_disable == 0) {
		//printk("IRQ\n");
		irq_disable = 1;
		disable_irq(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N));
	}

	read_xydata(&ts_pos);

	if (ts_pos.xd == 0 || ts_pos.yd == 0) {
		report_touchpanel(0, 0, 0);
		//printk("touch released\n");
		if (irq_disable == 1) {
			request_irq(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N), a716_stylus, SA_SAMPLE_RANDOM, "ad7873 stylus", NULL);
			set_irq_type(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N), IRQT_FALLING);
			enable_irq(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N));
			irq_disable = 0;
		}
		return IRQ_HANDLED;
	}

	//printk("%04d %04d\n", (int)ts_pos.xd, (int)ts_pos.yd);
	//printk("touch pressed\n");
	report_touchpanel(ts_pos.xd, ts_pos.yd, 1);

	mod_timer(&timer_pen, jiffies + (SAMPLE_TIMEOUT * HZ) / 1000);

	//printk("callback\n");
	return IRQ_HANDLED;
};
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:33,代码来源:a716_ssp.c


示例5: __cmx270_pci_init_irq

void __cmx270_pci_init_irq(void)
{
	it8152_init_irq();
	pxa_gpio_mode(IRQ_TO_GPIO(GPIO_IT8152_IRQ));
	set_irq_type(IRQ_GPIO(GPIO_IT8152_IRQ), IRQT_RISING);

	set_irq_chained_handler(IRQ_GPIO(GPIO_IT8152_IRQ),
				cmx270_it8152_irq_demux);
}
开发者ID:ForayJones,项目名称:iods,代码行数:9,代码来源:cm-x270-pci.c


示例6: tekom_ts_probe

static int tekom_ts_probe(struct i2c_client *client, const struct i2c_device_id * id)
{
	int ret = -EIO;
	struct tekom_touch_data *p_tekom_touch;
	struct input_dev 	*tekom_ts_input_dev;	

	/* register input device */
	tekom_ts_input_dev = input_allocate_device();	
      	tekom_ts_input_dev->name = "Tekom capcitive touchscreen";
	tekom_ts_input_dev->open = tekom_ts_input_open;
	tekom_ts_input_dev->close = tekom_ts_input_close;
	__set_bit(EV_ABS, tekom_ts_input_dev->evbit);
	__set_bit(ABS_X, tekom_ts_input_dev->absbit);
	__set_bit(ABS_Y, tekom_ts_input_dev->absbit);
	__set_bit(ABS_PRESSURE, tekom_ts_input_dev->absbit);
	set_bit(EV_KEY, tekom_ts_input_dev->evbit);
	set_bit(BTN_TOUCH, tekom_ts_input_dev->keybit);

	/* Malloc p_touch context */
	p_tekom_touch = kzalloc(sizeof(struct tekom_touch_data), GFP_KERNEL);
	if (!p_tekom_touch) {
		ret = -ENOMEM;
		goto err;
	}
	
	p_tekom_touch->tekom_ts_input_dev = tekom_ts_input_dev;
	platform_set_drvdata(client, p_tekom_touch);
	input_set_drvdata(tekom_ts_input_dev, p_tekom_touch);
	ret = input_register_device(tekom_ts_input_dev);

	p_tekom_touch->client = client;
	p_tekom_touch->pen_down = 0;
	p_tekom_touch->use_count = 0;
	p_tekom_touch->poll_jiffies = 5;

	tekom_touch_gpio_init();
	ret = request_irq(IRQ_GPIO(MFP2GPIO(TOUCH_INT)), tekom_touch_interrupt, 
		IRQF_TRIGGER_FALLING, "Tekom_capcitive", p_tekom_touch);

	ret = request_irq(IRQ_GPIO(MFP2GPIO(SLIDE_INT)), slide_interrupt, 
		IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING, "SLIDE_INT", p_tekom_touch);

	init_timer(&p_tekom_touch->poll_timer);
	p_tekom_touch->poll_timer.data    = (unsigned long)p_tekom_touch;
	p_tekom_touch->poll_timer.function = tekom_poll_timer_handler;

	ret = sysfs_create_group(&client->dev.kobj, &tekom_touch_attr_group);
	
	printk("Android tekom capcitive touchscreen driver register succ\n");
	return 0;

err:	
	return ret;
}
开发者ID:abgoyal,项目名称:OpenX2-kernel-original,代码行数:54,代码来源:tekom_touch.c


示例7: sharpsl_pm_pxa_remove

void sharpsl_pm_pxa_remove(void)
{
    free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr);
    free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr);

    if (sharpsl_pm.machinfo->gpio_fatal)
        free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr);

    if (sharpsl_pm.machinfo->batfull_irq)
        free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr);
}
开发者ID:274914765,项目名称:C,代码行数:11,代码来源:sharpsl_pm.c


示例8: gpio_watch

static int gpio_watch(int x)
{
	int ret;
	ret = request_irq (IRQ_GPIO(x), gpio_irq, SA_SAMPLE_RANDOM, "test_handler", (void*)x);
	set_irq_type (IRQ_GPIO(x), IRQT_BOTHEDGE);
	if(ret!=0) {
		printk(KERN_ERR "GPIOed: failed to register for GPIO %d\n", x);
		return 1;
	} else {
		printk(KERN_ERR "GPIOed: Registered GPIO %d\n", x);
		return 0;
	}
}
开发者ID:fourks,项目名称:tools,代码行数:13,代码来源:gpioed.c


示例9: eseries_battery_init

static int eseries_battery_init(void) {
	int ret;

	if(!(machine_is_e740() || machine_is_e750() || machine_is_e800()))
		return -ENODEV;

	ret = request_irq(IRQ_GPIO(10), eseries_battery_irq, 0, "battery", NULL);
	if(ret)
		return ret;
	set_irq_type(IRQ_GPIO(10), IRQT_BOTHEDGE);

	eseries_battery_probe(NULL);

	return 0;
}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:15,代码来源:eseries_battery.c


示例10: palmtx_pcmcia_hw_init

static int palmtx_pcmcia_hw_init (struct soc_pcmcia_socket *skt)
{
        GPSR(GPIO48_nPOE_MD) =	GPIO_bit(GPIO48_nPOE_MD) |
				GPIO_bit(GPIO49_nPWE_MD) |
				GPIO_bit(GPIO50_nPIOR_MD) |
				GPIO_bit(GPIO51_nPIOW_MD) |
				GPIO_bit(GPIO85_nPCE_1_MD) |
				GPIO_bit(GPIO53_nPCE_2_MD) |
				GPIO_bit(GPIO54_pSKTSEL_MD) |
				GPIO_bit(GPIO55_nPREG_MD) |
				GPIO_bit(GPIO56_nPWAIT_MD) |
				GPIO_bit(GPIO57_nIOIS16_MD);

        pxa_gpio_mode(GPIO48_nPOE_MD);
        pxa_gpio_mode(GPIO49_nPWE_MD);
        pxa_gpio_mode(GPIO50_nPIOR_MD);
        pxa_gpio_mode(GPIO51_nPIOW_MD);
        pxa_gpio_mode(GPIO85_nPCE_1_MD);
        pxa_gpio_mode(GPIO53_nPCE_2_MD);
        pxa_gpio_mode(GPIO54_pSKTSEL_MD);
        pxa_gpio_mode(GPIO55_nPREG_MD);
        pxa_gpio_mode(GPIO56_nPWAIT_MD);
        pxa_gpio_mode(GPIO57_nIOIS16_MD);

	skt->irq = IRQ_GPIO(GPIO_NR_PALMTX_PCMCIA_READY);

	palmtx_pcmcia_dbg("%s:%i, Socket:%d\n", __FUNCTION__, __LINE__, skt->nr);
        return soc_pcmcia_request_irqs(skt, palmtx_socket_state_irqs,
				       ARRAY_SIZE(palmtx_socket_state_irqs));
}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:30,代码来源:palmtx_pcmcia.c


示例11: lubbock_init_irq

static void __init lubbock_init_irq(void)
{
	int irq;

	pxa_init_irq();

	/* setup extra lubbock irqs */
	for (irq = LUBBOCK_IRQ(0); irq <= LUBBOCK_LAST_IRQ; irq++) {
		set_irq_chip(irq, &lubbock_irq_chip);
		set_irq_handler(irq, do_level_IRQ);
		set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
	}

	set_irq_chained_handler(IRQ_GPIO(0), lubbock_irq_handler);
	set_irq_type(IRQ_GPIO(0), IRQT_FALLING);
}
开发者ID:Dronevery,项目名称:JetsonTK1-kernel,代码行数:16,代码来源:lubbock.c


示例12: cleanup_module

// the module last called function
void cleanup_module(void) {

	remove_proc_entry(PROCFS_PID_NAME, &proc_root);
	remove_proc_entry(PROCFS_CMD_NAME, &proc_root);

	PDEBUG("Freeing registered irq %d for GPIO %d\n", IRQ_GPIO(gpio_in_streamctl), gpio_in_streamctl);
	free_irq(IRQ_GPIO(gpio_in_streamctl), &data);

	turn_off_gpio(gpio_out_modem);
	// turn off led green: reverse logic
	turn_on_gpio(gpio_out_green);
	del_timer(&jiq_pulse_timer);

	printk(KERN_INFO MODULE_NAME ": Stopping gpio module...\n");

}  
开发者ID:pallotron,项目名称:colibri-gpo,代码行数:17,代码来源:gpio-pulse.c


示例13: pxa_mask_muxed_gpio

static void pxa_mask_muxed_gpio(unsigned int irq)
{
	int gpio = irq - IRQ_GPIO(2) + 2;
	__clear_bit(gpio, GPIO_IRQ_mask);
	GRER(gpio) &= ~GPIO_bit(gpio);
	GFER(gpio) &= ~GPIO_bit(gpio);
}
开发者ID:420GrayFox,项目名称:dsl-n55u-bender,代码行数:7,代码来源:irq.c


示例14: pxa_unmask_muxed_gpio

static void pxa_unmask_muxed_gpio(unsigned int irq)
{
	int gpio = irq - IRQ_GPIO(2) + 2;
	int idx = gpio >> 5;
	__set_bit(gpio, GPIO_IRQ_mask);
	GRER(gpio) = GPIO_IRQ_rising_edge[idx] & GPIO_IRQ_mask[idx];
	GFER(gpio) = GPIO_IRQ_falling_edge[idx] & GPIO_IRQ_mask[idx];
}
开发者ID:420GrayFox,项目名称:dsl-n55u-bender,代码行数:8,代码来源:irq.c


示例15: yf255_mmc_poll

static void yf255_mmc_poll(unsigned long data)
{
	unsigned long flags;

	/* clear any previous irq state, then ... */
	local_irq_save(flags);
	YF255_IRQ_SET_CLR &= ~(1 << 0);
	local_irq_restore(flags);

	/* poll until mmc/sd card is removed */
	if (YF255_IRQ_SET_CLR & (1 << 0))
		mod_timer(&mmc_timer, jiffies + MMC_POLL_RATE);
	else {
		(void) mmc_detect_int(IRQ_GPIO(12), (void *)data);
		enable_irq(IRQ_GPIO(12));
	}
}
开发者ID:adangdang,项目名称:android-2.6.27-yf255,代码行数:17,代码来源:yf255.c


示例16: am200_cleanup

static void am200_cleanup(struct metronomefb_par *par)
{
	int i;

	free_irq(IRQ_GPIO(RDY_GPIO_PIN), par);

	for (i = 0; i < ARRAY_SIZE(gpios); i++)
		gpio_free(gpios[i]);
}
开发者ID:E-LLP,项目名称:n900,代码行数:9,代码来源:am200epd.c


示例17: lpd270_init_irq

static void __init lpd270_init_irq(void)
{
	int irq;

	pxa27x_init_irq();

	__raw_writew(0, LPD270_INT_MASK);
	__raw_writew(0, LPD270_INT_STATUS);

	/* setup extra LogicPD PXA270 irqs */
	for (irq = LPD270_IRQ(2); irq <= LPD270_IRQ(4); irq++) {
		irq_set_chip_and_handler(irq, &lpd270_irq_chip,
					 handle_level_irq);
		set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
	}
	irq_set_chained_handler(IRQ_GPIO(0), lpd270_irq_handler);
	irq_set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING);
}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:18,代码来源:lpd270.c


示例18: hiusb_request_irq

STATIC int hiusb_request_irq(struct lm_device *dev)
{
    int ret = 0;
    struct lm_device *lm_dev;
    struct hiusb_info *hiusb_info;

    lm_dev = dev;
    hiusb_info = dev->hiusb_info;

    if (hiusb_info->insert_irq == 0 || hiusb_info->draw_irq == 0) {
        if ((hiusb_info->quirks & HIUSB_QUIRKS_PMUIRQ) == 0) {
            hiusb_info->insert_irq = 1;
            hiusb_info->draw_irq = 2;
        }
        dev_info(&lm_dev->dev, "No insert/draw irq.\n");
        return 0;
    }

    /* request insert irq */
    ret = request_irq(hiusb_info->insert_irq, hiusb_vbus_intr,
            IRQF_NO_SUSPEND, "hiusb_insert_intr", lm_dev);
    if (ret) {
        dev_err(&dev->dev, "request insert irq failed.\n");
        goto request_insert_irq_fail;
    }

    /* request draw irq */
    ret = request_irq(hiusb_info->draw_irq, hiusb_vbus_intr,
            IRQF_NO_SUSPEND, "hiusb_draw_intr", lm_dev);
    if (ret) {
        dev_err(&dev->dev, "request draw irq failed.\n");
        goto request_draw_irq_fail;
    }

    /* request otg gpio int irq */
    if(-1 != hiusb_info->otg_int_gpio) {
        gpio_direction_input(hiusb_info->otg_int_gpio);
        ret = request_irq(IRQ_GPIO(hiusb_info->otg_int_gpio), hiusb_otggpio_intr,
            IRQF_NO_SUSPEND|IRQF_TRIGGER_FALLING, "hiusb_otggpio_intr", lm_dev);
        if (ret) {
            dev_err(&dev->dev, "request gpio irq failed.\n");
            goto request_gpio_irq_fail;
        }
    }

    dev_info(&dev->dev, "request insert irq: %d\n", hiusb_info->insert_irq);
    dev_info(&dev->dev, "request draw irq: %d\n", hiusb_info->draw_irq);
    dev_info(&dev->dev, "request gpio: %d irq\n", hiusb_info->otg_int_gpio);
    return 0;

request_gpio_irq_fail:
    free_irq(hiusb_info->draw_irq, dev);
request_draw_irq_fail:
    free_irq(hiusb_info->insert_irq, dev);
request_insert_irq_fail:
    return ret;
}
开发者ID:XePeleato,项目名称:android_kernel_huawei_venus,代码行数:57,代码来源:dev_usb.c


示例19: palmld_pcmcia_hw_init

static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
	int ret;

	ret = gpio_request_array(palmld_pcmcia_gpios,
				ARRAY_SIZE(palmld_pcmcia_gpios));

	skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);

	return ret;
}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:11,代码来源:pxa2xx_palmld.c


示例20: yf255_mci_init

static int yf255_mci_init(struct device *dev,
		irq_handler_t detect_int,
		void *data)
{
	/* detect card insert/eject */
	mmc_detect_int = detect_int;
	init_timer(&mmc_timer);
	mmc_timer.data = (unsigned long) data;
	return request_irq(IRQ_GPIO(12), yf255_detect_int,
			IRQF_SAMPLE_RANDOM, "yf255-sd-detect", data);
}
开发者ID:adangdang,项目名称:android-2.6.27-yf255,代码行数:11,代码来源:yf255.c



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ IRQ_RETVAL函数代码示例发布时间:2022-05-30
下一篇:
C++ IRQ_EXIT函数代码示例发布时间: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