[miquelraynal:nand/next 26/52] drivers/mtd/nand/raw/tango_nand.c:339:38: error: 'struct nand_chip' has no member named 'data_interface'
by kernel test robot
tree: https://github.com/miquelraynal/linux-0day.git nand/next
head: 33d5c3d07abfc06a44fba577cec76fe8099a0cdc
commit: 20b3d8076851756b42ebe9f21d378abba5560d04 [26/52] mtd: rawnand: s/data_interface/interface_config/
config: arc-allyesconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.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
git checkout 20b3d8076851756b42ebe9f21d378abba5560d04
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
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 >>, old ones prefixed by <<):
drivers/mtd/nand/raw/tango_nand.c: In function 'tango_write_page':
>> drivers/mtd/nand/raw/tango_nand.c:339:38: error: 'struct nand_chip' has no member named 'data_interface'
339 | timings = nand_get_sdr_timings(&chip->data_interface);
| ^~
--
>> drivers/mtd/nand/raw/mtk_nand.c:535:21: warning: 'struct nand_data_interface' declared inside parameter list will not be visible outside of this definition or declaration
535 | const struct nand_data_interface *conf)
| ^~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/raw/mtk_nand.c: In function 'mtk_nfc_setup_interface':
>> drivers/mtd/nand/raw/mtk_nand.c:542:33: error: passing argument 1 of 'nand_get_sdr_timings' from incompatible pointer type [-Werror=incompatible-pointer-types]
542 | timings = nand_get_sdr_timings(conf);
| ^~~~
| |
| const struct nand_data_interface *
In file included from drivers/mtd/nand/raw/mtk_nand.c:14:
include/linux/mtd/rawnand.h:524:58: note: expected 'const struct nand_interface_config *' but argument is of type 'const struct nand_data_interface *'
524 | nand_get_sdr_timings(const struct nand_interface_config *conf)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/mtd/nand/raw/mtk_nand.c: At top level:
>> drivers/mtd/nand/raw/mtk_nand.c:1360:21: error: initialization of 'int (*)(struct nand_chip *, int, const struct nand_interface_config *)' from incompatible pointer type 'int (*)(struct nand_chip *, int, const struct nand_data_interface *)' [-Werror=incompatible-pointer-types]
1360 | .setup_interface = mtk_nfc_setup_interface,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/raw/mtk_nand.c:1360:21: note: (near initialization for 'mtk_nfc_controller_ops.setup_interface')
cc1: some warnings being treated as errors
vim +339 drivers/mtd/nand/raw/tango_nand.c
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 319
767eb6fbdedb7d drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2018-09-06 320 static int tango_write_page(struct nand_chip *chip, const u8 *buf,
767eb6fbdedb7d drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2018-09-06 321 int oob_required, int page)
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 322 {
767eb6fbdedb7d drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2018-09-06 323 struct mtd_info *mtd = nand_to_mtd(chip);
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 324 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 325 const struct nand_sdr_timings *timings;
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 326 int err, len = mtd->writesize;
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 327 u8 status;
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 328
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 329 /* Calling tango_write_oob() would send PAGEPROG twice */
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 330 if (oob_required)
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 331 return -ENOTSUPP;
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 332
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 333 tango_select_target(chip, chip->cur_cs);
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 334 writel_relaxed(0xffffffff, nfc->mem_base + METADATA);
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 335 err = do_dma(nfc, DMA_TO_DEVICE, NFC_WRITE, buf, len, page);
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 336 if (err)
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 337 return err;
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 338
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 @339 timings = nand_get_sdr_timings(&chip->data_interface);
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 340 err = tango_waitrdy(chip, PSEC_TO_MSEC(timings->tR_max));
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 341 if (err)
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 342 return err;
41145649f4acb3 drivers/mtd/nand/tango_nand.c Boris Brezillon 2017-05-16 343
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 344 err = nand_status_op(chip, &status);
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 345 if (err)
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 346 return err;
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 347
d8ed345a4c6226 drivers/mtd/nand/raw/tango_nand.c Boris Brezillon 2020-05-18 348 return status & NAND_STATUS_FAIL ? -EIO : 0;
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 349 }
6956e2385a1617 drivers/mtd/nand/tango_nand.c Marc Gonzalez 2016-10-25 350
:::::: The code at line 339 was first introduced by commit
:::::: d8ed345a4c622657638b740415c6f73b26bfd132 mtd: rawnand: tango: Convert the driver to exec_op()
:::::: TO: Boris Brezillon <boris.brezillon(a)collabora.com>
:::::: CC: Miquel Raynal <miquel.raynal(a)bootlin.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
arch/nios2/include/asm/irqflags.h:12:9: sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b3a9e3b9622ae10064826dccb4f7a52bd88c7407
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 7 months ago
config: nios2-randconfig-s032-20200615 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-3-g55607964-dirty
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# save the attached .config to linux build tree
make W=1 C=1 ARCH=nios2 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
>> arch/nios2/include/asm/irqflags.h:12:9: sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock
>> arch/nios2/include/asm/irqflags.h:12:9: sparse: sparse: context imbalance in 'check_move_unevictable_pages' - unexpected unlock
--
>> arch/nios2/include/asm/irqflags.h:12:9: sparse: sparse: context imbalance in 'shadow_lru_isolate' - wrong count at exit
vim +/move_pages_to_lru +12 arch/nios2/include/asm/irqflags.h
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 9
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 10 static inline unsigned long arch_local_save_flags(void)
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 11 {
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 @12 return RDCTL(CTL_STATUS);
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 13 }
f27ffc751ca5d2 Ley Foon Tan 2014-11-06 14
:::::: The code at line 12 was first introduced by commit
:::::: f27ffc751ca5d216a347084996c70452a4e185a4 nios2: Interrupt handling
:::::: TO: Ley Foon Tan <lftan(a)altera.com>
:::::: CC: Ley Foon Tan <lftan(a)altera.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH 3/3 v2] rtc: abx80x: Add support for autocalibration filter capacitor
by Dan Carpenter
Hi "Kevin,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Kevin-P-Fleming/dt-bindings-abx8...
base: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
config: i386-randconfig-m021-20200612 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/rtc/rtc-abx80x.c:821 abx80x_probe() error: uninitialized symbol 'trickle_cfg'.
# https://github.com/0day-ci/linux/commit/bbd3b3445f48810231c5f004a975116f1...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout bbd3b3445f48810231c5f004a975116f19b37331
vim +/trickle_cfg +821 drivers/rtc/rtc-abx80x.c
4d61ff6b9960cb Philippe De Muyter 2015-05-05 700 static int abx80x_probe(struct i2c_client *client,
4d61ff6b9960cb Philippe De Muyter 2015-05-05 701 const struct i2c_device_id *id)
4d61ff6b9960cb Philippe De Muyter 2015-05-05 702 {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 703 struct device_node *np = client->dev.of_node;
af69f9a7878413 Jeremy Gebben 2018-09-11 704 struct abx80x_priv *priv;
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 705 int i, data, err, trickle_cfg, filter_cfg = -EINVAL;
^^^^^^^^^^^
4d61ff6b9960cb Philippe De Muyter 2015-05-05 706 char buf[7];
4d61ff6b9960cb Philippe De Muyter 2015-05-05 707 unsigned int part = id->driver_data;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 708 unsigned int partnumber;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 709 unsigned int majrev, minrev;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 710 unsigned int lot;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 711 unsigned int wafer;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 712 unsigned int uid;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 713
4d61ff6b9960cb Philippe De Muyter 2015-05-05 714 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
4d61ff6b9960cb Philippe De Muyter 2015-05-05 715 return -ENODEV;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 716
4d61ff6b9960cb Philippe De Muyter 2015-05-05 717 err = i2c_smbus_read_i2c_block_data(client, ABX8XX_REG_ID0,
4d61ff6b9960cb Philippe De Muyter 2015-05-05 718 sizeof(buf), buf);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 719 if (err < 0) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 720 dev_err(&client->dev, "Unable to read partnumber\n");
4d61ff6b9960cb Philippe De Muyter 2015-05-05 721 return -EIO;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 722 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 723
4d61ff6b9960cb Philippe De Muyter 2015-05-05 724 partnumber = (buf[0] << 8) | buf[1];
4d61ff6b9960cb Philippe De Muyter 2015-05-05 725 majrev = buf[2] >> 3;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 726 minrev = buf[2] & 0x7;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 727 lot = ((buf[4] & 0x80) << 2) | ((buf[6] & 0x80) << 1) | buf[3];
4d61ff6b9960cb Philippe De Muyter 2015-05-05 728 uid = ((buf[4] & 0x7f) << 8) | buf[5];
4d61ff6b9960cb Philippe De Muyter 2015-05-05 729 wafer = (buf[6] & 0x7c) >> 2;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 730 dev_info(&client->dev, "model %04x, revision %u.%u, lot %x, wafer %x, uid %x\n",
4d61ff6b9960cb Philippe De Muyter 2015-05-05 731 partnumber, majrev, minrev, lot, wafer, uid);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 732
4d61ff6b9960cb Philippe De Muyter 2015-05-05 733 data = i2c_smbus_read_byte_data(client, ABX8XX_REG_CTRL1);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 734 if (data < 0) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 735 dev_err(&client->dev, "Unable to read control register\n");
4d61ff6b9960cb Philippe De Muyter 2015-05-05 736 return -EIO;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 737 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 738
4d61ff6b9960cb Philippe De Muyter 2015-05-05 739 err = i2c_smbus_write_byte_data(client, ABX8XX_REG_CTRL1,
718a820a303ca6 Alexandre Belloni 2015-12-17 740 ((data & ~(ABX8XX_CTRL_12_24 |
718a820a303ca6 Alexandre Belloni 2015-12-17 741 ABX8XX_CTRL_ARST)) |
4d61ff6b9960cb Philippe De Muyter 2015-05-05 742 ABX8XX_CTRL_WRITE));
4d61ff6b9960cb Philippe De Muyter 2015-05-05 743 if (err < 0) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 744 dev_err(&client->dev, "Unable to write control register\n");
4d61ff6b9960cb Philippe De Muyter 2015-05-05 745 return -EIO;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 746 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 747
75455e258ea2b3 Marek Vasut 2019-01-29 748 /* Configure RV1805 specifics */
75455e258ea2b3 Marek Vasut 2019-01-29 749 if (part == RV1805) {
75455e258ea2b3 Marek Vasut 2019-01-29 750 /*
75455e258ea2b3 Marek Vasut 2019-01-29 751 * Avoid accidentally entering test mode. This can happen
75455e258ea2b3 Marek Vasut 2019-01-29 752 * on the RV1805 in case the reserved bit 5 in control2
75455e258ea2b3 Marek Vasut 2019-01-29 753 * register is set. RV-1805-C3 datasheet indicates that
75455e258ea2b3 Marek Vasut 2019-01-29 754 * the bit should be cleared in section 11h - Control2.
75455e258ea2b3 Marek Vasut 2019-01-29 755 */
75455e258ea2b3 Marek Vasut 2019-01-29 756 data = i2c_smbus_read_byte_data(client, ABX8XX_REG_CTRL2);
75455e258ea2b3 Marek Vasut 2019-01-29 757 if (data < 0) {
75455e258ea2b3 Marek Vasut 2019-01-29 758 dev_err(&client->dev,
75455e258ea2b3 Marek Vasut 2019-01-29 759 "Unable to read control2 register\n");
75455e258ea2b3 Marek Vasut 2019-01-29 760 return -EIO;
75455e258ea2b3 Marek Vasut 2019-01-29 761 }
75455e258ea2b3 Marek Vasut 2019-01-29 762
75455e258ea2b3 Marek Vasut 2019-01-29 763 err = i2c_smbus_write_byte_data(client, ABX8XX_REG_CTRL2,
75455e258ea2b3 Marek Vasut 2019-01-29 764 data & ~ABX8XX_CTRL2_RSVD);
75455e258ea2b3 Marek Vasut 2019-01-29 765 if (err < 0) {
75455e258ea2b3 Marek Vasut 2019-01-29 766 dev_err(&client->dev,
75455e258ea2b3 Marek Vasut 2019-01-29 767 "Unable to write control2 register\n");
75455e258ea2b3 Marek Vasut 2019-01-29 768 return -EIO;
75455e258ea2b3 Marek Vasut 2019-01-29 769 }
75455e258ea2b3 Marek Vasut 2019-01-29 770
75455e258ea2b3 Marek Vasut 2019-01-29 771 /*
75455e258ea2b3 Marek Vasut 2019-01-29 772 * Avoid extra power leakage. The RV1805 uses smaller
75455e258ea2b3 Marek Vasut 2019-01-29 773 * 10pin package and the EXTI input is not present.
75455e258ea2b3 Marek Vasut 2019-01-29 774 * Disable it to avoid leakage.
75455e258ea2b3 Marek Vasut 2019-01-29 775 */
75455e258ea2b3 Marek Vasut 2019-01-29 776 data = i2c_smbus_read_byte_data(client, ABX8XX_REG_OUT_CTRL);
75455e258ea2b3 Marek Vasut 2019-01-29 777 if (data < 0) {
75455e258ea2b3 Marek Vasut 2019-01-29 778 dev_err(&client->dev,
75455e258ea2b3 Marek Vasut 2019-01-29 779 "Unable to read output control register\n");
75455e258ea2b3 Marek Vasut 2019-01-29 780 return -EIO;
75455e258ea2b3 Marek Vasut 2019-01-29 781 }
75455e258ea2b3 Marek Vasut 2019-01-29 782
75455e258ea2b3 Marek Vasut 2019-01-29 783 /*
75455e258ea2b3 Marek Vasut 2019-01-29 784 * Write the configuration key register to enable access to
75455e258ea2b3 Marek Vasut 2019-01-29 785 * the config2 register
75455e258ea2b3 Marek Vasut 2019-01-29 786 */
fee83bca1a1fde Kevin P. Fleming 2020-06-12 787 if (abx80x_write_config_key(client, ABX8XX_CFG_KEY_MISC) < 0)
75455e258ea2b3 Marek Vasut 2019-01-29 788 return -EIO;
75455e258ea2b3 Marek Vasut 2019-01-29 789
75455e258ea2b3 Marek Vasut 2019-01-29 790 err = i2c_smbus_write_byte_data(client, ABX8XX_REG_OUT_CTRL,
75455e258ea2b3 Marek Vasut 2019-01-29 791 data | ABX8XX_OUT_CTRL_EXDS);
75455e258ea2b3 Marek Vasut 2019-01-29 792 if (err < 0) {
75455e258ea2b3 Marek Vasut 2019-01-29 793 dev_err(&client->dev,
75455e258ea2b3 Marek Vasut 2019-01-29 794 "Unable to write output control register\n");
75455e258ea2b3 Marek Vasut 2019-01-29 795 return -EIO;
75455e258ea2b3 Marek Vasut 2019-01-29 796 }
75455e258ea2b3 Marek Vasut 2019-01-29 797 }
75455e258ea2b3 Marek Vasut 2019-01-29 798
4d61ff6b9960cb Philippe De Muyter 2015-05-05 799 /* part autodetection */
4d61ff6b9960cb Philippe De Muyter 2015-05-05 800 if (part == ABX80X) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 801 for (i = 0; abx80x_caps[i].pn; i++)
4d61ff6b9960cb Philippe De Muyter 2015-05-05 802 if (partnumber == abx80x_caps[i].pn)
4d61ff6b9960cb Philippe De Muyter 2015-05-05 803 break;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 804 if (abx80x_caps[i].pn == 0) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 805 dev_err(&client->dev, "Unknown part: %04x\n",
4d61ff6b9960cb Philippe De Muyter 2015-05-05 806 partnumber);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 807 return -EINVAL;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 808 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 809 part = i;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 810 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 811
4d61ff6b9960cb Philippe De Muyter 2015-05-05 812 if (partnumber != abx80x_caps[part].pn) {
4d61ff6b9960cb Philippe De Muyter 2015-05-05 813 dev_err(&client->dev, "partnumber mismatch %04x != %04x\n",
4d61ff6b9960cb Philippe De Muyter 2015-05-05 814 partnumber, abx80x_caps[part].pn);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 815 return -EINVAL;
4d61ff6b9960cb Philippe De Muyter 2015-05-05 816 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 817
4d61ff6b9960cb Philippe De Muyter 2015-05-05 818 if (np && abx80x_caps[part].has_tc)
6e429f6b8c6b8f Kevin P. Fleming 2020-05-30 819 trickle_cfg = abx80x_dt_trickle_cfg(client);
^^^^^^^^^^^^^
Not initialized on else path.
4d61ff6b9960cb Philippe De Muyter 2015-05-05 820
4d61ff6b9960cb Philippe De Muyter 2015-05-05 @821 if (trickle_cfg > 0) {
^^^^^^^^^^^
4d61ff6b9960cb Philippe De Muyter 2015-05-05 822 dev_info(&client->dev, "Enabling trickle charger: %02x\n",
4d61ff6b9960cb Philippe De Muyter 2015-05-05 823 trickle_cfg);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 824 abx80x_enable_trickle_charger(client, trickle_cfg);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 825 }
4d61ff6b9960cb Philippe De Muyter 2015-05-05 826
718a820a303ca6 Alexandre Belloni 2015-12-17 827 err = i2c_smbus_write_byte_data(client, ABX8XX_REG_CD_TIMER_CTL,
718a820a303ca6 Alexandre Belloni 2015-12-17 828 BIT(2));
718a820a303ca6 Alexandre Belloni 2015-12-17 829 if (err)
718a820a303ca6 Alexandre Belloni 2015-12-17 830 return err;
718a820a303ca6 Alexandre Belloni 2015-12-17 831
af69f9a7878413 Jeremy Gebben 2018-09-11 832 priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL);
af69f9a7878413 Jeremy Gebben 2018-09-11 833 if (priv == NULL)
af69f9a7878413 Jeremy Gebben 2018-09-11 834 return -ENOMEM;
af69f9a7878413 Jeremy Gebben 2018-09-11 835
af69f9a7878413 Jeremy Gebben 2018-09-11 836 priv->rtc = devm_rtc_allocate_device(&client->dev);
af69f9a7878413 Jeremy Gebben 2018-09-11 837 if (IS_ERR(priv->rtc))
af69f9a7878413 Jeremy Gebben 2018-09-11 838 return PTR_ERR(priv->rtc);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 839
af69f9a7878413 Jeremy Gebben 2018-09-11 840 priv->rtc->ops = &abx80x_rtc_ops;
af69f9a7878413 Jeremy Gebben 2018-09-11 841 priv->client = client;
9360a6a81862d3 Alexandre Belloni 2017-10-13 842
af69f9a7878413 Jeremy Gebben 2018-09-11 843 i2c_set_clientdata(client, priv);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 844
749e36d0a0d725 Jeremy Gebben 2018-09-11 845 if (abx80x_caps[part].has_wdog) {
749e36d0a0d725 Jeremy Gebben 2018-09-11 846 err = abx80x_setup_watchdog(priv);
749e36d0a0d725 Jeremy Gebben 2018-09-11 847 if (err)
749e36d0a0d725 Jeremy Gebben 2018-09-11 848 return err;
749e36d0a0d725 Jeremy Gebben 2018-09-11 849 }
749e36d0a0d725 Jeremy Gebben 2018-09-11 850
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 851 if (of_property_read_u32(np, "abracon,autocal_filter", &filter_cfg) == 0) {
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 852 err = abx80x_set_autocal_filter(client,
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 853 filter_cfg ?
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 854 ABX8XX_AUTOCAL_FILTER_ENABLE :
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 855 ABX8XX_AUTOCAL_FILTER_DISABLE);
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 856 if (err)
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 857 return err;
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 858 }
bbd3b3445f4881 Kevin P. Fleming 2020-06-12 859
718a820a303ca6 Alexandre Belloni 2015-12-17 860 if (client->irq > 0) {
718a820a303ca6 Alexandre Belloni 2015-12-17 861 dev_info(&client->dev, "IRQ %d supplied\n", client->irq);
718a820a303ca6 Alexandre Belloni 2015-12-17 862 err = devm_request_threaded_irq(&client->dev, client->irq, NULL,
718a820a303ca6 Alexandre Belloni 2015-12-17 863 abx80x_handle_irq,
718a820a303ca6 Alexandre Belloni 2015-12-17 864 IRQF_SHARED | IRQF_ONESHOT,
718a820a303ca6 Alexandre Belloni 2015-12-17 865 "abx8xx",
718a820a303ca6 Alexandre Belloni 2015-12-17 866 client);
718a820a303ca6 Alexandre Belloni 2015-12-17 867 if (err) {
718a820a303ca6 Alexandre Belloni 2015-12-17 868 dev_err(&client->dev, "unable to request IRQ, alarms disabled\n");
718a820a303ca6 Alexandre Belloni 2015-12-17 869 client->irq = 0;
718a820a303ca6 Alexandre Belloni 2015-12-17 870 }
718a820a303ca6 Alexandre Belloni 2015-12-17 871 }
718a820a303ca6 Alexandre Belloni 2015-12-17 872
559e883e0f7768 Alexandre Belloni 2019-03-06 873 err = rtc_add_group(priv->rtc, &rtc_calib_attr_group);
59a8383adb7545 Mylène Josserand 2016-03-21 874 if (err) {
59a8383adb7545 Mylène Josserand 2016-03-21 875 dev_err(&client->dev, "Failed to create sysfs group: %d\n",
59a8383adb7545 Mylène Josserand 2016-03-21 876 err);
59a8383adb7545 Mylène Josserand 2016-03-21 877 return err;
59a8383adb7545 Mylène Josserand 2016-03-21 878 }
59a8383adb7545 Mylène Josserand 2016-03-21 879
559e883e0f7768 Alexandre Belloni 2019-03-06 880 return rtc_register_device(priv->rtc);
4d61ff6b9960cb Philippe De Muyter 2015-05-05 881 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[xlnx:pr/141 7244/7257] sound/drivers/xylon/logii2s.h:111:2: error: unknown type name 'spinlock_t'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx pr/141
head: db995e4e810a4df3511b95cec55cd8d955b1b52d
commit: d9f8c581a57f95963d6825e9ed6abd89c4099e15 [7244/7257] Fix Makefile typo
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.5.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
git checkout d9f8c581a57f95963d6825e9ed6abd89c4099e15
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=ia64
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 >>, old ones prefixed by <<):
In file included from sound/drivers/xylon/logii2s.c:19:0:
>> sound/drivers/xylon/logii2s.h:111:2: error: unknown type name 'spinlock_t'
spinlock_t lock;
^~~~~~~~~~
vim +/spinlock_t +111 sound/drivers/xylon/logii2s.h
4b89f92a14681c puhitaku 2018-10-26 107
4b89f92a14681c puhitaku 2018-10-26 108 struct logii2s_pcm_data {
4b89f92a14681c puhitaku 2018-10-26 109 struct logii2s_port *port;
4b89f92a14681c puhitaku 2018-10-26 110 struct snd_pcm_substream *substream;
4b89f92a14681c puhitaku 2018-10-26 @111 spinlock_t lock;
4b89f92a14681c puhitaku 2018-10-26 112 unsigned int buf_pos;
4b89f92a14681c puhitaku 2018-10-26 113 unsigned int buf_sz;
4b89f92a14681c puhitaku 2018-10-26 114 unsigned int xfer_dir;
4b89f92a14681c puhitaku 2018-10-26 115
4b89f92a14681c puhitaku 2018-10-26 116 /* Raw mic alignment info */
4b89f92a14681c puhitaku 2018-10-26 117 unsigned char is_aligned;
4b89f92a14681c puhitaku 2018-10-26 118
4b89f92a14681c puhitaku 2018-10-26 119 /* Last R channel sample */
4b89f92a14681c puhitaku 2018-10-26 120 u32 last_r;
4b89f92a14681c puhitaku 2018-10-26 121 };
4b89f92a14681c puhitaku 2018-10-26 122
:::::: The code at line 111 was first introduced by commit
:::::: 4b89f92a14681c6d7068c5cea7d7df3f8ccaec61 Move struct definition to share it among other sources
:::::: TO: puhitaku <puhitaku(a)gmail.com>
:::::: CC: puhitaku <puhitaku(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/i2c/busses/i2c-xgene-slimpro.c:134:9: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b3a9e3b9622ae10064826dccb4f7a52bd88c7407
commit: a5460b5e5fb82656807840d40d3deaecad094044 READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
date: 9 weeks ago
config: arm64-randconfig-s031-20200615 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-3-g55607964-dirty
git checkout a5460b5e5fb82656807840d40d3deaecad094044
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arm64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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/i2c/busses/i2c-xgene-slimpro.c:131:15: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:131:15: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:131:15: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:131:15: sparse: sparse: cast to restricted __le16
>> drivers/i2c/busses/i2c-xgene-slimpro.c:134:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile @@ got restricted __le16 [usertype] @@
>> drivers/i2c/busses/i2c-xgene-slimpro.c:134:9: sparse: expected unsigned short volatile
>> drivers/i2c/busses/i2c-xgene-slimpro.c:134:9: sparse: got restricted __le16 [usertype]
>> drivers/i2c/busses/i2c-xgene-slimpro.c:185:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile @@ got restricted __le32 [usertype] @@
>> drivers/i2c/busses/i2c-xgene-slimpro.c:185:9: sparse: expected unsigned int volatile
>> drivers/i2c/busses/i2c-xgene-slimpro.c:185:9: sparse: got restricted __le32 [usertype]
drivers/i2c/busses/i2c-xgene-slimpro.c:188:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-xgene-slimpro.c:188:9: sparse: expected unsigned short volatile
drivers/i2c/busses/i2c-xgene-slimpro.c:188:9: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-xgene-slimpro.c:191:18: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:191:18: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:191:18: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:191:18: sparse: sparse: cast to restricted __le16
drivers/i2c/busses/i2c-xgene-slimpro.c:193:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile @@ got restricted __le16 [usertype] @@
drivers/i2c/busses/i2c-xgene-slimpro.c:193:9: sparse: expected unsigned short volatile
drivers/i2c/busses/i2c-xgene-slimpro.c:193:9: sparse: got restricted __le16 [usertype]
drivers/i2c/busses/i2c-xgene-slimpro.c:197:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile @@ got restricted __le32 [usertype] @@
drivers/i2c/busses/i2c-xgene-slimpro.c:197:17: sparse: expected unsigned int volatile
drivers/i2c/busses/i2c-xgene-slimpro.c:197:17: sparse: got restricted __le32 [usertype]
vim +134 drivers/i2c/busses/i2c-xgene-slimpro.c
da24b8240fe6af Hoan Tran 2017-10-30 123
df5da47fe722e3 Hoan Tran 2017-04-24 124 /*
df5da47fe722e3 Hoan Tran 2017-04-24 125 * This function tests and clears a bitmask then returns its old value
df5da47fe722e3 Hoan Tran 2017-04-24 126 */
df5da47fe722e3 Hoan Tran 2017-04-24 127 static u16 xgene_word_tst_and_clr(u16 *addr, u16 mask)
df5da47fe722e3 Hoan Tran 2017-04-24 128 {
df5da47fe722e3 Hoan Tran 2017-04-24 129 u16 ret, val;
df5da47fe722e3 Hoan Tran 2017-04-24 130
df5da47fe722e3 Hoan Tran 2017-04-24 @131 val = le16_to_cpu(READ_ONCE(*addr));
df5da47fe722e3 Hoan Tran 2017-04-24 132 ret = val & mask;
df5da47fe722e3 Hoan Tran 2017-04-24 133 val &= ~mask;
df5da47fe722e3 Hoan Tran 2017-04-24 @134 WRITE_ONCE(*addr, cpu_to_le16(val));
df5da47fe722e3 Hoan Tran 2017-04-24 135
df5da47fe722e3 Hoan Tran 2017-04-24 136 return ret;
df5da47fe722e3 Hoan Tran 2017-04-24 137 }
df5da47fe722e3 Hoan Tran 2017-04-24 138
f6505fbabc426b Feng Kan 2015-04-24 139 static void slimpro_i2c_rx_cb(struct mbox_client *cl, void *mssg)
f6505fbabc426b Feng Kan 2015-04-24 140 {
f6505fbabc426b Feng Kan 2015-04-24 141 struct slimpro_i2c_dev *ctx = to_slimpro_i2c_dev(cl);
f6505fbabc426b Feng Kan 2015-04-24 142
f6505fbabc426b Feng Kan 2015-04-24 143 /*
f6505fbabc426b Feng Kan 2015-04-24 144 * Response message format:
f6505fbabc426b Feng Kan 2015-04-24 145 * mssg[0] is the return code of the operation
f6505fbabc426b Feng Kan 2015-04-24 146 * mssg[1] is the first data word
f6505fbabc426b Feng Kan 2015-04-24 147 * mssg[2] is NOT used
f6505fbabc426b Feng Kan 2015-04-24 148 */
f6505fbabc426b Feng Kan 2015-04-24 149 if (ctx->resp_msg)
f6505fbabc426b Feng Kan 2015-04-24 150 *ctx->resp_msg = ((u32 *)mssg)[1];
f6505fbabc426b Feng Kan 2015-04-24 151
f6505fbabc426b Feng Kan 2015-04-24 152 if (ctx->mbox_client.tx_block)
f6505fbabc426b Feng Kan 2015-04-24 153 complete(&ctx->rd_complete);
f6505fbabc426b Feng Kan 2015-04-24 154 }
f6505fbabc426b Feng Kan 2015-04-24 155
df5da47fe722e3 Hoan Tran 2017-04-24 156 static void slimpro_i2c_pcc_rx_cb(struct mbox_client *cl, void *msg)
df5da47fe722e3 Hoan Tran 2017-04-24 157 {
df5da47fe722e3 Hoan Tran 2017-04-24 158 struct slimpro_i2c_dev *ctx = to_slimpro_i2c_dev(cl);
df5da47fe722e3 Hoan Tran 2017-04-24 159 struct acpi_pcct_shared_memory *generic_comm_base = ctx->pcc_comm_addr;
df5da47fe722e3 Hoan Tran 2017-04-24 160
df5da47fe722e3 Hoan Tran 2017-04-24 161 /* Check if platform sends interrupt */
df5da47fe722e3 Hoan Tran 2017-04-24 162 if (!xgene_word_tst_and_clr(&generic_comm_base->status,
df5da47fe722e3 Hoan Tran 2017-04-24 163 PCC_STS_SCI_DOORBELL))
df5da47fe722e3 Hoan Tran 2017-04-24 164 return;
df5da47fe722e3 Hoan Tran 2017-04-24 165
df5da47fe722e3 Hoan Tran 2017-04-24 166 if (xgene_word_tst_and_clr(&generic_comm_base->status,
df5da47fe722e3 Hoan Tran 2017-04-24 167 PCC_STS_CMD_COMPLETE)) {
df5da47fe722e3 Hoan Tran 2017-04-24 168 msg = generic_comm_base + 1;
df5da47fe722e3 Hoan Tran 2017-04-24 169
df5da47fe722e3 Hoan Tran 2017-04-24 170 /* Response message msg[1] contains the return value. */
df5da47fe722e3 Hoan Tran 2017-04-24 171 if (ctx->resp_msg)
df5da47fe722e3 Hoan Tran 2017-04-24 172 *ctx->resp_msg = ((u32 *)msg)[1];
df5da47fe722e3 Hoan Tran 2017-04-24 173
df5da47fe722e3 Hoan Tran 2017-04-24 174 complete(&ctx->rd_complete);
df5da47fe722e3 Hoan Tran 2017-04-24 175 }
df5da47fe722e3 Hoan Tran 2017-04-24 176 }
df5da47fe722e3 Hoan Tran 2017-04-24 177
df5da47fe722e3 Hoan Tran 2017-04-24 178 static void slimpro_i2c_pcc_tx_prepare(struct slimpro_i2c_dev *ctx, u32 *msg)
df5da47fe722e3 Hoan Tran 2017-04-24 179 {
df5da47fe722e3 Hoan Tran 2017-04-24 180 struct acpi_pcct_shared_memory *generic_comm_base = ctx->pcc_comm_addr;
df5da47fe722e3 Hoan Tran 2017-04-24 181 u32 *ptr = (void *)(generic_comm_base + 1);
df5da47fe722e3 Hoan Tran 2017-04-24 182 u16 status;
df5da47fe722e3 Hoan Tran 2017-04-24 183 int i;
df5da47fe722e3 Hoan Tran 2017-04-24 184
df5da47fe722e3 Hoan Tran 2017-04-24 @185 WRITE_ONCE(generic_comm_base->signature,
df5da47fe722e3 Hoan Tran 2017-04-24 186 cpu_to_le32(PCC_SIGNATURE | ctx->mbox_idx));
df5da47fe722e3 Hoan Tran 2017-04-24 187
df5da47fe722e3 Hoan Tran 2017-04-24 188 WRITE_ONCE(generic_comm_base->command,
df5da47fe722e3 Hoan Tran 2017-04-24 189 cpu_to_le16(SLIMPRO_MSG_TYPE(msg[0]) | PCC_CMD_GENERATE_DB_INT));
df5da47fe722e3 Hoan Tran 2017-04-24 190
df5da47fe722e3 Hoan Tran 2017-04-24 191 status = le16_to_cpu(READ_ONCE(generic_comm_base->status));
df5da47fe722e3 Hoan Tran 2017-04-24 192 status &= ~PCC_STS_CMD_COMPLETE;
df5da47fe722e3 Hoan Tran 2017-04-24 193 WRITE_ONCE(generic_comm_base->status, cpu_to_le16(status));
df5da47fe722e3 Hoan Tran 2017-04-24 194
df5da47fe722e3 Hoan Tran 2017-04-24 195 /* Copy the message to the PCC comm space */
df5da47fe722e3 Hoan Tran 2017-04-24 196 for (i = 0; i < SLIMPRO_IIC_MSG_DWORD_COUNT; i++)
df5da47fe722e3 Hoan Tran 2017-04-24 197 WRITE_ONCE(ptr[i], cpu_to_le32(msg[i]));
df5da47fe722e3 Hoan Tran 2017-04-24 198 }
df5da47fe722e3 Hoan Tran 2017-04-24 199
:::::: The code at line 134 was first introduced by commit
:::::: df5da47fe722e36055b97134e6bb9df58c12495c i2c: xgene-slimpro: Add ACPI support by using PCC mailbox
:::::: TO: Hoan Tran <hotran(a)apm.com>
:::::: CC: Wolfram Sang <wsa(a)the-dreams.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[jirislaby:devel 65/69] objdump: 'arch/x86/entry/vdso/vdso32.so.dbg': No such file
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 71914a457c7d0ccd85e22ceda42254432f1dbc10
commit: 4782bd74de97c016793ba05b6fd51a4a881ce046 [65/69] linkage: perform symbol pair checking (per group)
config: i386-defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout 4782bd74de97c016793ba05b6fd51a4a881ce046
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>, old ones prefixed by <<):
ld:arch/x86/entry/vdso/vdso32/vdso32.lds:187: ignoring invalid character `#' in expression
ld:arch/x86/entry/vdso/vdso32/vdso32.lds:187: syntax error
>> objdump: 'arch/x86/entry/vdso/vdso32.so.dbg': No such file
--
>> objcopy: 'arch/x86/entry/vdso/vdso32.so.dbg': No such file
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[jirislaby:devel 65/69] arch/arc/kernel/entry-arcv2.S:68: Error: junk at end of line, first unrecognized character is `h'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 71914a457c7d0ccd85e22ceda42254432f1dbc10
commit: 4782bd74de97c016793ba05b6fd51a4a881ce046 [65/69] linkage: perform symbol pair checking (per group)
config: arc-defconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.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
git checkout 4782bd74de97c016793ba05b6fd51a4a881ce046
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
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 >>, old ones prefixed by <<):
arch/arc/kernel/entry-arcv2.S: Assembler messages:
>> arch/arc/kernel/entry-arcv2.S:68: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:99: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:105: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:111: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:123: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:136: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry-arcv2.S:161: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:26: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:38: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:50: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:79: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:96: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:131: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:147: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:235: Error: junk at end of line, first unrecognized character is `h'
arch/arc/kernel/entry.S:277: Error: junk at end of line, first unrecognized character is `h'
vim +68 arch/arc/kernel/entry-arcv2.S
1f6ccfff631467 Vineet Gupta 2013-05-13 67
1f6ccfff631467 Vineet Gupta 2013-05-13 @68 ENTRY(handle_interrupt)
1f6ccfff631467 Vineet Gupta 2013-05-13 69
a4880801a72ecc Vineet Gupta 2019-05-15 70 INTERRUPT_PROLOGUE
1f6ccfff631467 Vineet Gupta 2013-05-13 71
78833e79d51690 Vineet Gupta 2016-09-23 72 # irq control APIs local_irq_save/restore/disable/enable fiddle with
78833e79d51690 Vineet Gupta 2016-09-23 73 # global interrupt enable bits in STATUS32 (.IE for 1 prio, .E[] for 2 prio)
78833e79d51690 Vineet Gupta 2016-09-23 74 # However a taken interrupt doesn't clear these bits. Thus irqs_disabled()
78833e79d51690 Vineet Gupta 2016-09-23 75 # query in hard ISR path would return false (since .IE is set) which would
78833e79d51690 Vineet Gupta 2016-09-23 76 # trips genirq interrupt handling asserts.
78833e79d51690 Vineet Gupta 2016-09-23 77 #
78833e79d51690 Vineet Gupta 2016-09-23 78 # So do a "soft" disable of interrutps here.
78833e79d51690 Vineet Gupta 2016-09-23 79 #
78833e79d51690 Vineet Gupta 2016-09-23 80 # Note this disable is only for consistent book-keeping as further interrupts
78833e79d51690 Vineet Gupta 2016-09-23 81 # will be disabled anyways even w/o this. Hardware tracks active interrupts
75370ad44075e8 Vineet Gupta 2019-05-22 82 # seperately in AUX_IRQ_ACT.active and will not take new interrupts
78833e79d51690 Vineet Gupta 2016-09-23 83 # unless this one returns (or higher prio becomes pending in 2-prio scheme)
78833e79d51690 Vineet Gupta 2016-09-23 84
78833e79d51690 Vineet Gupta 2016-09-23 85 IRQ_DISABLE
78833e79d51690 Vineet Gupta 2016-09-23 86
78833e79d51690 Vineet Gupta 2016-09-23 87 ; icause is banked: one per priority level
78833e79d51690 Vineet Gupta 2016-09-23 88 ; so a higher prio interrupt taken here won't clobber prev prio icause
d9676fa152c83b Evgeny Voevodin 2016-03-23 89 lr r0, [ICAUSE]
1f6ccfff631467 Vineet Gupta 2013-05-13 90 mov blink, ret_from_exception
1f6ccfff631467 Vineet Gupta 2013-05-13 91
1f6ccfff631467 Vineet Gupta 2013-05-13 92 b.d arch_do_IRQ
1f6ccfff631467 Vineet Gupta 2013-05-13 93 mov r1, sp
1f6ccfff631467 Vineet Gupta 2013-05-13 94
:::::: The code at line 68 was first introduced by commit
:::::: 1f6ccfff6314672743ad7252160654709e997a2a ARCv2: Support for ARCv2 ISA and HS38x cores
:::::: TO: Vineet Gupta <vgupta(a)synopsys.com>
:::::: CC: Vineet Gupta <vgupta(a)synopsys.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/video/fbdev/core/fbmem.c:803:39: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b3a9e3b9622ae10064826dccb4f7a52bd88c7407
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 7 months ago
config: nios2-randconfig-s032-20200615 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-3-g55607964-dirty
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# save the attached .config to linux build tree
make W=1 C=1 ARCH=nios2 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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/video/fbdev/core/fbmem.c:803:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *s @@ got unsigned char [noderef] [usertype] <asn:2> *[assigned] src @@
>> drivers/video/fbdev/core/fbmem.c:803:39: sparse: expected void const *s
drivers/video/fbdev/core/fbmem.c:803:39: sparse: got unsigned char [noderef] [usertype] <asn:2> *[assigned] src
>> drivers/video/fbdev/core/fbmem.c:880:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *d @@ got unsigned char [noderef] [usertype] <asn:2> *[assigned] dst @@
>> drivers/video/fbdev/core/fbmem.c:880:32: sparse: expected void *d
drivers/video/fbdev/core/fbmem.c:880:32: sparse: got unsigned char [noderef] [usertype] <asn:2> *[assigned] dst
vim +803 drivers/video/fbdev/core/fbmem.c
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 756
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 757 static ssize_t
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 758 fb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 759 {
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 760 unsigned long p = *ppos;
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 761 struct fb_info *info = file_fb_info(file);
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 762 u8 *buffer, *dst;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 763 u8 __iomem *src;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 764 int c, cnt = 0, err = 0;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 765 unsigned long total_size;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 766
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 767 if (!info || ! info->screen_base)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 768 return -ENODEV;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 769
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 770 if (info->state != FBINFO_STATE_RUNNING)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 771 return -EPERM;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 772
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 773 if (info->fbops->fb_read)
3f9b0880e4a96b drivers/video/fbmem.c Antonino A. Daplas 2007-05-08 774 return info->fbops->fb_read(info, buf, count, ppos);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 775
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 776 total_size = info->screen_size;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 777
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 778 if (total_size == 0)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 779 total_size = info->fix.smem_len;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 780
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 781 if (p >= total_size)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 782 return 0;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 783
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 784 if (count >= total_size)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 785 count = total_size;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 786
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 787 if (count + p > total_size)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 788 count = total_size - p;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 789
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 790 buffer = kmalloc((count > PAGE_SIZE) ? PAGE_SIZE : count,
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 791 GFP_KERNEL);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 792 if (!buffer)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 793 return -ENOMEM;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 794
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 795 src = (u8 __iomem *) (info->screen_base + p);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 796
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 797 if (info->fbops->fb_sync)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 798 info->fbops->fb_sync(info);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 799
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 800 while (count) {
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 801 c = (count > PAGE_SIZE) ? PAGE_SIZE : count;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 802 dst = buffer;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 @803 fb_memcpy_fromfb(dst, src, c);
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 804 dst += c;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 805 src += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 806
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 807 if (copy_to_user(buf, buffer, c)) {
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 808 err = -EFAULT;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 809 break;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 810 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 811 *ppos += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 812 buf += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 813 cnt += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 814 count -= c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 815 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 816
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 817 kfree(buffer);
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 818
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 819 return (err) ? err : cnt;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 820 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 821
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 822 static ssize_t
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 823 fb_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 824 {
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 825 unsigned long p = *ppos;
c47747fde931c0 drivers/video/fbmem.c Linus Torvalds 2011-05-11 826 struct fb_info *info = file_fb_info(file);
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 827 u8 *buffer, *src;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 828 u8 __iomem *dst;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 829 int c, cnt = 0, err = 0;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 830 unsigned long total_size;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 831
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 832 if (!info || !info->screen_base)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 833 return -ENODEV;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 834
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 835 if (info->state != FBINFO_STATE_RUNNING)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 836 return -EPERM;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 837
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 838 if (info->fbops->fb_write)
3f9b0880e4a96b drivers/video/fbmem.c Antonino A. Daplas 2007-05-08 839 return info->fbops->fb_write(info, buf, count, ppos);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 840
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 841 total_size = info->screen_size;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 842
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 843 if (total_size == 0)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 844 total_size = info->fix.smem_len;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 845
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 846 if (p > total_size)
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 847 return -EFBIG;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 848
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 849 if (count > total_size) {
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 850 err = -EFBIG;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 851 count = total_size;
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 852 }
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 853
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 854 if (count + p > total_size) {
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 855 if (!err)
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 856 err = -ENOSPC;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 857
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 858 count = total_size - p;
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 859 }
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 860
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 861 buffer = kmalloc((count > PAGE_SIZE) ? PAGE_SIZE : count,
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 862 GFP_KERNEL);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 863 if (!buffer)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 864 return -ENOMEM;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 865
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 866 dst = (u8 __iomem *) (info->screen_base + p);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 867
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 868 if (info->fbops->fb_sync)
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 869 info->fbops->fb_sync(info);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 870
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 871 while (count) {
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 872 c = (count > PAGE_SIZE) ? PAGE_SIZE : count;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 873 src = buffer;
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 874
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 875 if (copy_from_user(src, buf, c)) {
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 876 err = -EFAULT;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 877 break;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 878 }
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 879
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 @880 fb_memcpy_tofb(dst, src, c);
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 881 dst += c;
f11b478d461b71 drivers/video/fbmem.c James Hogan 2010-10-27 882 src += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 883 *ppos += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 884 buf += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 885 cnt += c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 886 count -= c;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 887 }
0a484a3af905a2 drivers/video/fbmem.c Antonino A. Daplas 2006-01-09 888
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 889 kfree(buffer);
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 890
6a2a88668e90cd drivers/video/fbmem.c Antonino A. Daplas 2006-04-18 891 return (cnt) ? cnt : err;
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 892 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 893
:::::: The code at line 803 was first introduced by commit
:::::: f11b478d461b7113eb4603b3914aaf15b7788e87 fbmem: fix fb_read, fb_write unaligned accesses
:::::: TO: James Hogan <james(a)albanarts.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: drivers/net/can/kvaser_pciefd.c:801:17: sparse: sparse: cast removes address space '<asn:2>' of expression
by Greg Ungerer
On 13/6/20 2:35 am, Luc Van Oostenryck wrote:
> On Sat, Jun 13, 2020 at 01:33:16AM +1000, Greg Ungerer wrote:
>>>> arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
>>
>> This one I am not sure about yet.
>> Still investigating.
>
> swab32(__raw_readl(addr)) ?
>
> Keeping __le32_to_cpu() will only force you to use ugly casts for no benefits
> and the comment above explain clearly the situation about the endianness.
That is unfortunate, the use of le32_to_cpu() made it very clear
what was going on - for those that don't choose to read comments.
In any case that would seem to be the cleanest solution.
Patch to follow.
Regards
Greg
2 years, 3 months