From: kernel test robot <lkp@intel.com>
To: Quentin Schulz <foss+kernel@0leil.net>,
Lee Jones <lee@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: oe-kbuild-all@lists.linux.dev,
Lukasz Czechowski <lukasz.czechowski@thaumatec.com>,
Daniel Semkowicz <dse@thaumatec.com>,
Nicolas Frattaroli <nicolas.frattaroli@collabora.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
Quentin Schulz <quentin.schulz@cherry.de>
Subject: Re: [PATCH v2 2/4] mfd: rk8xx-core: allow to customize RK806 reset mode
Date: Sat, 7 Jun 2025 13:46:39 +0800 [thread overview]
Message-ID: <202506071321.Ze0gsxC0-lkp@intel.com> (raw)
In-Reply-To: <20250605-rk8xx-rst-fun-v2-2-143d190596dd@cherry.de>
Hi Quentin,
kernel test robot noticed the following build errors:
[auto build test ERROR on ec7714e4947909190ffb3041a03311a975350fe0]
url: https://github.com/intel-lab-lkp/linux/commits/Quentin-Schulz/dt-bindings-mfd-rk806-allow-to-customize-PMIC-reset-mode/20250605-234243
base: ec7714e4947909190ffb3041a03311a975350fe0
patch link: https://lore.kernel.org/r/20250605-rk8xx-rst-fun-v2-2-143d190596dd%40cherry.de
patch subject: [PATCH v2 2/4] mfd: rk8xx-core: allow to customize RK806 reset mode
config: arc-randconfig-001-20250607 (https://download.01.org/0day-ci/archive/20250607/202506071321.Ze0gsxC0-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250607/202506071321.Ze0gsxC0-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506071321.Ze0gsxC0-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/mfd/rk8xx-core.c: In function 'rk8xx_probe':
>> drivers/mfd/rk8xx-core.c:740:42: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]
740 | FIELD_PREP(RK806_RST_FUN_MSK, rst_fun));
| ^~~~~~~~~~
vim +/FIELD_PREP +740 drivers/mfd/rk8xx-core.c
694
695 int rk8xx_probe(struct device *dev, int variant, unsigned int irq, struct regmap *regmap)
696 {
697 struct rk808 *rk808;
698 const struct rk808_reg_data *pre_init_reg;
699 const struct mfd_cell *cells;
700 int dual_support = 0;
701 int nr_pre_init_regs;
702 u32 rst_fun = 0;
703 int nr_cells;
704 int ret;
705 int i;
706
707 rk808 = devm_kzalloc(dev, sizeof(*rk808), GFP_KERNEL);
708 if (!rk808)
709 return -ENOMEM;
710 rk808->dev = dev;
711 rk808->variant = variant;
712 rk808->regmap = regmap;
713 dev_set_drvdata(dev, rk808);
714
715 switch (rk808->variant) {
716 case RK805_ID:
717 rk808->regmap_irq_chip = &rk805_irq_chip;
718 pre_init_reg = rk805_pre_init_reg;
719 nr_pre_init_regs = ARRAY_SIZE(rk805_pre_init_reg);
720 cells = rk805s;
721 nr_cells = ARRAY_SIZE(rk805s);
722 break;
723 case RK806_ID:
724 rk808->regmap_irq_chip = &rk806_irq_chip;
725 pre_init_reg = rk806_pre_init_reg;
726 nr_pre_init_regs = ARRAY_SIZE(rk806_pre_init_reg);
727 cells = rk806s;
728 nr_cells = ARRAY_SIZE(rk806s);
729 dual_support = IRQF_SHARED;
730
731 ret = device_property_read_u32(dev, "rockchip,reset-mode", &rst_fun);
732 if (ret) {
733 dev_dbg(dev,
734 "rockchip,reset-mode property missing, not setting RST_FUN\n");
735 break;
736 }
737
738 ret = regmap_update_bits(rk808->regmap, RK806_SYS_CFG3,
739 RK806_RST_FUN_MSK,
> 740 FIELD_PREP(RK806_RST_FUN_MSK, rst_fun));
741 if (ret)
742 return dev_err_probe(dev, ret, "RST_FUN write err\n");
743 break;
744 case RK808_ID:
745 rk808->regmap_irq_chip = &rk808_irq_chip;
746 pre_init_reg = rk808_pre_init_reg;
747 nr_pre_init_regs = ARRAY_SIZE(rk808_pre_init_reg);
748 cells = rk808s;
749 nr_cells = ARRAY_SIZE(rk808s);
750 break;
751 case RK816_ID:
752 rk808->regmap_irq_chip = &rk816_irq_chip;
753 pre_init_reg = rk816_pre_init_reg;
754 nr_pre_init_regs = ARRAY_SIZE(rk816_pre_init_reg);
755 cells = rk816s;
756 nr_cells = ARRAY_SIZE(rk816s);
757 break;
758 case RK818_ID:
759 rk808->regmap_irq_chip = &rk818_irq_chip;
760 pre_init_reg = rk818_pre_init_reg;
761 nr_pre_init_regs = ARRAY_SIZE(rk818_pre_init_reg);
762 cells = rk818s;
763 nr_cells = ARRAY_SIZE(rk818s);
764 break;
765 case RK809_ID:
766 case RK817_ID:
767 rk808->regmap_irq_chip = &rk817_irq_chip;
768 pre_init_reg = rk817_pre_init_reg;
769 nr_pre_init_regs = ARRAY_SIZE(rk817_pre_init_reg);
770 cells = rk817s;
771 nr_cells = ARRAY_SIZE(rk817s);
772 break;
773 default:
774 dev_err(dev, "Unsupported RK8XX ID %lu\n", rk808->variant);
775 return -EINVAL;
776 }
777
778 if (!irq)
779 return dev_err_probe(dev, -EINVAL, "No interrupt support, no core IRQ\n");
780
781 ret = devm_regmap_add_irq_chip(dev, rk808->regmap, irq,
782 IRQF_ONESHOT | dual_support, -1,
783 rk808->regmap_irq_chip, &rk808->irq_data);
784 if (ret)
785 return dev_err_probe(dev, ret, "Failed to add irq_chip\n");
786
787 for (i = 0; i < nr_pre_init_regs; i++) {
788 ret = regmap_update_bits(rk808->regmap,
789 pre_init_reg[i].addr,
790 pre_init_reg[i].mask,
791 pre_init_reg[i].value);
792 if (ret)
793 return dev_err_probe(dev, ret, "0x%x write err\n",
794 pre_init_reg[i].addr);
795 }
796
797 ret = devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, cells, nr_cells, NULL, 0,
798 regmap_irq_get_domain(rk808->irq_data));
799 if (ret)
800 return dev_err_probe(dev, ret, "failed to add MFD devices\n");
801
802 if (device_property_read_bool(dev, "system-power-controller") ||
803 device_property_read_bool(dev, "rockchip,system-power-controller")) {
804 ret = devm_register_sys_off_handler(dev,
805 SYS_OFF_MODE_POWER_OFF_PREPARE, SYS_OFF_PRIO_HIGH,
806 &rk808_power_off, rk808);
807 if (ret)
808 return dev_err_probe(dev, ret,
809 "failed to register poweroff handler\n");
810
811 switch (rk808->variant) {
812 case RK809_ID:
813 case RK817_ID:
814 ret = devm_register_sys_off_handler(dev,
815 SYS_OFF_MODE_RESTART, SYS_OFF_PRIO_HIGH,
816 &rk808_restart, rk808);
817 if (ret)
818 dev_warn(dev, "failed to register rst handler, %d\n", ret);
819 break;
820 default:
821 dev_dbg(dev, "pmic controlled board reset not supported\n");
822 break;
823 }
824 }
825
826 return 0;
827 }
828 EXPORT_SYMBOL_GPL(rk8xx_probe);
829
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Quentin Schulz <foss+kernel@0leil.net>,
Lee Jones <lee@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Daniel Semkowicz <dse@thaumatec.com>,
devicetree@vger.kernel.org,
Quentin Schulz <quentin.schulz@cherry.de>,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
Lukasz Czechowski <lukasz.czechowski@thaumatec.com>,
oe-kbuild-all@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/4] mfd: rk8xx-core: allow to customize RK806 reset mode
Date: Sat, 7 Jun 2025 13:46:39 +0800 [thread overview]
Message-ID: <202506071321.Ze0gsxC0-lkp@intel.com> (raw)
In-Reply-To: <20250605-rk8xx-rst-fun-v2-2-143d190596dd@cherry.de>
Hi Quentin,
kernel test robot noticed the following build errors:
[auto build test ERROR on ec7714e4947909190ffb3041a03311a975350fe0]
url: https://github.com/intel-lab-lkp/linux/commits/Quentin-Schulz/dt-bindings-mfd-rk806-allow-to-customize-PMIC-reset-mode/20250605-234243
base: ec7714e4947909190ffb3041a03311a975350fe0
patch link: https://lore.kernel.org/r/20250605-rk8xx-rst-fun-v2-2-143d190596dd%40cherry.de
patch subject: [PATCH v2 2/4] mfd: rk8xx-core: allow to customize RK806 reset mode
config: arc-randconfig-001-20250607 (https://download.01.org/0day-ci/archive/20250607/202506071321.Ze0gsxC0-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250607/202506071321.Ze0gsxC0-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506071321.Ze0gsxC0-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/mfd/rk8xx-core.c: In function 'rk8xx_probe':
>> drivers/mfd/rk8xx-core.c:740:42: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]
740 | FIELD_PREP(RK806_RST_FUN_MSK, rst_fun));
| ^~~~~~~~~~
vim +/FIELD_PREP +740 drivers/mfd/rk8xx-core.c
694
695 int rk8xx_probe(struct device *dev, int variant, unsigned int irq, struct regmap *regmap)
696 {
697 struct rk808 *rk808;
698 const struct rk808_reg_data *pre_init_reg;
699 const struct mfd_cell *cells;
700 int dual_support = 0;
701 int nr_pre_init_regs;
702 u32 rst_fun = 0;
703 int nr_cells;
704 int ret;
705 int i;
706
707 rk808 = devm_kzalloc(dev, sizeof(*rk808), GFP_KERNEL);
708 if (!rk808)
709 return -ENOMEM;
710 rk808->dev = dev;
711 rk808->variant = variant;
712 rk808->regmap = regmap;
713 dev_set_drvdata(dev, rk808);
714
715 switch (rk808->variant) {
716 case RK805_ID:
717 rk808->regmap_irq_chip = &rk805_irq_chip;
718 pre_init_reg = rk805_pre_init_reg;
719 nr_pre_init_regs = ARRAY_SIZE(rk805_pre_init_reg);
720 cells = rk805s;
721 nr_cells = ARRAY_SIZE(rk805s);
722 break;
723 case RK806_ID:
724 rk808->regmap_irq_chip = &rk806_irq_chip;
725 pre_init_reg = rk806_pre_init_reg;
726 nr_pre_init_regs = ARRAY_SIZE(rk806_pre_init_reg);
727 cells = rk806s;
728 nr_cells = ARRAY_SIZE(rk806s);
729 dual_support = IRQF_SHARED;
730
731 ret = device_property_read_u32(dev, "rockchip,reset-mode", &rst_fun);
732 if (ret) {
733 dev_dbg(dev,
734 "rockchip,reset-mode property missing, not setting RST_FUN\n");
735 break;
736 }
737
738 ret = regmap_update_bits(rk808->regmap, RK806_SYS_CFG3,
739 RK806_RST_FUN_MSK,
> 740 FIELD_PREP(RK806_RST_FUN_MSK, rst_fun));
741 if (ret)
742 return dev_err_probe(dev, ret, "RST_FUN write err\n");
743 break;
744 case RK808_ID:
745 rk808->regmap_irq_chip = &rk808_irq_chip;
746 pre_init_reg = rk808_pre_init_reg;
747 nr_pre_init_regs = ARRAY_SIZE(rk808_pre_init_reg);
748 cells = rk808s;
749 nr_cells = ARRAY_SIZE(rk808s);
750 break;
751 case RK816_ID:
752 rk808->regmap_irq_chip = &rk816_irq_chip;
753 pre_init_reg = rk816_pre_init_reg;
754 nr_pre_init_regs = ARRAY_SIZE(rk816_pre_init_reg);
755 cells = rk816s;
756 nr_cells = ARRAY_SIZE(rk816s);
757 break;
758 case RK818_ID:
759 rk808->regmap_irq_chip = &rk818_irq_chip;
760 pre_init_reg = rk818_pre_init_reg;
761 nr_pre_init_regs = ARRAY_SIZE(rk818_pre_init_reg);
762 cells = rk818s;
763 nr_cells = ARRAY_SIZE(rk818s);
764 break;
765 case RK809_ID:
766 case RK817_ID:
767 rk808->regmap_irq_chip = &rk817_irq_chip;
768 pre_init_reg = rk817_pre_init_reg;
769 nr_pre_init_regs = ARRAY_SIZE(rk817_pre_init_reg);
770 cells = rk817s;
771 nr_cells = ARRAY_SIZE(rk817s);
772 break;
773 default:
774 dev_err(dev, "Unsupported RK8XX ID %lu\n", rk808->variant);
775 return -EINVAL;
776 }
777
778 if (!irq)
779 return dev_err_probe(dev, -EINVAL, "No interrupt support, no core IRQ\n");
780
781 ret = devm_regmap_add_irq_chip(dev, rk808->regmap, irq,
782 IRQF_ONESHOT | dual_support, -1,
783 rk808->regmap_irq_chip, &rk808->irq_data);
784 if (ret)
785 return dev_err_probe(dev, ret, "Failed to add irq_chip\n");
786
787 for (i = 0; i < nr_pre_init_regs; i++) {
788 ret = regmap_update_bits(rk808->regmap,
789 pre_init_reg[i].addr,
790 pre_init_reg[i].mask,
791 pre_init_reg[i].value);
792 if (ret)
793 return dev_err_probe(dev, ret, "0x%x write err\n",
794 pre_init_reg[i].addr);
795 }
796
797 ret = devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, cells, nr_cells, NULL, 0,
798 regmap_irq_get_domain(rk808->irq_data));
799 if (ret)
800 return dev_err_probe(dev, ret, "failed to add MFD devices\n");
801
802 if (device_property_read_bool(dev, "system-power-controller") ||
803 device_property_read_bool(dev, "rockchip,system-power-controller")) {
804 ret = devm_register_sys_off_handler(dev,
805 SYS_OFF_MODE_POWER_OFF_PREPARE, SYS_OFF_PRIO_HIGH,
806 &rk808_power_off, rk808);
807 if (ret)
808 return dev_err_probe(dev, ret,
809 "failed to register poweroff handler\n");
810
811 switch (rk808->variant) {
812 case RK809_ID:
813 case RK817_ID:
814 ret = devm_register_sys_off_handler(dev,
815 SYS_OFF_MODE_RESTART, SYS_OFF_PRIO_HIGH,
816 &rk808_restart, rk808);
817 if (ret)
818 dev_warn(dev, "failed to register rst handler, %d\n", ret);
819 break;
820 default:
821 dev_dbg(dev, "pmic controlled board reset not supported\n");
822 break;
823 }
824 }
825
826 return 0;
827 }
828 EXPORT_SYMBOL_GPL(rk8xx_probe);
829
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-06-07 5:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-05 15:41 [PATCH v2 0/4] rockchip: rk8xx: allow to customize PMIC reset mode on RK806 Quentin Schulz
2025-06-05 15:41 ` Quentin Schulz
2025-06-05 15:41 ` [PATCH v2 1/4] dt-bindings: mfd: rk806: allow to customize PMIC reset mode Quentin Schulz
2025-06-05 15:41 ` Quentin Schulz
2025-06-17 8:08 ` Krzysztof Kozlowski
2025-06-17 8:08 ` Krzysztof Kozlowski
2025-06-17 9:38 ` Quentin Schulz
2025-06-17 9:38 ` Quentin Schulz
2025-06-17 10:21 ` Krzysztof Kozlowski
2025-06-17 10:21 ` Krzysztof Kozlowski
2025-06-17 10:45 ` Quentin Schulz
2025-06-17 10:45 ` Quentin Schulz
2025-06-18 6:21 ` Krzysztof Kozlowski
2025-06-18 6:21 ` Krzysztof Kozlowski
2025-06-05 15:41 ` [PATCH v2 2/4] mfd: rk8xx-core: allow to customize RK806 " Quentin Schulz
2025-06-05 15:41 ` Quentin Schulz
2025-06-07 5:46 ` kernel test robot [this message]
2025-06-07 5:46 ` kernel test robot
2025-06-10 10:11 ` Quentin Schulz
2025-06-10 10:11 ` Quentin Schulz
2025-06-05 15:41 ` [PATCH v2 3/4] arm64: dts: rockchip: force PMIC reset behavior to restart PMU on RK3588 Jaguar Quentin Schulz
2025-06-05 15:41 ` Quentin Schulz
2025-06-05 15:41 ` [PATCH v2 4/4] arm64: dts: rockchip: force PMIC reset behavior to restart PMU on RK3588 Tiger Quentin Schulz
2025-06-05 15:41 ` Quentin Schulz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202506071321.Ze0gsxC0-lkp@intel.com \
--to=lkp@intel.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dse@thaumatec.com \
--cc=foss+kernel@0leil.net \
--cc=heiko@sntech.de \
--cc=krzk@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lukasz.czechowski@thaumatec.com \
--cc=nicolas.frattaroli@collabora.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=quentin.schulz@cherry.de \
--cc=robh@kernel.org \
--cc=sebastian.reichel@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.