[PATCH v3 1/4] Input: Add driver for Cypress Generation 5 touchscreen
kernel test robot
lkp at intel.com
Mon Dec 6 15:47:53 PST 2021
Hi Alistair,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on robh/for-next linus/master v5.16-rc4 next-20211206]
[cannot apply to dtor-input/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alistair-Francis/Add-support-for-the-Cypress-cyttsp5/20211202-202300
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 136057256686de39cc3a07c2e39ef6bc43003ff6
config: microblaze-randconfig-m031-20211207 (https://download.01.org/0day-ci/archive/20211207/202112070710.hut43Md3-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/737a89fa2dc4a337dea6a131b8b94fcc49fdcec5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alistair-Francis/Add-support-for-the-Cypress-cyttsp5/20211202-202300
git checkout 737a89fa2dc4a337dea6a131b8b94fcc49fdcec5
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/input/touchscreen/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
drivers/input/touchscreen/cyttsp5.c: In function 'cyttsp5_probe':
>> drivers/input/touchscreen/cyttsp5.c:931:26: error: implicit declaration of function 'devm_gpiod_get_optional'; did you mean 'devm_regulator_get_optional'? [-Werror=implicit-function-declaration]
931 | ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~~~~~~~~~~
| devm_regulator_get_optional
>> drivers/input/touchscreen/cyttsp5.c:931:64: error: 'GPIOD_OUT_HIGH' undeclared (first use in this function); did you mean 'GPIOF_INIT_HIGH'?
931 | ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~
| GPIOF_INIT_HIGH
drivers/input/touchscreen/cyttsp5.c:931:64: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/input/touchscreen/cyttsp5.c:937:9: error: implicit declaration of function 'gpiod_set_value'; did you mean 'gpio_set_value'? [-Werror=implicit-function-declaration]
937 | gpiod_set_value(ts->reset_gpio, 0);
| ^~~~~~~~~~~~~~~
| gpio_set_value
cc1: some warnings being treated as errors
vim +931 drivers/input/touchscreen/cyttsp5.c
881
882 static int cyttsp5_probe(struct device *dev, struct regmap *regmap, int irq,
883 const char *name)
884 {
885 struct cyttsp5 *ts;
886 struct cyttsp5_sysinfo *si;
887 int error, i;
888
889 ts = devm_kzalloc(dev, sizeof(*ts), GFP_KERNEL);
890 if (!ts)
891 return -ENOMEM;
892
893 /* Initialize device info */
894 ts->regmap = regmap;
895 ts->dev = dev;
896 si = &ts->sysinfo;
897 dev_set_drvdata(dev, ts);
898
899 /* Initialize wait queue */
900 init_waitqueue_head(&ts->wait_q);
901
902 /* Power up the device */
903 ts->vdd = regulator_get(dev, "vdd");
904 if (IS_ERR(ts->vdd)) {
905 error = PTR_ERR(ts->vdd);
906 dev_set_drvdata(dev, NULL);
907 kfree(ts);
908 return error;
909 }
910
911 error = regulator_enable(ts->vdd);
912 if (error) {
913 regulator_put(ts->vdd);
914 dev_set_drvdata(dev, NULL);
915 kfree(ts);
916 return error;
917 }
918
919 ts->input = devm_input_allocate_device(dev);
920 if (!ts->input) {
921 dev_err(dev, "Error, failed to allocate input device\n");
922 return -ENODEV;
923 }
924
925 ts->input->name = "cyttsp5";
926 scnprintf(ts->phys, sizeof(ts->phys), "%s/input0", dev_name(dev));
927 ts->input->phys = ts->phys;
928 input_set_drvdata(ts->input, ts);
929
930 /* Reset the gpio to be in a reset state */
> 931 ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
932 if (IS_ERR(ts->reset_gpio)) {
933 error = PTR_ERR(ts->reset_gpio);
934 dev_err(dev, "Failed to request reset gpio, error %d\n", error);
935 return error;
936 }
> 937 gpiod_set_value(ts->reset_gpio, 0);
938
939 /* Need a delay to have device up */
940 msleep(20);
941
942 error = devm_request_threaded_irq(dev, irq, NULL, cyttsp5_handle_irq,
943 IRQF_ONESHOT, name, ts);
944 if (error) {
945 dev_err(dev, "unable to request IRQ\n");
946 return error;
947 }
948
949 error = cyttsp5_startup(ts);
950 if (error) {
951 dev_err(ts->dev, "Fail initial startup r=%d\n", error);
952 return error;
953 }
954
955 error = cyttsp5_parse_dt_key_code(dev);
956 if (error < 0) {
957 dev_err(ts->dev, "Error while parsing dts %d\n", error);
958 return error;
959 }
960
961 touchscreen_parse_properties(ts->input, true, &ts->prop);
962
963 __set_bit(EV_KEY, ts->input->evbit);
964 for (i = 0; i < si->num_btns; i++)
965 __set_bit(si->key_code[i], ts->input->keybit);
966
967 return cyttsp5_setup_input_device(dev);
968 }
969
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
More information about the linux-arm-kernel
mailing list