tree:
git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: e1cff82c1097bda2478c7ee74e13dfab33561639
commit: e1cff82c1097bda2478c7ee74e13dfab33561639 [1/1] drm/bridge: fix anx6345 compilation
for v5.5
config: i386-randconfig-h004-201945 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout e1cff82c1097bda2478c7ee74e13dfab33561639
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c: In function
'anx6345_i2c_probe':
> drivers/gpu/drm/bridge/analogix/analogix-anx6345.c:699:17: error:
'struct drm_bridge' has no member named 'of_node'
anx6345->bridge.of_node = client->dev.of_node;
^
vim +699 drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
6aa192698089b4 Icenowy Zheng 2019-10-29 685
6aa192698089b4 Icenowy Zheng 2019-10-29 686 static int anx6345_i2c_probe(struct
i2c_client *client,
6aa192698089b4 Icenowy Zheng 2019-10-29 687 const struct i2c_device_id *id)
6aa192698089b4 Icenowy Zheng 2019-10-29 688 {
6aa192698089b4 Icenowy Zheng 2019-10-29 689 struct anx6345 *anx6345;
6aa192698089b4 Icenowy Zheng 2019-10-29 690 struct device *dev;
6aa192698089b4 Icenowy Zheng 2019-10-29 691 int i, err;
6aa192698089b4 Icenowy Zheng 2019-10-29 692
6aa192698089b4 Icenowy Zheng 2019-10-29 693 anx6345 = devm_kzalloc(&client->dev,
sizeof(*anx6345), GFP_KERNEL);
6aa192698089b4 Icenowy Zheng 2019-10-29 694 if (!anx6345)
6aa192698089b4 Icenowy Zheng 2019-10-29 695 return -ENOMEM;
6aa192698089b4 Icenowy Zheng 2019-10-29 696
6aa192698089b4 Icenowy Zheng 2019-10-29 697 mutex_init(&anx6345->lock);
6aa192698089b4 Icenowy Zheng 2019-10-29 698
6aa192698089b4 Icenowy Zheng 2019-10-29 @699 anx6345->bridge.of_node =
client->dev.of_node;
6aa192698089b4 Icenowy Zheng 2019-10-29 700
6aa192698089b4 Icenowy Zheng 2019-10-29 701 anx6345->client = client;
6aa192698089b4 Icenowy Zheng 2019-10-29 702 i2c_set_clientdata(client, anx6345);
6aa192698089b4 Icenowy Zheng 2019-10-29 703
6aa192698089b4 Icenowy Zheng 2019-10-29 704 dev = &anx6345->client->dev;
6aa192698089b4 Icenowy Zheng 2019-10-29 705
6aa192698089b4 Icenowy Zheng 2019-10-29 706 err =
drm_of_find_panel_or_bridge(client->dev.of_node, 1, 0,
6aa192698089b4 Icenowy Zheng 2019-10-29 707 &anx6345->panel, NULL);
6aa192698089b4 Icenowy Zheng 2019-10-29 708 if (err == -EPROBE_DEFER)
6aa192698089b4 Icenowy Zheng 2019-10-29 709 return err;
6aa192698089b4 Icenowy Zheng 2019-10-29 710
6aa192698089b4 Icenowy Zheng 2019-10-29 711 if (err)
6aa192698089b4 Icenowy Zheng 2019-10-29 712 DRM_DEBUG("No panel found\n");
6aa192698089b4 Icenowy Zheng 2019-10-29 713
6aa192698089b4 Icenowy Zheng 2019-10-29 714 /* 1.2V digital core power regulator */
6aa192698089b4 Icenowy Zheng 2019-10-29 715 anx6345->dvdd12 =
devm_regulator_get(dev, "dvdd12-supply");
6aa192698089b4 Icenowy Zheng 2019-10-29 716 if (IS_ERR(anx6345->dvdd12)) {
6aa192698089b4 Icenowy Zheng 2019-10-29 717 DRM_ERROR("dvdd12-supply not
found\n");
6aa192698089b4 Icenowy Zheng 2019-10-29 718 return PTR_ERR(anx6345->dvdd12);
6aa192698089b4 Icenowy Zheng 2019-10-29 719 }
6aa192698089b4 Icenowy Zheng 2019-10-29 720
6aa192698089b4 Icenowy Zheng 2019-10-29 721 /* 2.5V digital core power regulator */
6aa192698089b4 Icenowy Zheng 2019-10-29 722 anx6345->dvdd25 =
devm_regulator_get(dev, "dvdd25-supply");
6aa192698089b4 Icenowy Zheng 2019-10-29 723 if (IS_ERR(anx6345->dvdd25)) {
6aa192698089b4 Icenowy Zheng 2019-10-29 724 DRM_ERROR("dvdd25-supply not
found\n");
6aa192698089b4 Icenowy Zheng 2019-10-29 725 return PTR_ERR(anx6345->dvdd25);
6aa192698089b4 Icenowy Zheng 2019-10-29 726 }
6aa192698089b4 Icenowy Zheng 2019-10-29 727
6aa192698089b4 Icenowy Zheng 2019-10-29 728 /* GPIO for chip reset */
6aa192698089b4 Icenowy Zheng 2019-10-29 729 anx6345->gpiod_reset =
devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
6aa192698089b4 Icenowy Zheng 2019-10-29 730 if (IS_ERR(anx6345->gpiod_reset)) {
6aa192698089b4 Icenowy Zheng 2019-10-29 731 DRM_ERROR("Reset gpio not
found\n");
6aa192698089b4 Icenowy Zheng 2019-10-29 732 return PTR_ERR(anx6345->gpiod_reset);
6aa192698089b4 Icenowy Zheng 2019-10-29 733 }
6aa192698089b4 Icenowy Zheng 2019-10-29 734
6aa192698089b4 Icenowy Zheng 2019-10-29 735 /* Map slave addresses of ANX6345 */
6aa192698089b4 Icenowy Zheng 2019-10-29 736 for (i = 0; i < I2C_NUM_ADDRESSES; i++)
{
6aa192698089b4 Icenowy Zheng 2019-10-29 737 if (anx6345_i2c_addresses[i] >> 1 !=
client->addr)
6aa192698089b4 Icenowy Zheng 2019-10-29 738 anx6345->i2c_clients[i] =
i2c_new_dummy(client->adapter,
6aa192698089b4 Icenowy Zheng 2019-10-29 739 anx6345_i2c_addresses[i] >> 1);
6aa192698089b4 Icenowy Zheng 2019-10-29 740 else
6aa192698089b4 Icenowy Zheng 2019-10-29 741 anx6345->i2c_clients[i] = client;
6aa192698089b4 Icenowy Zheng 2019-10-29 742
6aa192698089b4 Icenowy Zheng 2019-10-29 743 if (!anx6345->i2c_clients[i]) {
6aa192698089b4 Icenowy Zheng 2019-10-29 744 err = -ENOMEM;
6aa192698089b4 Icenowy Zheng 2019-10-29 745 DRM_ERROR("Failed to reserve I2C bus
%02x\n",
6aa192698089b4 Icenowy Zheng 2019-10-29 746 anx6345_i2c_addresses[i]);
6aa192698089b4 Icenowy Zheng 2019-10-29 747 goto err_unregister_i2c;
6aa192698089b4 Icenowy Zheng 2019-10-29 748 }
6aa192698089b4 Icenowy Zheng 2019-10-29 749
6aa192698089b4 Icenowy Zheng 2019-10-29 750 anx6345->map[i] =
devm_regmap_init_i2c(anx6345->i2c_clients[i],
6aa192698089b4 Icenowy Zheng 2019-10-29 751 &anx6345_regmap_config);
6aa192698089b4 Icenowy Zheng 2019-10-29 752 if (IS_ERR(anx6345->map[i])) {
6aa192698089b4 Icenowy Zheng 2019-10-29 753 err = PTR_ERR(anx6345->map[i]);
6aa192698089b4 Icenowy Zheng 2019-10-29 754 DRM_ERROR("Failed regmap
initialization %02x\n",
6aa192698089b4 Icenowy Zheng 2019-10-29 755 anx6345_i2c_addresses[i]);
6aa192698089b4 Icenowy Zheng 2019-10-29 756 goto err_unregister_i2c;
6aa192698089b4 Icenowy Zheng 2019-10-29 757 }
6aa192698089b4 Icenowy Zheng 2019-10-29 758 }
6aa192698089b4 Icenowy Zheng 2019-10-29 759
6aa192698089b4 Icenowy Zheng 2019-10-29 760 /* Look for supported chip ID */
6aa192698089b4 Icenowy Zheng 2019-10-29 761 anx6345_poweron(anx6345);
6aa192698089b4 Icenowy Zheng 2019-10-29 762 if (anx6345_get_chip_id(anx6345)) {
6aa192698089b4 Icenowy Zheng 2019-10-29 763 anx6345->bridge.funcs =
&anx6345_bridge_funcs;
6aa192698089b4 Icenowy Zheng 2019-10-29 764 drm_bridge_add(&anx6345->bridge);
6aa192698089b4 Icenowy Zheng 2019-10-29 765
6aa192698089b4 Icenowy Zheng 2019-10-29 766 return 0;
6aa192698089b4 Icenowy Zheng 2019-10-29 767 } else {
6aa192698089b4 Icenowy Zheng 2019-10-29 768 anx6345_poweroff(anx6345);
6aa192698089b4 Icenowy Zheng 2019-10-29 769 err = -ENODEV;
6aa192698089b4 Icenowy Zheng 2019-10-29 770 }
6aa192698089b4 Icenowy Zheng 2019-10-29 771
6aa192698089b4 Icenowy Zheng 2019-10-29 772 err_unregister_i2c:
6aa192698089b4 Icenowy Zheng 2019-10-29 773 unregister_i2c_dummy_clients(anx6345);
6aa192698089b4 Icenowy Zheng 2019-10-29 774 return err;
6aa192698089b4 Icenowy Zheng 2019-10-29 775 }
6aa192698089b4 Icenowy Zheng 2019-10-29 776
:::::: The code at line 699 was first introduced by commit
:::::: 6aa192698089b450b06d609355fc9c82c07856d2 drm/bridge: Add Analogix anx6345 support
:::::: TO: Icenowy Zheng <icenowy(a)aosc.io>
:::::: CC: Maxime Ripard <maxime(a)cerno.tech>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation