I have reviewed the uses of pfn_to_nid() in 2.6.14-mm2. The onlyuser of the non-init pfn_to_nid is the one in check_pte_range().So we simply need to profide a non-early pfn_to_nid() implementationfor SPARSEMEM. Whilst reviewing these interfaces I found twoalternative dependant interfaces which are not used.

sparse-provide-pfn_to_nid: provides pfn_to_nid() for SPARSEMEM.Note that this implmentation assumes the pfn has been validatedprior to use. The only intree user of this call does this.We perhaps need to make this part of the signature for this function.