x86/efi: Use early_memunmap() to squelch sparse errors
authorMatt Fleming <matt.fleming@intel.com>
Mon, 9 Jun 2014 12:41:26 +0000 (13:41 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Thu, 19 Jun 2014 10:14:33 +0000 (11:14 +0100)
The kbuild reports the following sparse errors,

>> arch/x86/platform/efi/quirks.c:242:23: sparse: incorrect type in >> argument 1 (different address spaces)
   arch/x86/platform/efi/quirks.c:242:23:    expected void [noderef] <asn:2>*addr
   arch/x86/platform/efi/quirks.c:242:23:    got void *[assigned] tablep
>> arch/x86/platform/efi/quirks.c:245:23: sparse: incorrect type in >> argument 1 (different address spaces)
   arch/x86/platform/efi/quirks.c:245:23:    expected void [noderef] <asn:2>*addr
   arch/x86/platform/efi/quirks.c:245:23:    got struct efi_setup_data *[assigned] data

Dave Young had made previous attempts to convert the early_iounmap()
calls to early_memunmap() but ran into merge conflicts with commit
9e5c33d7aeee ("mm: create generic early_ioremap() support").

Now that we've got that commit in place we can switch to using
early_memunmap() since we're already using early_memremap() in
efi_reuse_config().

Cc: Dave Young <dyoung@redhat.com>
Cc: Saurabh Tangri <saurabh.tangri@intel.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/platform/efi/quirks.c

index 7e3099c..b4cb918 100644 (file)
@@ -239,10 +239,10 @@ int __init efi_reuse_config(u64 tables, int nr_tables)
                        ((efi_config_table_64_t *)p)->table = data->smbios;
                p += sz;
        }
-       early_iounmap(tablep, nr_tables * sz);
+       early_memunmap(tablep, nr_tables * sz);
 
 out_memremap:
-       early_iounmap(data, sizeof(*data));
+       early_memunmap(data, sizeof(*data));
 out:
        return ret;
 }