linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: kbuild-all@01.org, Jonathan Cameron <jic23@kernel.org>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>
Subject: Re: [PATCH 1/4] iio: pressure: bmp280: use bulk regulator ops
Date: Wed, 2 Oct 2019 21:06:36 +0800	[thread overview]
Message-ID: <201910022132.qRNFfzjP%lkp@intel.com> (raw)
In-Reply-To: <20191002085759.13337-2-brgl@bgdev.pl>

[-- Attachment #1: Type: text/plain, Size: 6996 bytes --]

Hi Bartosz,

I love your patch! Yet something to improve:

[auto build test ERROR on iio/togreg]
[cannot apply to v5.4-rc1 next-20191002]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Bartosz-Golaszewski/iio-pressure-bmp280-code-shrink/20191002-194508
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/iio/pressure/bmp280-core.c: In function 'bmp280_common_probe':
>> drivers/iio/pressure/bmp280-core.c:1041:2: error: implicit declaration of function 'regulator_bulk_set_supply_names'; did you mean 'regulator_bulk_register_supply_alias'? [-Werror=implicit-function-declaration]
     regulator_bulk_set_supply_names(data->supplies,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     regulator_bulk_register_supply_alias
   cc1: some warnings being treated as errors

vim +1041 drivers/iio/pressure/bmp280-core.c

   986	
   987	int bmp280_common_probe(struct device *dev,
   988				struct regmap *regmap,
   989				unsigned int chip,
   990				const char *name,
   991				int irq)
   992	{
   993		int ret;
   994		struct iio_dev *indio_dev;
   995		struct bmp280_data *data;
   996		unsigned int chip_id;
   997		struct gpio_desc *gpiod;
   998	
   999		indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
  1000		if (!indio_dev)
  1001			return -ENOMEM;
  1002	
  1003		data = iio_priv(indio_dev);
  1004		mutex_init(&data->lock);
  1005		data->dev = dev;
  1006	
  1007		indio_dev->dev.parent = dev;
  1008		indio_dev->name = name;
  1009		indio_dev->channels = bmp280_channels;
  1010		indio_dev->info = &bmp280_info;
  1011		indio_dev->modes = INDIO_DIRECT_MODE;
  1012	
  1013		switch (chip) {
  1014		case BMP180_CHIP_ID:
  1015			indio_dev->num_channels = 2;
  1016			data->chip_info = &bmp180_chip_info;
  1017			data->oversampling_press = ilog2(8);
  1018			data->oversampling_temp = ilog2(1);
  1019			data->start_up_time = 10000;
  1020			break;
  1021		case BMP280_CHIP_ID:
  1022			indio_dev->num_channels = 2;
  1023			data->chip_info = &bmp280_chip_info;
  1024			data->oversampling_press = ilog2(16);
  1025			data->oversampling_temp = ilog2(2);
  1026			data->start_up_time = 2000;
  1027			break;
  1028		case BME280_CHIP_ID:
  1029			indio_dev->num_channels = 3;
  1030			data->chip_info = &bme280_chip_info;
  1031			data->oversampling_press = ilog2(16);
  1032			data->oversampling_humid = ilog2(16);
  1033			data->oversampling_temp = ilog2(2);
  1034			data->start_up_time = 2000;
  1035			break;
  1036		default:
  1037			return -EINVAL;
  1038		}
  1039	
  1040		/* Bring up regulators */
> 1041		regulator_bulk_set_supply_names(data->supplies,
  1042						bmp280_supply_names,
  1043						BMP280_NUM_SUPPLIES);
  1044	
  1045		ret = devm_regulator_bulk_get(dev,
  1046					      BMP280_NUM_SUPPLIES, data->supplies);
  1047		if (ret) {
  1048			dev_err(dev, "failed to get regulators\n");
  1049			return ret;
  1050		}
  1051	
  1052		ret = regulator_bulk_enable(BMP280_NUM_SUPPLIES, data->supplies);
  1053		if (ret) {
  1054			dev_err(dev, "failed to enable regulators\n");
  1055			return ret;
  1056		}
  1057	
  1058		/* Wait to make sure we started up properly */
  1059		usleep_range(data->start_up_time, data->start_up_time + 100);
  1060	
  1061		/* Bring chip out of reset if there is an assigned GPIO line */
  1062		gpiod = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
  1063		/* Deassert the signal */
  1064		if (!IS_ERR(gpiod)) {
  1065			dev_info(dev, "release reset\n");
  1066			gpiod_set_value(gpiod, 0);
  1067		}
  1068	
  1069		data->regmap = regmap;
  1070		ret = regmap_read(regmap, BMP280_REG_ID, &chip_id);
  1071		if (ret < 0)
  1072			goto out_disable_regulators;
  1073		if (chip_id != chip) {
  1074			dev_err(dev, "bad chip id: expected %x got %x\n",
  1075				chip, chip_id);
  1076			ret = -EINVAL;
  1077			goto out_disable_regulators;
  1078		}
  1079	
  1080		ret = data->chip_info->chip_config(data);
  1081		if (ret < 0)
  1082			goto out_disable_regulators;
  1083	
  1084		dev_set_drvdata(dev, indio_dev);
  1085	
  1086		/*
  1087		 * Some chips have calibration parameters "programmed into the devices'
  1088		 * non-volatile memory during production". Let's read them out at probe
  1089		 * time once. They will not change.
  1090		 */
  1091		if (chip_id  == BMP180_CHIP_ID) {
  1092			ret = bmp180_read_calib(data, &data->calib.bmp180);
  1093			if (ret < 0) {
  1094				dev_err(data->dev,
  1095					"failed to read calibration coefficients\n");
  1096				goto out_disable_regulators;
  1097			}
  1098		} else if (chip_id == BMP280_CHIP_ID || chip_id == BME280_CHIP_ID) {
  1099			ret = bmp280_read_calib(data, &data->calib.bmp280, chip_id);
  1100			if (ret < 0) {
  1101				dev_err(data->dev,
  1102					"failed to read calibration coefficients\n");
  1103				goto out_disable_regulators;
  1104			}
  1105		}
  1106	
  1107		/*
  1108		 * Attempt to grab an optional EOC IRQ - only the BMP085 has this
  1109		 * however as it happens, the BMP085 shares the chip ID of BMP180
  1110		 * so we look for an IRQ if we have that.
  1111		 */
  1112		if (irq > 0 || (chip_id  == BMP180_CHIP_ID)) {
  1113			ret = bmp085_fetch_eoc_irq(dev, name, irq, data);
  1114			if (ret)
  1115				goto out_disable_regulators;
  1116		}
  1117	
  1118		/* Enable runtime PM */
  1119		pm_runtime_get_noresume(dev);
  1120		pm_runtime_set_active(dev);
  1121		pm_runtime_enable(dev);
  1122		/*
  1123		 * Set autosuspend to two orders of magnitude larger than the
  1124		 * start-up time.
  1125		 */
  1126		pm_runtime_set_autosuspend_delay(dev, data->start_up_time / 10);
  1127		pm_runtime_use_autosuspend(dev);
  1128		pm_runtime_put(dev);
  1129	
  1130		ret = iio_device_register(indio_dev);
  1131		if (ret)
  1132			goto out_runtime_pm_disable;
  1133	
  1134	
  1135		return 0;
  1136	
  1137	out_runtime_pm_disable:
  1138		pm_runtime_get_sync(data->dev);
  1139		pm_runtime_put_noidle(data->dev);
  1140		pm_runtime_disable(data->dev);
  1141	out_disable_regulators:
  1142		regulator_bulk_disable(BMP280_NUM_SUPPLIES, data->supplies);
  1143		return ret;
  1144	}
  1145	EXPORT_SYMBOL(bmp280_common_probe);
  1146	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 51717 bytes --]

  reply	other threads:[~2019-10-02 13:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-02  8:57 [PATCH 0/4] iio: pressure: bmp280: code shrink Bartosz Golaszewski
2019-10-02  8:57 ` [PATCH 1/4] iio: pressure: bmp280: use bulk regulator ops Bartosz Golaszewski
2019-10-02 13:06   ` kbuild test robot [this message]
2019-10-02 15:57     ` Bartosz Golaszewski
2019-10-06  9:49       ` Jonathan Cameron
2019-10-22 10:03         ` Jonathan Cameron
2019-10-06  9:50   ` Jonathan Cameron
2019-10-02  8:57 ` [PATCH 2/4] iio: pressure: bmp280: use devm_iio_device_register() Bartosz Golaszewski
2019-10-06  9:56   ` Jonathan Cameron
2019-10-02  8:57 ` [PATCH 3/4] iio: pressure: bmp280: remove stray newline Bartosz Golaszewski
2019-10-06  9:57   ` Jonathan Cameron
2019-10-02  8:57 ` [PATCH 4/4] iio: pressure: bmp280: use devm action and remove labels from probe Bartosz Golaszewski
2019-10-06  9:58   ` Jonathan Cameron

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=201910022132.qRNFfzjP%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=brgl@bgdev.pl \
    --cc=jic23@kernel.org \
    --cc=kbuild-all@01.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).