Loading drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.c +53 −40 Original line number Diff line number Diff line Loading @@ -3193,7 +3193,7 @@ static int syna_tcm_fb_notifier_cb(struct notifier_block *nb, static int synaptics_tcm_pinctrl_init(struct syna_tcm_hcd *tcm_hcd) { int retval; int retval = 0; /* Get pinctrl if target uses pinctrl */ tcm_hcd->ts_pinctrl = devm_pinctrl_get((tcm_hcd->pdev->dev.parent)); Loading Loading @@ -3233,7 +3233,7 @@ static int synaptics_tcm_pinctrl_init(struct syna_tcm_hcd *tcm_hcd) PINCTRL_STATE_RELEASE, retval); } return 0; return retval; err_pinctrl_lookup: devm_pinctrl_put(tcm_hcd->ts_pinctrl); Loading Loading @@ -3356,30 +3356,10 @@ static int syna_tcm_probe(struct platform_device *pdev) goto err_get_regulator; } retval = syna_tcm_enable_regulator(tcm_hcd, true); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to enable regulators\n"); goto err_enable_regulator; } retval = syna_tcm_config_gpio(tcm_hcd); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to configure GPIO's\n"); goto err_config_gpio; } retval = synaptics_tcm_pinctrl_init(tcm_hcd); if (!retval && tcm_hcd->ts_pinctrl) { retval = pinctrl_select_state( tcm_hcd->ts_pinctrl, tcm_hcd->pinctrl_state_active); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "%s: Failed to select %s pinstate %d\n", __func__, PINCTRL_STATE_ACTIVE, retval); } LOGE(tcm_hcd->pdev->dev.parent, "Failed to init pinctrl\n"); goto err_pinctrl_init; } sysfs_dir = kobject_create_and_add(PLATFORM_DRIVER_NAME, Loading Loading @@ -3495,21 +3475,7 @@ static int syna_tcm_probe(struct platform_device *pdev) kobject_put(tcm_hcd->sysfs_dir); err_sysfs_create_dir: if (bdata->irq_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->irq_gpio, false, 0, 0); if (bdata->power_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->power_gpio, false, 0, 0); if (bdata->reset_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->reset_gpio, false, 0, 0); err_config_gpio: syna_tcm_enable_regulator(tcm_hcd, false); err_enable_regulator: syna_tcm_get_regulator(tcm_hcd, false); err_pinctrl_init: err_get_regulator: device_init_wakeup(&pdev->dev, 0); Loading @@ -3529,8 +3495,33 @@ static int syna_tcm_probe(struct platform_device *pdev) static int syna_tcm_deferred_probe(struct device *dev) { int retval; const struct syna_tcm_board_data *bdata; struct syna_tcm_hcd *tcm_hcd = dev_get_drvdata(dev); retval = pinctrl_select_state( tcm_hcd->ts_pinctrl, tcm_hcd->pinctrl_state_active); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to pinctrl_select_state\n"); goto err_pinctrl_select_state; } retval = syna_tcm_enable_regulator(tcm_hcd, true); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to enable regulators\n"); goto err_enable_regulator; } retval = syna_tcm_config_gpio(tcm_hcd); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to configure GPIO's\n"); goto err_config_gpio; } retval = tcm_hcd->enable_irq(tcm_hcd, true, NULL); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, Loading Loading @@ -3560,6 +3551,28 @@ static int syna_tcm_deferred_probe(struct device *dev) err_reset: #endif err_enable_irq: err_config_gpio: syna_tcm_enable_regulator(tcm_hcd, false); err_enable_regulator: syna_tcm_get_regulator(tcm_hcd, false); err_pinctrl_select_state: if (!tcm_hcd->hw_if || !tcm_hcd->hw_if->bdata) return -EINVAL; bdata = tcm_hcd->hw_if->bdata; if (bdata->irq_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->irq_gpio, false, 0, 0); if (bdata->power_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->power_gpio, false, 0, 0); if (bdata->reset_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->reset_gpio, false, 0, 0); return retval; } Loading Loading
drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.c +53 −40 Original line number Diff line number Diff line Loading @@ -3193,7 +3193,7 @@ static int syna_tcm_fb_notifier_cb(struct notifier_block *nb, static int synaptics_tcm_pinctrl_init(struct syna_tcm_hcd *tcm_hcd) { int retval; int retval = 0; /* Get pinctrl if target uses pinctrl */ tcm_hcd->ts_pinctrl = devm_pinctrl_get((tcm_hcd->pdev->dev.parent)); Loading Loading @@ -3233,7 +3233,7 @@ static int synaptics_tcm_pinctrl_init(struct syna_tcm_hcd *tcm_hcd) PINCTRL_STATE_RELEASE, retval); } return 0; return retval; err_pinctrl_lookup: devm_pinctrl_put(tcm_hcd->ts_pinctrl); Loading Loading @@ -3356,30 +3356,10 @@ static int syna_tcm_probe(struct platform_device *pdev) goto err_get_regulator; } retval = syna_tcm_enable_regulator(tcm_hcd, true); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to enable regulators\n"); goto err_enable_regulator; } retval = syna_tcm_config_gpio(tcm_hcd); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to configure GPIO's\n"); goto err_config_gpio; } retval = synaptics_tcm_pinctrl_init(tcm_hcd); if (!retval && tcm_hcd->ts_pinctrl) { retval = pinctrl_select_state( tcm_hcd->ts_pinctrl, tcm_hcd->pinctrl_state_active); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "%s: Failed to select %s pinstate %d\n", __func__, PINCTRL_STATE_ACTIVE, retval); } LOGE(tcm_hcd->pdev->dev.parent, "Failed to init pinctrl\n"); goto err_pinctrl_init; } sysfs_dir = kobject_create_and_add(PLATFORM_DRIVER_NAME, Loading Loading @@ -3495,21 +3475,7 @@ static int syna_tcm_probe(struct platform_device *pdev) kobject_put(tcm_hcd->sysfs_dir); err_sysfs_create_dir: if (bdata->irq_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->irq_gpio, false, 0, 0); if (bdata->power_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->power_gpio, false, 0, 0); if (bdata->reset_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->reset_gpio, false, 0, 0); err_config_gpio: syna_tcm_enable_regulator(tcm_hcd, false); err_enable_regulator: syna_tcm_get_regulator(tcm_hcd, false); err_pinctrl_init: err_get_regulator: device_init_wakeup(&pdev->dev, 0); Loading @@ -3529,8 +3495,33 @@ static int syna_tcm_probe(struct platform_device *pdev) static int syna_tcm_deferred_probe(struct device *dev) { int retval; const struct syna_tcm_board_data *bdata; struct syna_tcm_hcd *tcm_hcd = dev_get_drvdata(dev); retval = pinctrl_select_state( tcm_hcd->ts_pinctrl, tcm_hcd->pinctrl_state_active); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to pinctrl_select_state\n"); goto err_pinctrl_select_state; } retval = syna_tcm_enable_regulator(tcm_hcd, true); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to enable regulators\n"); goto err_enable_regulator; } retval = syna_tcm_config_gpio(tcm_hcd); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, "Failed to configure GPIO's\n"); goto err_config_gpio; } retval = tcm_hcd->enable_irq(tcm_hcd, true, NULL); if (retval < 0) { LOGE(tcm_hcd->pdev->dev.parent, Loading Loading @@ -3560,6 +3551,28 @@ static int syna_tcm_deferred_probe(struct device *dev) err_reset: #endif err_enable_irq: err_config_gpio: syna_tcm_enable_regulator(tcm_hcd, false); err_enable_regulator: syna_tcm_get_regulator(tcm_hcd, false); err_pinctrl_select_state: if (!tcm_hcd->hw_if || !tcm_hcd->hw_if->bdata) return -EINVAL; bdata = tcm_hcd->hw_if->bdata; if (bdata->irq_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->irq_gpio, false, 0, 0); if (bdata->power_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->power_gpio, false, 0, 0); if (bdata->reset_gpio >= 0) syna_tcm_set_gpio(tcm_hcd, bdata->reset_gpio, false, 0, 0); return retval; } Loading