+ viif_dev->tables =
+ dma_alloc_wc(dev, sizeof(struct viif_table_area), &tables_dma, GFP_KERNEL);
+ if (!viif_dev->tables) {
+ dev_err(dev, "dma_alloc_wc failed\n");
Are you sure DMA memory allocation errors shall be printed?
Printing this error is useless for users in general?
If so, I'll drop this debug output.
Failures to allocate memory in the kernel generally result in warning
messages being printed by the allocation function, so there's no need to
do so manually in drivers. This being said, I check dma_alloc_wc()
(which is a wrapper around dma_alloc_attrs()), and unless I'm missing
something, it can return NULL without printing any error. I don't know
if this is an oversight in some code paths taken by dma_alloc_attrs() or
if it's on purpose. Maybe Christoph, Marek or Roben will known.