2023-04-04 01:23:50

by Brian Masney

[permalink] [raw]
Subject: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

tsl2772_read_prox_diodes() will correctly parse the properties from
device tree to determine which proximity diode(s) to read from, however
it didn't actually set this value on the struct tsl2772_settings. Let's
go ahead and fix that.

Reported-by: Tom Rix <[email protected]>
Link: https://lore.kernel.org/lkml/[email protected]/
Fixes: 94cd1113aaa0 ("iio: tsl2772: add support for reading proximity led settings from device tree")
Signed-off-by: Brian Masney <[email protected]>
---
drivers/iio/light/tsl2772.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index ad50baa0202c..e823c145f679 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -601,6 +601,7 @@ static int tsl2772_read_prox_diodes(struct tsl2772_chip *chip)
return -EINVAL;
}
}
+ chip->settings.prox_diode = prox_diode_mask;

return 0;
}
--
2.39.2


2023-04-04 07:21:05

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

Hi Brian,

kernel test robot noticed the following build errors:

[auto build test ERROR on jic23-iio/togreg]
[also build test ERROR on linus/master v6.3-rc5 next-20230403]
[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/Brian-Masney/iio-light-tsl2772-fix-reading-proximity-diodes-from-device-tree/20230404-091630
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link: https://lore.kernel.org/r/20230404011455.339454-1-bmasney%40redhat.com
patch subject: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree
config: x86_64-randconfig-a001-20230403 (https://download.01.org/0day-ci/archive/20230404/[email protected]/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/intel-lab-lkp/linux/commit/9701bd10d6409568197894b603f8a1e23280e82b
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Brian-Masney/iio-light-tsl2772-fix-reading-proximity-diodes-from-device-tree/20230404-091630
git checkout 9701bd10d6409568197894b603f8a1e23280e82b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/iio/light/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> drivers/iio/light/tsl2772.c:599:30: error: use of undeclared identifier 'prox_diode_mask'; did you mean 'protnone_mask'?
chip->settings.prox_diode = prox_diode_mask;
^~~~~~~~~~~~~~~
protnone_mask
arch/x86/include/asm/pgtable-invert.h:22:19: note: 'protnone_mask' declared here
static inline u64 protnone_mask(u64 val)
^
1 error generated.


vim +599 drivers/iio/light/tsl2772.c

572
573 static int tsl2772_read_prox_diodes(struct tsl2772_chip *chip)
574 {
575 struct device *dev = &chip->client->dev;
576 int i, ret, num_leds;
577 u32 leds[TSL2772_MAX_PROX_LEDS];
578
579 ret = device_property_count_u32(dev, "amstaos,proximity-diodes");
580 if (ret < 0)
581 return ret;
582
583 num_leds = ret;
584 if (num_leds > TSL2772_MAX_PROX_LEDS)
585 num_leds = TSL2772_MAX_PROX_LEDS;
586
587 ret = device_property_read_u32_array(dev, "amstaos,proximity-diodes", leds, num_leds);
588 if (ret < 0) {
589 dev_err(dev, "Invalid value for amstaos,proximity-diodes: %d.\n", ret);
590 return ret;
591 }
592
593 for (i = 0; i < num_leds; i++) {
594 if (leds[i] > 1) {
595 dev_err(dev, "Invalid value %d in amstaos,proximity-diodes.\n", leds[i]);
596 return -EINVAL;
597 }
598 }
> 599 chip->settings.prox_diode = prox_diode_mask;
600
601 return 0;
602 }
603

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

2023-04-04 11:35:16

by Brian Masney

[permalink] [raw]
Subject: Re: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

Hi kernel test robot maintainers,

On Tue, Apr 04, 2023 at 03:13:24PM +0800, kernel test robot wrote:
> Hi Brian,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on jic23-iio/togreg]
> [also build test ERROR on linus/master v6.3-rc5 next-20230403]
> [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/Brian-Masney/iio-light-tsl2772-fix-reading-proximity-diodes-from-device-tree/20230404-091630
> base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
> patch link: https://lore.kernel.org/r/20230404011455.339454-1-bmasney%40redhat.com
> patch subject: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree
> config: x86_64-randconfig-a001-20230403 (https://download.01.org/0day-ci/archive/20230404/[email protected]/config)
> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> 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/intel-lab-lkp/linux/commit/9701bd10d6409568197894b603f8a1e23280e82b
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Brian-Masney/iio-light-tsl2772-fix-reading-proximity-diodes-from-device-tree/20230404-091630
> git checkout 9701bd10d6409568197894b603f8a1e23280e82b
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/iio/light/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <[email protected]>
> | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All errors (new ones prefixed by >>):
>
> >> drivers/iio/light/tsl2772.c:599:30: error: use of undeclared identifier 'prox_diode_mask'; did you mean 'protnone_mask'?
> chip->settings.prox_diode = prox_diode_mask;
> ^~~~~~~~~~~~~~~
> protnone_mask
> arch/x86/include/asm/pgtable-invert.h:22:19: note: 'protnone_mask' declared here
> static inline u64 protnone_mask(u64 val)
> ^
> 1 error generated.
>
>
> vim +599 drivers/iio/light/tsl2772.c
>
> 572
> 573 static int tsl2772_read_prox_diodes(struct tsl2772_chip *chip)
> 574 {
> 575 struct device *dev = &chip->client->dev;
> 576 int i, ret, num_leds;
> 577 u32 leds[TSL2772_MAX_PROX_LEDS];
> 578
> 579 ret = device_property_count_u32(dev, "amstaos,proximity-diodes");
> 580 if (ret < 0)
> 581 return ret;
> 582
> 583 num_leds = ret;
> 584 if (num_leds > TSL2772_MAX_PROX_LEDS)
> 585 num_leds = TSL2772_MAX_PROX_LEDS;
> 586
> 587 ret = device_property_read_u32_array(dev, "amstaos,proximity-diodes", leds, num_leds);
> 588 if (ret < 0) {
> 589 dev_err(dev, "Invalid value for amstaos,proximity-diodes: %d.\n", ret);
> 590 return ret;
> 591 }
> 592
> 593 for (i = 0; i < num_leds; i++) {
> 594 if (leds[i] > 1) {
> 595 dev_err(dev, "Invalid value %d in amstaos,proximity-diodes.\n", leds[i]);
> 596 return -EINVAL;
> 597 }
> 598 }
> > 599 chip->settings.prox_diode = prox_diode_mask;
> 600
> 601 return 0;
> 602 }
> 603

This doesn't contain the code that's in iio/togreg [1], and that's why
the build failed. I originally developed / built this against
next-20230330. I just checked linus/master, next-20230404, iio/testing,
and all have the expected code that defines prox_diode_mask.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/tree/drivers/iio/light/tsl2772.c?h=togreg#n593

Brian

2023-04-04 12:38:02

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

Hello Brian,

On Tue, Apr 04, 2023 at 07:13:03AM -0400, Brian Masney wrote:
> This doesn't contain the code that's in iio/togreg [1], and that's why
> the build failed. I originally developed / built this against
> next-20230330. I just checked linus/master, next-20230404, iio/testing,
> and all have the expected code that defines prox_diode_mask.
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/tree/drivers/iio/light/tsl2772.c?h=togreg#n593

You might want to make use of the --base parameter to git format-patch
for you next submission. With that the auto builders have a chance to
test on the right tree.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (827.00 B)
signature.asc (499.00 B)
Download all attachments

2023-04-04 23:04:16

by Brian Masney

[permalink] [raw]
Subject: Re: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

On Tue, Apr 04, 2023 at 02:35:44PM +0200, Uwe Kleine-K?nig wrote:
> Hello Brian,
>
> On Tue, Apr 04, 2023 at 07:13:03AM -0400, Brian Masney wrote:
> > This doesn't contain the code that's in iio/togreg [1], and that's why
> > the build failed. I originally developed / built this against
> > next-20230330. I just checked linus/master, next-20230404, iio/testing,
> > and all have the expected code that defines prox_diode_mask.
> >
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/tree/drivers/iio/light/tsl2772.c?h=togreg#n593
>
> You might want to make use of the --base parameter to git format-patch
> for you next submission. With that the auto builders have a chance to
> test on the right tree.

I'll add the --base parameter next time. However, I think the issue is
that this compiler error is triggered by this patch [1] that's not in
any maintainer trees. I suspect the kernel test robot still has that in
it's local tree from a previous round of testing against this driver.

[1] https://lore.kernel.org/lkml/[email protected]/

Brian

2023-04-08 09:34:18

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: light: tsl2772: fix reading proximity-diodes from device tree

On Mon, 3 Apr 2023 21:14:55 -0400
Brian Masney <[email protected]> wrote:

> tsl2772_read_prox_diodes() will correctly parse the properties from
> device tree to determine which proximity diode(s) to read from, however
> it didn't actually set this value on the struct tsl2772_settings. Let's
> go ahead and fix that.
>
> Reported-by: Tom Rix <[email protected]>
> Link: https://lore.kernel.org/lkml/[email protected]/
> Fixes: 94cd1113aaa0 ("iio: tsl2772: add support for reading proximity led settings from device tree")
> Signed-off-by: Brian Masney <[email protected]>

Applied to the fixes-togreg branch of iio.git and marked for stable.

thanks,

Jonathan

> ---
> drivers/iio/light/tsl2772.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> index ad50baa0202c..e823c145f679 100644
> --- a/drivers/iio/light/tsl2772.c
> +++ b/drivers/iio/light/tsl2772.c
> @@ -601,6 +601,7 @@ static int tsl2772_read_prox_diodes(struct tsl2772_chip *chip)
> return -EINVAL;
> }
> }
> + chip->settings.prox_diode = prox_diode_mask;
>
> return 0;
> }