I've never used yocto, but I have created and used patch files on openembedded, which uses bitbake and looks very similar to what you're doing.
A few thoughts come to mind:
1) Your diff looks very different than mine. This is what I would typically use:
Code:
git diff --no-prefix git/board/overo/overo.h-orig git/board/overo/overo.h > pin-mux.patch
Notice the "git diff --no-prefix" instead of "diff -Nurp". Also notice that I am NOT in the directory that contains the code to be diff'd. You need to be in the right directory, because the path in your patch file needs to be referenced from where the patch command will be run. In the above example, the patch file header uses the full "git/board/overo/overo.h", rather than just "overo.h". If it just said "overo.h", then patch wouldn't know where to find the file, since that's not where the patch command is run from.
2) Your patch file needs to be placed in the right directory for your recipe, not the directory of the file to be patched. In the above example, after creating the patch file I would move it to org.openembedded.dev/recipes/u-boot/u-boot-git/overo/, and modify org.openembedded.dev/recipes/u-boot/u-boot_git.bb:
Code:
SRC_URI_overo += "file://pin-mux.patch"