On Thu, Apr 4, 2013 at 11:27 AM, Tejun Heo <tj@xxxxxxxxxx> wrote: >> for (no = 0; no < ACPI_OVERRIDE_TABLES; no++) { >> + /* >> + * have to use unsigned long, otherwise 32bit spit warning >> + * and it is ok to unsigned long, as bootloader would not >> + * load initrd above 4G for 32bit kernel. >> + */ >> + unsigned long addr = (unsigned long)acpi_initrd_files[no].data; > > I can't say I like this. It's stuffing phys_addr_t into void *. It > might work okay but the code is a bit misleading / confusing. "void > *" shouldn't contain a physical address. Maybe the alternatives are > uglier, I don't know. If you can think of a reasonable way to not do > this, it would be great. Please check if you are happy with attached. -v2: introduce file_pos to save phys address instead of abusing cpio_data that tj is not happy with.
Attachment:
fix_acpi_override_2.patch
Description: Binary data