[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