Re: [RFC V1 01/11] perf: Consolidate branch sample filter helpers
by kernel test robot
Hi Anshuman,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on tip/master linux/master linus/master v5.17-rc1 next-20220124]
[cannot apply to tip/perf/core]
[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/Anshuman-Khandual/arm64-perf-Ena...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: hexagon-randconfig-r031-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241639.ksLTFBFO-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/896e736b386a6365048d447a32149f03c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Anshuman-Khandual/arm64-perf-Enable-branch-stack-sampling/20220124-123403
git checkout 896e736b386a6365048d447a32149f03c2544d47
# 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=hexagon SHELL=/bin/bash arch/hexagon/mm/ drivers/char/ fs/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/hexagon/mm/vm_fault.c:21:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
arch/hexagon/mm/vm_fault.c:36:6: warning: no previous prototype for function 'do_page_fault' [-Wmissing-prototypes]
void do_page_fault(unsigned long address, long cause, struct pt_regs *regs)
^
arch/hexagon/mm/vm_fault.c:36:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void do_page_fault(unsigned long address, long cause, struct pt_regs *regs)
^
static
arch/hexagon/mm/vm_fault.c:162:6: warning: no previous prototype for function 'read_protection_fault' [-Wmissing-prototypes]
void read_protection_fault(struct pt_regs *regs)
^
arch/hexagon/mm/vm_fault.c:162:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void read_protection_fault(struct pt_regs *regs)
^
static
arch/hexagon/mm/vm_fault.c:169:6: warning: no previous prototype for function 'write_protection_fault' [-Wmissing-prototypes]
void write_protection_fault(struct pt_regs *regs)
^
arch/hexagon/mm/vm_fault.c:169:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void write_protection_fault(struct pt_regs *regs)
^
static
arch/hexagon/mm/vm_fault.c:176:6: warning: no previous prototype for function 'execute_protection_fault' [-Wmissing-prototypes]
void execute_protection_fault(struct pt_regs *regs)
^
arch/hexagon/mm/vm_fault.c:176:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void execute_protection_fault(struct pt_regs *regs)
^
static
4 warnings and 4 errors generated.
--
In file included from fs/binfmt_misc.c:27:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
4 errors generated.
--
In file included from fs/d_path.c:2:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
fs/d_path.c:318:7: warning: no previous prototype for function 'simple_dname' [-Wmissing-prototypes]
char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
^
fs/d_path.c:318:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
^
static
1 warning and 4 errors generated.
--
In file included from fs/statfs.c:2:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
>> fs/statfs.c:131:3: warning: 'memcpy' will always overflow; destination buffer has size 64, but size argument is 88 [-Wfortify-source]
memcpy(&buf, st, sizeof(*st));
^
1 warning and 4 errors generated.
--
In file included from fs/aio.c:20:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
In file included from fs/aio.c:29:
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))))
^ ~~~~~~~~~~~~~~~~~
1 warning and 4 errors generated.
--
In file included from drivers/char/random.c:335:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
>> include/linux/perf_event.h:1653:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
~~~~~ ^
include/linux/perf_event.h:1658:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_CYCLES;
~~~~~ ^
include/linux/perf_event.h:1663:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_TYPE_SAVE;
~~~~~ ^
include/linux/perf_event.h:1668:16: error: no member named 'attr' in 'struct perf_event'
return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX;
~~~~~ ^
>> drivers/char/random.c:1257:41: warning: shift count >= width of type [-Wshift-count-overflow]
c_high = (sizeof(cycles) > 4) ? cycles >> 32 : 0;
^ ~~
drivers/char/random.c:1258:35: warning: shift count >= width of type [-Wshift-count-overflow]
j_high = (sizeof(now) > 4) ? now >> 32 : 0;
^ ~~
drivers/char/random.c:2272:6: warning: no previous prototype for function 'add_hwgenerator_randomness' [-Wmissing-prototypes]
void add_hwgenerator_randomness(const char *buffer, size_t count,
^
drivers/char/random.c:2272:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void add_hwgenerator_randomness(const char *buffer, size_t count,
^
static
3 warnings and 4 errors generated.
vim +1653 include/linux/perf_event.h
1650
1651 static inline bool branch_sample_no_flags(const struct perf_event *event)
1652 {
> 1653 return event->attr.branch_sample_type & PERF_SAMPLE_BRANCH_NO_FLAGS;
1654 }
1655
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
[sashal-stable:pending-5.10 368/399] sound/usb/mixer_maps.c:341:67: warning: excess elements in struct initializer
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.10
head: 929e0c4ef688344580bfb57a585b24b1d99a5064
commit: 2e333ffa5a47f4a24f7e71f42baf29eba0818753 [368/399] ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink
config: mips-randconfig-r014-20220123 (https://download.01.org/0day-ci/archive/20220124/202201241637.ObtPXFhH-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 7b3d30728816403d1fd73cc5082e9fb761262bce)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.10
git checkout 2e333ffa5a47f4a24f7e71f42baf29eba0818753
# 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=mips SHELL=/bin/bash sound/
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/usb/mixer.c:98:
>> sound/usb/mixer_maps.c:341:67: warning: excess elements in struct initializer [-Wexcess-initializers]
static const struct usbmix_dB_map bose_soundlink_dB = {-8283, -0, true};
^~~~
1 warning generated.
vim +341 sound/usb/mixer_maps.c
339
340 /* Bose Revolve+ SoundLink, correction of dB maps */
> 341 static const struct usbmix_dB_map bose_soundlink_dB = {-8283, -0, true};
342 static const struct usbmix_name_map bose_soundlink_map[] = {
343 { 2, NULL, .dB = &bose_soundlink_dB },
344 { 0 } /* terminator */
345 };
346
---
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 10/10] drivers/spi/spi-st-ssc4.c:176:17: error: no member named 'cs_gpio' in 'struct spi_device'; did you mean 'cs_gpiod'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git gpio-descriptors-spi
head: b91ec14d0a206a5f58d8df605e7b5fe31a62a7ea
commit: b91ec14d0a206a5f58d8df605e7b5fe31a62a7ea [10/10] spi: Retire legacy GPIO handling
config: hexagon-randconfig-r045-20220124 (https://download.01.org/0day-ci/archive/20220124/202201241627.wcbRmB9C-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://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 b91ec14d0a206a5f58d8df605e7b5fe31a62a7ea
# 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=hexagon 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 error/warnings (new ones prefixed by >>):
>> drivers/spi/spi-st-ssc4.c:176:17: error: no member named 'cs_gpio' in 'struct spi_device'; did you mean 'cs_gpiod'?
gpio_free(spi->cs_gpio);
^~~~~~~
cs_gpiod
include/linux/spi/spi.h:185:20: note: 'cs_gpiod' declared here
struct gpio_desc *cs_gpiod; /* chip select gpio desc */
^
drivers/spi/spi-st-ssc4.c:186:16: error: no member named 'cs_gpio' in 'struct spi_device'; did you mean 'cs_gpiod'?
int cs = spi->cs_gpio;
^~~~~~~
cs_gpiod
include/linux/spi/spi.h:185:20: note: 'cs_gpiod' declared here
struct gpio_desc *cs_gpiod; /* chip select gpio desc */
^
>> drivers/spi/spi-st-ssc4.c:186:6: warning: incompatible pointer to integer conversion initializing 'int' with an expression of type 'struct gpio_desc *' [-Wint-conversion]
int cs = spi->cs_gpio;
^ ~~~~~~~~~~~~
1 warning and 2 errors generated.
vim +176 drivers/spi/spi-st-ssc4.c
9e862375c5420a3 Lee Jones 2014-12-09 173
9e862375c5420a3 Lee Jones 2014-12-09 174 static void spi_st_cleanup(struct spi_device *spi)
9e862375c5420a3 Lee Jones 2014-12-09 175 {
42531686639d6a3 Axel Lin 2016-06-05 @176 gpio_free(spi->cs_gpio);
9e862375c5420a3 Lee Jones 2014-12-09 177 }
9e862375c5420a3 Lee Jones 2014-12-09 178
9e862375c5420a3 Lee Jones 2014-12-09 179 /* the spi->mode bits understood by this driver: */
9e862375c5420a3 Lee Jones 2014-12-09 180 #define MODEBITS (SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST | SPI_LOOP | SPI_CS_HIGH)
9e862375c5420a3 Lee Jones 2014-12-09 181 static int spi_st_setup(struct spi_device *spi)
9e862375c5420a3 Lee Jones 2014-12-09 182 {
9e862375c5420a3 Lee Jones 2014-12-09 183 struct spi_st *spi_st = spi_master_get_devdata(spi->master);
9e862375c5420a3 Lee Jones 2014-12-09 184 u32 spi_st_clk, sscbrg, var;
9e862375c5420a3 Lee Jones 2014-12-09 185 u32 hz = spi->max_speed_hz;
9e862375c5420a3 Lee Jones 2014-12-09 @186 int cs = spi->cs_gpio;
9e862375c5420a3 Lee Jones 2014-12-09 187 int ret;
9e862375c5420a3 Lee Jones 2014-12-09 188
9e862375c5420a3 Lee Jones 2014-12-09 189 if (!hz) {
9e862375c5420a3 Lee Jones 2014-12-09 190 dev_err(&spi->dev, "max_speed_hz unspecified\n");
9e862375c5420a3 Lee Jones 2014-12-09 191 return -EINVAL;
9e862375c5420a3 Lee Jones 2014-12-09 192 }
9e862375c5420a3 Lee Jones 2014-12-09 193
9e862375c5420a3 Lee Jones 2014-12-09 194 if (!gpio_is_valid(cs)) {
9e862375c5420a3 Lee Jones 2014-12-09 195 dev_err(&spi->dev, "%d is not a valid gpio\n", cs);
9e862375c5420a3 Lee Jones 2014-12-09 196 return -EINVAL;
9e862375c5420a3 Lee Jones 2014-12-09 197 }
9e862375c5420a3 Lee Jones 2014-12-09 198
42531686639d6a3 Axel Lin 2016-06-05 199 ret = gpio_request(cs, dev_name(&spi->dev));
42531686639d6a3 Axel Lin 2016-06-05 200 if (ret) {
9e862375c5420a3 Lee Jones 2014-12-09 201 dev_err(&spi->dev, "could not request gpio:%d\n", cs);
42531686639d6a3 Axel Lin 2016-06-05 202 return ret;
9e862375c5420a3 Lee Jones 2014-12-09 203 }
9e862375c5420a3 Lee Jones 2014-12-09 204
9e862375c5420a3 Lee Jones 2014-12-09 205 ret = gpio_direction_output(cs, spi->mode & SPI_CS_HIGH);
9e862375c5420a3 Lee Jones 2014-12-09 206 if (ret)
42531686639d6a3 Axel Lin 2016-06-05 207 goto out_free_gpio;
9e862375c5420a3 Lee Jones 2014-12-09 208
9e862375c5420a3 Lee Jones 2014-12-09 209 spi_st_clk = clk_get_rate(spi_st->clk);
9e862375c5420a3 Lee Jones 2014-12-09 210
9e862375c5420a3 Lee Jones 2014-12-09 211 /* Set SSC_BRF */
9e862375c5420a3 Lee Jones 2014-12-09 212 sscbrg = spi_st_clk / (2 * hz);
9e862375c5420a3 Lee Jones 2014-12-09 213 if (sscbrg < 0x07 || sscbrg > BIT(16)) {
9e862375c5420a3 Lee Jones 2014-12-09 214 dev_err(&spi->dev,
9e862375c5420a3 Lee Jones 2014-12-09 215 "baudrate %d outside valid range %d\n", sscbrg, hz);
42531686639d6a3 Axel Lin 2016-06-05 216 ret = -EINVAL;
42531686639d6a3 Axel Lin 2016-06-05 217 goto out_free_gpio;
9e862375c5420a3 Lee Jones 2014-12-09 218 }
9e862375c5420a3 Lee Jones 2014-12-09 219
9e862375c5420a3 Lee Jones 2014-12-09 220 spi_st->baud = spi_st_clk / (2 * sscbrg);
9e862375c5420a3 Lee Jones 2014-12-09 221 if (sscbrg == BIT(16)) /* 16-bit counter wraps */
9e862375c5420a3 Lee Jones 2014-12-09 222 sscbrg = 0x0;
9e862375c5420a3 Lee Jones 2014-12-09 223
9e862375c5420a3 Lee Jones 2014-12-09 224 writel_relaxed(sscbrg, spi_st->base + SSC_BRG);
9e862375c5420a3 Lee Jones 2014-12-09 225
9e862375c5420a3 Lee Jones 2014-12-09 226 dev_dbg(&spi->dev,
9e862375c5420a3 Lee Jones 2014-12-09 227 "setting baudrate:target= %u hz, actual= %u hz, sscbrg= %u\n",
9e862375c5420a3 Lee Jones 2014-12-09 228 hz, spi_st->baud, sscbrg);
9e862375c5420a3 Lee Jones 2014-12-09 229
9e862375c5420a3 Lee Jones 2014-12-09 230 /* Set SSC_CTL and enable SSC */
9e862375c5420a3 Lee Jones 2014-12-09 231 var = readl_relaxed(spi_st->base + SSC_CTL);
9e862375c5420a3 Lee Jones 2014-12-09 232 var |= SSC_CTL_MS;
9e862375c5420a3 Lee Jones 2014-12-09 233
9e862375c5420a3 Lee Jones 2014-12-09 234 if (spi->mode & SPI_CPOL)
9e862375c5420a3 Lee Jones 2014-12-09 235 var |= SSC_CTL_PO;
9e862375c5420a3 Lee Jones 2014-12-09 236 else
9e862375c5420a3 Lee Jones 2014-12-09 237 var &= ~SSC_CTL_PO;
9e862375c5420a3 Lee Jones 2014-12-09 238
9e862375c5420a3 Lee Jones 2014-12-09 239 if (spi->mode & SPI_CPHA)
9e862375c5420a3 Lee Jones 2014-12-09 240 var |= SSC_CTL_PH;
9e862375c5420a3 Lee Jones 2014-12-09 241 else
9e862375c5420a3 Lee Jones 2014-12-09 242 var &= ~SSC_CTL_PH;
9e862375c5420a3 Lee Jones 2014-12-09 243
9e862375c5420a3 Lee Jones 2014-12-09 244 if ((spi->mode & SPI_LSB_FIRST) == 0)
9e862375c5420a3 Lee Jones 2014-12-09 245 var |= SSC_CTL_HB;
9e862375c5420a3 Lee Jones 2014-12-09 246 else
9e862375c5420a3 Lee Jones 2014-12-09 247 var &= ~SSC_CTL_HB;
9e862375c5420a3 Lee Jones 2014-12-09 248
9e862375c5420a3 Lee Jones 2014-12-09 249 if (spi->mode & SPI_LOOP)
9e862375c5420a3 Lee Jones 2014-12-09 250 var |= SSC_CTL_LPB;
9e862375c5420a3 Lee Jones 2014-12-09 251 else
9e862375c5420a3 Lee Jones 2014-12-09 252 var &= ~SSC_CTL_LPB;
9e862375c5420a3 Lee Jones 2014-12-09 253
9e862375c5420a3 Lee Jones 2014-12-09 254 var &= ~SSC_CTL_DATA_WIDTH_MSK;
9e862375c5420a3 Lee Jones 2014-12-09 255 var |= (spi->bits_per_word - 1);
9e862375c5420a3 Lee Jones 2014-12-09 256
9e862375c5420a3 Lee Jones 2014-12-09 257 var |= SSC_CTL_EN_TX_FIFO | SSC_CTL_EN_RX_FIFO;
9e862375c5420a3 Lee Jones 2014-12-09 258 var |= SSC_CTL_EN;
9e862375c5420a3 Lee Jones 2014-12-09 259
9e862375c5420a3 Lee Jones 2014-12-09 260 writel_relaxed(var, spi_st->base + SSC_CTL);
9e862375c5420a3 Lee Jones 2014-12-09 261
9e862375c5420a3 Lee Jones 2014-12-09 262 /* Clear the status register */
9e862375c5420a3 Lee Jones 2014-12-09 263 readl_relaxed(spi_st->base + SSC_RBUF);
9e862375c5420a3 Lee Jones 2014-12-09 264
9e862375c5420a3 Lee Jones 2014-12-09 265 return 0;
42531686639d6a3 Axel Lin 2016-06-05 266
42531686639d6a3 Axel Lin 2016-06-05 267 out_free_gpio:
42531686639d6a3 Axel Lin 2016-06-05 268 gpio_free(cs);
42531686639d6a3 Axel Lin 2016-06-05 269 return ret;
9e862375c5420a3 Lee Jones 2014-12-09 270 }
9e862375c5420a3 Lee Jones 2014-12-09 271
:::::: The code at line 176 was first introduced by commit
:::::: 42531686639d6a3fe49518f2baca3f7256708242 spi: st-ssc4: Fix misuse of devm_gpio_request/devm_gpio_free APIs
:::::: TO: Axel Lin <axel.lin(a)ingics.com>
:::::: 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
Prezentacja
by Mateusz Talaga
Dzień dobry!
Czy mógłbym przedstawić rozwiązanie, które umożliwia monitoring każdego auta w czasie rzeczywistym w tym jego pozycję, zużycie paliwa i przebieg?
Dodatkowo nasze narzędzie minimalizuje koszty utrzymania samochodów, skraca czas przejazdów, a także tworzenie planu tras czy dostaw.
Z naszej wiedzy i doświadczenia korzysta już ponad 49 tys. Klientów. Monitorujemy 809 000 pojazdów na całym świecie, co jest naszą najlepszą wizytówką.
Bardzo proszę o e-maila zwrotnego, jeśli moglibyśmy wspólnie omówić potencjał wykorzystania takiego rozwiązania w Państwa firmie.
Z poważaniem,
Mateusz Talaga
7 months, 4 weeks
sound/soc/codecs/max98927.c:902:19: error: implicit declaration of function 'devm_gpiod_get_optional'; did you mean 'devm_regulator_get_optional'?
by kernel test robot
Hi Alejandro,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0
commit: 4d67dc1998f1890a9d22d03208037075ea9f2562 ASoC: max98927: Handle reset gpio when probing i2c
date: 4 months ago
config: alpha-randconfig-r034-20220123 (https://download.01.org/0day-ci/archive/20220124/202201241652.HcxYQUSR-lk...)
compiler: alpha-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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4d67dc1998f1890a9d22d03208037075ea9f2562
# 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=alpha SHELL=/bin/bash sound/soc/codecs/
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 >>):
sound/soc/codecs/max98927.c: In function 'max98927_i2c_probe':
>> sound/soc/codecs/max98927.c:902:19: error: implicit declaration of function 'devm_gpiod_get_optional'; did you mean 'devm_regulator_get_optional'? [-Werror=implicit-function-declaration]
902 | = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~~~~~~~~~~
| devm_regulator_get_optional
>> sound/soc/codecs/max98927.c:902:63: error: 'GPIOD_OUT_HIGH' undeclared (first use in this function); did you mean 'GPIOF_INIT_HIGH'?
902 | = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
| ^~~~~~~~~~~~~~
| GPIOF_INIT_HIGH
sound/soc/codecs/max98927.c:902:63: note: each undeclared identifier is reported only once for each function it appears in
>> sound/soc/codecs/max98927.c:909:17: error: implicit declaration of function 'gpiod_set_value_cansleep'; did you mean 'gpio_set_value_cansleep'? [-Werror=implicit-function-declaration]
909 | gpiod_set_value_cansleep(max98927->reset_gpio, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| gpio_set_value_cansleep
cc1: some warnings being treated as errors
vim +902 sound/soc/codecs/max98927.c
867
868 int ret = 0, value;
869 int reg = 0;
870 struct max98927_priv *max98927 = NULL;
871
872 max98927 = devm_kzalloc(&i2c->dev,
873 sizeof(*max98927), GFP_KERNEL);
874
875 if (!max98927) {
876 ret = -ENOMEM;
877 return ret;
878 }
879 i2c_set_clientdata(i2c, max98927);
880
881 /* update interleave mode info */
882 if (!of_property_read_u32(i2c->dev.of_node,
883 "interleave_mode", &value)) {
884 if (value > 0)
885 max98927->interleave_mode = true;
886 else
887 max98927->interleave_mode = false;
888 } else
889 max98927->interleave_mode = false;
890
891 /* regmap initialization */
892 max98927->regmap
893 = devm_regmap_init_i2c(i2c, &max98927_regmap);
894 if (IS_ERR(max98927->regmap)) {
895 ret = PTR_ERR(max98927->regmap);
896 dev_err(&i2c->dev,
897 "Failed to allocate regmap: %d\n", ret);
898 return ret;
899 }
900
901 max98927->reset_gpio
> 902 = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
903 if (IS_ERR(max98927->reset_gpio)) {
904 ret = PTR_ERR(max98927->reset_gpio);
905 return dev_err_probe(&i2c->dev, ret, "failed to request GPIO reset pin");
906 }
907
908 if (max98927->reset_gpio) {
> 909 gpiod_set_value_cansleep(max98927->reset_gpio, 0);
910 /* Wait for i2c port to be ready */
911 usleep_range(5000, 6000);
912 }
913
914 /* Check Revision ID */
915 ret = regmap_read(max98927->regmap,
916 MAX98927_R01FF_REV_ID, ®);
917 if (ret < 0) {
918 dev_err(&i2c->dev,
919 "Failed to read: 0x%02X\n", MAX98927_R01FF_REV_ID);
920 return ret;
921 }
922 dev_info(&i2c->dev, "MAX98927 revisionID: 0x%02X\n", reg);
923
924 /* voltage/current slot configuration */
925 max98927_slot_config(i2c, max98927);
926
927 /* codec registeration */
928 ret = devm_snd_soc_register_component(&i2c->dev,
929 &soc_component_dev_max98927,
930 max98927_dai, ARRAY_SIZE(max98927_dai));
931 if (ret < 0)
932 dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
933
934 return ret;
935 }
936
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks
arch/s390/lib/uaccess.c:65:15: error: variable 'spec' has initializer but incomplete type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9b57f458985742bd1c585f4c7f36d04634ce1143
commit: 012a224e1fa31fc256aab921f691598e03db6018 s390/uaccess: introduce bit field for OAC specifier
date: 5 days ago
config: s390-randconfig-r033-20220120 (https://download.01.org/0day-ci/archive/20220122/202201221613.fgIWUw0F-lk...)
compiler: s390-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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 012a224e1fa31fc256aab921f691598e03db6018
# 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=s390 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 >>):
arch/s390/lib/uaccess.c: In function 'copy_from_user_mvcos':
>> arch/s390/lib/uaccess.c:65:15: error: variable 'spec' has initializer but incomplete type
65 | union oac spec = {
| ^~~
>> arch/s390/lib/uaccess.c:66:18: error: 'union oac' has no member named 'oac2'
66 | .oac2.as = PSW_BITS_AS_SECONDARY,
| ^~~~
arch/s390/lib/uaccess.c:66:28: warning: excess elements in union initializer
66 | .oac2.as = PSW_BITS_AS_SECONDARY,
| ^~~~~~~~~~~~~~~~~~~~~
arch/s390/lib/uaccess.c:66:28: note: (near initialization for 'spec')
arch/s390/lib/uaccess.c:67:18: error: 'union oac' has no member named 'oac2'
67 | .oac2.a = 1,
| ^~~~
arch/s390/lib/uaccess.c:67:27: warning: excess elements in union initializer
67 | .oac2.a = 1,
| ^
arch/s390/lib/uaccess.c:67:27: note: (near initialization for 'spec')
>> arch/s390/lib/uaccess.c:65:19: error: storage size of 'spec' isn't known
65 | union oac spec = {
| ^~~~
arch/s390/lib/uaccess.c:65:19: warning: unused variable 'spec' [-Wunused-variable]
arch/s390/lib/uaccess.c: In function 'copy_to_user_mvcos':
arch/s390/lib/uaccess.c:142:15: error: variable 'spec' has initializer but incomplete type
142 | union oac spec = {
| ^~~
>> arch/s390/lib/uaccess.c:143:18: error: 'union oac' has no member named 'oac1'
143 | .oac1.as = PSW_BITS_AS_SECONDARY,
| ^~~~
arch/s390/lib/uaccess.c:143:28: warning: excess elements in union initializer
143 | .oac1.as = PSW_BITS_AS_SECONDARY,
| ^~~~~~~~~~~~~~~~~~~~~
arch/s390/lib/uaccess.c:143:28: note: (near initialization for 'spec')
arch/s390/lib/uaccess.c:144:18: error: 'union oac' has no member named 'oac1'
144 | .oac1.a = 1,
| ^~~~
arch/s390/lib/uaccess.c:144:27: warning: excess elements in union initializer
144 | .oac1.a = 1,
| ^
arch/s390/lib/uaccess.c:144:27: note: (near initialization for 'spec')
arch/s390/lib/uaccess.c:142:19: error: storage size of 'spec' isn't known
142 | union oac spec = {
| ^~~~
arch/s390/lib/uaccess.c:142:19: warning: unused variable 'spec' [-Wunused-variable]
arch/s390/lib/uaccess.c: In function 'clear_user_mvcos':
arch/s390/lib/uaccess.c:218:15: error: variable 'spec' has initializer but incomplete type
218 | union oac spec = {
| ^~~
arch/s390/lib/uaccess.c:219:18: error: 'union oac' has no member named 'oac1'
219 | .oac1.as = PSW_BITS_AS_SECONDARY,
| ^~~~
arch/s390/lib/uaccess.c:219:28: warning: excess elements in union initializer
219 | .oac1.as = PSW_BITS_AS_SECONDARY,
| ^~~~~~~~~~~~~~~~~~~~~
arch/s390/lib/uaccess.c:219:28: note: (near initialization for 'spec')
arch/s390/lib/uaccess.c:220:18: error: 'union oac' has no member named 'oac1'
220 | .oac1.a = 1,
| ^~~~
arch/s390/lib/uaccess.c:220:27: warning: excess elements in union initializer
220 | .oac1.a = 1,
| ^
arch/s390/lib/uaccess.c:220:27: note: (near initialization for 'spec')
arch/s390/lib/uaccess.c:218:19: error: storage size of 'spec' isn't known
218 | union oac spec = {
| ^~~~
arch/s390/lib/uaccess.c:218:19: warning: unused variable 'spec' [-Wunused-variable]
vim +/spec +65 arch/s390/lib/uaccess.c
60
61 static inline unsigned long copy_from_user_mvcos(void *x, const void __user *ptr,
62 unsigned long size)
63 {
64 unsigned long tmp1, tmp2;
> 65 union oac spec = {
> 66 .oac2.as = PSW_BITS_AS_SECONDARY,
> 67 .oac2.a = 1,
68 };
69
70 tmp1 = -4096UL;
71 asm volatile(
72 " lr 0,%[spec]\n"
73 "0: .insn ss,0xc80000000000,0(%0,%2),0(%1),0\n"
74 "6: jz 4f\n"
75 "1: algr %0,%3\n"
76 " slgr %1,%3\n"
77 " slgr %2,%3\n"
78 " j 0b\n"
79 "2: la %4,4095(%1)\n"/* %4 = ptr + 4095 */
80 " nr %4,%3\n" /* %4 = (ptr + 4095) & -4096 */
81 " slgr %4,%1\n"
82 " clgr %0,%4\n" /* copy crosses next page boundary? */
83 " jnh 5f\n"
84 "3: .insn ss,0xc80000000000,0(%4,%2),0(%1),0\n"
85 "7: slgr %0,%4\n"
86 " j 5f\n"
87 "4: slgr %0,%0\n"
88 "5:\n"
89 EX_TABLE(0b,2b) EX_TABLE(3b,5b) EX_TABLE(6b,2b) EX_TABLE(7b,5b)
90 : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2)
91 : [spec] "d" (spec.val)
92 : "cc", "memory", "0");
93 return size;
94 }
95
96 static inline unsigned long copy_from_user_mvcp(void *x, const void __user *ptr,
97 unsigned long size)
98 {
99 unsigned long tmp1, tmp2;
100
101 tmp1 = -256UL;
102 asm volatile(
103 " sacf 0\n"
104 "0: mvcp 0(%0,%2),0(%1),%3\n"
105 "7: jz 5f\n"
106 "1: algr %0,%3\n"
107 " la %1,256(%1)\n"
108 " la %2,256(%2)\n"
109 "2: mvcp 0(%0,%2),0(%1),%3\n"
110 "8: jnz 1b\n"
111 " j 5f\n"
112 "3: la %4,255(%1)\n" /* %4 = ptr + 255 */
113 " lghi %3,-4096\n"
114 " nr %4,%3\n" /* %4 = (ptr + 255) & -4096 */
115 " slgr %4,%1\n"
116 " clgr %0,%4\n" /* copy crosses next page boundary? */
117 " jnh 6f\n"
118 "4: mvcp 0(%4,%2),0(%1),%3\n"
119 "9: slgr %0,%4\n"
120 " j 6f\n"
121 "5: slgr %0,%0\n"
122 "6: sacf 768\n"
123 EX_TABLE(0b,3b) EX_TABLE(2b,3b) EX_TABLE(4b,6b)
124 EX_TABLE(7b,3b) EX_TABLE(8b,3b) EX_TABLE(9b,6b)
125 : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2)
126 : : "cc", "memory");
127 return size;
128 }
129
130 unsigned long raw_copy_from_user(void *to, const void __user *from, unsigned long n)
131 {
132 if (copy_with_mvcos())
133 return copy_from_user_mvcos(to, from, n);
134 return copy_from_user_mvcp(to, from, n);
135 }
136 EXPORT_SYMBOL(raw_copy_from_user);
137
138 static inline unsigned long copy_to_user_mvcos(void __user *ptr, const void *x,
139 unsigned long size)
140 {
141 unsigned long tmp1, tmp2;
142 union oac spec = {
> 143 .oac1.as = PSW_BITS_AS_SECONDARY,
144 .oac1.a = 1,
145 };
146
147 tmp1 = -4096UL;
148 asm volatile(
149 " lr 0,%[spec]\n"
150 "0: .insn ss,0xc80000000000,0(%0,%1),0(%2),0\n"
151 "6: jz 4f\n"
152 "1: algr %0,%3\n"
153 " slgr %1,%3\n"
154 " slgr %2,%3\n"
155 " j 0b\n"
156 "2: la %4,4095(%1)\n"/* %4 = ptr + 4095 */
157 " nr %4,%3\n" /* %4 = (ptr + 4095) & -4096 */
158 " slgr %4,%1\n"
159 " clgr %0,%4\n" /* copy crosses next page boundary? */
160 " jnh 5f\n"
161 "3: .insn ss,0xc80000000000,0(%4,%1),0(%2),0\n"
162 "7: slgr %0,%4\n"
163 " j 5f\n"
164 "4: slgr %0,%0\n"
165 "5:\n"
166 EX_TABLE(0b,2b) EX_TABLE(3b,5b) EX_TABLE(6b,2b) EX_TABLE(7b,5b)
167 : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2)
168 : [spec] "d" (spec.val)
169 : "cc", "memory", "0");
170 return size;
171 }
172
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 4 weeks