[drm-misc:drm-misc-next 2/10] drivers/gpu/drm/mgag200/mgag200_g200.c:120:14: warning: assignment to 'unsigned char *' from 'int' makes pointer from integer without a cast

From: kernel test robot
Date: Tue Jun 07 2022 - 22:04:16 EST


tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: dfa687bffc8a4a21ed929c7dececf01b8f1f52ee
commit: 85397f6bc4ff13a6bc5259facb8ebebb1986d666 [2/10] drm/mgag200: Initialize each model in separate function
config: parisc-allyesconfig (https://download.01.org/0day-ci/archive/20220608/202206080411.JpdjEVh2-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 11.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 drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-misc drm-misc-next
git checkout 85397f6bc4ff13a6bc5259facb8ebebb1986d666
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash drivers/gpu/drm/mgag200/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/gpu/drm/mgag200/mgag200_g200.c: In function 'mgag200_g200_init_refclk':
drivers/gpu/drm/mgag200/mgag200_g200.c:120:16: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
120 | bios = vmalloc(size);
| ^~~~~~~
| kvmalloc
>> drivers/gpu/drm/mgag200/mgag200_g200.c:120:14: warning: assignment to 'unsigned char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
120 | bios = vmalloc(size);
| ^
drivers/gpu/drm/mgag200/mgag200_g200.c:131:9: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
131 | vfree(bios);
| ^~~~~
| kvfree
cc1: some warnings being treated as errors


vim +120 drivers/gpu/drm/mgag200/mgag200_g200.c

102
103 static void mgag200_g200_init_refclk(struct mgag200_g200_device *g200)
104 {
105 struct mga_device *mdev = &g200->base;
106 struct drm_device *dev = &mdev->base;
107 struct pci_dev *pdev = to_pci_dev(dev->dev);
108 unsigned char __iomem *rom;
109 unsigned char *bios;
110 size_t size;
111
112 g200->pclk_min = 50000;
113 g200->pclk_max = 230000;
114 g200->ref_clk = 27050;
115
116 rom = pci_map_rom(pdev, &size);
117 if (!rom)
118 return;
119
> 120 bios = vmalloc(size);
121 if (!bios)
122 goto out;
123 memcpy_fromio(bios, rom, size);
124
125 if (size != 0 && bios[0] == 0x55 && bios[1] == 0xaa)
126 mgag200_g200_interpret_bios(g200, bios, size);
127
128 drm_dbg_kms(dev, "pclk_min: %ld pclk_max: %ld ref_clk: %ld\n",
129 g200->pclk_min, g200->pclk_max, g200->ref_clk);
130
131 vfree(bios);
132 out:
133 pci_unmap_rom(pdev, rom);
134 }
135

--
0-DAY CI Kernel Test Service
https://01.org/lkp