Re: [PATCH v12 7/9] ACPI: Translate the I/O range of non-MMIO devices before scanning

From: Andy Shevchenko
Date: Mon Feb 05 2018 - 08:16:17 EST


On Thu, Feb 1, 2018 at 1:32 PM, John Garry <john.garry@xxxxxxxxxx> wrote:


I'm not going through all patch, by one thing I would like you to pay
attention on, i.e.
printing resource_size_t and struct resource

>> + dev_err(dev, "translate bus-addr(0x%llx) fail!\n",
>> + resource->start);

resource_size_t is dynamic width type, you will see a compiler
warning. For this we have
%pap specifier.

Moreover, in some cases it's useful to print struct resource via %pR or %pr.

Consider reading kernel documentation about these (printk-formats.rst).

>> +struct acpi_indirectio_host_data {
>> + resource_size_t io_size;
>> + resource_size_t io_start;
>> +};

Why not utilize struct resource?

If it's coming from platform / firmware it should *never* have types
like size_t, unsigned long, resource_size_t, etc.

>> +/* All the host devices which apply indirect-IO can be listed here. */
>> +static const struct acpi_device_id acpi_indirect_host_id[] = {
>> + {""},
>> +};

The idea of terminator is to be such (remove comma there). And it's
basically redundant to have an empty string there. Moreover, it's a
waste of resources in ro section.

--
With Best Regards,
Andy Shevchenko