From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, "Alexander Kurz" <akurz@blala.de>,
"Lee Jones" <lee@kernel.org>, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Dzmitry Sankouski" <dsankouski@gmail.com>,
"Dr. David Alan Gilbert" <linux@treblig.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
devicetree@vger.kernel.org, linux-input@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org, Alexander Kurz <akurz@blala.de>
Subject: Re: [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array
Date: Thu, 21 Aug 2025 10:08:16 +0300 [thread overview]
Message-ID: <202508210551.VzAtE5re-lkp@intel.com> (raw)
In-Reply-To: <20250817102751.29709-5-akurz@blala.de>
Hi Alexander,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Kurz/Input-mc13783-pwrbutton-fix-irq-mixup/20250817-182649
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link: https://lore.kernel.org/r/20250817102751.29709-5-akurz%40blala.de
patch subject: [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array
config: i386-randconfig-141-20250820 (https://download.01.org/0day-ci/archive/20250821/202508210551.VzAtE5re-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
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>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202508210551.VzAtE5re-lkp@intel.com/
New smatch warnings:
drivers/input/misc/mc13783-pwrbutton.c:185 mc13783_pwrbutton_probe() error: buffer overflow 'pdata->b_on_key' 3 <= 3
vim +185 drivers/input/misc/mc13783-pwrbutton.c
5298cc4cc753bb Bill Pemberton 2012-11-23 108 static int mc13783_pwrbutton_probe(struct platform_device *pdev)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 109 {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 110 const struct mc13xxx_buttons_platform_data *pdata;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 111 struct mc13xxx *mc13783 = dev_get_drvdata(pdev->dev.parent);
739ba46c8b2ddb Alexander Kurz 2025-08-17 112 enum mc13xxx_chip_type chip = platform_get_device_id(pdev)->driver_data;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 113 struct input_dev *pwr;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 114 struct mc13783_pwrb *priv;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 115 int err = 0;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 116 int reg = 0;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 117
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 118 pdata = dev_get_platdata(&pdev->dev);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 119 if (!pdata) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 120 dev_err(&pdev->dev, "missing platform data\n");
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 121 return -ENODEV;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 122 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 123
173a22b931fb1b Alexander Kurz 2025-08-17 124 pwr = devm_input_allocate_device(&pdev->dev);
173a22b931fb1b Alexander Kurz 2025-08-17 125 if (!pwr)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 126 return -ENOMEM;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 127
173a22b931fb1b Alexander Kurz 2025-08-17 128 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
173a22b931fb1b Alexander Kurz 2025-08-17 129 if (!priv)
173a22b931fb1b Alexander Kurz 2025-08-17 130 return -ENOMEM;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 131
739ba46c8b2ddb Alexander Kurz 2025-08-17 132 /* ONOFD3 is only supported for MC13783. */
fc0cc88dc308bc Alexander Kurz 2025-08-17 133 if (pdata->b_on_flags[2] & MC13783_BUTTON_ENABLE &&
739ba46c8b2ddb Alexander Kurz 2025-08-17 134 chip != MC13XXX_CHIP_TYPE_MC13783)
739ba46c8b2ddb Alexander Kurz 2025-08-17 135 return -ENODEV;
739ba46c8b2ddb Alexander Kurz 2025-08-17 136
fc0cc88dc308bc Alexander Kurz 2025-08-17 137 reg |= (pdata->b_on_flags[0] & 0x3) << MC13783_POWER_CONTROL_2_ON1BDBNC;
fc0cc88dc308bc Alexander Kurz 2025-08-17 138 reg |= (pdata->b_on_flags[1] & 0x3) << MC13783_POWER_CONTROL_2_ON2BDBNC;
fc0cc88dc308bc Alexander Kurz 2025-08-17 139 reg |= (pdata->b_on_flags[2] & 0x3) << MC13783_POWER_CONTROL_2_ON3BDBNC;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 140
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 141 priv->pwr = pwr;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 142 priv->mc13783 = mc13783;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 143
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 144 mc13xxx_lock(mc13783);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 145
fc0cc88dc308bc Alexander Kurz 2025-08-17 146 if (pdata->b_on_flags[0] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 147 priv->keymap[0] = pdata->b_on_key[0];
fc0cc88dc308bc Alexander Kurz 2025-08-17 148 if (pdata->b_on_key[0] != KEY_RESERVED)
fc0cc88dc308bc Alexander Kurz 2025-08-17 149 __set_bit(pdata->b_on_key[0], pwr->keybit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 150
fc0cc88dc308bc Alexander Kurz 2025-08-17 151 if (pdata->b_on_flags[0] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 152 priv->flags |= MC13783_PWRB_B1_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 153
fc0cc88dc308bc Alexander Kurz 2025-08-17 154 if (pdata->b_on_flags[0] & MC13783_BUTTON_RESET_EN)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 155 reg |= MC13783_POWER_CONTROL_2_ON1BRSTEN;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 156
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 157 err = mc13xxx_irq_request(mc13783, MC13783_IRQ_ONOFD1,
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 158 button1_irq, "b1on", priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 159 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 160 dev_dbg(&pdev->dev, "Can't request irq\n");
173a22b931fb1b Alexander Kurz 2025-08-17 161 goto free_mc13xxx_lock;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 162 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 163 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 164
fc0cc88dc308bc Alexander Kurz 2025-08-17 165 if (pdata->b_on_flags[1] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 166 priv->keymap[1] = pdata->b_on_key[1];
fc0cc88dc308bc Alexander Kurz 2025-08-17 167 if (pdata->b_on_key[1] != KEY_RESERVED)
fc0cc88dc308bc Alexander Kurz 2025-08-17 168 __set_bit(pdata->b_on_key[1], pwr->keybit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 169
fc0cc88dc308bc Alexander Kurz 2025-08-17 170 if (pdata->b_on_flags[1] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 171 priv->flags |= MC13783_PWRB_B2_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 172
fc0cc88dc308bc Alexander Kurz 2025-08-17 173 if (pdata->b_on_flags[1] & MC13783_BUTTON_RESET_EN)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 174 reg |= MC13783_POWER_CONTROL_2_ON2BRSTEN;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 175
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 176 err = mc13xxx_irq_request(mc13783, MC13783_IRQ_ONOFD2,
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 177 button2_irq, "b2on", priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 178 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 179 dev_dbg(&pdev->dev, "Can't request irq\n");
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 180 goto free_irq_b1;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 181 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 182 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 183
fc0cc88dc308bc Alexander Kurz 2025-08-17 184 if (pdata->b_on_flags[2] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 @185 priv->keymap[2] = pdata->b_on_key[3];
^
fc0cc88dc308bc Alexander Kurz 2025-08-17 186 if (pdata->b_on_key[3] != KEY_RESERVED)
^
fc0cc88dc308bc Alexander Kurz 2025-08-17 187 __set_bit(pdata->b_on_key[3], pwr->keybit);
^^^^^^^^^^^^^^^^^^
Smatch thinks there are only 3 elements in this array so it's off by one.
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 188
fc0cc88dc308bc Alexander Kurz 2025-08-17 189 if (pdata->b_on_flags[2] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 190 priv->flags |= MC13783_PWRB_B3_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 191
fc0cc88dc308bc Alexander Kurz 2025-08-17 192 if (pdata->b_on_flags[2] & MC13783_BUTTON_RESET_EN)
--
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: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array
Date: Thu, 21 Aug 2025 05:50:17 +0800 [thread overview]
Message-ID: <202508210551.VzAtE5re-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250817102751.29709-5-akurz@blala.de>
References: <20250817102751.29709-5-akurz@blala.de>
TO: Alexander Kurz <akurz@blala.de>
TO: Lee Jones <lee@kernel.org>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
TO: Dmitry Torokhov <dmitry.torokhov@gmail.com>
TO: Dzmitry Sankouski <dsankouski@gmail.com>
TO: "Dr. David Alan Gilbert" <linux@treblig.org>
TO: Heiko Stuebner <heiko@sntech.de>
TO: "Uwe Kleine-König" <u.kleine-koenig@baylibre.com>
TO: devicetree@vger.kernel.org
TO: linux-input@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: Alexander Kurz <akurz@blala.de>
Hi Alexander,
kernel test robot noticed the following build warnings:
[auto build test WARNING on dtor-input/next]
[also build test WARNING on dtor-input/for-linus lee-mfd/for-mfd-next lee-mfd/for-mfd-fixes robh/for-next linus/master v6.17-rc2 next-20250820]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Kurz/Input-mc13783-pwrbutton-fix-irq-mixup/20250817-182649
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link: https://lore.kernel.org/r/20250817102751.29709-5-akurz%40blala.de
patch subject: [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: i386-randconfig-141-20250820 (https://download.01.org/0day-ci/archive/20250821/202508210551.VzAtE5re-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202508210551.VzAtE5re-lkp@intel.com/
New smatch warnings:
drivers/input/misc/mc13783-pwrbutton.c:185 mc13783_pwrbutton_probe() error: buffer overflow 'pdata->b_on_key' 3 <= 3
Old smatch warnings:
drivers/input/misc/mc13783-pwrbutton.c:186 mc13783_pwrbutton_probe() error: buffer overflow 'pdata->b_on_key' 3 <= 3
drivers/input/misc/mc13783-pwrbutton.c:187 mc13783_pwrbutton_probe() error: buffer overflow 'pdata->b_on_key' 3 <= 3
vim +185 drivers/input/misc/mc13783-pwrbutton.c
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 107
5298cc4cc753bb Bill Pemberton 2012-11-23 108 static int mc13783_pwrbutton_probe(struct platform_device *pdev)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 109 {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 110 const struct mc13xxx_buttons_platform_data *pdata;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 111 struct mc13xxx *mc13783 = dev_get_drvdata(pdev->dev.parent);
739ba46c8b2ddb Alexander Kurz 2025-08-17 112 enum mc13xxx_chip_type chip = platform_get_device_id(pdev)->driver_data;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 113 struct input_dev *pwr;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 114 struct mc13783_pwrb *priv;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 115 int err = 0;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 116 int reg = 0;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 117
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 118 pdata = dev_get_platdata(&pdev->dev);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 119 if (!pdata) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 120 dev_err(&pdev->dev, "missing platform data\n");
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 121 return -ENODEV;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 122 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 123
173a22b931fb1b Alexander Kurz 2025-08-17 124 pwr = devm_input_allocate_device(&pdev->dev);
173a22b931fb1b Alexander Kurz 2025-08-17 125 if (!pwr)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 126 return -ENOMEM;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 127
173a22b931fb1b Alexander Kurz 2025-08-17 128 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
173a22b931fb1b Alexander Kurz 2025-08-17 129 if (!priv)
173a22b931fb1b Alexander Kurz 2025-08-17 130 return -ENOMEM;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 131
739ba46c8b2ddb Alexander Kurz 2025-08-17 132 /* ONOFD3 is only supported for MC13783. */
fc0cc88dc308bc Alexander Kurz 2025-08-17 133 if (pdata->b_on_flags[2] & MC13783_BUTTON_ENABLE &&
739ba46c8b2ddb Alexander Kurz 2025-08-17 134 chip != MC13XXX_CHIP_TYPE_MC13783)
739ba46c8b2ddb Alexander Kurz 2025-08-17 135 return -ENODEV;
739ba46c8b2ddb Alexander Kurz 2025-08-17 136
fc0cc88dc308bc Alexander Kurz 2025-08-17 137 reg |= (pdata->b_on_flags[0] & 0x3) << MC13783_POWER_CONTROL_2_ON1BDBNC;
fc0cc88dc308bc Alexander Kurz 2025-08-17 138 reg |= (pdata->b_on_flags[1] & 0x3) << MC13783_POWER_CONTROL_2_ON2BDBNC;
fc0cc88dc308bc Alexander Kurz 2025-08-17 139 reg |= (pdata->b_on_flags[2] & 0x3) << MC13783_POWER_CONTROL_2_ON3BDBNC;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 140
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 141 priv->pwr = pwr;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 142 priv->mc13783 = mc13783;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 143
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 144 mc13xxx_lock(mc13783);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 145
fc0cc88dc308bc Alexander Kurz 2025-08-17 146 if (pdata->b_on_flags[0] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 147 priv->keymap[0] = pdata->b_on_key[0];
fc0cc88dc308bc Alexander Kurz 2025-08-17 148 if (pdata->b_on_key[0] != KEY_RESERVED)
fc0cc88dc308bc Alexander Kurz 2025-08-17 149 __set_bit(pdata->b_on_key[0], pwr->keybit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 150
fc0cc88dc308bc Alexander Kurz 2025-08-17 151 if (pdata->b_on_flags[0] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 152 priv->flags |= MC13783_PWRB_B1_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 153
fc0cc88dc308bc Alexander Kurz 2025-08-17 154 if (pdata->b_on_flags[0] & MC13783_BUTTON_RESET_EN)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 155 reg |= MC13783_POWER_CONTROL_2_ON1BRSTEN;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 156
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 157 err = mc13xxx_irq_request(mc13783, MC13783_IRQ_ONOFD1,
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 158 button1_irq, "b1on", priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 159 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 160 dev_dbg(&pdev->dev, "Can't request irq\n");
173a22b931fb1b Alexander Kurz 2025-08-17 161 goto free_mc13xxx_lock;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 162 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 163 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 164
fc0cc88dc308bc Alexander Kurz 2025-08-17 165 if (pdata->b_on_flags[1] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 166 priv->keymap[1] = pdata->b_on_key[1];
fc0cc88dc308bc Alexander Kurz 2025-08-17 167 if (pdata->b_on_key[1] != KEY_RESERVED)
fc0cc88dc308bc Alexander Kurz 2025-08-17 168 __set_bit(pdata->b_on_key[1], pwr->keybit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 169
fc0cc88dc308bc Alexander Kurz 2025-08-17 170 if (pdata->b_on_flags[1] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 171 priv->flags |= MC13783_PWRB_B2_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 172
fc0cc88dc308bc Alexander Kurz 2025-08-17 173 if (pdata->b_on_flags[1] & MC13783_BUTTON_RESET_EN)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 174 reg |= MC13783_POWER_CONTROL_2_ON2BRSTEN;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 175
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 176 err = mc13xxx_irq_request(mc13783, MC13783_IRQ_ONOFD2,
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 177 button2_irq, "b2on", priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 178 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 179 dev_dbg(&pdev->dev, "Can't request irq\n");
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 180 goto free_irq_b1;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 181 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 182 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 183
fc0cc88dc308bc Alexander Kurz 2025-08-17 184 if (pdata->b_on_flags[2] & MC13783_BUTTON_ENABLE) {
fc0cc88dc308bc Alexander Kurz 2025-08-17 @185 priv->keymap[2] = pdata->b_on_key[3];
fc0cc88dc308bc Alexander Kurz 2025-08-17 186 if (pdata->b_on_key[3] != KEY_RESERVED)
fc0cc88dc308bc Alexander Kurz 2025-08-17 187 __set_bit(pdata->b_on_key[3], pwr->keybit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 188
fc0cc88dc308bc Alexander Kurz 2025-08-17 189 if (pdata->b_on_flags[2] & MC13783_BUTTON_POL_INVERT)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 190 priv->flags |= MC13783_PWRB_B3_POL_INVERT;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 191
fc0cc88dc308bc Alexander Kurz 2025-08-17 192 if (pdata->b_on_flags[2] & MC13783_BUTTON_RESET_EN)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 193 reg |= MC13783_POWER_CONTROL_2_ON3BRSTEN;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 194
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 195 err = mc13xxx_irq_request(mc13783, MC13783_IRQ_ONOFD3,
4eeb8abb43c2b7 Alexander Kurz 2025-08-17 196 button3_irq, "b3on", priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 197 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 198 dev_dbg(&pdev->dev, "Can't request irq: %d\n", err);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 199 goto free_irq_b2;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 200 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 201 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 202
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 203 mc13xxx_reg_rmw(mc13783, MC13783_REG_POWER_CONTROL_2, 0x3FE, reg);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 204
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 205 mc13xxx_unlock(mc13783);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 206
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 207 pwr->name = "mc13783_pwrbutton";
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 208 pwr->phys = "mc13783_pwrbutton/input0";
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 209
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 210 pwr->keycode = priv->keymap;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 211 pwr->keycodemax = ARRAY_SIZE(priv->keymap);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 212 pwr->keycodesize = sizeof(priv->keymap[0]);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 213 __set_bit(EV_KEY, pwr->evbit);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 214
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 215 err = input_register_device(pwr);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 216 if (err) {
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 217 dev_dbg(&pdev->dev, "Can't register power button: %d\n", err);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 218 goto free_irq;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 219 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 220
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 221 platform_set_drvdata(pdev, priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 222
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 223 return 0;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 224
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 225 free_irq:
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 226 mc13xxx_lock(mc13783);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 227
fc0cc88dc308bc Alexander Kurz 2025-08-17 228 if (pdata->b_on_flags[2] & MC13783_BUTTON_ENABLE)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 229 mc13xxx_irq_free(mc13783, MC13783_IRQ_ONOFD3, priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 230
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 231 free_irq_b2:
fc0cc88dc308bc Alexander Kurz 2025-08-17 232 if (pdata->b_on_flags[1] & MC13783_BUTTON_ENABLE)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 233 mc13xxx_irq_free(mc13783, MC13783_IRQ_ONOFD2, priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 234
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 235 free_irq_b1:
fc0cc88dc308bc Alexander Kurz 2025-08-17 236 if (pdata->b_on_flags[0] & MC13783_BUTTON_ENABLE)
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 237 mc13xxx_irq_free(mc13783, MC13783_IRQ_ONOFD1, priv);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 238
173a22b931fb1b Alexander Kurz 2025-08-17 239 free_mc13xxx_lock:
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 240 mc13xxx_unlock(mc13783);
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 241
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 242 return err;
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 243 }
30fc7ac3f62945 Philippe Rétornaz 2011-09-18 244
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next parent reply other threads:[~2025-08-21 7:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-20 21:50 kernel test robot [this message]
2025-08-21 7:08 ` [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2025-08-17 10:27 [PATCH 0/6] Fix, extend and upport OF to mc13xxx pwrbutton Alexander Kurz
2025-08-17 10:27 ` [PATCH 1/6] Input: mc13783-pwrbutton: fix irq mixup Alexander Kurz
2025-08-17 10:27 ` [PATCH 2/6] Input: mc13783-pwrbutton: use managed resources Alexander Kurz
2025-08-17 10:27 ` [PATCH 3/6] Input: mc13783-pwrbutton: enable other mc13xxx PMIC Alexander Kurz
2025-09-02 13:43 ` Lee Jones
2025-08-17 10:27 ` [PATCH 4/6] Input: mc13783-pwrbutton: convert members to array Alexander Kurz
2025-08-17 10:27 ` [PATCH 5/6] dt-bindings: mfd: mc13xxx: add pwrbutton dt support Alexander Kurz
2025-08-17 11:20 ` Krzysztof Kozlowski
2025-08-17 10:27 ` [PATCH 6/6] Input: mc13783-pwrbutton: add OF support Alexander Kurz
2025-08-17 11:24 ` Krzysztof Kozlowski
2025-08-17 16:41 ` kernel test robot
2025-08-18 1:03 ` Dmitry Torokhov
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=202508210551.VzAtE5re-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=akurz@blala.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=dsankouski@gmail.com \
--cc=heiko@sntech.de \
--cc=krzk@kernel.org \
--cc=lee@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@treblig.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=robh@kernel.org \
--cc=u.kleine-koenig@baylibre.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.