[RFC PATCH] drm/bridge: anx7625: anx7625_audio_hw_params() can be static
by kernel test robot
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
anx7625.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index f4653f2b58ad4..38bb8a9db216a 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -1585,9 +1585,9 @@ static enum drm_connector_status anx7625_sink_detect(struct anx7625_data *ctx)
connector_status_disconnected;
}
-int anx7625_audio_hw_params(struct device *dev, void *data,
- struct hdmi_codec_daifmt *fmt,
- struct hdmi_codec_params *params)
+static int anx7625_audio_hw_params(struct device *dev, void *data,
+ struct hdmi_codec_daifmt *fmt,
+ struct hdmi_codec_params *params)
{
struct anx7625_data *ctx = dev_get_drvdata(dev);
int wl, ch, rate;
1 year, 6 months
[chrome-os:chromeos-4.4 23/214] drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:356:14: error: dereferencing pointer to incomplete type 'struct clk_bulk_data'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 165087594d83615eb48f64ee09830ccccd7f4ae4
commit: 0a2638805bc5f83fcc99ce5cd7ef29682485ac47 [23/214] BACKPORT: phy: Move phy-rockchip-dphy-rx0 out of staging
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.5.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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.4
git checkout 0a2638805bc5f83fcc99ce5cd7ef29682485ac47
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=mips
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 >>):
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:223:60: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:528:17: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:539:15: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:624:13: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_enable':
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:203:2: error: implicit declaration of function 'usleep_range'; did you mean 'clear_page'? [-Werror=implicit-function-declaration]
usleep_range(100, 150);
^~~~~~~~~~~~
clear_page
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_power_on':
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:264:50: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(priv->drv_data->num_clks, priv->clks);
^~~~
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_power_off':
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:278:45: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(priv->drv_data->num_clks, priv->clks);
^~~~
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_init':
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:286:52: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
return clk_bulk_prepare(priv->drv_data->num_clks, priv->clks);
^~~~
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_exit':
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:293:47: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(priv->drv_data->num_clks, priv->clks);
^~~~
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c: In function 'rk_dphy_probe':
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:356:14: error: dereferencing pointer to incomplete type 'struct clk_bulk_data'
sizeof(*priv->clks), GFP_KERNEL);
^~~~~~~~~~~
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:360:13: error: invalid use of undefined type 'struct clk_bulk_data'
priv->clks[i].id = drv_data->clks[i];
^
>> drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:361:58: warning: passing argument 3 of 'devm_clk_bulk_get' from incompatible pointer type [-Wincompatible-pointer-types]
ret = devm_clk_bulk_get(&pdev->dev, drv_data->num_clks, priv->clks);
^~~~
In file included from drivers/phy/rockchip/phy-rockchip-dphy-rx0.c:18:0:
include/linux/clk.h:538:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +356 drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 258
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 259 static int rk_dphy_power_on(struct phy *phy)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 260 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 261 struct rk_dphy *priv = phy_get_drvdata(phy);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 262 int ret;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 263
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @264 ret = clk_bulk_enable(priv->drv_data->num_clks, priv->clks);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 265 if (ret)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 266 return ret;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 267
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 268 rk_dphy_enable(priv);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 269
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 270 return 0;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 271 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 272
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 273 static int rk_dphy_power_off(struct phy *phy)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 274 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 275 struct rk_dphy *priv = phy_get_drvdata(phy);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 276
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 277 rk_dphy_write_grf(priv, GRF_DPHY_RX0_ENABLE, 0);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @278 clk_bulk_disable(priv->drv_data->num_clks, priv->clks);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 279 return 0;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 280 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 281
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 282 static int rk_dphy_init(struct phy *phy)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 283 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 284 struct rk_dphy *priv = phy_get_drvdata(phy);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 285
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @286 return clk_bulk_prepare(priv->drv_data->num_clks, priv->clks);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 287 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 288
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 289 static int rk_dphy_exit(struct phy *phy)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 290 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 291 struct rk_dphy *priv = phy_get_drvdata(phy);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 292
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @293 clk_bulk_unprepare(priv->drv_data->num_clks, priv->clks);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 294 return 0;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 295 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 296
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 297 static const struct phy_ops rk_dphy_ops = {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 298 .power_on = rk_dphy_power_on,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 299 .power_off = rk_dphy_power_off,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 300 .init = rk_dphy_init,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 301 .exit = rk_dphy_exit,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 302 .configure = rk_dphy_configure,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 303 .owner = THIS_MODULE,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 304 };
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 305
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 306 static const struct rk_dphy_drv_data rk3399_mipidphy_drv_data = {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 307 .clks = rk3399_mipidphy_clks,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 308 .num_clks = ARRAY_SIZE(rk3399_mipidphy_clks),
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 309 .hsfreq_ranges = rk3399_mipidphy_hsfreq_ranges,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 310 .num_hsfreq_ranges = ARRAY_SIZE(rk3399_mipidphy_hsfreq_ranges),
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 311 .regs = rk3399_grf_dphy_regs,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 312 };
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 313
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 314 static const struct of_device_id rk_dphy_dt_ids[] = {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 315 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 316 .compatible = "rockchip,rk3399-mipi-dphy-rx0",
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 317 .data = &rk3399_mipidphy_drv_data,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 318 },
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 319 {}
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 320 };
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 321 MODULE_DEVICE_TABLE(of, rk_dphy_dt_ids);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 322
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 323 static int rk_dphy_probe(struct platform_device *pdev)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 324 {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 325 struct device *dev = &pdev->dev;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 326 struct device_node *np = dev->of_node;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 327 const struct rk_dphy_drv_data *drv_data;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 328 struct phy_provider *phy_provider;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 329 const struct of_device_id *of_id;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 330 struct rk_dphy *priv;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 331 struct phy *phy;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 332 unsigned int i;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 333 int ret;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 334
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 335 if (!dev->parent || !dev->parent->of_node)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 336 return -ENODEV;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 337
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 338 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 339 if (!priv)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 340 return -ENOMEM;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 341 priv->dev = dev;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 342
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 343 priv->grf = syscon_node_to_regmap(dev->parent->of_node);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 344 if (IS_ERR(priv->grf)) {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 345 dev_err(dev, "Can't find GRF syscon\n");
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 346 return -ENODEV;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 347 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 348
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 349 of_id = of_match_device(rk_dphy_dt_ids, dev);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 350 if (!of_id)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 351 return -EINVAL;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 352
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 353 drv_data = of_id->data;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 354 priv->drv_data = drv_data;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 355 priv->clks = devm_kcalloc(&pdev->dev, drv_data->num_clks,
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @356 sizeof(*priv->clks), GFP_KERNEL);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 357 if (!priv->clks)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 358 return -ENOMEM;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 359 for (i = 0; i < drv_data->num_clks; i++)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @360 priv->clks[i].id = drv_data->clks[i];
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 @361 ret = devm_clk_bulk_get(&pdev->dev, drv_data->num_clks, priv->clks);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 362 if (ret)
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 363 return ret;
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 364
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 365 phy = devm_phy_create(dev, np, &rk_dphy_ops);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 366 if (IS_ERR(phy)) {
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 367 dev_err(dev, "failed to create phy\n");
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 368 return PTR_ERR(phy);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 369 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 370 phy_set_drvdata(phy, priv);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 371
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 372 phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 373
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 374 return PTR_ERR_OR_ZERO(phy_provider);
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 375 }
cd4fb7106ba2f9 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c Ezequiel Garcia 2020-01-08 376
:::::: The code at line 356 was first introduced by commit
:::::: cd4fb7106ba2f96ff388ab7bb2e266691190d6cd UPSTREAM: media: staging: phy-rockchip-dphy-rx0: add Rockchip MIPI Synopsys DPHY RX0 driver
:::::: TO: Ezequiel Garcia <ezequiel(a)collabora.com>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH v5 3/5] drm/bridge: anx7625: add MIPI DPI input feature support
by kernel test robot
Hi Xin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.12-rc3 next-20210318]
[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/Xin-Ji/Add-MIPI-rx-DPI-support/2...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm-randconfig-r014-20210318 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project fcc1ce00931751ac02498986feb37744e9ace8de)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/348257d12d5c847255eaf814081fe996a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xin-Ji/Add-MIPI-rx-DPI-support/20210319-104013
git checkout 348257d12d5c847255eaf814081fe996aeab1841
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1333:6: warning: variable 'mipi_lanes' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (ep0) {
^~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1343:22: note: uninitialized use occurs here
pdata->mipi_lanes = mipi_lanes;
^~~~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1333:2: note: remove the 'if' if its condition is always true
if (ep0) {
^~~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1321:26: note: initialize the variable 'mipi_lanes' to silence this warning
int bus_type, mipi_lanes;
^
= 0
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1333:6: warning: variable 'bus_type' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (ep0) {
^~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1340:6: note: uninitialized use occurs here
if (bus_type == 5) /* bus type is Parallel(DSI) */
^~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1333:2: note: remove the 'if' if its condition is always true
if (ep0) {
^~~~~~~~~
drivers/gpu/drm/bridge/analogix/anx7625.c:1321:14: note: initialize the variable 'bus_type' to silence this warning
int bus_type, mipi_lanes;
^
= 0
2 warnings generated.
vim +1333 drivers/gpu/drm/bridge/analogix/anx7625.c
1314
1315 static int anx7625_parse_dt(struct device *dev,
1316 struct anx7625_platform_data *pdata)
1317 {
1318 struct device_node *np = dev->of_node, *ep0;
1319 struct drm_panel *panel;
1320 int ret;
1321 int bus_type, mipi_lanes;
1322
1323 anx7625_get_swing_setting(dev, pdata);
1324
1325 pdata->is_dpi = 1; /* default dpi mode */
1326 pdata->mipi_host_node = of_graph_get_remote_node(np, 0, 0);
1327 if (!pdata->mipi_host_node) {
1328 DRM_DEV_ERROR(dev, "fail to get internal panel.\n");
1329 return -ENODEV;
1330 }
1331
1332 ep0 = of_graph_get_endpoint_by_regs(np, 0, 0);
> 1333 if (ep0) {
1334 if (of_property_read_u32(ep0, "bus-type", &bus_type))
1335 bus_type = 0;
1336
1337 mipi_lanes = of_property_count_u32_elems(ep0, "data-lanes");
1338 }
1339
1340 if (bus_type == 5) /* bus type is Parallel(DSI) */
1341 pdata->is_dpi = 0;
1342
1343 pdata->mipi_lanes = mipi_lanes;
1344 if (pdata->mipi_lanes > MAX_LANES_SUPPORT || pdata->mipi_lanes <= 0)
1345 pdata->mipi_lanes = MAX_LANES_SUPPORT;
1346
1347 if (pdata->is_dpi)
1348 DRM_DEV_DEBUG_DRIVER(dev, "found MIPI DPI host node.\n");
1349 else
1350 DRM_DEV_DEBUG_DRIVER(dev, "found MIPI DSI host node.\n");
1351
1352 ret = drm_of_find_panel_or_bridge(np, 1, 0, &panel, NULL);
1353 if (ret < 0) {
1354 if (ret == -ENODEV)
1355 return 0;
1356 return ret;
1357 }
1358 if (!panel)
1359 return -ENODEV;
1360
1361 pdata->panel_bridge = devm_drm_panel_bridge_add(dev, panel);
1362 if (IS_ERR(pdata->panel_bridge))
1363 return PTR_ERR(pdata->panel_bridge);
1364 DRM_DEV_DEBUG_DRIVER(dev, "get panel node.\n");
1365
1366 return 0;
1367 }
1368
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH v5 5/5] drm/bridge: anx7625: add HDMI audio function
by kernel test robot
Hi Xin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.12-rc3 next-20210318]
[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/Xin-Ji/Add-MIPI-rx-DPI-support/2...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/ea2fa662ee036a3e1e2e25233653d7227...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xin-Ji/Add-MIPI-rx-DPI-support/20210319-104013
git checkout ea2fa662ee036a3e1e2e25233653d7227b510b48
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1588:5: warning: no previous prototype for 'anx7625_audio_hw_params' [-Wmissing-prototypes]
1588 | int anx7625_audio_hw_params(struct device *dev, void *data,
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/anx7625_audio_hw_params +1588 drivers/gpu/drm/bridge/analogix/anx7625.c
1587
> 1588 int anx7625_audio_hw_params(struct device *dev, void *data,
1589 struct hdmi_codec_daifmt *fmt,
1590 struct hdmi_codec_params *params)
1591 {
1592 struct anx7625_data *ctx = dev_get_drvdata(dev);
1593 int wl, ch, rate;
1594 int ret = 0;
1595
1596 if (fmt->fmt != HDMI_DSP_A) {
1597 DRM_DEV_ERROR(dev, "only supports DSP_A\n");
1598 return -EINVAL;
1599 }
1600
1601 DRM_DEV_DEBUG_DRIVER(dev, "setting %d Hz, %d bit, %d channels\n",
1602 params->sample_rate, params->sample_width,
1603 params->cea.channels);
1604
1605 ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
1606 AUDIO_CHANNEL_STATUS_6,
1607 ~I2S_SLAVE_MODE,
1608 TDM_SLAVE_MODE);
1609
1610 /* Word length */
1611 switch (params->sample_width) {
1612 case 16:
1613 wl = AUDIO_W_LEN_16_20MAX;
1614 break;
1615 case 18:
1616 wl = AUDIO_W_LEN_18_20MAX;
1617 break;
1618 case 20:
1619 wl = AUDIO_W_LEN_20_20MAX;
1620 break;
1621 case 24:
1622 wl = AUDIO_W_LEN_24_24MAX;
1623 break;
1624 default:
1625 DRM_DEV_DEBUG_DRIVER(dev, "wordlength: %d bit not support",
1626 params->sample_width);
1627 return -EINVAL;
1628 }
1629 ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
1630 AUDIO_CHANNEL_STATUS_5,
1631 0xf0, wl);
1632
1633 /* Channel num */
1634 switch (params->cea.channels) {
1635 case 2:
1636 ch = I2S_CH_2;
1637 break;
1638 case 4:
1639 ch = TDM_CH_4;
1640 break;
1641 case 6:
1642 ch = TDM_CH_6;
1643 break;
1644 case 8:
1645 ch = TDM_CH_8;
1646 break;
1647 default:
1648 DRM_DEV_DEBUG_DRIVER(dev, "channel number: %d not support",
1649 params->cea.channels);
1650 return -EINVAL;
1651 }
1652 ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
1653 AUDIO_CHANNEL_STATUS_6, 0x1f, ch << 5);
1654 if (ch > I2S_CH_2)
1655 ret |= anx7625_write_or(ctx, ctx->i2c.tx_p2_client,
1656 AUDIO_CHANNEL_STATUS_6, AUDIO_LAYOUT);
1657 else
1658 ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client,
1659 AUDIO_CHANNEL_STATUS_6, ~AUDIO_LAYOUT);
1660
1661 /* FS */
1662 switch (params->sample_rate) {
1663 case 32000:
1664 rate = AUDIO_FS_32K;
1665 break;
1666 case 44100:
1667 rate = AUDIO_FS_441K;
1668 break;
1669 case 48000:
1670 rate = AUDIO_FS_48K;
1671 break;
1672 case 88200:
1673 rate = AUDIO_FS_882K;
1674 break;
1675 case 96000:
1676 rate = AUDIO_FS_96K;
1677 break;
1678 case 176400:
1679 rate = AUDIO_FS_1764K;
1680 break;
1681 case 192000:
1682 rate = AUDIO_FS_192K;
1683 break;
1684 default:
1685 DRM_DEV_DEBUG_DRIVER(dev, "sample rate: %d not support",
1686 params->sample_rate);
1687 return -EINVAL;
1688 }
1689 ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
1690 AUDIO_CHANNEL_STATUS_4,
1691 0xf0, rate);
1692 ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
1693 AP_AV_STATUS, AP_AUDIO_CHG);
1694 if (ret < 0) {
1695 DRM_DEV_ERROR(dev, "IO error : config audio.\n");
1696 return -EIO;
1697 }
1698
1699 return 0;
1700 }
1701
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[chrome-os:chromeos-4.4 202/214] drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:361:11: warning: comparison of integer expressions of different signedness: 'int' and '__u32' {aka 'unsigned int'}
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 165087594d83615eb48f64ee09830ccccd7f4ae4
commit: 10f444186a4c895d03e4884ec529067daee430b3 [202/214] BACKPORT: media: rockchip: rkisp1: destage Rockchip ISP1 driver
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.4
git checkout 10f444186a4c895d03e4884ec529067daee430b3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/arc/include/asm/bug.h:32,
from include/linux/bug.h:4,
from include/linux/debug_locks.h:6,
from include/linux/lockdep.h:23,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:15,
from include/linux/kobject.h:21,
from include/linux/device.h:17,
from include/linux/pm_runtime.h:12,
from drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:12:
include/linux/cpumask.h: In function 'cpumask_check':
include/linux/cpumask.h:117:19: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
117 | WARN_ON_ONCE(cpu >= nr_cpumask_bits);
| ^~
include/asm-generic/bug.h:123:27: note: in definition of macro 'WARN_ON_ONCE'
123 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_cap_enum_mbus_codes':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:361:11: warning: comparison of integer expressions of different signedness: 'int' and '__u32' {aka 'unsigned int'} [-Wsign-compare]
361 | if (n++ == code->index) {
| ^~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_find_fmt_cfg':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1263:16: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
1263 | for (i = 0; i < cap->config->fmt_size; i++) {
| ^
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_enum_fmt_vid_cap_mplane':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1337:16: warning: comparison of integer expressions of different signedness: '__u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
1337 | if (f->index >= cap->config->fmt_size)
| ^~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1345:16: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
1345 | for (i = 0; i < cap->config->fmt_size; i++) {
| ^
--
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-common.c:8:
include/media/v4l2-rect.h: In function 'v4l2_rect_overlap':
>> include/media/v4l2-rect.h:185:15: warning: comparison of integer expressions of different signedness: '__s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
185 | if (r1->left >= r2->left + r2->width ||
| ^~
include/media/v4l2-rect.h:186:15: warning: comparison of integer expressions of different signedness: '__s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
186 | r2->left >= r1->left + r1->width)
| ^~
include/media/v4l2-rect.h:193:14: warning: comparison of integer expressions of different signedness: '__s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
193 | if (r1->top >= r2->top + r2->height ||
| ^~
include/media/v4l2-rect.h:194:14: warning: comparison of integer expressions of different signedness: '__s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
194 | r2->top >= r1->top + r1->height)
| ^~
In file included from arch/arc/include/asm/bug.h:32,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/arc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/videodev2.h:59,
from include/media/v4l2-rect.h:23,
from drivers/media/platform/rockchip/rkisp1/rkisp1-common.c:8:
include/linux/cpumask.h: In function 'cpumask_check':
include/linux/cpumask.h:117:19: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
117 | WARN_ON_ONCE(cpu >= nr_cpumask_bits);
| ^~
include/asm-generic/bug.h:123:27: note: in definition of macro 'WARN_ON_ONCE'
123 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
--
In file included from arch/arc/include/asm/bug.h:32,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/arc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/rcupdate.h:38,
from include/linux/rbtree.h:34,
from include/linux/hrtimer.h:18,
from include/linux/iopoll.h:20,
from drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:11:
include/linux/cpumask.h: In function 'cpumask_check':
include/linux/cpumask.h:117:19: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
117 | WARN_ON_ONCE(cpu >= nr_cpumask_bits);
| ^~
include/asm-generic/bug.h:123:27: note: in definition of macro 'WARN_ON_ONCE'
123 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_enum_mbus_code':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:590:19: warning: comparison of integer expressions of different signedness: '__u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
590 | if (code->index == pos - 1) {
| ^~
vim +361 drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
a4204813632adf drivers/staging/media/rkisp1/rkisp1-capture.c Helen Koike 2020-01-08 344
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 345 int rkisp1_cap_enum_mbus_codes(struct rkisp1_capture *cap,
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 346 struct v4l2_subdev_mbus_code_enum *code)
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 347 {
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 348 const struct rkisp1_capture_fmt_cfg *fmts = cap->config->fmts;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 349 /*
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 350 * initialize curr_mbus to non existing mbus code 0 to ensure it is
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 351 * different from fmts[0].mbus
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 352 */
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 353 u32 curr_mbus = 0;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 354 int i, n = 0;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 355
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 356 for (i = 0; i < cap->config->fmt_size; i++) {
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 357 if (fmts[i].mbus == curr_mbus)
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 358 continue;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 359
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 360 curr_mbus = fmts[i].mbus;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 @361 if (n++ == code->index) {
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 362 code->code = curr_mbus;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 363 return 0;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 364 }
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 365 }
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 366 return -EINVAL;
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 367 }
65926a5b1c6371 drivers/staging/media/rkisp1/rkisp1-capture.c Dafna Hirschfeld 2020-09-01 368
:::::: The code at line 361 was first introduced by commit
:::::: 65926a5b1c6371c16edecfb4cd3d147af33201f4 UPSTREAM: media: staging: rkisp1: add a helper function to enumerate supported mbus formats on capture
:::::: TO: Dafna Hirschfeld <dafna.hirschfeld(a)collabora.com>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[chrome-os:chromeos-4.4 3/214] drivers/clk/clk-devres.c:49:18: error: conflicting types for 'devm_clk_bulk_get'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 165087594d83615eb48f64ee09830ccccd7f4ae4
commit: 84502795da5c65ba8b93fc627ef315863976ea50 [3/214] BACKPORT: clk: add managed version of clk_bulk_get
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.4
git checkout 84502795da5c65ba8b93fc627ef315863976ea50
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=arm
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 >>):
In file included from include/linux/cpumask.h:11:0,
from include/linux/rcupdate.h:40,
from include/linux/srcu.h:33,
from include/linux/notifier.h:15,
from include/linux/clk.h:17,
from drivers/clk/clk-devres.c:7:
include/linux/bitmap.h: In function 'bitmap_empty':
include/linux/bitmap.h:310:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
^~
include/linux/bitmap.h: In function 'bitmap_full':
include/linux/bitmap.h:318:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
^~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h: At top level:
include/linux/clk.h:199:57: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:223:60: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:268:17: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:283:15: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:327:19: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:361:50: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:393:40: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~~
drivers/clk/clk-devres.c: In function 'devm_clk_bulk_release':
>> drivers/clk/clk-devres.c:46:33: warning: passing argument 2 of 'clk_bulk_put' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_put(devres->num_clks, devres->clks);
^~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:393:6: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~
drivers/clk/clk-devres.c: At top level:
>> drivers/clk/clk-devres.c:49:18: error: conflicting types for 'devm_clk_bulk_get'
int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:282:18: note: previous declaration of 'devm_clk_bulk_get' was here
int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
drivers/clk/clk-devres.c: In function 'devm_clk_bulk_get':
>> drivers/clk/clk-devres.c:60:36: warning: passing argument 3 of 'clk_bulk_get' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_get(dev, num_clks, clks);
^~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:267:18: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
int __must_check clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-devres.c:7:
drivers/clk/clk-devres.c: At top level:
drivers/clk/clk-devres.c:71:19: error: conflicting types for 'devm_clk_bulk_get'
EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-devres.c:71:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:282:18: note: previous declaration of 'devm_clk_bulk_get' was here
int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
vim +/devm_clk_bulk_get +49 drivers/clk/clk-devres.c
41
42 static void devm_clk_bulk_release(struct device *dev, void *res)
43 {
44 struct clk_bulk_devres *devres = res;
45
> 46 clk_bulk_put(devres->num_clks, devres->clks);
47 }
48
> 49 int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
50 struct clk_bulk_data *clks)
51 {
52 struct clk_bulk_devres *devres;
53 int ret;
54
55 devres = devres_alloc(devm_clk_bulk_release,
56 sizeof(*devres), GFP_KERNEL);
57 if (!devres)
58 return -ENOMEM;
59
> 60 ret = clk_bulk_get(dev, num_clks, clks);
61 if (!ret) {
62 devres->clks = clks;
63 devres->num_clks = num_clks;
64 devres_add(dev, devres);
65 } else {
66 devres_free(devres);
67 }
68
69 return ret;
70 }
71 EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
72
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[chrome-os:chromeos-4.4 2/214] drivers/clk/clk-bulk.c:23:6: error: conflicting types for 'clk_bulk_put'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 165087594d83615eb48f64ee09830ccccd7f4ae4
commit: e228c54ae3723655ad86be34cbac9dfdc42c47d1 [2/214] BACKPORT: clk: add clk_bulk_get accessories
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.4
git checkout e228c54ae3723655ad86be34cbac9dfdc42c47d1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=arm
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 >>):
In file included from include/linux/cpumask.h:11:0,
from include/linux/rcupdate.h:40,
from include/linux/srcu.h:33,
from include/linux/notifier.h:15,
from include/linux/clk.h:17,
from drivers/clk/clk-bulk.c:19:
include/linux/bitmap.h: In function 'bitmap_empty':
include/linux/bitmap.h:310:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
^~
include/linux/bitmap.h: In function 'bitmap_full':
include/linux/bitmap.h:318:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
^~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h: At top level:
include/linux/clk.h:199:57: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:223:60: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:268:17: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:312:19: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:346:50: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:378:40: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~~
>> drivers/clk/clk-bulk.c:23:40: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
>> drivers/clk/clk-bulk.c:23:6: error: conflicting types for 'clk_bulk_put'
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:378:6: note: previous declaration of 'clk_bulk_put' was here
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~
drivers/clk/clk-bulk.c: In function 'clk_bulk_put':
>> drivers/clk/clk-bulk.c:26:15: error: invalid use of undefined type 'struct clk_bulk_data'
clk_put(clks[num_clks].clk);
^
>> drivers/clk/clk-bulk.c:26:15: error: dereferencing pointer to incomplete type 'struct clk_bulk_data'
drivers/clk/clk-bulk.c:27:7: error: invalid use of undefined type 'struct clk_bulk_data'
clks[num_clks].clk = NULL;
^
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-bulk.c:19:
drivers/clk/clk-bulk.c: At top level:
drivers/clk/clk-bulk.c:30:19: error: conflicting types for 'clk_bulk_put'
EXPORT_SYMBOL_GPL(clk_bulk_put);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:30:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(clk_bulk_put);
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:378:6: note: previous declaration of 'clk_bulk_put' was here
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~
drivers/clk/clk-bulk.c:33:17: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
>> drivers/clk/clk-bulk.c:32:18: error: conflicting types for 'clk_bulk_get'
int __must_check clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:267:18: note: previous declaration of 'clk_bulk_get' was here
int __must_check clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~
drivers/clk/clk-bulk.c: In function 'clk_bulk_get':
drivers/clk/clk-bulk.c:39:7: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].clk = NULL;
^
drivers/clk/clk-bulk.c:39:7: error: dereferencing pointer to incomplete type 'struct clk_bulk_data'
drivers/clk/clk-bulk.c:42:7: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].clk = clk_get(dev, clks[i].id);
^
drivers/clk/clk-bulk.c:42:34: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].clk = clk_get(dev, clks[i].id);
^
drivers/clk/clk-bulk.c:43:18: error: invalid use of undefined type 'struct clk_bulk_data'
if (IS_ERR(clks[i].clk)) {
^
drivers/clk/clk-bulk.c:44:22: error: invalid use of undefined type 'struct clk_bulk_data'
ret = PTR_ERR(clks[i].clk);
^
drivers/clk/clk-bulk.c:46:9: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].id, ret);
^
drivers/clk/clk-bulk.c:47:8: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].clk = NULL;
^
>> drivers/clk/clk-bulk.c:55:18: warning: passing argument 2 of 'clk_bulk_put' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_put(i, clks);
^~~~
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-bulk.c:19:
drivers/clk/clk-bulk.c:30:19: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
EXPORT_SYMBOL_GPL(clk_bulk_put);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:30:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(clk_bulk_put);
^~~~~~~~~~~~~~~~~
drivers/clk/clk-bulk.c: At top level:
drivers/clk/clk-bulk.c:59:15: error: conflicting types for 'clk_bulk_get'
EXPORT_SYMBOL(clk_bulk_get);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:59:1: note: in expansion of macro 'EXPORT_SYMBOL'
EXPORT_SYMBOL(clk_bulk_get);
^~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:267:18: note: previous declaration of 'clk_bulk_get' was here
int __must_check clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~
drivers/clk/clk-bulk.c:120:50: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks)
^~~~~~~~~~~~~
>> drivers/clk/clk-bulk.c:120:6: error: conflicting types for 'clk_bulk_disable'
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:346:6: note: previous declaration of 'clk_bulk_disable' was here
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks);
^~~~~~~~~~~~~~~~
drivers/clk/clk-bulk.c: In function 'clk_bulk_disable':
drivers/clk/clk-bulk.c:124:19: error: invalid use of undefined type 'struct clk_bulk_data'
clk_disable(clks[num_clks].clk);
^
>> drivers/clk/clk-bulk.c:124:19: error: dereferencing pointer to incomplete type 'const struct clk_bulk_data'
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-bulk.c:19:
drivers/clk/clk-bulk.c: At top level:
drivers/clk/clk-bulk.c:126:19: error: conflicting types for 'clk_bulk_disable'
EXPORT_SYMBOL_GPL(clk_bulk_disable);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:126:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(clk_bulk_disable);
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:346:6: note: previous declaration of 'clk_bulk_disable' was here
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks);
^~~~~~~~~~~~~~~~
drivers/clk/clk-bulk.c:136:61: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
int __must_check clk_bulk_enable(int num_clks, const struct clk_bulk_data *clks)
^~~~~~~~~~~~~
>> drivers/clk/clk-bulk.c:136:18: error: conflicting types for 'clk_bulk_enable'
int __must_check clk_bulk_enable(int num_clks, const struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:311:18: note: previous declaration of 'clk_bulk_enable' was here
int __must_check clk_bulk_enable(int num_clks,
^~~~~~~~~~~~~~~
drivers/clk/clk-bulk.c: In function 'clk_bulk_enable':
drivers/clk/clk-bulk.c:142:24: error: invalid use of undefined type 'struct clk_bulk_data'
ret = clk_enable(clks[i].clk);
^
drivers/clk/clk-bulk.c:142:24: error: dereferencing pointer to incomplete type 'const struct clk_bulk_data'
In file included from include/linux/kernel.h:13:0,
from include/linux/clk.h:16,
from drivers/clk/clk-bulk.c:19:
drivers/clk/clk-bulk.c:145:9: error: invalid use of undefined type 'struct clk_bulk_data'
clks[i].id, ret);
^
include/linux/printk.h:252:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
>> drivers/clk/clk-bulk.c:153:22: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(i, clks);
^~~~
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-bulk.c:19:
drivers/clk/clk-bulk.c:126:19: note: expected 'const struct clk_bulk_data *' but argument is of type 'const struct clk_bulk_data *'
EXPORT_SYMBOL_GPL(clk_bulk_disable);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:126:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(clk_bulk_disable);
^~~~~~~~~~~~~~~~~
drivers/clk/clk-bulk.c: At top level:
drivers/clk/clk-bulk.c:157:19: error: conflicting types for 'clk_bulk_enable'
EXPORT_SYMBOL_GPL(clk_bulk_enable);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-bulk.c:157:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(clk_bulk_enable);
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-bulk.c:19:0:
include/linux/clk.h:311:18: note: previous declaration of 'clk_bulk_enable' was here
int __must_check clk_bulk_enable(int num_clks,
^~~~~~~~~~~~~~~
vim +/clk_bulk_put +23 drivers/clk/clk-bulk.c
22
> 23 void clk_bulk_put(int num_clks, struct clk_bulk_data *clks)
24 {
25 while (--num_clks >= 0) {
> 26 clk_put(clks[num_clks].clk);
27 clks[num_clks].clk = NULL;
28 }
29 }
30 EXPORT_SYMBOL_GPL(clk_bulk_put);
31
> 32 int __must_check clk_bulk_get(struct device *dev, int num_clks,
33 struct clk_bulk_data *clks)
34 {
35 int ret;
36 int i;
37
38 for (i = 0; i < num_clks; i++)
39 clks[i].clk = NULL;
40
41 for (i = 0; i < num_clks; i++) {
42 clks[i].clk = clk_get(dev, clks[i].id);
43 if (IS_ERR(clks[i].clk)) {
44 ret = PTR_ERR(clks[i].clk);
45 dev_err(dev, "Failed to get clk '%s': %d\n",
46 clks[i].id, ret);
47 clks[i].clk = NULL;
48 goto err;
49 }
50 }
51
52 return 0;
53
54 err:
> 55 clk_bulk_put(i, clks);
56
57 return ret;
58 }
59 EXPORT_SYMBOL(clk_bulk_get);
60
61 #ifdef CONFIG_HAVE_CLK_PREPARE
62
63 /**
64 * clk_bulk_unprepare - undo preparation of a set of clock sources
65 * @num_clks: the number of clk_bulk_data
66 * @clks: the clk_bulk_data table being unprepared
67 *
68 * clk_bulk_unprepare may sleep, which differentiates it from clk_bulk_disable.
69 * Returns 0 on success, -EERROR otherwise.
70 */
71 void clk_bulk_unprepare(int num_clks, const struct clk_bulk_data *clks)
72 {
73 while (--num_clks >= 0)
74 clk_unprepare(clks[num_clks].clk);
75 }
76 EXPORT_SYMBOL_GPL(clk_bulk_unprepare);
77
78 /**
79 * clk_bulk_prepare - prepare a set of clocks
80 * @num_clks: the number of clk_bulk_data
81 * @clks: the clk_bulk_data table being prepared
82 *
83 * clk_bulk_prepare may sleep, which differentiates it from clk_bulk_enable.
84 * Returns 0 on success, -EERROR otherwise.
85 */
86 int __must_check clk_bulk_prepare(int num_clks,
87 const struct clk_bulk_data *clks)
88 {
89 int ret;
90 int i;
91
92 for (i = 0; i < num_clks; i++) {
93 ret = clk_prepare(clks[i].clk);
94 if (ret) {
95 pr_err("Failed to prepare clk '%s': %d\n",
96 clks[i].id, ret);
97 goto err;
98 }
99 }
100
101 return 0;
102
103 err:
104 clk_bulk_unprepare(i, clks);
105
106 return ret;
107 }
108
109 #endif /* CONFIG_HAVE_CLK_PREPARE */
110
111 /**
112 * clk_bulk_disable - gate a set of clocks
113 * @num_clks: the number of clk_bulk_data
114 * @clks: the clk_bulk_data table being gated
115 *
116 * clk_bulk_disable must not sleep, which differentiates it from
117 * clk_bulk_unprepare. clk_bulk_disable must be called before
118 * clk_bulk_unprepare.
119 */
> 120 void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks)
121 {
122
123 while (--num_clks >= 0)
> 124 clk_disable(clks[num_clks].clk);
125 }
126 EXPORT_SYMBOL_GPL(clk_bulk_disable);
127
128 /**
129 * clk_bulk_enable - ungate a set of clocks
130 * @num_clks: the number of clk_bulk_data
131 * @clks: the clk_bulk_data table being ungated
132 *
133 * clk_bulk_enable must not sleep
134 * Returns 0 on success, -EERROR otherwise.
135 */
> 136 int __must_check clk_bulk_enable(int num_clks, const struct clk_bulk_data *clks)
137 {
138 int ret;
139 int i;
140
141 for (i = 0; i < num_clks; i++) {
142 ret = clk_enable(clks[i].clk);
143 if (ret) {
144 pr_err("Failed to enable clk '%s': %d\n",
145 clks[i].id, ret);
146 goto err;
147 }
148 }
149
150 return 0;
151
152 err:
> 153 clk_bulk_disable(i, clks);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[sashal-linux-stable:queue-5.10 49/73] drivers/staging/media/sunxi/cedrus/cedrus_vp8.c:428:46: error: 'V4L2_VP8_MV_PROB_CNT' undeclared here (not in a function)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.10
head: 097676f2c9643c3fb32f11c3f6c4226a50bb0cd7
commit: 0676ecd123c7567d9ebcb79ab570698b0001335d [49/73] media: cedrus: Add support for VP8 decoding
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-5.10
git checkout 0676ecd123c7567d9ebcb79ab570698b0001335d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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 include/linux/kernel.h:11,
from include/linux/delay.h:22,
from drivers/staging/media/sunxi/cedrus/cedrus_vp8.c:19:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/staging/media/sunxi/cedrus/cedrus_vp8.c: At top level:
>> drivers/staging/media/sunxi/cedrus/cedrus_vp8.c:428:46: error: 'V4L2_VP8_MV_PROB_CNT' undeclared here (not in a function)
428 | static const u8 k_mv_entropy_update_probs[2][V4L2_VP8_MV_PROB_CNT] = {
| ^~~~~~~~~~~~~~~~~~~~
drivers/staging/media/sunxi/cedrus/cedrus_vp8.c:428:17: warning: 'k_mv_entropy_update_probs' defined but not used [-Wunused-variable]
428 | static const u8 k_mv_entropy_update_probs[2][V4L2_VP8_MV_PROB_CNT] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for NEED_MULTIPLE_NODES
Depends on DISCONTIGMEM || NUMA
Selected by
- SINGLE_MEMORY_CHUNK && MMU
vim +/V4L2_VP8_MV_PROB_CNT +428 drivers/staging/media/sunxi/cedrus/cedrus_vp8.c
421
422 /*
423 * This table is a copy of k_mv_entropy_update_probs from the VP8
424 * specification.
425 *
426 * FIXME: If any other driver uses it, move this table to media/vp8-ctrls.h
427 */
> 428 static const u8 k_mv_entropy_update_probs[2][V4L2_VP8_MV_PROB_CNT] = {
429 { 237, 246, 253, 253, 254, 254, 254, 254, 254,
430 254, 254, 254, 254, 254, 250, 250, 252, 254, 254 },
431 { 231, 243, 245, 253, 254, 254, 254, 254, 254,
432 254, 254, 254, 254, 254, 251, 251, 254, 254, 254 }
433 };
434
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months