Re: [PATCH v2 1/2] drm/dcss: request memory region

From: kernel test robot
Date: Tue Jan 09 2024 - 19:39:32 EST


Hi Philipp,

kernel test robot noticed the following build errors:

[auto build test ERROR on v6.7]
[also build test ERROR on linus/master next-20240109]
[cannot apply to drm-misc/drm-misc-next]
[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/Philipp-Stanner/drm-dcss-request-memory-region/20240109-182239
base: v6.7
patch link: https://lore.kernel.org/r/20240109102032.16165-2-pstanner%40redhat.com
patch subject: [PATCH v2 1/2] drm/dcss: request memory region
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240110/202401100801.1Wiy3ZEd-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240110/202401100801.1Wiy3ZEd-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401100801.1Wiy3ZEd-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from include/linux/device.h:17,
from include/linux/platform_device.h:13,
from drivers/gpu/drm/imx/dcss/dcss-dev.c:9:
drivers/gpu/drm/imx/dcss/dcss-dev.c: In function 'dcss_dev_create':
>> drivers/gpu/drm/imx/dcss/dcss-dev.c:188:42: error: incompatible type for argument 1 of '__devm_request_region'
188 | if (!devm_request_mem_region(pdev->dev, res->start, res_len, "dcss")) {
| ~~~~^~~~~
| |
| struct device
include/linux/ioport.h:306:31: note: in definition of macro 'devm_request_mem_region'
306 | __devm_request_region(dev, &iomem_resource, (start), (n), (name))
| ^~~
include/linux/ioport.h:308:63: note: expected 'struct device *' but argument is of type 'struct device'
308 | extern struct resource * __devm_request_region(struct device *dev,
| ~~~~~~~~~~~~~~~^~~


vim +/__devm_request_region +188 drivers/gpu/drm/imx/dcss/dcss-dev.c

165
166 struct dcss_dev *dcss_dev_create(struct device *dev, bool hdmi_output)
167 {
168 struct platform_device *pdev = to_platform_device(dev);
169 int ret;
170 struct resource *res;
171 struct dcss_dev *dcss;
172 const struct dcss_type_data *devtype;
173 resource_size_t res_len;
174
175 devtype = of_device_get_match_data(dev);
176 if (!devtype) {
177 dev_err(dev, "no device match found\n");
178 return ERR_PTR(-ENODEV);
179 }
180
181 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
182 if (!res) {
183 dev_err(dev, "cannot get memory resource\n");
184 return ERR_PTR(-EINVAL);
185 }
186
187 res_len = res->end - res->start;
> 188 if (!devm_request_mem_region(pdev->dev, res->start, res_len, "dcss")) {
189 dev_err(dev, "cannot request memory region\n");
190 return ERR_PTR(-EBUSY);
191 }
192
193 dcss = kzalloc(sizeof(*dcss), GFP_KERNEL);
194 if (!dcss)
195 return ERR_PTR(-ENOMEM);
196
197 dcss->dev = dev;
198 dcss->devtype = devtype;
199 dcss->hdmi_output = hdmi_output;
200
201 ret = dcss_clks_init(dcss);
202 if (ret) {
203 dev_err(dev, "clocks initialization failed\n");
204 goto err;
205 }
206
207 dcss->of_port = of_graph_get_port_by_id(dev->of_node, 0);
208 if (!dcss->of_port) {
209 dev_err(dev, "no port@0 node in %pOF\n", dev->of_node);
210 ret = -ENODEV;
211 goto clks_err;
212 }
213
214 dcss->start_addr = res->start;
215
216 ret = dcss_submodules_init(dcss);
217 if (ret) {
218 of_node_put(dcss->of_port);
219 dev_err(dev, "submodules initialization failed\n");
220 goto clks_err;
221 }
222
223 init_completion(&dcss->disable_completion);
224
225 pm_runtime_set_autosuspend_delay(dev, 100);
226 pm_runtime_use_autosuspend(dev);
227 pm_runtime_set_suspended(dev);
228 pm_runtime_allow(dev);
229 pm_runtime_enable(dev);
230
231 return dcss;
232
233 clks_err:
234 dcss_clks_release(dcss);
235
236 err:
237 kfree(dcss);
238
239 return ERR_PTR(ret);
240 }
241

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