On 20.03.2014 15:39, Ashwin Chaugule wrote:
On 20 March 2014 10:06, Tomasz Nowicki tomasz.nowicki@linaro.org wrote:
On 20.03.2014 14:27, Ashwin Chaugule wrote:
On 20 March 2014 06:16, Tomasz Nowicki tomasz.nowicki@linaro.org wrote:
- return acpi_parse_entries(table_header->length, handler,
table_header,
entry_id, max_entries);
Also, first argument of acpi_parse_entries() expect subtable start point offset, but now it points to the end of table.
Not sure what you mean. First arg of acpi_parse_entries expects table_size, not an offset.
As I mentioned in previous mail, first args of acpi_parse_entries will lead us to first MADT entry list. By passing table_header->length we will get at the end of MADT entry list. IMO, we should use table_size (snd argument of acpi_table_parse_entries()) instead of table_header->length.
Right. I get the difference between tbl_size and table_header->length. But we need to rethink this apci_parse_entries() function and its use case again. If the caller is expected to pass tbl_size, then we're back full circle to using acpi_get_table_with_size() in the caller, which is kinda self defeating. :)
I believe that the most useful case for apci_parse_entries() is when you already get table pointer and want to do many things on entries. Then you don't have to traverse all ACPI tables list and do map/unmap dance over and over again :) and that's what your changelog is saying too :)
Tomasz