
On 09/21/2012 04:51 PM, Tom Rini wrote:
On Fri, Sep 21, 2012 at 04:46:54PM -0600, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
Now that get_device_and_partition() always calls get_partition_info() when disk.c is compiled, we must always compile the function, rather than ifdef it away.
The implementation must be conditional based on CONFIG_CMD_* etc., since that's what e.g. part_dos.c uses to ifdef out get_partition_info_dos(); CONFIG_DOS_PARTITION can be enabled even without those commands being enabled.
Technically, this change is required before Rob's "disk/part: introduce get_device_and_partition" patch. However, at least when the compiler optimizer is turned on, it isn't required before then in practice, since get_device_and_partition() calls get_dev(), which is stubbed out in disk.c under exactly the same conditions that get_partition_info() is not compiled, and hence the compiler never generates code for the call to the missing function. However, in my later patch "disk: get_device_and_partition() "auto" partition and cleanup", the optimizer doesn't succeed at this, and may attempt to reference the undefined function.
Signed-off-by: Stephen Warren swarren@nvidia.com --- v2: Add CONFIG_CMD_* etc. ifdefs around the implementation.
Rob, I wonder if you shouldn't squash this into your series. Then, I'll need to rebase mine on your again since this causes a few nasty conflicts with my series.
I _really_ want to see incremental changes. It's one of the good practices of the kernel folks and I'd like to see us do it as well as much as we can.
OK, well in that case, you can just apply the patch standalone before you apply Rob's series then. I think we'll both need to rebase to avoid conflict issues those - e.g. I edited the function that got moved in my patch series and had to manually re-apply the change to the new code location after I created this patch.