7905/7912 and 7940/7960 use different methods to get Logo's on the phones.
For 7905/7912 you need to generate a phone 'profile' and have it stored on the TFTP Server. http://www.cisco.com/en/US/partner/products/hw/phones/ps379/products_administration_guide_chapter09186a0080473876.html#wp1010905
For the 7940/7960 the only way I know how is to have an 'idle timeout url' configured on CCM or CCME that switches to a Logo XML file after a period of time. Only annoying thing about that, is you have to hit a button on the phone to exit the timeout url in order to dial a number
Luke.