[esmil:visionfive 48/63] sound/soc/starfive/i2svad.h:238:6: warning: no previous prototype for 'i2svad_pcm_push_tx'
by kernel test robot
tree: https://github.com/esmil/linux visionfive
head: fdbe623707a8f3f9b9d2cb3c4c240299a12b8302
commit: 20e1533986c528bed5da7a0957f828337d17d47d [48/63] ASoC: starfive: Add StarFive JH7100 audio drivers
config: xtensa-randconfig-r031-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241754.z6jBG4qf-lk...)
compiler: xtensa-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/esmil/linux/commit/20e1533986c528bed5da7a0957f828337d1...
git remote add esmil https://github.com/esmil/linux
git fetch --no-tags esmil visionfive
git checkout 20e1533986c528bed5da7a0957f828337d17d47d
# 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=xtensa SHELL=/bin/bash sound/soc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from sound/soc/starfive/i2svad.c:20:
>> sound/soc/starfive/i2svad.h:238:6: warning: no previous prototype for 'i2svad_pcm_push_tx' [-Wmissing-prototypes]
238 | void i2svad_pcm_push_tx(struct i2svad_dev *dev) { }
| ^~~~~~~~~~~~~~~~~~
>> sound/soc/starfive/i2svad.h:239:6: warning: no previous prototype for 'i2svad_pcm_pop_rx' [-Wmissing-prototypes]
239 | void i2svad_pcm_pop_rx(struct i2svad_dev *dev) { }
| ^~~~~~~~~~~~~~~~~
>> sound/soc/starfive/i2svad.h:240:5: warning: no previous prototype for 'i2svad_pcm_register' [-Wmissing-prototypes]
240 | int i2svad_pcm_register(struct platform_device *pdev)
| ^~~~~~~~~~~~~~~~~~~
vim +/i2svad_pcm_push_tx +238 sound/soc/starfive/i2svad.h
232
233 #if IS_ENABLED(CONFIG_SND_STARFIVE_I2SVAD_PCM)
234 void i2svad_pcm_push_tx(struct i2svad_dev *dev);
235 void i2svad_pcm_pop_rx(struct i2svad_dev *dev);
236 int i2svad_pcm_register(struct platform_device *pdev);
237 #else
> 238 void i2svad_pcm_push_tx(struct i2svad_dev *dev) { }
> 239 void i2svad_pcm_pop_rx(struct i2svad_dev *dev) { }
> 240 int i2svad_pcm_register(struct platform_device *pdev)
241 {
242 return -EINVAL;
243 }
244 #endif
245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
Re: [PATCH 4/4] drivers: bus: add driver for initializing the SSC bus on (some) qcom SoCs
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.17-rc1 next-20220124]
[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/michael-srba-seznam-cz/dt-bindin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: powerpc-randconfig-s032-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241736.avyQBE1i-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/2895c20e9788239e701eb0a1774049aae...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review michael-srba-seznam-cz/dt-bindings-clock-gcc-msm8998-Add-definitions-of-SSC-related-clocks/20220123-021013
git checkout 2895c20e9788239e701eb0a1774049aae7963864
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/bus/qcom-ssc-block-bus.c:217:24: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected char const **pd_names @@ got char const *const * @@
drivers/bus/qcom-ssc-block-bus.c:217:24: sparse: expected char const **pd_names
drivers/bus/qcom-ssc-block-bus.c:217:24: sparse: got char const *const *
vim +217 drivers/bus/qcom-ssc-block-bus.c
199
200 static int qcom_ssc_block_bus_probe(struct platform_device *pdev)
201 {
202 struct qcom_ssc_block_bus_data *data;
203 struct device_node *np = pdev->dev.of_node;
204 struct of_phandle_args halt_args;
205 struct resource *res;
206 int ret;
207
208 if (np)
209 of_platform_populate(np, NULL, NULL, &pdev->dev);
210
211 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
212 if (!data)
213 return -ENOMEM;
214
215 platform_set_drvdata(pdev, data);
216
> 217 data->pd_names = qcom_ssc_block_pd_names;
218 data->num_pds = ARRAY_SIZE(qcom_ssc_block_pd_names);
219
220 ret = qcom_ssc_block_bus_pds_attach(&pdev->dev, data->pds, data->pd_names, data->num_pds);
221 if (ret < 0) {
222 dev_err(&pdev->dev, "error when attaching power domains: %d\n", ret);
223 return ret;
224 }
225
226 ret = qcom_ssc_block_bus_pds_enable(data->pds, data->num_pds);
227 if (ret < 0) {
228 dev_err(&pdev->dev, "error when enabling power domains: %d\n", ret);
229 return ret;
230 }
231
232 // the meaning of the bits in these two registers is sadly not documented,
233 // the set/clear operations are just copying what qcom does
234 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mpm_sscaon_config0");
235 data->reg_mpm_sscaon_config0 = devm_ioremap_resource(&pdev->dev, res);
236 if (IS_ERR(data->reg_mpm_sscaon_config0)) {
237 ret = PTR_ERR(data->reg_mpm_sscaon_config0);
238 dev_err(&pdev->dev, "failed to ioremap mpm_sscaon_config0 (err: %d)\n", ret);
239 return ret;
240 }
241 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mpm_sscaon_config0");
242 data->reg_mpm_sscaon_config1 = devm_ioremap_resource(&pdev->dev, res);
243 if (IS_ERR(data->reg_mpm_sscaon_config1)) {
244 ret = PTR_ERR(data->reg_mpm_sscaon_config1);
245 dev_err(&pdev->dev, "failed to ioremap mpm_sscaon_config1 (err: %d)\n", ret);
246 return ret;
247 }
248
249 data->ssc_bcr = devm_reset_control_get_exclusive(&pdev->dev, "ssc_bcr");
250 if (IS_ERR(data->ssc_bcr)) {
251 ret = PTR_ERR(data->ssc_bcr);
252 dev_err(&pdev->dev, "failed to acquire reset: scc_bcr (err: %d)\n", ret);
253 return ret;
254 }
255 data->ssc_reset = devm_reset_control_get_exclusive(&pdev->dev, "ssc_reset");
256 if (IS_ERR(data->ssc_reset)) {
257 ret = PTR_ERR(data->ssc_reset);
258 dev_err(&pdev->dev, "failed to acquire reset: ssc_reset: (err: %d)\n", ret);
259 return ret;
260 }
261
262 data->xo_clk = devm_clk_get(&pdev->dev, "xo");
263 if (IS_ERR(data->xo_clk)) {
264 ret = PTR_ERR(data->xo_clk);
265 if (ret != -EPROBE_DEFER)
266 dev_err(&pdev->dev, "Failed to get clock: xo (err: %d)\n", ret);
267 return ret;
268 }
269
270 data->aggre2_clk = devm_clk_get(&pdev->dev, "aggre2");
271 if (IS_ERR(data->aggre2_clk)) {
272 ret = PTR_ERR(data->aggre2_clk);
273 if (ret != -EPROBE_DEFER)
274 dev_err(&pdev->dev, "Failed to get clock: aggre2 (err: %d)\n", ret);
275 return ret;
276 }
277
278 data->gcc_im_sleep_clk = devm_clk_get(&pdev->dev, "gcc_im_sleep");
279 if (IS_ERR(data->gcc_im_sleep_clk)) {
280 ret = PTR_ERR(data->gcc_im_sleep_clk);
281 if (ret != -EPROBE_DEFER)
282 dev_err(&pdev->dev, "Failed to get clock: gcc_im_sleep (err: %d)\n", ret);
283 return ret;
284 }
285
286 data->aggre2_north_clk = devm_clk_get(&pdev->dev, "aggre2_north");
287 if (IS_ERR(data->aggre2_north_clk)) {
288 ret = PTR_ERR(data->aggre2_north_clk);
289 if (ret != -EPROBE_DEFER)
290 dev_err(&pdev->dev, "Failed to get clock: aggre2_north (err: %d)\n", ret);
291 return ret;
292 }
293
294 data->ssc_xo_clk = devm_clk_get(&pdev->dev, "ssc_xo");
295 if (IS_ERR(data->ssc_xo_clk)) {
296 ret = PTR_ERR(data->ssc_xo_clk);
297 if (ret != -EPROBE_DEFER)
298 dev_err(&pdev->dev, "Failed to get clock: ssc_xo (err: %d)\n", ret);
299 return ret;
300 }
301
302 data->ssc_ahbs_clk = devm_clk_get(&pdev->dev, "ssc_ahbs");
303 if (IS_ERR(data->ssc_ahbs_clk)) {
304 ret = PTR_ERR(data->ssc_ahbs_clk);
305 if (ret != -EPROBE_DEFER)
306 dev_err(&pdev->dev, "Failed to get clock: ssc_ahbs (err: %d)\n", ret);
307 return ret;
308 }
309
310 ret = of_parse_phandle_with_fixed_args(pdev->dev.of_node, "qcom,halt-regs", 1, 0,
311 &halt_args);
312 if (ret < 0) {
313 dev_err(&pdev->dev, "failed to parse qcom,halt-regs\n");
314 return -EINVAL;
315 }
316
317 data->halt_map = syscon_node_to_regmap(halt_args.np);
318 of_node_put(halt_args.np);
319 if (IS_ERR(data->halt_map))
320 return PTR_ERR(data->halt_map);
321
322 data->ssc_axi_halt = halt_args.args[0];
323
324 qcom_ssc_block_bus_init(&pdev->dev);
325
326 return 0;
327 }
328
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
[RFC PATCH] iio: dac: ltc2688_regmap_bus can be static
by kernel test robot
drivers/iio/dac/ltc2688.c:942:19: warning: symbol 'ltc2688_regmap_bus' was not declared. Should it be static?
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
ltc2688.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/dac/ltc2688.c b/drivers/iio/dac/ltc2688.c
index 179a653ce972a..decd6d3742d96 100644
--- a/drivers/iio/dac/ltc2688.c
+++ b/drivers/iio/dac/ltc2688.c
@@ -939,7 +939,7 @@ static bool ltc2688_reg_writable(struct device *dev, unsigned int reg)
return false;
}
-struct regmap_bus ltc2688_regmap_bus = {
+static struct regmap_bus ltc2688_regmap_bus = {
.read = ltc2688_spi_read,
.write = ltc2688_spi_write,
.read_flag_mask = LTC2688_READ_OPERATION,
7 months, 4 weeks
[jimc:dyn-drm-trc 4/20] lib/dynamic_debug.c:698:17: warning: function 'ddebug_printk' might be a candidate for 'gnu_printf' format attribute
by kernel test robot
tree: https://github.com/jimc/linux.git dyn-drm-trc
head: 21798489725b7deafd2bd79afa477a68a4840dda
commit: f5b0d82213a36476415ce55e223acd3ee8e7fcf8 [4/20] dyndbg: s/dynamic_/ddebug_/
config: riscv-randconfig-r042-20220123 (https://download.01.org/0day-ci/archive/20220124/202201241735.ZhHKTlca-lk...)
compiler: riscv32-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/jimc/linux/commit/f5b0d82213a36476415ce55e223acd3ee8e7...
git remote add jimc https://github.com/jimc/linux.git
git fetch --no-tags jimc dyn-drm-trc
git checkout f5b0d82213a36476415ce55e223acd3ee8e7fcf8
# 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=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
lib/dynamic_debug.c:646:34: error: array type has incomplete element type 'struct dynamic_trace_buf'
646 | struct dynamic_trace_buf bufs[DYNAMIC_TRACE_NESTING];
| ^~~~
lib/dynamic_debug.c: In function 'ddebug_trace':
lib/dynamic_debug.c:670:29: error: invalid use of undefined type 'struct dynamic_trace_buf'
670 | len = vscnprintf(buf->buf, sizeof(buf->buf), fmt, args);
| ^~
lib/dynamic_debug.c:670:46: error: invalid use of undefined type 'struct dynamic_trace_buf'
670 | len = vscnprintf(buf->buf, sizeof(buf->buf), fmt, args);
| ^~
lib/dynamic_debug.c:671:26: error: invalid use of undefined type 'struct dynamic_trace_buf'
671 | trace_console(buf->buf, len);
| ^~
lib/dynamic_debug.c: In function 'ddebug_printk':
>> lib/dynamic_debug.c:698:17: warning: function 'ddebug_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
698 | vprintk(fmt, args);
| ^~~~~~~
lib/dynamic_debug.c: In function 'ddebug_dev_printk':
>> lib/dynamic_debug.c:719:17: warning: function 'ddebug_dev_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
719 | dev_vprintk_emit(LOGLEVEL_DEBUG, dev, fmt, args);
| ^~~~~~~~~~~~~~~~
vim +698 lib/dynamic_debug.c
e60a9cdd5978eb Jim Cromie 2021-11-22 679
f5b0d82213a364 Jim Cromie 2022-01-21 680 static void ddebug_printk(unsigned int flags, const char *fmt, ...)
e60a9cdd5978eb Jim Cromie 2021-11-22 681 {
e60a9cdd5978eb Jim Cromie 2021-11-22 682 if (flags & _DPRINTK_FLAGS_TRACE) {
e60a9cdd5978eb Jim Cromie 2021-11-22 683 va_list args;
e60a9cdd5978eb Jim Cromie 2021-11-22 684
e60a9cdd5978eb Jim Cromie 2021-11-22 685 va_start(args, fmt);
e60a9cdd5978eb Jim Cromie 2021-11-22 686 /*
e60a9cdd5978eb Jim Cromie 2021-11-22 687 * All callers include the KERN_DEBUG prefix to keep the
e60a9cdd5978eb Jim Cromie 2021-11-22 688 * vprintk case simple; strip it out for tracing.
e60a9cdd5978eb Jim Cromie 2021-11-22 689 */
f5b0d82213a364 Jim Cromie 2022-01-21 690 ddebug_trace(fmt + strlen(KERN_DEBUG), args);
e60a9cdd5978eb Jim Cromie 2021-11-22 691 va_end(args);
e60a9cdd5978eb Jim Cromie 2021-11-22 692 }
e60a9cdd5978eb Jim Cromie 2021-11-22 693
e60a9cdd5978eb Jim Cromie 2021-11-22 694 if (flags & _DPRINTK_FLAGS_PRINTK) {
e60a9cdd5978eb Jim Cromie 2021-11-22 695 va_list args;
e60a9cdd5978eb Jim Cromie 2021-11-22 696
e60a9cdd5978eb Jim Cromie 2021-11-22 697 va_start(args, fmt);
e60a9cdd5978eb Jim Cromie 2021-11-22 @698 vprintk(fmt, args);
e60a9cdd5978eb Jim Cromie 2021-11-22 699 va_end(args);
e60a9cdd5978eb Jim Cromie 2021-11-22 700 }
e60a9cdd5978eb Jim Cromie 2021-11-22 701 }
e60a9cdd5978eb Jim Cromie 2021-11-22 702
f5b0d82213a364 Jim Cromie 2022-01-21 703 static void ddebug_dev_printk(unsigned int flags, const struct device *dev,
e60a9cdd5978eb Jim Cromie 2021-11-22 704 const char *fmt, ...)
e60a9cdd5978eb Jim Cromie 2021-11-22 705 {
e60a9cdd5978eb Jim Cromie 2021-11-22 706
e60a9cdd5978eb Jim Cromie 2021-11-22 707 if (flags & _DPRINTK_FLAGS_TRACE) {
e60a9cdd5978eb Jim Cromie 2021-11-22 708 va_list args;
e60a9cdd5978eb Jim Cromie 2021-11-22 709
e60a9cdd5978eb Jim Cromie 2021-11-22 710 va_start(args, fmt);
f5b0d82213a364 Jim Cromie 2022-01-21 711 ddebug_trace(fmt, args);
e60a9cdd5978eb Jim Cromie 2021-11-22 712 va_end(args);
e60a9cdd5978eb Jim Cromie 2021-11-22 713 }
e60a9cdd5978eb Jim Cromie 2021-11-22 714
e60a9cdd5978eb Jim Cromie 2021-11-22 715 if (flags & _DPRINTK_FLAGS_PRINTK) {
e60a9cdd5978eb Jim Cromie 2021-11-22 716 va_list args;
e60a9cdd5978eb Jim Cromie 2021-11-22 717
e60a9cdd5978eb Jim Cromie 2021-11-22 718 va_start(args, fmt);
e60a9cdd5978eb Jim Cromie 2021-11-22 @719 dev_vprintk_emit(LOGLEVEL_DEBUG, dev, fmt, args);
e60a9cdd5978eb Jim Cromie 2021-11-22 720 va_end(args);
e60a9cdd5978eb Jim Cromie 2021-11-22 721 }
e60a9cdd5978eb Jim Cromie 2021-11-22 722 }
e60a9cdd5978eb Jim Cromie 2021-11-22 723
:::::: The code at line 698 was first introduced by commit
:::::: e60a9cdd5978ebaf8e65db1111ea2459359ea5e5 dyndbg: add write-to-tracefs code
:::::: TO: Jim Cromie <jim.cromie(a)gmail.com>
:::::: CC: Jim Cromie <jim.cromie(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
Re: [PATCH] drivers: irqchip: add irq-type-changer
by kernel test robot
Hi Nikita,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/irq/core]
[also build test WARNING on v5.17-rc1 next-20220124]
[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/Nikita-Yushchenko/drivers-irqchi...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 67d50b5f9114ae55d45e08e1fd1d6ae152622bf3
config: microblaze-randconfig-s032-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241716.mt2XBMZQ-lk...)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/08692091f6fa9d1ee51baef78ce2adf98...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikita-Yushchenko/drivers-irqchip-add-irq-type-changer/20220120-041926
git checkout 08692091f6fa9d1ee51baef78ce2adf983b2248a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/irqchip/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/irqchip/irq-type-changer.c:111:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] size @@ got restricted gfp_t @@
drivers/irqchip/irq-type-changer.c:111:22: sparse: expected unsigned int [usertype] size
drivers/irqchip/irq-type-changer.c:111:22: sparse: got restricted gfp_t
>> drivers/irqchip/irq-type-changer.c:111:46: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted gfp_t [usertype] flags @@ got unsigned int @@
drivers/irqchip/irq-type-changer.c:111:46: sparse: expected restricted gfp_t [usertype] flags
drivers/irqchip/irq-type-changer.c:111:46: sparse: got unsigned int
vim +111 drivers/irqchip/irq-type-changer.c
81
82 static int __init changer_of_init(struct device_node *node,
83 struct device_node *parent)
84 {
85 struct irq_domain *domain, *parent_domain;
86 int count, i, ret;
87 struct changer *ch;
88 struct of_phandle_args pargs;
89 irq_hw_number_t unused;
90
91 if (!parent) {
92 pr_err("%pOF: no parent node\n", node);
93 return -EINVAL;
94 }
95
96 parent_domain = irq_find_host(parent);
97 if (!parent_domain) {
98 pr_err("%pOF: no parent domain\n", node);
99 return -EINVAL;
100 }
101
102 if (WARN_ON(!parent_domain->ops->translate))
103 return -EINVAL;
104
105 count = of_irq_count(node);
106 if (count < 1) {
107 pr_err("%pOF: no interrupts defined\n", node);
108 return -EINVAL;
109 }
110
> 111 ch = kzalloc(GFP_KERNEL, sizeof(*ch) + count * sizeof(ch->out[0]));
112 if (!ch)
113 return -ENOMEM;
114 ch->count = count;
115
116 for (i = 0; i < count; i++) {
117 ret = of_irq_parse_one(node, i, &pargs);
118 if (ret) {
119 pr_err("%pOF: interrupt %d: error %d parsing\n",
120 node, i, ret);
121 goto out_free;
122 }
123 of_phandle_args_to_fwspec(pargs.np, pargs.args,
124 pargs.args_count,
125 &ch->out[i].fwspec);
126 ret = parent_domain->ops->translate(parent_domain,
127 &ch->out[i].fwspec,
128 &unused,
129 &ch->out[i].type);
130 if (ret) {
131 pr_err("%pOF: interrupt %d: error %d extracting type\n",
132 node, i, ret);
133 goto out_free;
134 }
135 if (ch->out[i].type == IRQ_TYPE_NONE) {
136 pr_err("%pOF: interrupt %d: no type\n", node, i);
137 ret = -ENXIO;
138 goto out_free;
139 }
140 }
141
142 domain = irq_domain_create_hierarchy(parent_domain, 0, count,
143 of_node_to_fwnode(node),
144 &changer_domain_ops, ch);
145 if (!domain) {
146 ret = -ENOMEM;
147 goto out_free;
148 }
149
150 return 0;
151
152 out_free:
153 kfree(ch);
154 return ret;
155 }
156
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
[groeck-staging:hwmon-next 14/33] drivers/hwmon/lm83.c:159:21: error: variable 'lm83_regmap_config' has initializer but incomplete type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
head: 9b9f1e670d2c61c676039474fd2d98ca0a54ff75
commit: 165aace2ebd0b55c5589f213d55e3ac28b7aa588 [14/33] hwmon: (lm83) Use regmap
config: mips-gpr_defconfig (https://download.01.org/0day-ci/archive/20220124/202201241714.m6MHXXnD-lk...)
compiler: mipsel-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://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/...
git remote add groeck-staging https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
git fetch --no-tags groeck-staging hwmon-next
git checkout 165aace2ebd0b55c5589f213d55e3ac28b7aa588
# 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=mips SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/hwmon/lm83.c:159:21: error: variable 'lm83_regmap_config' has initializer but incomplete type
159 | static const struct regmap_config lm83_regmap_config = {
| ^~~~~~~~~~~~~
>> drivers/hwmon/lm83.c:160:10: error: 'const struct regmap_config' has no member named 'reg_bits'
160 | .reg_bits = 8,
| ^~~~~~~~
drivers/hwmon/lm83.c:160:21: warning: excess elements in struct initializer
160 | .reg_bits = 8,
| ^
drivers/hwmon/lm83.c:160:21: note: (near initialization for 'lm83_regmap_config')
>> drivers/hwmon/lm83.c:161:10: error: 'const struct regmap_config' has no member named 'val_bits'
161 | .val_bits = 8,
| ^~~~~~~~
drivers/hwmon/lm83.c:161:21: warning: excess elements in struct initializer
161 | .val_bits = 8,
| ^
drivers/hwmon/lm83.c:161:21: note: (near initialization for 'lm83_regmap_config')
>> drivers/hwmon/lm83.c:162:10: error: 'const struct regmap_config' has no member named 'cache_type'
162 | .cache_type = REGCACHE_RBTREE,
| ^~~~~~~~~~
drivers/hwmon/lm83.c:162:23: warning: excess elements in struct initializer
162 | .cache_type = REGCACHE_RBTREE,
| ^~~~~~~~~~~~~~~
drivers/hwmon/lm83.c:162:23: note: (near initialization for 'lm83_regmap_config')
>> drivers/hwmon/lm83.c:163:10: error: 'const struct regmap_config' has no member named 'volatile_reg'
163 | .volatile_reg = lm83_regmap_is_volatile,
| ^~~~~~~~~~~~
drivers/hwmon/lm83.c:163:25: warning: excess elements in struct initializer
163 | .volatile_reg = lm83_regmap_is_volatile,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/hwmon/lm83.c:163:25: note: (near initialization for 'lm83_regmap_config')
>> drivers/hwmon/lm83.c:164:10: error: 'const struct regmap_config' has no member named 'reg_read'
164 | .reg_read = lm83_regmap_reg_read,
| ^~~~~~~~
drivers/hwmon/lm83.c:164:21: warning: excess elements in struct initializer
164 | .reg_read = lm83_regmap_reg_read,
| ^~~~~~~~~~~~~~~~~~~~
drivers/hwmon/lm83.c:164:21: note: (near initialization for 'lm83_regmap_config')
>> drivers/hwmon/lm83.c:165:10: error: 'const struct regmap_config' has no member named 'reg_write'
165 | .reg_write = lm83_regmap_reg_write,
| ^~~~~~~~~
drivers/hwmon/lm83.c:165:22: warning: excess elements in struct initializer
165 | .reg_write = lm83_regmap_reg_write,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/hwmon/lm83.c:165:22: note: (near initialization for 'lm83_regmap_config')
drivers/hwmon/lm83.c: In function 'lm83_probe':
>> drivers/hwmon/lm83.c:383:24: error: implicit declaration of function 'devm_regmap_init' [-Werror=implicit-function-declaration]
383 | data->regmap = devm_regmap_init(dev, NULL, client, &lm83_regmap_config);
| ^~~~~~~~~~~~~~~~
drivers/hwmon/lm83.c:383:22: warning: assignment to 'struct regmap *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
383 | data->regmap = devm_regmap_init(dev, NULL, client, &lm83_regmap_config);
| ^
drivers/hwmon/lm83.c: At top level:
>> drivers/hwmon/lm83.c:159:35: error: storage size of 'lm83_regmap_config' isn't known
159 | static const struct regmap_config lm83_regmap_config = {
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/lm83_regmap_config +159 drivers/hwmon/lm83.c
158
> 159 static const struct regmap_config lm83_regmap_config = {
> 160 .reg_bits = 8,
> 161 .val_bits = 8,
> 162 .cache_type = REGCACHE_RBTREE,
> 163 .volatile_reg = lm83_regmap_is_volatile,
> 164 .reg_read = lm83_regmap_reg_read,
> 165 .reg_write = lm83_regmap_reg_write,
166 };
167
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
Re: [PATCH 09/23] MM: submit multipage reads for SWP_FS_OPS swap-space
by kernel test robot
Hi NeilBrown,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.17-rc1 next-20220124]
[cannot apply to trondmy-nfs/linux-next cifs/for-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/NeilBrown/Repair-SWAP-over_NFS/2...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0
config: i386-randconfig-a011-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241747.X9gXaaeP-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9006bf424847bf91f0a624ffc27ad165c7b804c4)
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/63bff668aa0537d7ccef9ed428809fc16...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review NeilBrown/Repair-SWAP-over_NFS/20220124-115716
git checkout 63bff668aa0537d7ccef9ed428809fc16c1a6b6c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from mm/vmscan.c:61:
mm/swap.h:66:12: warning: declaration of 'struct swap_iocb' will not be visible outside of this function [-Wvisibility]
struct swap_iocb **plug);
^
>> mm/swap.h:67:1: error: expected identifier or '('
{
^
1 warning and 1 error generated.
--
In file included from mm/shmem.c:41:
mm/swap.h:66:12: warning: declaration of 'struct swap_iocb' will not be visible outside of this function [-Wvisibility]
struct swap_iocb **plug);
^
>> mm/swap.h:67:1: error: expected identifier or '('
{
^
In file included from mm/shmem.c:56:
include/linux/mman.h:158:9: warning: division by zero is undefined [-Wdivision-by-zero]
_calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans'
: ((x) & (bit1)) / ((bit1) / (bit2))))
^ ~~~~~~~~~~~~~~~~~
2 warnings and 1 error generated.
--
In file included from mm/page_alloc.c:84:
mm/swap.h:66:12: warning: declaration of 'struct swap_iocb' will not be visible outside of this function [-Wvisibility]
struct swap_iocb **plug);
^
>> mm/swap.h:67:1: error: expected identifier or '('
{
^
mm/page_alloc.c:3821:15: warning: no previous prototype for function 'should_fail_alloc_page' [-Wmissing-prototypes]
noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
^
mm/page_alloc.c:3821:10: note: declare 'static' if the function is not intended to be used outside of this translation unit
noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
^
static
2 warnings and 1 error generated.
vim +67 mm/swap.h
50dceef273a619 NeilBrown 2022-01-24 45
50dceef273a619 NeilBrown 2022-01-24 46 struct page *read_swap_cache_async(swp_entry_t, gfp_t,
50dceef273a619 NeilBrown 2022-01-24 47 struct vm_area_struct *vma,
50dceef273a619 NeilBrown 2022-01-24 48 unsigned long addr,
63bff668aa0537 NeilBrown 2022-01-24 49 bool do_poll,
63bff668aa0537 NeilBrown 2022-01-24 50 struct swap_iocb **plug);
50dceef273a619 NeilBrown 2022-01-24 51 struct page *__read_swap_cache_async(swp_entry_t, gfp_t,
50dceef273a619 NeilBrown 2022-01-24 52 struct vm_area_struct *vma,
50dceef273a619 NeilBrown 2022-01-24 53 unsigned long addr,
50dceef273a619 NeilBrown 2022-01-24 54 bool *new_page_allocated);
50dceef273a619 NeilBrown 2022-01-24 55 struct page *swap_cluster_readahead(swp_entry_t entry, gfp_t flag,
50dceef273a619 NeilBrown 2022-01-24 56 struct vm_fault *vmf);
50dceef273a619 NeilBrown 2022-01-24 57 struct page *swapin_readahead(swp_entry_t entry, gfp_t flag,
50dceef273a619 NeilBrown 2022-01-24 58 struct vm_fault *vmf);
50dceef273a619 NeilBrown 2022-01-24 59
12cf545fe71035 NeilBrown 2022-01-24 60 static inline unsigned int page_swap_flags(struct page *page)
12cf545fe71035 NeilBrown 2022-01-24 61 {
12cf545fe71035 NeilBrown 2022-01-24 62 return page_swap_info(page)->flags;
12cf545fe71035 NeilBrown 2022-01-24 63 }
50dceef273a619 NeilBrown 2022-01-24 64 #else /* CONFIG_SWAP */
63bff668aa0537 NeilBrown 2022-01-24 65 static inline int swap_readpage(struct page *page, bool do_poll,
63bff668aa0537 NeilBrown 2022-01-24 @66 struct swap_iocb **plug);
50dceef273a619 NeilBrown 2022-01-24 @67 {
50dceef273a619 NeilBrown 2022-01-24 68 return 0;
50dceef273a619 NeilBrown 2022-01-24 69 }
50dceef273a619 NeilBrown 2022-01-24 70
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
[linusw-gpio:gpio-descriptors-spi 6/10] drivers/spi/spi-pxa2xx.c:1319:9: warning: variable 'err' is uninitialized when used here
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git gpio-descriptors-spi
head: b91ec14d0a206a5f58d8df605e7b5fe31a62a7ea
commit: afde2307f68bdbc83d934d53e3a73ec554e2897f [6/10] spi: pxa2xx_spi: Convert to use GPIO descriptors
config: arm-imote2_defconfig (https://download.01.org/0day-ci/archive/20220124/202201241741.CxVdsqSk-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9006bf424847bf91f0a624ffc27ad165c7b804c4)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git/com...
git remote add linusw-gpio https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
git fetch --no-tags linusw-gpio gpio-descriptors-spi
git checkout afde2307f68bdbc83d934d53e3a73ec554e2897f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/spi/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/spi/spi-pxa2xx.c:1319:9: warning: variable 'err' is uninitialized when used here [-Wuninitialized]
return err;
^~~
drivers/spi/spi-pxa2xx.c:1173:9: note: initialize the variable 'err' to silence this warning
int err;
^
= 0
drivers/spi/spi-pxa2xx.c:1433:34: warning: unused variable 'pxa2xx_spi_of_match' [-Wunused-const-variable]
static const struct of_device_id pxa2xx_spi_of_match[] = {
^
2 warnings generated.
vim +/err +1319 drivers/spi/spi-pxa2xx.c
7d94a505858841 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1164
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1165 static int setup(struct spi_device *spi)
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1166 {
bffc967e93c771 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2016-09-07 1167 struct pxa2xx_spi_chip *chip_info;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1168 struct chip_data *chip;
dccf7369652f39 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1169 const struct lpss_config *config;
3cc7b0e35745ae drivers/spi/spi-pxa2xx.c Jarkko Nikula 2018-02-01 1170 struct driver_data *drv_data =
3cc7b0e35745ae drivers/spi/spi-pxa2xx.c Jarkko Nikula 2018-02-01 1171 spi_controller_get_devdata(spi->controller);
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1172 uint tx_thres, tx_hi_thres, rx_thres;
2ec6f20b33eb4f drivers/spi/spi-pxa2xx.c Lukas Wunner 2021-05-27 1173 int err;
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1174
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1175 switch (drv_data->ssp_type) {
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1176 case QUARK_X1000_SSP:
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1177 tx_thres = TX_THRESH_QUARK_X1000_DFLT;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1178 tx_hi_thres = 0;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1179 rx_thres = RX_THRESH_QUARK_X1000_DFLT;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1180 break;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1181 case MRFLD_SSP:
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1182 tx_thres = TX_THRESH_MRFLD_DFLT;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1183 tx_hi_thres = 0;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1184 rx_thres = RX_THRESH_MRFLD_DFLT;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1185 break;
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1186 case CE4100_SSP:
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1187 tx_thres = TX_THRESH_CE4100_DFLT;
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1188 tx_hi_thres = 0;
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1189 rx_thres = RX_THRESH_CE4100_DFLT;
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1190 break;
03fbf488cece46 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1191 case LPSS_LPT_SSP:
03fbf488cece46 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1192 case LPSS_BYT_SSP:
30f3a6ab44d8d0 drivers/spi/spi-pxa2xx.c Mika Westerberg 2016-02-08 1193 case LPSS_BSW_SSP:
34cadd9c1bcbd5 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-07-30 1194 case LPSS_SPT_SSP:
b7c08cf85c9a3a drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-10-28 1195 case LPSS_BXT_SSP:
fc0b2acc754a18 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2017-05-30 1196 case LPSS_CNL_SSP:
dccf7369652f39 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1197 config = lpss_get_config(drv_data);
dccf7369652f39 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1198 tx_thres = config->tx_threshold_lo;
dccf7369652f39 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1199 tx_hi_thres = config->tx_threshold_hi;
dccf7369652f39 drivers/spi/spi-pxa2xx.c Jarkko Nikula 2015-06-04 1200 rx_thres = config->rx_threshold;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1201 break;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1202 default:
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1203 tx_hi_thres = 0;
51eea52d26d493 drivers/spi/spi-pxa2xx.c Lubomir Rintel 2019-01-16 1204 if (spi_controller_is_slave(drv_data->controller)) {
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1205 tx_thres = 1;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1206 rx_thres = 2;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1207 } else {
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1208 tx_thres = TX_THRESH_DFLT;
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1209 rx_thres = RX_THRESH_DFLT;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1210 }
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1211 break;
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1212 }
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1213
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1214 /* Only allocate on the first setup */
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1215 chip = spi_get_ctldata(spi);
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1216 if (!chip) {
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1217 chip = kzalloc(sizeof(struct chip_data), GFP_KERNEL);
9deae4592b66c0 drivers/spi/spi-pxa2xx.c Jingoo Han 2014-04-29 1218 if (!chip)
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1219 return -ENOMEM;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1220
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1221 if (drv_data->ssp_type == CE4100_SSP) {
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1222 if (spi->chip_select > 4) {
f6bd03a746271f drivers/spi/spi-pxa2xx.c Jarkko Nikula 2013-10-11 1223 dev_err(&spi->dev,
f6bd03a746271f drivers/spi/spi-pxa2xx.c Jarkko Nikula 2013-10-11 1224 "failed setup: cs number must not be > 4.\n");
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1225 kfree(chip);
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1226 return -EINVAL;
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1227 }
c18d925fca20d3 drivers/spi/spi-pxa2xx.c Jan Kiszka 2017-08-03 1228 }
51eea52d26d493 drivers/spi/spi-pxa2xx.c Lubomir Rintel 2019-01-16 1229 chip->enable_dma = drv_data->controller_info->enable_dma;
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1230 chip->timeout = TIMOUT_DFLT;
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1231 }
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1232
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1233 /*
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1234 * Protocol drivers may change the chip settings, so...
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1235 * if chip_info exists, use it.
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1236 */
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1237 chip_info = spi->controller_data;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1238
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1239 /* chip_info isn't always needed */
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1240 if (chip_info) {
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1241 if (chip_info->timeout)
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1242 chip->timeout = chip_info->timeout;
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1243 if (chip_info->tx_threshold)
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1244 tx_thres = chip_info->tx_threshold;
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1245 if (chip_info->tx_hi_threshold)
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1246 tx_hi_thres = chip_info->tx_hi_threshold;
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1247 if (chip_info->rx_threshold)
f1f640a9c1d97a drivers/spi/pxa2xx_spi.c Vernon Sauder 2008-10-15 1248 rx_thres = chip_info->rx_threshold;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1249 chip->dma_threshold = 0;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1250 }
8393961c53b310 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-11-23 1251
8393961c53b310 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-11-23 1252 chip->cr1 = 0;
51eea52d26d493 drivers/spi/spi-pxa2xx.c Lubomir Rintel 2019-01-16 1253 if (spi_controller_is_slave(drv_data->controller)) {
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1254 chip->cr1 |= SSCR1_SCFR;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1255 chip->cr1 |= SSCR1_SCLKDIR;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1256 chip->cr1 |= SSCR1_SFRMDIR;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1257 chip->cr1 |= SSCR1_SPH;
ec93cb6f827b3e drivers/spi/spi-pxa2xx.c Lubomir Rintel 2018-11-13 1258 }
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1259
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1260 if (is_lpss_ssp(drv_data)) {
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1261 chip->lpss_rx_threshold = SSIRF_RxThresh(rx_thres);
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1262 chip->lpss_tx_threshold = SSITF_TxLoThresh(tx_thres) |
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1263 SSITF_TxHiThresh(tx_hi_thres);
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1264 }
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1265
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1266 if (is_mrfld_ssp(drv_data)) {
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1267 chip->lpss_rx_threshold = rx_thres;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1268 chip->lpss_tx_threshold = tx_thres;
3fdb59cf10b020 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-10 1269 }
a0d2642e929688 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1270
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1271 /*
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1272 * Set DMA burst and threshold outside of chip_info path so that if
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1273 * chip_info goes away after setting chip->enable_dma, the burst and
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1274 * threshold can still respond to changes in bits_per_word.
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1275 */
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1276 if (chip->enable_dma) {
8083d6b812cac5 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1277 /* Set up legal burst and threshold for DMA */
cd7bed00340475 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1278 if (pxa2xx_spi_set_dma_burst_and_threshold(chip, spi,
cd7bed00340475 drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1279 spi->bits_per_word,
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1280 &chip->dma_burst_size,
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1281 &chip->dma_threshold)) {
f6bd03a746271f drivers/spi/spi-pxa2xx.c Jarkko Nikula 2013-10-11 1282 dev_warn(&spi->dev,
f6bd03a746271f drivers/spi/spi-pxa2xx.c Jarkko Nikula 2013-10-11 1283 "in setup: DMA burst size reduced to match bits_per_word\n");
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1284 }
000c6af4177591 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2019-03-19 1285 dev_dbg(&spi->dev,
000c6af4177591 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2019-03-19 1286 "in setup: DMA burst size set to %u\n",
000c6af4177591 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2019-03-19 1287 chip->dma_burst_size);
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1288 }
8d94cc50aa4f14 drivers/spi/pxa2xx_spi.c Stephen Street 2006-12-10 1289
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1290 switch (drv_data->ssp_type) {
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1291 case QUARK_X1000_SSP:
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1292 chip->threshold = (QUARK_X1000_SSCR1_RxTresh(rx_thres)
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1293 & QUARK_X1000_SSCR1_RFT)
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1294 | (QUARK_X1000_SSCR1_TxTresh(tx_thres)
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1295 & QUARK_X1000_SSCR1_TFT);
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1296 break;
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1297 case CE4100_SSP:
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1298 chip->threshold = (CE4100_SSCR1_RxTresh(rx_thres) & CE4100_SSCR1_RFT) |
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1299 (CE4100_SSCR1_TxTresh(tx_thres) & CE4100_SSCR1_TFT);
7c7289a40425d4 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2016-09-07 1300 break;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1301 default:
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1302 chip->threshold = (SSCR1_RxTresh(rx_thres) & SSCR1_RFT) |
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1303 (SSCR1_TxTresh(tx_thres) & SSCR1_TFT);
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1304 break;
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1305 }
e5262d0568dc9e drivers/spi/spi-pxa2xx.c Weike Chen 2014-11-26 1306
7f6ee1adc75bf3 drivers/spi/pxa2xx_spi.c Justin Clacherty 2007-01-26 1307 chip->cr1 &= ~(SSCR1_SPO | SSCR1_SPH);
eb743ec600be59 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1308 chip->cr1 |= ((spi->mode & SPI_CPHA) ? SSCR1_SPH : 0) |
eb743ec600be59 drivers/spi/spi-pxa2xx.c Andy Shevchenko 2021-05-17 1309 ((spi->mode & SPI_CPOL) ? SSCR1_SPO : 0);
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1310
b833172fd8f44f drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1311 if (spi->mode & SPI_LOOP)
b833172fd8f44f drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1312 chip->cr1 |= SSCR1_LBM;
b833172fd8f44f drivers/spi/spi-pxa2xx.c Mika Westerberg 2013-01-22 1313
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1314 spi_set_ctldata(spi, chip);
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1315
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1316 if (drv_data->ssp_type == CE4100_SSP)
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1317 return 0;
2a8626a9e2d86d drivers/spi/pxa2xx_spi.c Sebastian Andrzej Siewior 2010-11-22 1318
2ec6f20b33eb4f drivers/spi/spi-pxa2xx.c Lukas Wunner 2021-05-27 @1319 return err;
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1320 }
e0c9905e87ac1b drivers/spi/pxa2xx_spi.c Stephen Street 2006-03-07 1321
:::::: The code at line 1319 was first introduced by commit
:::::: 2ec6f20b33eb4f62ab90bdcd620436c883ec3af6 spi: Cleanup on failure of initial setup
:::::: TO: Lukas Wunner <lukas(a)wunner.de>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks