[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202509101412.ze6xyOUu-lkp@intel.com>
Date: Wed, 10 Sep 2025 14:39:22 +0800
From: kernel test robot <lkp@...el.com>
To: Gokul Praveen <g-praveen@...com>, j-keerthy@...com, vigneshr@...com,
wbg@...nel.org, linux-kernel@...r.kernel.org, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, devicetree@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, g-praveen@...com, u-kumar1@...com,
n-francis@...com
Subject: Re: [PATCH 2/2] counter: ti-dmtimer-cap : capture driver support for
OMAP DM timer
Hi Gokul,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.17-rc5 next-20250909]
[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/Gokul-Praveen/dt-bindings-counter-Add-new-ti-omap-dmtimer-cap-compatible/20250909-160651
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250909080042.36127-3-g-praveen%40ti.com
patch subject: [PATCH 2/2] counter: ti-dmtimer-cap : capture driver support for OMAP DM timer
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20250910/202509101412.ze6xyOUu-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250910/202509101412.ze6xyOUu-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509101412.ze6xyOUu-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/counter/ti-dmtimer-cap.c: In function 'cap_omap_dmtimer_is_enabled':
>> drivers/counter/ti-dmtimer-cap.c:73:31: error: 'const struct omap_dm_timer_ops' has no member named 'get_cap_status'; did you mean 'get_pwm_status'?
73 | status = omap->pdata->get_cap_status(omap->dm_timer);
| ^~~~~~~~~~~~~~
| get_pwm_status
drivers/counter/ti-dmtimer-cap.c: In function 'cap_omap_dmtimer_apply':
>> drivers/counter/ti-dmtimer-cap.c:117:26: error: 'const struct omap_dm_timer_ops' has no member named 'set_cap'
117 | ret = omap->pdata->set_cap(omap->dm_timer, true, true);
| ^~
drivers/counter/ti-dmtimer-cap.c: In function 'cap_omap_dmtimer_capture':
>> drivers/counter/ti-dmtimer-cap.c:140:34: error: 'const struct omap_dm_timer_ops' has no member named 'read_cap'
140 | *duty_cycle = omap->pdata->read_cap(omap->dm_timer, false);
| ^~
drivers/counter/ti-dmtimer-cap.c: In function 'cap_omap_dmtimer_period':
drivers/counter/ti-dmtimer-cap.c:161:29: error: 'const struct omap_dm_timer_ops' has no member named 'read_cap'
161 | period = omap->pdata->read_cap(omap->dm_timer, true);
| ^~
drivers/counter/ti-dmtimer-cap.c: In function 'cap_omap_dmtimer_probe':
drivers/counter/ti-dmtimer-cap.c:355:19: error: 'const struct omap_dm_timer_ops' has no member named 'set_cap'
355 | !pdata->set_cap ||
| ^~
drivers/counter/ti-dmtimer-cap.c:356:21: error: 'const struct omap_dm_timer_ops' has no member named 'get_cap_status'; did you mean 'get_pwm_status'?
356 | !pdata->get_cap_status ||
| ^~~~~~~~~~~~~~
| get_pwm_status
drivers/counter/ti-dmtimer-cap.c:357:23: error: 'const struct omap_dm_timer_ops' has no member named 'read_cap'
357 | !pdata->read_cap ||
| ^~
vim +73 drivers/counter/ti-dmtimer-cap.c
62
63 /**
64 * cap_omap_dmtimer_is_enabled() - Detect if the timer capture is enabled.
65 * @omap: Pointer to cap omap dm timer counter
66 *
67 * Return true if capture is enabled else false.
68 */
69 static bool cap_omap_dmtimer_is_enabled(struct cap_omap_dmtimer_counter *omap)
70 {
71 u32 status;
72
> 73 status = omap->pdata->get_cap_status(omap->dm_timer);
74
75 return !!(status & OMAP_TIMER_CTRL_ST);
76 }
77
78 static int cap_omap_dmtimer_clk_get_freq(struct counter_device *counter,
79 struct counter_signal *signal, u64 *freq)
80 {
81 struct cap_omap_dmtimer_counter *omap = counter_priv(counter);
82 struct clk *fclk;
83
84 fclk = omap->pdata->get_fclk(omap->dm_timer);
85 if (!fclk) {
86 dev_err(counter->parent, "invalid dmtimer fclk\n");
87 return -EINVAL;
88 }
89
90 *freq = clk_get_rate(fclk);
91 if (!(*freq)) {
92 dev_err(counter->parent, "invalid dmtimer fclk rate\n");
93 return -EINVAL;
94 }
95
96 return 0;
97 }
98 /**
99 * cap_omap_dmtimer_apply() - Changes the state of the cap omap dm timer counter.
100 * @counter:Pointer to capture counter.
101 *
102 * Return 0 if successfully changed the state else appropriate error.
103 */
104 static int cap_omap_dmtimer_apply(struct counter_device *counter)
105 {
106 struct cap_omap_dmtimer_counter *omap = counter_priv(counter);
107 struct device *dev = &omap->dm_timer_pdev->dev;
108 int ret = 0;
109
110 /* Ensure that the timer is in stop mode so that the configs can be changed. */
111 if (cap_omap_dmtimer_is_enabled(omap)) {
112 ret = omap->pdata->stop(omap->dm_timer);
113 if (ret)
114 dev_err(dev, "%d: Failed to stop timer.\n", ret);
115 }
116
> 117 ret = omap->pdata->set_cap(omap->dm_timer, true, true);
118 if (ret) {
119 dev_err(dev, "%d: Failed to set timer capture configuration.\n", ret);
120 return ret;
121 }
122
123 cap_omap_dmtimer_start(omap);
124
125 return ret;
126 }
127
128 static int cap_omap_dmtimer_capture(struct counter_device *counter,
129 struct counter_count *count, u64 *duty_cycle)
130 {
131 struct cap_omap_dmtimer_counter *omap = counter_priv(counter);
132 *duty_cycle = 0;
133
134 if (!omap->enabled) {
135 dev_err(counter->parent, "Timer is disabled.\n");
136 omap->pdata->stop(omap->dm_timer);
137 return 0;
138 }
139
> 140 *duty_cycle = omap->pdata->read_cap(omap->dm_timer, false);
141
142 *duty_cycle = *duty_cycle > 0 ? *duty_cycle : 0;
143
144 return *duty_cycle;
145 }
146
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists