本文整理汇总了C++中s5p_register_gpio_interrupt函数的典型用法代码示例。如果您正苦于以下问题:C++ s5p_register_gpio_interrupt函数的具体用法?C++ s5p_register_gpio_interrupt怎么用?C++ s5p_register_gpio_interrupt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了s5p_register_gpio_interrupt函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: smdk4415_gpio_keys_config_setup
static void smdk4415_gpio_keys_config_setup(void)
{
int irq;
s3c_gpio_cfgpin(GPIO_VOLUP_BUTTON, S3C_GPIO_SFN(0xf));
s3c_gpio_cfgpin(GPIO_VOLDOWN_BUTTON, S3C_GPIO_SFN(0xf));
s3c_gpio_cfgpin(GPIO_HOMEPAGE_BUTTON, S3C_GPIO_SFN(0xf));
s3c_gpio_cfgpin(GPIO_POWER_BUTTON, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(GPIO_VOLUP_BUTTON, S3C_GPIO_PULL_UP);
s3c_gpio_setpull(GPIO_VOLDOWN_BUTTON, S3C_GPIO_PULL_UP);
s3c_gpio_setpull(GPIO_HOMEPAGE_BUTTON, S3C_GPIO_PULL_UP);
s3c_gpio_setpull(GPIO_POWER_BUTTON, S3C_GPIO_PULL_UP);
irq = s5p_register_gpio_interrupt(GPIO_VOLUP_BUTTON); /* VOL UP */
if (IS_ERR_VALUE(irq)) {
pr_err("%s: Failed to configure VOL UP GPIO\n", __func__);
return;
}
irq = s5p_register_gpio_interrupt(GPIO_VOLDOWN_BUTTON); /* VOL DOWN */
if (IS_ERR_VALUE(irq)) {
pr_err("%s: Failed to configure VOL DOWN GPIO\n", __func__);
return;
}
irq = s5p_register_gpio_interrupt(GPIO_HOMEPAGE_BUTTON);/* HOMEPAGE */
if (IS_ERR_VALUE(irq)) {
pr_err("%s: Failed to configure HOMEPAGE GPIO\n", __func__);
return;
}
irq = s5p_register_gpio_interrupt(GPIO_POWER_BUTTON);/* POWER */
if (IS_ERR_VALUE(irq)) {
pr_err("%s: Failed to configure POWER GPIO\n", __func__);
return;
}
}
示例2: tdmb_dev_init
static int __init tdmb_dev_init(void)
{
#if defined(CONFIG_TDMB_EBI)
struct sromc_bus_cfg *bus_cfg;
struct sromc_bank_cfg *bnk_cfg;
struct sromc_timing_cfg *tm_cfg;
if (sromc_enable() < 0) {
printk(KERN_DEBUG "tdmb_dev_init sromc_enable fail\n");
return -1;
}
bus_cfg = &tdmb_sromc_bus_cfg;
if (sromc_config_demux_gpio(bus_cfg) < 0) {
printk(KERN_DEBUG "tdmb_dev_init sromc_config_demux_gpio fail\n");
return -1;
}
bnk_cfg = &tdmb_ebi_bank_cfg;
if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) {
printk(KERN_DEBUG "tdmb_dev_init sromc_config_csn_gpio fail\n");
return -1;
}
sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr);
tm_cfg = &tdmb_ebi_timing_cfg;
sromc_config_access_timing(bnk_cfg->csn, tm_cfg);
#endif
#if defined(CONFIG_TDMB_ANT_DET)
{
unsigned int tdmb_ant_det_gpio;
unsigned int tdmb_ant_det_irq;
s5p_register_gpio_interrupt(GPIO_TDMB_ANT_DET);
tdmb_ant_det_gpio = GPIO_TDMB_ANT_DET;
tdmb_ant_det_irq = GPIO_TDMB_IRQ_ANT_DET;
s3c_gpio_cfgpin(tdmb_ant_det_gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(tdmb_ant_det_gpio, S3C_GPIO_PULL_NONE);
tdmb_pdata.gpio_ant_det = tdmb_ant_det_gpio;
tdmb_pdata.irq_ant_det = tdmb_ant_det_irq;
}
#endif
tdmb_set_config_poweroff();
s5p_register_gpio_interrupt(GPIO_TDMB_INT);
tdmb_pdata.irq = gpio_to_irq(GPIO_TDMB_INT);
platform_device_register(&tdmb_device);
return 0;
}
开发者ID:turter99,项目名称:android_kernel_samsung_jaltektt_perseus_4.2.2,代码行数:53,代码来源:board-universal5410-media.c
示例3: mxt_gpio_init
static void mxt_gpio_init(void)
{
/* touch interrupt */
gpio_request(GPIO_TOUCH_CHG, "TSP_INT");
s3c_gpio_cfgpin(GPIO_TOUCH_CHG, S3C_GPIO_INPUT);
s3c_gpio_setpull(GPIO_TOUCH_CHG, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(GPIO_TOUCH_CHG);
s3c_gpio_setpull(GPIO_TSP_SCL_18V, S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(GPIO_TSP_SDA_18V, S3C_GPIO_PULL_NONE);
gpio_request_one(GPIO_TOUCH_RESET, GPIOF_OUT_INIT_LOW, "atmel_mxt_ts nRESET");
gpio_request(GPIO_TOUCH_EN, "GPIO_TOUCH_EN");
s3c_gpio_cfgpin(GPIO_TOUCH_EN, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_TOUCH_EN, S3C_GPIO_PULL_NONE);
gpio_request(GPIO_TOUCH_EN_1, "GPIO_TOUCH_EN_1");
s3c_gpio_cfgpin(GPIO_TOUCH_EN_1, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_TOUCH_EN_1, S3C_GPIO_PULL_NONE);
s5p_gpio_set_pd_cfg(GPIO_TOUCH_CHG, S5P_GPIO_PD_PREV_STATE);
s5p_gpio_set_pd_pull(GPIO_TOUCH_CHG, S5P_GPIO_PD_UPDOWN_DISABLE);
s5p_gpio_set_pd_cfg(GPIO_TOUCH_RESET, S5P_GPIO_PD_PREV_STATE);
s5p_gpio_set_pd_cfg(GPIO_TOUCH_EN, S5P_GPIO_PD_PREV_STATE);
s5p_gpio_set_pd_cfg(GPIO_TOUCH_EN_1, S5P_GPIO_PD_PREV_STATE);
}
示例4: exynos5_universal5420_input_init
void __init exynos5_universal5420_input_init(void)
{
#if defined(CONFIG_TOUCHSCREEN_ATMEL_MXTS)
atmel_tsp_init();
//tsp_check_and_init();
#endif
universal5410_gpio_keys_config_setup(system_rev);
#ifdef CONFIG_INPUT_WACOM
wacom_init();
#endif
#ifdef CONFIG_SENSORS_HALL
s3c_gpio_setpull(GPIO_HALL_SENSOR_INT, S3C_GPIO_PULL_UP);
gpio_request(GPIO_HALL_SENSOR_INT, "GPIO_HALL_SENSOR_INT");
s3c_gpio_cfgpin(GPIO_HALL_SENSOR_INT, S3C_GPIO_SFN(0xf));
s5p_register_gpio_interrupt(GPIO_HALL_SENSOR_INT);
gpio_direction_input(GPIO_HALL_SENSOR_INT);
#endif
if (lpcharge == 0) {
platform_device_register(&s3c_device_i2c0);
} else {
printk(KERN_INFO "%s lpm mode : Do not register tsp driver.", __func__);
}
platform_add_devices(universal5410_input_devices,
ARRAY_SIZE(universal5410_input_devices));
}
示例5: ak8963c_gpio_init
static int ak8963c_gpio_init(void)
{
int ret;
pr_info("%s\n", __func__);
ret = gpio_request(GPIO_MSENSOR_INT, "gpio_akm_int");
if (ret) {
pr_err("%s, Failed to request gpio akm_int.(%d)\n",
__func__, ret);
return ret;
}
s5p_register_gpio_interrupt(GPIO_MSENSOR_INT);
s3c_gpio_setpull(GPIO_MSENSOR_INT, S3C_GPIO_PULL_DOWN);
s3c_gpio_cfgpin(GPIO_MSENSOR_INT, S3C_GPIO_SFN(0xF));
i2c_devs10_emul[0].irq = gpio_to_irq(GPIO_MSENSOR_INT);
ret = gpio_request(GPIO_MSENSE_RST_N, "gpio_akm_rst");
if (ret) {
pr_err("%s, Failed to request gpio akm_rst.(%d)\n",
__func__, ret);
return ret;
}
s3c_gpio_cfgpin(GPIO_MSENSE_RST_N, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_MSENSE_RST_N, S3C_GPIO_PULL_NONE);
gpio_direction_output(GPIO_MSENSE_RST_N, 1);
return ret;
}
示例6: midas_tsp_init
void __init midas_tsp_init(void)
{
#ifndef CONFIG_MACH_NEWTON_BD
int gpio;
int ret;
printk(KERN_INFO "[TSP] midas_tsp_init() is called\n");
/* TSP_INT: XEINT_4 */
gpio = GPIO_TSP_INT;
ret = gpio_request(gpio, "TSP_INT");
if (ret)
pr_err("failed to request gpio(TSP_INT)\n");
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
/* s3c_gpio_setpull(gpio, S3C_GPIO_PULL_UP); */
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(gpio);
i2c_devs3[0].irq = gpio_to_irq(gpio);
printk(KERN_INFO "%s touch : %d\n", __func__, i2c_devs3[0].irq);
#endif
s3c_gpio_cfgpin(GPIO_TSP_EN, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_TSP_EN, S3C_GPIO_PULL_NONE);
i2c_register_board_info(3, i2c_devs3, ARRAY_SIZE(i2c_devs3));
}
示例7: midas_tsp_init
void __init midas_tsp_init(void)
{
int gpio;
int ret;
pr_info("[TSP] T0 TSP init() is called");
gpio = GPIO_TSP_LDO_EN;
gpio_request(gpio, "TSP_LDO_EN");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
/* TSP_INT: XEINT_4 */
gpio = GPIO_TSP_INT;
ret = gpio_request(gpio, "TSP_INT");
if (ret)
pr_err("[TSP] failed to request gpio(TSP_INT)");
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(gpio);
i2c_devs3[0].irq = gpio_to_irq(gpio);
pr_info("[TSP] T0 %s touch : %d\n", __func__, i2c_devs3[0].irq);
i2c_register_board_info(3, i2c_devs3, ARRAY_SIZE(i2c_devs3));
}
示例8: sii8240_cfg_gpio
static void sii8240_cfg_gpio(void)
{
pr_info("%s()\n", __func__);
#ifdef USE_GPIO_I2C_MHL
/* AP_MHL_SDA */
s3c_gpio_cfgpin(GPIO_MHL_SDA_18V, S3C_GPIO_SFN(0x0));
s3c_gpio_setpull(GPIO_MHL_SDA_18V, S3C_GPIO_PULL_NONE);
/* AP_MHL_SCL */
s3c_gpio_cfgpin(GPIO_MHL_SCL_18V, S3C_GPIO_SFN(0x0));
s3c_gpio_setpull(GPIO_MHL_SCL_18V, S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(GPIO_MHL_SCL_18V, S5P_GPIO_DRVSTR_LV4);
s5p_gpio_set_drvstr(GPIO_MHL_SDA_18V, S5P_GPIO_DRVSTR_LV4);
#endif
gpio_request(GPIO_MHL_INT, "MHL_INT");
s5p_register_gpio_interrupt(GPIO_MHL_INT);
s3c_gpio_setpull(GPIO_MHL_INT, S3C_GPIO_PULL_DOWN);
irq_set_irq_type(gpio_to_irq(GPIO_MHL_INT), IRQ_TYPE_EDGE_RISING);
s3c_gpio_cfgpin(GPIO_MHL_INT, S3C_GPIO_SFN(0xF));
s3c_gpio_cfgpin(GPIO_MHL_RST, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_MHL_RST, S3C_GPIO_PULL_NONE);
gpio_set_value(GPIO_MHL_RST, 0);
}
示例9: nuri_camera_init
static void __init nuri_camera_init(void)
{
s3c_set_platdata(&mipi_csis_platdata, sizeof(mipi_csis_platdata),
&s5p_device_mipi_csis0);
s3c_set_platdata(&fimc_md_platdata, sizeof(fimc_md_platdata),
&s5p_device_fimc_md);
if (gpio_request_array(nuri_camera_gpios,
ARRAY_SIZE(nuri_camera_gpios))) {
pr_err("%s: GPIO request failed\n", __func__);
return;
}
m5mols_board_info.irq = s5p_register_gpio_interrupt(GPIO_CAM_8M_ISP_INT);
if (!IS_ERR_VALUE(m5mols_board_info.irq))
s3c_gpio_cfgpin(GPIO_CAM_8M_ISP_INT, S3C_GPIO_SFN(0xF));
else
pr_err("%s: Failed to configure 8M_ISP_INT GPIO\n", __func__);
/* Free GPIOs controlled directly by the sensor drivers. */
gpio_free(GPIO_CAM_VT_NRST);
gpio_free(GPIO_CAM_VT_NSTBY);
gpio_free(GPIO_CAM_MEGA_RST);
if (exynos4_fimc_setup_gpio(S5P_CAMPORT_A)) {
pr_err("%s: Camera port A setup failed\n", __func__);
return;
}
/* Increase drive strength of the sensor clock output */
s5p_gpio_set_drvstr(EXYNOS4_GPJ1(3), S5P_GPIO_DRVSTR_LV4);
}
示例10: cyttsp5_init
int cyttsp5_init(struct cyttsp5_core_platform_data *pdata,
int on, struct device *dev)
{
int irq_gpio = pdata->irq_gpio;
int rc = 0;
enabled = 0;
if (on) {
gpio_request(irq_gpio, "TSP_INT");
#ifdef MT04
gpio_direction_input(irq_gpio);
#else
s3c_gpio_cfgpin(irq_gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(irq_gpio, S3C_GPIO_PULL_UP);
s5p_register_gpio_interrupt(irq_gpio);
#endif
cyttsp5_hw_power(1);
} else {
cyttsp5_hw_power(0);
gpio_free(irq_gpio);
}
dev_info(dev,
"%s: INIT CYTTSP IRQ gpio=%d onoff=%d r=%d\n",
__func__, irq_gpio, on, rc);
return rc;
}
示例11: mxt_gpio_init
static void mxt_gpio_init(void)
{
int gpio = 0;
gpio = GPIO_TSP_LDO_ON2;
gpio_request(gpio, "TSP_LDO_ON2");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_LDO_ON1;
gpio_request(gpio, "TSP_LDO_ON1");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_LDO_ON;
gpio_request(gpio, "TSP_LDO_ON");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_RST;
gpio_request(gpio, "TSP_RST");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_INT;
gpio_request(gpio, "TSP_INT");
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(gpio);
s3c_gpio_setpull(GPIO_TSP_SCL_18V, S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(GPIO_TSP_SDA_18V, S3C_GPIO_PULL_NONE);
}
示例12: sii9234_cfg_gpio
static void sii9234_cfg_gpio(void)
{
printk(KERN_INFO "%s()\n", __func__);
/* AP_MHL_SDA */
s3c_gpio_cfgpin(GPIO_MHL_SDA_18V, S3C_GPIO_SFN(0x0));
s3c_gpio_setpull(GPIO_MHL_SDA_18V, S3C_GPIO_PULL_NONE);
/* AP_MHL_SCL */
s3c_gpio_cfgpin(GPIO_MHL_SCL_18V, S3C_GPIO_SFN(0x1));
s3c_gpio_setpull(GPIO_MHL_SCL_18V, S3C_GPIO_PULL_NONE);
gpio_request(GPIO_MHL_INT, "MHL_INT");
s5p_register_gpio_interrupt(GPIO_MHL_INT);
s3c_gpio_setpull(GPIO_MHL_INT, S3C_GPIO_PULL_DOWN);
irq_set_irq_type(MHL_INT_IRQ, IRQ_TYPE_EDGE_RISING);
s3c_gpio_cfgpin(GPIO_MHL_INT, GPIO_MHL_INT_AF);
s3c_gpio_cfgpin(GPIO_HDMI_EN, S3C_GPIO_OUTPUT); /* HDMI_EN */
gpio_set_value(GPIO_HDMI_EN, GPIO_LEVEL_LOW);
s3c_gpio_setpull(GPIO_HDMI_EN, S3C_GPIO_PULL_NONE);
s3c_gpio_cfgpin(GPIO_MHL_RST, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_MHL_RST, S3C_GPIO_PULL_NONE);
gpio_set_value(GPIO_MHL_RST, GPIO_LEVEL_LOW);
}
示例13: smdk4210_init_pmic
static void __init smdk4210_init_pmic(void) {
gpio_request(GPIO_PMIC_IRQ, "PMIC_IRQ");
s5p_register_gpio_interrupt(GPIO_PMIC_IRQ);
s3c_gpio_cfgpin(GPIO_PMIC_IRQ, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(GPIO_PMIC_IRQ, S3C_GPIO_PULL_UP);
i2c_devs5[0].irq = gpio_to_irq(GPIO_PMIC_IRQ);
}
示例14: exynos5_universal5420_display_init
void __init exynos5_universal5420_display_init(void)
{
struct resource *res;
struct clk *mout_mdnie1;
struct clk *mout_mpll;
/* GPIO CONFIG */
gpio_request(GPIO_LCD_EN, "LCD_EN");
gpio_request_one(GPIO_TCON_RDY, GPIOF_IN, "TCON_RDY");
gpio_request(GPIO_TCON_INTR, "TCON_INTR");
s3c_gpio_setpull(GPIO_TCON_INTR, S3C_GPIO_PULL_DOWN);
s5p_register_gpio_interrupt(GPIO_TCON_INTR);
tcon_irq = gpio_to_irq(GPIO_TCON_INTR);
#if defined(CONFIG_FB_HW_TRIGGER)
gpio_request(GPIO_PSR_TE, "PSR_TE");
s3c_gpio_cfgpin(GPIO_PSR_TE, S3C_GPIO_SFN(2));
#endif
s5p_dsim1_set_platdata(&dsim_platform_data);
s5p_fimd1_set_platdata(&chagall_lcd1_pdata);
s5p_mic_set_platdata(&chagall_fb_win0);
platform_add_devices(chagall_display_devices,
ARRAY_SIZE(chagall_display_devices));
mout_mdnie1 = clk_get(NULL, "mout_mdnie1");
if ((IS_ERR(mout_mdnie1)))
pr_err("Can't get clock[%s]\n", "mout_mdnie1");
mout_mpll = clk_get(NULL, "mout_mpll");
if ((IS_ERR(mout_mpll)))
pr_err("Can't get clock[%s]\n", "mout_mpll");
if (mout_mdnie1 && mout_mpll)
clk_set_parent(mout_mdnie1, mout_mpll);
if (mout_mdnie1)
clk_put(mout_mdnie1);
if (mout_mpll)
clk_put(mout_mpll);
exynos5_fimd1_setup_clock(&s5p_device_fimd1.dev,
"sclk_fimd", "mout_mdnie1", 266 * MHZ);
keep_lcd_clk(&s5p_device_fimd1.dev, 1);
res = platform_get_resource(&s5p_device_fimd1, IORESOURCE_MEM, 1);
if (res) {
res->start = bootloaderfb_start;
res->end = res->start + bootloaderfb_size - 1;
pr_info("bootloader fb located at %8X-%8X\n", res->start, res->end);
} else {
pr_err("failed to find bootloader fb resource\n");
}
}
示例15: exynos5_m6x_display_init
void __init exynos5_m6x_display_init(void)
{
#if defined(CONFIG_FB_VIDEO_PSR)
// For TE_VSYNC, GPIO initialization will be processed
// in m6x_init_gpio_cfg of gpio-m6x.c after this step
// This interrupt will be chained to 77 (gpio_RT group)
int irq;
irq = s5p_register_gpio_interrupt(MEIZU_LCD_TE);
if (IS_ERR_VALUE(irq)){
pr_err("%s: Failed to configure GPJ1(7) \n", __func__);
return;
}
#endif
#ifdef CONFIG_FB_MIPI_DSIM
#ifdef CONFIG_S5P_DEV_MIPI_DSIM0
s5p_dsim0_set_platdata(&dsim_platform_data);
#else
s5p_dsim1_set_platdata(&dsim_platform_data);
#endif
#endif
#ifdef CONFIG_S5P_DP
s5p_dp_set_platdata(&smdk5410_dp_data);
#endif
#ifdef CONFIG_S5P_DEV_FIMD0
s5p_fimd0_set_platdata(&m6x_lcd0_pdata);
#else
s5p_fimd1_set_platdata(&m6x_lcd1_pdata);
#endif
#if defined(CONFIG_BACKLIGHT_LM3695) || defined(CONFIG_BACKLIGHT_LM3630)
lm3695_rt_init_res();
i2c_register_board_info(9, i2c_bl, ARRAY_SIZE(i2c_bl));
#endif
#ifdef CONFIG_TPS65132
i2c_register_board_info(14, i2c_tps, ARRAY_SIZE(i2c_tps));
#endif
platform_add_devices(m6x_display_devices,
ARRAY_SIZE(m6x_display_devices));
#ifdef CONFIG_S5P_DP
exynos5_fimd1_setup_clock(&s5p_device_fimd1.dev,
"sclk_fimd", "mout_mpll_bpll", 267 * MHZ);
#endif
#ifdef CONFIG_FB_MIPI_DSIM
#if defined(CONFIG_S5P_DEV_FIMD0)
exynos5_fimd0_setup_clock(&s5p_device_fimd0.dev,
"sclk_fimd", "mout_mpll_bpll", 140 * MHZ);
#else
exynos5_fimd1_setup_clock(&s5p_device_fimd1.dev,
"sclk_fimd", "mout_mpll_bpll", 140 * MHZ);
#endif
#endif
}