I think it would be preferable if mxm_setup() was passed the pci device for uniformity, and have mxm_setup() call romfile_xxx() itself.
Do you mean, run mxm30_setup unconditionally? And it checks if the file exists:
else if (mxm30_setup(pci)) /* nothing left to do here */