[asahilinux:nvme/dev 8/18] drivers/base/power/domain.c:598:13: error: use of undeclared identifier 'pm_wq'
by kernel test robot
Hi Hector,
First bad commit (maybe != root cause):
tree: https://github.com/AsahiLinux/linux nvme/dev
head: d25eee8aced31cf92944992bec41022e6f837daf
commit: 028c36c758424f97baa0f0bfcaaab99a4e8d9f08 [8/18] soc: apple: Add driver for Apple PMGR power state controls
config: riscv-buildonly-randconfig-r001-20211210 (https://download.01.org/0day-ci/archive/20211210/202112101135.56J2kVJa-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/AsahiLinux/linux/commit/028c36c758424f97baa0f0bfcaaab9...
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux nvme/dev
git checkout 028c36c758424f97baa0f0bfcaaab99a4e8d9f08
# 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=riscv SHELL=/bin/bash drivers/base/power/ drivers/nvme/host/
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/base/power/domain.c:598:13: error: use of undeclared identifier 'pm_wq'
queue_work(pm_wq, &genpd->power_off_work);
^
>> drivers/base/power/domain.c:789:26: error: no member named 'ignore_children' in 'struct dev_pm_info'
if (!dev || dev->power.ignore_children)
~~~~~~~~~~ ^
>> drivers/base/power/domain.c:3006:17: error: no member named 'runtime_error' in 'struct dev_pm_info'
if (dev->power.runtime_error)
~~~~~~~~~~ ^
>> drivers/base/power/domain.c:3008:22: error: no member named 'disable_depth' in 'struct dev_pm_info'
else if (dev->power.disable_depth)
~~~~~~~~~~ ^
>> drivers/base/power/domain.c:3010:22: error: no member named 'runtime_status' in 'struct dev_pm_info'
else if (dev->power.runtime_status < ARRAY_SIZE(status_lookup))
~~~~~~~~~~ ^
drivers/base/power/domain.c:3011:32: error: no member named 'runtime_status' in 'struct dev_pm_info'
p = status_lookup[dev->power.runtime_status];
~~~~~~~~~~ ^
6 errors generated.
--
>> drivers/base/power/domain_governor.c:82:18: error: no member named 'ignore_children' in 'struct dev_pm_info'
if (!dev->power.ignore_children)
~~~~~~~~~~ ^
1 error generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PM_GENERIC_DOMAINS
Depends on PM
Selected by
- APPLE_PMGR_PWRSTATE && (ARCH_APPLE || COMPILE_TEST
vim +/pm_wq +598 drivers/base/power/domain.c
c8f0ea45169c57 Geert Uytterhoeven 2014-11-10 588
29e47e2173349e Ulf Hansson 2015-09-02 589 /**
86e12eac1f7f84 Ulf Hansson 2016-12-08 590 * genpd_queue_power_off_work - Queue up the execution of genpd_power_off().
a3d09c73492e57 Moritz Fischer 2016-01-27 591 * @genpd: PM domain to power off.
29e47e2173349e Ulf Hansson 2015-09-02 592 *
86e12eac1f7f84 Ulf Hansson 2016-12-08 593 * Queue up the execution of genpd_power_off() unless it's already been done
29e47e2173349e Ulf Hansson 2015-09-02 594 * before.
29e47e2173349e Ulf Hansson 2015-09-02 595 */
29e47e2173349e Ulf Hansson 2015-09-02 596 static void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
29e47e2173349e Ulf Hansson 2015-09-02 597 {
29e47e2173349e Ulf Hansson 2015-09-02 @598 queue_work(pm_wq, &genpd->power_off_work);
29e47e2173349e Ulf Hansson 2015-09-02 599 }
29e47e2173349e Ulf Hansson 2015-09-02 600
1f8728b7adc4c2 Ulf Hansson 2017-02-17 601 /**
1f8728b7adc4c2 Ulf Hansson 2017-02-17 602 * genpd_power_off - Remove power from a given PM domain.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 603 * @genpd: PM domain to power down.
3c64649d1cf9f3 Ulf Hansson 2017-02-17 604 * @one_dev_on: If invoked from genpd's ->runtime_suspend|resume() callback, the
3c64649d1cf9f3 Ulf Hansson 2017-02-17 605 * RPM status of the releated device is in an intermediate state, not yet turned
3c64649d1cf9f3 Ulf Hansson 2017-02-17 606 * into RPM_SUSPENDED. This means genpd_power_off() must allow one device to not
3c64649d1cf9f3 Ulf Hansson 2017-02-17 607 * be RPM_SUSPENDED, while it tries to power off the PM domain.
763663c9715f5f Yang Yingliang 2021-05-12 608 * @depth: nesting count for lockdep.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 609 *
1f8728b7adc4c2 Ulf Hansson 2017-02-17 610 * If all of the @genpd's devices have been suspended and all of its subdomains
1f8728b7adc4c2 Ulf Hansson 2017-02-17 611 * have been powered down, remove power from @genpd.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 612 */
2da835452a0875 Ulf Hansson 2017-02-17 613 static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
2da835452a0875 Ulf Hansson 2017-02-17 614 unsigned int depth)
1f8728b7adc4c2 Ulf Hansson 2017-02-17 615 {
1f8728b7adc4c2 Ulf Hansson 2017-02-17 616 struct pm_domain_data *pdd;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 617 struct gpd_link *link;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 618 unsigned int not_suspended = 0;
f63816e43d9044 Ulf Hansson 2020-09-24 619 int ret;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 620
1f8728b7adc4c2 Ulf Hansson 2017-02-17 621 /*
1f8728b7adc4c2 Ulf Hansson 2017-02-17 622 * Do not try to power off the domain in the following situations:
1f8728b7adc4c2 Ulf Hansson 2017-02-17 623 * (1) The domain is already in the "power off" state.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 624 * (2) System suspend is in progress.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 625 */
41e2c8e0060db2 Ulf Hansson 2017-03-20 626 if (!genpd_status_on(genpd) || genpd->prepared_count > 0)
1f8728b7adc4c2 Ulf Hansson 2017-02-17 627 return 0;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 628
ffaa42e8a40b7f Ulf Hansson 2017-03-20 629 /*
ffaa42e8a40b7f Ulf Hansson 2017-03-20 630 * Abort power off for the PM domain in the following situations:
ffaa42e8a40b7f Ulf Hansson 2017-03-20 631 * (1) The domain is configured as always on.
ffaa42e8a40b7f Ulf Hansson 2017-03-20 632 * (2) When the domain has a subdomain being powered on.
ffaa42e8a40b7f Ulf Hansson 2017-03-20 633 */
ed61e18a4b4e44 Leonard Crestez 2019-04-30 634 if (genpd_is_always_on(genpd) ||
ed61e18a4b4e44 Leonard Crestez 2019-04-30 635 genpd_is_rpm_always_on(genpd) ||
ed61e18a4b4e44 Leonard Crestez 2019-04-30 636 atomic_read(&genpd->sd_count) > 0)
1f8728b7adc4c2 Ulf Hansson 2017-02-17 637 return -EBUSY;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 638
1f8728b7adc4c2 Ulf Hansson 2017-02-17 639 list_for_each_entry(pdd, &genpd->dev_list, list_node) {
1f8728b7adc4c2 Ulf Hansson 2017-02-17 640 enum pm_qos_flags_status stat;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 641
20f97caf1120bd Rafael J. Wysocki 2017-10-13 642 stat = dev_pm_qos_flags(pdd->dev, PM_QOS_FLAG_NO_POWER_OFF);
1f8728b7adc4c2 Ulf Hansson 2017-02-17 643 if (stat > PM_QOS_FLAGS_NONE)
1f8728b7adc4c2 Ulf Hansson 2017-02-17 644 return -EBUSY;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 645
1f8728b7adc4c2 Ulf Hansson 2017-02-17 646 /*
1f8728b7adc4c2 Ulf Hansson 2017-02-17 647 * Do not allow PM domain to be powered off, when an IRQ safe
1f8728b7adc4c2 Ulf Hansson 2017-02-17 648 * device is part of a non-IRQ safe domain.
1f8728b7adc4c2 Ulf Hansson 2017-02-17 649 */
1f8728b7adc4c2 Ulf Hansson 2017-02-17 650 if (!pm_runtime_suspended(pdd->dev) ||
1f8728b7adc4c2 Ulf Hansson 2017-02-17 651 irq_safe_dev_in_no_sleep_domain(pdd->dev, genpd))
1f8728b7adc4c2 Ulf Hansson 2017-02-17 652 not_suspended++;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 653 }
1f8728b7adc4c2 Ulf Hansson 2017-02-17 654
3c64649d1cf9f3 Ulf Hansson 2017-02-17 655 if (not_suspended > 1 || (not_suspended == 1 && !one_dev_on))
1f8728b7adc4c2 Ulf Hansson 2017-02-17 656 return -EBUSY;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 657
1f8728b7adc4c2 Ulf Hansson 2017-02-17 658 if (genpd->gov && genpd->gov->power_down_ok) {
1f8728b7adc4c2 Ulf Hansson 2017-02-17 659 if (!genpd->gov->power_down_ok(&genpd->domain))
1f8728b7adc4c2 Ulf Hansson 2017-02-17 660 return -EAGAIN;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 661 }
1f8728b7adc4c2 Ulf Hansson 2017-02-17 662
2c9b7f8772033c Ulf Hansson 2018-10-03 663 /* Default to shallowest state. */
2c9b7f8772033c Ulf Hansson 2018-10-03 664 if (!genpd->gov)
2c9b7f8772033c Ulf Hansson 2018-10-03 665 genpd->state_idx = 0;
2c9b7f8772033c Ulf Hansson 2018-10-03 666
f63816e43d9044 Ulf Hansson 2020-09-24 667 /* Don't power off, if a child domain is waiting to power on. */
1f8728b7adc4c2 Ulf Hansson 2017-02-17 668 if (atomic_read(&genpd->sd_count) > 0)
1f8728b7adc4c2 Ulf Hansson 2017-02-17 669 return -EBUSY;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 670
1f8728b7adc4c2 Ulf Hansson 2017-02-17 671 ret = _genpd_power_off(genpd, true);
c6a113b52302ad Lina Iyer 2020-10-15 672 if (ret) {
c6a113b52302ad Lina Iyer 2020-10-15 673 genpd->states[genpd->state_idx].rejected++;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 674 return ret;
c6a113b52302ad Lina Iyer 2020-10-15 675 }
1f8728b7adc4c2 Ulf Hansson 2017-02-17 676
49f618e1b669ef Ulf Hansson 2020-09-24 677 genpd->status = GENPD_STATE_OFF;
afece3ab9a3640 Thara Gopinath 2017-07-14 678 genpd_update_accounting(genpd);
c6a113b52302ad Lina Iyer 2020-10-15 679 genpd->states[genpd->state_idx].usage++;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 680
8d87ae48ced2df Kees Cook 2020-07-08 681 list_for_each_entry(link, &genpd->child_links, child_node) {
8d87ae48ced2df Kees Cook 2020-07-08 682 genpd_sd_counter_dec(link->parent);
8d87ae48ced2df Kees Cook 2020-07-08 683 genpd_lock_nested(link->parent, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 684 genpd_power_off(link->parent, false, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 685 genpd_unlock(link->parent);
1f8728b7adc4c2 Ulf Hansson 2017-02-17 686 }
1f8728b7adc4c2 Ulf Hansson 2017-02-17 687
1f8728b7adc4c2 Ulf Hansson 2017-02-17 688 return 0;
1f8728b7adc4c2 Ulf Hansson 2017-02-17 689 }
1f8728b7adc4c2 Ulf Hansson 2017-02-17 690
5248051b9afb66 Rafael J. Wysocki 2011-07-01 691 /**
8d87ae48ced2df Kees Cook 2020-07-08 692 * genpd_power_on - Restore power to a given PM domain and its parents.
5248051b9afb66 Rafael J. Wysocki 2011-07-01 693 * @genpd: PM domain to power up.
0106ef5146f9e8 Marek Szyprowski 2016-01-20 694 * @depth: nesting count for lockdep.
5248051b9afb66 Rafael J. Wysocki 2011-07-01 695 *
8d87ae48ced2df Kees Cook 2020-07-08 696 * Restore power to @genpd and all of its parents so that it is possible to
5248051b9afb66 Rafael J. Wysocki 2011-07-01 697 * resume a device belonging to it.
5248051b9afb66 Rafael J. Wysocki 2011-07-01 698 */
86e12eac1f7f84 Ulf Hansson 2016-12-08 699 static int genpd_power_on(struct generic_pm_domain *genpd, unsigned int depth)
5248051b9afb66 Rafael J. Wysocki 2011-07-01 700 {
5063ce1571b738 Rafael J. Wysocki 2011-08-08 701 struct gpd_link *link;
5248051b9afb66 Rafael J. Wysocki 2011-07-01 702 int ret = 0;
5248051b9afb66 Rafael J. Wysocki 2011-07-01 703
41e2c8e0060db2 Ulf Hansson 2017-03-20 704 if (genpd_status_on(genpd))
3f241775c30365 Rafael J. Wysocki 2011-08-08 705 return 0;
5248051b9afb66 Rafael J. Wysocki 2011-07-01 706
5063ce1571b738 Rafael J. Wysocki 2011-08-08 707 /*
5063ce1571b738 Rafael J. Wysocki 2011-08-08 708 * The list is guaranteed not to change while the loop below is being
8d87ae48ced2df Kees Cook 2020-07-08 709 * executed, unless one of the parents' .power_on() callbacks fiddles
5063ce1571b738 Rafael J. Wysocki 2011-08-08 710 * with it.
5063ce1571b738 Rafael J. Wysocki 2011-08-08 711 */
8d87ae48ced2df Kees Cook 2020-07-08 712 list_for_each_entry(link, &genpd->child_links, child_node) {
8d87ae48ced2df Kees Cook 2020-07-08 713 struct generic_pm_domain *parent = link->parent;
0106ef5146f9e8 Marek Szyprowski 2016-01-20 714
8d87ae48ced2df Kees Cook 2020-07-08 715 genpd_sd_counter_inc(parent);
0106ef5146f9e8 Marek Szyprowski 2016-01-20 716
8d87ae48ced2df Kees Cook 2020-07-08 717 genpd_lock_nested(parent, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 718 ret = genpd_power_on(parent, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 719 genpd_unlock(parent);
5248051b9afb66 Rafael J. Wysocki 2011-07-01 720
5063ce1571b738 Rafael J. Wysocki 2011-08-08 721 if (ret) {
8d87ae48ced2df Kees Cook 2020-07-08 722 genpd_sd_counter_dec(parent);
9e08cf42969709 Rafael J. Wysocki 2011-08-08 723 goto err;
5248051b9afb66 Rafael J. Wysocki 2011-07-01 724 }
5063ce1571b738 Rafael J. Wysocki 2011-08-08 725 }
5248051b9afb66 Rafael J. Wysocki 2011-07-01 726
86e12eac1f7f84 Ulf Hansson 2016-12-08 727 ret = _genpd_power_on(genpd, true);
9e08cf42969709 Rafael J. Wysocki 2011-08-08 728 if (ret)
9e08cf42969709 Rafael J. Wysocki 2011-08-08 729 goto err;
0140d8bd47f798 Rafael J. Wysocki 2011-12-01 730
49f618e1b669ef Ulf Hansson 2020-09-24 731 genpd->status = GENPD_STATE_ON;
afece3ab9a3640 Thara Gopinath 2017-07-14 732 genpd_update_accounting(genpd);
afece3ab9a3640 Thara Gopinath 2017-07-14 733
3f241775c30365 Rafael J. Wysocki 2011-08-08 734 return 0;
9e08cf42969709 Rafael J. Wysocki 2011-08-08 735
9e08cf42969709 Rafael J. Wysocki 2011-08-08 736 err:
29e47e2173349e Ulf Hansson 2015-09-02 737 list_for_each_entry_continue_reverse(link,
8d87ae48ced2df Kees Cook 2020-07-08 738 &genpd->child_links,
8d87ae48ced2df Kees Cook 2020-07-08 739 child_node) {
8d87ae48ced2df Kees Cook 2020-07-08 740 genpd_sd_counter_dec(link->parent);
8d87ae48ced2df Kees Cook 2020-07-08 741 genpd_lock_nested(link->parent, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 742 genpd_power_off(link->parent, false, depth + 1);
8d87ae48ced2df Kees Cook 2020-07-08 743 genpd_unlock(link->parent);
29e47e2173349e Ulf Hansson 2015-09-02 744 }
9e08cf42969709 Rafael J. Wysocki 2011-08-08 745
3f241775c30365 Rafael J. Wysocki 2011-08-08 746 return ret;
3f241775c30365 Rafael J. Wysocki 2011-08-08 747 }
3f241775c30365 Rafael J. Wysocki 2011-08-08 748
ea71c59669f17d Ulf Hansson 2019-10-16 749 static int genpd_dev_pm_start(struct device *dev)
ea71c59669f17d Ulf Hansson 2019-10-16 750 {
ea71c59669f17d Ulf Hansson 2019-10-16 751 struct generic_pm_domain *genpd = dev_to_genpd(dev);
ea71c59669f17d Ulf Hansson 2019-10-16 752
ea71c59669f17d Ulf Hansson 2019-10-16 753 return genpd_start_dev(genpd, dev);
ea71c59669f17d Ulf Hansson 2019-10-16 754 }
ea71c59669f17d Ulf Hansson 2019-10-16 755
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 756 static int genpd_dev_pm_qos_notifier(struct notifier_block *nb,
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 757 unsigned long val, void *ptr)
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 758 {
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 759 struct generic_pm_domain_data *gpd_data;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 760 struct device *dev;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 761
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 762 gpd_data = container_of(nb, struct generic_pm_domain_data, nb);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 763 dev = gpd_data->base.dev;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 764
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 765 for (;;) {
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 766 struct generic_pm_domain *genpd;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 767 struct pm_domain_data *pdd;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 768
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 769 spin_lock_irq(&dev->power.lock);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 770
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 771 pdd = dev->power.subsys_data ?
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 772 dev->power.subsys_data->domain_data : NULL;
b4883ca449473e Viresh Kumar 2017-05-16 773 if (pdd) {
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 774 to_gpd_data(pdd)->td.constraint_changed = true;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 775 genpd = dev_to_genpd(dev);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 776 } else {
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 777 genpd = ERR_PTR(-ENODATA);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 778 }
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 779
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 780 spin_unlock_irq(&dev->power.lock);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 781
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 782 if (!IS_ERR(genpd)) {
35241d12f750d2 Lina Iyer 2016-10-14 783 genpd_lock(genpd);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 784 genpd->max_off_time_changed = true;
35241d12f750d2 Lina Iyer 2016-10-14 785 genpd_unlock(genpd);
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 786 }
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 787
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 788 dev = dev->parent;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 @789 if (!dev || dev->power.ignore_children)
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 790 break;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 791 }
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 792
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 793 return NOTIFY_DONE;
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 794 }
6ff7bb0d02f829 Rafael J. Wysocki 2012-05-01 795
:::::: The code at line 598 was first introduced by commit
:::::: 29e47e2173349ee06bd339f7753821c720d50923 PM / Domains: Try power off masters in error path of __pm_genpd_poweron()
:::::: TO: Ulf Hansson <ulf.hansson(a)linaro.org>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v2 05/13] arm64: dts: qcom: Add base SM8450 QRD DTS
by kernel test robot
Hi Vinod,
I love your patch! Yet something to improve:
[auto build test ERROR on robh/for-next]
[also build test ERROR on v5.16-rc4]
[cannot apply to next-20211208]
[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/Vinod-Koul/arm64-dts-qcom-Add-su...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r022-20211207 (https://download.01.org/0day-ci/archive/20211210/202112101124.H3KNjjaf-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/636d2456715b3aba9cf1fa47931c6e381...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vinod-Koul/arm64-dts-qcom-Add-support-for-SM8450-SoC-and-QRD-board/20211209-183713
git checkout 636d2456715b3aba9cf1fa47931c6e381ca62e00
# 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=arm64 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 arch/arm64/boot/dts/qcom/sm8450-qrd.dts:8:
>> arch/arm64/boot/dts/qcom/sm8450.dtsi:7:10: fatal error: 'dt-bindings/clock/qcom,gcc-sm8450.h' file not found
#include <dt-bindings/clock/qcom,gcc-sm8450.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
vim +7 arch/arm64/boot/dts/qcom/sm8450.dtsi
244741584ca1ceb Vinod Koul 2021-12-09 @7 #include <dt-bindings/clock/qcom,gcc-sm8450.h>
244741584ca1ceb Vinod Koul 2021-12-09 8 #include <dt-bindings/clock/qcom,rpmh.h>
244741584ca1ceb Vinod Koul 2021-12-09 9 #include <dt-bindings/gpio/gpio.h>
244741584ca1ceb Vinod Koul 2021-12-09 10 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
244741584ca1ceb Vinod Koul 2021-12-09 11
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[dhowells-fs:fscache-rewrite 65/69] fs/nfs/file.c:435:9: error: implicit declaration of function 'nfs_fscache_release_page'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-rewrite
head: 82abe23a0865faea23cf06ac51f2303f26b9bb53
commit: f6770459bb519747a01e91834f88ac82299a47de [65/69] nfs: Implement cache I/O by accessing the cache directly
config: x86_64-randconfig-a011-20211209 (https://download.01.org/0day-ci/archive/20211210/202112101053.5YQV0dqW-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs fscache-rewrite
git checkout f6770459bb519747a01e91834f88ac82299a47de
# 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=x86_64 SHELL=/bin/bash fs/nfs/
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 >>):
fs/nfs/file.c:87:2: error: implicit declaration of function 'nfs_fscache_release_file' [-Werror,-Wimplicit-function-declaration]
nfs_fscache_release_file(inode, filp);
^
fs/nfs/file.c:87:2: note: did you mean 'nfs_fscache_open_file'?
fs/nfs/fscache.h:130:20: note: 'nfs_fscache_open_file' declared here
static inline void nfs_fscache_open_file(struct inode *inode,
^
>> fs/nfs/file.c:435:9: error: implicit declaration of function 'nfs_fscache_release_page' [-Werror,-Wimplicit-function-declaration]
return nfs_fscache_release_page(page, gfp);
^
2 errors generated.
vim +/nfs_fscache_release_page +435 fs/nfs/file.c
cd52ed35535ef4 Trond Myklebust 2006-03-20 421
6b9b3514aa1881 David Howells 2009-04-03 422 /*
6b9b3514aa1881 David Howells 2009-04-03 423 * Attempt to release the private state associated with a page
545db45f0fc0d4 David Howells 2009-04-03 424 * - Called if either PG_private or PG_fscache is set on the page
6b9b3514aa1881 David Howells 2009-04-03 425 * - Caller holds page lock
6b9b3514aa1881 David Howells 2009-04-03 426 * - Return true (may release page) or false (may not)
6b9b3514aa1881 David Howells 2009-04-03 427 */
cd52ed35535ef4 Trond Myklebust 2006-03-20 428 static int nfs_release_page(struct page *page, gfp_t gfp)
cd52ed35535ef4 Trond Myklebust 2006-03-20 429 {
b7eaefaa8722fd Chuck Lever 2008-06-11 430 dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page);
b7eaefaa8722fd Chuck Lever 2008-06-11 431
e3db7691e9f3df Trond Myklebust 2007-01-10 432 /* If PagePrivate() is set, then the page is not freeable */
545db45f0fc0d4 David Howells 2009-04-03 433 if (PagePrivate(page))
ddeff520f02b92 Nikita Danilov 2006-08-09 434 return 0;
545db45f0fc0d4 David Howells 2009-04-03 @435 return nfs_fscache_release_page(page, gfp);
e3db7691e9f3df Trond Myklebust 2007-01-10 436 }
e3db7691e9f3df Trond Myklebust 2007-01-10 437
:::::: The code at line 435 was first introduced by commit
:::::: 545db45f0fc0d4203b045047798ce156972a3056 NFS: FS-Cache page management
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: David Howells <dhowells(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[asahilinux:nvme/dev 18/18] drivers/nvme/host/apple.c:335:17: error: implicit declaration of function 'dma_pool_free'; did you mean 'mempool_free'?
by kernel test robot
tree: https://github.com/AsahiLinux/linux nvme/dev
head: d25eee8aced31cf92944992bec41022e6f837daf
commit: d25eee8aced31cf92944992bec41022e6f837daf [18/18] HACK/DO-NOT-MERGE: nvme-apple: add initial Apple SoC NVMe driver
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20211210/202112101023.ETj5xDqK-lk...)
compiler: sh4-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/AsahiLinux/linux/commit/d25eee8aced31cf92944992bec4102...
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux nvme/dev
git checkout d25eee8aced31cf92944992bec41022e6f837daf
# 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=sh SHELL=/bin/bash drivers/nvme/host/
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/nvme/host/apple.c: In function 'apple_nvme_free_prps':
>> drivers/nvme/host/apple.c:335:17: error: implicit declaration of function 'dma_pool_free'; did you mean 'mempool_free'? [-Werror=implicit-function-declaration]
335 | dma_pool_free(anv->prp_page_pool, prp_list, dma_addr);
| ^~~~~~~~~~~~~
| mempool_free
drivers/nvme/host/apple.c: In function 'apple_nvme_setup_prps':
>> drivers/nvme/host/apple.c:420:20: error: implicit declaration of function 'dma_pool_alloc'; did you mean 'mempool_alloc'? [-Werror=implicit-function-declaration]
420 | prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
| ^~~~~~~~~~~~~~
| mempool_alloc
>> drivers/nvme/host/apple.c:420:18: warning: assignment to '__le64 *' {aka 'long long unsigned int *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
420 | prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
| ^
drivers/nvme/host/apple.c:432:34: warning: assignment to '__le64 *' {aka 'long long unsigned int *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
432 | prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
| ^
In file included from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/current.h:5,
from ./arch/sh/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/async.h:14,
from drivers/nvme/host/apple.c:12:
drivers/nvme/host/apple.c:462:14: error: implicit declaration of function 'DO_ONCE' [-Werror=implicit-function-declaration]
462 | WARN(DO_ONCE(apple_nvme_print_sgl, iod->sg, iod->nents),
| ^~~~~~~
include/asm-generic/bug.h:130:32: note: in definition of macro 'WARN'
130 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
drivers/nvme/host/apple.c: In function 'apple_nvme_probe':
>> drivers/nvme/host/apple.c:1385:17: error: implicit declaration of function 'dmam_pool_create'; did you mean 'mempool_create'? [-Werror=implicit-function-declaration]
1385 | dmam_pool_create("prp list page", anv->dev, NVME_CTRL_PAGE_SIZE,
| ^~~~~~~~~~~~~~~~
| mempool_create
>> drivers/nvme/host/apple.c:1384:28: warning: assignment to 'struct dma_pool *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1384 | anv->prp_page_pool =
| ^
drivers/nvme/host/apple.c:1390:29: warning: assignment to 'struct dma_pool *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1390 | anv->prp_small_pool =
| ^
cc1: some warnings being treated as errors
vim +335 drivers/nvme/host/apple.c
323
324 static void apple_nvme_free_prps(struct apple_nvme *anv, struct request *req)
325 {
326 const int last_prp = NVME_CTRL_PAGE_SIZE / sizeof(__le64) - 1;
327 struct apple_nvme_iod *iod = blk_mq_rq_to_pdu(req);
328 dma_addr_t dma_addr = iod->first_dma;
329 int i;
330
331 for (i = 0; i < iod->npages; i++) {
332 __le64 *prp_list = apple_nvme_iod_list(req)[i];
333 dma_addr_t next_dma_addr = le64_to_cpu(prp_list[last_prp]);
334
> 335 dma_pool_free(anv->prp_page_pool, prp_list, dma_addr);
336 dma_addr = next_dma_addr;
337 }
338 }
339
340 static void apple_nvme_unmap_data(struct apple_nvme *anv, struct request *req)
341 {
342 struct apple_nvme_iod *iod = blk_mq_rq_to_pdu(req);
343
344 if (iod->dma_len) {
345 dma_unmap_page(anv->dev, iod->first_dma, iod->dma_len,
346 rq_dma_dir(req));
347 return;
348 }
349
350 WARN_ON_ONCE(!iod->nents);
351
352 dma_unmap_sg(anv->dev, iod->sg, iod->nents, rq_dma_dir(req));
353 if (iod->npages == 0)
354 dma_pool_free(anv->prp_small_pool, apple_nvme_iod_list(req)[0],
355 iod->first_dma);
356 else
357 apple_nvme_free_prps(anv, req);
358 mempool_free(iod->sg, anv->iod_mempool);
359 }
360
361 static void apple_nvme_print_sgl(struct scatterlist *sgl, int nents)
362 {
363 int i;
364 struct scatterlist *sg;
365
366 for_each_sg (sgl, sg, nents, i) {
367 dma_addr_t phys = sg_phys(sg);
368 pr_warn("sg[%d] phys_addr:%pad offset:%d length:%d "
369 "dma_address:%pad dma_length:%d\n",
370 i, &phys, sg->offset, sg->length, &sg_dma_address(sg),
371 sg_dma_len(sg));
372 }
373 }
374
375 static blk_status_t apple_nvme_setup_prps(struct apple_nvme *anv,
376 struct request *req,
377 struct nvme_rw_command *cmnd)
378 {
379 struct apple_nvme_iod *iod = blk_mq_rq_to_pdu(req);
380 struct dma_pool *pool;
381 int length = blk_rq_payload_bytes(req);
382 struct scatterlist *sg = iod->sg;
383 int dma_len = sg_dma_len(sg);
384 u64 dma_addr = sg_dma_address(sg);
385 int offset = dma_addr & (NVME_CTRL_PAGE_SIZE - 1);
386 __le64 *prp_list;
387 void **list = apple_nvme_iod_list(req);
388 dma_addr_t prp_dma;
389 int nprps, i;
390
391 length -= (NVME_CTRL_PAGE_SIZE - offset);
392 if (length <= 0) {
393 iod->first_dma = 0;
394 goto done;
395 }
396
397 dma_len -= (NVME_CTRL_PAGE_SIZE - offset);
398 if (dma_len) {
399 dma_addr += (NVME_CTRL_PAGE_SIZE - offset);
400 } else {
401 sg = sg_next(sg);
402 dma_addr = sg_dma_address(sg);
403 dma_len = sg_dma_len(sg);
404 }
405
406 if (length <= NVME_CTRL_PAGE_SIZE) {
407 iod->first_dma = dma_addr;
408 goto done;
409 }
410
411 nprps = DIV_ROUND_UP(length, NVME_CTRL_PAGE_SIZE);
412 if (nprps <= (256 / 8)) {
413 pool = anv->prp_small_pool;
414 iod->npages = 0;
415 } else {
416 pool = anv->prp_page_pool;
417 iod->npages = 1;
418 }
419
> 420 prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
421 if (!prp_list) {
422 iod->first_dma = dma_addr;
423 iod->npages = -1;
424 return BLK_STS_RESOURCE;
425 }
426 list[0] = prp_list;
427 iod->first_dma = prp_dma;
428 i = 0;
429 for (;;) {
430 if (i == NVME_CTRL_PAGE_SIZE >> 3) {
431 __le64 *old_prp_list = prp_list;
432 prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
433 if (!prp_list)
434 goto free_prps;
435 list[iod->npages++] = prp_list;
436 prp_list[0] = old_prp_list[i - 1];
437 old_prp_list[i - 1] = cpu_to_le64(prp_dma);
438 i = 1;
439 }
440 prp_list[i++] = cpu_to_le64(dma_addr);
441 dma_len -= NVME_CTRL_PAGE_SIZE;
442 dma_addr += NVME_CTRL_PAGE_SIZE;
443 length -= NVME_CTRL_PAGE_SIZE;
444 if (length <= 0)
445 break;
446 if (dma_len > 0)
447 continue;
448 if (unlikely(dma_len < 0))
449 goto bad_sgl;
450 sg = sg_next(sg);
451 dma_addr = sg_dma_address(sg);
452 dma_len = sg_dma_len(sg);
453 }
454 done:
455 cmnd->dptr.prp1 = cpu_to_le64(sg_dma_address(iod->sg));
456 cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma);
457 return BLK_STS_OK;
458 free_prps:
459 apple_nvme_free_prps(anv, req);
460 return BLK_STS_RESOURCE;
461 bad_sgl:
462 WARN(DO_ONCE(apple_nvme_print_sgl, iod->sg, iod->nents),
463 "Invalid SGL for payload:%d nents:%d\n", blk_rq_payload_bytes(req),
464 iod->nents);
465 return BLK_STS_IOERR;
466 }
467
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[asahilinux:nvme/dev 18/18] drivers/nvme/host/apple.c:462:14: error: implicit declaration of function 'DO_ONCE'
by kernel test robot
tree: https://github.com/AsahiLinux/linux nvme/dev
head: d25eee8aced31cf92944992bec41022e6f837daf
commit: d25eee8aced31cf92944992bec41022e6f837daf [18/18] HACK/DO-NOT-MERGE: nvme-apple: add initial Apple SoC NVMe driver
config: ia64-allmodconfig (https://download.01.org/0day-ci/archive/20211210/202112101027.eInODw2M-lk...)
compiler: ia64-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/AsahiLinux/linux/commit/d25eee8aced31cf92944992bec4102...
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux nvme/dev
git checkout d25eee8aced31cf92944992bec41022e6f837daf
# 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=ia64 SHELL=/bin/bash drivers/nvme/host/
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 arch/ia64/include/asm/bug.h:17,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/preempt.h:5,
from ./arch/ia64/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/async.h:14,
from drivers/nvme/host/apple.c:12:
drivers/nvme/host/apple.c: In function 'apple_nvme_setup_prps':
>> drivers/nvme/host/apple.c:462:14: error: implicit declaration of function 'DO_ONCE' [-Werror=implicit-function-declaration]
462 | WARN(DO_ONCE(apple_nvme_print_sgl, iod->sg, iod->nents),
| ^~~~~~~
include/asm-generic/bug.h:130:32: note: in definition of macro 'WARN'
130 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
cc1: some warnings being treated as errors
vim +/DO_ONCE +462 drivers/nvme/host/apple.c
374
375 static blk_status_t apple_nvme_setup_prps(struct apple_nvme *anv,
376 struct request *req,
377 struct nvme_rw_command *cmnd)
378 {
379 struct apple_nvme_iod *iod = blk_mq_rq_to_pdu(req);
380 struct dma_pool *pool;
381 int length = blk_rq_payload_bytes(req);
382 struct scatterlist *sg = iod->sg;
383 int dma_len = sg_dma_len(sg);
384 u64 dma_addr = sg_dma_address(sg);
385 int offset = dma_addr & (NVME_CTRL_PAGE_SIZE - 1);
386 __le64 *prp_list;
387 void **list = apple_nvme_iod_list(req);
388 dma_addr_t prp_dma;
389 int nprps, i;
390
391 length -= (NVME_CTRL_PAGE_SIZE - offset);
392 if (length <= 0) {
393 iod->first_dma = 0;
394 goto done;
395 }
396
397 dma_len -= (NVME_CTRL_PAGE_SIZE - offset);
398 if (dma_len) {
399 dma_addr += (NVME_CTRL_PAGE_SIZE - offset);
400 } else {
401 sg = sg_next(sg);
402 dma_addr = sg_dma_address(sg);
403 dma_len = sg_dma_len(sg);
404 }
405
406 if (length <= NVME_CTRL_PAGE_SIZE) {
407 iod->first_dma = dma_addr;
408 goto done;
409 }
410
411 nprps = DIV_ROUND_UP(length, NVME_CTRL_PAGE_SIZE);
412 if (nprps <= (256 / 8)) {
413 pool = anv->prp_small_pool;
414 iod->npages = 0;
415 } else {
416 pool = anv->prp_page_pool;
417 iod->npages = 1;
418 }
419
420 prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
421 if (!prp_list) {
422 iod->first_dma = dma_addr;
423 iod->npages = -1;
424 return BLK_STS_RESOURCE;
425 }
426 list[0] = prp_list;
427 iod->first_dma = prp_dma;
428 i = 0;
429 for (;;) {
430 if (i == NVME_CTRL_PAGE_SIZE >> 3) {
431 __le64 *old_prp_list = prp_list;
432 prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma);
433 if (!prp_list)
434 goto free_prps;
435 list[iod->npages++] = prp_list;
436 prp_list[0] = old_prp_list[i - 1];
437 old_prp_list[i - 1] = cpu_to_le64(prp_dma);
438 i = 1;
439 }
440 prp_list[i++] = cpu_to_le64(dma_addr);
441 dma_len -= NVME_CTRL_PAGE_SIZE;
442 dma_addr += NVME_CTRL_PAGE_SIZE;
443 length -= NVME_CTRL_PAGE_SIZE;
444 if (length <= 0)
445 break;
446 if (dma_len > 0)
447 continue;
448 if (unlikely(dma_len < 0))
449 goto bad_sgl;
450 sg = sg_next(sg);
451 dma_addr = sg_dma_address(sg);
452 dma_len = sg_dma_len(sg);
453 }
454 done:
455 cmnd->dptr.prp1 = cpu_to_le64(sg_dma_address(iod->sg));
456 cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma);
457 return BLK_STS_OK;
458 free_prps:
459 apple_nvme_free_prps(anv, req);
460 return BLK_STS_RESOURCE;
461 bad_sgl:
> 462 WARN(DO_ONCE(apple_nvme_print_sgl, iod->sg, iod->nents),
463 "Invalid SGL for payload:%d nents:%d\n", blk_rq_payload_bytes(req),
464 iod->nents);
465 return BLK_STS_IOERR;
466 }
467
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[dhowells-fs:fscache-rewrite 65/69] fs/nfs/file.c:435:16: error: implicit declaration of function 'nfs_fscache_release_page'; did you mean 'nfs_release_page'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-rewrite
head: 82abe23a0865faea23cf06ac51f2303f26b9bb53
commit: f6770459bb519747a01e91834f88ac82299a47de [65/69] nfs: Implement cache I/O by accessing the cache directly
config: nds32-defconfig (https://download.01.org/0day-ci/archive/20211210/202112100957.2oEDT20W-lk...)
compiler: nds32le-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/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs fscache-rewrite
git checkout f6770459bb519747a01e91834f88ac82299a47de
# 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=nds32 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 >>):
fs/nfs/file.c: In function 'nfs_file_release':
fs/nfs/file.c:87:9: error: implicit declaration of function 'nfs_fscache_release_file'; did you mean 'nfs_fscache_open_file'? [-Werror=implicit-function-declaration]
87 | nfs_fscache_release_file(inode, filp);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| nfs_fscache_open_file
fs/nfs/file.c: In function 'nfs_release_page':
>> fs/nfs/file.c:435:16: error: implicit declaration of function 'nfs_fscache_release_page'; did you mean 'nfs_release_page'? [-Werror=implicit-function-declaration]
435 | return nfs_fscache_release_page(page, gfp);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| nfs_release_page
cc1: some warnings being treated as errors
vim +435 fs/nfs/file.c
cd52ed35535ef4 Trond Myklebust 2006-03-20 421
6b9b3514aa1881 David Howells 2009-04-03 422 /*
6b9b3514aa1881 David Howells 2009-04-03 423 * Attempt to release the private state associated with a page
545db45f0fc0d4 David Howells 2009-04-03 424 * - Called if either PG_private or PG_fscache is set on the page
6b9b3514aa1881 David Howells 2009-04-03 425 * - Caller holds page lock
6b9b3514aa1881 David Howells 2009-04-03 426 * - Return true (may release page) or false (may not)
6b9b3514aa1881 David Howells 2009-04-03 427 */
cd52ed35535ef4 Trond Myklebust 2006-03-20 428 static int nfs_release_page(struct page *page, gfp_t gfp)
cd52ed35535ef4 Trond Myklebust 2006-03-20 429 {
b7eaefaa8722fd Chuck Lever 2008-06-11 430 dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page);
b7eaefaa8722fd Chuck Lever 2008-06-11 431
e3db7691e9f3df Trond Myklebust 2007-01-10 432 /* If PagePrivate() is set, then the page is not freeable */
545db45f0fc0d4 David Howells 2009-04-03 433 if (PagePrivate(page))
ddeff520f02b92 Nikita Danilov 2006-08-09 434 return 0;
545db45f0fc0d4 David Howells 2009-04-03 @435 return nfs_fscache_release_page(page, gfp);
e3db7691e9f3df Trond Myklebust 2007-01-10 436 }
e3db7691e9f3df Trond Myklebust 2007-01-10 437
:::::: The code at line 435 was first introduced by commit
:::::: 545db45f0fc0d4203b045047798ce156972a3056 NFS: FS-Cache page management
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: David Howells <dhowells(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks