本文整理汇总了C++中pinctrl_lookup_state函数的典型用法代码示例。如果您正苦于以下问题:C++ pinctrl_lookup_state函数的具体用法?C++ pinctrl_lookup_state怎么用?C++ pinctrl_lookup_state使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pinctrl_lookup_state函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: nfc_pinctrl_init
static int nfc_pinctrl_init(struct device *dev)
{
bcm2079x_pctrl.pinctrl = devm_pinctrl_get(dev);
if (IS_ERR_OR_NULL(bcm2079x_pctrl.pinctrl)) {
pr_err("%s:%d Getting pinctrl handle failed\n",
__func__, __LINE__);
return -EINVAL;
}
bcm2079x_pctrl.nfc_gpio_state_active = pinctrl_lookup_state(
bcm2079x_pctrl.pinctrl,
BCM2079X_STATE_ACTIVE);
if (IS_ERR_OR_NULL(bcm2079x_pctrl.nfc_gpio_state_active)) {
pr_err("%s:%d Failed to get the active state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
bcm2079x_pctrl.nfc_gpio_state_suspend = pinctrl_lookup_state(
bcm2079x_pctrl.pinctrl,
BCM2079X_STATE_SUSPEND);
if (IS_ERR_OR_NULL(bcm2079x_pctrl.nfc_gpio_state_active)) {
pr_err("%s:%d Failed to get the suspend state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
return 0;
}
开发者ID:youyim,项目名称:Z9Max_NX510J_V1_kernel,代码行数:29,代码来源:bcm2079x-i2c.c
示例2: cyttsp3_pinctrl_init
static int cyttsp3_pinctrl_init(struct device *dev)
{
cyttsp3_pctrl.pinctrl = devm_pinctrl_get(dev);
if (IS_ERR_OR_NULL(cyttsp3_pctrl.pinctrl)) {
pr_err("%s:%d Getting pinctrl handle failed\n",
__func__, __LINE__);
return -EINVAL;
}
cyttsp3_pctrl.gpio_state_active = pinctrl_lookup_state(
cyttsp3_pctrl.pinctrl,
CY_PINCTRL_STATE_DEFAULT);
if (IS_ERR_OR_NULL(cyttsp3_pctrl.gpio_state_active)) {
pr_err("%s:%d Failed to get the active state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
cyttsp3_pctrl.gpio_state_suspend = pinctrl_lookup_state(
cyttsp3_pctrl.pinctrl,
CY_PINCTRL_STATE_SLEEP);
if (IS_ERR_OR_NULL(cyttsp3_pctrl.gpio_state_suspend)) {
pr_err("%s:%d Failed to get the suspend state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
return 0;
}
开发者ID:moonlightly,项目名称:NX523J_kernel,代码行数:29,代码来源:cyttsp3_i2c.c
示例3: mdss_dsi_pinctrl_init
static int mdss_dsi_pinctrl_init(struct platform_device *pdev)
{
struct mdss_dsi_ctrl_pdata *ctrl_pdata;
ctrl_pdata = platform_get_drvdata(pdev);
ctrl_pdata->pin_res.pinctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR_OR_NULL(ctrl_pdata->pin_res.pinctrl)) {
pr_err("%s: failed to get pinctrl\n", __func__);
return PTR_ERR(ctrl_pdata->pin_res.pinctrl);
}
ctrl_pdata->pin_res.gpio_state_active
= pinctrl_lookup_state(ctrl_pdata->pin_res.pinctrl,
MDSS_PINCTRL_STATE_DEFAULT);
if (IS_ERR_OR_NULL(ctrl_pdata->pin_res.gpio_state_active))
pr_warn("%s: can not get default pinstate\n", __func__);
ctrl_pdata->pin_res.gpio_state_suspend
= pinctrl_lookup_state(ctrl_pdata->pin_res.pinctrl,
MDSS_PINCTRL_STATE_SLEEP);
if (IS_ERR_OR_NULL(ctrl_pdata->pin_res.gpio_state_suspend))
pr_warn("%s: can not get sleep pinstate\n", __func__);
return 0;
}
开发者ID:netqer,项目名称:android_kernel_N958St,代码行数:25,代码来源:mdss_dsi.c
示例4: cyttsp4_pinctrl_init
static int cyttsp4_pinctrl_init(struct cyttsp4_core_platform_data *data, int on, struct device *dev)
{
if (!on) {
goto pinctrl_put;
}
data->pinctrl = devm_pinctrl_get(dev->parent);
if (IS_ERR_OR_NULL(data->pinctrl)) {
dev_err(dev, "%s:failed to get pinctrl!\n", __func__);
return PTR_ERR(data->pinctrl);
}
data->gpio_state_active = pinctrl_lookup_state(data->pinctrl, "pmx_ts_active");
if (IS_ERR_OR_NULL(data->gpio_state_active)) {
dev_err(dev, "%s:failed to look up pmx_ts_active state!\n", __func__);
return PTR_ERR(data->gpio_state_active);
}
data->gpio_state_suspend = pinctrl_lookup_state(data->pinctrl, "pmx_ts_suspend");
if (IS_ERR_OR_NULL(data->gpio_state_suspend)) {
dev_err(dev, "%s:failed to look up pmx_ts_suspend state!\n", __func__);
return PTR_ERR(data->gpio_state_suspend);
}
return 0;
pinctrl_put:
devm_pinctrl_put(data->pinctrl);
return 0;
}
开发者ID:BeastOn,项目名称:yu_msm8916,代码行数:30,代码来源:cyttsp4_platform.c
示例5: get_pintctrl
static void get_pintctrl(struct device *dev)
{
if (!pins) {
pins = devm_pinctrl_get(dev);
if (!pins)
pr_err("%s: failed to get pinctrl\n", __func__);
}
if (!state_default) {
state_default = pinctrl_lookup_state(pins, "default");
if (!state_default)
pr_err("%s: failed to get default pinctrl\n", __func__);
}
#if defined(CONFIG_FB_I80_COMMAND_MODE) && !defined(CONFIG_FB_I80_SW_TRIGGER)
if (!state_turnon_tes) {
state_turnon_tes = pinctrl_lookup_state(pins, "turnon_tes");
if (!state_turnon_tes)
pr_err("%s: failed to get default pinctrl\n", __func__);
}
if (!state_turnoff_tes) {
state_turnoff_tes = pinctrl_lookup_state(pins, "turnoff_tes");
if (!state_turnoff_tes)
pr_err("%s: failed to get default pinctrl\n", __func__);
}
#endif
}
开发者ID:Silverblade-nz,项目名称:Alpha15Copy,代码行数:28,代码来源:fimd_pm_exynos.c
示例6: mtkcam_gpio_init
int mtkcam_gpio_init(struct platform_device *pdev)
{
int ret = 0;
camctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(camctrl)) {
dev_err(&pdev->dev, "Cannot find camera pinctrl!");
ret = PTR_ERR(camctrl);
}
cam0_rst_h = pinctrl_lookup_state(camctrl, "cam0_rst1");
if (IS_ERR(cam0_rst_h)) {
ret = PTR_ERR(cam0_rst_h);
pr_debug("%s : pinctrl err, cam0_rst_h\n", __func__);
}
cam0_rst_l = pinctrl_lookup_state(camctrl, "cam0_rst0");
if (IS_ERR(cam0_rst_l)) {
ret = PTR_ERR(cam0_rst_l);
pr_debug("%s : pinctrl err, cam0_rst_l\n", __func__);
}
cam1_rst_h = pinctrl_lookup_state(camctrl, "cam1_rst1");
if (IS_ERR(cam1_rst_h)) {
ret = PTR_ERR(cam1_rst_h);
pr_debug("%s : pinctrl err, cam1_rst_h\n", __func__);
}
cam1_rst_l = pinctrl_lookup_state(camctrl, "cam1_rst0");
if (IS_ERR(cam1_rst_l)) {
ret = PTR_ERR(cam1_rst_l);
pr_debug("%s : pinctrl err, cam1_rst_l\n", __func__);
}
return ret;
}
开发者ID:P-D-A,项目名称:android_kernel_lge_mt6753,代码行数:34,代码来源:kd_camera_hw.c
示例7: msm_camera_pinctrl_init
static int msm_camera_pinctrl_init(struct msm_camera_power_ctrl_t *ctrl)
{
struct msm_pinctrl_info *sensor_pctrl = NULL;
sensor_pctrl = &ctrl->pinctrl_info;
sensor_pctrl->pinctrl = devm_pinctrl_get(ctrl->dev);
if (IS_ERR_OR_NULL(sensor_pctrl->pinctrl)) {
pr_err("%s:%d Getting pinctrl handle failed\n",
__func__, __LINE__);
return -EINVAL;
}
sensor_pctrl->gpio_state_active =
pinctrl_lookup_state(sensor_pctrl->pinctrl,
CAM_SENSOR_PINCTRL_STATE_DEFAULT);
if (IS_ERR_OR_NULL(sensor_pctrl->gpio_state_active)) {
pr_err("%s:%d Failed to get the active state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
sensor_pctrl->gpio_state_suspend
= pinctrl_lookup_state(sensor_pctrl->pinctrl,
CAM_SENSOR_PINCTRL_STATE_SLEEP);
if (IS_ERR_OR_NULL(sensor_pctrl->gpio_state_suspend)) {
pr_err("%s:%d Failed to get the suspend state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
return 0;
}
开发者ID:touchpro,项目名称:android_kernel_lge_ls770,代码行数:29,代码来源:msm_camera_dt_util.c
示例8: pinctrl_init
static int pinctrl_init(struct i2c_client *client)
{
struct lge_touch_data *ts = i2c_get_clientdata(client);
/* Get pinctrl if target uses pinctrl */
ts->ts_pinctrl = devm_pinctrl_get(&(client->dev));
if (IS_ERR(ts->ts_pinctrl)) {
if (PTR_ERR(ts->ts_pinctrl) == -EPROBE_DEFER) {
LGTC_ERR("ts_pinctrl == -EPROBE_DEFER\n");
return -EPROBE_DEFER;
}
LGTC_DBG("Target does not use pinctrl(ts->ts_pinctrl == NULL) \n");
ts->ts_pinctrl = NULL;
}
if (ts->ts_pinctrl) {
ts->ts_pinset_state_active = pinctrl_lookup_state(ts->ts_pinctrl, "pmx_ts_active");
if (IS_ERR(ts->ts_pinset_state_active))
LGTC_DBG("cannot get ts pinctrl active state\n");
ts->ts_pinset_state_suspend = pinctrl_lookup_state(ts->ts_pinctrl, "pmx_ts_suspend");
if (IS_ERR(ts->ts_pinset_state_suspend))
LGTC_DBG("cannot get ts pinctrl active state\n");
if (ts->ts_pinset_state_active) {
DO_SAFE(pinctrl_select_state(ts->ts_pinctrl, ts->ts_pinset_state_active), error);
} else {
LGTC_DBG("pinctrl active == NULL \n");
}
}
return NO_ERROR;
error:
return ERROR;
}
开发者ID:GameTheory-,项目名称:android_kernel_g4stylusn2,代码行数:35,代码来源:lgtp_platform_api.c
示例9: tpd_init_pins
static int tpd_init_pins(struct platform_device *pdev)
{
struct panel_drv_data *ddata = platform_get_drvdata(pdev);
struct device_node *node;
ddata->pins = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(ddata->pins))
return PTR_ERR(ddata->pins);
ddata->pin_state_i2c = pinctrl_lookup_state(ddata->pins, "i2c");
if (IS_ERR(ddata->pin_state_i2c))
return PTR_ERR(ddata->pin_state_i2c);
ddata->pin_state_ddc = pinctrl_lookup_state(ddata->pins, "ddc");
if (IS_ERR(ddata->pin_state_ddc))
return PTR_ERR(ddata->pin_state_ddc);
node = of_parse_phandle(pdev->dev.of_node, "ddc-i2c-bus", 0);
if (!node)
return -ENODEV;
ddata->ddc_i2c_adapter = of_find_i2c_adapter_by_node(node);
if (!ddata->ddc_i2c_adapter)
return -ENODEV;
return 0;
}
开发者ID:pgurenko,项目名称:VAR-SOM-AM33-Kernel-3-14,代码行数:27,代码来源:dra7-evm-encoder-tpd12s015.c
示例10: pinctrl_init
static int pinctrl_init(struct cyttsp4_core_platform_data *pdata)
{
int retval;
pdata->gpio_state_active
= pinctrl_lookup_state(pdata->ts_pinctrl, "pmx_ts_active");
if (IS_ERR_OR_NULL(pdata->gpio_state_active)) {
pr_err("[TSP] %s : Can not get ts default pinstate\n",
CYTTSP4_I2C_NAME);
retval = PTR_ERR(pdata->gpio_state_active);
pdata->ts_pinctrl = NULL;
return retval;
}
pdata->gpio_state_suspend
= pinctrl_lookup_state(pdata->ts_pinctrl, "pmx_ts_suspend");
if (IS_ERR_OR_NULL(pdata->gpio_state_suspend)) {
pr_err("[TSP] %s : Can not get ts sleep pinstate\n",
CYTTSP4_I2C_NAME);
retval = PTR_ERR(pdata->gpio_state_suspend);
pdata->ts_pinctrl = NULL;
return retval;
}
return 0;
}
开发者ID:faizauthar12,项目名称:android_kernel_samsung_fortunave3g,代码行数:26,代码来源:cyttsp4_platform.c
示例11: sms_power_ctrl_of_get_pinctrl
static int sms_power_ctrl_of_get_pinctrl(struct device *dev)
{
pr_info("sms_power_ctrl_of_get_pinctrl\n");
pinctrl_info.pinctrl = devm_pinctrl_get(dev);
if (IS_ERR(pinctrl_info.pinctrl)) {
pr_err("%s:failed to get pinctrl\n", __func__);
return PTR_ERR(pinctrl_info.pinctrl);
}
#if 0
pinctrl_info.sms_pins_active = pinctrl_lookup_state(pinctrl_info.pinctrl,
PINCTRL_STATE_ACTIVE);
if (IS_ERR(pinctrl_info.sms_pins_active)) {
pr_err("%s Can not get sms power control gpio default pinstate\n", __func__);
return PTR_ERR(pinctrl_info.sms_pins_active);
}
pinctrl_info.sms_pins_suspend = pinctrl_lookup_state(pinctrl_info.pinctrl,
PINCTRL_STATE_SUSPEND);
if (IS_ERR(pinctrl_info.sms_pins_suspend)) {
pr_err("%s Can not get sms power control gpio suspend pinstate\n", __func__);
return PTR_ERR(pinctrl_info.sms_pins_suspend);
}
#endif
return 0;
}
开发者ID:iuncuim,项目名称:A476_V1B_5.1_kernel,代码行数:25,代码来源:smspower_customer.c
示例12: tegra_sdhci_init_pinctrl_info
static int tegra_sdhci_init_pinctrl_info(struct device *dev,
struct sdhci_tegra *tegra_host)
{
tegra_host->pinctrl_sdmmc = devm_pinctrl_get(dev);
if (IS_ERR(tegra_host->pinctrl_sdmmc)) {
dev_dbg(dev, "No pinctrl info, err: %ld\n",
PTR_ERR(tegra_host->pinctrl_sdmmc));
return -1;
}
tegra_host->pinctrl_state_3v3 =
pinctrl_lookup_state(tegra_host->pinctrl_sdmmc, "sdmmc-3v3");
if (IS_ERR(tegra_host->pinctrl_state_3v3)) {
dev_warn(dev, "Missing 3.3V pad state, err: %ld\n",
PTR_ERR(tegra_host->pinctrl_state_3v3));
return -1;
}
tegra_host->pinctrl_state_1v8 =
pinctrl_lookup_state(tegra_host->pinctrl_sdmmc, "sdmmc-1v8");
if (IS_ERR(tegra_host->pinctrl_state_1v8)) {
dev_warn(dev, "Missing 1.8V pad state, err: %ld\n",
PTR_ERR(tegra_host->pinctrl_state_1v8));
return -1;
}
tegra_host->pad_control_available = true;
return 0;
}
开发者ID:ezequielgarcia,项目名称:linux,代码行数:30,代码来源:sdhci-tegra.c
示例13: gf_init_pinctrl
int gf_init_pinctrl(struct gf_dev *gf_dev, struct device *dev)
{
GF_LOG_INFO("start\n");
gf_dev->gf_pctrl.pinctrl= devm_pinctrl_get(dev);
if (IS_ERR_OR_NULL(gf_dev->gf_pctrl.pinctrl)) {
GF_LOG_ERROR("failed to get pinctrl handle\n");
return -EINVAL;
}
gf_dev->gf_pctrl.gpio_state_active = pinctrl_lookup_state(gf_dev->gf_pctrl.pinctrl,
"gf_active");
if (IS_ERR_OR_NULL(gf_dev->gf_pctrl.gpio_state_active)) {
GF_LOG_ERROR("failed to get active state pinctrl handle\n");
return -EINVAL;
}
gf_dev->gf_pctrl.gpio_state_suspend = pinctrl_lookup_state(gf_dev->gf_pctrl.pinctrl,
"gf_suspend");
if (IS_ERR_OR_NULL(gf_dev->gf_pctrl.gpio_state_suspend)) {
GF_LOG_ERROR("failed to get suspend state pinctrl handle\n");
return -EINVAL;
}
gf_dev->gf_pctrl.gpio_int_active = pinctrl_lookup_state(gf_dev->gf_pctrl.pinctrl,
"gf_int_active");
if (IS_ERR_OR_NULL(gf_dev->gf_pctrl.gpio_int_active)) {
GF_LOG_ERROR("failed to get int active state pinctrl handle\n");
return -EINVAL;
}
GF_LOG_INFO("success\n");
return 0;
}
开发者ID:moonlightly,项目名称:NX523J_kernel,代码行数:35,代码来源:gf-spi.c
示例14: msm_flash_pinctrl_init
static int msm_flash_pinctrl_init(struct msm_led_flash_ctrl_t *ctrl)
{
struct msm_pinctrl_info *flash_pctrl = NULL;
flash_pctrl = &ctrl->pinctrl_info;
flash_pctrl->pinctrl = devm_pinctrl_get(&ctrl->flash_i2c_client->client->dev);
if (IS_ERR_OR_NULL(flash_pctrl->pinctrl)) {
pr_err("%s:%d Getting pinctrl handle failed\n",
__func__, __LINE__);
return -EINVAL;
}
flash_pctrl->gpio_state_active = pinctrl_lookup_state(
flash_pctrl->pinctrl,
CAM_FLASH_PINCTRL_STATE_DEFAULT);
if (IS_ERR_OR_NULL(flash_pctrl->gpio_state_active)) {
pr_err("%s:%d Failed to get the active state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
flash_pctrl->gpio_state_suspend = pinctrl_lookup_state(
flash_pctrl->pinctrl,
CAM_FLASH_PINCTRL_STATE_SLEEP);
if (IS_ERR_OR_NULL(flash_pctrl->gpio_state_suspend)) {
pr_err("%s:%d Failed to get the suspend state pinctrl handle\n",
__func__, __LINE__);
return -EINVAL;
}
return 0;
}
开发者ID:GameTheory-,项目名称:android_kernel_g4stylusn2,代码行数:32,代码来源:msm_led_i2c_trigger_lm3559.c
示例15: gpio_keys_pinctrl_configure
static int gpio_keys_pinctrl_configure(struct gpio_keys_drvdata *ddata,
bool active)
{
struct pinctrl_state *set_state;
int retval;
if (active) {
set_state =
pinctrl_lookup_state(ddata->key_pinctrl,
"tlmm_gpio_key_active");
if (IS_ERR(set_state)) {
dev_err(&ddata->input->dev,
"cannot get ts pinctrl active state\n");
return PTR_ERR(set_state);
}
} else {
set_state =
pinctrl_lookup_state(ddata->key_pinctrl,
"tlmm_gpio_key_suspend");
if (IS_ERR(set_state)) {
dev_err(&ddata->input->dev,
"cannot get gpiokey pinctrl sleep state\n");
return PTR_ERR(set_state);
}
}
retval = pinctrl_select_state(ddata->key_pinctrl, set_state);
if (retval) {
dev_err(&ddata->input->dev,
"cannot set ts pinctrl active state\n");
return retval;
}
return 0;
}
开发者ID:DestructoSphere,项目名称:android_kernel_huawei_msm8909,代码行数:34,代码来源:gpio_keys.c
示例16: ispv1_io_hw_init
/*
**************************************************************************
* FunctionName: ispv1_io_hw_init;
* Description : ispio & csi init;
* Input : pdev: used to get resource
* Output : NA;
* ReturnValue : NA;
* Other : NA;
**************************************************************************
*/
int ispv1_io_hw_init(struct platform_device *pdev)
{
int ret = 0;
print_debug("enter %s, pdev[%p]", __func__, pdev);
ispv1_io_set_default();
ispv1_io.pdev = pdev;
/* pinctrl enable */
ispv1_io.isp_pinctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(ispv1_io.isp_pinctrl)) {
print_error("%s :could not get pinctrl\n",__FUNCTION__);
return ret;
}
ispv1_io.pinctrl_def = pinctrl_lookup_state(ispv1_io.isp_pinctrl,PINCTRL_STATE_DEFAULT);
if (IS_ERR(ispv1_io.pinctrl_def)) {
print_error("%s : could not get def state\n", __FUNCTION__);
}
ispv1_io.pinctrl_idle = pinctrl_lookup_state(ispv1_io.isp_pinctrl,PINCTRL_STATE_IDLE);
if (IS_ERR(ispv1_io.pinctrl_idle)) {
print_error("%s : could not get idle state\n", __FUNCTION__);
}
return ret;
}
开发者ID:mildrock,项目名称:overlay_plane_display,代码行数:40,代码来源:k3_ispv1_io.c
示例17: asc_init_port
static int asc_init_port(struct asc_port *ascport,
struct platform_device *pdev)
{
struct uart_port *port = &ascport->port;
struct resource *res;
int ret;
port->iotype = UPIO_MEM;
port->flags = UPF_BOOT_AUTOCONF;
port->ops = &asc_uart_ops;
port->fifosize = ASC_FIFO_SIZE;
port->dev = &pdev->dev;
port->irq = platform_get_irq(pdev, 0);
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
port->membase = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(port->membase))
return PTR_ERR(port->membase);
port->mapbase = res->start;
spin_lock_init(&port->lock);
ascport->clk = devm_clk_get(&pdev->dev, NULL);
if (WARN_ON(IS_ERR(ascport->clk)))
return -EINVAL;
/* ensure that clk rate is correct by enabling the clk */
clk_prepare_enable(ascport->clk);
ascport->port.uartclk = clk_get_rate(ascport->clk);
WARN_ON(ascport->port.uartclk == 0);
clk_disable_unprepare(ascport->clk);
ascport->pinctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(ascport->pinctrl)) {
ret = PTR_ERR(ascport->pinctrl);
dev_err(&pdev->dev, "Failed to get Pinctrl: %d\n", ret);
return ret;
}
ascport->states[DEFAULT] =
pinctrl_lookup_state(ascport->pinctrl, "default");
if (IS_ERR(ascport->states[DEFAULT])) {
ret = PTR_ERR(ascport->states[DEFAULT]);
dev_err(&pdev->dev,
"Failed to look up Pinctrl state 'default': %d\n", ret);
return ret;
}
/* "no-hw-flowctrl" state is optional */
ascport->states[NO_HW_FLOWCTRL] =
pinctrl_lookup_state(ascport->pinctrl, "no-hw-flowctrl");
if (IS_ERR(ascport->states[NO_HW_FLOWCTRL]))
ascport->states[NO_HW_FLOWCTRL] = NULL;
return 0;
}
开发者ID:AlexShiLucky,项目名称:linux,代码行数:56,代码来源:st-asc.c
示例18: sim_state_init
static int sim_state_init(struct hisi_sim_hotplug_info *info, struct device *dev)
{
int err = 0;
info->pctrl = devm_pinctrl_get(dev);
if (IS_ERR(info->pctrl)) {
dev_err(dev, "failed to devm pinctrl get\n");
err = -EINVAL;
return err;
}
info->sim_default = pinctrl_lookup_state(info->pctrl, PINCTRL_STATE_DEFAULT);
if (IS_ERR(info->sim_default)) {
dev_err(dev, "failed to pinctrl lookup state default\n");
err = -EINVAL;
return err;
}
info->sim_idle = pinctrl_lookup_state(info->pctrl, PINCTRL_STATE_IDLE);
if (IS_ERR(info->sim_idle)) {
dev_err(dev, "failed to pinctrl lookup state idle\n");
err = -EINVAL;
return err;
}
if (!gpio_get_value(info->det_gpio)) {
info->old_det_gpio_state = 0;
if (NORMAL_CLOSE == info->det_direction) {
info->sim_pluged = SIM_CARD_OUT;
sim_set_inactive(info);
set_sim_status(info, info->sim_id, info->sim_pluged, 3, NO_NOTIFY);
} else {
info->sim_pluged = SIM_CARD_IN;
sim_set_active(info);
set_sim_status(info, info->sim_id, info->sim_pluged, 2, NO_NOTIFY);
}
} else {
info->old_det_gpio_state = 1;
if (NORMAL_CLOSE == info->det_direction) {
info->sim_pluged = SIM_CARD_IN;
sim_set_active(info);
set_sim_status(info, info->sim_id, info->sim_pluged, 2, NO_NOTIFY);
} else {
info->sim_pluged = SIM_CARD_OUT;
sim_set_inactive(info);
set_sim_status(info, info->sim_id, info->sim_pluged, 3, NO_NOTIFY);
}
}
mutex_init(&(info->sim_hotplug_lock));
wake_lock_init(&info->sim_hotplug_wklock, WAKE_LOCK_SUSPEND, "android-simhotplug");
return 0;
}
开发者ID:CM13-HI6210SFT,项目名称:huawei_kernel_3.10.71_hi6210sft,代码行数:54,代码来源:hisi_sim_hotplug.c
示例19: ci13xxx_msm_install_wake_gpio
static int ci13xxx_msm_install_wake_gpio(struct platform_device *pdev,
struct resource *res)
{
int wake_irq;
int ret;
struct pinctrl_state *set_state;
dev_dbg(&pdev->dev, "ci13xxx_msm_install_wake_gpio\n");
_udc_ctxt.wake_gpio = res->start;
if (_udc_ctxt.ci13xxx_pinctrl) {
set_state = pinctrl_lookup_state(_udc_ctxt.ci13xxx_pinctrl,
"ci13xxx_active");
if (IS_ERR(set_state)) {
pr_err("cannot get ci13xxx pinctrl active state\n");
return PTR_ERR(set_state);
}
pinctrl_select_state(_udc_ctxt.ci13xxx_pinctrl, set_state);
}
gpio_request(_udc_ctxt.wake_gpio, "USB_RESUME");
gpio_direction_input(_udc_ctxt.wake_gpio);
wake_irq = gpio_to_irq(_udc_ctxt.wake_gpio);
if (wake_irq < 0) {
dev_err(&pdev->dev, "could not register USB_RESUME GPIO.\n");
return -ENXIO;
}
dev_dbg(&pdev->dev, "_udc_ctxt.gpio_irq = %d and irq = %d\n",
_udc_ctxt.wake_gpio, wake_irq);
ret = request_irq(wake_irq, ci13xxx_msm_resume_irq,
IRQF_TRIGGER_RISING | IRQF_ONESHOT, "usb resume", NULL);
if (ret < 0) {
dev_err(&pdev->dev, "could not register USB_RESUME IRQ.\n");
goto gpio_free;
}
disable_irq(wake_irq);
_udc_ctxt.wake_irq = wake_irq;
return 0;
gpio_free:
gpio_free(_udc_ctxt.wake_gpio);
if (_udc_ctxt.ci13xxx_pinctrl) {
set_state = pinctrl_lookup_state(_udc_ctxt.ci13xxx_pinctrl,
"ci13xxx_sleep");
if (IS_ERR(set_state))
pr_err("cannot get ci13xxx pinctrl sleep state\n");
else
pinctrl_select_state(_udc_ctxt.ci13xxx_pinctrl,
set_state);
}
_udc_ctxt.wake_gpio = 0;
return ret;
}
开发者ID:sztablet2016,项目名称:Android-kernel-msm-3.10,代码行数:54,代码来源:ci13xxx_msm.c
示例20: c55_ctrl_pin_setup
static int c55_ctrl_pin_setup(struct device *dev, struct c55_ctrl_data *cdata)
{
int i, ret = 0;
cdata->pctrl = devm_pinctrl_get(dev);
if (IS_ERR(cdata->pctrl)) {
ret = PTR_ERR(cdata->pctrl);
dev_dbg(dev, "no pinctrl handle\n");
}
for (i = 0; !ret && (i < C55_MODE_MAX); i++) {
cdata->states[i] = pinctrl_lookup_state(cdata->pctrl,
c55_pin_state_labels[i]);
if (IS_ERR(cdata->states[i])) {
ret = PTR_ERR(cdata->states[i]);
dev_dbg(dev, "no %s pinctrl state\n",
c55_pin_state_labels[i]);
}
}
if (!ret) {
ret = pinctrl_select_state(cdata->pctrl,
cdata->states[C55_OFF]);
if (ret)
dev_dbg(dev, "failed to activate %s pinctrl state\n",
c55_pin_state_labels[C55_OFF]);
}
return ret;
}
开发者ID:AlmightyMegadeth00,项目名称:kernel_minnow,代码行数:30,代码来源:c55_ctrl.c
注:本文中的pinctrl_lookup_state函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论