lkml.org 
[lkml]   [2018]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v12 7/9] ACPI: Translate the I/O range of non-MMIO devices before scanning
From
Date
On 05/02/2018 13:16, Andy Shevchenko wrote:
> On Thu, Feb 1, 2018 at 1:32 PM, John Garry <john.garry@huawei.com> 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


\
 
 \ /
  Last update: 2018-02-05 15:26    [W:0.081 / U:1.484 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site