All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Allen_Lin <allencl_lin@hotmail.com>,
	dmitry.torokhov@gmail.com, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	jikos@kernel.org, benjamin.tissoires@redhat.com,
	linux-input@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, Allen_Lin <allencl_lin@hotmail.com>
Subject: Re: [PATCH v2 2/2] Input: Add Himax HX83102J touchscreen driver
Date: Thu, 7 Dec 2023 08:27:24 +0800	[thread overview]
Message-ID: <202312070838.oJSWv4T3-lkp@intel.com> (raw)
In-Reply-To: <TY0PR06MB56119F0D60142F4C1435767C9E84A@TY0PR06MB5611.apcprd06.prod.outlook.com>

Hi Allen_Lin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on hid/for-next]
[also build test WARNING on dtor-input/next dtor-input/for-linus robh/for-next linus/master v6.7-rc4 next-20231206]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Allen_Lin/Input-Add-Himax-HX83102J-touchscreen-driver/20231206-183804
base:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
patch link:    https://lore.kernel.org/r/TY0PR06MB56119F0D60142F4C1435767C9E84A%40TY0PR06MB5611.apcprd06.prod.outlook.com
patch subject: [PATCH v2 2/2] Input: Add Himax HX83102J touchscreen driver
config: sh-randconfig-r053-20231207 (https://download.01.org/0day-ci/archive/20231207/202312070838.oJSWv4T3-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231207/202312070838.oJSWv4T3-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312070838.oJSWv4T3-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/hid/hid-himax-83102j.c:2673:12: warning: 'himax_parse_dt' defined but not used [-Wunused-function]
    2673 | static int himax_parse_dt(struct device_node *dt, struct himax_platform_data *pdata)
         |            ^~~~~~~~~~~~~~


vim +/himax_parse_dt +2673 drivers/hid/hid-himax-83102j.c

  2672	
> 2673	static int himax_parse_dt(struct device_node *dt, struct himax_platform_data *pdata)
  2674	{
  2675		/* pid_fw_name size = length of default_fw_name + length of "_XXXX" +
  2676		 * length of ".bin" + null terminator.
  2677		 */
  2678		static char pid_fw_name[ARRAY_SIZE(default_fw_name) + 5 + 4 + 1] = {0};
  2679		int tmp = 0;
  2680		const int pid_prop_args = 2;
  2681		u32 data = 0;
  2682		int id_gpios[8] = {0};
  2683		int counter = 0;
  2684		int i = 0;
  2685		s16 id_value = -1;
  2686		int dts_irq = 0;
  2687		int err = 0;
  2688	
  2689		UNUSED(default_fw_name);
  2690		if (!dt || !pdata) {
  2691			E("DT: dev or pdata is NULL");
  2692			return -EINVAL;
  2693		}
  2694	
  2695		dts_irq = of_irq_get(dt, 0);
  2696		D("DT: dts_irq = %d", dts_irq);
  2697		if (dts_irq <= 0) {
  2698			if (dts_irq == -EPROBE_DEFER)
  2699				E("DT: dts_irq = -EPROBE_DEFER");
  2700			return -EIO;
  2701		}
  2702	
  2703		pdata->of_irq = dts_irq;
  2704		pdata->gpio_irq = -1;
  2705	
  2706		pdata->gpio_reset = of_get_named_gpio(dt, "reset-gpios", 0);
  2707		if (!gpio_is_valid(pdata->gpio_reset)) {
  2708			I(" DT:gpio-rst value is not valid");
  2709			return -EIO;
  2710		}
  2711	
  2712		I(" DT:interrupt=%d, reset=%d",
  2713		  pdata->of_irq, pdata->gpio_reset);
  2714		counter = gpiod_count(pdata->ts->dev, "himax,id");
  2715		if (counter > 0) {
  2716			for (i = 0 ; i < counter ; i++) {
  2717				id_gpios[i] = of_get_named_gpio(dt, "himax,id-gpios", i);
  2718				if (!gpio_is_valid(id_gpios[i])) {
  2719					I(" DT:gpio-id value is not valid");
  2720					return -EIO;
  2721				}
  2722				I(" DT:gpio-id[%d]=%d", i, id_gpios[i]);
  2723			}
  2724			id_value = 0;
  2725			for (i = 0 ; i < counter ; i++) {
  2726				gpio_direction_input(id_gpios[i]);
  2727				id_value |= gpio_get_value(id_gpios[i]) << i;
  2728			}
  2729			I(" DT:gpio-id value=%04X", id_value);
  2730			pdata->panel_id = id_value;
  2731		} else {
  2732			pdata->panel_id = -1;
  2733			D(" DT:gpio-id not found");
  2734		}
  2735	
  2736		// himax,ic_det_delay unit is millisecond
  2737		if (of_property_read_u32(dt, "himax,ic-det-delay-ms", &data)) {
  2738			pdata->ic_det_delay = 0;
  2739			D(" DT:himax,ic-det-delay-ms not found");
  2740		} else {
  2741			pdata->ic_det_delay = data;
  2742			I(" DT:himax,ic-det-delay-ms=%d", pdata->ic_det_delay);
  2743		}
  2744	
  2745		// himax,ic_resume_delay unit is millisecond
  2746		if (of_property_read_u32(dt, "himax,ic-resume-delay-ms", &data)) {
  2747			pdata->ic_resume_delay = 0;
  2748			D(" DT:himax,ic-resume-delay-ms not found");
  2749		} else {
  2750			pdata->ic_resume_delay = data;
  2751			I(" DT:himax,ic-resume-delay-ms=%d", pdata->ic_resume_delay);
  2752		}
  2753	
  2754		if (of_property_read_bool(dt, "himax,has-flash")) {
  2755			pdata->is_zf = false;
  2756			D(" DT:himax,has-flash");
  2757		} else {
  2758			pdata->is_zf = true;
  2759			I(" DT:himax,has-flash not found, load firmware from file");
  2760		}
  2761	
  2762		if (of_property_read_bool(dt, "vccd-supply")) {
  2763			pdata->vccd_supply = regulator_get(pdata->ts->dev, "vccd");
  2764			if (IS_ERR(pdata->vccd_supply)) {
  2765				E(" DT:failed to get vccd supply");
  2766				err = PTR_ERR(pdata->vccd_supply);
  2767				pdata->vccd_supply = NULL;
  2768				return err;
  2769			}
  2770			I(" DT:vccd-supply=%p", pdata->vccd_supply);
  2771		} else {
  2772			pdata->vccd_supply = NULL;
  2773		}
  2774	
  2775		if (of_property_read_bool(dt, "vcca-supply")) {
  2776			pdata->vcca_supply = regulator_get(pdata->ts->dev, "vcca");
  2777			if (IS_ERR(pdata->vcca_supply)) {
  2778				E(" DT:failed to get vcca supply");
  2779				err = PTR_ERR(pdata->vcca_supply);
  2780				pdata->vcca_supply = NULL;
  2781				return err;
  2782			}
  2783			I(" DT:vcca-supply=%p", pdata->vcca_supply);
  2784		} else {
  2785			pdata->vcca_supply = NULL;
  2786		}
  2787	
  2788		/*
  2789		 * check himax,pid first, if exist then check if it is single.
  2790		 * Single case: himax,pid = <0x1002>; // 0x1002 is pid value
  2791		 * Multiple case: himax,pid = <id_value0 00x1001>, <id_value1 0x1002>;
  2792		 * When id_value >= 0, check the mapping listed to use the pid value.
  2793		 */
  2794		if (of_get_property(dt, "himax,pid", &data)) {
  2795			counter = data / (sizeof(u32) * pid_prop_args);
  2796	
  2797			if (!counter) {
  2798				// default case, no id->pid mappings
  2799				if (of_property_read_u32(dt, "himax,pid", &data)) {
  2800					pdata->pid = 0;
  2801					D(" DT:himax,pid not found");
  2802					goto GET_PID_END;
  2803				} else {
  2804					goto GET_PID_VALUE;
  2805				}
  2806			}
  2807	
  2808			if (id_value < 0) {
  2809				E(" DT:himax,pid has no matched for id_value=%04X", id_value);
  2810				pdata->pid = 0;
  2811				goto GET_PID_END;
  2812			}
  2813	
  2814			for (i = 0; i < counter; i++) {
  2815				if (of_property_read_u32_index(dt, "himax,pid",
  2816							       i * pid_prop_args, &tmp)) {
  2817					D(" DT:himax,pid parsing error!");
  2818					pdata->pid = 0;
  2819					goto GET_PID_END;
  2820				}
  2821	
  2822				if (of_property_read_u32_index(dt, "himax,pid",
  2823							       i * pid_prop_args + 1, &data)) {
  2824					D(" DT:himax,pid parsing error!");
  2825					pdata->pid = 0;
  2826					goto GET_PID_END;
  2827				}
  2828	
  2829				if (tmp == id_value) {
  2830					I(" DT:himax,pid mapping: id=%04X => pid=%04X, matched!",
  2831					  tmp, data);
  2832					i = counter;
  2833				} else {
  2834					I(" DT:himax,pid mapping: id=%04X => pid=%04X", tmp, data);
  2835				}
  2836			}
  2837	
  2838			if (counter == i) {
  2839				E(" DT:himax,pid has no matched for id_value=%04X", id_value);
  2840				pdata->pid = 0;
  2841				goto GET_PID_END;
  2842			}
  2843	
  2844	GET_PID_VALUE:
  2845			g_fw_boot_upgrade_name = pid_fw_name;
  2846			pdata->pid = data;
  2847			snprintf(pid_fw_name, sizeof(pid_fw_name), "%s_%04X%s",
  2848				 BOOT_UPGRADE_FWNAME, pdata->pid, ".bin");
  2849			I(" DT:himax,pid=%04X, fw_name=%s",
  2850			  pdata->pid, pid_fw_name);
  2851		} else {
  2852			pdata->pid = 0;
  2853			D(" DT:himax,pid not found");
  2854		}
  2855	GET_PID_END:
  2856	
  2857		return 0;
  2858	}
  2859	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2023-12-07  0:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20231206103546.808680-1-allencl_lin@hotmail.com>
2023-12-06 10:35 ` [PATCH v2 1/2] dt-bindings: input: Add Himax HX83102J touchscreen Allen_Lin
2023-12-06 11:00   ` Krzysztof Kozlowski
2023-12-06 10:35 ` [PATCH v2 2/2] Input: Add Himax HX83102J touchscreen driver Allen_Lin
2023-12-06 11:01   ` Krzysztof Kozlowski
2023-12-07  0:27   ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202312070838.oJSWv4T3-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=allencl_lin@hotmail.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jikos@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.