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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/02/2018 13:16, Andy Shevchenko wrote:
On Thu, Feb 1, 2018 at 1:32 PM, John Garry <john.garry@xxxxxxxxxx> wrote:



Hi Andy,

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.

I have already fixed this up in my rework.


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.

This is not coming from firmware, but it is a struct which we define in the kernel per host, describing that host bus address range for translation.

In fact, generally io_start is 0 and the io_size would be PIO_INDIRECT_SIZE, so I'll consider removing it for now.


+/* 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.

OK, the comma should be removed. So what is the preferred acpi device id array sentinel? I see {}, {"", 0}, and {""} used.



thank you,
John


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux